%%% %% Section 15.26: Assignment Operators %% %% @author Martin Bravenboer <martin.bravenboer@gmail.com> %%% 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