{%
#include
#include
%}
%token ID NUM IF THEN LE GE EQ NE OR AND ELSE
%right \'=\'
%left AND OR
%left \'<\' \'>\' LE GE EQ NE
%lef
I know this is an old question but in case some one else is looking for this information :
%left
, %right
and %nonassoc
, defines how yacc will solve repetition of operators. In case you have:
1 + 2 + 3
both operators have the same precedence level ( they are the same :) ), in this case yacc can solve:
// using %left
(1 + 2) + 3
or:
// using %right
1 + (2 + 3)
and finally:
//using %nonassoc
1 + 2 + 3 is considered illegal and a syntax error!
you can read more in here.