Doh, sorry about that. The extra single_identifier was left over from
when I was trying to debug the problem. The original grammar that has
the yytext issue didn't have the extra single_identifier. Ignore it.
-Brad
Chris verBurg wrote:
Hey Brad,
Do you mean to have "single_identifier" listed twice for the first
method_header grammar? That's the only thing I can think of that
would cause this problem. Honestly I wouldn't think it would get past
the lexer, since "(" should have been returned as a LPAREN instead of
a single_identifier.
-Chris
On Mon, Mar 8, 2010 at 5:21 PM, Brad <bradda...@comcast.net
<mailto:bradda...@comcast.net>> wrote:
Here is a snippet from my grammer that parses a C++-like language.
field_declaration:
modifiers_opt type IDENTIFIER SEMICOLON
{
/* stuff */
}
;
method_header:
modifiers_opt type single_identifier single_identifier LPAREN RPAREN
{
/* stuff */
}
| modifiers_opt VOID single_identifier LPAREN RPAREN
{
/* stuff */
}
;
single_identifier:
IDENTIFIER { /* stuff with yytext */ }
;
field_declaration and method_header are similar enough that Bison
has to look for the following LPAREN (right?). The problem I'm
having is that yytext inside single_identifier is a '(' instead of
the name of the method. So if I try to parse this line:
int MyMethod()
my parser thinks the method is called "(" instead of "MyMethod".
Am I right that this is a lookahead issue? If it is, how do I fix it?
_______________________________________________
help-bison@gnu.org <mailto:help-bison@gnu.org>
http://lists.gnu.org/mailman/listinfo/help-bison
_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison