[antlr-interest] syn pred / lookahaed doesn't work
mzukowski at yci.com
mzukowski at yci.com
Tue Mar 11 11:33:32 PST 2003
There's not quite enough information there to see what the problem is. Be
sure to inspect the generated code to see what antlr is "thinking". This
can often help you decide where a syntactic predicate is needed.
Sometimes there are true ambiguities, such as the classic if/else ambiguity.
Antlr warns about that but handles it properly too. There should be
something about that in the docs about ambiguites.
Monty
-----Original Message-----
From: Gunnar Wagenknecht [mailto:kreismeister at yahoo.de]
Sent: Tuesday, March 11, 2003 11:26 AM
To: antlr-interest at yahoogroups.com
Subject: [antlr-interest] syn pred / lookahaed doesn't work
Hi!
I have a grammar where the syn. pred. doesn't seem to work. I can
post the whole grammar but the following example should be ok to
recognize the problem.
compilationUnit : statementList (function)*;
function : ("static"|"init"|"exit")? "function" identName crlf
statementList;
identName : IDENTIFIER;
crlf : SEMICOLON | NEWLINE;
statementList: (statement)*; // <<< here I get non-determinisme
// warning upon
// k=1 "static"|"exit"
// k=2
IDENTIFIER|"function"|NEWLINE|SEMICOLON
statement: ...
| variableDeclaration
| ...
| "exit" crlf
| ...
;
variableDeclaration : ("public"|"private"|"local"|"static") identName
crlf;
I tried to reslove things with syn. pred. but whatever I do I
couldn't remove the warning. The generated parser also doen't work
correct.
What can I do to resolve the warning?
Thanks, Gunnar
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list