bexpr
expr bexpr(int, expr, expr);
| '~' expr { $$ = bexpr('~', $2, NULL); }
{ $$ = bexpr(NEG, $2, NULL); }
| expr '*' expr { $$ = bexpr('*', $1, $3); }
| expr '/' expr { $$ = bexpr('/', $1, $3); }
| expr '+' expr { $$ = bexpr('+', $1, $3); }
| expr '-' expr { $$ = bexpr('-', $1, $3); }
| expr '&' expr { $$ = bexpr('&', $1, $3); }
| expr '|' expr { $$ = bexpr('|', $1, $3); }
| expr '^' expr { $$ = bexpr('^', $1, $3); }
| expr ':' expr { $$ = bexpr(':', $1, $3); }
| expr LEFT_SHIFT expr { $$ = bexpr(LEFT_SHIFT, $1, $3); }
| expr RIGHT_SHIFT expr { $$ = bexpr(RIGHT_SHIFT, $1, $3); }