anchor.diff:          (
               /* Only enum can have enum constants */
               { 2 == $t }?
  -            enumConstants? sep?
  +            enumConstants (nls COMMA)? sep?
           |
  -
           )
  -        classBodyDeclaration[$t]? (sep classBodyDeclaration[$t])* sep? RBRACE
  +        (classBodyDeclaration[$t] (sep classBodyDeclaration[$t])*)? sep? RBRACE
       ;
   
   enumConstants
  -    :   enumConstant (nls COMMA nls enumConstant)* (nls COMMA)?
  +    :   enumConstant (nls COMMA nls enumConstant)*
       ;
   
   enumConstant
  
positive.code: 
          (
              { 3 != $t }?
              typeParameters? nls
              (
                  { 2 != $t }?
                  (EXTENDS nls
                      (
                          // Only interface can extend more than one super class
                          {1 == $t}? scs=typeList
                      |
                          sc=type
                      )
                  nls)?
              |
                  /* enum should not have type parameters and extends */
              )
  
              (
                  {1 != $t}?
                  (IMPLEMENTS nls is=typeList nls)?
              |
                  /* interface should not implement other interfaces */
              )
  
negative.code:     ;
  
  switchStatement
      :   SWITCH expressionInPar nls LBRACE nls (switchBlockStatementGroup+ nls)? RBRACE
      ;
  
  loopStatement
  