UNPKG

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
// @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);