parser grammar CalcParser; options { tokenVocab = CalcLexer; } program : statement* EOF ; statement : IDENT ASSIGN expression SEMI ; expression : expression (STAR | SLASH) expression | expression (PLUS | MINUS) expression | LPAREN expression RPAREN | NUMBER | IDENT ;