Source code for pyfcstm.dsl.grammar.GrammarParser

# Generated from ./pyfcstm/dsl/grammar/Grammar.g4 by ANTLR 4.9.3
# encoding: utf-8
from antlr4 import *
from io import StringIO
import sys

if sys.version_info[1] > 5:
    from typing import TextIO
else:
    from typing.io import TextIO


[docs] def serializedATN(): with StringIO() as buf: buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3G") buf.write("\u025e\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7") buf.write("\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t\13\4\f\t\f\4\r\t\r\4\16") buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22\4\23\t\23") buf.write("\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31") buf.write("\t\31\4\32\t\32\4\33\t\33\4\34\t\34\4\35\t\35\4\36\t\36") buf.write("\3\2\3\2\3\2\3\3\7\3A\n\3\f\3\16\3D\13\3\3\3\3\3\3\3\3") buf.write("\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\5\5Q\n\5\3\5\3\5\3\5\3") buf.write("\5\5\5W\n\5\3\5\3\5\5\5[\n\5\3\5\3\5\3\5\3\5\5\5a\n\5") buf.write("\3\5\3\5\7\5e\n\5\f\5\16\5h\13\5\3\5\5\5k\n\5\3\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6y\n\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\5\6\u0081\n\6\3\6\3\6\3\6\3\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6\u0091\n\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\5\6\u0099\n\6\3\6\3\6\3\6\3\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\5\6\u00a9\n\6\3\6") buf.write("\3\6\3\6\3\6\3\6\3\6\5\6\u00b1\n\6\5\6\u00b3\n\6\3\7\3") buf.write("\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7") buf.write("\5\7\u00c4\n\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7") buf.write("\3\7\3\7\3\7\3\7\3\7\3\7\5\7\u00d6\n\7\3\7\3\7\3\7\3\7") buf.write("\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\5\7\u00e6\n\7") buf.write("\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3") buf.write("\7\5\7\u00f6\n\7\3\7\5\7\u00f9\n\7\3\b\3\b\5\b\u00fd\n") buf.write("\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\5\b\u010a") buf.write("\n\b\3\b\3\b\3\b\5\b\u010f\n\b\3\b\3\b\3\b\3\b\5\b\u0115") buf.write("\n\b\3\t\3\t\5\t\u0119\n\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t") buf.write("\3\t\3\t\3\t\3\t\5\t\u0126\n\t\3\t\3\t\3\t\5\t\u012b\n") buf.write("\t\3\t\3\t\3\t\3\t\5\t\u0131\n\t\3\n\3\n\5\n\u0135\n\n") buf.write("\3\n\5\n\u0138\n\n\3\n\3\n\3\n\3\n\3\n\3\n\5\n\u0140\n") buf.write("\n\3\n\3\n\3\n\3\n\3\n\5\n\u0147\n\n\3\n\3\n\5\n\u014b") buf.write("\n\n\3\n\3\n\3\n\5\n\u0150\n\n\3\n\5\n\u0153\n\n\3\n\3") buf.write("\n\3\n\3\n\5\n\u0159\n\n\3\13\3\13\3\13\3\13\5\13\u015f") buf.write("\n\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13") buf.write("\3\13\3\13\3\13\3\13\3\13\5\13\u0170\n\13\3\13\3\13\3") buf.write("\13\3\13\3\13\5\13\u0177\n\13\3\13\3\13\3\13\3\13\5\13") buf.write("\u017d\n\13\3\f\3\f\3\f\3\f\5\f\u0183\n\f\3\f\3\f\3\r") buf.write("\3\r\3\r\3\r\3\r\3\16\3\16\5\16\u018e\n\16\3\17\7\17\u0191") buf.write("\n\17\f\17\16\17\u0194\13\17\3\20\3\20\3\20\3\20\3\20") buf.write("\3\20\3\20\3\20\3\20\5\20\u019f\n\20\3\21\7\21\u01a2\n") buf.write("\21\f\21\16\21\u01a5\13\21\3\21\3\21\3\22\7\22\u01aa\n") buf.write("\22\f\22\16\22\u01ad\13\22\3\22\3\22\3\23\3\23\5\23\u01b3") buf.write("\n\23\3\24\3\24\3\24\3\24\3\24\3\25\3\25\3\25\3\25\3\25") buf.write("\3\26\3\26\3\26\3\26\3\26\3\27\3\27\5\27\u01c6\n\27\3") buf.write("\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30") buf.write("\3\30\3\30\3\30\5\30\u01d6\n\30\3\30\3\30\3\30\3\30\3") buf.write("\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30\3\30") buf.write("\3\30\3\30\3\30\3\30\3\30\3\30\7\30\u01ed\n\30\f\30\16") buf.write("\30\u01f0\13\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31") buf.write("\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31") buf.write("\3\31\3\31\3\31\3\31\5\31\u0209\n\31\3\31\3\31\3\31\3") buf.write("\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3\31") buf.write("\3\31\3\31\3\31\3\31\3\31\3\31\3\31\7\31\u0220\n\31\f") buf.write("\31\16\31\u0223\13\31\3\32\3\32\3\32\3\32\3\32\3\32\3") buf.write("\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32") buf.write("\3\32\3\32\3\32\3\32\3\32\3\32\3\32\5\32\u023d\n\32\3") buf.write("\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\3\32\7\32\u0248") buf.write("\n\32\f\32\16\32\u024b\13\32\3\33\3\33\3\34\3\34\3\35") buf.write("\3\35\3\36\5\36\u0254\n\36\3\36\3\36\3\36\7\36\u0259\n") buf.write("\36\f\36\16\36\u025c\13\36\3\36\2\5.\60\62\37\2\4\6\b") buf.write('\n\f\16\20\22\24\26\30\32\34\36 "$&(*,.\60\62\64\668') buf.write(":\2\20\3\2\4\5\3\2\17\20\3\2\34\35\3\2#$\4\2\26\26&'") buf.write("\4\2\36\36((\4\2\25\25--\3\2.\61\3\2\62\63\3\2\64\65\3") buf.write("\2\66\67\3\2<>\3\2?@\3\28:\2\u02ae\2<\3\2\2\2\4B\3\2\2") buf.write("\2\6H\3\2\2\2\bj\3\2\2\2\n\u00b2\3\2\2\2\f\u00f8\3\2\2") buf.write("\2\16\u0114\3\2\2\2\20\u0130\3\2\2\2\22\u0158\3\2\2\2") buf.write("\24\u017c\3\2\2\2\26\u017e\3\2\2\2\30\u0186\3\2\2\2\32") buf.write("\u018d\3\2\2\2\34\u0192\3\2\2\2\36\u019e\3\2\2\2 \u01a3") buf.write('\3\2\2\2"\u01ab\3\2\2\2$\u01b2\3\2\2\2&\u01b4\3\2\2\2') buf.write("(\u01b9\3\2\2\2*\u01be\3\2\2\2,\u01c5\3\2\2\2.\u01d5\3") buf.write("\2\2\2\60\u0208\3\2\2\2\62\u023c\3\2\2\2\64\u024c\3\2") buf.write("\2\2\66\u024e\3\2\2\28\u0250\3\2\2\2:\u0253\3\2\2\2<=") buf.write("\5\62\32\2=>\7\2\2\3>\3\3\2\2\2?A\5\6\4\2@?\3\2\2\2AD") buf.write("\3\2\2\2B@\3\2\2\2BC\3\2\2\2CE\3\2\2\2DB\3\2\2\2EF\5\b") buf.write("\5\2FG\7\2\2\3G\5\3\2\2\2HI\7\3\2\2IJ\t\2\2\2JK\7B\2\2") buf.write("KL\7\6\2\2LM\5.\30\2MN\7\7\2\2N\7\3\2\2\2OQ\7\b\2\2PO") buf.write("\3\2\2\2PQ\3\2\2\2QR\3\2\2\2RS\7\t\2\2SV\7B\2\2TU\7\n") buf.write("\2\2UW\7C\2\2VT\3\2\2\2VW\3\2\2\2WX\3\2\2\2Xk\7\7\2\2") buf.write("Y[\7\b\2\2ZY\3\2\2\2Z[\3\2\2\2[\\\3\2\2\2\\]\7\t\2\2]") buf.write("`\7B\2\2^_\7\n\2\2_a\7C\2\2`^\3\2\2\2`a\3\2\2\2ab\3\2") buf.write("\2\2bf\7\13\2\2ce\5\36\20\2dc\3\2\2\2eh\3\2\2\2fd\3\2") buf.write("\2\2fg\3\2\2\2gi\3\2\2\2hf\3\2\2\2ik\7\f\2\2jP\3\2\2\2") buf.write("jZ\3\2\2\2k\t\3\2\2\2lm\7\r\2\2mn\7\16\2\2nx\7B\2\2oy") buf.write("\3\2\2\2pq\t\3\2\2qy\5:\36\2rs\7\17\2\2st\7\21\2\2tu\7") buf.write("\22\2\2uv\5\62\32\2vw\7\23\2\2wy\3\2\2\2xo\3\2\2\2xp\3") buf.write("\2\2\2xr\3\2\2\2y\u0080\3\2\2\2z\u0081\7\7\2\2{|\7\24") buf.write("\2\2|}\7\13\2\2}~\5\34\17\2~\177\7\f\2\2\177\u0081\3\2") buf.write("\2\2\u0080z\3\2\2\2\u0080{\3\2\2\2\u0081\u00b3\3\2\2\2") buf.write("\u0082\u0083\7B\2\2\u0083\u0084\7\16\2\2\u0084\u0090\7") buf.write("B\2\2\u0085\u0091\3\2\2\2\u0086\u0087\7\20\2\2\u0087\u0091") buf.write("\7B\2\2\u0088\u0089\7\17\2\2\u0089\u0091\5:\36\2\u008a") buf.write("\u008b\7\17\2\2\u008b\u008c\7\21\2\2\u008c\u008d\7\22") buf.write("\2\2\u008d\u008e\5\62\32\2\u008e\u008f\7\23\2\2\u008f") buf.write("\u0091\3\2\2\2\u0090\u0085\3\2\2\2\u0090\u0086\3\2\2\2") buf.write("\u0090\u0088\3\2\2\2\u0090\u008a\3\2\2\2\u0091\u0098\3") buf.write("\2\2\2\u0092\u0099\7\7\2\2\u0093\u0094\7\24\2\2\u0094") buf.write("\u0095\7\13\2\2\u0095\u0096\5\34\17\2\u0096\u0097\7\f") buf.write("\2\2\u0097\u0099\3\2\2\2\u0098\u0092\3\2\2\2\u0098\u0093") buf.write("\3\2\2\2\u0099\u00b3\3\2\2\2\u009a\u009b\7B\2\2\u009b") buf.write("\u009c\7\16\2\2\u009c\u00a8\7\r\2\2\u009d\u00a9\3\2\2") buf.write("\2\u009e\u009f\7\20\2\2\u009f\u00a9\7B\2\2\u00a0\u00a1") buf.write("\7\17\2\2\u00a1\u00a9\5:\36\2\u00a2\u00a3\7\17\2\2\u00a3") buf.write("\u00a4\7\21\2\2\u00a4\u00a5\7\22\2\2\u00a5\u00a6\5\62") buf.write("\32\2\u00a6\u00a7\7\23\2\2\u00a7\u00a9\3\2\2\2\u00a8\u009d") buf.write("\3\2\2\2\u00a8\u009e\3\2\2\2\u00a8\u00a0\3\2\2\2\u00a8") buf.write("\u00a2\3\2\2\2\u00a9\u00b0\3\2\2\2\u00aa\u00b1\7\7\2\2") buf.write("\u00ab\u00ac\7\24\2\2\u00ac\u00ad\7\13\2\2\u00ad\u00ae") buf.write("\5\34\17\2\u00ae\u00af\7\f\2\2\u00af\u00b1\3\2\2\2\u00b0") buf.write("\u00aa\3\2\2\2\u00b0\u00ab\3\2\2\2\u00b1\u00b3\3\2\2\2") buf.write("\u00b2l\3\2\2\2\u00b2\u0082\3\2\2\2\u00b2\u009a\3\2\2") buf.write("\2\u00b3\13\3\2\2\2\u00b4\u00b5\7\25\2\2\u00b5\u00b6\7") buf.write("B\2\2\u00b6\u00b7\7\16\2\2\u00b7\u00c3\7B\2\2\u00b8\u00c4") buf.write("\3\2\2\2\u00b9\u00ba\7\20\2\2\u00ba\u00c4\7B\2\2\u00bb") buf.write("\u00bc\7\17\2\2\u00bc\u00c4\5:\36\2\u00bd\u00be\7\17\2") buf.write("\2\u00be\u00bf\7\21\2\2\u00bf\u00c0\7\22\2\2\u00c0\u00c1") buf.write("\5\62\32\2\u00c1\u00c2\7\23\2\2\u00c2\u00c4\3\2\2\2\u00c3") buf.write("\u00b8\3\2\2\2\u00c3\u00b9\3\2\2\2\u00c3\u00bb\3\2\2\2") buf.write("\u00c3\u00bd\3\2\2\2\u00c4\u00c5\3\2\2\2\u00c5\u00f9\7") buf.write("\7\2\2\u00c6\u00c7\7\25\2\2\u00c7\u00c8\7B\2\2\u00c8\u00c9") buf.write("\7\16\2\2\u00c9\u00d5\7\r\2\2\u00ca\u00d6\3\2\2\2\u00cb") buf.write("\u00cc\7\20\2\2\u00cc\u00d6\7B\2\2\u00cd\u00ce\7\17\2") buf.write("\2\u00ce\u00d6\5:\36\2\u00cf\u00d0\7\17\2\2\u00d0\u00d1") buf.write("\7\21\2\2\u00d1\u00d2\7\22\2\2\u00d2\u00d3\5\62\32\2\u00d3") buf.write("\u00d4\7\23\2\2\u00d4\u00d6\3\2\2\2\u00d5\u00ca\3\2\2") buf.write("\2\u00d5\u00cb\3\2\2\2\u00d5\u00cd\3\2\2\2\u00d5\u00cf") buf.write("\3\2\2\2\u00d6\u00d7\3\2\2\2\u00d7\u00f9\7\7\2\2\u00d8") buf.write("\u00d9\7\25\2\2\u00d9\u00da\7\26\2\2\u00da\u00db\7\16") buf.write("\2\2\u00db\u00e5\7B\2\2\u00dc\u00e6\3\2\2\2\u00dd\u00de") buf.write("\t\3\2\2\u00de\u00e6\5:\36\2\u00df\u00e0\7\17\2\2\u00e0") buf.write("\u00e1\7\21\2\2\u00e1\u00e2\7\22\2\2\u00e2\u00e3\5\62") buf.write("\32\2\u00e3\u00e4\7\23\2\2\u00e4\u00e6\3\2\2\2\u00e5\u00dc") buf.write("\3\2\2\2\u00e5\u00dd\3\2\2\2\u00e5\u00df\3\2\2\2\u00e6") buf.write("\u00e7\3\2\2\2\u00e7\u00f9\7\7\2\2\u00e8\u00e9\7\25\2") buf.write("\2\u00e9\u00ea\7\26\2\2\u00ea\u00eb\7\16\2\2\u00eb\u00f5") buf.write("\7\r\2\2\u00ec\u00f6\3\2\2\2\u00ed\u00ee\t\3\2\2\u00ee") buf.write("\u00f6\5:\36\2\u00ef\u00f0\7\17\2\2\u00f0\u00f1\7\21\2") buf.write("\2\u00f1\u00f2\7\22\2\2\u00f2\u00f3\5\62\32\2\u00f3\u00f4") buf.write("\7\23\2\2\u00f4\u00f6\3\2\2\2\u00f5\u00ec\3\2\2\2\u00f5") buf.write("\u00ed\3\2\2\2\u00f5\u00ef\3\2\2\2\u00f6\u00f7\3\2\2\2") buf.write("\u00f7\u00f9\7\7\2\2\u00f8\u00b4\3\2\2\2\u00f8\u00c6\3") buf.write("\2\2\2\u00f8\u00d8\3\2\2\2\u00f8\u00e8\3\2\2\2\u00f9\r") buf.write("\3\2\2\2\u00fa\u00fc\7\27\2\2\u00fb\u00fd\7B\2\2\u00fc") buf.write("\u00fb\3\2\2\2\u00fc\u00fd\3\2\2\2\u00fd\u00fe\3\2\2\2") buf.write("\u00fe\u00ff\7\13\2\2\u00ff\u0100\5\34\17\2\u0100\u0101") buf.write("\7\f\2\2\u0101\u0115\3\2\2\2\u0102\u0103\7\27\2\2\u0103") buf.write("\u0104\7\30\2\2\u0104\u0105\7B\2\2\u0105\u0115\7\7\2\2") buf.write("\u0106\u0107\7\27\2\2\u0107\u0109\7\30\2\2\u0108\u010a") buf.write("\7B\2\2\u0109\u0108\3\2\2\2\u0109\u010a\3\2\2\2\u010a") buf.write("\u010b\3\2\2\2\u010b\u0115\7E\2\2\u010c\u010e\7\27\2\2") buf.write("\u010d\u010f\7B\2\2\u010e\u010d\3\2\2\2\u010e\u010f\3") buf.write("\2\2\2\u010f\u0110\3\2\2\2\u0110\u0111\7\31\2\2\u0111") buf.write("\u0112\5:\36\2\u0112\u0113\7\7\2\2\u0113\u0115\3\2\2\2") buf.write("\u0114\u00fa\3\2\2\2\u0114\u0102\3\2\2\2\u0114\u0106\3") buf.write("\2\2\2\u0114\u010c\3\2\2\2\u0115\17\3\2\2\2\u0116\u0118") buf.write("\7\32\2\2\u0117\u0119\7B\2\2\u0118\u0117\3\2\2\2\u0118") buf.write("\u0119\3\2\2\2\u0119\u011a\3\2\2\2\u011a\u011b\7\13\2") buf.write("\2\u011b\u011c\5\34\17\2\u011c\u011d\7\f\2\2\u011d\u0131") buf.write("\3\2\2\2\u011e\u011f\7\32\2\2\u011f\u0120\7\30\2\2\u0120") buf.write("\u0121\7B\2\2\u0121\u0131\7\7\2\2\u0122\u0123\7\32\2\2") buf.write("\u0123\u0125\7\30\2\2\u0124\u0126\7B\2\2\u0125\u0124\3") buf.write("\2\2\2\u0125\u0126\3\2\2\2\u0126\u0127\3\2\2\2\u0127\u0131") buf.write("\7E\2\2\u0128\u012a\7\32\2\2\u0129\u012b\7B\2\2\u012a") buf.write("\u0129\3\2\2\2\u012a\u012b\3\2\2\2\u012b\u012c\3\2\2\2") buf.write("\u012c\u012d\7\31\2\2\u012d\u012e\5:\36\2\u012e\u012f") buf.write("\7\7\2\2\u012f\u0131\3\2\2\2\u0130\u0116\3\2\2\2\u0130") buf.write("\u011e\3\2\2\2\u0130\u0122\3\2\2\2\u0130\u0128\3\2\2\2") buf.write("\u0131\21\3\2\2\2\u0132\u0134\7\33\2\2\u0133\u0135\t\4") buf.write("\2\2\u0134\u0133\3\2\2\2\u0134\u0135\3\2\2\2\u0135\u0137") buf.write("\3\2\2\2\u0136\u0138\7B\2\2\u0137\u0136\3\2\2\2\u0137") buf.write("\u0138\3\2\2\2\u0138\u0139\3\2\2\2\u0139\u013a\7\13\2") buf.write("\2\u013a\u013b\5\34\17\2\u013b\u013c\7\f\2\2\u013c\u0159") buf.write("\3\2\2\2\u013d\u013f\7\33\2\2\u013e\u0140\t\4\2\2\u013f") buf.write("\u013e\3\2\2\2\u013f\u0140\3\2\2\2\u0140\u0141\3\2\2\2") buf.write("\u0141\u0142\7\30\2\2\u0142\u0143\7B\2\2\u0143\u0159\7") buf.write("\7\2\2\u0144\u0146\7\33\2\2\u0145\u0147\t\4\2\2\u0146") buf.write("\u0145\3\2\2\2\u0146\u0147\3\2\2\2\u0147\u0148\3\2\2\2") buf.write("\u0148\u014a\7\30\2\2\u0149\u014b\7B\2\2\u014a\u0149\3") buf.write("\2\2\2\u014a\u014b\3\2\2\2\u014b\u014c\3\2\2\2\u014c\u0159") buf.write("\7E\2\2\u014d\u014f\7\33\2\2\u014e\u0150\t\4\2\2\u014f") buf.write("\u014e\3\2\2\2\u014f\u0150\3\2\2\2\u0150\u0152\3\2\2\2") buf.write("\u0151\u0153\7B\2\2\u0152\u0151\3\2\2\2\u0152\u0153\3") buf.write("\2\2\2\u0153\u0154\3\2\2\2\u0154\u0155\7\31\2\2\u0155") buf.write("\u0156\5:\36\2\u0156\u0157\7\7\2\2\u0157\u0159\3\2\2\2") buf.write("\u0158\u0132\3\2\2\2\u0158\u013d\3\2\2\2\u0158\u0144\3") buf.write("\2\2\2\u0158\u014d\3\2\2\2\u0159\23\3\2\2\2\u015a\u015b") buf.write("\7\36\2\2\u015b\u015c\7\33\2\2\u015c\u015e\t\4\2\2\u015d") buf.write("\u015f\7B\2\2\u015e\u015d\3\2\2\2\u015e\u015f\3\2\2\2") buf.write("\u015f\u0160\3\2\2\2\u0160\u0161\7\13\2\2\u0161\u0162") buf.write("\5\34\17\2\u0162\u0163\7\f\2\2\u0163\u017d\3\2\2\2\u0164") buf.write("\u0165\7\36\2\2\u0165\u0166\7\33\2\2\u0166\u0167\t\4\2") buf.write("\2\u0167\u0168\7\30\2\2\u0168\u0169\7B\2\2\u0169\u017d") buf.write("\7\7\2\2\u016a\u016b\7\36\2\2\u016b\u016c\7\33\2\2\u016c") buf.write("\u016d\t\4\2\2\u016d\u016f\7\30\2\2\u016e\u0170\7B\2\2") buf.write("\u016f\u016e\3\2\2\2\u016f\u0170\3\2\2\2\u0170\u0171\3") buf.write("\2\2\2\u0171\u017d\7E\2\2\u0172\u0173\7\36\2\2\u0173\u0174") buf.write("\7\33\2\2\u0174\u0176\t\4\2\2\u0175\u0177\7B\2\2\u0176") buf.write("\u0175\3\2\2\2\u0176\u0177\3\2\2\2\u0177\u0178\3\2\2\2") buf.write("\u0178\u0179\7\31\2\2\u0179\u017a\5:\36\2\u017a\u017b") buf.write("\7\7\2\2\u017b\u017d\3\2\2\2\u017c\u015a\3\2\2\2\u017c") buf.write("\u0164\3\2\2\2\u017c\u016a\3\2\2\2\u017c\u0172\3\2\2\2") buf.write("\u017d\25\3\2\2\2\u017e\u017f\7\37\2\2\u017f\u0182\7B") buf.write("\2\2\u0180\u0181\7\n\2\2\u0181\u0183\7C\2\2\u0182\u0180") buf.write("\3\2\2\2\u0182\u0183\3\2\2\2\u0183\u0184\3\2\2\2\u0184") buf.write("\u0185\7\7\2\2\u0185\27\3\2\2\2\u0186\u0187\7B\2\2\u0187") buf.write("\u0188\7\6\2\2\u0188\u0189\5\60\31\2\u0189\u018a\7\7\2") buf.write("\2\u018a\31\3\2\2\2\u018b\u018e\5\30\r\2\u018c\u018e\7") buf.write("\7\2\2\u018d\u018b\3\2\2\2\u018d\u018c\3\2\2\2\u018e\33") buf.write("\3\2\2\2\u018f\u0191\5\32\16\2\u0190\u018f\3\2\2\2\u0191") buf.write("\u0194\3\2\2\2\u0192\u0190\3\2\2\2\u0192\u0193\3\2\2\2") buf.write("\u0193\35\3\2\2\2\u0194\u0192\3\2\2\2\u0195\u019f\5\b") buf.write("\5\2\u0196\u019f\5\n\6\2\u0197\u019f\5\f\7\2\u0198\u019f") buf.write("\5\16\b\2\u0199\u019f\5\22\n\2\u019a\u019f\5\20\t\2\u019b") buf.write("\u019f\5\24\13\2\u019c\u019f\5\26\f\2\u019d\u019f\7\7") buf.write("\2\2\u019e\u0195\3\2\2\2\u019e\u0196\3\2\2\2\u019e\u0197") buf.write("\3\2\2\2\u019e\u0198\3\2\2\2\u019e\u0199\3\2\2\2\u019e") buf.write("\u019a\3\2\2\2\u019e\u019b\3\2\2\2\u019e\u019c\3\2\2\2") buf.write("\u019e\u019d\3\2\2\2\u019f\37\3\2\2\2\u01a0\u01a2\5*\26") buf.write("\2\u01a1\u01a0\3\2\2\2\u01a2\u01a5\3\2\2\2\u01a3\u01a1") buf.write("\3\2\2\2\u01a3\u01a4\3\2\2\2\u01a4\u01a6\3\2\2\2\u01a5") buf.write("\u01a3\3\2\2\2\u01a6\u01a7\7\2\2\3\u01a7!\3\2\2\2\u01a8") buf.write("\u01aa\5$\23\2\u01a9\u01a8\3\2\2\2\u01aa\u01ad\3\2\2\2") buf.write("\u01ab\u01a9\3\2\2\2\u01ab\u01ac\3\2\2\2\u01ac\u01ae\3") buf.write("\2\2\2\u01ad\u01ab\3\2\2\2\u01ae\u01af\7\2\2\3\u01af#") buf.write("\3\2\2\2\u01b0\u01b3\5&\24\2\u01b1\u01b3\5(\25\2\u01b2") buf.write("\u01b0\3\2\2\2\u01b2\u01b1\3\2\2\2\u01b3%\3\2\2\2\u01b4") buf.write("\u01b5\7B\2\2\u01b5\u01b6\7 \2\2\u01b6\u01b7\5.\30\2\u01b7") buf.write("\u01b8\7\7\2\2\u01b8'\3\2\2\2\u01b9\u01ba\7B\2\2\u01ba") buf.write("\u01bb\7\6\2\2\u01bb\u01bc\5.\30\2\u01bc\u01bd\7\7\2\2") buf.write("\u01bd)\3\2\2\2\u01be\u01bf\7B\2\2\u01bf\u01c0\7 \2\2") buf.write("\u01c0\u01c1\5\60\31\2\u01c1\u01c2\7\7\2\2\u01c2+\3\2") buf.write("\2\2\u01c3\u01c6\5\60\31\2\u01c4\u01c6\5\62\32\2\u01c5") buf.write("\u01c3\3\2\2\2\u01c5\u01c4\3\2\2\2\u01c6-\3\2\2\2\u01c7") buf.write("\u01c8\b\30\1\2\u01c8\u01c9\7!\2\2\u01c9\u01ca\5.\30\2") buf.write('\u01ca\u01cb\7"\2\2\u01cb\u01d6\3\2\2\2\u01cc\u01d6\5') buf.write("\64\33\2\u01cd\u01d6\58\35\2\u01ce\u01cf\t\5\2\2\u01cf") buf.write("\u01d6\5.\30\13\u01d0\u01d1\7A\2\2\u01d1\u01d2\7!\2\2") buf.write('\u01d2\u01d3\5.\30\2\u01d3\u01d4\7"\2\2\u01d4\u01d6\3') buf.write("\2\2\2\u01d5\u01c7\3\2\2\2\u01d5\u01cc\3\2\2\2\u01d5\u01cd") buf.write("\3\2\2\2\u01d5\u01ce\3\2\2\2\u01d5\u01d0\3\2\2\2\u01d6") buf.write("\u01ee\3\2\2\2\u01d7\u01d8\f\n\2\2\u01d8\u01d9\7%\2\2") buf.write("\u01d9\u01ed\5.\30\n\u01da\u01db\f\t\2\2\u01db\u01dc\t") buf.write("\6\2\2\u01dc\u01ed\5.\30\n\u01dd\u01de\f\b\2\2\u01de\u01df") buf.write("\t\5\2\2\u01df\u01ed\5.\30\t\u01e0\u01e1\f\7\2\2\u01e1") buf.write("\u01e2\t\7\2\2\u01e2\u01ed\5.\30\b\u01e3\u01e4\f\6\2\2") buf.write("\u01e4\u01e5\7)\2\2\u01e5\u01ed\5.\30\7\u01e6\u01e7\f") buf.write("\5\2\2\u01e7\u01e8\7*\2\2\u01e8\u01ed\5.\30\6\u01e9\u01ea") buf.write("\f\4\2\2\u01ea\u01eb\7+\2\2\u01eb\u01ed\5.\30\5\u01ec") buf.write("\u01d7\3\2\2\2\u01ec\u01da\3\2\2\2\u01ec\u01dd\3\2\2\2") buf.write("\u01ec\u01e0\3\2\2\2\u01ec\u01e3\3\2\2\2\u01ec\u01e6\3") buf.write("\2\2\2\u01ec\u01e9\3\2\2\2\u01ed\u01f0\3\2\2\2\u01ee\u01ec") buf.write("\3\2\2\2\u01ee\u01ef\3\2\2\2\u01ef/\3\2\2\2\u01f0\u01ee") buf.write("\3\2\2\2\u01f1\u01f2\b\31\1\2\u01f2\u01f3\7!\2\2\u01f3") buf.write('\u01f4\5\60\31\2\u01f4\u01f5\7"\2\2\u01f5\u0209\3\2\2') buf.write("\2\u01f6\u0209\5\64\33\2\u01f7\u0209\7B\2\2\u01f8\u0209") buf.write("\58\35\2\u01f9\u01fa\t\5\2\2\u01fa\u0209\5\60\31\f\u01fb") buf.write("\u01fc\7A\2\2\u01fc\u01fd\7!\2\2\u01fd\u01fe\5\60\31\2") buf.write('\u01fe\u01ff\7"\2\2\u01ff\u0209\3\2\2\2\u0200\u0201\7') buf.write('!\2\2\u0201\u0202\5\62\32\2\u0202\u0203\7"\2\2\u0203') buf.write("\u0204\7,\2\2\u0204\u0205\5\60\31\2\u0205\u0206\7\17\2") buf.write("\2\u0206\u0207\5\60\31\3\u0207\u0209\3\2\2\2\u0208\u01f1") buf.write("\3\2\2\2\u0208\u01f6\3\2\2\2\u0208\u01f7\3\2\2\2\u0208") buf.write("\u01f8\3\2\2\2\u0208\u01f9\3\2\2\2\u0208\u01fb\3\2\2\2") buf.write("\u0208\u0200\3\2\2\2\u0209\u0221\3\2\2\2\u020a\u020b\f") buf.write("\13\2\2\u020b\u020c\7%\2\2\u020c\u0220\5\60\31\13\u020d") buf.write("\u020e\f\n\2\2\u020e\u020f\t\6\2\2\u020f\u0220\5\60\31") buf.write("\13\u0210\u0211\f\t\2\2\u0211\u0212\t\5\2\2\u0212\u0220") buf.write("\5\60\31\n\u0213\u0214\f\b\2\2\u0214\u0215\t\7\2\2\u0215") buf.write("\u0220\5\60\31\t\u0216\u0217\f\7\2\2\u0217\u0218\7)\2") buf.write("\2\u0218\u0220\5\60\31\b\u0219\u021a\f\6\2\2\u021a\u021b") buf.write("\7*\2\2\u021b\u0220\5\60\31\7\u021c\u021d\f\5\2\2\u021d") buf.write("\u021e\7+\2\2\u021e\u0220\5\60\31\6\u021f\u020a\3\2\2") buf.write("\2\u021f\u020d\3\2\2\2\u021f\u0210\3\2\2\2\u021f\u0213") buf.write("\3\2\2\2\u021f\u0216\3\2\2\2\u021f\u0219\3\2\2\2\u021f") buf.write("\u021c\3\2\2\2\u0220\u0223\3\2\2\2\u0221\u021f\3\2\2\2") buf.write("\u0221\u0222\3\2\2\2\u0222\61\3\2\2\2\u0223\u0221\3\2") buf.write("\2\2\u0224\u0225\b\32\1\2\u0225\u0226\7!\2\2\u0226\u0227") buf.write('\5\62\32\2\u0227\u0228\7"\2\2\u0228\u023d\3\2\2\2\u0229') buf.write("\u023d\5\66\34\2\u022a\u022b\t\b\2\2\u022b\u023d\5\62") buf.write("\32\t\u022c\u022d\5\60\31\2\u022d\u022e\t\t\2\2\u022e") buf.write("\u022f\5\60\31\2\u022f\u023d\3\2\2\2\u0230\u0231\5\60") buf.write("\31\2\u0231\u0232\t\n\2\2\u0232\u0233\5\60\31\2\u0233") buf.write("\u023d\3\2\2\2\u0234\u0235\7!\2\2\u0235\u0236\5\62\32") buf.write('\2\u0236\u0237\7"\2\2\u0237\u0238\7,\2\2\u0238\u0239') buf.write("\5\62\32\2\u0239\u023a\7\17\2\2\u023a\u023b\5\62\32\3") buf.write("\u023b\u023d\3\2\2\2\u023c\u0224\3\2\2\2\u023c\u0229\3") buf.write("\2\2\2\u023c\u022a\3\2\2\2\u023c\u022c\3\2\2\2\u023c\u0230") buf.write("\3\2\2\2\u023c\u0234\3\2\2\2\u023d\u0249\3\2\2\2\u023e") buf.write("\u023f\f\6\2\2\u023f\u0240\t\n\2\2\u0240\u0248\5\62\32") buf.write("\7\u0241\u0242\f\5\2\2\u0242\u0243\t\13\2\2\u0243\u0248") buf.write("\5\62\32\6\u0244\u0245\f\4\2\2\u0245\u0246\t\f\2\2\u0246") buf.write("\u0248\5\62\32\5\u0247\u023e\3\2\2\2\u0247\u0241\3\2\2") buf.write("\2\u0247\u0244\3\2\2\2\u0248\u024b\3\2\2\2\u0249\u0247") buf.write("\3\2\2\2\u0249\u024a\3\2\2\2\u024a\63\3\2\2\2\u024b\u0249") buf.write("\3\2\2\2\u024c\u024d\t\r\2\2\u024d\65\3\2\2\2\u024e\u024f") buf.write("\t\16\2\2\u024f\67\3\2\2\2\u0250\u0251\t\17\2\2\u0251") buf.write("9\3\2\2\2\u0252\u0254\7&\2\2\u0253\u0252\3\2\2\2\u0253") buf.write("\u0254\3\2\2\2\u0254\u0255\3\2\2\2\u0255\u025a\7B\2\2") buf.write("\u0256\u0257\7;\2\2\u0257\u0259\7B\2\2\u0258\u0256\3\2") buf.write("\2\2\u0259\u025c\3\2\2\2\u025a\u0258\3\2\2\2\u025a\u025b") buf.write("\3\2\2\2\u025b;\3\2\2\2\u025c\u025a\3\2\2\2<BPVZ`fjx\u0080") buf.write("\u0090\u0098\u00a8\u00b0\u00b2\u00c3\u00d5\u00e5\u00f5") buf.write("\u00f8\u00fc\u0109\u010e\u0114\u0118\u0125\u012a\u0130") buf.write("\u0134\u0137\u013f\u0146\u014a\u014f\u0152\u0158\u015e") buf.write("\u016f\u0176\u017c\u0182\u018d\u0192\u019e\u01a3\u01ab") buf.write("\u01b2\u01c5\u01d5\u01ec\u01ee\u0208\u021f\u0221\u023c") buf.write("\u0247\u0249\u0253\u025a") return buf.getvalue()
[docs] class GrammarParser(Parser): grammarFileName = "Grammar.g4" atn = ATNDeserializer().deserialize(serializedATN()) decisionsToDFA = [DFA(ds, i) for i, ds in enumerate(atn.decisionToState)] sharedContextCache = PredictionContextCache() literalNames = [ "<INVALID>", "'def'", "'int'", "'float'", "'='", "';'", "'pseudo'", "'state'", "'named'", "'{'", "'}'", "'[*]'", "'->'", "':'", "'::'", "'if'", "'['", "']'", "'effect'", "'!'", "'*'", "'enter'", "'abstract'", "'ref'", "'exit'", "'during'", "'before'", "'after'", "'>>'", "'event'", "':='", "'('", "')'", "'+'", "'-'", "'**'", "'/'", "'%'", "'<<'", "'&'", "'^'", "'|'", "'?'", "'not'", "'<'", "'>'", "'<='", "'>='", "'=='", "'!='", "'&&'", "'and'", "'||'", "'or'", "'pi'", "'E'", "'tau'", "'.'", ] symbolicNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>", "FLOAT", "INT", "HEX_INT", "TRUE", "FALSE", "UFUNC_NAME", "ID", "STRING", "WS", "MULTILINE_COMMENT", "LINE_COMMENT", "PYTHON_COMMENT", ] RULE_condition = 0 RULE_state_machine_dsl = 1 RULE_def_assignment = 2 RULE_state_definition = 3 RULE_transition_definition = 4 RULE_transition_force_definition = 5 RULE_enter_definition = 6 RULE_exit_definition = 7 RULE_during_definition = 8 RULE_during_aspect_definition = 9 RULE_event_definition = 10 RULE_operation_assignment = 11 RULE_operational_statement = 12 RULE_operational_statement_set = 13 RULE_state_inner_statement = 14 RULE_operation_program = 15 RULE_preamble_program = 16 RULE_preamble_statement = 17 RULE_initial_assignment = 18 RULE_constant_definition = 19 RULE_operational_assignment = 20 RULE_generic_expression = 21 RULE_init_expression = 22 RULE_num_expression = 23 RULE_cond_expression = 24 RULE_num_literal = 25 RULE_bool_literal = 26 RULE_math_const = 27 RULE_chain_id = 28 ruleNames = [ "condition", "state_machine_dsl", "def_assignment", "state_definition", "transition_definition", "transition_force_definition", "enter_definition", "exit_definition", "during_definition", "during_aspect_definition", "event_definition", "operation_assignment", "operational_statement", "operational_statement_set", "state_inner_statement", "operation_program", "preamble_program", "preamble_statement", "initial_assignment", "constant_definition", "operational_assignment", "generic_expression", "init_expression", "num_expression", "cond_expression", "num_literal", "bool_literal", "math_const", "chain_id", ] EOF = Token.EOF T__0 = 1 T__1 = 2 T__2 = 3 T__3 = 4 T__4 = 5 T__5 = 6 T__6 = 7 T__7 = 8 T__8 = 9 T__9 = 10 T__10 = 11 T__11 = 12 T__12 = 13 T__13 = 14 T__14 = 15 T__15 = 16 T__16 = 17 T__17 = 18 T__18 = 19 T__19 = 20 T__20 = 21 T__21 = 22 T__22 = 23 T__23 = 24 T__24 = 25 T__25 = 26 T__26 = 27 T__27 = 28 T__28 = 29 T__29 = 30 T__30 = 31 T__31 = 32 T__32 = 33 T__33 = 34 T__34 = 35 T__35 = 36 T__36 = 37 T__37 = 38 T__38 = 39 T__39 = 40 T__40 = 41 T__41 = 42 T__42 = 43 T__43 = 44 T__44 = 45 T__45 = 46 T__46 = 47 T__47 = 48 T__48 = 49 T__49 = 50 T__50 = 51 T__51 = 52 T__52 = 53 T__53 = 54 T__54 = 55 T__55 = 56 T__56 = 57 FLOAT = 58 INT = 59 HEX_INT = 60 TRUE = 61 FALSE = 62 UFUNC_NAME = 63 ID = 64 STRING = 65 WS = 66 MULTILINE_COMMENT = 67 LINE_COMMENT = 68 PYTHON_COMMENT = 69
[docs] def __init__(self, input: TokenStream, output: TextIO = sys.stdout): super().__init__(input, output) self.checkVersion("4.9.3") self._interp = ParserATNSimulator( self, self.atn, self.decisionsToDFA, self.sharedContextCache ) self._predicates = None
class ConditionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def EOF(self): return self.getToken(GrammarParser.EOF, 0) def getRuleIndex(self): return GrammarParser.RULE_condition def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterCondition"): listener.enterCondition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitCondition"): listener.exitCondition(self) def condition(self): localctx = GrammarParser.ConditionContext(self, self._ctx, self.state) self.enterRule(localctx, 0, self.RULE_condition) try: self.enterOuterAlt(localctx, 1) self.state = 58 self.cond_expression(0) self.state = 59 self.match(GrammarParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class State_machine_dslContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def state_definition(self): return self.getTypedRuleContext(GrammarParser.State_definitionContext, 0) def EOF(self): return self.getToken(GrammarParser.EOF, 0) def def_assignment(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Def_assignmentContext) else: return self.getTypedRuleContext(GrammarParser.Def_assignmentContext, i) def getRuleIndex(self): return GrammarParser.RULE_state_machine_dsl def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterState_machine_dsl"): listener.enterState_machine_dsl(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitState_machine_dsl"): listener.exitState_machine_dsl(self) def state_machine_dsl(self): localctx = GrammarParser.State_machine_dslContext(self, self._ctx, self.state) self.enterRule(localctx, 2, self.RULE_state_machine_dsl) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 64 self._errHandler.sync(self) _la = self._input.LA(1) while _la == GrammarParser.T__0: self.state = 61 self.def_assignment() self.state = 66 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 67 self.state_definition() self.state = 68 self.match(GrammarParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Def_assignmentContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser self.deftype = None # Token def ID(self): return self.getToken(GrammarParser.ID, 0) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_def_assignment def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDef_assignment"): listener.enterDef_assignment(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDef_assignment"): listener.exitDef_assignment(self) def def_assignment(self): localctx = GrammarParser.Def_assignmentContext(self, self._ctx, self.state) self.enterRule(localctx, 4, self.RULE_def_assignment) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 70 self.match(GrammarParser.T__0) self.state = 71 localctx.deftype = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__1 or _la == GrammarParser.T__2): localctx.deftype = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 72 self.match(GrammarParser.ID) self.state = 73 self.match(GrammarParser.T__3) self.state = 74 self.init_expression(0) self.state = 75 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class State_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_state_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class LeafStateDefinitionContext(State_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.State_definitionContext super().__init__(parser) self.pseudo = None # Token self.state_id = None # Token self.extra_name = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def STRING(self): return self.getToken(GrammarParser.STRING, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterLeafStateDefinition"): listener.enterLeafStateDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitLeafStateDefinition"): listener.exitLeafStateDefinition(self) class CompositeStateDefinitionContext(State_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.State_definitionContext super().__init__(parser) self.pseudo = None # Token self.state_id = None # Token self.extra_name = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def state_inner_statement(self, i: int = None): if i is None: return self.getTypedRuleContexts( GrammarParser.State_inner_statementContext ) else: return self.getTypedRuleContext( GrammarParser.State_inner_statementContext, i ) def STRING(self): return self.getToken(GrammarParser.STRING, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterCompositeStateDefinition"): listener.enterCompositeStateDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitCompositeStateDefinition"): listener.exitCompositeStateDefinition(self) def state_definition(self): localctx = GrammarParser.State_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 6, self.RULE_state_definition) self._la = 0 # Token type try: self.state = 104 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 6, self._ctx) if la_ == 1: localctx = GrammarParser.LeafStateDefinitionContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 78 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__5: self.state = 77 localctx.pseudo = self.match(GrammarParser.T__5) self.state = 80 self.match(GrammarParser.T__6) self.state = 81 localctx.state_id = self.match(GrammarParser.ID) self.state = 84 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__7: self.state = 82 self.match(GrammarParser.T__7) self.state = 83 localctx.extra_name = self.match(GrammarParser.STRING) self.state = 86 self.match(GrammarParser.T__4) pass elif la_ == 2: localctx = GrammarParser.CompositeStateDefinitionContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 88 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__5: self.state = 87 localctx.pseudo = self.match(GrammarParser.T__5) self.state = 90 self.match(GrammarParser.T__6) self.state = 91 localctx.state_id = self.match(GrammarParser.ID) self.state = 94 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__7: self.state = 92 self.match(GrammarParser.T__7) self.state = 93 localctx.extra_name = self.match(GrammarParser.STRING) self.state = 96 self.match(GrammarParser.T__8) self.state = 100 self._errHandler.sync(self) _la = self._input.LA(1) while ((_la - 5) & ~0x3F) == 0 and ( (1 << (_la - 5)) & ( (1 << (GrammarParser.T__4 - 5)) | (1 << (GrammarParser.T__5 - 5)) | (1 << (GrammarParser.T__6 - 5)) | (1 << (GrammarParser.T__10 - 5)) | (1 << (GrammarParser.T__18 - 5)) | (1 << (GrammarParser.T__20 - 5)) | (1 << (GrammarParser.T__23 - 5)) | (1 << (GrammarParser.T__24 - 5)) | (1 << (GrammarParser.T__27 - 5)) | (1 << (GrammarParser.T__28 - 5)) | (1 << (GrammarParser.ID - 5)) ) ) != 0: self.state = 97 self.state_inner_statement() self.state = 102 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 103 self.match(GrammarParser.T__9) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Transition_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_transition_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class NormalTransitionDefinitionContext(Transition_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_definitionContext super().__init__(parser) self.from_state = None # Token self.to_state = None # Token self.from_id = None # Token self.copyFrom(ctx) def ID(self, i: int = None): if i is None: return self.getTokens(GrammarParser.ID) else: return self.getToken(GrammarParser.ID, i) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterNormalTransitionDefinition"): listener.enterNormalTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitNormalTransitionDefinition"): listener.exitNormalTransitionDefinition(self) class EntryTransitionDefinitionContext(Transition_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_definitionContext super().__init__(parser) self.to_state = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterEntryTransitionDefinition"): listener.enterEntryTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitEntryTransitionDefinition"): listener.exitEntryTransitionDefinition(self) class ExitTransitionDefinitionContext(Transition_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_definitionContext super().__init__(parser) self.from_state = None # Token self.from_id = None # Token self.copyFrom(ctx) def ID(self, i: int = None): if i is None: return self.getTokens(GrammarParser.ID) else: return self.getToken(GrammarParser.ID, i) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitTransitionDefinition"): listener.enterExitTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitTransitionDefinition"): listener.exitExitTransitionDefinition(self) def transition_definition(self): localctx = GrammarParser.Transition_definitionContext( self, self._ctx, self.state ) self.enterRule(localctx, 8, self.RULE_transition_definition) self._la = 0 # Token type try: self.state = 176 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 13, self._ctx) if la_ == 1: localctx = GrammarParser.EntryTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 1) self.state = 106 self.match(GrammarParser.T__10) self.state = 107 self.match(GrammarParser.T__11) self.state = 108 localctx.to_state = self.match(GrammarParser.ID) self.state = 118 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 7, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 110 _la = self._input.LA(1) if not (_la == GrammarParser.T__12 or _la == GrammarParser.T__13): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 111 self.chain_id() pass elif la_ == 3: self.state = 112 self.match(GrammarParser.T__12) self.state = 113 self.match(GrammarParser.T__14) self.state = 114 self.match(GrammarParser.T__15) self.state = 115 self.cond_expression(0) self.state = 116 self.match(GrammarParser.T__16) pass self.state = 126 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.T__4]: self.state = 120 self.match(GrammarParser.T__4) pass elif token in [GrammarParser.T__17]: self.state = 121 self.match(GrammarParser.T__17) self.state = 122 self.match(GrammarParser.T__8) self.state = 123 self.operational_statement_set() self.state = 124 self.match(GrammarParser.T__9) pass else: raise NoViableAltException(self) pass elif la_ == 2: localctx = GrammarParser.NormalTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 2) self.state = 128 localctx.from_state = self.match(GrammarParser.ID) self.state = 129 self.match(GrammarParser.T__11) self.state = 130 localctx.to_state = self.match(GrammarParser.ID) self.state = 142 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 9, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 132 self.match(GrammarParser.T__13) self.state = 133 localctx.from_id = self.match(GrammarParser.ID) pass elif la_ == 3: self.state = 134 self.match(GrammarParser.T__12) self.state = 135 self.chain_id() pass elif la_ == 4: self.state = 136 self.match(GrammarParser.T__12) self.state = 137 self.match(GrammarParser.T__14) self.state = 138 self.match(GrammarParser.T__15) self.state = 139 self.cond_expression(0) self.state = 140 self.match(GrammarParser.T__16) pass self.state = 150 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.T__4]: self.state = 144 self.match(GrammarParser.T__4) pass elif token in [GrammarParser.T__17]: self.state = 145 self.match(GrammarParser.T__17) self.state = 146 self.match(GrammarParser.T__8) self.state = 147 self.operational_statement_set() self.state = 148 self.match(GrammarParser.T__9) pass else: raise NoViableAltException(self) pass elif la_ == 3: localctx = GrammarParser.ExitTransitionDefinitionContext(self, localctx) self.enterOuterAlt(localctx, 3) self.state = 152 localctx.from_state = self.match(GrammarParser.ID) self.state = 153 self.match(GrammarParser.T__11) self.state = 154 self.match(GrammarParser.T__10) self.state = 166 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 11, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 156 self.match(GrammarParser.T__13) self.state = 157 localctx.from_id = self.match(GrammarParser.ID) pass elif la_ == 3: self.state = 158 self.match(GrammarParser.T__12) self.state = 159 self.chain_id() pass elif la_ == 4: self.state = 160 self.match(GrammarParser.T__12) self.state = 161 self.match(GrammarParser.T__14) self.state = 162 self.match(GrammarParser.T__15) self.state = 163 self.cond_expression(0) self.state = 164 self.match(GrammarParser.T__16) pass self.state = 174 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.T__4]: self.state = 168 self.match(GrammarParser.T__4) pass elif token in [GrammarParser.T__17]: self.state = 169 self.match(GrammarParser.T__17) self.state = 170 self.match(GrammarParser.T__8) self.state = 171 self.operational_statement_set() self.state = 172 self.match(GrammarParser.T__9) pass else: raise NoViableAltException(self) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Transition_force_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_transition_force_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class NormalForceTransitionDefinitionContext(Transition_force_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_force_definitionContext super().__init__(parser) self.from_state = None # Token self.to_state = None # Token self.from_id = None # Token self.copyFrom(ctx) def ID(self, i: int = None): if i is None: return self.getTokens(GrammarParser.ID) else: return self.getToken(GrammarParser.ID, i) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterNormalForceTransitionDefinition"): listener.enterNormalForceTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitNormalForceTransitionDefinition"): listener.exitNormalForceTransitionDefinition(self) class ExitAllForceTransitionDefinitionContext(Transition_force_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_force_definitionContext super().__init__(parser) self.copyFrom(ctx) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitAllForceTransitionDefinition"): listener.enterExitAllForceTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitAllForceTransitionDefinition"): listener.exitExitAllForceTransitionDefinition(self) class NormalAllForceTransitionDefinitionContext(Transition_force_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_force_definitionContext super().__init__(parser) self.to_state = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterNormalAllForceTransitionDefinition"): listener.enterNormalAllForceTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitNormalAllForceTransitionDefinition"): listener.exitNormalAllForceTransitionDefinition(self) class ExitForceTransitionDefinitionContext(Transition_force_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Transition_force_definitionContext super().__init__(parser) self.from_state = None # Token self.from_id = None # Token self.copyFrom(ctx) def ID(self, i: int = None): if i is None: return self.getTokens(GrammarParser.ID) else: return self.getToken(GrammarParser.ID, i) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitForceTransitionDefinition"): listener.enterExitForceTransitionDefinition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitForceTransitionDefinition"): listener.exitExitForceTransitionDefinition(self) def transition_force_definition(self): localctx = GrammarParser.Transition_force_definitionContext( self, self._ctx, self.state ) self.enterRule(localctx, 10, self.RULE_transition_force_definition) self._la = 0 # Token type try: self.state = 246 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 18, self._ctx) if la_ == 1: localctx = GrammarParser.NormalForceTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 1) self.state = 178 self.match(GrammarParser.T__18) self.state = 179 localctx.from_state = self.match(GrammarParser.ID) self.state = 180 self.match(GrammarParser.T__11) self.state = 181 localctx.to_state = self.match(GrammarParser.ID) self.state = 193 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 14, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 183 self.match(GrammarParser.T__13) self.state = 184 localctx.from_id = self.match(GrammarParser.ID) pass elif la_ == 3: self.state = 185 self.match(GrammarParser.T__12) self.state = 186 self.chain_id() pass elif la_ == 4: self.state = 187 self.match(GrammarParser.T__12) self.state = 188 self.match(GrammarParser.T__14) self.state = 189 self.match(GrammarParser.T__15) self.state = 190 self.cond_expression(0) self.state = 191 self.match(GrammarParser.T__16) pass self.state = 195 self.match(GrammarParser.T__4) pass elif la_ == 2: localctx = GrammarParser.ExitForceTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 2) self.state = 196 self.match(GrammarParser.T__18) self.state = 197 localctx.from_state = self.match(GrammarParser.ID) self.state = 198 self.match(GrammarParser.T__11) self.state = 199 self.match(GrammarParser.T__10) self.state = 211 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 15, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 201 self.match(GrammarParser.T__13) self.state = 202 localctx.from_id = self.match(GrammarParser.ID) pass elif la_ == 3: self.state = 203 self.match(GrammarParser.T__12) self.state = 204 self.chain_id() pass elif la_ == 4: self.state = 205 self.match(GrammarParser.T__12) self.state = 206 self.match(GrammarParser.T__14) self.state = 207 self.match(GrammarParser.T__15) self.state = 208 self.cond_expression(0) self.state = 209 self.match(GrammarParser.T__16) pass self.state = 213 self.match(GrammarParser.T__4) pass elif la_ == 3: localctx = GrammarParser.NormalAllForceTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 3) self.state = 214 self.match(GrammarParser.T__18) self.state = 215 self.match(GrammarParser.T__19) self.state = 216 self.match(GrammarParser.T__11) self.state = 217 localctx.to_state = self.match(GrammarParser.ID) self.state = 227 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 16, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 219 _la = self._input.LA(1) if not (_la == GrammarParser.T__12 or _la == GrammarParser.T__13): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 220 self.chain_id() pass elif la_ == 3: self.state = 221 self.match(GrammarParser.T__12) self.state = 222 self.match(GrammarParser.T__14) self.state = 223 self.match(GrammarParser.T__15) self.state = 224 self.cond_expression(0) self.state = 225 self.match(GrammarParser.T__16) pass self.state = 229 self.match(GrammarParser.T__4) pass elif la_ == 4: localctx = GrammarParser.ExitAllForceTransitionDefinitionContext( self, localctx ) self.enterOuterAlt(localctx, 4) self.state = 230 self.match(GrammarParser.T__18) self.state = 231 self.match(GrammarParser.T__19) self.state = 232 self.match(GrammarParser.T__11) self.state = 233 self.match(GrammarParser.T__10) self.state = 243 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 17, self._ctx) if la_ == 1: pass elif la_ == 2: self.state = 235 _la = self._input.LA(1) if not (_la == GrammarParser.T__12 or _la == GrammarParser.T__13): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 236 self.chain_id() pass elif la_ == 3: self.state = 237 self.match(GrammarParser.T__12) self.state = 238 self.match(GrammarParser.T__14) self.state = 239 self.match(GrammarParser.T__15) self.state = 240 self.cond_expression(0) self.state = 241 self.match(GrammarParser.T__16) pass self.state = 245 self.match(GrammarParser.T__4) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Enter_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_enter_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class EnterRefFuncContext(Enter_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Enter_definitionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterEnterRefFunc"): listener.enterEnterRefFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitEnterRefFunc"): listener.exitEnterRefFunc(self) class EnterOperationsContext(Enter_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Enter_definitionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterEnterOperations"): listener.enterEnterOperations(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitEnterOperations"): listener.exitEnterOperations(self) class EnterAbstractFuncContext(Enter_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Enter_definitionContext super().__init__(parser) self.func_name = None # Token self.raw_doc = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def MULTILINE_COMMENT(self): return self.getToken(GrammarParser.MULTILINE_COMMENT, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterEnterAbstractFunc"): listener.enterEnterAbstractFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitEnterAbstractFunc"): listener.exitEnterAbstractFunc(self) def enter_definition(self): localctx = GrammarParser.Enter_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 12, self.RULE_enter_definition) self._la = 0 # Token type try: self.state = 274 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 22, self._ctx) if la_ == 1: localctx = GrammarParser.EnterOperationsContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 248 self.match(GrammarParser.T__20) self.state = 250 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 249 localctx.func_name = self.match(GrammarParser.ID) self.state = 252 self.match(GrammarParser.T__8) self.state = 253 self.operational_statement_set() self.state = 254 self.match(GrammarParser.T__9) pass elif la_ == 2: localctx = GrammarParser.EnterAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 256 self.match(GrammarParser.T__20) self.state = 257 self.match(GrammarParser.T__21) self.state = 258 localctx.func_name = self.match(GrammarParser.ID) self.state = 259 self.match(GrammarParser.T__4) pass elif la_ == 3: localctx = GrammarParser.EnterAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 3) self.state = 260 self.match(GrammarParser.T__20) self.state = 261 self.match(GrammarParser.T__21) self.state = 263 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 262 localctx.func_name = self.match(GrammarParser.ID) self.state = 265 localctx.raw_doc = self.match(GrammarParser.MULTILINE_COMMENT) pass elif la_ == 4: localctx = GrammarParser.EnterRefFuncContext(self, localctx) self.enterOuterAlt(localctx, 4) self.state = 266 self.match(GrammarParser.T__20) self.state = 268 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 267 localctx.func_name = self.match(GrammarParser.ID) self.state = 270 self.match(GrammarParser.T__22) self.state = 271 self.chain_id() self.state = 272 self.match(GrammarParser.T__4) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Exit_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_exit_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class ExitOperationsContext(Exit_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Exit_definitionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitOperations"): listener.enterExitOperations(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitOperations"): listener.exitExitOperations(self) class ExitRefFuncContext(Exit_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Exit_definitionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitRefFunc"): listener.enterExitRefFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitRefFunc"): listener.exitExitRefFunc(self) class ExitAbstractFuncContext(Exit_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Exit_definitionContext super().__init__(parser) self.func_name = None # Token self.raw_doc = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def MULTILINE_COMMENT(self): return self.getToken(GrammarParser.MULTILINE_COMMENT, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterExitAbstractFunc"): listener.enterExitAbstractFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitExitAbstractFunc"): listener.exitExitAbstractFunc(self) def exit_definition(self): localctx = GrammarParser.Exit_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 14, self.RULE_exit_definition) self._la = 0 # Token type try: self.state = 302 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 26, self._ctx) if la_ == 1: localctx = GrammarParser.ExitOperationsContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 276 self.match(GrammarParser.T__23) self.state = 278 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 277 localctx.func_name = self.match(GrammarParser.ID) self.state = 280 self.match(GrammarParser.T__8) self.state = 281 self.operational_statement_set() self.state = 282 self.match(GrammarParser.T__9) pass elif la_ == 2: localctx = GrammarParser.ExitAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 284 self.match(GrammarParser.T__23) self.state = 285 self.match(GrammarParser.T__21) self.state = 286 localctx.func_name = self.match(GrammarParser.ID) self.state = 287 self.match(GrammarParser.T__4) pass elif la_ == 3: localctx = GrammarParser.ExitAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 3) self.state = 288 self.match(GrammarParser.T__23) self.state = 289 self.match(GrammarParser.T__21) self.state = 291 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 290 localctx.func_name = self.match(GrammarParser.ID) self.state = 293 localctx.raw_doc = self.match(GrammarParser.MULTILINE_COMMENT) pass elif la_ == 4: localctx = GrammarParser.ExitRefFuncContext(self, localctx) self.enterOuterAlt(localctx, 4) self.state = 294 self.match(GrammarParser.T__23) self.state = 296 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 295 localctx.func_name = self.match(GrammarParser.ID) self.state = 298 self.match(GrammarParser.T__22) self.state = 299 self.chain_id() self.state = 300 self.match(GrammarParser.T__4) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class During_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_during_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class DuringOperationsContext(During_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.copyFrom(ctx) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringOperations"): listener.enterDuringOperations(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringOperations"): listener.exitDuringOperations(self) class DuringAbstractFuncContext(During_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.raw_doc = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def MULTILINE_COMMENT(self): return self.getToken(GrammarParser.MULTILINE_COMMENT, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringAbstractFunc"): listener.enterDuringAbstractFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringAbstractFunc"): listener.exitDuringAbstractFunc(self) class DuringRefFuncContext(During_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.copyFrom(ctx) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringRefFunc"): listener.enterDuringRefFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringRefFunc"): listener.exitDuringRefFunc(self) def during_definition(self): localctx = GrammarParser.During_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 16, self.RULE_during_definition) self._la = 0 # Token type try: self.state = 342 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 34, self._ctx) if la_ == 1: localctx = GrammarParser.DuringOperationsContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 304 self.match(GrammarParser.T__24) self.state = 306 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__25 or _la == GrammarParser.T__26: self.state = 305 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 309 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 308 localctx.func_name = self.match(GrammarParser.ID) self.state = 311 self.match(GrammarParser.T__8) self.state = 312 self.operational_statement_set() self.state = 313 self.match(GrammarParser.T__9) pass elif la_ == 2: localctx = GrammarParser.DuringAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 315 self.match(GrammarParser.T__24) self.state = 317 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__25 or _la == GrammarParser.T__26: self.state = 316 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 319 self.match(GrammarParser.T__21) self.state = 320 localctx.func_name = self.match(GrammarParser.ID) self.state = 321 self.match(GrammarParser.T__4) pass elif la_ == 3: localctx = GrammarParser.DuringAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 3) self.state = 322 self.match(GrammarParser.T__24) self.state = 324 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__25 or _la == GrammarParser.T__26: self.state = 323 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 326 self.match(GrammarParser.T__21) self.state = 328 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 327 localctx.func_name = self.match(GrammarParser.ID) self.state = 330 localctx.raw_doc = self.match(GrammarParser.MULTILINE_COMMENT) pass elif la_ == 4: localctx = GrammarParser.DuringRefFuncContext(self, localctx) self.enterOuterAlt(localctx, 4) self.state = 331 self.match(GrammarParser.T__24) self.state = 333 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__25 or _la == GrammarParser.T__26: self.state = 332 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 336 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 335 localctx.func_name = self.match(GrammarParser.ID) self.state = 338 self.match(GrammarParser.T__22) self.state = 339 self.chain_id() self.state = 340 self.match(GrammarParser.T__4) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class During_aspect_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_during_aspect_definition def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class DuringAspectRefFuncContext(During_aspect_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_aspect_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.copyFrom(ctx) def chain_id(self): return self.getTypedRuleContext(GrammarParser.Chain_idContext, 0) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringAspectRefFunc"): listener.enterDuringAspectRefFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringAspectRefFunc"): listener.exitDuringAspectRefFunc(self) class DuringAspectAbstractFuncContext(During_aspect_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_aspect_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.raw_doc = None # Token self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def MULTILINE_COMMENT(self): return self.getToken(GrammarParser.MULTILINE_COMMENT, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringAspectAbstractFunc"): listener.enterDuringAspectAbstractFunc(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringAspectAbstractFunc"): listener.exitDuringAspectAbstractFunc(self) class DuringAspectOperationsContext(During_aspect_definitionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.During_aspect_definitionContext super().__init__(parser) self.aspect = None # Token self.func_name = None # Token self.copyFrom(ctx) def operational_statement_set(self): return self.getTypedRuleContext( GrammarParser.Operational_statement_setContext, 0 ) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterDuringAspectOperations"): listener.enterDuringAspectOperations(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitDuringAspectOperations"): listener.exitDuringAspectOperations(self) def during_aspect_definition(self): localctx = GrammarParser.During_aspect_definitionContext( self, self._ctx, self.state ) self.enterRule(localctx, 18, self.RULE_during_aspect_definition) self._la = 0 # Token type try: self.state = 378 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 38, self._ctx) if la_ == 1: localctx = GrammarParser.DuringAspectOperationsContext(self, localctx) self.enterOuterAlt(localctx, 1) self.state = 344 self.match(GrammarParser.T__27) self.state = 345 self.match(GrammarParser.T__24) self.state = 346 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 348 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 347 localctx.func_name = self.match(GrammarParser.ID) self.state = 350 self.match(GrammarParser.T__8) self.state = 351 self.operational_statement_set() self.state = 352 self.match(GrammarParser.T__9) pass elif la_ == 2: localctx = GrammarParser.DuringAspectAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 2) self.state = 354 self.match(GrammarParser.T__27) self.state = 355 self.match(GrammarParser.T__24) self.state = 356 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 357 self.match(GrammarParser.T__21) self.state = 358 localctx.func_name = self.match(GrammarParser.ID) self.state = 359 self.match(GrammarParser.T__4) pass elif la_ == 3: localctx = GrammarParser.DuringAspectAbstractFuncContext(self, localctx) self.enterOuterAlt(localctx, 3) self.state = 360 self.match(GrammarParser.T__27) self.state = 361 self.match(GrammarParser.T__24) self.state = 362 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 363 self.match(GrammarParser.T__21) self.state = 365 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 364 localctx.func_name = self.match(GrammarParser.ID) self.state = 367 localctx.raw_doc = self.match(GrammarParser.MULTILINE_COMMENT) pass elif la_ == 4: localctx = GrammarParser.DuringAspectRefFuncContext(self, localctx) self.enterOuterAlt(localctx, 4) self.state = 368 self.match(GrammarParser.T__27) self.state = 369 self.match(GrammarParser.T__24) self.state = 370 localctx.aspect = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__25 or _la == GrammarParser.T__26): localctx.aspect = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 372 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.ID: self.state = 371 localctx.func_name = self.match(GrammarParser.ID) self.state = 374 self.match(GrammarParser.T__22) self.state = 375 self.chain_id() self.state = 376 self.match(GrammarParser.T__4) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Event_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser self.event_name = None # Token self.extra_name = None # Token def ID(self): return self.getToken(GrammarParser.ID, 0) def STRING(self): return self.getToken(GrammarParser.STRING, 0) def getRuleIndex(self): return GrammarParser.RULE_event_definition def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterEvent_definition"): listener.enterEvent_definition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitEvent_definition"): listener.exitEvent_definition(self) def event_definition(self): localctx = GrammarParser.Event_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 20, self.RULE_event_definition) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 380 self.match(GrammarParser.T__28) self.state = 381 localctx.event_name = self.match(GrammarParser.ID) self.state = 384 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__7: self.state = 382 self.match(GrammarParser.T__7) self.state = 383 localctx.extra_name = self.match(GrammarParser.STRING) self.state = 386 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Operation_assignmentContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def ID(self): return self.getToken(GrammarParser.ID, 0) def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_operation_assignment def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterOperation_assignment"): listener.enterOperation_assignment(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitOperation_assignment"): listener.exitOperation_assignment(self) def operation_assignment(self): localctx = GrammarParser.Operation_assignmentContext( self, self._ctx, self.state ) self.enterRule(localctx, 22, self.RULE_operation_assignment) try: self.enterOuterAlt(localctx, 1) self.state = 388 self.match(GrammarParser.ID) self.state = 389 self.match(GrammarParser.T__3) self.state = 390 self.num_expression(0) self.state = 391 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Operational_statementContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def operation_assignment(self): return self.getTypedRuleContext( GrammarParser.Operation_assignmentContext, 0 ) def getRuleIndex(self): return GrammarParser.RULE_operational_statement def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterOperational_statement"): listener.enterOperational_statement(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitOperational_statement"): listener.exitOperational_statement(self) def operational_statement(self): localctx = GrammarParser.Operational_statementContext( self, self._ctx, self.state ) self.enterRule(localctx, 24, self.RULE_operational_statement) try: self.state = 395 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.ID]: self.enterOuterAlt(localctx, 1) self.state = 393 self.operation_assignment() pass elif token in [GrammarParser.T__4]: self.enterOuterAlt(localctx, 2) self.state = 394 self.match(GrammarParser.T__4) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Operational_statement_setContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def operational_statement(self, i: int = None): if i is None: return self.getTypedRuleContexts( GrammarParser.Operational_statementContext ) else: return self.getTypedRuleContext( GrammarParser.Operational_statementContext, i ) def getRuleIndex(self): return GrammarParser.RULE_operational_statement_set def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterOperational_statement_set"): listener.enterOperational_statement_set(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitOperational_statement_set"): listener.exitOperational_statement_set(self) def operational_statement_set(self): localctx = GrammarParser.Operational_statement_setContext( self, self._ctx, self.state ) self.enterRule(localctx, 26, self.RULE_operational_statement_set) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 400 self._errHandler.sync(self) _la = self._input.LA(1) while _la == GrammarParser.T__4 or _la == GrammarParser.ID: self.state = 397 self.operational_statement() self.state = 402 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class State_inner_statementContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def state_definition(self): return self.getTypedRuleContext(GrammarParser.State_definitionContext, 0) def transition_definition(self): return self.getTypedRuleContext( GrammarParser.Transition_definitionContext, 0 ) def transition_force_definition(self): return self.getTypedRuleContext( GrammarParser.Transition_force_definitionContext, 0 ) def enter_definition(self): return self.getTypedRuleContext(GrammarParser.Enter_definitionContext, 0) def during_definition(self): return self.getTypedRuleContext(GrammarParser.During_definitionContext, 0) def exit_definition(self): return self.getTypedRuleContext(GrammarParser.Exit_definitionContext, 0) def during_aspect_definition(self): return self.getTypedRuleContext( GrammarParser.During_aspect_definitionContext, 0 ) def event_definition(self): return self.getTypedRuleContext(GrammarParser.Event_definitionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_state_inner_statement def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterState_inner_statement"): listener.enterState_inner_statement(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitState_inner_statement"): listener.exitState_inner_statement(self) def state_inner_statement(self): localctx = GrammarParser.State_inner_statementContext( self, self._ctx, self.state ) self.enterRule(localctx, 28, self.RULE_state_inner_statement) try: self.state = 412 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.T__5, GrammarParser.T__6]: self.enterOuterAlt(localctx, 1) self.state = 403 self.state_definition() pass elif token in [GrammarParser.T__10, GrammarParser.ID]: self.enterOuterAlt(localctx, 2) self.state = 404 self.transition_definition() pass elif token in [GrammarParser.T__18]: self.enterOuterAlt(localctx, 3) self.state = 405 self.transition_force_definition() pass elif token in [GrammarParser.T__20]: self.enterOuterAlt(localctx, 4) self.state = 406 self.enter_definition() pass elif token in [GrammarParser.T__24]: self.enterOuterAlt(localctx, 5) self.state = 407 self.during_definition() pass elif token in [GrammarParser.T__23]: self.enterOuterAlt(localctx, 6) self.state = 408 self.exit_definition() pass elif token in [GrammarParser.T__27]: self.enterOuterAlt(localctx, 7) self.state = 409 self.during_aspect_definition() pass elif token in [GrammarParser.T__28]: self.enterOuterAlt(localctx, 8) self.state = 410 self.event_definition() pass elif token in [GrammarParser.T__4]: self.enterOuterAlt(localctx, 9) self.state = 411 self.match(GrammarParser.T__4) pass else: raise NoViableAltException(self) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Operation_programContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def EOF(self): return self.getToken(GrammarParser.EOF, 0) def operational_assignment(self, i: int = None): if i is None: return self.getTypedRuleContexts( GrammarParser.Operational_assignmentContext ) else: return self.getTypedRuleContext( GrammarParser.Operational_assignmentContext, i ) def getRuleIndex(self): return GrammarParser.RULE_operation_program def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterOperation_program"): listener.enterOperation_program(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitOperation_program"): listener.exitOperation_program(self) def operation_program(self): localctx = GrammarParser.Operation_programContext(self, self._ctx, self.state) self.enterRule(localctx, 30, self.RULE_operation_program) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 417 self._errHandler.sync(self) _la = self._input.LA(1) while _la == GrammarParser.ID: self.state = 414 self.operational_assignment() self.state = 419 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 420 self.match(GrammarParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Preamble_programContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def EOF(self): return self.getToken(GrammarParser.EOF, 0) def preamble_statement(self, i: int = None): if i is None: return self.getTypedRuleContexts( GrammarParser.Preamble_statementContext ) else: return self.getTypedRuleContext( GrammarParser.Preamble_statementContext, i ) def getRuleIndex(self): return GrammarParser.RULE_preamble_program def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterPreamble_program"): listener.enterPreamble_program(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitPreamble_program"): listener.exitPreamble_program(self) def preamble_program(self): localctx = GrammarParser.Preamble_programContext(self, self._ctx, self.state) self.enterRule(localctx, 32, self.RULE_preamble_program) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 425 self._errHandler.sync(self) _la = self._input.LA(1) while _la == GrammarParser.ID: self.state = 422 self.preamble_statement() self.state = 427 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 428 self.match(GrammarParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Preamble_statementContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def initial_assignment(self): return self.getTypedRuleContext(GrammarParser.Initial_assignmentContext, 0) def constant_definition(self): return self.getTypedRuleContext(GrammarParser.Constant_definitionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_preamble_statement def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterPreamble_statement"): listener.enterPreamble_statement(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitPreamble_statement"): listener.exitPreamble_statement(self) def preamble_statement(self): localctx = GrammarParser.Preamble_statementContext(self, self._ctx, self.state) self.enterRule(localctx, 34, self.RULE_preamble_statement) try: self.state = 432 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 45, self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 430 self.initial_assignment() pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 431 self.constant_definition() pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Initial_assignmentContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def ID(self): return self.getToken(GrammarParser.ID, 0) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_initial_assignment def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterInitial_assignment"): listener.enterInitial_assignment(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitInitial_assignment"): listener.exitInitial_assignment(self) def initial_assignment(self): localctx = GrammarParser.Initial_assignmentContext(self, self._ctx, self.state) self.enterRule(localctx, 36, self.RULE_initial_assignment) try: self.enterOuterAlt(localctx, 1) self.state = 434 self.match(GrammarParser.ID) self.state = 435 self.match(GrammarParser.T__29) self.state = 436 self.init_expression(0) self.state = 437 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Constant_definitionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def ID(self): return self.getToken(GrammarParser.ID, 0) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_constant_definition def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterConstant_definition"): listener.enterConstant_definition(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitConstant_definition"): listener.exitConstant_definition(self) def constant_definition(self): localctx = GrammarParser.Constant_definitionContext(self, self._ctx, self.state) self.enterRule(localctx, 38, self.RULE_constant_definition) try: self.enterOuterAlt(localctx, 1) self.state = 439 self.match(GrammarParser.ID) self.state = 440 self.match(GrammarParser.T__3) self.state = 441 self.init_expression(0) self.state = 442 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Operational_assignmentContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def ID(self): return self.getToken(GrammarParser.ID, 0) def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_operational_assignment def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterOperational_assignment"): listener.enterOperational_assignment(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitOperational_assignment"): listener.exitOperational_assignment(self) def operational_assignment(self): localctx = GrammarParser.Operational_assignmentContext( self, self._ctx, self.state ) self.enterRule(localctx, 40, self.RULE_operational_assignment) try: self.enterOuterAlt(localctx, 1) self.state = 444 self.match(GrammarParser.ID) self.state = 445 self.match(GrammarParser.T__29) self.state = 446 self.num_expression(0) self.state = 447 self.match(GrammarParser.T__4) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Generic_expressionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def getRuleIndex(self): return GrammarParser.RULE_generic_expression def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterGeneric_expression"): listener.enterGeneric_expression(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitGeneric_expression"): listener.exitGeneric_expression(self) def generic_expression(self): localctx = GrammarParser.Generic_expressionContext(self, self._ctx, self.state) self.enterRule(localctx, 42, self.RULE_generic_expression) try: self.state = 451 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 46, self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 449 self.num_expression(0) pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 450 self.cond_expression(0) pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Init_expressionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_init_expression def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class FuncExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def UFUNC_NAME(self): return self.getToken(GrammarParser.UFUNC_NAME, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterFuncExprInit"): listener.enterFuncExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitFuncExprInit"): listener.exitFuncExprInit(self) class UnaryExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterUnaryExprInit"): listener.enterUnaryExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitUnaryExprInit"): listener.exitUnaryExprInit(self) class BinaryExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def init_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Init_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Init_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBinaryExprInit"): listener.enterBinaryExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBinaryExprInit"): listener.exitBinaryExprInit(self) class LiteralExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.copyFrom(ctx) def num_literal(self): return self.getTypedRuleContext(GrammarParser.Num_literalContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterLiteralExprInit"): listener.enterLiteralExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitLiteralExprInit"): listener.exitLiteralExprInit(self) class MathConstExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.copyFrom(ctx) def math_const(self): return self.getTypedRuleContext(GrammarParser.Math_constContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterMathConstExprInit"): listener.enterMathConstExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitMathConstExprInit"): listener.exitMathConstExprInit(self) class ParenExprInitContext(Init_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Init_expressionContext super().__init__(parser) self.copyFrom(ctx) def init_expression(self): return self.getTypedRuleContext(GrammarParser.Init_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterParenExprInit"): listener.enterParenExprInit(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitParenExprInit"): listener.exitParenExprInit(self) def init_expression(self, _p: int = 0): _parentctx = self._ctx _parentState = self.state localctx = GrammarParser.Init_expressionContext(self, self._ctx, _parentState) _prevctx = localctx _startState = 44 self.enterRecursionRule(localctx, 44, self.RULE_init_expression, _p) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 467 self._errHandler.sync(self) token = self._input.LA(1) if token in [GrammarParser.T__30]: localctx = GrammarParser.ParenExprInitContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 454 self.match(GrammarParser.T__30) self.state = 455 self.init_expression(0) self.state = 456 self.match(GrammarParser.T__31) pass elif token in [ GrammarParser.FLOAT, GrammarParser.INT, GrammarParser.HEX_INT, ]: localctx = GrammarParser.LiteralExprInitContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 458 self.num_literal() pass elif token in [ GrammarParser.T__53, GrammarParser.T__54, GrammarParser.T__55, ]: localctx = GrammarParser.MathConstExprInitContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 459 self.math_const() pass elif token in [GrammarParser.T__32, GrammarParser.T__33]: localctx = GrammarParser.UnaryExprInitContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 460 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__32 or _la == GrammarParser.T__33): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 461 self.init_expression(9) pass elif token in [GrammarParser.UFUNC_NAME]: localctx = GrammarParser.FuncExprInitContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 462 localctx.func_name = self.match(GrammarParser.UFUNC_NAME) self.state = 463 self.match(GrammarParser.T__30) self.state = 464 self.init_expression(0) self.state = 465 self.match(GrammarParser.T__31) pass else: raise NoViableAltException(self) self._ctx.stop = self._input.LT(-1) self.state = 492 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 49, self._ctx) while _alt != 2 and _alt != ATN.INVALID_ALT_NUMBER: if _alt == 1: if self._parseListeners is not None: self.triggerExitRuleEvent() _prevctx = localctx self.state = 490 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 48, self._ctx) if la_ == 1: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 469 if not self.precpred(self._ctx, 8): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 8)" ) self.state = 470 localctx.op = self.match(GrammarParser.T__34) self.state = 471 self.init_expression(8) pass elif la_ == 2: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 472 if not self.precpred(self._ctx, 7): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 7)" ) self.state = 473 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( ((_la) & ~0x3F) == 0 and ( (1 << _la) & ( (1 << GrammarParser.T__19) | (1 << GrammarParser.T__35) | (1 << GrammarParser.T__36) ) ) != 0 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 474 self.init_expression(8) pass elif la_ == 3: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 475 if not self.precpred(self._ctx, 6): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 6)" ) self.state = 476 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__32 or _la == GrammarParser.T__33 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 477 self.init_expression(7) pass elif la_ == 4: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 478 if not self.precpred(self._ctx, 5): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 5)" ) self.state = 479 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__27 or _la == GrammarParser.T__37 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 480 self.init_expression(6) pass elif la_ == 5: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 481 if not self.precpred(self._ctx, 4): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 4)" ) self.state = 482 localctx.op = self.match(GrammarParser.T__38) self.state = 483 self.init_expression(5) pass elif la_ == 6: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 484 if not self.precpred(self._ctx, 3): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 3)" ) self.state = 485 localctx.op = self.match(GrammarParser.T__39) self.state = 486 self.init_expression(4) pass elif la_ == 7: localctx = GrammarParser.BinaryExprInitContext( self, GrammarParser.Init_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_init_expression ) self.state = 487 if not self.precpred(self._ctx, 2): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 2)" ) self.state = 488 localctx.op = self.match(GrammarParser.T__40) self.state = 489 self.init_expression(3) pass self.state = 494 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 49, self._ctx) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.unrollRecursionContexts(_parentctx) return localctx class Num_expressionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_num_expression def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class UnaryExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterUnaryExprNum"): listener.enterUnaryExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitUnaryExprNum"): listener.exitUnaryExprNum(self) class FuncExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.func_name = None # Token self.copyFrom(ctx) def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def UFUNC_NAME(self): return self.getToken(GrammarParser.UFUNC_NAME, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterFuncExprNum"): listener.enterFuncExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitFuncExprNum"): listener.exitFuncExprNum(self) class ConditionalCStyleExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.copyFrom(ctx) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def num_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Num_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Num_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterConditionalCStyleExprNum"): listener.enterConditionalCStyleExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitConditionalCStyleExprNum"): listener.exitConditionalCStyleExprNum(self) class BinaryExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def num_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Num_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Num_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBinaryExprNum"): listener.enterBinaryExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBinaryExprNum"): listener.exitBinaryExprNum(self) class LiteralExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.copyFrom(ctx) def num_literal(self): return self.getTypedRuleContext(GrammarParser.Num_literalContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterLiteralExprNum"): listener.enterLiteralExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitLiteralExprNum"): listener.exitLiteralExprNum(self) class MathConstExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.copyFrom(ctx) def math_const(self): return self.getTypedRuleContext(GrammarParser.Math_constContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterMathConstExprNum"): listener.enterMathConstExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitMathConstExprNum"): listener.exitMathConstExprNum(self) class ParenExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.copyFrom(ctx) def num_expression(self): return self.getTypedRuleContext(GrammarParser.Num_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterParenExprNum"): listener.enterParenExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitParenExprNum"): listener.exitParenExprNum(self) class IdExprNumContext(Num_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Num_expressionContext super().__init__(parser) self.copyFrom(ctx) def ID(self): return self.getToken(GrammarParser.ID, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterIdExprNum"): listener.enterIdExprNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitIdExprNum"): listener.exitIdExprNum(self) def num_expression(self, _p: int = 0): _parentctx = self._ctx _parentState = self.state localctx = GrammarParser.Num_expressionContext(self, self._ctx, _parentState) _prevctx = localctx _startState = 46 self.enterRecursionRule(localctx, 46, self.RULE_num_expression, _p) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 518 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 50, self._ctx) if la_ == 1: localctx = GrammarParser.ParenExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 496 self.match(GrammarParser.T__30) self.state = 497 self.num_expression(0) self.state = 498 self.match(GrammarParser.T__31) pass elif la_ == 2: localctx = GrammarParser.LiteralExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 500 self.num_literal() pass elif la_ == 3: localctx = GrammarParser.IdExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 501 self.match(GrammarParser.ID) pass elif la_ == 4: localctx = GrammarParser.MathConstExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 502 self.math_const() pass elif la_ == 5: localctx = GrammarParser.UnaryExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 503 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__32 or _la == GrammarParser.T__33): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 504 self.num_expression(10) pass elif la_ == 6: localctx = GrammarParser.FuncExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 505 localctx.func_name = self.match(GrammarParser.UFUNC_NAME) self.state = 506 self.match(GrammarParser.T__30) self.state = 507 self.num_expression(0) self.state = 508 self.match(GrammarParser.T__31) pass elif la_ == 7: localctx = GrammarParser.ConditionalCStyleExprNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 510 self.match(GrammarParser.T__30) self.state = 511 self.cond_expression(0) self.state = 512 self.match(GrammarParser.T__31) self.state = 513 self.match(GrammarParser.T__41) self.state = 514 self.num_expression(0) self.state = 515 self.match(GrammarParser.T__12) self.state = 516 self.num_expression(1) pass self._ctx.stop = self._input.LT(-1) self.state = 543 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 52, self._ctx) while _alt != 2 and _alt != ATN.INVALID_ALT_NUMBER: if _alt == 1: if self._parseListeners is not None: self.triggerExitRuleEvent() _prevctx = localctx self.state = 541 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 51, self._ctx) if la_ == 1: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 520 if not self.precpred(self._ctx, 9): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 9)" ) self.state = 521 localctx.op = self.match(GrammarParser.T__34) self.state = 522 self.num_expression(9) pass elif la_ == 2: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 523 if not self.precpred(self._ctx, 8): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 8)" ) self.state = 524 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( ((_la) & ~0x3F) == 0 and ( (1 << _la) & ( (1 << GrammarParser.T__19) | (1 << GrammarParser.T__35) | (1 << GrammarParser.T__36) ) ) != 0 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 525 self.num_expression(9) pass elif la_ == 3: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 526 if not self.precpred(self._ctx, 7): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 7)" ) self.state = 527 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__32 or _la == GrammarParser.T__33 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 528 self.num_expression(8) pass elif la_ == 4: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 529 if not self.precpred(self._ctx, 6): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 6)" ) self.state = 530 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__27 or _la == GrammarParser.T__37 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 531 self.num_expression(7) pass elif la_ == 5: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 532 if not self.precpred(self._ctx, 5): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 5)" ) self.state = 533 localctx.op = self.match(GrammarParser.T__38) self.state = 534 self.num_expression(6) pass elif la_ == 6: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 535 if not self.precpred(self._ctx, 4): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 4)" ) self.state = 536 localctx.op = self.match(GrammarParser.T__39) self.state = 537 self.num_expression(5) pass elif la_ == 7: localctx = GrammarParser.BinaryExprNumContext( self, GrammarParser.Num_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_num_expression ) self.state = 538 if not self.precpred(self._ctx, 3): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 3)" ) self.state = 539 localctx.op = self.match(GrammarParser.T__40) self.state = 540 self.num_expression(4) pass self.state = 545 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 52, self._ctx) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.unrollRecursionContexts(_parentctx) return localctx class Cond_expressionContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_cond_expression def copyFrom(self, ctx: ParserRuleContext): super().copyFrom(ctx) class BinaryExprFromCondCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def cond_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Cond_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBinaryExprFromCondCond"): listener.enterBinaryExprFromCondCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBinaryExprFromCondCond"): listener.exitBinaryExprFromCondCond(self) class BinaryExprCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def cond_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Cond_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBinaryExprCond"): listener.enterBinaryExprCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBinaryExprCond"): listener.exitBinaryExprCond(self) class BinaryExprFromNumCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def num_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Num_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Num_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBinaryExprFromNumCond"): listener.enterBinaryExprFromNumCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBinaryExprFromNumCond"): listener.exitBinaryExprFromNumCond(self) class UnaryExprCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.op = None # Token self.copyFrom(ctx) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterUnaryExprCond"): listener.enterUnaryExprCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitUnaryExprCond"): listener.exitUnaryExprCond(self) class ParenExprCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.copyFrom(ctx) def cond_expression(self): return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterParenExprCond"): listener.enterParenExprCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitParenExprCond"): listener.exitParenExprCond(self) class LiteralExprCondContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.copyFrom(ctx) def bool_literal(self): return self.getTypedRuleContext(GrammarParser.Bool_literalContext, 0) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterLiteralExprCond"): listener.enterLiteralExprCond(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitLiteralExprCond"): listener.exitLiteralExprCond(self) class ConditionalCStyleCondNumContext(Cond_expressionContext): def __init__( self, parser, ctx: ParserRuleContext ): # actually a GrammarParser.Cond_expressionContext super().__init__(parser) self.copyFrom(ctx) def cond_expression(self, i: int = None): if i is None: return self.getTypedRuleContexts(GrammarParser.Cond_expressionContext) else: return self.getTypedRuleContext(GrammarParser.Cond_expressionContext, i) def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterConditionalCStyleCondNum"): listener.enterConditionalCStyleCondNum(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitConditionalCStyleCondNum"): listener.exitConditionalCStyleCondNum(self) def cond_expression(self, _p: int = 0): _parentctx = self._ctx _parentState = self.state localctx = GrammarParser.Cond_expressionContext(self, self._ctx, _parentState) _prevctx = localctx _startState = 48 self.enterRecursionRule(localctx, 48, self.RULE_cond_expression, _p) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 570 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 53, self._ctx) if la_ == 1: localctx = GrammarParser.ParenExprCondContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 547 self.match(GrammarParser.T__30) self.state = 548 self.cond_expression(0) self.state = 549 self.match(GrammarParser.T__31) pass elif la_ == 2: localctx = GrammarParser.LiteralExprCondContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 551 self.bool_literal() pass elif la_ == 3: localctx = GrammarParser.UnaryExprCondContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 552 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__18 or _la == GrammarParser.T__42): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 553 self.cond_expression(7) pass elif la_ == 4: localctx = GrammarParser.BinaryExprFromNumCondContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 554 self.num_expression(0) self.state = 555 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( ((_la) & ~0x3F) == 0 and ( (1 << _la) & ( (1 << GrammarParser.T__43) | (1 << GrammarParser.T__44) | (1 << GrammarParser.T__45) | (1 << GrammarParser.T__46) ) ) != 0 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 556 self.num_expression(0) pass elif la_ == 5: localctx = GrammarParser.BinaryExprFromNumCondContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 558 self.num_expression(0) self.state = 559 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not (_la == GrammarParser.T__47 or _la == GrammarParser.T__48): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 560 self.num_expression(0) pass elif la_ == 6: localctx = GrammarParser.ConditionalCStyleCondNumContext(self, localctx) self._ctx = localctx _prevctx = localctx self.state = 562 self.match(GrammarParser.T__30) self.state = 563 self.cond_expression(0) self.state = 564 self.match(GrammarParser.T__31) self.state = 565 self.match(GrammarParser.T__41) self.state = 566 self.cond_expression(0) self.state = 567 self.match(GrammarParser.T__12) self.state = 568 self.cond_expression(1) pass self._ctx.stop = self._input.LT(-1) self.state = 583 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 55, self._ctx) while _alt != 2 and _alt != ATN.INVALID_ALT_NUMBER: if _alt == 1: if self._parseListeners is not None: self.triggerExitRuleEvent() _prevctx = localctx self.state = 581 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input, 54, self._ctx) if la_ == 1: localctx = GrammarParser.BinaryExprFromCondCondContext( self, GrammarParser.Cond_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_cond_expression ) self.state = 572 if not self.precpred(self._ctx, 4): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 4)" ) self.state = 573 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__47 or _la == GrammarParser.T__48 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 574 self.cond_expression(5) pass elif la_ == 2: localctx = GrammarParser.BinaryExprCondContext( self, GrammarParser.Cond_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_cond_expression ) self.state = 575 if not self.precpred(self._ctx, 3): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 3)" ) self.state = 576 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__49 or _la == GrammarParser.T__50 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 577 self.cond_expression(4) pass elif la_ == 3: localctx = GrammarParser.BinaryExprCondContext( self, GrammarParser.Cond_expressionContext( self, _parentctx, _parentState ), ) self.pushNewRecursionContext( localctx, _startState, self.RULE_cond_expression ) self.state = 578 if not self.precpred(self._ctx, 2): from antlr4.error.Errors import FailedPredicateException raise FailedPredicateException( self, "self.precpred(self._ctx, 2)" ) self.state = 579 localctx.op = self._input.LT(1) _la = self._input.LA(1) if not ( _la == GrammarParser.T__51 or _la == GrammarParser.T__52 ): localctx.op = self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() self.state = 580 self.cond_expression(3) pass self.state = 585 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input, 55, self._ctx) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.unrollRecursionContexts(_parentctx) return localctx class Num_literalContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def INT(self): return self.getToken(GrammarParser.INT, 0) def FLOAT(self): return self.getToken(GrammarParser.FLOAT, 0) def HEX_INT(self): return self.getToken(GrammarParser.HEX_INT, 0) def getRuleIndex(self): return GrammarParser.RULE_num_literal def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterNum_literal"): listener.enterNum_literal(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitNum_literal"): listener.exitNum_literal(self) def num_literal(self): localctx = GrammarParser.Num_literalContext(self, self._ctx, self.state) self.enterRule(localctx, 50, self.RULE_num_literal) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 586 _la = self._input.LA(1) if not ( ((_la) & ~0x3F) == 0 and ( (1 << _la) & ( (1 << GrammarParser.FLOAT) | (1 << GrammarParser.INT) | (1 << GrammarParser.HEX_INT) ) ) != 0 ): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Bool_literalContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def TRUE(self): return self.getToken(GrammarParser.TRUE, 0) def FALSE(self): return self.getToken(GrammarParser.FALSE, 0) def getRuleIndex(self): return GrammarParser.RULE_bool_literal def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterBool_literal"): listener.enterBool_literal(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitBool_literal"): listener.exitBool_literal(self) def bool_literal(self): localctx = GrammarParser.Bool_literalContext(self, self._ctx, self.state) self.enterRule(localctx, 52, self.RULE_bool_literal) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 588 _la = self._input.LA(1) if not (_la == GrammarParser.TRUE or _la == GrammarParser.FALSE): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Math_constContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser def getRuleIndex(self): return GrammarParser.RULE_math_const def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterMath_const"): listener.enterMath_const(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitMath_const"): listener.exitMath_const(self) def math_const(self): localctx = GrammarParser.Math_constContext(self, self._ctx, self.state) self.enterRule(localctx, 54, self.RULE_math_const) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 590 _la = self._input.LA(1) if not ( ((_la) & ~0x3F) == 0 and ( (1 << _la) & ( (1 << GrammarParser.T__53) | (1 << GrammarParser.T__54) | (1 << GrammarParser.T__55) ) ) != 0 ): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class Chain_idContext(ParserRuleContext): __slots__ = "parser" def __init__( self, parser, parent: ParserRuleContext = None, invokingState: int = -1 ): super().__init__(parent, invokingState) self.parser = parser self.isabs = None # Token def ID(self, i: int = None): if i is None: return self.getTokens(GrammarParser.ID) else: return self.getToken(GrammarParser.ID, i) def getRuleIndex(self): return GrammarParser.RULE_chain_id def enterRule(self, listener: ParseTreeListener): if hasattr(listener, "enterChain_id"): listener.enterChain_id(self) def exitRule(self, listener: ParseTreeListener): if hasattr(listener, "exitChain_id"): listener.exitChain_id(self) def chain_id(self): localctx = GrammarParser.Chain_idContext(self, self._ctx, self.state) self.enterRule(localctx, 56, self.RULE_chain_id) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 593 self._errHandler.sync(self) _la = self._input.LA(1) if _la == GrammarParser.T__35: self.state = 592 localctx.isabs = self.match(GrammarParser.T__35) self.state = 595 self.match(GrammarParser.ID) self.state = 600 self._errHandler.sync(self) _la = self._input.LA(1) while _la == GrammarParser.T__56: self.state = 596 self.match(GrammarParser.T__56) self.state = 597 self.match(GrammarParser.ID) self.state = 602 self._errHandler.sync(self) _la = self._input.LA(1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx def sempred(self, localctx: RuleContext, ruleIndex: int, predIndex: int): if self._predicates == None: self._predicates = dict() self._predicates[22] = self.init_expression_sempred self._predicates[23] = self.num_expression_sempred self._predicates[24] = self.cond_expression_sempred pred = self._predicates.get(ruleIndex, None) if pred is None: raise Exception("No predicate with index:" + str(ruleIndex)) else: return pred(localctx, predIndex) def init_expression_sempred(self, localctx: Init_expressionContext, predIndex: int): if predIndex == 0: return self.precpred(self._ctx, 8) if predIndex == 1: return self.precpred(self._ctx, 7) if predIndex == 2: return self.precpred(self._ctx, 6) if predIndex == 3: return self.precpred(self._ctx, 5) if predIndex == 4: return self.precpred(self._ctx, 4) if predIndex == 5: return self.precpred(self._ctx, 3) if predIndex == 6: return self.precpred(self._ctx, 2) def num_expression_sempred(self, localctx: Num_expressionContext, predIndex: int): if predIndex == 7: return self.precpred(self._ctx, 9) if predIndex == 8: return self.precpred(self._ctx, 8) if predIndex == 9: return self.precpred(self._ctx, 7) if predIndex == 10: return self.precpred(self._ctx, 6) if predIndex == 11: return self.precpred(self._ctx, 5) if predIndex == 12: return self.precpred(self._ctx, 4) if predIndex == 13: return self.precpred(self._ctx, 3) def cond_expression_sempred(self, localctx: Cond_expressionContext, predIndex: int): if predIndex == 14: return self.precpred(self._ctx, 4) if predIndex == 15: return self.precpred(self._ctx, 3) if predIndex == 16: return self.precpred(self._ctx, 2)