Hi Evan -- couple more points on your xml grammar directly relating to your
questions.
1. On checking, as I suspected yesterday, the pattern:
('x'|'X') ('m'|'M') ('l'|'L')
... is not scoring a hit because the parser slurps up "xml" as a GENERIC_ID,
not as a sequence of three single-character tokens for the three letters. You
can verify by temporarily changing the rule to look for 'xml' instead, and
you'll see that work.
FWIW, specifying a literal like this in the parser causes ANTLR to generate a
token and recognizer code for it in the lexer.
To get the case-insensitive effect, you could create a lexer rule:
XML: ('x'|'X') ('m'|'M') ('l'|'L') ;
... and use the XML token in the parser xmldecl rule.
2. The attribute parser rule refers to VALUE, which is defined as a lexer
fragment. As a lexer fragment, it doesn't generate a token, and consequently
the parser will never see it.
(I believe it's a known issue that ANTLR doesn't flag this as an error.)
Hope that helps,
Graham
List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe:
http://www.antlr.org/mailman/options/antlr-interest/your-email-address
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"il-antlr-interest" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/il-antlr-interest?hl=en
-~----------~----~----~----~------~----~------~--~---