10 left &&
11 left ||
12 right ? :
-13 right += -= *= /= <<= >>= &= |= (2)
+13 right += -= *= /= <<= >>= &= |= ^= (2)
(lowest)
@end smallexample
Notes:
&10&&left&&{\&\&}&\cr
&11&&left&&||&\cr
&12&&right&&? :&\cr
-&13&&right&&\qquad += -= *= /= <<= >>= \&= |=\qquad\ddag&\cr
+&13&&right&&\qquad += -= *= /= <<= >>= \&= |= \^{}=\qquad\ddag&\cr
&lowest&&&&&\cr
height2pt&\omit&&\omit&&\omit&\cr}
\hrule}
%type <section_phdr> phdr_opt
%type <integer> opt_nocrossrefs
-%right <token> PLUSEQ MINUSEQ MULTEQ DIVEQ '=' LSHIFTEQ RSHIFTEQ ANDEQ OREQ
+%right <token> PLUSEQ MINUSEQ MULTEQ DIVEQ '=' LSHIFTEQ RSHIFTEQ ANDEQ OREQ XOREQ
%right <token> '?' ':'
%left <token> OROR
%left <token> ANDAND
{ $$ = '&'; }
| OREQ
{ $$ = '|'; }
+ | XOREQ
+ { $$ = '^'; }
;
<SCRIPT,EXPRESSION,MRI,WILD>"/=" { RTOKEN(DIVEQ); }
<SCRIPT,EXPRESSION,MRI,WILD>"&=" { RTOKEN(ANDEQ); }
<SCRIPT,EXPRESSION,MRI,WILD>"|=" { RTOKEN(OREQ); }
+<SCRIPT,EXPRESSION,MRI,WILD>"^=" { RTOKEN(XOREQ); }
<EXPRESSION,MRI>"&&" { RTOKEN(ANDAND); }
<SCRIPT,EXPRESSION,MRI>">" { RTOKEN('>'); }
<SCRIPT,EXPRESSION,MRI,INPUTLIST>"," { RTOKEN(','); }