function skip(expected, optional) {
        var actual = peek(),
            equals = actual === expected;
        if (equals) {
            next();
            return true;
        }
        if (!optional)
            throw illegal("token '" + actual + "', '" + expected + "' expected");
        return false;
    }
Skips a token.
@param {string} expected Expected token
@param {boolean} [optional=false] Whether the token is optional
@returns {boolean} `true` when skipped, `false` if not
@throws {Error} When a required token is not present
@inner