anchor.diff:          |   // Member pointer operator: foo.&y == foo.metaClass.getMethodPointer(foo, "y")
               MEMBER_POINTER^
           |   // The all-powerful dot.
  -            DOT^
  +            (nls! DOT^)
           ) nls!
           (typeArguments)?   // TODO: Java 5 type argument application via prefix x.<Integer>y
           namePart
  
positive.code:             // The lookahead is also necessary to reach across newline in foo \n {bar}.
              // (Apparently antlr's basic approximate LL(k) lookahead is too weak for this.)
          :   (pathElementStart)=>
              pe:pathElement[prefix]!
              { prefix = #pe; }
          |
  
negative.code:     ;
  
  pathElementStart!
      :   (nls! DOT)
      |   SPREAD_DOT
      |   OPTIONAL_DOT
  //todo - nondeterminisms    |   MEMBER_POINTER_DEFAULT
  