[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
>