[antlr-interest] Re: Nondeterministically blind
Edward Povazan
epovazan at telus.net
Sat Dec 8 18:54:39 PST 2001
Ok, I seem to be answering my own questions while I hack around.
My grammar did not parse valid strings, so I fixed that. I still don't see
why I need the predicate in the STRING_LIT:
rule. Both versions parse valid strings (from my little tests).
-Ed
---------
protected
ESCAPE_SEQ:
'\\'.;
protected
SHORT_STRING_CHAR_SINGLE:
~('\\'|'\n'|'\r'|'\'') ;
protected
SHORT_STRING_CHAR_DOUBLE:
~('\\'|'\n'|'\r'|'"') ;
protected
LONG_STRING_CHAR_SINGLE:
~('\\'|'\'') ;
protected
LONG_STRING_CHAR_DOUBLE:
~('\\'|'"') ;
protected
SHORT_STRING_ITEM_SINGLE:
SHORT_STRING_CHAR_SINGLE | ESCAPE_SEQ ;
protected
SHORT_STRING_ITEM_DOUBLE:
SHORT_STRING_CHAR_DOUBLE | ESCAPE_SEQ ;
protected
LONG_STRING_ITEM_SINGLE:
LONG_STRING_CHAR_SINGLE | ESCAPE_SEQ ;
protected
LONG_STRING_ITEM_DOUBLE:
LONG_STRING_CHAR_DOUBLE | ESCAPE_SEQ ;
protected
SHORT_STRING:
'\'' (SHORT_STRING_ITEM_SINGLE)* '\''
| '"' (SHORT_STRING_ITEM_DOUBLE)* '"' ;
protected
LONG_STRING:
"'''" (LONG_STRING_ITEM_SINGLE)* "'''"
| "\"\"\"" (LONG_STRING_ITEM_DOUBLE)* "\"\"\"" ;
STRING_LIT:
(("'''") | ("\"\"\"")) => LONG_STRING
| SHORT_STRING ;
// STRING_LIT: LONG_STRING | SHORT_STRING; // why is this non
deterministic?
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list