A tiny interpreter and compiler which shows the basics of compiler development.
For more details see the source or my blog post "Implementing a Simple Compiler on 25 Lines of JavaScript"
Along the implementation you can find sample (and simple) implementations of:
- Lexer which produces a list of tokens (module for lexical analysis).
- Parser which produces an Abstract Syntax Tree (AST) (module for syntax analysis).
- Interpreter which traverses and evaluates the AST.
- EBNF grammar.
- Recursive Descent Parsing.
Here it is!
MIT