[antlr-interest] Expression grammars and *non*-ambiguities
Andrew Gacek
andrew.gacek at gmail.com
Fri Aug 17 11:56:20 PDT 2012
I have investigated this a bit more. The following grammar is flagged
as ambiguous by ANTLR, but the resulting parser seems to make the
correct decisions. Is there a sensible way to rewrite the grammar to
remove the ambiguity?
expr: term;
term: factor ('+' factor)*;
factor: atom ('*' atom)*;
atom
: INT
| '(' expr ')'
| 'if' expr 'then' expr 'else' expr
;
INT: ('0'..'9')+;
-Andrew
More information about the antlr-interest
mailing list