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 11:54:56 +0000

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]