UNPKG

consys

Version:

consys is a flexible tool to evaluate models using generic and readable constraints.

73 lines (72 loc) 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TokenType = void 0; /** * All possible words of the dsl. */ var TokenType; (function (TokenType) { // single character tokens TokenType[TokenType["PARENTHESIS_OPEN"] = 0] = "PARENTHESIS_OPEN"; TokenType[TokenType["PARENTHESIS_CLOSE"] = 1] = "PARENTHESIS_CLOSE"; TokenType[TokenType["PLUS"] = 2] = "PLUS"; TokenType[TokenType["MINUS"] = 3] = "MINUS"; TokenType[TokenType["COMMA"] = 4] = "COMMA"; TokenType[TokenType["DOT"] = 5] = "DOT"; TokenType[TokenType["COLON"] = 6] = "COLON"; TokenType[TokenType["SLASH"] = 7] = "SLASH"; TokenType[TokenType["STAR"] = 8] = "STAR"; TokenType[TokenType["PERCENT"] = 9] = "PERCENT"; TokenType[TokenType["DOLLAR"] = 10] = "DOLLAR"; TokenType[TokenType["HASH"] = 11] = "HASH"; // single or double character tokens TokenType[TokenType["EXCLAMATION_MARK"] = 12] = "EXCLAMATION_MARK"; TokenType[TokenType["EXCLAMATION_MARK_EQUAL"] = 13] = "EXCLAMATION_MARK_EQUAL"; TokenType[TokenType["EQUAL_EQUAL"] = 14] = "EQUAL_EQUAL"; TokenType[TokenType["GREATER"] = 15] = "GREATER"; TokenType[TokenType["GREATER_EQUAL"] = 16] = "GREATER_EQUAL"; TokenType[TokenType["LESS"] = 17] = "LESS"; TokenType[TokenType["LESS_EQUAL"] = 18] = "LESS_EQUAL"; TokenType[TokenType["PIPE_PIPE"] = 19] = "PIPE_PIPE"; TokenType[TokenType["AMPERSAND_AMPERSAND"] = 20] = "AMPERSAND_AMPERSAND"; // literals TokenType[TokenType["IDENTIFIER"] = 21] = "IDENTIFIER"; TokenType[TokenType["STRING"] = 22] = "STRING"; TokenType[TokenType["NUMBER"] = 23] = "NUMBER"; // keywords TokenType[TokenType["ALWAYS"] = 24] = "ALWAYS"; TokenType[TokenType["WHEN"] = 25] = "WHEN"; TokenType[TokenType["THEN"] = 26] = "THEN"; TokenType[TokenType["IF"] = 27] = "IF"; TokenType[TokenType["AND"] = 28] = "AND"; TokenType[TokenType["OR"] = 29] = "OR"; TokenType[TokenType["NOT"] = 30] = "NOT"; // other TokenType[TokenType["EOF"] = 31] = "EOF"; })(TokenType = exports.TokenType || (exports.TokenType = {})); /** * Represents a word of the dsl. */ class Token { /** * Creates a new token from data. * * @param type token type * @param lexeme token source * @param literal token value * @param position token position */ constructor(type, lexeme, literal, position) { this.type = type; this.lexeme = lexeme; this.literal = literal; this.position = position; } /** * Returns the string representation of this token. */ toString() { return '([' + TokenType[this.type] + '] ' + "'" + this.lexeme + "'" + ')'; } } exports.default = Token;