docs: function(source) {
      var proto = Lexer.prototype;
      var tokens = source.match(proto.regs.token);
      for (var i = 0, l = tokens.length; i < l; i ++) {
          if (proto.regs.strip.test(tokens[i])) {
              tokens.splice(i, 1);
          }
      }
      for (var n in proto) tokens[n] = proto[n];
      tokens.index = 0;
      return tokens;
  }