help-bison
[Top][All Lists]
Advanced

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

Re: Expression grammar with call


From: Philip Herron
Subject: Re: Expression grammar with call
Date: Fri, 29 Nov 2013 12:05:44 +0000

actually i think i am getting confused i will make a test case to show it.


On 29 November 2013 11:54, Philip Herron <address@hidden>wrote:

> hmm not sure should i use this: does it mean i should use flex to look at
> the next token if it '('.
>
> Since it looks like IDENTIFIER '(' ...?
>
>
> On 29 November 2013 09:15, John P. Hartmann <address@hidden> wrote:
>
>> %error-verbose
>> %right '='
>> %left '+'
>> %token IDENTIFIER INTEGER CALL
>> %%
>>
>> expression: IDENTIFIER '=' expression
>>                 | expression '+' expression
>>                 | '( ' expression ')'
>>                 | primary
>>
>> primary: IDENTIFIER
>>                 | INTEGER
>>                 | CALL '(' expression ')'
>> %%
>>
>> On 11/29/2013 09:54 AM, Philip Herron wrote:
>> > Hey all,
>> >
>> > Its been a while since i've really seriously been working with bison but
>> > say i have the grammar:
>> >
>> > %right '='
>> > %left '+'
>> >
>> > expression: IDENTIFIER '=' expression
>> >                 | expression '+' expression
>> >                 | ...
>> >                 | '( ' expression ')'
>> >                 | primary
>> >
>> > primary: IDENTIFIER
>> >            | INTEGER
>> >
>> > What way should i go about adding support for something like:
>> >
>> > x = call ( )
>> >
>> > I get a shift/reduce conflict on this. Currently i have and it mostly
>> works.
>> >
>> > parameter: expression
>> >
>> > parameter_list: parameter_list ',' parameter
>> >                     | parameter
>> >
>> > call: IDENTIFIER '(' parameter_list ')'
>> >
>> > primary: IDENTIFIER
>> >            | INTEGER
>> >            | call
>> >
>> > Then if i want something like:
>> >
>> > x = mytype { x = 1, y = 2; }
>> >
>> > I was able to use %right '{' for this to work. But i am not sure how
>> calls
>> > should be implemented.
>> >
>> > Thanks
>> >
>> > --Phil
>> > _______________________________________________
>> > address@hidden https://lists.gnu.org/mailman/listinfo/help-bison
>> >
>>
>>
>> _______________________________________________
>> address@hidden https://lists.gnu.org/mailman/listinfo/help-bison
>>
>
>


reply via email to

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