1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
%%%
%% Section 15.26: Assignment Operators
%%
%% @author Martin Bravenboer <martin@cs.uu.nl>
%%%
module languages/java-15/expressions/AssignmentOperators
imports
languages/java-15/expressions/Main
exports
sorts LHS
context-free syntax
LHS "=" Expr -> Expr {cons("Assign")}
LHS "*=" Expr -> Expr {cons("AssignMul")}
LHS "/=" Expr -> Expr {cons("AssignDiv")}
LHS "%=" Expr -> Expr {cons("AssignRemain")}
LHS "+=" Expr -> Expr {cons("AssignPlus")}
LHS "-=" Expr -> Expr {cons("AssignMinus")}
LHS "<<=" Expr -> Expr {cons("AssignLeftShift")}
LHS ">>=" Expr -> Expr {cons("AssignRightShift")}
LHS ">>>=" Expr -> Expr {cons("AssignURightShift")}
LHS "&=" Expr -> Expr {cons("AssignAnd")}
LHS "^=" Expr -> Expr {cons("AssignExcOr")}
LHS "|=" Expr -> Expr {cons("AssignOr")}
ExprName -> LHS
FieldAccess -> LHS
ArrayAccess -> LHS
|