1304 lines
49 KiB
Python
1304 lines
49 KiB
Python
# 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\20\t\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\20\t\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\20\t\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 = [ "<INVALID>", "':'", "'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'", "','", "<INVALID>", "'/'", "'>'", "'+'",
|
|
"'-'", "'*'", "'t'", "<INVALID>", "<INVALID>", "'IOP'" ]
|
|
|
|
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>", "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.target()
|
|
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.target()
|
|
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.target()
|
|
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
|
|
|
|
|
|
|
|
|
|
|