UNPKG

cookeylang-ts

Version:
85 lines (84 loc) 3.65 kB
"use strict"; 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;