code: function Token(p) {
  
  
    this.type = p.type;
    this.value = p.value;
    this.start = p.start;
    this.end = p.end;
    if (p.options.locations) this.loc = new _locutil.SourceLocation(p, p.startLoc, p.endLoc);
    if (p.options.ranges) this.range = [p.start, p.end];
  }
docs: Object type used to represent tokens. Note that normally, tokens simply exist as properties on the parser object. This is only used for the onToken callback and the external tokenizer.