program ::= expr expr ::= term | term + expr term ::= factor | factor * term factor ::= number | ( expr ) number ::= digit | digit number