The interpreter for this scripting language was originally written in Go, but has now been rewritten in Rust.
- Complement the Lexer
- Designed based on deterministic finite automata
- Too few keywords, to be added later
- Complement the Parser
- Parses
let, returnstatements - Parses numeric literals (including
integersandfloats) - Parses prefix expressions (prefix support currently limited to
-and!, with plans to add more support; implementation only for now) - Parses infix expressions (currently supports
+, -, *, /, >, <, >=, <=, ==, !=infix operators) - Parses boolean literals (
true, false) - Parses grouped expressions
- Parses
ifexpressions - Parses function expressions and function call expressions
- Parses
- REPL
- Adds REPL functionality, but evaluation is not yet possible due to the lack of syntax tree parsing