anchor.diff:  
   //should '^' have a higher precedence?
   disjunctionExpression
  -    :  conjunctionExpression 
  -       (('||' | '|' '^') conjunctionExpression)?
  +    : conjunctionExpression 
  +      ('||' conjunctionExpression)?
       ;
   
   conjunctionExpression
       : logicalNegationExpression 
  -      (('&&' | '&') logicalNegationExpression)*
  +      ('&&' logicalNegationExpression)*
       ;
   
   logicalNegationExpression
  
positive.code: 
  additiveExpression
      : multiplicativeExpression
        (('+' | '-') multiplicativeExpression)*
      ;
  
  multiplicativeExpression 
      : exponentiationExpression
        (('*' | '/' | '%') exponentiationExpression)*
      ;
  
  exponentiationExpression
      : postfixExpression ('**' postfixExpression)?
      ;
  
  postfixExpression
      : unaryExpression ('--' | '++')*
      ;
  
  unaryExpression 
  
negative.code:     | reflectedMember
      | arguments
      | elementSelector
      | ('--' | '++')
      ;
  
  memberInvocation
  