Hans Aberg writes: 

> You can use the Bison %left command on your "or" operator (see the manual
> for calculator example).

OR is already %left. 

The actual lines look like this: 

answer_statement: ANSWER expr answer_btn_list   { ... }
                | ANSWER_FILE                   { ... }
                | ANSWER_FILE expr              { ... }
                | ANSWER_FILE expr OF TYPE expr { ... }
                ; 

answer_btn_list: WITH answer_btn_list_oneplus   { ... }
               | { ... }
               ;
answer_btn_list_oneplus: answer_btn_list_oneplus OR expr        { ... }
                       | expr                                   { ... }
                       ; 

Now, expr contains, among many other lines,
expr: ...
   | expr OR expr       { ... }
     ...
   ; 

The problem is a line which looks like this 

ANSWER expr WITH expr OR expr
                     ^^ 

Bison chooses the resolve the ambiguous grammar by shifting at the 

Attachment: msg00811/pgp00000.pgp
Description: PGP signature

Reply via email to