A calculator with a real parser
Build the front end of a programming language in miniature. A tokenizer that borrows from the input, a recursive-descent parser with precedence and parentheses, variables, and error messages that point at the exact spot.
Milestones
- A tokenizer that borrows
- Precedence with recursive descent
- Parentheses and unary minus
- Variables, and a second lifetime
- Polish: errors that point at the problem