# Generated from CommentMacro.g4 by ANTLR 4.7.1 # encoding: utf-8 from antlr4 import * from io import StringIO from typing.io import TextIO import sys def serializedATN(): with StringIO() as buf: buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3-") buf.write("\u00ed\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\3\2\6\2\30\n\2\r\2") buf.write("\16\2\31\3\2\3\2\3\3\3\3\3\3\7\3!\n\3\f\3\16\3$\13\3\3") buf.write("\3\5\3\'\n\3\3\3\5\3*\n\3\3\4\3\4\3\4\5\4/\n\4\3\4\3\4") buf.write("\3\4\3\4\3\4\5\4\66\n\4\3\4\3\4\3\4\5\4;\n\4\3\4\3\4\3") buf.write("\4\5\4@\n\4\3\4\3\4\3\4\5\4E\n\4\3\4\3\4\5\4I\n\4\3\4") buf.write("\3\4\5\4M\n\4\3\4\3\4\3\4\3\4\3\4\5\4T\n\4\3\4\5\4W\n") buf.write("\4\3\4\3\4\3\4\5\4\\\n\4\3\4\5\4_\n\4\3\4\3\4\3\4\5\4") buf.write("d\n\4\3\4\3\4\3\4\5\4i\n\4\3\4\3\4\3\4\3\4\3\4\5\4p\n") buf.write("\4\3\4\3\4\3\4\5\4u\n\4\3\4\3\4\3\4\5\4z\n\4\3\4\3\4\3") buf.write("\4\5\4\177\n\4\3\4\3\4\3\4\5\4\u0084\n\4\3\4\3\4\3\4\5") buf.write("\4\u0089\n\4\3\4\3\4\3\4\5\4\u008e\n\4\3\4\3\4\3\4\5\4") buf.write("\u0093\n\4\3\4\3\4\3\4\5\4\u0098\n\4\3\4\3\4\3\4\5\4\u009d") buf.write("\n\4\3\4\3\4\3\4\5\4\u00a2\n\4\3\4\3\4\3\4\5\4\u00a7\n") buf.write("\4\3\4\3\4\3\4\5\4\u00ac\n\4\3\4\3\4\3\4\5\4\u00b1\n\4") buf.write("\3\4\3\4\3\4\5\4\u00b6\n\4\3\4\3\4\3\4\5\4\u00bb\n\4\3") buf.write("\4\3\4\3\4\3\4\3\4\5\4\u00c2\n\4\3\4\3\4\3\4\5\4\u00c7") buf.write("\n\4\3\4\3\4\3\4\5\4\u00cc\n\4\5\4\u00ce\n\4\3\5\3\5\5") buf.write("\5\u00d2\n\5\3\6\3\6\3\6\3\7\3\7\3\7\3\b\3\b\3\t\3\t\5") buf.write("\t\u00de\n\t\3\t\3\t\7\t\u00e2\n\t\f\t\16\t\u00e5\13\t") buf.write("\3\n\3\n\3\n\3\n\3\13\3\13\3\13\2\2\f\2\4\6\b\n\f\16\20") buf.write("\22\24\2\3\3\2\')\2\u0127\2\27\3\2\2\2\4)\3\2\2\2\6\u00cd") buf.write("\3\2\2\2\b\u00d1\3\2\2\2\n\u00d3\3\2\2\2\f\u00d6\3\2\2") buf.write("\2\16\u00d9\3\2\2\2\20\u00dd\3\2\2\2\22\u00e6\3\2\2\2") buf.write("\24\u00ea\3\2\2\2\26\30\5\4\3\2\27\26\3\2\2\2\30\31\3") buf.write("\2\2\2\31\27\3\2\2\2\31\32\3\2\2\2\32\33\3\2\2\2\33\34") buf.write("\7\2\2\3\34\3\3\2\2\2\35\"\5\6\4\2\36\37\7\3\2\2\37!\5") buf.write("\6\4\2 \36\3\2\2\2!$\3\2\2\2\" \3\2\2\2\"#\3\2\2\2#&\3") buf.write("\2\2\2$\"\3\2\2\2%\'\7*\2\2&%\3\2\2\2&\'\3\2\2\2\'*\3") buf.write("\2\2\2(*\7*\2\2)\35\3\2\2\2)(\3\2\2\2*\5\3\2\2\2+,\7\4") buf.write("\2\2,.\5\b\5\2-/\5\f\7\2.-\3\2\2\2./\3\2\2\2/\u00ce\3") buf.write("\2\2\2\60\61\7\4\2\2\61\62\5\b\5\2\62\63\7!\2\2\63\65") buf.write("\5\24\13\2\64\66\5\f\7\2\65\64\3\2\2\2\65\66\3\2\2\2\66") buf.write("\u00ce\3\2\2\2\678\7\5\2\28:\5\b\5\29;\5\f\7\2:9\3\2\2") buf.write("\2:;\3\2\2\2;\u00ce\3\2\2\2<=\7\6\2\2=?\5\b\5\2>@\5\f") buf.write("\7\2?>\3\2\2\2?@\3\2\2\2@\u00ce\3\2\2\2AB\7\7\2\2BD\5") buf.write("\b\5\2CE\5\f\7\2DC\3\2\2\2DE\3\2\2\2E\u00ce\3\2\2\2FH") buf.write("\7\b\2\2GI\5\f\7\2HG\3\2\2\2HI\3\2\2\2I\u00ce\3\2\2\2") buf.write("JL\7\t\2\2KM\5\f\7\2LK\3\2\2\2LM\3\2\2\2M\u00ce\3\2\2") buf.write("\2NO\7\n\2\2OP\5\b\5\2PQ\7!\2\2QS\5\24\13\2RT\5\n\6\2") buf.write("SR\3\2\2\2ST\3\2\2\2TV\3\2\2\2UW\5\f\7\2VU\3\2\2\2VW\3") buf.write("\2\2\2W\u00ce\3\2\2\2XY\7\13\2\2Y[\5\24\13\2Z\\\5\n\6") buf.write("\2[Z\3\2\2\2[\\\3\2\2\2\\^\3\2\2\2]_\5\f\7\2^]\3\2\2\2") buf.write("^_\3\2\2\2_\u00ce\3\2\2\2`a\7\f\2\2ac\5\24\13\2bd\5\f") buf.write("\7\2cb\3\2\2\2cd\3\2\2\2d\u00ce\3\2\2\2ef\7\r\2\2fh\5") buf.write("\20\t\2gi\5\f\7\2hg\3\2\2\2hi\3\2\2\2i\u00ce\3\2\2\2j") buf.write("k\7\r\2\2kl\5\20\t\2lm\7!\2\2mo\5\24\13\2np\5\f\7\2on") buf.write("\3\2\2\2op\3\2\2\2p\u00ce\3\2\2\2qr\7\16\2\2rt\5\20\t") buf.write("\2su\5\f\7\2ts\3\2\2\2tu\3\2\2\2u\u00ce\3\2\2\2vw\7\17") buf.write("\2\2wy\5\20\t\2xz\5\f\7\2yx\3\2\2\2yz\3\2\2\2z\u00ce\3") buf.write("\2\2\2{|\7\20\2\2|~\5\20\t\2}\177\5\f\7\2~}\3\2\2\2~\177") buf.write("\3\2\2\2\177\u00ce\3\2\2\2\u0080\u0081\7\21\2\2\u0081") buf.write("\u0083\5\20\t\2\u0082\u0084\5\f\7\2\u0083\u0082\3\2\2") buf.write("\2\u0083\u0084\3\2\2\2\u0084\u00ce\3\2\2\2\u0085\u0086") buf.write("\7\22\2\2\u0086\u0088\5\20\t\2\u0087\u0089\5\f\7\2\u0088") buf.write("\u0087\3\2\2\2\u0088\u0089\3\2\2\2\u0089\u00ce\3\2\2\2") buf.write("\u008a\u008b\7\23\2\2\u008b\u008d\5\20\t\2\u008c\u008e") buf.write("\5\f\7\2\u008d\u008c\3\2\2\2\u008d\u008e\3\2\2\2\u008e") buf.write("\u00ce\3\2\2\2\u008f\u0090\7\24\2\2\u0090\u0092\5\20\t") buf.write("\2\u0091\u0093\5\f\7\2\u0092\u0091\3\2\2\2\u0092\u0093") buf.write("\3\2\2\2\u0093\u00ce\3\2\2\2\u0094\u0095\7\25\2\2\u0095") buf.write("\u0097\5\20\t\2\u0096\u0098\5\f\7\2\u0097\u0096\3\2\2") buf.write("\2\u0097\u0098\3\2\2\2\u0098\u00ce\3\2\2\2\u0099\u009a") buf.write("\7\26\2\2\u009a\u009c\5\20\t\2\u009b\u009d\5\f\7\2\u009c") buf.write("\u009b\3\2\2\2\u009c\u009d\3\2\2\2\u009d\u00ce\3\2\2\2") buf.write("\u009e\u009f\7\27\2\2\u009f\u00a1\5\20\t\2\u00a0\u00a2") buf.write("\5\f\7\2\u00a1\u00a0\3\2\2\2\u00a1\u00a2\3\2\2\2\u00a2") buf.write("\u00ce\3\2\2\2\u00a3\u00a4\7\30\2\2\u00a4\u00a6\5\20\t") buf.write("\2\u00a5\u00a7\5\f\7\2\u00a6\u00a5\3\2\2\2\u00a6\u00a7") buf.write("\3\2\2\2\u00a7\u00ce\3\2\2\2\u00a8\u00a9\7\31\2\2\u00a9") buf.write("\u00ab\5\24\13\2\u00aa\u00ac\5\f\7\2\u00ab\u00aa\3\2\2") buf.write("\2\u00ab\u00ac\3\2\2\2\u00ac\u00ce\3\2\2\2\u00ad\u00ae") buf.write("\7\31\2\2\u00ae\u00b0\7#\2\2\u00af\u00b1\5\f\7\2\u00b0") buf.write("\u00af\3\2\2\2\u00b0\u00b1\3\2\2\2\u00b1\u00ce\3\2\2\2") buf.write("\u00b2\u00b3\7\31\2\2\u00b3\u00b5\7$\2\2\u00b4\u00b6\5") buf.write("\f\7\2\u00b5\u00b4\3\2\2\2\u00b5\u00b6\3\2\2\2\u00b6\u00ce") buf.write("\3\2\2\2\u00b7\u00b8\7\32\2\2\u00b8\u00ba\5\24\13\2\u00b9") buf.write("\u00bb\5\f\7\2\u00ba\u00b9\3\2\2\2\u00ba\u00bb\3\2\2\2") buf.write("\u00bb\u00ce\3\2\2\2\u00bc\u00bd\7\33\2\2\u00bd\u00ce") buf.write("\5\f\7\2\u00be\u00bf\7\34\2\2\u00bf\u00c1\5\24\13\2\u00c0") buf.write("\u00c2\5\f\7\2\u00c1\u00c0\3\2\2\2\u00c1\u00c2\3\2\2\2") buf.write("\u00c2\u00ce\3\2\2\2\u00c3\u00c4\7\35\2\2\u00c4\u00c6") buf.write("\5\24\13\2\u00c5\u00c7\5\f\7\2\u00c6\u00c5\3\2\2\2\u00c6") buf.write("\u00c7\3\2\2\2\u00c7\u00ce\3\2\2\2\u00c8\u00c9\7\36\2") buf.write("\2\u00c9\u00cb\5\24\13\2\u00ca\u00cc\5\f\7\2\u00cb\u00ca") buf.write("\3\2\2\2\u00cb\u00cc\3\2\2\2\u00cc\u00ce\3\2\2\2\u00cd") buf.write("+\3\2\2\2\u00cd\60\3\2\2\2\u00cd\67\3\2\2\2\u00cd<\3\2") buf.write("\2\2\u00cdA\3\2\2\2\u00cdF\3\2\2\2\u00cdJ\3\2\2\2\u00cd") buf.write("N\3\2\2\2\u00cdX\3\2\2\2\u00cd`\3\2\2\2\u00cde\3\2\2\2") buf.write("\u00cdj\3\2\2\2\u00cdq\3\2\2\2\u00cdv\3\2\2\2\u00cd{\3") buf.write("\2\2\2\u00cd\u0080\3\2\2\2\u00cd\u0085\3\2\2\2\u00cd\u008a") buf.write("\3\2\2\2\u00cd\u008f\3\2\2\2\u00cd\u0094\3\2\2\2\u00cd") buf.write("\u0099\3\2\2\2\u00cd\u009e\3\2\2\2\u00cd\u00a3\3\2\2\2") buf.write("\u00cd\u00a8\3\2\2\2\u00cd\u00ad\3\2\2\2\u00cd\u00b2\3") buf.write("\2\2\2\u00cd\u00b7\3\2\2\2\u00cd\u00bc\3\2\2\2\u00cd\u00be") buf.write("\3\2\2\2\u00cd\u00c3\3\2\2\2\u00cd\u00c8\3\2\2\2\u00ce") buf.write("\7\3\2\2\2\u00cf\u00d2\5\20\t\2\u00d0\u00d2\7%\2\2\u00d1") buf.write("\u00cf\3\2\2\2\u00d1\u00d0\3\2\2\2\u00d2\t\3\2\2\2\u00d3") buf.write("\u00d4\7&\2\2\u00d4\u00d5\5\24\13\2\u00d5\13\3\2\2\2\u00d6") buf.write("\u00d7\5\16\b\2\u00d7\u00d8\5\24\13\2\u00d8\r\3\2\2\2") buf.write("\u00d9\u00da\t\2\2\2\u00da\17\3\2\2\2\u00db\u00de\5\24") buf.write("\13\2\u00dc\u00de\5\22\n\2\u00dd\u00db\3\2\2\2\u00dd\u00dc") buf.write("\3\2\2\2\u00de\u00e3\3\2\2\2\u00df\u00e0\7\37\2\2\u00e0") buf.write("\u00e2\5\20\t\2\u00e1\u00df\3\2\2\2\u00e2\u00e5\3\2\2") buf.write("\2\u00e3\u00e1\3\2\2\2\u00e3\u00e4\3\2\2\2\u00e4\21\3") buf.write("\2\2\2\u00e5\u00e3\3\2\2\2\u00e6\u00e7\5\24\13\2\u00e7") buf.write("\u00e8\7\"\2\2\u00e8\u00e9\5\24\13\2\u00e9\23\3\2\2\2") buf.write("\u00ea\u00eb\7 \2\2\u00eb\25\3\2\2\2*\31\"&).\65:?DHL") buf.write("SV[^choty~\u0083\u0088\u008d\u0092\u0097\u009c\u00a1\u00a6") buf.write("\u00ab\u00b0\u00b5\u00ba\u00c1\u00c6\u00cb\u00cd\u00d1") buf.write("\u00dd\u00e3") return buf.getvalue() class CommentMacroParser ( Parser ): grammarFileName = "CommentMacro.g4" atn = ATNDeserializer().deserialize(serializedATN()) decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] sharedContextCache = PredictionContextCache() literalNames = [ "", "':'", "'GM'", "'HM'", "'AM'", "'RM'", "'RA'", "'RO'", "'FM'", "'FGM'", "'CM'", "'GL'", "'HL'", "'AL'", "'RL'", "'GB'", "'HB'", "'AB'", "'RB'", "'GS'", "'HS'", "'AS'", "'RS'", "'CP'", "'RV'", "'RN'", "'GK'", "'HK'", "'RK'", "','", "", "'/'", "'>'", "'+'", "'-'", "'*'", "'t'", "", "", "'IOP'" ] symbolicNames = [ "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "NUMBER", "SLASH", "THRU", "NEXT", "PREV", "CURRENT", "TIME", "WHOLEHOG", "DP8K", "IOP", "NEWLINE", "WS", "COMMENT", "LINE_COMMENT" ] RULE_prog = 0 RULE_statement = 1 RULE_macro = 2 RULE_master = 3 RULE_time = 4 RULE_device = 5 RULE_nodeType = 6 RULE_target = 7 RULE_span = 8 RULE_number = 9 ruleNames = [ "prog", "statement", "macro", "master", "time", "device", "nodeType", "target", "span", "number" ] 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 NUMBER=30 SLASH=31 THRU=32 NEXT=33 PREV=34 CURRENT=35 TIME=36 WHOLEHOG=37 DP8K=38 IOP=39 NEWLINE=40 WS=41 COMMENT=42 LINE_COMMENT=43 def __init__(self, input:TokenStream, output:TextIO = sys.stdout): super().__init__(input, output) self.checkVersion("4.7.1") self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) self._predicates = None class ProgContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def EOF(self): return self.getToken(CommentMacroParser.EOF, 0) def statement(self, i:int=None): if i is None: return self.getTypedRuleContexts(CommentMacroParser.StatementContext) else: return self.getTypedRuleContext(CommentMacroParser.StatementContext,i) def getRuleIndex(self): return CommentMacroParser.RULE_prog def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterProg" ): listener.enterProg(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitProg" ): listener.exitProg(self) def prog(self): localctx = CommentMacroParser.ProgContext(self, self._ctx, self.state) self.enterRule(localctx, 0, self.RULE_prog) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 21 self._errHandler.sync(self) _la = self._input.LA(1) while True: self.state = 20 self.statement() self.state = 23 self._errHandler.sync(self) _la = self._input.LA(1) if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.T__1) | (1 << CommentMacroParser.T__2) | (1 << CommentMacroParser.T__3) | (1 << CommentMacroParser.T__4) | (1 << CommentMacroParser.T__5) | (1 << CommentMacroParser.T__6) | (1 << CommentMacroParser.T__7) | (1 << CommentMacroParser.T__8) | (1 << CommentMacroParser.T__9) | (1 << CommentMacroParser.T__10) | (1 << CommentMacroParser.T__11) | (1 << CommentMacroParser.T__12) | (1 << CommentMacroParser.T__13) | (1 << CommentMacroParser.T__14) | (1 << CommentMacroParser.T__15) | (1 << CommentMacroParser.T__16) | (1 << CommentMacroParser.T__17) | (1 << CommentMacroParser.T__18) | (1 << CommentMacroParser.T__19) | (1 << CommentMacroParser.T__20) | (1 << CommentMacroParser.T__21) | (1 << CommentMacroParser.T__22) | (1 << CommentMacroParser.T__23) | (1 << CommentMacroParser.T__24) | (1 << CommentMacroParser.T__25) | (1 << CommentMacroParser.T__26) | (1 << CommentMacroParser.T__27) | (1 << CommentMacroParser.NEWLINE))) != 0)): break self.state = 25 self.match(CommentMacroParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class StatementContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def macro(self, i:int=None): if i is None: return self.getTypedRuleContexts(CommentMacroParser.MacroContext) else: return self.getTypedRuleContext(CommentMacroParser.MacroContext,i) def NEWLINE(self): return self.getToken(CommentMacroParser.NEWLINE, 0) def getRuleIndex(self): return CommentMacroParser.RULE_statement def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterStatement" ): listener.enterStatement(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitStatement" ): listener.exitStatement(self) def statement(self): localctx = CommentMacroParser.StatementContext(self, self._ctx, self.state) self.enterRule(localctx, 2, self.RULE_statement) self._la = 0 # Token type try: self.state = 39 self._errHandler.sync(self) token = self._input.LA(1) if token in [CommentMacroParser.T__1, CommentMacroParser.T__2, CommentMacroParser.T__3, CommentMacroParser.T__4, CommentMacroParser.T__5, CommentMacroParser.T__6, CommentMacroParser.T__7, CommentMacroParser.T__8, CommentMacroParser.T__9, CommentMacroParser.T__10, CommentMacroParser.T__11, CommentMacroParser.T__12, CommentMacroParser.T__13, CommentMacroParser.T__14, CommentMacroParser.T__15, CommentMacroParser.T__16, CommentMacroParser.T__17, CommentMacroParser.T__18, CommentMacroParser.T__19, CommentMacroParser.T__20, CommentMacroParser.T__21, CommentMacroParser.T__22, CommentMacroParser.T__23, CommentMacroParser.T__24, CommentMacroParser.T__25, CommentMacroParser.T__26, CommentMacroParser.T__27]: self.enterOuterAlt(localctx, 1) self.state = 27 self.macro() self.state = 32 self._errHandler.sync(self) _la = self._input.LA(1) while _la==CommentMacroParser.T__0: self.state = 28 self.match(CommentMacroParser.T__0) self.state = 29 self.macro() self.state = 34 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 36 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,2,self._ctx) if la_ == 1: self.state = 35 self.match(CommentMacroParser.NEWLINE) pass elif token in [CommentMacroParser.NEWLINE]: self.enterOuterAlt(localctx, 2) self.state = 38 self.match(CommentMacroParser.NEWLINE) 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 MacroContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def master(self): return self.getTypedRuleContext(CommentMacroParser.MasterContext,0) def device(self): return self.getTypedRuleContext(CommentMacroParser.DeviceContext,0) def SLASH(self): return self.getToken(CommentMacroParser.SLASH, 0) def number(self): return self.getTypedRuleContext(CommentMacroParser.NumberContext,0) def time(self): return self.getTypedRuleContext(CommentMacroParser.TimeContext,0) def target(self): return self.getTypedRuleContext(CommentMacroParser.TargetContext,0) def NEXT(self): return self.getToken(CommentMacroParser.NEXT, 0) def PREV(self): return self.getToken(CommentMacroParser.PREV, 0) def getRuleIndex(self): return CommentMacroParser.RULE_macro def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMacro" ): listener.enterMacro(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMacro" ): listener.exitMacro(self) def macro(self): localctx = CommentMacroParser.MacroContext(self, self._ctx, self.state) self.enterRule(localctx, 4, self.RULE_macro) self._la = 0 # Token type try: self.state = 203 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,36,self._ctx) if la_ == 1: self.enterOuterAlt(localctx, 1) self.state = 41 self.match(CommentMacroParser.T__1) self.state = 42 self.master() self.state = 44 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 43 self.device() pass elif la_ == 2: self.enterOuterAlt(localctx, 2) self.state = 46 self.match(CommentMacroParser.T__1) self.state = 47 self.master() self.state = 48 self.match(CommentMacroParser.SLASH) self.state = 49 self.number() self.state = 51 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 50 self.device() pass elif la_ == 3: self.enterOuterAlt(localctx, 3) self.state = 53 self.match(CommentMacroParser.T__2) self.state = 54 self.master() self.state = 56 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 55 self.device() pass elif la_ == 4: self.enterOuterAlt(localctx, 4) self.state = 58 self.match(CommentMacroParser.T__3) self.state = 59 self.master() self.state = 61 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 60 self.device() pass elif la_ == 5: self.enterOuterAlt(localctx, 5) self.state = 63 self.match(CommentMacroParser.T__4) self.state = 64 self.master() self.state = 66 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 65 self.device() pass elif la_ == 6: self.enterOuterAlt(localctx, 6) self.state = 68 self.match(CommentMacroParser.T__5) self.state = 70 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 69 self.device() pass elif la_ == 7: self.enterOuterAlt(localctx, 7) self.state = 72 self.match(CommentMacroParser.T__6) self.state = 74 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 73 self.device() pass elif la_ == 8: self.enterOuterAlt(localctx, 8) self.state = 76 self.match(CommentMacroParser.T__7) self.state = 77 self.master() self.state = 78 self.match(CommentMacroParser.SLASH) self.state = 79 self.number() self.state = 81 self._errHandler.sync(self) _la = self._input.LA(1) if _la==CommentMacroParser.TIME: self.state = 80 self.time() self.state = 84 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 83 self.device() pass elif la_ == 9: self.enterOuterAlt(localctx, 9) self.state = 86 self.match(CommentMacroParser.T__8) self.state = 87 self.number() self.state = 89 self._errHandler.sync(self) _la = self._input.LA(1) if _la==CommentMacroParser.TIME: self.state = 88 self.time() self.state = 92 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 91 self.device() pass elif la_ == 10: self.enterOuterAlt(localctx, 10) self.state = 94 self.match(CommentMacroParser.T__9) self.state = 95 self.number() self.state = 97 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 96 self.device() pass elif la_ == 11: self.enterOuterAlt(localctx, 11) self.state = 99 self.match(CommentMacroParser.T__10) self.state = 100 self.target() self.state = 102 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 101 self.device() pass elif la_ == 12: self.enterOuterAlt(localctx, 12) self.state = 104 self.match(CommentMacroParser.T__10) self.state = 105 self.target() self.state = 106 self.match(CommentMacroParser.SLASH) self.state = 107 self.number() self.state = 109 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 108 self.device() pass elif la_ == 13: self.enterOuterAlt(localctx, 13) self.state = 111 self.match(CommentMacroParser.T__11) self.state = 112 self.target() self.state = 114 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 113 self.device() pass elif la_ == 14: self.enterOuterAlt(localctx, 14) self.state = 116 self.match(CommentMacroParser.T__12) self.state = 117 self.target() self.state = 119 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 118 self.device() pass elif la_ == 15: self.enterOuterAlt(localctx, 15) self.state = 121 self.match(CommentMacroParser.T__13) self.state = 122 self.target() self.state = 124 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 123 self.device() pass elif la_ == 16: self.enterOuterAlt(localctx, 16) self.state = 126 self.match(CommentMacroParser.T__14) self.state = 127 self.target() self.state = 129 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 128 self.device() pass elif la_ == 17: self.enterOuterAlt(localctx, 17) self.state = 131 self.match(CommentMacroParser.T__15) self.state = 132 self.target() self.state = 134 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 133 self.device() pass elif la_ == 18: self.enterOuterAlt(localctx, 18) self.state = 136 self.match(CommentMacroParser.T__16) self.state = 137 self.target() self.state = 139 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 138 self.device() pass elif la_ == 19: self.enterOuterAlt(localctx, 19) self.state = 141 self.match(CommentMacroParser.T__17) self.state = 142 self.target() self.state = 144 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 143 self.device() pass elif la_ == 20: self.enterOuterAlt(localctx, 20) self.state = 146 self.match(CommentMacroParser.T__18) self.state = 147 self.target() self.state = 149 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 148 self.device() pass elif la_ == 21: self.enterOuterAlt(localctx, 21) self.state = 151 self.match(CommentMacroParser.T__19) self.state = 152 self.target() self.state = 154 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 153 self.device() pass elif la_ == 22: self.enterOuterAlt(localctx, 22) self.state = 156 self.match(CommentMacroParser.T__20) self.state = 157 self.target() self.state = 159 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 158 self.device() pass elif la_ == 23: self.enterOuterAlt(localctx, 23) self.state = 161 self.match(CommentMacroParser.T__21) self.state = 162 self.target() self.state = 164 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 163 self.device() pass elif la_ == 24: self.enterOuterAlt(localctx, 24) self.state = 166 self.match(CommentMacroParser.T__22) self.state = 167 self.number() self.state = 169 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 168 self.device() pass elif la_ == 25: self.enterOuterAlt(localctx, 25) self.state = 171 self.match(CommentMacroParser.T__22) self.state = 172 self.match(CommentMacroParser.NEXT) self.state = 174 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 173 self.device() pass elif la_ == 26: self.enterOuterAlt(localctx, 26) self.state = 176 self.match(CommentMacroParser.T__22) self.state = 177 self.match(CommentMacroParser.PREV) self.state = 179 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 178 self.device() pass elif la_ == 27: self.enterOuterAlt(localctx, 27) self.state = 181 self.match(CommentMacroParser.T__23) self.state = 182 self.number() self.state = 184 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 183 self.device() pass elif la_ == 28: self.enterOuterAlt(localctx, 28) self.state = 186 self.match(CommentMacroParser.T__24) self.state = 187 self.device() pass elif la_ == 29: self.enterOuterAlt(localctx, 29) self.state = 188 self.match(CommentMacroParser.T__25) self.state = 189 self.number() self.state = 191 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 190 self.device() pass elif la_ == 30: self.enterOuterAlt(localctx, 30) self.state = 193 self.match(CommentMacroParser.T__26) self.state = 194 self.number() self.state = 196 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 195 self.device() pass elif la_ == 31: self.enterOuterAlt(localctx, 31) self.state = 198 self.match(CommentMacroParser.T__27) self.state = 199 self.number() self.state = 201 self._errHandler.sync(self) _la = self._input.LA(1) if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 0): self.state = 200 self.device() pass except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class MasterContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def target(self): return self.getTypedRuleContext(CommentMacroParser.TargetContext,0) def CURRENT(self): return self.getToken(CommentMacroParser.CURRENT, 0) def getRuleIndex(self): return CommentMacroParser.RULE_master def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterMaster" ): listener.enterMaster(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitMaster" ): listener.exitMaster(self) def master(self): localctx = CommentMacroParser.MasterContext(self, self._ctx, self.state) self.enterRule(localctx, 6, self.RULE_master) try: self.enterOuterAlt(localctx, 1) self.state = 207 self._errHandler.sync(self) token = self._input.LA(1) if token in [CommentMacroParser.NUMBER]: self.state = 205 self.target() pass elif token in [CommentMacroParser.CURRENT]: self.state = 206 self.match(CommentMacroParser.CURRENT) 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 TimeContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def TIME(self): return self.getToken(CommentMacroParser.TIME, 0) def number(self): return self.getTypedRuleContext(CommentMacroParser.NumberContext,0) def getRuleIndex(self): return CommentMacroParser.RULE_time def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterTime" ): listener.enterTime(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitTime" ): listener.exitTime(self) def time(self): localctx = CommentMacroParser.TimeContext(self, self._ctx, self.state) self.enterRule(localctx, 8, self.RULE_time) try: self.enterOuterAlt(localctx, 1) self.state = 209 self.match(CommentMacroParser.TIME) self.state = 210 self.number() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class DeviceContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def nodeType(self): return self.getTypedRuleContext(CommentMacroParser.NodeTypeContext,0) def number(self): return self.getTypedRuleContext(CommentMacroParser.NumberContext,0) def getRuleIndex(self): return CommentMacroParser.RULE_device def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterDevice" ): listener.enterDevice(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitDevice" ): listener.exitDevice(self) def device(self): localctx = CommentMacroParser.DeviceContext(self, self._ctx, self.state) self.enterRule(localctx, 10, self.RULE_device) try: self.enterOuterAlt(localctx, 1) self.state = 212 self.nodeType() self.state = 213 self.number() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class NodeTypeContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def WHOLEHOG(self): return self.getToken(CommentMacroParser.WHOLEHOG, 0) def DP8K(self): return self.getToken(CommentMacroParser.DP8K, 0) def IOP(self): return self.getToken(CommentMacroParser.IOP, 0) def getRuleIndex(self): return CommentMacroParser.RULE_nodeType def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNodeType" ): listener.enterNodeType(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNodeType" ): listener.exitNodeType(self) def nodeType(self): localctx = CommentMacroParser.NodeTypeContext(self, self._ctx, self.state) self.enterRule(localctx, 12, self.RULE_nodeType) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 215 _la = self._input.LA(1) if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CommentMacroParser.WHOLEHOG) | (1 << CommentMacroParser.DP8K) | (1 << CommentMacroParser.IOP))) != 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 TargetContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def number(self): return self.getTypedRuleContext(CommentMacroParser.NumberContext,0) def span(self): return self.getTypedRuleContext(CommentMacroParser.SpanContext,0) def target(self, i:int=None): if i is None: return self.getTypedRuleContexts(CommentMacroParser.TargetContext) else: return self.getTypedRuleContext(CommentMacroParser.TargetContext,i) def getRuleIndex(self): return CommentMacroParser.RULE_target def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterTarget" ): listener.enterTarget(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitTarget" ): listener.exitTarget(self) def target(self): localctx = CommentMacroParser.TargetContext(self, self._ctx, self.state) self.enterRule(localctx, 14, self.RULE_target) try: self.enterOuterAlt(localctx, 1) self.state = 219 self._errHandler.sync(self) la_ = self._interp.adaptivePredict(self._input,38,self._ctx) if la_ == 1: self.state = 217 self.number() pass elif la_ == 2: self.state = 218 self.span() pass self.state = 225 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,39,self._ctx) while _alt!=2 and _alt!=ATN.INVALID_ALT_NUMBER: if _alt==1: self.state = 221 self.match(CommentMacroParser.T__28) self.state = 222 self.target() self.state = 227 self._errHandler.sync(self) _alt = self._interp.adaptivePredict(self._input,39,self._ctx) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class SpanContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def number(self, i:int=None): if i is None: return self.getTypedRuleContexts(CommentMacroParser.NumberContext) else: return self.getTypedRuleContext(CommentMacroParser.NumberContext,i) def THRU(self): return self.getToken(CommentMacroParser.THRU, 0) def getRuleIndex(self): return CommentMacroParser.RULE_span def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterSpan" ): listener.enterSpan(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitSpan" ): listener.exitSpan(self) def span(self): localctx = CommentMacroParser.SpanContext(self, self._ctx, self.state) self.enterRule(localctx, 16, self.RULE_span) try: self.enterOuterAlt(localctx, 1) self.state = 228 self.number() self.state = 229 self.match(CommentMacroParser.THRU) self.state = 230 self.number() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx class NumberContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser def NUMBER(self): return self.getToken(CommentMacroParser.NUMBER, 0) def getRuleIndex(self): return CommentMacroParser.RULE_number def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterNumber" ): listener.enterNumber(self) def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitNumber" ): listener.exitNumber(self) def number(self): localctx = CommentMacroParser.NumberContext(self, self._ctx, self.state) self.enterRule(localctx, 18, self.RULE_number) try: self.enterOuterAlt(localctx, 1) self.state = 232 self.match(CommentMacroParser.NUMBER) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx