univac
Version:
Generate AST of lots of common programming languages using antlr4. JavaScript API and CLI tool.
1,264 lines (1,098 loc) • 146 kB
JavaScript
// @ts-nocheck
// Generated from Smalltalk.g4 by ANTLR 4.7.2
// jshint ignore: start
var antlr4 = require('antlr4/index');
var SmalltalkListener = require('./SmalltalkListener').SmalltalkListener;
var grammarFileName = "Smalltalk.g4";
var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
"\u0003\"\u019f\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!\u0004\"\t\"\u0004#\t#\u0004$\t$\u0004",
"%\t%\u0004&\t&\u0004\'\t\'\u0004(\t(\u0004)\t)\u0004*\t*\u0004+\t+\u0004",
",\t,\u0004-\t-\u0004.\t.\u0004/\t/\u00040\t0\u00041\t1\u0003\u0002\u0003",
"\u0002\u0003\u0002\u0003\u0002\u0003\u0003\u0005\u0003h\n\u0003\u0003",
"\u0003\u0003\u0003\u0005\u0003l\n\u0003\u0003\u0003\u0003\u0003\u0003",
"\u0004\u0007\u0004q\n\u0004\f\u0004\u000e\u0004t\u000b\u0004\u0003\u0005",
"\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0005\u0006\u0005{\n\u0005",
"\r\u0005\u000e\u0005|\u0003\u0005\u0003\u0005\u0003\u0005\u0003\u0006",
"\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006",
"\u0003\u0006\u0003\u0006\u0003\u0006\u0003\u0006\u0005\u0006\u008d\n",
"\u0006\u0003\u0006\u0003\u0006\u0005\u0006\u0091\n\u0006\u0003\u0007",
"\u0003\u0007\u0003\u0007\u0003\u0007\u0003\u0007\u0005\u0007\u0098\n",
"\u0007\u0003\b\u0003\b\u0003\b\u0003\b\u0003\b\u0005\b\u009f\n\b\u0003",
"\t\u0003\t\u0007\t\u00a3\n\t\f\t\u000e\t\u00a6\u000b\t\u0003\n\u0003",
"\n\u0003\n\u0003\n\u0003\u000b\u0003\u000b\u0005\u000b\u00ae\n\u000b",
"\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0003\u000b\u0006\u000b",
"\u00b5\n\u000b\r\u000b\u000e\u000b\u00b6\u0003\f\u0003\f\u0003\f\u0005",
"\f\u00bc\n\f\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\r\u0003\u000e",
"\u0003\u000e\u0003\u000f\u0003\u000f\u0005\u000f\u00c8\n\u000f\u0003",
"\u0010\u0003\u0010\u0003\u0010\u0005\u0010\u00cd\n\u0010\u0003\u0011",
"\u0003\u0011\u0003\u0011\u0003\u0012\u0003\u0012\u0003\u0012\u0003\u0012",
"\u0006\u0012\u00d6\n\u0012\r\u0012\u000e\u0012\u00d7\u0003\u0013\u0003",
"\u0013\u0003\u0013\u0003\u0013\u0003\u0013\u0003\u0014\u0003\u0014\u0003",
"\u0014\u0005\u0014\u00e2\n\u0014\u0003\u0015\u0003\u0015\u0003\u0015",
"\u0003\u0015\u0003\u0015\u0003\u0015\u0003\u0016\u0003\u0016\u0005\u0016",
"\u00ec\n\u0016\u0003\u0017\u0003\u0017\u0003\u0017\u0005\u0017\u00f1",
"\n\u0017\u0003\u0018\u0003\u0018\u0005\u0018\u00f5\n\u0018\u0003\u0018",
"\u0003\u0018\u0003\u0018\u0005\u0018\u00fa\n\u0018\u0003\u0018\u0003",
"\u0018\u0003\u0018\u0003\u0019\u0003\u0019\u0003\u0019\u0006\u0019\u0102",
"\n\u0019\r\u0019\u000e\u0019\u0103\u0003\u001a\u0003\u001a\u0003\u001a",
"\u0005\u001a\u0109\n\u001a\u0003\u001a\u0003\u001a\u0003\u001a\u0003",
"\u001b\u0003\u001b\u0003\u001b\u0005\u001b\u0111\n\u001b\u0003\u001b",
"\u0003\u001b\u0003\u001b\u0003\u001c\u0003\u001c\u0003\u001c\u0003\u001c",
"\u0003\u001c\u0003\u001c\u0005\u001c\u011c\n\u001c\u0003\u001d\u0003",
"\u001d\u0003\u001d\u0003\u001d\u0005\u001d\u0122\n\u001d\u0003\u001e",
"\u0003\u001e\u0005\u001e\u0126\n\u001e\u0003\u001e\u0003\u001e\u0003",
"\u001e\u0003\u001f\u0003\u001f\u0003 \u0005 \u012e\n \u0003 \u0003 ",
"\u0006 \u0132\n \r \u000e \u0133\u0003!\u0005!\u0137\n!\u0003!\u0006",
"!\u013a\n!\r!\u000e!\u013b\u0003\"\u0005\"\u013f\n\"\u0003\"\u0006\"",
"\u0142\n\"\r\"\u000e\"\u0143\u0003\"\u0003\"\u0006\"\u0148\n\"\r\"\u000e",
"\"\u0149\u0003#\u0003#\u0003$\u0003$\u0003%\u0003%\u0003%\u0003&\u0003",
"&\u0003&\u0003&\u0003&\u0006&\u0158\n&\r&\u000e&\u0159\u0003&\u0003",
"&\u0003&\u0003\'\u0003\'\u0006\'\u0161\n\'\r\'\u000e\'\u0162\u0003\'",
"\u0003\'\u0006\'\u0167\n\'\r\'\u000e\'\u0168\u0005\'\u016b\n\'\u0003",
"(\u0003(\u0003(\u0003)\u0003)\u0003)\u0003)\u0005)\u0174\n)\u0007)\u0176",
"\n)\f)\u000e)\u0179\u000b)\u0003)\u0003)\u0003)\u0003*\u0003*\u0003",
"*\u0003+\u0003+\u0003+\u0005+\u0184\n+\u0003+\u0003+\u0003,\u0003,\u0003",
",\u0003-\u0003-\u0003.\u0006.\u018e\n.\r.\u000e.\u018f\u0003/\u0003",
"/\u00030\u00030\u00050\u0196\n0\u00031\u00031\u00031\u00031\u00031\u0005",
"1\u019d\n1\u00031\u0002\u00022\u0002\u0004\u0006\b\n\f\u000e\u0010\u0012",
"\u0014\u0016\u0018\u001a\u001c\u001e \"$&(*,.02468:<>@BDFHJLNPRTVXZ",
"\\^`\u0002\u0004\u0004\u0002\u0003\u0003\u0005\u0005\u0004\u0002\r\r",
"\u0012\u0012\u0002\u01a9\u0002b\u0003\u0002\u0002\u0002\u0004g\u0003",
"\u0002\u0002\u0002\u0006r\u0003\u0002\u0002\u0002\bu\u0003\u0002\u0002",
"\u0002\n\u0090\u0003\u0002\u0002\u0002\f\u0092\u0003\u0002\u0002\u0002",
"\u000e\u009e\u0003\u0002\u0002\u0002\u0010\u00a0\u0003\u0002\u0002\u0002",
"\u0012\u00a7\u0003\u0002\u0002\u0002\u0014\u00ad\u0003\u0002\u0002\u0002",
"\u0016\u00bb\u0003\u0002\u0002\u0002\u0018\u00bd\u0003\u0002\u0002\u0002",
"\u001a\u00c3\u0003\u0002\u0002\u0002\u001c\u00c5\u0003\u0002\u0002\u0002",
"\u001e\u00c9\u0003\u0002\u0002\u0002 \u00ce\u0003\u0002\u0002\u0002",
"\"\u00d1\u0003\u0002\u0002\u0002$\u00d9\u0003\u0002\u0002\u0002&\u00e1",
"\u0003\u0002\u0002\u0002(\u00e3\u0003\u0002\u0002\u0002*\u00eb\u0003",
"\u0002\u0002\u0002,\u00f0\u0003\u0002\u0002\u0002.\u00f2\u0003\u0002",
"\u0002\u00020\u0101\u0003\u0002\u0002\u00022\u0105\u0003\u0002\u0002",
"\u00024\u010d\u0003\u0002\u0002\u00026\u011b\u0003\u0002\u0002\u0002",
"8\u0121\u0003\u0002\u0002\u0002:\u0125\u0003\u0002\u0002\u0002<\u012a",
"\u0003\u0002\u0002\u0002>\u012d\u0003\u0002\u0002\u0002@\u0136\u0003",
"\u0002\u0002\u0002B\u013e\u0003\u0002\u0002\u0002D\u014b\u0003\u0002",
"\u0002\u0002F\u014d\u0003\u0002\u0002\u0002H\u014f\u0003\u0002\u0002",
"\u0002J\u0152\u0003\u0002\u0002\u0002L\u016a\u0003\u0002\u0002\u0002",
"N\u016c\u0003\u0002\u0002\u0002P\u0177\u0003\u0002\u0002\u0002R\u017d",
"\u0003\u0002\u0002\u0002T\u0180\u0003\u0002\u0002\u0002V\u0187\u0003",
"\u0002\u0002\u0002X\u018a\u0003\u0002\u0002\u0002Z\u018d\u0003\u0002",
"\u0002\u0002\\\u0191\u0003\u0002\u0002\u0002^\u0193\u0003\u0002\u0002",
"\u0002`\u0197\u0003\u0002\u0002\u0002bc\u0005\u0004\u0003\u0002cd\u0005",
"\u0006\u0004\u0002de\u0007\u0002\u0002\u0003e\u0003\u0003\u0002\u0002",
"\u0002fh\u0005\b\u0005\u0002gf\u0003\u0002\u0002\u0002gh\u0003\u0002",
"\u0002\u0002hi\u0003\u0002\u0002\u0002ik\u0005\u0006\u0004\u0002jl\u0005",
"\n\u0006\u0002kj\u0003\u0002\u0002\u0002kl\u0003\u0002\u0002\u0002l",
"m\u0003\u0002\u0002\u0002mn\u0005\u0006\u0004\u0002n\u0005\u0003\u0002",
"\u0002\u0002oq\t\u0002\u0002\u0002po\u0003\u0002\u0002\u0002qt\u0003",
"\u0002\u0002\u0002rp\u0003\u0002\u0002\u0002rs\u0003\u0002\u0002\u0002",
"s\u0007\u0003\u0002\u0002\u0002tr\u0003\u0002\u0002\u0002uv\u0005\u0006",
"\u0004\u0002vz\u0007\n\u0002\u0002wx\u0005\u0006\u0004\u0002xy\u0007",
"\u0012\u0002\u0002y{\u0003\u0002\u0002\u0002zw\u0003\u0002\u0002\u0002",
"{|\u0003\u0002\u0002\u0002|z\u0003\u0002\u0002\u0002|}\u0003\u0002\u0002",
"\u0002}~\u0003\u0002\u0002\u0002~\u007f\u0005\u0006\u0004\u0002\u007f",
"\u0080\u0007\n\u0002\u0002\u0080\t\u0003\u0002\u0002\u0002\u0081\u0082",
"\u0005\f\u0007\u0002\u0082\u0083\u0005\u0006\u0004\u0002\u0083\u0091",
"\u0003\u0002\u0002\u0002\u0084\u0085\u0005\u0010\t\u0002\u0085\u0086",
"\u0005\u0006\u0004\u0002\u0086\u0087\u0007\u000b\u0002\u0002\u0087\u0088",
"\u0005\u0006\u0004\u0002\u0088\u0089\u0005\f\u0007\u0002\u0089\u0091",
"\u0003\u0002\u0002\u0002\u008a\u008c\u0005\u0010\t\u0002\u008b\u008d",
"\u0007\u000b\u0002\u0002\u008c\u008b\u0003\u0002\u0002\u0002\u008c\u008d",
"\u0003\u0002\u0002\u0002\u008d\u008e\u0003\u0002\u0002\u0002\u008e\u008f",
"\u0005\u0006\u0004\u0002\u008f\u0091\u0003\u0002\u0002\u0002\u0090\u0081",
"\u0003\u0002\u0002\u0002\u0090\u0084\u0003\u0002\u0002\u0002\u0090\u008a",
"\u0003\u0002\u0002\u0002\u0091\u000b\u0003\u0002\u0002\u0002\u0092\u0093",
"\u0007\u0013\u0002\u0002\u0093\u0094\u0005\u0006\u0004\u0002\u0094\u0095",
"\u0005\u000e\b\u0002\u0095\u0097\u0005\u0006\u0004\u0002\u0096\u0098",
"\u0007\u000b\u0002\u0002\u0097\u0096\u0003\u0002\u0002\u0002\u0097\u0098",
"\u0003\u0002\u0002\u0002\u0098\r\u0003\u0002\u0002\u0002\u0099\u009f",
"\u0005\u0018\r\u0002\u009a\u009f\u0005\u0014\u000b\u0002\u009b\u009f",
"\u0005 \u0011\u0002\u009c\u009f\u0005\u001c\u000f\u0002\u009d\u009f",
"\u0005J&\u0002\u009e\u0099\u0003\u0002\u0002\u0002\u009e\u009a\u0003",
"\u0002\u0002\u0002\u009e\u009b\u0003\u0002\u0002\u0002\u009e\u009c\u0003",
"\u0002\u0002\u0002\u009e\u009d\u0003\u0002\u0002\u0002\u009f\u000f\u0003",
"\u0002\u0002\u0002\u00a0\u00a4\u0005\u000e\b\u0002\u00a1\u00a3\u0005",
"\u0012\n\u0002\u00a2\u00a1\u0003\u0002\u0002\u0002\u00a3\u00a6\u0003",
"\u0002\u0002\u0002\u00a4\u00a2\u0003\u0002\u0002\u0002\u00a4\u00a5\u0003",
"\u0002\u0002\u0002\u00a5\u0011\u0003\u0002\u0002\u0002\u00a6\u00a4\u0003",
"\u0002\u0002\u0002\u00a7\u00a8\u0007\u000b\u0002\u0002\u00a8\u00a9\u0005",
"\u0006\u0004\u0002\u00a9\u00aa\u0005\u000e\b\u0002\u00aa\u0013\u0003",
"\u0002\u0002\u0002\u00ab\u00ae\u0005 \u0011\u0002\u00ac\u00ae\u0005",
"\u001c\u000f\u0002\u00ad\u00ab\u0003\u0002\u0002\u0002\u00ad\u00ac\u0003",
"\u0002\u0002\u0002\u00ae\u00b4\u0003\u0002\u0002\u0002\u00af\u00b0\u0005",
"\u0006\u0004\u0002\u00b0\u00b1\u0007\f\u0002\u0002\u00b1\u00b2\u0005",
"\u0006\u0004\u0002\u00b2\u00b3\u0005\u0016\f\u0002\u00b3\u00b5\u0003",
"\u0002\u0002\u0002\u00b4\u00af\u0003\u0002\u0002\u0002\u00b5\u00b6\u0003",
"\u0002\u0002\u0002\u00b6\u00b4\u0003\u0002\u0002\u0002\u00b6\u00b7\u0003",
"\u0002\u0002\u0002\u00b7\u0015\u0003\u0002\u0002\u0002\u00b8\u00bc\u0005",
"`1\u0002\u00b9\u00bc\u0005V,\u0002\u00ba\u00bc\u0005\"\u0012\u0002\u00bb",
"\u00b8\u0003\u0002\u0002\u0002\u00bb\u00b9\u0003\u0002\u0002\u0002\u00bb",
"\u00ba\u0003\u0002\u0002\u0002\u00bc\u0017\u0003\u0002\u0002\u0002\u00bd",
"\u00be\u0005\u001a\u000e\u0002\u00be\u00bf\u0005\u0006\u0004\u0002\u00bf",
"\u00c0\u0007\u0015\u0002\u0002\u00c0\u00c1\u0005\u0006\u0004\u0002\u00c1",
"\u00c2\u0005\u000e\b\u0002\u00c2\u0019\u0003\u0002\u0002\u0002\u00c3",
"\u00c4\u0007\u0012\u0002\u0002\u00c4\u001b\u0003\u0002\u0002\u0002\u00c5",
"\u00c7\u0005\u001e\u0010\u0002\u00c6\u00c8\u0005^0\u0002\u00c7\u00c6",
"\u0003\u0002\u0002\u0002\u00c7\u00c8\u0003\u0002\u0002\u0002\u00c8\u001d",
"\u0003\u0002\u0002\u0002\u00c9\u00ca\u0005&\u0014\u0002\u00ca\u00cc",
"\u0005\u0006\u0004\u0002\u00cb\u00cd\u0005T+\u0002\u00cc\u00cb\u0003",
"\u0002\u0002\u0002\u00cc\u00cd\u0003\u0002\u0002\u0002\u00cd\u001f\u0003",
"\u0002\u0002\u0002\u00ce\u00cf\u0005\u001c\u000f\u0002\u00cf\u00d0\u0005",
"\"\u0012\u0002\u00d0!\u0003\u0002\u0002\u0002\u00d1\u00d5\u0005\u0006",
"\u0004\u0002\u00d2\u00d3\u0005$\u0013\u0002\u00d3\u00d4\u0005\u0006",
"\u0004\u0002\u00d4\u00d6\u0003\u0002\u0002\u0002\u00d5\u00d2\u0003\u0002",
"\u0002\u0002\u00d6\u00d7\u0003\u0002\u0002\u0002\u00d7\u00d5\u0003\u0002",
"\u0002\u0002\u00d7\u00d8\u0003\u0002\u0002\u0002\u00d8#\u0003\u0002",
"\u0002\u0002\u00d9\u00da\u0007 \u0002\u0002\u00da\u00db\u0005\u0006",
"\u0004\u0002\u00db\u00dc\u0005\u001c\u000f\u0002\u00dc\u00dd\u0005\u0006",
"\u0004\u0002\u00dd%\u0003\u0002\u0002\u0002\u00de\u00e2\u0005*\u0016",
"\u0002\u00df\u00e2\u0005\\/\u0002\u00e0\u00e2\u0005(\u0015\u0002\u00e1",
"\u00de\u0003\u0002\u0002\u0002\u00e1\u00df\u0003\u0002\u0002\u0002\u00e1",
"\u00e0\u0003\u0002\u0002\u0002\u00e2\'\u0003\u0002\u0002\u0002\u00e3",
"\u00e4\u0007\t\u0002\u0002\u00e4\u00e5\u0005\u0006\u0004\u0002\u00e5",
"\u00e6\u0005\u000e\b\u0002\u00e6\u00e7\u0005\u0006\u0004\u0002\u00e7",
"\u00e8\u0007\b\u0002\u0002\u00e8)\u0003\u0002\u0002\u0002\u00e9\u00ec",
"\u0005,\u0017\u0002\u00ea\u00ec\u00056\u001c\u0002\u00eb\u00e9\u0003",
"\u0002\u0002\u0002\u00eb\u00ea\u0003\u0002\u0002\u0002\u00ec+\u0003",
"\u0002\u0002\u0002\u00ed\u00f1\u00052\u001a\u0002\u00ee\u00f1\u0005",
"4\u001b\u0002\u00ef\u00f1\u0005.\u0018\u0002\u00f0\u00ed\u0003\u0002",
"\u0002\u0002\u00f0\u00ee\u0003\u0002\u0002\u0002\u00f0\u00ef\u0003\u0002",
"\u0002\u0002\u00f1-\u0003\u0002\u0002\u0002\u00f2\u00f4\u0007\u0006",
"\u0002\u0002\u00f3\u00f5\u00050\u0019\u0002\u00f4\u00f3\u0003\u0002",
"\u0002\u0002\u00f4\u00f5\u0003\u0002\u0002\u0002\u00f5\u00f6\u0003\u0002",
"\u0002\u0002\u00f6\u00f9\u0005\u0006\u0004\u0002\u00f7\u00f8\u0007\n",
"\u0002\u0002\u00f8\u00fa\u0005\u0006\u0004\u0002\u00f9\u00f7\u0003\u0002",
"\u0002\u0002\u00f9\u00fa\u0003\u0002\u0002\u0002\u00fa\u00fb\u0003\u0002",
"\u0002\u0002\u00fb\u00fc\u0005\u0004\u0003\u0002\u00fc\u00fd\u0007\u0007",
"\u0002\u0002\u00fd/\u0003\u0002\u0002\u0002\u00fe\u00ff\u0005\u0006",
"\u0004\u0002\u00ff\u0100\u0007!\u0002\u0002\u0100\u0102\u0003\u0002",
"\u0002\u0002\u0101\u00fe\u0003\u0002\u0002\u0002\u0102\u0103\u0003\u0002",
"\u0002\u0002\u0103\u0101\u0003\u0002\u0002\u0002\u0103\u0104\u0003\u0002",
"\u0002\u0002\u01041\u0003\u0002\u0002\u0002\u0105\u0106\u0007\u001b",
"\u0002\u0002\u0106\u0108\u0005\u0006\u0004\u0002\u0107\u0109\u0005\u0010",
"\t\u0002\u0108\u0107\u0003\u0002\u0002\u0002\u0108\u0109\u0003\u0002",
"\u0002\u0002\u0109\u010a\u0003\u0002\u0002\u0002\u010a\u010b\u0005\u0006",
"\u0004\u0002\u010b\u010c\u0007\u001c\u0002\u0002\u010c3\u0003\u0002",
"\u0002\u0002\u010d\u010e\u0007\u001d\u0002\u0002\u010e\u0110\u0005\u0006",
"\u0004\u0002\u010f\u0111\u0005\u0010\t\u0002\u0110\u010f\u0003\u0002",
"\u0002\u0002\u0110\u0111\u0003\u0002\u0002\u0002\u0111\u0112\u0003\u0002",
"\u0002\u0002\u0112\u0113\u0005\u0006\u0004\u0002\u0113\u0114\u0007\u001c",
"\u0002\u0002\u01145\u0003\u0002\u0002\u0002\u0115\u011c\u0005<\u001f",
"\u0002\u0116\u011c\u0005D#\u0002\u0117\u011c\u00058\u001d\u0002\u0118",
"\u011c\u0005N(\u0002\u0119\u011c\u0005F$\u0002\u011a\u011c\u0005H%\u0002",
"\u011b\u0115\u0003\u0002\u0002\u0002\u011b\u0116\u0003\u0002\u0002\u0002",
"\u011b\u0117\u0003\u0002\u0002\u0002\u011b\u0118\u0003\u0002\u0002\u0002",
"\u011b\u0119\u0003\u0002\u0002\u0002\u011b\u011a\u0003\u0002\u0002\u0002",
"\u011c7\u0003\u0002\u0002\u0002\u011d\u0122\u0005:\u001e\u0002\u011e",
"\u0122\u0005> \u0002\u011f\u0122\u0005B\"\u0002\u0120\u0122\u0005@!",
"\u0002\u0121\u011d\u0003\u0002\u0002\u0002\u0121\u011e\u0003\u0002\u0002",
"\u0002\u0121\u011f\u0003\u0002\u0002\u0002\u0121\u0120\u0003\u0002\u0002",
"\u0002\u01229\u0003\u0002\u0002\u0002\u0123\u0126\u0005B\"\u0002\u0124",
"\u0126\u0005@!\u0002\u0125\u0123\u0003\u0002\u0002\u0002\u0125\u0124",
"\u0003\u0002\u0002\u0002\u0126\u0127\u0003\u0002\u0002\u0002\u0127\u0128",
"\u0007\u0018\u0002\u0002\u0128\u0129\u0005@!\u0002\u0129;\u0003\u0002",
"\u0002\u0002\u012a\u012b\u0007\"\u0002\u0002\u012b=\u0003\u0002\u0002",
"\u0002\u012c\u012e\u0007\u0010\u0002\u0002\u012d\u012c\u0003\u0002\u0002",
"\u0002\u012d\u012e\u0003\u0002\u0002\u0002\u012e\u012f\u0003\u0002\u0002",
"\u0002\u012f\u0131\u0007\u0019\u0002\u0002\u0130\u0132\u0007\u001f\u0002",
"\u0002\u0131\u0130\u0003\u0002\u0002\u0002\u0132\u0133\u0003\u0002\u0002",
"\u0002\u0133\u0131\u0003\u0002\u0002\u0002\u0133\u0134\u0003\u0002\u0002",
"\u0002\u0134?\u0003\u0002\u0002\u0002\u0135\u0137\u0007\u0010\u0002",
"\u0002\u0136\u0135\u0003\u0002\u0002\u0002\u0136\u0137\u0003\u0002\u0002",
"\u0002\u0137\u0139\u0003\u0002\u0002\u0002\u0138\u013a\u0007\u001e\u0002",
"\u0002\u0139\u0138\u0003\u0002\u0002\u0002\u013a\u013b\u0003\u0002\u0002",
"\u0002\u013b\u0139\u0003\u0002\u0002\u0002\u013b\u013c\u0003\u0002\u0002",
"\u0002\u013cA\u0003\u0002\u0002\u0002\u013d\u013f\u0007\u0010\u0002",
"\u0002\u013e\u013d\u0003\u0002\u0002\u0002\u013e\u013f\u0003\u0002\u0002",
"\u0002\u013f\u0141\u0003\u0002\u0002\u0002\u0140\u0142\u0007\u001e\u0002",
"\u0002\u0141\u0140\u0003\u0002\u0002\u0002\u0142\u0143\u0003\u0002\u0002",
"\u0002\u0143\u0141\u0003\u0002\u0002\u0002\u0143\u0144\u0003\u0002\u0002",
"\u0002\u0144\u0145\u0003\u0002\u0002\u0002\u0145\u0147\u0007\u000b\u0002",
"\u0002\u0146\u0148\u0007\u001e\u0002\u0002\u0147\u0146\u0003\u0002\u0002",
"\u0002\u0148\u0149\u0003\u0002\u0002\u0002\u0149\u0147\u0003\u0002\u0002",
"\u0002\u0149\u014a\u0003\u0002\u0002\u0002\u014aC\u0003\u0002\u0002",
"\u0002\u014b\u014c\u0007\u0011\u0002\u0002\u014cE\u0003\u0002\u0002",
"\u0002\u014d\u014e\u0007\u0004\u0002\u0002\u014eG\u0003\u0002\u0002",
"\u0002\u014f\u0150\u0007\u0016\u0002\u0002\u0150\u0151\u0005L\'\u0002",
"\u0151I\u0003\u0002\u0002\u0002\u0152\u0153\u0007\u000e\u0002\u0002",
"\u0153\u0154\u0005\u0006\u0004\u0002\u0154\u0155\u0007 \u0002\u0002",
"\u0155\u0157\u0005\u0006\u0004\u0002\u0156\u0158\u0007\u001e\u0002\u0002",
"\u0157\u0156\u0003\u0002\u0002\u0002\u0158\u0159\u0003\u0002\u0002\u0002",
"\u0159\u0157\u0003\u0002\u0002\u0002\u0159\u015a\u0003\u0002\u0002\u0002",
"\u015a\u015b\u0003\u0002\u0002\u0002\u015b\u015c\u0005\u0006\u0004\u0002",
"\u015c\u015d\u0007\u000f\u0002\u0002\u015dK\u0003\u0002\u0002\u0002",
"\u015e\u016b\t\u0003\u0002\u0002\u015f\u0161\u0007 \u0002\u0002\u0160",
"\u015f\u0003\u0002\u0002\u0002\u0161\u0162\u0003\u0002\u0002\u0002\u0162",
"\u0160\u0003\u0002\u0002\u0002\u0162\u0163\u0003\u0002\u0002\u0002\u0163",
"\u016b\u0003\u0002\u0002\u0002\u0164\u016b\u0005F$\u0002\u0165\u0167",
"\u0007\n\u0002\u0002\u0166\u0165\u0003\u0002\u0002\u0002\u0167\u0168",
"\u0003\u0002\u0002\u0002\u0168\u0166\u0003\u0002\u0002\u0002\u0168\u0169",
"\u0003\u0002\u0002\u0002\u0169\u016b\u0003\u0002\u0002\u0002\u016a\u015e",
"\u0003\u0002\u0002\u0002\u016a\u0160\u0003\u0002\u0002\u0002\u016a\u0164",
"\u0003\u0002\u0002\u0002\u016a\u0166\u0003\u0002\u0002\u0002\u016bM",
"\u0003\u0002\u0002\u0002\u016c\u016d\u0007\u001a\u0002\u0002\u016d\u016e",
"\u0005P)\u0002\u016eO\u0003\u0002\u0002\u0002\u016f\u0173\u0005\u0006",
"\u0004\u0002\u0170\u0174\u00056\u001c\u0002\u0171\u0174\u0005R*\u0002",
"\u0172\u0174\u0005L\'\u0002\u0173\u0170\u0003\u0002\u0002\u0002\u0173",
"\u0171\u0003\u0002\u0002\u0002\u0173\u0172\u0003\u0002\u0002\u0002\u0174",
"\u0176\u0003\u0002\u0002\u0002\u0175\u016f\u0003\u0002\u0002\u0002\u0176",
"\u0179\u0003\u0002\u0002\u0002\u0177\u0175\u0003\u0002\u0002\u0002\u0177",
"\u0178\u0003\u0002\u0002\u0002\u0178\u017a\u0003\u0002\u0002\u0002\u0179",
"\u0177\u0003\u0002\u0002\u0002\u017a\u017b\u0005\u0006\u0004\u0002\u017b",
"\u017c\u0007\b\u0002\u0002\u017cQ\u0003\u0002\u0002\u0002\u017d\u017e",
"\u0007\t\u0002\u0002\u017e\u017f\u0005P)\u0002\u017fS\u0003\u0002\u0002",
"\u0002\u0180\u0181\u0005V,\u0002\u0181\u0183\u0005\u0006\u0004\u0002",
"\u0182\u0184\u0005T+\u0002\u0183\u0182\u0003\u0002\u0002\u0002\u0183",
"\u0184\u0003\u0002\u0002\u0002\u0184\u0185\u0003\u0002\u0002\u0002\u0185",
"\u0186\u0005\u0006\u0004\u0002\u0186U\u0003\u0002\u0002\u0002\u0187",
"\u0188\u0005\u0006\u0004\u0002\u0188\u0189\u0005X-\u0002\u0189W\u0003",
"\u0002\u0002\u0002\u018a\u018b\u0007\u0012\u0002\u0002\u018bY\u0003",
"\u0002\u0002\u0002\u018c\u018e\u0007 \u0002\u0002\u018d\u018c\u0003",
"\u0002\u0002\u0002\u018e\u018f\u0003\u0002\u0002\u0002\u018f\u018d\u0003",
"\u0002\u0002\u0002\u018f\u0190\u0003\u0002\u0002\u0002\u0190[\u0003",
"\u0002\u0002\u0002\u0191\u0192\u0005\u001a\u000e\u0002\u0192]\u0003",
"\u0002\u0002\u0002\u0193\u0195\u0005`1\u0002\u0194\u0196\u0005^0\u0002",
"\u0195\u0194\u0003\u0002\u0002\u0002\u0195\u0196\u0003\u0002\u0002\u0002",
"\u0196_\u0003\u0002\u0002\u0002\u0197\u0198\u0005\u0006\u0004\u0002",
"\u0198\u0199\u0007\r\u0002\u0002\u0199\u019c\u0005\u0006\u0004\u0002",
"\u019a\u019d\u0005\u001e\u0010\u0002\u019b\u019d\u0005&\u0014\u0002",
"\u019c\u019a\u0003\u0002\u0002\u0002\u019c\u019b\u0003\u0002\u0002\u0002",
"\u019da\u0003\u0002\u0002\u0002-gkr|\u008c\u0090\u0097\u009e\u00a4\u00ad",
"\u00b6\u00bb\u00c7\u00cc\u00d7\u00e1\u00eb\u00f0\u00f4\u00f9\u0103\u0108",
"\u0110\u011b\u0121\u0125\u012d\u0133\u0136\u013b\u013e\u0143\u0149\u0159",
"\u0162\u0168\u016a\u0173\u0177\u0183\u018f\u0195\u019c"].join("");
var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
var decisionsToDFA = atn.decisionToState.map( function(ds, index) { return new antlr4.dfa.DFA(ds, index); });
var sharedContextCache = new antlr4.PredictionContextCache();
var literalNames = [ null, null, null, null, "'['", "']'", "')'", "'('",
"'|'", "'.'", "';'", null, "'<'", "'>'", "'-'", null,
null, "'^'", "':'", "':='", "'#'", "'$'", "'e'", "'16r'",
"'#('", "'#{'", "'}'", "'{'" ];
var 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" ];
var ruleNames = [ "script", "sequence", "ws", "temps", "statements", "answer",
"expression", "expressions", "expressionList", "cascade",
"message", "assignment", "variable", "binarySend", "unarySend",
"keywordSend", "keywordMessage", "keywordPair", "operand",
"subexpression", "literal", "runtimeLiteral", "block",
"blockParamList", "dynamicDictionary", "dynamicArray",
"parsetimeLiteral", "number", "numberExp", "charConstant",
"hex", "stInteger", "stFloat", "pseudoVariable", "string",
"symbol", "primitive", "bareSymbol", "literalArray",
"literalArrayRest", "bareLiteralArray", "unaryTail",
"unaryMessage", "unarySelector", "keywords", "reference",
"binaryTail", "binaryMessage" ];
function SmalltalkParser (input) {
antlr4.Parser.call(this, input);
this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache);
this.ruleNames = ruleNames;
this.literalNames = literalNames;
this.symbolicNames = symbolicNames;
return this;
}
SmalltalkParser.prototype = Object.create(antlr4.Parser.prototype);
SmalltalkParser.prototype.constructor = SmalltalkParser;
Object.defineProperty(SmalltalkParser.prototype, "atn", {
get : function() {
return atn;
}
});
SmalltalkParser.EOF = antlr4.Token.EOF;
SmalltalkParser.SEPARATOR = 1;
SmalltalkParser.STRING = 2;
SmalltalkParser.COMMENT = 3;
SmalltalkParser.BLOCK_START = 4;
SmalltalkParser.BLOCK_END = 5;
SmalltalkParser.CLOSE_PAREN = 6;
SmalltalkParser.OPEN_PAREN = 7;
SmalltalkParser.PIPE = 8;
SmalltalkParser.PERIOD = 9;
SmalltalkParser.SEMI_COLON = 10;
SmalltalkParser.BINARY_SELECTOR = 11;
SmalltalkParser.LT = 12;
SmalltalkParser.GT = 13;
SmalltalkParser.MINUS = 14;
SmalltalkParser.RESERVED_WORD = 15;
SmalltalkParser.IDENTIFIER = 16;
SmalltalkParser.CARROT = 17;
SmalltalkParser.COLON = 18;
SmalltalkParser.ASSIGNMENT = 19;
SmalltalkParser.HASH = 20;
SmalltalkParser.DOLLAR = 21;
SmalltalkParser.EXP = 22;
SmalltalkParser.HEX = 23;
SmalltalkParser.LITARR_START = 24;
SmalltalkParser.DYNDICT_START = 25;
SmalltalkParser.DYNARR_END = 26;
SmalltalkParser.DYNARR_START = 27;
SmalltalkParser.DIGIT = 28;
SmalltalkParser.HEXDIGIT = 29;
SmalltalkParser.KEYWORD = 30;
SmalltalkParser.BLOCK_PARAM = 31;
SmalltalkParser.CHARACTER_CONSTANT = 32;
SmalltalkParser.RULE_script = 0;
SmalltalkParser.RULE_sequence = 1;
SmalltalkParser.RULE_ws = 2;
SmalltalkParser.RULE_temps = 3;
SmalltalkParser.RULE_statements = 4;
SmalltalkParser.RULE_answer = 5;
SmalltalkParser.RULE_expression = 6;
SmalltalkParser.RULE_expressions = 7;
SmalltalkParser.RULE_expressionList = 8;
SmalltalkParser.RULE_cascade = 9;
SmalltalkParser.RULE_message = 10;
SmalltalkParser.RULE_assignment = 11;
SmalltalkParser.RULE_variable = 12;
SmalltalkParser.RULE_binarySend = 13;
SmalltalkParser.RULE_unarySend = 14;
SmalltalkParser.RULE_keywordSend = 15;
SmalltalkParser.RULE_keywordMessage = 16;
SmalltalkParser.RULE_keywordPair = 17;
SmalltalkParser.RULE_operand = 18;
SmalltalkParser.RULE_subexpression = 19;
SmalltalkParser.RULE_literal = 20;
SmalltalkParser.RULE_runtimeLiteral = 21;
SmalltalkParser.RULE_block = 22;
SmalltalkParser.RULE_blockParamList = 23;
SmalltalkParser.RULE_dynamicDictionary = 24;
SmalltalkParser.RULE_dynamicArray = 25;
SmalltalkParser.RULE_parsetimeLiteral = 26;
SmalltalkParser.RULE_number = 27;
SmalltalkParser.RULE_numberExp = 28;
SmalltalkParser.RULE_charConstant = 29;
SmalltalkParser.RULE_hex = 30;
SmalltalkParser.RULE_stInteger = 31;
SmalltalkParser.RULE_stFloat = 32;
SmalltalkParser.RULE_pseudoVariable = 33;
SmalltalkParser.RULE_string = 34;
SmalltalkParser.RULE_symbol = 35;
SmalltalkParser.RULE_primitive = 36;
SmalltalkParser.RULE_bareSymbol = 37;
SmalltalkParser.RULE_literalArray = 38;
SmalltalkParser.RULE_literalArrayRest = 39;
SmalltalkParser.RULE_bareLiteralArray = 40;
SmalltalkParser.RULE_unaryTail = 41;
SmalltalkParser.RULE_unaryMessage = 42;
SmalltalkParser.RULE_unarySelector = 43;
SmalltalkParser.RULE_keywords = 44;
SmalltalkParser.RULE_reference = 45;
SmalltalkParser.RULE_binaryTail = 46;
SmalltalkParser.RULE_binaryMessage = 47;
function ScriptContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_script;
return this;
}
ScriptContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
ScriptContext.prototype.constructor = ScriptContext;
ScriptContext.prototype.sequence = function() {
return this.getTypedRuleContext(SequenceContext,0);
};
ScriptContext.prototype.ws = function() {
return this.getTypedRuleContext(WsContext,0);
};
ScriptContext.prototype.EOF = function() {
return this.getToken(SmalltalkParser.EOF, 0);
};
ScriptContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterScript(this);
}
};
ScriptContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitScript(this);
}
};
SmalltalkParser.ScriptContext = ScriptContext;
SmalltalkParser.prototype.script = function() {
var localctx = new ScriptContext(this, this._ctx, this.state);
this.enterRule(localctx, 0, SmalltalkParser.RULE_script);
try {
this.enterOuterAlt(localctx, 1);
this.state = 96;
this.sequence();
this.state = 97;
this.ws();
this.state = 98;
this.match(SmalltalkParser.EOF);
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function SequenceContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_sequence;
return this;
}
SequenceContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
SequenceContext.prototype.constructor = SequenceContext;
SequenceContext.prototype.ws = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTypedRuleContexts(WsContext);
} else {
return this.getTypedRuleContext(WsContext,i);
}
};
SequenceContext.prototype.temps = function() {
return this.getTypedRuleContext(TempsContext,0);
};
SequenceContext.prototype.statements = function() {
return this.getTypedRuleContext(StatementsContext,0);
};
SequenceContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterSequence(this);
}
};
SequenceContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitSequence(this);
}
};
SmalltalkParser.SequenceContext = SequenceContext;
SmalltalkParser.prototype.sequence = function() {
var localctx = new SequenceContext(this, this._ctx, this.state);
this.enterRule(localctx, 2, SmalltalkParser.RULE_sequence);
var _la = 0; // Token type
try {
this.enterOuterAlt(localctx, 1);
this.state = 101;
this._errHandler.sync(this);
var la_ = this._interp.adaptivePredict(this._input,0,this._ctx);
if(la_===1) {
this.state = 100;
this.temps();
}
this.state = 103;
this.ws();
this.state = 105;
this._errHandler.sync(this);
_la = this._input.LA(1);
if(((((_la - 2)) & ~0x1f) == 0 && ((1 << (_la - 2)) & ((1 << (SmalltalkParser.STRING - 2)) | (1 << (SmalltalkParser.BLOCK_START - 2)) | (1 << (SmalltalkParser.OPEN_PAREN - 2)) | (1 << (SmalltalkParser.LT - 2)) | (1 << (SmalltalkParser.MINUS - 2)) | (1 << (SmalltalkParser.RESERVED_WORD - 2)) | (1 << (SmalltalkParser.IDENTIFIER - 2)) | (1 << (SmalltalkParser.CARROT - 2)) | (1 << (SmalltalkParser.HASH - 2)) | (1 << (SmalltalkParser.HEX - 2)) | (1 << (SmalltalkParser.LITARR_START - 2)) | (1 << (SmalltalkParser.DYNDICT_START - 2)) | (1 << (SmalltalkParser.DYNARR_START - 2)) | (1 << (SmalltalkParser.DIGIT - 2)) | (1 << (SmalltalkParser.CHARACTER_CONSTANT - 2)))) !== 0)) {
this.state = 104;
this.statements();
}
this.state = 107;
this.ws();
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function WsContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_ws;
return this;
}
WsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
WsContext.prototype.constructor = WsContext;
WsContext.prototype.SEPARATOR = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTokens(SmalltalkParser.SEPARATOR);
} else {
return this.getToken(SmalltalkParser.SEPARATOR, i);
}
};
WsContext.prototype.COMMENT = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTokens(SmalltalkParser.COMMENT);
} else {
return this.getToken(SmalltalkParser.COMMENT, i);
}
};
WsContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterWs(this);
}
};
WsContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitWs(this);
}
};
SmalltalkParser.WsContext = WsContext;
SmalltalkParser.prototype.ws = function() {
var localctx = new WsContext(this, this._ctx, this.state);
this.enterRule(localctx, 4, SmalltalkParser.RULE_ws);
var _la = 0; // Token type
try {
this.enterOuterAlt(localctx, 1);
this.state = 112;
this._errHandler.sync(this);
var _alt = this._interp.adaptivePredict(this._input,2,this._ctx)
while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
if(_alt===1) {
this.state = 109;
_la = this._input.LA(1);
if(!(_la===SmalltalkParser.SEPARATOR || _la===SmalltalkParser.COMMENT)) {
this._errHandler.recoverInline(this);
}
else {
this._errHandler.reportMatch(this);
this.consume();
}
}
this.state = 114;
this._errHandler.sync(this);
_alt = this._interp.adaptivePredict(this._input,2,this._ctx);
}
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function TempsContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_temps;
return this;
}
TempsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
TempsContext.prototype.constructor = TempsContext;
TempsContext.prototype.ws = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTypedRuleContexts(WsContext);
} else {
return this.getTypedRuleContext(WsContext,i);
}
};
TempsContext.prototype.PIPE = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTokens(SmalltalkParser.PIPE);
} else {
return this.getToken(SmalltalkParser.PIPE, i);
}
};
TempsContext.prototype.IDENTIFIER = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTokens(SmalltalkParser.IDENTIFIER);
} else {
return this.getToken(SmalltalkParser.IDENTIFIER, i);
}
};
TempsContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterTemps(this);
}
};
TempsContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitTemps(this);
}
};
SmalltalkParser.TempsContext = TempsContext;
SmalltalkParser.prototype.temps = function() {
var localctx = new TempsContext(this, this._ctx, this.state);
this.enterRule(localctx, 6, SmalltalkParser.RULE_temps);
try {
this.enterOuterAlt(localctx, 1);
this.state = 115;
this.ws();
this.state = 116;
this.match(SmalltalkParser.PIPE);
this.state = 120;
this._errHandler.sync(this);
var _alt = 1;
do {
switch (_alt) {
case 1:
this.state = 117;
this.ws();
this.state = 118;
this.match(SmalltalkParser.IDENTIFIER);
break;
default:
throw new antlr4.error.NoViableAltException(this);
}
this.state = 122;
this._errHandler.sync(this);
_alt = this._interp.adaptivePredict(this._input,3, this._ctx);
} while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER );
this.state = 124;
this.ws();
this.state = 125;
this.match(SmalltalkParser.PIPE);
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function StatementsContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_statements;
return this;
}
StatementsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
StatementsContext.prototype.constructor = StatementsContext;
StatementsContext.prototype.copyFrom = function(ctx) {
antlr4.ParserRuleContext.prototype.copyFrom.call(this, ctx);
};
function StatementAnswerContext(parser, ctx) {
StatementsContext.call(this, parser);
StatementsContext.prototype.copyFrom.call(this, ctx);
return this;
}
StatementAnswerContext.prototype = Object.create(StatementsContext.prototype);
StatementAnswerContext.prototype.constructor = StatementAnswerContext;
SmalltalkParser.StatementAnswerContext = StatementAnswerContext;
StatementAnswerContext.prototype.answer = function() {
return this.getTypedRuleContext(AnswerContext,0);
};
StatementAnswerContext.prototype.ws = function() {
return this.getTypedRuleContext(WsContext,0);
};
StatementAnswerContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterStatementAnswer(this);
}
};
StatementAnswerContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitStatementAnswer(this);
}
};
function StatementExpressionsContext(parser, ctx) {
StatementsContext.call(this, parser);
StatementsContext.prototype.copyFrom.call(this, ctx);
return this;
}
StatementExpressionsContext.prototype = Object.create(StatementsContext.prototype);
StatementExpressionsContext.prototype.constructor = StatementExpressionsContext;
SmalltalkParser.StatementExpressionsContext = StatementExpressionsContext;
StatementExpressionsContext.prototype.expressions = function() {
return this.getTypedRuleContext(ExpressionsContext,0);
};
StatementExpressionsContext.prototype.ws = function() {
return this.getTypedRuleContext(WsContext,0);
};
StatementExpressionsContext.prototype.PERIOD = function() {
return this.getToken(SmalltalkParser.PERIOD, 0);
};
StatementExpressionsContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterStatementExpressions(this);
}
};
StatementExpressionsContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitStatementExpressions(this);
}
};
function StatementExpressionsAnswerContext(parser, ctx) {
StatementsContext.call(this, parser);
StatementsContext.prototype.copyFrom.call(this, ctx);
return this;
}
StatementExpressionsAnswerContext.prototype = Object.create(StatementsContext.prototype);
StatementExpressionsAnswerContext.prototype.constructor = StatementExpressionsAnswerContext;
SmalltalkParser.StatementExpressionsAnswerContext = StatementExpressionsAnswerContext;
StatementExpressionsAnswerContext.prototype.expressions = function() {
return this.getTypedRuleContext(ExpressionsContext,0);
};
StatementExpressionsAnswerContext.prototype.ws = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTypedRuleContexts(WsContext);
} else {
return this.getTypedRuleContext(WsContext,i);
}
};
StatementExpressionsAnswerContext.prototype.PERIOD = function() {
return this.getToken(SmalltalkParser.PERIOD, 0);
};
StatementExpressionsAnswerContext.prototype.answer = function() {
return this.getTypedRuleContext(AnswerContext,0);
};
StatementExpressionsAnswerContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterStatementExpressionsAnswer(this);
}
};
StatementExpressionsAnswerContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitStatementExpressionsAnswer(this);
}
};
SmalltalkParser.StatementsContext = StatementsContext;
SmalltalkParser.prototype.statements = function() {
var localctx = new StatementsContext(this, this._ctx, this.state);
this.enterRule(localctx, 8, SmalltalkParser.RULE_statements);
var _la = 0; // Token type
try {
this.state = 142;
this._errHandler.sync(this);
var la_ = this._interp.adaptivePredict(this._input,5,this._ctx);
switch(la_) {
case 1:
localctx = new StatementAnswerContext(this, localctx);
this.enterOuterAlt(localctx, 1);
this.state = 127;
this.answer();
this.state = 128;
this.ws();
break;
case 2:
localctx = new StatementExpressionsAnswerContext(this, localctx);
this.enterOuterAlt(localctx, 2);
this.state = 130;
this.expressions();
this.state = 131;
this.ws();
this.state = 132;
this.match(SmalltalkParser.PERIOD);
this.state = 133;
this.ws();
this.state = 134;
this.answer();
break;
case 3:
localctx = new StatementExpressionsContext(this, localctx);
this.enterOuterAlt(localctx, 3);
this.state = 136;
this.expressions();
this.state = 138;
this._errHandler.sync(this);
_la = this._input.LA(1);
if(_la===SmalltalkParser.PERIOD) {
this.state = 137;
this.match(SmalltalkParser.PERIOD);
}
this.state = 140;
this.ws();
break;
}
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function AnswerContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_answer;
return this;
}
AnswerContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
AnswerContext.prototype.constructor = AnswerContext;
AnswerContext.prototype.CARROT = function() {
return this.getToken(SmalltalkParser.CARROT, 0);
};
AnswerContext.prototype.ws = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTypedRuleContexts(WsContext);
} else {
return this.getTypedRuleContext(WsContext,i);
}
};
AnswerContext.prototype.expression = function() {
return this.getTypedRuleContext(ExpressionContext,0);
};
AnswerContext.prototype.PERIOD = function() {
return this.getToken(SmalltalkParser.PERIOD, 0);
};
AnswerContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterAnswer(this);
}
};
AnswerContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitAnswer(this);
}
};
SmalltalkParser.AnswerContext = AnswerContext;
SmalltalkParser.prototype.answer = function() {
var localctx = new AnswerContext(this, this._ctx, this.state);
this.enterRule(localctx, 10, SmalltalkParser.RULE_answer);
var _la = 0; // Token type
try {
this.enterOuterAlt(localctx, 1);
this.state = 144;
this.match(SmalltalkParser.CARROT);
this.state = 145;
this.ws();
this.state = 146;
this.expression();
this.state = 147;
this.ws();
this.state = 149;
this._errHandler.sync(this);
_la = this._input.LA(1);
if(_la===SmalltalkParser.PERIOD) {
this.state = 148;
this.match(SmalltalkParser.PERIOD);
}
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function ExpressionContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_expression;
return this;
}
ExpressionContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
ExpressionContext.prototype.constructor = ExpressionContext;
ExpressionContext.prototype.assignment = function() {
return this.getTypedRuleContext(AssignmentContext,0);
};
ExpressionContext.prototype.cascade = function() {
return this.getTypedRuleContext(CascadeContext,0);
};
ExpressionContext.prototype.keywordSend = function() {
return this.getTypedRuleContext(KeywordSendContext,0);
};
ExpressionContext.prototype.binarySend = function() {
return this.getTypedRuleContext(BinarySendContext,0);
};
ExpressionContext.prototype.primitive = function() {
return this.getTypedRuleContext(PrimitiveContext,0);
};
ExpressionContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterExpression(this);
}
};
ExpressionContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitExpression(this);
}
};
SmalltalkParser.ExpressionContext = ExpressionContext;
SmalltalkParser.prototype.expression = function() {
var localctx = new ExpressionContext(this, this._ctx, this.state);
this.enterRule(localctx, 12, SmalltalkParser.RULE_expression);
try {
this.state = 156;
this._errHandler.sync(this);
var la_ = this._interp.adaptivePredict(this._input,7,this._ctx);
switch(la_) {
case 1:
this.enterOuterAlt(localctx, 1);
this.state = 151;
this.assignment();
break;
case 2:
this.enterOuterAlt(localctx, 2);
this.state = 152;
this.cascade();
break;
case 3:
this.enterOuterAlt(localctx, 3);
this.state = 153;
this.keywordSend();
break;
case 4:
this.enterOuterAlt(localctx, 4);
this.state = 154;
this.binarySend();
break;
case 5:
this.enterOuterAlt(localctx, 5);
this.state = 155;
this.primitive();
break;
}
} catch (re) {
if(re instanceof antlr4.error.RecognitionException) {
localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
} else {
throw re;
}
} finally {
this.exitRule();
}
return localctx;
};
function ExpressionsContext(parser, parent, invokingState) {
if(parent===undefined) {
parent = null;
}
if(invokingState===undefined || invokingState===null) {
invokingState = -1;
}
antlr4.ParserRuleContext.call(this, parent, invokingState);
this.parser = parser;
this.ruleIndex = SmalltalkParser.RULE_expressions;
return this;
}
ExpressionsContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
ExpressionsContext.prototype.constructor = ExpressionsContext;
ExpressionsContext.prototype.expression = function() {
return this.getTypedRuleContext(ExpressionContext,0);
};
ExpressionsContext.prototype.expressionList = function(i) {
if(i===undefined) {
i = null;
}
if(i===null) {
return this.getTypedRuleContexts(ExpressionListContext);
} else {
return this.getTypedRuleContext(ExpressionListContext,i);
}
};
ExpressionsContext.prototype.enterRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.enterExpressions(this);
}
};
ExpressionsContext.prototype.exitRule = function(listener) {
if(listener instanceof SmalltalkListener ) {
listener.exitExpressions(this);
}
};
SmalltalkParser.ExpressionsContext = ExpressionsContext;
SmalltalkParser.prototype.expressions = function() {
var localctx = new ExpressionsContext(this, this._ctx, this.state);
this.enterRule(localctx, 14, SmalltalkParser.RULE_expressions);
try {
this.enterOuterAlt(localctx, 1);
this.state = 158;
this.expression();
this.state = 162;
this._errHandler.sync(this);
var _alt = this._interp.adaptivePredict(this._input,8,this._ctx)
while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) {
if(_alt===1) {
this.state = 159;
this.expressionList();
}
this.state = 164;
this._errHandler.sync(this);