Skip to content

Latest commit

 

History

History
24 lines (14 loc) · 653 Bytes

README.md

File metadata and controls

24 lines (14 loc) · 653 Bytes

Interpreter

The interpreter is currently a tree-walking interpreter.

Parsing

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.

Evaluating

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.