docs: function it(type, value) {
              var id, the_token;
              if (type === '(string)' || type === '(range)') {
                  if (jx.test(value)) {
                      warn_at('url', line, from);
                  }
              }
              the_token = Object.create(syntax[(
                  type === '(punctuator)' || (type === '(identifier)' &&
                          Object.prototype.hasOwnProperty.call(syntax, value))
                      ? value
                      : type
              )] || syntax['(error)']);
              if (type === '(identifier)') {
                  the_token.identifier = true;
                  if (value === '__iterator__' || value === '__proto__') {
                      stop_at('reserved_a', line, from, value);
                  } else if (!option.nomen &&
                          (value.charAt(0) === '_' ||
                          value.charAt(value.length - 1) === '_')) {
                      warn_at('dangling_a', line, from, value);
                  }
              }
              if (type === '(number)') {
                  the_token.number = +value;
              } else if (value !== undefined) {
                  the_token.string = String(value);
              }
              the_token.line = line;
              the_token.from = from;
              the_token.thru = character;
              id = the_token.id;
              prereg = id && (
                  ('(,=:[!&|?{};~+-*%^<>'.indexOf(id.charAt(id.length - 1)) >= 0) ||
                  id === 'return' || id === 'case'
              );
              return the_token;
          }