anchor.diff:      ;
   
   equalityExpression
  -    :  comparisonExpression
  -       (('=='|'!='|'===') (enumeration|comparisonExpression))?
  +    : comparisonExpression
  +      (('=='|'!='|'===') comparisonExpression)?
       ;
   
   comparisonExpression
       : defaultExpression
  -      (('<=>'|'<'|'>'|'<='|'>='|'in'|'is') (enumeration|defaultExpression))?
  +      (('<=>'|'<'|'>'|'<='|'>='|'in'|'is') defaultExpression)?
       ;
   
   //should we reverse the precedence order 
   //of '?' and 'exists'/'nonempty'?
   defaultExpression
       : existenceEmptinessExpression 
  -      ('?' (enumeration|defaultExpression))?
  +      ('?' defaultExpression)?
       ;
   
   existenceEmptinessExpression
  
positive.code:     ;
  
  selector 
      : selectorOp memberName
      | arguments
      | elementSelector
      ;
      
  selectorOp
      : '.' 
      | '^.' 
      | '?.' 
      | '*.' 
      | '#'
      ;
  
  elementSelector
  
negative.code:     : '<'
      ;
  
  methodDefinition
      : typeParameters? formalParameters typeConstraints? ( block | ';' )
      ;
  
  attributeDefinition
      : block | initializer ';'
      ;
  
  decoratorDeclaration
  