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.h
an inline functions - Better stack-related error handling
- Remove
else
blocks at the end of functions inExpressionEvaluator
- Fix
^
operator and increase its precedence - Better
std::string
usage - Builtin functions:
sin()
,ctan()
,ln()
,floor()
,ceil()
... - Fix Windows build