RustArena

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

  1. A tokenizer that borrows
  2. Precedence with recursive descent
  3. Parentheses and unary minus
  4. Variables, and a second lifetime
  5. Polish: errors that point at the problem