token(value, parsers, token = {
      type: 'unknown',
      value,
      start: {},
      end: {}
    }) {
      // Strict parsers must end on a leaf node
      if (parsers.length > 1) {
        parsers = parsers.filter(parser => parser.strict ? parser.leaf : true);
        if (parsers.length > 1) {
          parsers = parsers.filter(parser => parser.strict);
        }
      }

      token.type = parsers.pop().type;

      return token;
    }
Match a particular non-whitespace value to a token