anchor.diff:      -> ^(WHILE_STMT doBlock loopCondition)
       ;
   
  -while
  +simpleWhile
       : loopCondition whileBlock
       -> ^(WHILE_STMT loopCondition whileBlock)
       ;
  
positive.code: reflectedLiteral 
      : '#' ( memberName | ( parameterizedType ('.' memberName)? ) )
      -> ^(REFLECTED_LITERAL parameterizedType? memberName?)
      ;
  
  qualifiedTypeName
      : UIDENTIFIER ('.' UIDENTIFIER)*
      -> ^(TYPE_NAME UIDENTIFIER+) 
      ;
  
  typeName
  
negative.code:     ;
  
  controlStructure
      : ifElse | switchCaseElse | simpleWhile | doWhile | forFail | tryCatchFinally
      ;
      
  ifElse
  