anchor.diff:      // side-effects.
       // The prevToken is used to check for dumb expressions like +1.
       |    es:expressionStatement[prevToken]
  -    	//{#statement = #(create(EXPR,"EXPR",first,LT(1)),es);}
  +        //{#statement = #(create(EXPR,"EXPR",first,LT(1)),es);}
   
       // class definition
       |    m:modifiersOpt! typeDefinitionInternal[#m]
  
positive.code:         )
          RPAREN! nls!
          (s:SEMI! | forCbs:compatibleBodyStatement!)                                  // statement to loop over
          { if (#cl != null) {
          	if (#s != null) 
          	    #forStatement = #(create(LITERAL_for,"for",first,LT(1)),cl,s);
          	else
          	    #forStatement = #(create(LITERAL_for,"for",first,LT(1)),cl,forCbs);
            } else {
            	if (#s != null) 
            	    #forStatement = #(create(LITERAL_for,"for",first,LT(1)),fic,s);
            	else
            	    #forStatement = #(create(LITERAL_for,"for",first,LT(1)),fic,forCbs);
            }
          }
          
      ;
  
negative.code:   */
  variableDefinitions[AST mods, AST t]  {Token first = cloneToken(LT(1));
                         if (mods != null) {
                             first.setLine(mods.getLine());
                             first.setColumn(mods.getColumn());
                         } else if (t != null) {
                             first.setLine(t.getLine());
                             first.setColumn(t.getColumn());
                         }}
      :
          listOfVariables[mods,t,first]
      |
  