help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lookahead and yytext


From: Chris verBurg
Subject: Re: lookahead and yytext
Date: Mon, 8 Mar 2010 19:21:16 -0800

Are you strcpy'ing off the value of yytext before getting it from $3?

-Chris


On Mon, Mar 8, 2010 at 6:10 PM, Brad <address@hidden> wrote:

> 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 <address@hidden <mailto:
>> address@hidden>> 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?
>>
>>
>>    _______________________________________________
>>    address@hidden <mailto:address@hidden>
>>
>>    http://lists.gnu.org/mailman/listinfo/help-bison
>>
>>
>>
>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]