< EBNF > Expr ::= Term([+|-] Expr)? Term ::= Factor ([*|/] Term)? Factor :: = (Expr) | Value Value ::= Integer | Double < > Expr ::= Term expr.isDouble = term.isDouble Expr1 ::= Term [+-] Expr2 expr1.isDouble = term.isDouble or expr2.isDouble
< EBNF > Expr ::= Term([+|-] Expr)? Term ::= Factor ([*|/] Term)? Factor :: = (Expr) | Value Value ::= Integer | Double < > Expr ::= Term expr.isDouble = term.isDouble Expr1 ::= Term [+-] Expr2 expr1.isDouble = term.isDouble or expr2.isDouble