anchor.diff:  // but how to disallow constructors and static initializers...
   enumConstantField! {Token first = LT(1);}
       :   (
  -            (typeDeclarationStart)=>
  +            (typeDefinitionStart)=>
               mods:modifiersOpt!
               td:typeDefinitionInternal[#mods]
               {#enumConstantField = #td;}
  
positive.code: }
      {boolean isDecimal=false; Token t=null;}
      :
  /*OBS*
          '.' {_ttype = DOT;}
          (
              (('0'..'9')+ (EXPONENT)? (f1:FLOAT_SUFFIX {t=f1;})?
              {
                  if (t != null && t.getText().toUpperCase().indexOf('F')>=0) {
                      _ttype = NUM_FLOAT;
                  }
                  else {
                      _ttype = NUM_DOUBLE; // assume double
                  }
              })
          |
              // JDK 1.5 token for variable length arguments
              (".." {_ttype = TRIPLE_DOT;})
          )?
      |
  *OBS*/
          // TODO:  This complex pattern seems wrong.  Verify or fix.
          (   '0' {isDecimal = true;} // special case for just '0'
              (   // hex digits
  
negative.code:                 ttype = IDENT;
              }
  
              $setType(ttype);
  
              // check if "assert" keyword is enabled
  