Related articles |
---|
bison look ahead token problem avin_comp@yahoo.com (Avin Patel) (2001-12-11) |
From: | "Avin Patel" <avin_comp@yahoo.com> |
Newsgroups: | comp.compilers |
Date: | 11 Dec 2001 21:32:22 -0500 |
Organization: | Compilers Central |
Keywords: | yacc, parse, comment |
Posted-Date: | 11 Dec 2001 21:32:22 EST |
Hi,
I have made a seperate parser for reading the text buffer.
Now the rule is completed by just reading only part of that text buffer,
than I forcefully complete the rule without error by calling YYACCEPT, but
at the end of the rule it reads one more extra token, How can i stop it to
read any further token before YYACCEPT.
I mean to say
I have text buffer like
SEQUENCE { c INTEGER}, INTEGER
Now in this texts I am completing 2 rules
one is SEQUENCE { c INTEGER}
another is INTEGER
seperator is comma
But when I use my parser than at the end of the rule it reads one more token
',' & I am missing by my seperator.
I am not doing like
rule:
rule1
| rule1lisr ',' rule1
I am just reading reading rule1, than doing some my own work, than again I
am coming back, assigning lexer to parser & reading another rule.
Thank you
[That's how LALR parsers work. If you don't want readahead at the end,
you'll have to figure out some way for the lexer to know that it's done.
-John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.