anchor.diff:      if (verbose) {
         printRow(out,"source start,end", arr, new ToStr() {
           public String toStr(Object o) {
  -          Token t = ((Tok)o).token;
  -          return Integer.toString(t.startOffset()) + ',' + t.endOffset() ;
  +          AttributeSource t = ((Tok)o).token;
  +          return Integer.toString(t.addAttribute(OffsetAttribute.class).startOffset()) + ',' + t.addAttribute(OffsetAttribute.class).endOffset() ;
           }
         }
                 ,true
  
positive.code:        }
  
         TokenStream tstream = tfac.create(tchain.charStream(new StringReader(val)));
         List<Token> tokens = getTokens(tstream);
         if (verbose) {
           writeHeader(out, tfac.getClass(), tfac.getArgs());
         }
  
negative.code:     if (verbose) {
        printRow(out,"term type", arr, new ToStr() {
          public String toStr(Object o) {
            String tt =  ((Tok)o).token.addAttribute(TypeAttribute.class).type();
            if (tt == null) {
               return "null";
            } else {
  