"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TokenReg = exports.TokenType = void 0;
var TokenType;
(function (TokenType) {
    /**
     * Enclosed in single/double/back quotation, `` Symbol
     * 'abc', "abc", `abc`
     */
    TokenType["SingleQuotation"] = "SingleQuotation";
    TokenType["DoubleQuotation"] = "DoubleQuotation";
    TokenType["BackQuotation"] = "BackQuotation";
    /**
     * Language element type
     */
    TokenType["Comment"] = "Comment";
    /**
     * Statement
     */
    TokenType["StatementTerminator"] = "StatementTerminator";
    /**
     * Others
     */
    TokenType["Error"] = "Error";
    /**
     * Left small Bracket
     */
    TokenType["LeftSmallBracket"] = "LeftSmallBracket";
    /**
     * Left small Bracket
     */
    TokenType["RightSmallBracket"] = "RightSmallBracket";
    TokenType["Comma"] = "Comma";
    TokenType["FunctionArguments"] = "FunctionArguments";
})(TokenType = exports.TokenType || (exports.TokenType = {}));
/**
*  Token recognition rules
*/
exports.TokenReg = {
    [TokenType.StatementTerminator]: /[;]/,
    [TokenType.SingleQuotation]: /['|\']/,
    [TokenType.DoubleQuotation]: /["]/,
    [TokenType.BackQuotation]: /[`]/,
    [TokenType.LeftSmallBracket]: /[(]/,
    [TokenType.RightSmallBracket]: /[)]/,
    [TokenType.Comma]: /[,]/,
};
//# sourceMappingURL=token.js.map