26 Commits

Author SHA1 Message Date
ecd50c76c5 Reinitialize memory pool on each loop of the REPL 2024-10-24 21:39:47 +01:00
e5cd69c26b Allow whitespace in expressions 2024-10-24 21:39:47 +01:00
9f54c3552b Handle NULL result from read_expression() in REPL 2024-10-24 21:39:47 +01:00
10803109db Yield NULL from read_expression() on invalid input 2024-10-24 21:39:47 +01:00
e0070bfb1e Add paren support to reader 2024-10-24 21:39:47 +01:00
7b62b58c4f Disable optimisations (-Og isn't cutting it) 2024-10-24 21:39:47 +01:00
9988f6dcb8 Support * and / in reader 2024-10-24 21:39:47 +01:00
06bf0a1930 Return 0xdead instead of -1 on error 2024-10-24 21:39:47 +01:00
7b0f94ce98 Add * and / support to evaluator 2024-10-24 21:39:47 +01:00
9932aa7ef1 Make + and - left-associative 2024-10-24 21:39:47 +01:00
b491a1a782 Add basic EOF handling to REPL 2024-10-24 21:39:47 +01:00
5ea066b75e Refactor parsing routines 2024-10-24 21:39:47 +01:00
bb622a0766 Implement subtraction in evaluator 2024-10-24 21:39:47 +01:00
d4855813a2 Handle nesting and subtraction in reader 2024-10-24 21:39:47 +01:00
79494cd0ba Add support for sum expressions in evaluate() 2024-10-24 21:39:47 +01:00
8ba4035afc Add basic sum parsing 2024-10-24 21:39:47 +01:00
2e43bad1a1 Write main application code 2024-10-24 21:39:47 +01:00
8d5f5e4ede Create basic REPL module 2024-10-24 21:39:45 +01:00
810feee55e Simplify test framework and improve test script 2024-10-24 16:47:18 +01:00
29deffdce9 Implement number evaluation 2024-10-24 16:47:18 +01:00
3bc640b656 Skip .git directory in format and entr scripts 2024-10-24 16:47:18 +01:00
d1b350f6ec Create test script and run from entr.sh 2024-10-24 16:24:49 +01:00
f251fd04cc Implement decimal integer reading 2024-10-24 16:24:49 +01:00
077245b3c7 Create expression struct and memory pool 2024-10-24 16:24:49 +01:00
3d0008b496 Write test framework 2024-10-24 16:24:49 +01:00
64c3aaf077 Create project skeleton 2024-10-24 12:28:40 +01:00