anchor.diff:  }
   
   @header {
  -    import static org.apache.groovy.parser.antlr4.SemanticPredicates.*;
       import java.util.Deque;
       import java.util.ArrayDeque;
       import java.util.Map;
  
positive.code: RollBackOne
      :   . {
              // a trick to handle GStrings followed by EOF properly
              if (EOF == _input.LA(1) && ('"' == _input.LA(-1) || '/' == _input.LA(-1))) {
                  setType(GStringEnd);
              } else {
                  setChannel(HIDDEN);
  
negative.code:     import java.util.Collections;
      import java.util.Arrays;
      import java.util.stream.IntStream;
      import org.apache.groovy.util.Maps;
      import static org.apache.groovy.parser.antlr4.SemanticPredicates.*;
  }
  
  @members {
  