Much simpler python version (140 loc)
- REPL
- Floating-point numbers
- Mathematical constants:
Pi,e - Operators:
+,-,*,/,^,%,! - Grouping expressions:
(...),|...|
- Configure, build and run (after cloning the repo):
make - Configure CMake:
make c - Build the project:
make b,make build - Build and run:
make args="'-2 * 2 + 1.5!'" - Run:
make r ... - Run using gdb:
make d args="'1+5!'"
make configure build_type=Release will disable debug messages.
- Crafting Interpreters by Bob Nystrom
- Catch2
- expected
- fmt
- spdlog
- cpp-linenoise
- Parser error messages
- Make macros in
Util.han inline functions - Better stack-related error handling
- Remove
elseblocks at the end of functions inExpressionEvaluator - Fix
^operator and increase its precedence - Better
std::stringusage - Builtin functions:
sin(),ctan(),ln(),floor(),ceil()... - Fix Windows build
