anchor.diff:            tt = defaultTokenizer(stream, status);
           }
         }
  +      //p([stream.currentTokenString, status.tokenizer]);
  +      //p(status.stored);
         resultFn(tt);
         stream.startIndex = stream.currentIndex;
       }
  
positive.code:   var tokenizer, spaceTokenizer, commentTokenizer, saveTokenizer,
      stored;
    
    LexerStatus({this.tokenizer, this.spaceTokenizer, this.commentTokenizer});
    
    clone() {
      var o = new LexerStatus(tokenizer: tokenizer,
        spaceTokenizer: spaceTokenizer,
        commentTokenizer: commentTokenizer);
      o.saveTokenizer = saveTokenizer;
      if (stored != null) {
        var a = [], i, len = stored.length;
        for (i = 0; i < len; i++) {
          a.add(stored[i]);
        }
        o.stored = a;
      }
      return o;
    }
    
    push(t) {
      if (stored == null) {
        stored = [];
      }
      stored.add(t);
    }
    
    pop() => stored.removeLast();
    
    operator == (other) {
      var space = spaceTokenizer, otherSpace = other.spaceTokenizer,
  
negative.code:       ((comment == null && otherComment == null) || (comment != null &&
        otherComment != null &&
        comment.toString() == otherComment.toString())) &&
        (a.length == otherA.length && a.toString() == otherA.toString()) &&
        ((save == null && otherSave == null) || (save != null &&
        otherSave != null && save.toString() == otherSave.toString()));
    }
    
    get hashCode => "LexerStatus(tokenizer: ${tokenizer}, "
        "spaceTokenizer: ${spaceTokenizer}, "
        "commentTokenizer: ${commentTokenizer}, "
        "saveTokenizer: ${saveTokenizer}, "
        "stored: ${stored.toString()})".hashCode;
    
    toString() {
      return "LexerStatus(tokenizer: ${tokenizer}, "
  