shift/reduce の競合があるというメッセージを yacc から受け取りました。yacc ファイルのこの部分から来ていると思います。
statement : expression_stmt
| compound_stmt
| selection_stmt
| iteration_stmt
| return_stmt ;
selection_stmt : IF '(' expression ')' statement
| IF '(' expression ')' statement ELSE statement ;
expression : var '=' expression | simple_expression ;
競合が見えますか?どうすれば修正できますか?