anchor.diff:    VAR_OR_ASSIGN;
     PRE;
     POST;
  +  VARIABLE;
  +  ARRAY_END;
   }
   
   program
  
positive.code: 
  expr_assign
    : logical_or
    | variable op=(PLUS_EQ | MINUS_EQ | MUL_EQ | DIV_EQ | DOT_EQ | MOD_EQ |
                   AND_EQ | OR_EQ | XOR_EQ | SHL_EQ | SHR_EQ) expr_assign
        -> ^($op variable expr_assign)
    ;
  
  logical_or
  
negative.code: RPAREN: ')' ;
  LBRACE: '{' ;
  RBRACE: '}' ;
  LBRACKET: '[' ;
  RBRACKET: ']' ;
  DOLLAR: '$' ;
  COLON: ':' ;
  SEMICOLON: ';' ;
  