univac
Version:
Generate AST of lots of common programming languages using antlr4. JavaScript API and CLI tool.
224 lines (203 loc) • 13.5 kB
JavaScript
// @ts-nocheck
// Generated from Smalltalk.g4 by ANTLR 4.7.2
// jshint ignore: start
var antlr4 = require('antlr4/index');
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
"\u0002\"\u00bc\b\u0001\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004",
"\u0004\t\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t",
"\u0007\u0004\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004",
"\f\t\f\u0004\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010",
"\t\u0010\u0004\u0011\t\u0011\u0004\u0012\t\u0012\u0004\u0013\t\u0013",
"\u0004\u0014\t\u0014\u0004\u0015\t\u0015\u0004\u0016\t\u0016\u0004\u0017",
"\t\u0017\u0004\u0018\t\u0018\u0004\u0019\t\u0019\u0004\u001a\t\u001a",
"\u0004\u001b\t\u001b\u0004\u001c\t\u001c\u0004\u001d\t\u001d\u0004\u001e",
"\t\u001e\u0004\u001f\t\u001f\u0004 \t \u0004!\t!\u0003\u0002\u0003\u0002",
"\u0003\u0003\u0003\u0003\u0007\u0003H\n\u0003\f\u0003\u000e\u0003K\u000b",
"\u0003\u0003\u0003\u0003\u0003\u0003\u0004\u0003\u0004\u0007\u0004Q",
"\n\u0004\f\u0004\u000e\u0004T\u000b\u0004\u0003\u0004\u0003\u0004\u0003",
"\u0005\u0003\u0005\u0003\u0006\u0003\u0006\u0003\u0007\u0003\u0007\u0003",
"\b\u0003\b\u0003\t\u0003\t\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0003",
"\f\u0003\f\u0003\f\u0006\fi\n\f\r\f\u000e\fj\u0003\r\u0003\r\u0003\u000e",
"\u0003\u000e\u0003\u000f\u0003\u000f\u0003\u0010\u0003\u0010\u0003\u0010",
"\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010",
"\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010",
"\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010\u0003\u0010",
"\u0005\u0010\u0088\n\u0010\u0003\u0011\u0006\u0011\u008b\n\u0011\r\u0011",
"\u000e\u0011\u008c\u0003\u0011\u0007\u0011\u0090\n\u0011\f\u0011\u000e",
"\u0011\u0093\u000b\u0011\u0003\u0012\u0003\u0012\u0003\u0013\u0003\u0013",
"\u0003\u0014\u0003\u0014\u0003\u0014\u0003\u0015\u0003\u0015\u0003\u0016",
"\u0003\u0016\u0003\u0017\u0003\u0017\u0003\u0018\u0003\u0018\u0003\u0018",
"\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0003\u001a\u0003\u001a",
"\u0003\u001a\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001d",
"\u0003\u001d\u0003\u001e\u0003\u001e\u0003\u001f\u0003\u001f\u0003\u001f",
"\u0003 \u0003 \u0003 \u0003!\u0003!\u0003!\u0004IR\u0002\"\u0003\u0003",
"\u0005\u0004\u0007\u0005\t\u0006\u000b\u0007\r\b\u000f\t\u0011\n\u0013",
"\u000b\u0015\f\u0017\r\u0019\u000e\u001b\u000f\u001d\u0010\u001f\u0011",
"!\u0012#\u0013%\u0014\'\u0015)\u0016+\u0017-\u0018/\u00191\u001a3\u001b",
"5\u001c7\u001d9\u001e;\u001f= ?!A\"\u0003\u0002\t\u0005\u0002\u000b",
"\f\u000f\u000f\"\"\t\u0002\'\',.11>@BB^^\u0080\u0080\u0005\u0002((/",
"/AA\u0004\u0002C\\c|\u0006\u00022;C\\aac|\u0003\u00022;\u0005\u0002",
"2;CHch\u0002\u00c6\u0002\u0003\u0003\u0002\u0002\u0002\u0002\u0005\u0003",
"\u0002\u0002\u0002\u0002\u0007\u0003\u0002\u0002\u0002\u0002\t\u0003",
"\u0002\u0002\u0002\u0002\u000b\u0003\u0002\u0002\u0002\u0002\r\u0003",
"\u0002\u0002\u0002\u0002\u000f\u0003\u0002\u0002\u0002\u0002\u0011\u0003",
"\u0002\u0002\u0002\u0002\u0013\u0003\u0002\u0002\u0002\u0002\u0015\u0003",
"\u0002\u0002\u0002\u0002\u0017\u0003\u0002\u0002\u0002\u0002\u0019\u0003",
"\u0002\u0002\u0002\u0002\u001b\u0003\u0002\u0002\u0002\u0002\u001d\u0003",
"\u0002\u0002\u0002\u0002\u001f\u0003\u0002\u0002\u0002\u0002!\u0003",
"\u0002\u0002\u0002\u0002#\u0003\u0002\u0002\u0002\u0002%\u0003\u0002",
"\u0002\u0002\u0002\'\u0003\u0002\u0002\u0002\u0002)\u0003\u0002\u0002",
"\u0002\u0002+\u0003\u0002\u0002\u0002\u0002-\u0003\u0002\u0002\u0002",
"\u0002/\u0003\u0002\u0002\u0002\u00021\u0003\u0002\u0002\u0002\u0002",
"3\u0003\u0002\u0002\u0002\u00025\u0003\u0002\u0002\u0002\u00027\u0003",
"\u0002\u0002\u0002\u00029\u0003\u0002\u0002\u0002\u0002;\u0003\u0002",
"\u0002\u0002\u0002=\u0003\u0002\u0002\u0002\u0002?\u0003\u0002\u0002",
"\u0002\u0002A\u0003\u0002\u0002\u0002\u0003C\u0003\u0002\u0002\u0002",
"\u0005E\u0003\u0002\u0002\u0002\u0007N\u0003\u0002\u0002\u0002\tW\u0003",
"\u0002\u0002\u0002\u000bY\u0003\u0002\u0002\u0002\r[\u0003\u0002\u0002",
"\u0002\u000f]\u0003\u0002\u0002\u0002\u0011_\u0003\u0002\u0002\u0002",
"\u0013a\u0003\u0002\u0002\u0002\u0015c\u0003\u0002\u0002\u0002\u0017",
"h\u0003\u0002\u0002\u0002\u0019l\u0003\u0002\u0002\u0002\u001bn\u0003",
"\u0002\u0002\u0002\u001dp\u0003\u0002\u0002\u0002\u001f\u0087\u0003",
"\u0002\u0002\u0002!\u008a\u0003\u0002\u0002\u0002#\u0094\u0003\u0002",
"\u0002\u0002%\u0096\u0003\u0002\u0002\u0002\'\u0098\u0003\u0002\u0002",
"\u0002)\u009b\u0003\u0002\u0002\u0002+\u009d\u0003\u0002\u0002\u0002",
"-\u009f\u0003\u0002\u0002\u0002/\u00a1\u0003\u0002\u0002\u00021\u00a5",
"\u0003\u0002\u0002\u00023\u00a8\u0003\u0002\u0002\u00025\u00ab\u0003",
"\u0002\u0002\u00027\u00ad\u0003\u0002\u0002\u00029\u00af\u0003\u0002",
"\u0002\u0002;\u00b1\u0003\u0002\u0002\u0002=\u00b3\u0003\u0002\u0002",
"\u0002?\u00b6\u0003\u0002\u0002\u0002A\u00b9\u0003\u0002\u0002\u0002",
"CD\t\u0002\u0002\u0002D\u0004\u0003\u0002\u0002\u0002EI\u0007)\u0002",
"\u0002FH\u000b\u0002\u0002\u0002GF\u0003\u0002\u0002\u0002HK\u0003\u0002",
"\u0002\u0002IJ\u0003\u0002\u0002\u0002IG\u0003\u0002\u0002\u0002JL\u0003",
"\u0002\u0002\u0002KI\u0003\u0002\u0002\u0002LM\u0007)\u0002\u0002M\u0006",
"\u0003\u0002\u0002\u0002NR\u0007$\u0002\u0002OQ\u000b\u0002\u0002\u0002",
"PO\u0003\u0002\u0002\u0002QT\u0003\u0002\u0002\u0002RS\u0003\u0002\u0002",
"\u0002RP\u0003\u0002\u0002\u0002SU\u0003\u0002\u0002\u0002TR\u0003\u0002",
"\u0002\u0002UV\u0007$\u0002\u0002V\b\u0003\u0002\u0002\u0002WX\u0007",
"]\u0002\u0002X\n\u0003\u0002\u0002\u0002YZ\u0007_\u0002\u0002Z\f\u0003",
"\u0002\u0002\u0002[\\\u0007+\u0002\u0002\\\u000e\u0003\u0002\u0002\u0002",
"]^\u0007*\u0002\u0002^\u0010\u0003\u0002\u0002\u0002_`\u0007~\u0002",
"\u0002`\u0012\u0003\u0002\u0002\u0002ab\u00070\u0002\u0002b\u0014\u0003",
"\u0002\u0002\u0002cd\u0007=\u0002\u0002d\u0016\u0003\u0002\u0002\u0002",
"ei\t\u0003\u0002\u0002fi\u0005\u0011\t\u0002gi\t\u0004\u0002\u0002h",
"e\u0003\u0002\u0002\u0002hf\u0003\u0002\u0002\u0002hg\u0003\u0002\u0002",
"\u0002ij\u0003\u0002\u0002\u0002jh\u0003\u0002\u0002\u0002jk\u0003\u0002",
"\u0002\u0002k\u0018\u0003\u0002\u0002\u0002lm\u0007>\u0002\u0002m\u001a",
"\u0003\u0002\u0002\u0002no\u0007@\u0002\u0002o\u001c\u0003\u0002\u0002",
"\u0002pq\u0007/\u0002\u0002q\u001e\u0003\u0002\u0002\u0002rs\u0007p",
"\u0002\u0002st\u0007k\u0002\u0002t\u0088\u0007n\u0002\u0002uv\u0007",
"v\u0002\u0002vw\u0007t\u0002\u0002wx\u0007w\u0002\u0002x\u0088\u0007",
"g\u0002\u0002yz\u0007h\u0002\u0002z{\u0007c\u0002\u0002{|\u0007n\u0002",
"\u0002|}\u0007u\u0002\u0002}\u0088\u0007g\u0002\u0002~\u007f\u0007u",
"\u0002\u0002\u007f\u0080\u0007g\u0002\u0002\u0080\u0081\u0007n\u0002",
"\u0002\u0081\u0088\u0007h\u0002\u0002\u0082\u0083\u0007u\u0002\u0002",
"\u0083\u0084\u0007w\u0002\u0002\u0084\u0085\u0007r\u0002\u0002\u0085",
"\u0086\u0007g\u0002\u0002\u0086\u0088\u0007t\u0002\u0002\u0087r\u0003",
"\u0002\u0002\u0002\u0087u\u0003\u0002\u0002\u0002\u0087y\u0003\u0002",
"\u0002\u0002\u0087~\u0003\u0002\u0002\u0002\u0087\u0082\u0003\u0002",
"\u0002\u0002\u0088 \u0003\u0002\u0002\u0002\u0089\u008b\t\u0005\u0002",
"\u0002\u008a\u0089\u0003\u0002\u0002\u0002\u008b\u008c\u0003\u0002\u0002",
"\u0002\u008c\u008a\u0003\u0002\u0002\u0002\u008c\u008d\u0003\u0002\u0002",
"\u0002\u008d\u0091\u0003\u0002\u0002\u0002\u008e\u0090\t\u0006\u0002",
"\u0002\u008f\u008e\u0003\u0002\u0002\u0002\u0090\u0093\u0003\u0002\u0002",
"\u0002\u0091\u008f\u0003\u0002\u0002\u0002\u0091\u0092\u0003\u0002\u0002",
"\u0002\u0092\"\u0003\u0002\u0002\u0002\u0093\u0091\u0003\u0002\u0002",
"\u0002\u0094\u0095\u0007`\u0002\u0002\u0095$\u0003\u0002\u0002\u0002",
"\u0096\u0097\u0007<\u0002\u0002\u0097&\u0003\u0002\u0002\u0002\u0098",
"\u0099\u0007<\u0002\u0002\u0099\u009a\u0007?\u0002\u0002\u009a(\u0003",
"\u0002\u0002\u0002\u009b\u009c\u0007%\u0002\u0002\u009c*\u0003\u0002",
"\u0002\u0002\u009d\u009e\u0007&\u0002\u0002\u009e,\u0003\u0002\u0002",
"\u0002\u009f\u00a0\u0007g\u0002\u0002\u00a0.\u0003\u0002\u0002\u0002",
"\u00a1\u00a2\u00073\u0002\u0002\u00a2\u00a3\u00078\u0002\u0002\u00a3",
"\u00a4\u0007t\u0002\u0002\u00a40\u0003\u0002\u0002\u0002\u00a5\u00a6",
"\u0007%\u0002\u0002\u00a6\u00a7\u0007*\u0002\u0002\u00a72\u0003\u0002",
"\u0002\u0002\u00a8\u00a9\u0007%\u0002\u0002\u00a9\u00aa\u0007}\u0002",
"\u0002\u00aa4\u0003\u0002\u0002\u0002\u00ab\u00ac\u0007\u007f\u0002",
"\u0002\u00ac6\u0003\u0002\u0002\u0002\u00ad\u00ae\u0007}\u0002\u0002",
"\u00ae8\u0003\u0002\u0002\u0002\u00af\u00b0\t\u0007\u0002\u0002\u00b0",
":\u0003\u0002\u0002\u0002\u00b1\u00b2\t\b\u0002\u0002\u00b2<\u0003\u0002",
"\u0002\u0002\u00b3\u00b4\u0005!\u0011\u0002\u00b4\u00b5\u0005%\u0013",
"\u0002\u00b5>\u0003\u0002\u0002\u0002\u00b6\u00b7\u0005%\u0013\u0002",
"\u00b7\u00b8\u0005!\u0011\u0002\u00b8@\u0003\u0002\u0002\u0002\u00b9",
"\u00ba\u0005+\u0016\u0002\u00ba\u00bb\u000b\u0002\u0002\u0002\u00bb",
"B\u0003\u0002\u0002\u0002\n\u0002IRhj\u0087\u008c\u0091\u0002"].join("");
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
function SmalltalkLexer(input) {
antlr4.Lexer.call(this, input);
this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache());
return this;
}
SmalltalkLexer.prototype = Object.create(antlr4.Lexer.prototype);
SmalltalkLexer.prototype.constructor = SmalltalkLexer;
Object.defineProperty(SmalltalkLexer.prototype, "atn", {
get : function() {
return atn;
}
});
SmalltalkLexer.EOF = antlr4.Token.EOF;
SmalltalkLexer.SEPARATOR = 1;
SmalltalkLexer.STRING = 2;
SmalltalkLexer.COMMENT = 3;
SmalltalkLexer.BLOCK_START = 4;
SmalltalkLexer.BLOCK_END = 5;
SmalltalkLexer.CLOSE_PAREN = 6;
SmalltalkLexer.OPEN_PAREN = 7;
SmalltalkLexer.PIPE = 8;
SmalltalkLexer.PERIOD = 9;
SmalltalkLexer.SEMI_COLON = 10;
SmalltalkLexer.BINARY_SELECTOR = 11;
SmalltalkLexer.LT = 12;
SmalltalkLexer.GT = 13;
SmalltalkLexer.MINUS = 14;
SmalltalkLexer.RESERVED_WORD = 15;
SmalltalkLexer.IDENTIFIER = 16;
SmalltalkLexer.CARROT = 17;
SmalltalkLexer.COLON = 18;
SmalltalkLexer.ASSIGNMENT = 19;
SmalltalkLexer.HASH = 20;
SmalltalkLexer.DOLLAR = 21;
SmalltalkLexer.EXP = 22;
SmalltalkLexer.HEX = 23;
SmalltalkLexer.LITARR_START = 24;
SmalltalkLexer.DYNDICT_START = 25;
SmalltalkLexer.DYNARR_END = 26;
SmalltalkLexer.DYNARR_START = 27;
SmalltalkLexer.DIGIT = 28;
SmalltalkLexer.HEXDIGIT = 29;
SmalltalkLexer.KEYWORD = 30;
SmalltalkLexer.BLOCK_PARAM = 31;
SmalltalkLexer.CHARACTER_CONSTANT = 32;
SmalltalkLexer.prototype.channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ];
SmalltalkLexer.prototype.modeNames = [ "DEFAULT_MODE" ];
SmalltalkLexer.prototype.literalNames = [ null, null, null, null, "'['",
"']'", "')'", "'('", "'|'", "'.'",
"';'", null, "'<'", "'>'", "'-'",
null, null, "'^'", "':'", "':='",
"'#'", "'$'", "'e'", "'16r'",
"'#('", "'#{'", "'}'", "'{'" ];
SmalltalkLexer.prototype.symbolicNames = [ null, "SEPARATOR", "STRING",
"COMMENT", "BLOCK_START", "BLOCK_END",
"CLOSE_PAREN", "OPEN_PAREN",
"PIPE", "PERIOD", "SEMI_COLON",
"BINARY_SELECTOR", "LT", "GT",
"MINUS", "RESERVED_WORD", "IDENTIFIER",
"CARROT", "COLON", "ASSIGNMENT",
"HASH", "DOLLAR", "EXP", "HEX",
"LITARR_START", "DYNDICT_START",
"DYNARR_END", "DYNARR_START",
"DIGIT", "HEXDIGIT", "KEYWORD",
"BLOCK_PARAM", "CHARACTER_CONSTANT" ];
SmalltalkLexer.prototype.ruleNames = [ "SEPARATOR", "STRING", "COMMENT",
"BLOCK_START", "BLOCK_END", "CLOSE_PAREN",
"OPEN_PAREN", "PIPE", "PERIOD", "SEMI_COLON",
"BINARY_SELECTOR", "LT", "GT", "MINUS",
"RESERVED_WORD", "IDENTIFIER", "CARROT",
"COLON", "ASSIGNMENT", "HASH", "DOLLAR",
"EXP", "HEX", "LITARR_START", "DYNDICT_START",
"DYNARR_END", "DYNARR_START", "DIGIT",
"HEXDIGIT", "KEYWORD", "BLOCK_PARAM",
"CHARACTER_CONSTANT" ];
SmalltalkLexer.prototype.grammarFileName = "Smalltalk.g4";
exports.SmalltalkLexer = SmalltalkLexer;