cookeylang-ts
Version:
A dynamic, interpreted language.
85 lines (84 loc) • 3.65 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.identifierToken = exports.defualtToken = exports.TType = exports.Token = void 0;
var TType;
(function (TType) {
TType[TType["VAR"] = 0] = "VAR";
TType[TType["FINAL"] = 1] = "FINAL";
TType[TType["DELETEVARIABLE"] = 2] = "DELETEVARIABLE";
TType[TType["FUNCTION"] = 3] = "FUNCTION";
TType[TType["RET"] = 4] = "RET";
TType[TType["EXIT"] = 5] = "EXIT";
TType[TType["LAMBDA"] = 6] = "LAMBDA";
TType[TType["CLASS"] = 7] = "CLASS";
TType[TType["THIS"] = 8] = "THIS";
TType[TType["EXTENDS"] = 9] = "EXTENDS";
TType[TType["SUPERCLASS"] = 10] = "SUPERCLASS";
TType[TType["NAV"] = 11] = "NAV";
TType[TType["TRUE"] = 12] = "TRUE";
TType[TType["FALSE"] = 13] = "FALSE";
TType[TType["IF"] = 14] = "IF";
TType[TType["EL"] = 15] = "EL";
TType[TType["AND"] = 16] = "AND";
TType[TType["OR"] = 17] = "OR";
TType[TType["FOREACH"] = 18] = "FOREACH";
TType[TType["FOR"] = 19] = "FOR";
TType[TType["FORREP"] = 20] = "FORREP";
TType[TType["IN"] = 21] = "IN";
TType[TType["WHILE"] = 22] = "WHILE";
TType[TType["BREAK"] = 23] = "BREAK";
TType[TType["DO"] = 24] = "DO";
TType[TType["SWITCH"] = 25] = "SWITCH";
TType[TType["CASE"] = 26] = "CASE";
TType[TType["DEFAULT"] = 27] = "DEFAULT";
TType[TType["NUMBER"] = 28] = "NUMBER";
TType[TType["IDENTIFIER"] = 29] = "IDENTIFIER";
TType[TType["STRING"] = 30] = "STRING";
TType[TType["PLUS_EQ"] = 31] = "PLUS_EQ";
TType[TType["PLUS_PLUS"] = 32] = "PLUS_PLUS";
TType[TType["PLUS"] = 33] = "PLUS";
TType[TType["MINUS_EQ"] = 34] = "MINUS_EQ";
TType[TType["MINUS_MINUS"] = 35] = "MINUS_MINUS";
TType[TType["MINUS"] = 36] = "MINUS";
TType[TType["TIMES_EQ"] = 37] = "TIMES_EQ";
TType[TType["TIMES"] = 38] = "TIMES";
TType[TType["DIVIDE_EQ"] = 39] = "DIVIDE_EQ";
TType[TType["DIVIDE"] = 40] = "DIVIDE";
TType[TType["POWER_EQ"] = 41] = "POWER_EQ";
TType[TType["POWER"] = 42] = "POWER";
TType[TType["MODULO_EQ"] = 43] = "MODULO_EQ";
TType[TType["MODULO"] = 44] = "MODULO";
TType[TType["BANG_EQ"] = 45] = "BANG_EQ";
TType[TType["BANG"] = 46] = "BANG";
TType[TType["EQ_EQ"] = 47] = "EQ_EQ";
TType[TType["EQ"] = 48] = "EQ";
TType[TType["GREATER_EQ"] = 49] = "GREATER_EQ";
TType[TType["GREATER"] = 50] = "GREATER";
TType[TType["LESS_EQ"] = 51] = "LESS_EQ";
TType[TType["LESS"] = 52] = "LESS";
TType[TType["SEMI"] = 53] = "SEMI";
TType[TType["COMMA"] = 54] = "COMMA";
TType[TType["DOT"] = 55] = "DOT";
TType[TType["AT"] = 56] = "AT";
TType[TType["LEFT_PAREN"] = 57] = "LEFT_PAREN";
TType[TType["RIGHT_PAREN"] = 58] = "RIGHT_PAREN";
TType[TType["LEFT_BRACK"] = 59] = "LEFT_BRACK";
TType[TType["RIGHT_BRACK"] = 60] = "RIGHT_BRACK";
TType[TType["LEFT_BRACE"] = 61] = "LEFT_BRACE";
TType[TType["RIGHT_BRACE"] = 62] = "RIGHT_BRACE";
TType[TType["QUE"] = 63] = "QUE";
TType[TType["COL"] = 64] = "COL";
TType[TType["END"] = 65] = "END";
})(TType || (TType = {}));
exports.TType = TType;
;
class Token {
constructor(line, col, file, type, value) {
this.line = line, this.col = col, this.file = file, this.type = type, this.value = value;
}
}
exports.Token = Token;
const defualtToken = new Token(0, 0, "<native>", TType.FINAL, "");
exports.defualtToken = defualtToken;
function identifierToken(name) { return new Token(0, 0, "<native>", TType.IDENTIFIER, name); }
exports.identifierToken = identifierToken;