simc-ast-builder
Version:
Parser and AST generator for SimulationCraft files
309 lines • 12.3 kB
JavaScript
"use strict";
// Generated from ./src/parser/antlr4/SimCExpr.g4 by ANTLR 4.9.0-SNAPSHOT
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.SimCExprLexer = void 0;
const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
const LexerATNSimulator_1 = require("antlr4ts/atn/LexerATNSimulator");
const Lexer_1 = require("antlr4ts/Lexer");
const Utils = __importStar(require("antlr4ts/misc/Utils"));
const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
class SimCExprLexer extends Lexer_1.Lexer {
static get _ATN() {
if (!SimCExprLexer.__ATN) {
SimCExprLexer.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(SimCExprLexer._serializedATN));
}
return SimCExprLexer.__ATN;
}
constructor(input) {
super(input);
this._interp = new LexerATNSimulator_1.LexerATNSimulator(SimCExprLexer._ATN, this);
}
// @Override
get channelNames() {
return SimCExprLexer.channelNames;
}
// @Override
get grammarFileName() {
return "SimCExpr.g4";
}
// @Override
get modeNames() {
return SimCExprLexer.modeNames;
}
// @Override
get ruleNames() {
return SimCExprLexer.ruleNames;
}
// @Override
get serializedATN() {
return SimCExprLexer._serializedATN;
}
// @Override
// @NotNull
get vocabulary() {
return SimCExprLexer.VOCABULARY;
}
}
exports.SimCExprLexer = SimCExprLexer;
SimCExprLexer._LITERAL_NAMES = [
undefined,
"'actions'",
"'.'",
"'+='",
"'/'",
"','",
"'&'",
"'|'",
"'^'",
"'!'",
"'+'",
"'-'",
"'*'",
"'%'",
"'%%'",
"'@'",
"'ceil'",
"'floor'",
"'>'",
"'>='",
"'<'",
"'<='",
"'='",
"'=='",
"'!='",
"'<?'",
"'>?'",
"'('",
"')'",
];
SimCExprLexer._serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02#\xC0\b\x01\x04" +
"\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04" +
"\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r" +
"\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12" +
"\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17" +
"\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C" +
'\x04\x1D\t\x1D\x04\x1E\t\x1E\x04\x1F\t\x1F\x04 \t \x04!\t!\x04"\t"\x03' +
"\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x02\x03\x03\x03" +
"\x03\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07\x03" +
"\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x03\f\x03\f\x03\r" +
"\x03\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x11" +
"\x03\x11\x03\x11\x03\x11\x03\x11\x03\x12\x03\x12\x03\x12\x03\x12\x03\x12" +
"\x03\x12\x03\x13\x03\x13\x03\x14\x03\x14\x03\x14\x03\x15\x03\x15\x03\x16" +
"\x03\x16\x03\x16\x03\x17\x03\x17\x03\x18\x03\x18\x03\x18\x03\x19\x03\x19" +
"\x03\x19\x03\x1A\x03\x1A\x03\x1A\x03\x1B\x03\x1B\x03\x1B\x03\x1C\x03\x1C" +
"\x03\x1D\x03\x1D\x03\x1E\x06\x1E\x94\n\x1E\r\x1E\x0E\x1E\x95\x03\x1E\x03" +
"\x1E\x06\x1E\x9A\n\x1E\r\x1E\x0E\x1E\x9B\x05\x1E\x9E\n\x1E\x03\x1F\x06" +
"\x1F\xA1\n\x1F\r\x1F\x0E\x1F\xA2\x03\x1F\x03\x1F\x07\x1F\xA7\n\x1F\f\x1F" +
"\x0E\x1F\xAA\v\x1F\x03 \x03 \x07 \xAE\n \f \x0E \xB1\v \x03!\x03!\x07" +
'!\xB5\n!\f!\x0E!\xB8\v!\x03"\x06"\xBB\n"\r"\x0E"\xBC\x03"\x03"' +
"\x02\x02\x02#\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07" +
"\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E" +
"\x1B\x02\x0F\x1D\x02\x10\x1F\x02\x11!\x02\x12#\x02\x13%\x02\x14\'\x02" +
"\x15)\x02\x16+\x02\x17-\x02\x18/\x02\x191\x02\x1A3\x02\x1B5\x02\x1C7\x02" +
'\x1D9\x02\x1E;\x02\x1F=\x02 ?\x02!A\x02"C\x02#\x03\x02\x07\x03\x022;' +
"\x04\x02C\\c|\x06\x021;C\\aac|\x04\x02\f\f\x0F\x0F\x05\x02\v\f\x0E\x0F" +
'""\x02\xC7\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03' +
"\x02\x02\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02" +
"\x02\x02\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02" +
"\x02\x02\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02" +
"\x02\x02\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x02\x1F\x03\x02" +
"\x02\x02\x02!\x03\x02\x02\x02\x02#\x03\x02\x02\x02\x02%\x03\x02\x02\x02" +
"\x02\'\x03\x02\x02\x02\x02)\x03\x02\x02\x02\x02+\x03\x02\x02\x02\x02-" +
"\x03\x02\x02\x02\x02/\x03\x02\x02\x02\x021\x03\x02\x02\x02\x023\x03\x02" +
"\x02\x02\x025\x03\x02\x02\x02\x027\x03\x02\x02\x02\x029\x03\x02\x02\x02" +
"\x02;\x03\x02\x02\x02\x02=\x03\x02\x02\x02\x02?\x03\x02\x02\x02\x02A\x03" +
"\x02\x02\x02\x02C\x03\x02\x02\x02\x03E\x03\x02\x02\x02\x05M\x03\x02\x02" +
"\x02\x07O\x03\x02\x02\x02\tR\x03\x02\x02\x02\vT\x03\x02\x02\x02\rV\x03" +
"\x02\x02\x02\x0FX\x03\x02\x02\x02\x11Z\x03\x02\x02\x02\x13\\\x03\x02\x02" +
"\x02\x15^\x03\x02\x02\x02\x17`\x03\x02\x02\x02\x19b\x03\x02\x02\x02\x1B" +
"d\x03\x02\x02\x02\x1Df\x03\x02\x02\x02\x1Fi\x03\x02\x02\x02!k\x03\x02" +
"\x02\x02#p\x03\x02\x02\x02%v\x03\x02\x02\x02\'x\x03\x02\x02\x02){\x03" +
"\x02\x02\x02+}\x03\x02\x02\x02-\x80\x03\x02\x02\x02/\x82\x03\x02\x02\x02" +
"1\x85\x03\x02\x02\x023\x88\x03\x02\x02\x025\x8B\x03\x02\x02\x027\x8E\x03" +
"\x02\x02\x029\x90\x03\x02\x02\x02;\x93\x03\x02\x02\x02=\xA0\x03\x02\x02" +
"\x02?\xAB\x03\x02\x02\x02A\xB2\x03\x02\x02\x02C\xBA\x03\x02\x02\x02EF" +
"\x07c\x02\x02FG\x07e\x02\x02GH\x07v\x02\x02HI\x07k\x02\x02IJ\x07q\x02" +
"\x02JK\x07p\x02\x02KL\x07u\x02\x02L\x04\x03\x02\x02\x02MN\x070\x02\x02" +
"N\x06\x03\x02\x02\x02OP\x07-\x02\x02PQ\x07?\x02\x02Q\b\x03\x02\x02\x02" +
"RS\x071\x02\x02S\n\x03\x02\x02\x02TU\x07.\x02\x02U\f\x03\x02\x02\x02V" +
"W\x07(\x02\x02W\x0E\x03\x02\x02\x02XY\x07~\x02\x02Y\x10\x03\x02\x02\x02" +
"Z[\x07`\x02\x02[\x12\x03\x02\x02\x02\\]\x07#\x02\x02]\x14\x03\x02\x02" +
"\x02^_\x07-\x02\x02_\x16\x03\x02\x02\x02`a\x07/\x02\x02a\x18\x03\x02\x02" +
"\x02bc\x07,\x02\x02c\x1A\x03\x02\x02\x02de\x07\'\x02\x02e\x1C\x03\x02" +
"\x02\x02fg\x07\'\x02\x02gh\x07\'\x02\x02h\x1E\x03\x02\x02\x02ij\x07B\x02" +
"\x02j \x03\x02\x02\x02kl\x07e\x02\x02lm\x07g\x02\x02mn\x07k\x02\x02no" +
'\x07n\x02\x02o"\x03\x02\x02\x02pq\x07h\x02\x02qr\x07n\x02\x02rs\x07q' +
"\x02\x02st\x07q\x02\x02tu\x07t\x02\x02u$\x03\x02\x02\x02vw\x07@\x02\x02" +
"w&\x03\x02\x02\x02xy\x07@\x02\x02yz\x07?\x02\x02z(\x03\x02\x02\x02{|\x07" +
">\x02\x02|*\x03\x02\x02\x02}~\x07>\x02\x02~\x7F\x07?\x02\x02\x7F,\x03" +
"\x02\x02\x02\x80\x81\x07?\x02\x02\x81.\x03\x02\x02\x02\x82\x83\x07?\x02" +
"\x02\x83\x84\x07?\x02\x02\x840\x03\x02\x02\x02\x85\x86\x07#\x02\x02\x86" +
"\x87\x07?\x02\x02\x872\x03\x02\x02\x02\x88\x89\x07>\x02\x02\x89\x8A\x07" +
"A\x02\x02\x8A4\x03\x02\x02\x02\x8B\x8C\x07@\x02\x02\x8C\x8D\x07A\x02\x02" +
"\x8D6\x03\x02\x02\x02\x8E\x8F\x07*\x02\x02\x8F8\x03\x02\x02\x02\x90\x91" +
"\x07+\x02\x02\x91:\x03\x02\x02\x02\x92\x94\t\x02\x02\x02\x93\x92\x03\x02" +
"\x02\x02\x94\x95\x03\x02\x02\x02\x95\x93\x03\x02\x02\x02\x95\x96\x03\x02" +
"\x02\x02\x96\x9D\x03\x02\x02\x02\x97\x99\x070\x02\x02\x98\x9A\t\x02\x02" +
"\x02\x99\x98\x03\x02\x02\x02\x9A\x9B\x03\x02\x02\x02\x9B\x99\x03\x02\x02" +
"\x02\x9B\x9C\x03\x02\x02\x02\x9C\x9E\x03\x02\x02\x02\x9D\x97\x03\x02\x02" +
"\x02\x9D\x9E\x03\x02\x02\x02\x9E<\x03\x02\x02\x02\x9F\xA1\t\x02\x02\x02" +
"\xA0\x9F\x03\x02\x02\x02\xA1\xA2\x03\x02\x02\x02\xA2\xA0\x03\x02\x02\x02" +
"\xA2\xA3\x03\x02\x02\x02\xA3\xA4\x03\x02\x02\x02\xA4\xA8\t\x03\x02\x02" +
"\xA5\xA7\t\x04\x02\x02\xA6\xA5\x03\x02\x02\x02\xA7\xAA\x03\x02\x02\x02" +
"\xA8\xA6\x03\x02\x02\x02\xA8\xA9\x03\x02\x02\x02\xA9>\x03\x02\x02\x02" +
"\xAA\xA8\x03\x02\x02\x02\xAB\xAF\t\x03\x02\x02\xAC\xAE\t\x04\x02\x02\xAD" +
"\xAC\x03\x02\x02\x02\xAE\xB1\x03\x02\x02\x02\xAF\xAD\x03\x02\x02\x02\xAF" +
"\xB0\x03\x02\x02\x02\xB0@\x03\x02\x02\x02\xB1\xAF\x03\x02\x02\x02\xB2" +
"\xB6\x07%\x02\x02\xB3\xB5\n\x05\x02\x02\xB4\xB3\x03\x02\x02\x02\xB5\xB8" +
"\x03\x02\x02\x02\xB6\xB4\x03\x02\x02\x02\xB6\xB7\x03\x02\x02\x02\xB7B" +
"\x03\x02\x02\x02\xB8\xB6\x03\x02\x02\x02\xB9\xBB\t\x06\x02\x02\xBA\xB9" +
"\x03\x02\x02\x02\xBB\xBC\x03\x02\x02\x02\xBC\xBA\x03\x02\x02\x02\xBC\xBD" +
'\x03\x02\x02\x02\xBD\xBE\x03\x02\x02\x02\xBE\xBF\b"\x02\x02\xBFD\x03' +
"\x02\x02\x02\v\x02\x95\x9B\x9D\xA2\xA8\xAF\xB6\xBC\x03\b\x02\x02";
SimCExprLexer._SYMBOLIC_NAMES = [
undefined,
undefined,
undefined,
undefined,
undefined,
undefined,
"OP_AND",
"OP_OR",
"OP_XOR",
"OP_NOT",
"OP_PLUS",
"OP_MINUS",
"OP_MUL",
"OP_DIV",
"OP_MOD",
"OP_ABS",
"OP_CEIL",
"OP_FLOOR",
"OP_GT",
"OP_GE",
"OP_LT",
"OP_LE",
"OP_EQ",
"OP_EQEQ",
"OP_NE",
"OP_MAX",
"OP_MIN",
"OP_PAREN_LEFT",
"OP_PAREN_RIGHT",
"NUMBER",
"MIXED_ID",
"STRING",
"COMMENT",
"WS",
];
// tslint:disable:no-trailing-whitespace
SimCExprLexer.channelNames = [
"DEFAULT_TOKEN_CHANNEL",
"HIDDEN",
];
SimCExprLexer.COMMENT = 32;
SimCExprLexer.MIXED_ID = 30;
// tslint:disable:no-trailing-whitespace
SimCExprLexer.modeNames = ["DEFAULT_MODE"];
SimCExprLexer.NUMBER = 29;
SimCExprLexer.OP_ABS = 15;
SimCExprLexer.OP_AND = 6;
SimCExprLexer.OP_CEIL = 16;
SimCExprLexer.OP_DIV = 13;
SimCExprLexer.OP_EQ = 22;
SimCExprLexer.OP_EQEQ = 23;
SimCExprLexer.OP_FLOOR = 17;
SimCExprLexer.OP_GE = 19;
SimCExprLexer.OP_GT = 18;
SimCExprLexer.OP_LE = 21;
SimCExprLexer.OP_LT = 20;
SimCExprLexer.OP_MAX = 25;
SimCExprLexer.OP_MIN = 26;
SimCExprLexer.OP_MINUS = 11;
SimCExprLexer.OP_MOD = 14;
SimCExprLexer.OP_MUL = 12;
SimCExprLexer.OP_NE = 24;
SimCExprLexer.OP_NOT = 9;
SimCExprLexer.OP_OR = 7;
SimCExprLexer.OP_PAREN_LEFT = 27;
SimCExprLexer.OP_PAREN_RIGHT = 28;
SimCExprLexer.OP_PLUS = 10;
SimCExprLexer.OP_XOR = 8;
SimCExprLexer.ruleNames = [
"T__0",
"T__1",
"T__2",
"T__3",
"T__4",
"OP_AND",
"OP_OR",
"OP_XOR",
"OP_NOT",
"OP_PLUS",
"OP_MINUS",
"OP_MUL",
"OP_DIV",
"OP_MOD",
"OP_ABS",
"OP_CEIL",
"OP_FLOOR",
"OP_GT",
"OP_GE",
"OP_LT",
"OP_LE",
"OP_EQ",
"OP_EQEQ",
"OP_NE",
"OP_MAX",
"OP_MIN",
"OP_PAREN_LEFT",
"OP_PAREN_RIGHT",
"NUMBER",
"MIXED_ID",
"STRING",
"COMMENT",
"WS",
];
SimCExprLexer.STRING = 31;
SimCExprLexer.T__0 = 1;
SimCExprLexer.T__1 = 2;
SimCExprLexer.T__2 = 3;
SimCExprLexer.T__3 = 4;
SimCExprLexer.T__4 = 5;
SimCExprLexer.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(SimCExprLexer._LITERAL_NAMES, SimCExprLexer._SYMBOLIC_NAMES, []);
// tslint:enable:no-trailing-whitespace
SimCExprLexer.WS = 33;
//# sourceMappingURL=SimCExprLexer.js.map