anchor.diff:      | MOD
       ;
   
  -expression3
  -    : prefixOp expression3
  -    | L_PARENS (expression | type) R_PARENS expression3
  -    | primary (selector)* (postfixOp)*
  -    ;
  -
   prefixOp
       : INCREMENT
       | DECREMENT
  
positive.code:     ;
  
  arguments
      : L_PARENS (expression (COMMA expression)*)? R_PARENS
      ;
  
  superSuffix
  
negative.code:     ;
  
  forVarControl
      : (variableModifier)* type variableDeclaratorId COLON expression
      ;
  
  forInit
      : localVariableDeclaration
      | expressionList
      ;
  
  forUpdate
      : expressionList
      ;
      
  expressionList
      : expression (COMMA expression)*
      ;
      
  expression
      : primary
      | expression selector
      | expression arguments
      | L_PARENS type R_PARENS expression
      | expression postfixOp
      | prefixOp expression
      | expression infixOp expression
      | expression INSTANCEOF type
      | expression QUES expression COLON expression
      | expression
        (   ASSIGN<assoc=right>
        |   PLUS_ASSIGN<assoc=right>
        |   MINUS_ASSIGN<assoc=right>
        |   MULT_ASSIGN<assoc=right>
        |   DIV_ASSIGN<assoc=right>
        |   AND_ASSIGN<assoc=right>
        |   OR_ASSIGN<assoc=right>
        |   XOR_ASSIGN<assoc=right>
        |   L_SHIFT_ASSIGN<assoc=right>
        |   R_SHIFT_ASSIGN<assoc=right>
        |   UR_SHIFT_ASSIGN<assoc=right>
        |   MOD_ASSIGN<assoc=right>
        )
        expression
      ;
  
  infixOp
  