The interpreter is currently a tree-walking interpreter.
The main entry point is in parser.rs
, see Parser
structs new function.
The parser holds a lexer, that walks the source code and produces tokens for the parser.
The parser is a Pratt Parser, also known as recursive descent parsing.
The parser produces human readable "compile-time" errors.
Currently a tree-walking interpreter. Will be rewritten to byte-code interpreter soon.
Main entry point is in eval.rs
, see eval::eval()
Evaluator produces runtime errors.