Checkpoint: work on grammar + AST