March 2026
Intermediate
588 pages
14h 46m
English
In our initial implementation of SMALL, we established the fundamental architecture of an interpreter. We built a lexer to digitize raw text into a stream of tokens, a Pratt parser to organize those tokens into a mathematically sound abstract syntax tree, and a tree-walking evaluator to execute the resulting logic. While this minimal feature set proved the viability of our execution model, a language restricted to simple arithmetic and static conditionals is limited in its practical utility. To transform SMALL from a theoretical exercise into a capable programming tool, we must now expand its expressive power.
Adding new features to a programming language, such as SMALL, is more than just a technical exercise; ...
Read now
Unlock full access