anchor.diff:      ;
       
   primary
  -    : base selector*
  -    -> ^(PRIMARY base selector*)
  -    ;
  +    : ( base -> ^(PRIMARY base) )
  +    ( 
  +      memberSelector
  +      -> ^(MEMBER_EXPR $primary memberSelector)
  +      | argumentsWithFunctionalArguments
  +      -> ^(CALL_EXPR $primary argumentsWithFunctionalArguments)
  +      | elementSelector
  +      -> ^(SUBSCRIPT_EXPR $primary elementSelector)
  +      | postfixOperator 
  +      -> ^(POSTFIX_EXPR $primary postfixOperator)
  +    )*
  +   ;
   
   postfixOperator
       : '--' | '++'
  -    ;	
  +    ;
   
   base 
       : nonstringLiteral
  
positive.code:     ;
  
  directiveStatement
      : directive (';'!)?
      ;
  
  directive
  
negative.code:     | selfReference
      | nameAndTypeArguments
      ;
  
  memberSelector
      : memberOperator nameAndTypeArguments
  