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
_______________________________________________
help-bison@gnu.org https://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to