Crafting Interpreters in Rust: Parsing statements

It’s time to move on to Chapter 8: “Statements and State” from the book. To do this, we’ll implement parsing (and executing) some simple statements. The book gives us this: program → statement* EOF ; statement → exprStmt | printStmt ; exprStmt → expression ";" ; printStmt → "print" expression ";" ; So we can update our grammar accordingly: // program : statement* EOF ; pub Program = Statement*; //…