[antlr-interest] Ambiguous parse tree generated
gerald at certiv.net
Tue Oct 30 00:58:35 PDT 2012
I have a rule
style : ( Dot Identifier )* ( Hash Identifier )* ;
AntlrV4 generates a context with a list of Dot, a list of Hash, and a
list of Identifier. While both Identifier's are syntactically
identical, they are semantically distinct. In this particular case, the
list of Dot can be used to partition the list of Identifier.
However, if I change the rule to the preferred form
style : ( Dot Identifier ( Hash Identifier )? )* ;
I still get the same single lists of Dot, Hash, and Identifier. Only way
to determine the Dot vs Hash associated Identifier's is by inspection of
the token stream? Adding labels did not change the generated code.
What am I missing?
More information about the antlr-interest