version 1.1, 2004/05/12 21:17:03 |
version 1.2, 2004/06/22 19:21:34 |
|
|
expr : expr '+' expr { $$ = $1 + $3; } |
expr : expr '+' expr { $$ = $1 + $3; } |
| expr '-' expr { $$ = $1 - $3; } |
| expr '-' expr { $$ = $1 - $3; } |
| expr '*' expr { $$ = $1 * $3; } |
| expr '*' expr { $$ = $1 * $3; } |
| expr '/' expr { $$ = $1 / $3; } |
| expr '/' expr { |
| expr '%' expr { $$ = $1 % $3; } |
if ($3 == 0) { |
|
yyerror("division by zero"); |
|
exit(1); |
|
} |
|
$$ = $1 / $3; |
|
} |
|
| expr '%' expr { |
|
if ($3 == 0) { |
|
yyerror("modulo zero"); |
|
exit(1); |
|
} |
|
$$ = $1 % $3; |
|
} |
| expr LSHIFT expr { $$ = $1 << $3; } |
| expr LSHIFT expr { $$ = $1 << $3; } |
| expr RSHIFT expr { $$ = $1 >> $3; } |
| expr RSHIFT expr { $$ = $1 >> $3; } |
| expr '<' expr { $$ = $1 < $3; } |
| expr '<' expr { $$ = $1 < $3; } |