OmegaConfGrammarParser.py 62 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595
  1. # Generated from /tmp/build-via-sdist-fm63w174/omegaconf-2.3.0/omegaconf/grammar/OmegaConfGrammarParser.g4 by ANTLR 4.9.3
  2. # encoding: utf-8
  3. from antlr4 import *
  4. from io import StringIO
  5. import sys
  6. if sys.version_info[1] > 5:
  7. from typing import TextIO
  8. else:
  9. from typing.io import TextIO
  10. def serializedATN():
  11. with StringIO() as buf:
  12. buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\36")
  13. buf.write("\u00b7\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")
  14. 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")
  15. buf.write("\t\16\4\17\t\17\4\20\t\20\4\21\t\21\3\2\3\2\3\2\3\3\3")
  16. buf.write("\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4\6\4/\n\4\r\4\16\4\60\3")
  17. buf.write("\5\3\5\3\5\3\5\5\5\67\n\5\3\6\3\6\5\6;\n\6\3\6\3\6\3\7")
  18. buf.write("\3\7\3\7\3\7\7\7C\n\7\f\7\16\7F\13\7\5\7H\n\7\3\7\3\7")
  19. buf.write("\3\b\3\b\3\b\3\b\3\t\3\t\3\t\5\tS\n\t\7\tU\n\t\f\t\16")
  20. buf.write("\tX\13\t\3\t\3\t\5\t\\\n\t\6\t^\n\t\r\t\16\t_\5\tb\n\t")
  21. buf.write("\3\n\3\n\5\nf\n\n\3\13\3\13\7\13j\n\13\f\13\16\13m\13")
  22. buf.write("\13\3\13\3\13\3\13\3\13\3\13\5\13t\n\13\3\13\3\13\3\13")
  23. buf.write("\3\13\3\13\3\13\7\13|\n\13\f\13\16\13\177\13\13\3\13\3")
  24. buf.write("\13\3\f\3\f\3\f\3\f\5\f\u0087\n\f\3\f\3\f\3\r\3\r\3\r")
  25. buf.write("\5\r\u008e\n\r\3\16\3\16\5\16\u0092\n\16\3\16\3\16\3\16")
  26. buf.write("\5\16\u0097\n\16\7\16\u0099\n\16\f\16\16\16\u009c\13\16")
  27. buf.write("\3\17\3\17\5\17\u00a0\n\17\3\17\3\17\3\20\3\20\3\20\3")
  28. buf.write("\20\3\20\3\20\3\20\3\20\3\20\3\20\6\20\u00ae\n\20\r\20")
  29. buf.write("\16\20\u00af\3\21\6\21\u00b3\n\21\r\21\16\21\u00b4\3\21")
  30. buf.write("\2\2\22\2\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \2\4\3")
  31. buf.write("\2\t\n\3\2\17\26\2\u00ce\2\"\3\2\2\2\4%\3\2\2\2\6.\3\2")
  32. buf.write("\2\2\b\66\3\2\2\2\n8\3\2\2\2\f>\3\2\2\2\16K\3\2\2\2\20")
  33. buf.write("a\3\2\2\2\22e\3\2\2\2\24g\3\2\2\2\26\u0082\3\2\2\2\30")
  34. buf.write("\u008d\3\2\2\2\32\u0091\3\2\2\2\34\u009d\3\2\2\2\36\u00ad")
  35. buf.write("\3\2\2\2 \u00b2\3\2\2\2\"#\5\6\4\2#$\7\2\2\3$\3\3\2\2")
  36. buf.write("\2%&\5\b\5\2&\'\7\2\2\3\'\5\3\2\2\2(/\5\22\n\2)/\7\3\2")
  37. buf.write("\2*/\7\25\2\2+/\7\4\2\2,/\7\5\2\2-/\7\33\2\2.(\3\2\2\2")
  38. buf.write(".)\3\2\2\2.*\3\2\2\2.+\3\2\2\2.,\3\2\2\2.-\3\2\2\2/\60")
  39. buf.write("\3\2\2\2\60.\3\2\2\2\60\61\3\2\2\2\61\7\3\2\2\2\62\67")
  40. buf.write("\5\36\20\2\63\67\5\34\17\2\64\67\5\n\6\2\65\67\5\f\7\2")
  41. buf.write("\66\62\3\2\2\2\66\63\3\2\2\2\66\64\3\2\2\2\66\65\3\2\2")
  42. buf.write("\2\67\t\3\2\2\28:\7\f\2\29;\5\20\t\2:9\3\2\2\2:;\3\2\2")
  43. buf.write("\2;<\3\2\2\2<=\7\r\2\2=\13\3\2\2\2>G\7\7\2\2?D\5\16\b")
  44. buf.write("\2@A\7\13\2\2AC\5\16\b\2B@\3\2\2\2CF\3\2\2\2DB\3\2\2\2")
  45. buf.write("DE\3\2\2\2EH\3\2\2\2FD\3\2\2\2G?\3\2\2\2GH\3\2\2\2HI\3")
  46. buf.write("\2\2\2IJ\7\b\2\2J\r\3\2\2\2KL\5 \21\2LM\7\16\2\2MN\5\b")
  47. buf.write("\5\2N\17\3\2\2\2OV\5\b\5\2PR\7\13\2\2QS\5\b\5\2RQ\3\2")
  48. buf.write("\2\2RS\3\2\2\2SU\3\2\2\2TP\3\2\2\2UX\3\2\2\2VT\3\2\2\2")
  49. buf.write("VW\3\2\2\2Wb\3\2\2\2XV\3\2\2\2Y[\7\13\2\2Z\\\5\b\5\2[")
  50. buf.write("Z\3\2\2\2[\\\3\2\2\2\\^\3\2\2\2]Y\3\2\2\2^_\3\2\2\2_]")
  51. buf.write("\3\2\2\2_`\3\2\2\2`b\3\2\2\2aO\3\2\2\2a]\3\2\2\2b\21\3")
  52. buf.write("\2\2\2cf\5\24\13\2df\5\26\f\2ec\3\2\2\2ed\3\2\2\2f\23")
  53. buf.write("\3\2\2\2gk\7\6\2\2hj\7\30\2\2ih\3\2\2\2jm\3\2\2\2ki\3")
  54. buf.write("\2\2\2kl\3\2\2\2ls\3\2\2\2mk\3\2\2\2nt\5\30\r\2op\7\f")
  55. buf.write("\2\2pq\5\30\r\2qr\7\r\2\2rt\3\2\2\2sn\3\2\2\2so\3\2\2")
  56. buf.write("\2t}\3\2\2\2uv\7\30\2\2v|\5\30\r\2wx\7\f\2\2xy\5\30\r")
  57. buf.write("\2yz\7\r\2\2z|\3\2\2\2{u\3\2\2\2{w\3\2\2\2|\177\3\2\2")
  58. buf.write("\2}{\3\2\2\2}~\3\2\2\2~\u0080\3\2\2\2\177}\3\2\2\2\u0080")
  59. buf.write("\u0081\7\27\2\2\u0081\25\3\2\2\2\u0082\u0083\7\6\2\2\u0083")
  60. buf.write("\u0084\5\32\16\2\u0084\u0086\7\16\2\2\u0085\u0087\5\20")
  61. buf.write("\t\2\u0086\u0085\3\2\2\2\u0086\u0087\3\2\2\2\u0087\u0088")
  62. buf.write("\3\2\2\2\u0088\u0089\7\b\2\2\u0089\27\3\2\2\2\u008a\u008e")
  63. buf.write("\5\22\n\2\u008b\u008e\7\24\2\2\u008c\u008e\7\31\2\2\u008d")
  64. buf.write("\u008a\3\2\2\2\u008d\u008b\3\2\2\2\u008d\u008c\3\2\2\2")
  65. buf.write("\u008e\31\3\2\2\2\u008f\u0092\5\22\n\2\u0090\u0092\7\24")
  66. buf.write("\2\2\u0091\u008f\3\2\2\2\u0091\u0090\3\2\2\2\u0092\u009a")
  67. buf.write("\3\2\2\2\u0093\u0096\7\30\2\2\u0094\u0097\5\22\n\2\u0095")
  68. buf.write("\u0097\7\24\2\2\u0096\u0094\3\2\2\2\u0096\u0095\3\2\2")
  69. buf.write("\2\u0097\u0099\3\2\2\2\u0098\u0093\3\2\2\2\u0099\u009c")
  70. buf.write("\3\2\2\2\u009a\u0098\3\2\2\2\u009a\u009b\3\2\2\2\u009b")
  71. buf.write("\33\3\2\2\2\u009c\u009a\3\2\2\2\u009d\u009f\t\2\2\2\u009e")
  72. buf.write("\u00a0\5\6\4\2\u009f\u009e\3\2\2\2\u009f\u00a0\3\2\2\2")
  73. buf.write("\u00a0\u00a1\3\2\2\2\u00a1\u00a2\7\32\2\2\u00a2\35\3\2")
  74. buf.write("\2\2\u00a3\u00ae\7\24\2\2\u00a4\u00ae\7\22\2\2\u00a5\u00ae")
  75. buf.write("\7\20\2\2\u00a6\u00ae\7\17\2\2\u00a7\u00ae\7\21\2\2\u00a8")
  76. buf.write("\u00ae\7\23\2\2\u00a9\u00ae\7\16\2\2\u00aa\u00ae\7\25")
  77. buf.write("\2\2\u00ab\u00ae\7\26\2\2\u00ac\u00ae\5\22\n\2\u00ad\u00a3")
  78. buf.write("\3\2\2\2\u00ad\u00a4\3\2\2\2\u00ad\u00a5\3\2\2\2\u00ad")
  79. buf.write("\u00a6\3\2\2\2\u00ad\u00a7\3\2\2\2\u00ad\u00a8\3\2\2\2")
  80. buf.write("\u00ad\u00a9\3\2\2\2\u00ad\u00aa\3\2\2\2\u00ad\u00ab\3")
  81. buf.write("\2\2\2\u00ad\u00ac\3\2\2\2\u00ae\u00af\3\2\2\2\u00af\u00ad")
  82. buf.write("\3\2\2\2\u00af\u00b0\3\2\2\2\u00b0\37\3\2\2\2\u00b1\u00b3")
  83. buf.write("\t\3\2\2\u00b2\u00b1\3\2\2\2\u00b3\u00b4\3\2\2\2\u00b4")
  84. buf.write("\u00b2\3\2\2\2\u00b4\u00b5\3\2\2\2\u00b5!\3\2\2\2\33.")
  85. buf.write("\60\66:DGRV[_aeks{}\u0086\u008d\u0091\u0096\u009a\u009f")
  86. buf.write("\u00ad\u00af\u00b4")
  87. return buf.getvalue()
  88. class OmegaConfGrammarParser ( Parser ):
  89. grammarFileName = "OmegaConfGrammarParser.g4"
  90. atn = ATNDeserializer().deserialize(serializedATN())
  91. decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ]
  92. sharedContextCache = PredictionContextCache()
  93. literalNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
  94. "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
  95. "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
  96. "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
  97. "<INVALID>", "<INVALID>", "<INVALID>", "<INVALID>",
  98. "<INVALID>", "<INVALID>", "'.'", "<INVALID>", "<INVALID>",
  99. "<INVALID>", "<INVALID>", "'['", "']'" ]
  100. symbolicNames = [ "<INVALID>", "ANY_STR", "ESC_INTER", "TOP_ESC", "INTER_OPEN",
  101. "BRACE_OPEN", "BRACE_CLOSE", "QUOTE_OPEN_SINGLE",
  102. "QUOTE_OPEN_DOUBLE", "COMMA", "BRACKET_OPEN", "BRACKET_CLOSE",
  103. "COLON", "FLOAT", "INT", "BOOL", "NULL", "UNQUOTED_CHAR",
  104. "ID", "ESC", "WS", "INTER_CLOSE", "DOT", "INTER_KEY",
  105. "MATCHING_QUOTE_CLOSE", "QUOTED_ESC", "DOLLAR", "INTER_BRACKET_OPEN",
  106. "INTER_BRACKET_CLOSE" ]
  107. RULE_configValue = 0
  108. RULE_singleElement = 1
  109. RULE_text = 2
  110. RULE_element = 3
  111. RULE_listContainer = 4
  112. RULE_dictContainer = 5
  113. RULE_dictKeyValuePair = 6
  114. RULE_sequence = 7
  115. RULE_interpolation = 8
  116. RULE_interpolationNode = 9
  117. RULE_interpolationResolver = 10
  118. RULE_configKey = 11
  119. RULE_resolverName = 12
  120. RULE_quotedValue = 13
  121. RULE_primitive = 14
  122. RULE_dictKey = 15
  123. ruleNames = [ "configValue", "singleElement", "text", "element", "listContainer",
  124. "dictContainer", "dictKeyValuePair", "sequence", "interpolation",
  125. "interpolationNode", "interpolationResolver", "configKey",
  126. "resolverName", "quotedValue", "primitive", "dictKey" ]
  127. EOF = Token.EOF
  128. ANY_STR=1
  129. ESC_INTER=2
  130. TOP_ESC=3
  131. INTER_OPEN=4
  132. BRACE_OPEN=5
  133. BRACE_CLOSE=6
  134. QUOTE_OPEN_SINGLE=7
  135. QUOTE_OPEN_DOUBLE=8
  136. COMMA=9
  137. BRACKET_OPEN=10
  138. BRACKET_CLOSE=11
  139. COLON=12
  140. FLOAT=13
  141. INT=14
  142. BOOL=15
  143. NULL=16
  144. UNQUOTED_CHAR=17
  145. ID=18
  146. ESC=19
  147. WS=20
  148. INTER_CLOSE=21
  149. DOT=22
  150. INTER_KEY=23
  151. MATCHING_QUOTE_CLOSE=24
  152. QUOTED_ESC=25
  153. DOLLAR=26
  154. INTER_BRACKET_OPEN=27
  155. INTER_BRACKET_CLOSE=28
  156. def __init__(self, input:TokenStream, output:TextIO = sys.stdout):
  157. super().__init__(input, output)
  158. self.checkVersion("4.9.3")
  159. self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache)
  160. self._predicates = None
  161. class ConfigValueContext(ParserRuleContext):
  162. __slots__ = 'parser'
  163. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  164. super().__init__(parent, invokingState)
  165. self.parser = parser
  166. def text(self):
  167. return self.getTypedRuleContext(OmegaConfGrammarParser.TextContext,0)
  168. def EOF(self):
  169. return self.getToken(OmegaConfGrammarParser.EOF, 0)
  170. def getRuleIndex(self):
  171. return OmegaConfGrammarParser.RULE_configValue
  172. def enterRule(self, listener:ParseTreeListener):
  173. if hasattr( listener, "enterConfigValue" ):
  174. listener.enterConfigValue(self)
  175. def exitRule(self, listener:ParseTreeListener):
  176. if hasattr( listener, "exitConfigValue" ):
  177. listener.exitConfigValue(self)
  178. def accept(self, visitor:ParseTreeVisitor):
  179. if hasattr( visitor, "visitConfigValue" ):
  180. return visitor.visitConfigValue(self)
  181. else:
  182. return visitor.visitChildren(self)
  183. def configValue(self):
  184. localctx = OmegaConfGrammarParser.ConfigValueContext(self, self._ctx, self.state)
  185. self.enterRule(localctx, 0, self.RULE_configValue)
  186. try:
  187. self.enterOuterAlt(localctx, 1)
  188. self.state = 32
  189. self.text()
  190. self.state = 33
  191. self.match(OmegaConfGrammarParser.EOF)
  192. except RecognitionException as re:
  193. localctx.exception = re
  194. self._errHandler.reportError(self, re)
  195. self._errHandler.recover(self, re)
  196. finally:
  197. self.exitRule()
  198. return localctx
  199. class SingleElementContext(ParserRuleContext):
  200. __slots__ = 'parser'
  201. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  202. super().__init__(parent, invokingState)
  203. self.parser = parser
  204. def element(self):
  205. return self.getTypedRuleContext(OmegaConfGrammarParser.ElementContext,0)
  206. def EOF(self):
  207. return self.getToken(OmegaConfGrammarParser.EOF, 0)
  208. def getRuleIndex(self):
  209. return OmegaConfGrammarParser.RULE_singleElement
  210. def enterRule(self, listener:ParseTreeListener):
  211. if hasattr( listener, "enterSingleElement" ):
  212. listener.enterSingleElement(self)
  213. def exitRule(self, listener:ParseTreeListener):
  214. if hasattr( listener, "exitSingleElement" ):
  215. listener.exitSingleElement(self)
  216. def accept(self, visitor:ParseTreeVisitor):
  217. if hasattr( visitor, "visitSingleElement" ):
  218. return visitor.visitSingleElement(self)
  219. else:
  220. return visitor.visitChildren(self)
  221. def singleElement(self):
  222. localctx = OmegaConfGrammarParser.SingleElementContext(self, self._ctx, self.state)
  223. self.enterRule(localctx, 2, self.RULE_singleElement)
  224. try:
  225. self.enterOuterAlt(localctx, 1)
  226. self.state = 35
  227. self.element()
  228. self.state = 36
  229. self.match(OmegaConfGrammarParser.EOF)
  230. except RecognitionException as re:
  231. localctx.exception = re
  232. self._errHandler.reportError(self, re)
  233. self._errHandler.recover(self, re)
  234. finally:
  235. self.exitRule()
  236. return localctx
  237. class TextContext(ParserRuleContext):
  238. __slots__ = 'parser'
  239. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  240. super().__init__(parent, invokingState)
  241. self.parser = parser
  242. def interpolation(self, i:int=None):
  243. if i is None:
  244. return self.getTypedRuleContexts(OmegaConfGrammarParser.InterpolationContext)
  245. else:
  246. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationContext,i)
  247. def ANY_STR(self, i:int=None):
  248. if i is None:
  249. return self.getTokens(OmegaConfGrammarParser.ANY_STR)
  250. else:
  251. return self.getToken(OmegaConfGrammarParser.ANY_STR, i)
  252. def ESC(self, i:int=None):
  253. if i is None:
  254. return self.getTokens(OmegaConfGrammarParser.ESC)
  255. else:
  256. return self.getToken(OmegaConfGrammarParser.ESC, i)
  257. def ESC_INTER(self, i:int=None):
  258. if i is None:
  259. return self.getTokens(OmegaConfGrammarParser.ESC_INTER)
  260. else:
  261. return self.getToken(OmegaConfGrammarParser.ESC_INTER, i)
  262. def TOP_ESC(self, i:int=None):
  263. if i is None:
  264. return self.getTokens(OmegaConfGrammarParser.TOP_ESC)
  265. else:
  266. return self.getToken(OmegaConfGrammarParser.TOP_ESC, i)
  267. def QUOTED_ESC(self, i:int=None):
  268. if i is None:
  269. return self.getTokens(OmegaConfGrammarParser.QUOTED_ESC)
  270. else:
  271. return self.getToken(OmegaConfGrammarParser.QUOTED_ESC, i)
  272. def getRuleIndex(self):
  273. return OmegaConfGrammarParser.RULE_text
  274. def enterRule(self, listener:ParseTreeListener):
  275. if hasattr( listener, "enterText" ):
  276. listener.enterText(self)
  277. def exitRule(self, listener:ParseTreeListener):
  278. if hasattr( listener, "exitText" ):
  279. listener.exitText(self)
  280. def accept(self, visitor:ParseTreeVisitor):
  281. if hasattr( visitor, "visitText" ):
  282. return visitor.visitText(self)
  283. else:
  284. return visitor.visitChildren(self)
  285. def text(self):
  286. localctx = OmegaConfGrammarParser.TextContext(self, self._ctx, self.state)
  287. self.enterRule(localctx, 4, self.RULE_text)
  288. self._la = 0 # Token type
  289. try:
  290. self.enterOuterAlt(localctx, 1)
  291. self.state = 44
  292. self._errHandler.sync(self)
  293. _la = self._input.LA(1)
  294. while True:
  295. self.state = 44
  296. self._errHandler.sync(self)
  297. token = self._input.LA(1)
  298. if token in [OmegaConfGrammarParser.INTER_OPEN]:
  299. self.state = 38
  300. self.interpolation()
  301. pass
  302. elif token in [OmegaConfGrammarParser.ANY_STR]:
  303. self.state = 39
  304. self.match(OmegaConfGrammarParser.ANY_STR)
  305. pass
  306. elif token in [OmegaConfGrammarParser.ESC]:
  307. self.state = 40
  308. self.match(OmegaConfGrammarParser.ESC)
  309. pass
  310. elif token in [OmegaConfGrammarParser.ESC_INTER]:
  311. self.state = 41
  312. self.match(OmegaConfGrammarParser.ESC_INTER)
  313. pass
  314. elif token in [OmegaConfGrammarParser.TOP_ESC]:
  315. self.state = 42
  316. self.match(OmegaConfGrammarParser.TOP_ESC)
  317. pass
  318. elif token in [OmegaConfGrammarParser.QUOTED_ESC]:
  319. self.state = 43
  320. self.match(OmegaConfGrammarParser.QUOTED_ESC)
  321. pass
  322. else:
  323. raise NoViableAltException(self)
  324. self.state = 46
  325. self._errHandler.sync(self)
  326. _la = self._input.LA(1)
  327. if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.ANY_STR) | (1 << OmegaConfGrammarParser.ESC_INTER) | (1 << OmegaConfGrammarParser.TOP_ESC) | (1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.QUOTED_ESC))) != 0)):
  328. break
  329. except RecognitionException as re:
  330. localctx.exception = re
  331. self._errHandler.reportError(self, re)
  332. self._errHandler.recover(self, re)
  333. finally:
  334. self.exitRule()
  335. return localctx
  336. class ElementContext(ParserRuleContext):
  337. __slots__ = 'parser'
  338. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  339. super().__init__(parent, invokingState)
  340. self.parser = parser
  341. def primitive(self):
  342. return self.getTypedRuleContext(OmegaConfGrammarParser.PrimitiveContext,0)
  343. def quotedValue(self):
  344. return self.getTypedRuleContext(OmegaConfGrammarParser.QuotedValueContext,0)
  345. def listContainer(self):
  346. return self.getTypedRuleContext(OmegaConfGrammarParser.ListContainerContext,0)
  347. def dictContainer(self):
  348. return self.getTypedRuleContext(OmegaConfGrammarParser.DictContainerContext,0)
  349. def getRuleIndex(self):
  350. return OmegaConfGrammarParser.RULE_element
  351. def enterRule(self, listener:ParseTreeListener):
  352. if hasattr( listener, "enterElement" ):
  353. listener.enterElement(self)
  354. def exitRule(self, listener:ParseTreeListener):
  355. if hasattr( listener, "exitElement" ):
  356. listener.exitElement(self)
  357. def accept(self, visitor:ParseTreeVisitor):
  358. if hasattr( visitor, "visitElement" ):
  359. return visitor.visitElement(self)
  360. else:
  361. return visitor.visitChildren(self)
  362. def element(self):
  363. localctx = OmegaConfGrammarParser.ElementContext(self, self._ctx, self.state)
  364. self.enterRule(localctx, 6, self.RULE_element)
  365. try:
  366. self.state = 52
  367. self._errHandler.sync(self)
  368. token = self._input.LA(1)
  369. if token in [OmegaConfGrammarParser.INTER_OPEN, OmegaConfGrammarParser.COLON, OmegaConfGrammarParser.FLOAT, OmegaConfGrammarParser.INT, OmegaConfGrammarParser.BOOL, OmegaConfGrammarParser.NULL, OmegaConfGrammarParser.UNQUOTED_CHAR, OmegaConfGrammarParser.ID, OmegaConfGrammarParser.ESC, OmegaConfGrammarParser.WS]:
  370. self.enterOuterAlt(localctx, 1)
  371. self.state = 48
  372. self.primitive()
  373. pass
  374. elif token in [OmegaConfGrammarParser.QUOTE_OPEN_SINGLE, OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE]:
  375. self.enterOuterAlt(localctx, 2)
  376. self.state = 49
  377. self.quotedValue()
  378. pass
  379. elif token in [OmegaConfGrammarParser.BRACKET_OPEN]:
  380. self.enterOuterAlt(localctx, 3)
  381. self.state = 50
  382. self.listContainer()
  383. pass
  384. elif token in [OmegaConfGrammarParser.BRACE_OPEN]:
  385. self.enterOuterAlt(localctx, 4)
  386. self.state = 51
  387. self.dictContainer()
  388. pass
  389. else:
  390. raise NoViableAltException(self)
  391. except RecognitionException as re:
  392. localctx.exception = re
  393. self._errHandler.reportError(self, re)
  394. self._errHandler.recover(self, re)
  395. finally:
  396. self.exitRule()
  397. return localctx
  398. class ListContainerContext(ParserRuleContext):
  399. __slots__ = 'parser'
  400. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  401. super().__init__(parent, invokingState)
  402. self.parser = parser
  403. def BRACKET_OPEN(self):
  404. return self.getToken(OmegaConfGrammarParser.BRACKET_OPEN, 0)
  405. def BRACKET_CLOSE(self):
  406. return self.getToken(OmegaConfGrammarParser.BRACKET_CLOSE, 0)
  407. def sequence(self):
  408. return self.getTypedRuleContext(OmegaConfGrammarParser.SequenceContext,0)
  409. def getRuleIndex(self):
  410. return OmegaConfGrammarParser.RULE_listContainer
  411. def enterRule(self, listener:ParseTreeListener):
  412. if hasattr( listener, "enterListContainer" ):
  413. listener.enterListContainer(self)
  414. def exitRule(self, listener:ParseTreeListener):
  415. if hasattr( listener, "exitListContainer" ):
  416. listener.exitListContainer(self)
  417. def accept(self, visitor:ParseTreeVisitor):
  418. if hasattr( visitor, "visitListContainer" ):
  419. return visitor.visitListContainer(self)
  420. else:
  421. return visitor.visitChildren(self)
  422. def listContainer(self):
  423. localctx = OmegaConfGrammarParser.ListContainerContext(self, self._ctx, self.state)
  424. self.enterRule(localctx, 8, self.RULE_listContainer)
  425. self._la = 0 # Token type
  426. try:
  427. self.enterOuterAlt(localctx, 1)
  428. self.state = 54
  429. self.match(OmegaConfGrammarParser.BRACKET_OPEN)
  430. self.state = 56
  431. self._errHandler.sync(self)
  432. _la = self._input.LA(1)
  433. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.BRACE_OPEN) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_SINGLE) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE) | (1 << OmegaConfGrammarParser.COMMA) | (1 << OmegaConfGrammarParser.BRACKET_OPEN) | (1 << OmegaConfGrammarParser.COLON) | (1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0):
  434. self.state = 55
  435. self.sequence()
  436. self.state = 58
  437. self.match(OmegaConfGrammarParser.BRACKET_CLOSE)
  438. except RecognitionException as re:
  439. localctx.exception = re
  440. self._errHandler.reportError(self, re)
  441. self._errHandler.recover(self, re)
  442. finally:
  443. self.exitRule()
  444. return localctx
  445. class DictContainerContext(ParserRuleContext):
  446. __slots__ = 'parser'
  447. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  448. super().__init__(parent, invokingState)
  449. self.parser = parser
  450. def BRACE_OPEN(self):
  451. return self.getToken(OmegaConfGrammarParser.BRACE_OPEN, 0)
  452. def BRACE_CLOSE(self):
  453. return self.getToken(OmegaConfGrammarParser.BRACE_CLOSE, 0)
  454. def dictKeyValuePair(self, i:int=None):
  455. if i is None:
  456. return self.getTypedRuleContexts(OmegaConfGrammarParser.DictKeyValuePairContext)
  457. else:
  458. return self.getTypedRuleContext(OmegaConfGrammarParser.DictKeyValuePairContext,i)
  459. def COMMA(self, i:int=None):
  460. if i is None:
  461. return self.getTokens(OmegaConfGrammarParser.COMMA)
  462. else:
  463. return self.getToken(OmegaConfGrammarParser.COMMA, i)
  464. def getRuleIndex(self):
  465. return OmegaConfGrammarParser.RULE_dictContainer
  466. def enterRule(self, listener:ParseTreeListener):
  467. if hasattr( listener, "enterDictContainer" ):
  468. listener.enterDictContainer(self)
  469. def exitRule(self, listener:ParseTreeListener):
  470. if hasattr( listener, "exitDictContainer" ):
  471. listener.exitDictContainer(self)
  472. def accept(self, visitor:ParseTreeVisitor):
  473. if hasattr( visitor, "visitDictContainer" ):
  474. return visitor.visitDictContainer(self)
  475. else:
  476. return visitor.visitChildren(self)
  477. def dictContainer(self):
  478. localctx = OmegaConfGrammarParser.DictContainerContext(self, self._ctx, self.state)
  479. self.enterRule(localctx, 10, self.RULE_dictContainer)
  480. self._la = 0 # Token type
  481. try:
  482. self.enterOuterAlt(localctx, 1)
  483. self.state = 60
  484. self.match(OmegaConfGrammarParser.BRACE_OPEN)
  485. self.state = 69
  486. self._errHandler.sync(self)
  487. _la = self._input.LA(1)
  488. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0):
  489. self.state = 61
  490. self.dictKeyValuePair()
  491. self.state = 66
  492. self._errHandler.sync(self)
  493. _la = self._input.LA(1)
  494. while _la==OmegaConfGrammarParser.COMMA:
  495. self.state = 62
  496. self.match(OmegaConfGrammarParser.COMMA)
  497. self.state = 63
  498. self.dictKeyValuePair()
  499. self.state = 68
  500. self._errHandler.sync(self)
  501. _la = self._input.LA(1)
  502. self.state = 71
  503. self.match(OmegaConfGrammarParser.BRACE_CLOSE)
  504. except RecognitionException as re:
  505. localctx.exception = re
  506. self._errHandler.reportError(self, re)
  507. self._errHandler.recover(self, re)
  508. finally:
  509. self.exitRule()
  510. return localctx
  511. class DictKeyValuePairContext(ParserRuleContext):
  512. __slots__ = 'parser'
  513. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  514. super().__init__(parent, invokingState)
  515. self.parser = parser
  516. def dictKey(self):
  517. return self.getTypedRuleContext(OmegaConfGrammarParser.DictKeyContext,0)
  518. def COLON(self):
  519. return self.getToken(OmegaConfGrammarParser.COLON, 0)
  520. def element(self):
  521. return self.getTypedRuleContext(OmegaConfGrammarParser.ElementContext,0)
  522. def getRuleIndex(self):
  523. return OmegaConfGrammarParser.RULE_dictKeyValuePair
  524. def enterRule(self, listener:ParseTreeListener):
  525. if hasattr( listener, "enterDictKeyValuePair" ):
  526. listener.enterDictKeyValuePair(self)
  527. def exitRule(self, listener:ParseTreeListener):
  528. if hasattr( listener, "exitDictKeyValuePair" ):
  529. listener.exitDictKeyValuePair(self)
  530. def accept(self, visitor:ParseTreeVisitor):
  531. if hasattr( visitor, "visitDictKeyValuePair" ):
  532. return visitor.visitDictKeyValuePair(self)
  533. else:
  534. return visitor.visitChildren(self)
  535. def dictKeyValuePair(self):
  536. localctx = OmegaConfGrammarParser.DictKeyValuePairContext(self, self._ctx, self.state)
  537. self.enterRule(localctx, 12, self.RULE_dictKeyValuePair)
  538. try:
  539. self.enterOuterAlt(localctx, 1)
  540. self.state = 73
  541. self.dictKey()
  542. self.state = 74
  543. self.match(OmegaConfGrammarParser.COLON)
  544. self.state = 75
  545. self.element()
  546. except RecognitionException as re:
  547. localctx.exception = re
  548. self._errHandler.reportError(self, re)
  549. self._errHandler.recover(self, re)
  550. finally:
  551. self.exitRule()
  552. return localctx
  553. class SequenceContext(ParserRuleContext):
  554. __slots__ = 'parser'
  555. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  556. super().__init__(parent, invokingState)
  557. self.parser = parser
  558. def element(self, i:int=None):
  559. if i is None:
  560. return self.getTypedRuleContexts(OmegaConfGrammarParser.ElementContext)
  561. else:
  562. return self.getTypedRuleContext(OmegaConfGrammarParser.ElementContext,i)
  563. def COMMA(self, i:int=None):
  564. if i is None:
  565. return self.getTokens(OmegaConfGrammarParser.COMMA)
  566. else:
  567. return self.getToken(OmegaConfGrammarParser.COMMA, i)
  568. def getRuleIndex(self):
  569. return OmegaConfGrammarParser.RULE_sequence
  570. def enterRule(self, listener:ParseTreeListener):
  571. if hasattr( listener, "enterSequence" ):
  572. listener.enterSequence(self)
  573. def exitRule(self, listener:ParseTreeListener):
  574. if hasattr( listener, "exitSequence" ):
  575. listener.exitSequence(self)
  576. def accept(self, visitor:ParseTreeVisitor):
  577. if hasattr( visitor, "visitSequence" ):
  578. return visitor.visitSequence(self)
  579. else:
  580. return visitor.visitChildren(self)
  581. def sequence(self):
  582. localctx = OmegaConfGrammarParser.SequenceContext(self, self._ctx, self.state)
  583. self.enterRule(localctx, 14, self.RULE_sequence)
  584. self._la = 0 # Token type
  585. try:
  586. self.state = 95
  587. self._errHandler.sync(self)
  588. token = self._input.LA(1)
  589. if token in [OmegaConfGrammarParser.INTER_OPEN, OmegaConfGrammarParser.BRACE_OPEN, OmegaConfGrammarParser.QUOTE_OPEN_SINGLE, OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE, OmegaConfGrammarParser.BRACKET_OPEN, OmegaConfGrammarParser.COLON, OmegaConfGrammarParser.FLOAT, OmegaConfGrammarParser.INT, OmegaConfGrammarParser.BOOL, OmegaConfGrammarParser.NULL, OmegaConfGrammarParser.UNQUOTED_CHAR, OmegaConfGrammarParser.ID, OmegaConfGrammarParser.ESC, OmegaConfGrammarParser.WS]:
  590. self.enterOuterAlt(localctx, 1)
  591. self.state = 77
  592. self.element()
  593. self.state = 84
  594. self._errHandler.sync(self)
  595. _la = self._input.LA(1)
  596. while _la==OmegaConfGrammarParser.COMMA:
  597. self.state = 78
  598. self.match(OmegaConfGrammarParser.COMMA)
  599. self.state = 80
  600. self._errHandler.sync(self)
  601. _la = self._input.LA(1)
  602. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.BRACE_OPEN) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_SINGLE) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE) | (1 << OmegaConfGrammarParser.BRACKET_OPEN) | (1 << OmegaConfGrammarParser.COLON) | (1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0):
  603. self.state = 79
  604. self.element()
  605. self.state = 86
  606. self._errHandler.sync(self)
  607. _la = self._input.LA(1)
  608. pass
  609. elif token in [OmegaConfGrammarParser.COMMA]:
  610. self.enterOuterAlt(localctx, 2)
  611. self.state = 91
  612. self._errHandler.sync(self)
  613. _la = self._input.LA(1)
  614. while True:
  615. self.state = 87
  616. self.match(OmegaConfGrammarParser.COMMA)
  617. self.state = 89
  618. self._errHandler.sync(self)
  619. _la = self._input.LA(1)
  620. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.BRACE_OPEN) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_SINGLE) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE) | (1 << OmegaConfGrammarParser.BRACKET_OPEN) | (1 << OmegaConfGrammarParser.COLON) | (1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0):
  621. self.state = 88
  622. self.element()
  623. self.state = 93
  624. self._errHandler.sync(self)
  625. _la = self._input.LA(1)
  626. if not (_la==OmegaConfGrammarParser.COMMA):
  627. break
  628. pass
  629. else:
  630. raise NoViableAltException(self)
  631. except RecognitionException as re:
  632. localctx.exception = re
  633. self._errHandler.reportError(self, re)
  634. self._errHandler.recover(self, re)
  635. finally:
  636. self.exitRule()
  637. return localctx
  638. class InterpolationContext(ParserRuleContext):
  639. __slots__ = 'parser'
  640. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  641. super().__init__(parent, invokingState)
  642. self.parser = parser
  643. def interpolationNode(self):
  644. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationNodeContext,0)
  645. def interpolationResolver(self):
  646. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationResolverContext,0)
  647. def getRuleIndex(self):
  648. return OmegaConfGrammarParser.RULE_interpolation
  649. def enterRule(self, listener:ParseTreeListener):
  650. if hasattr( listener, "enterInterpolation" ):
  651. listener.enterInterpolation(self)
  652. def exitRule(self, listener:ParseTreeListener):
  653. if hasattr( listener, "exitInterpolation" ):
  654. listener.exitInterpolation(self)
  655. def accept(self, visitor:ParseTreeVisitor):
  656. if hasattr( visitor, "visitInterpolation" ):
  657. return visitor.visitInterpolation(self)
  658. else:
  659. return visitor.visitChildren(self)
  660. def interpolation(self):
  661. localctx = OmegaConfGrammarParser.InterpolationContext(self, self._ctx, self.state)
  662. self.enterRule(localctx, 16, self.RULE_interpolation)
  663. try:
  664. self.state = 99
  665. self._errHandler.sync(self)
  666. la_ = self._interp.adaptivePredict(self._input,11,self._ctx)
  667. if la_ == 1:
  668. self.enterOuterAlt(localctx, 1)
  669. self.state = 97
  670. self.interpolationNode()
  671. pass
  672. elif la_ == 2:
  673. self.enterOuterAlt(localctx, 2)
  674. self.state = 98
  675. self.interpolationResolver()
  676. pass
  677. except RecognitionException as re:
  678. localctx.exception = re
  679. self._errHandler.reportError(self, re)
  680. self._errHandler.recover(self, re)
  681. finally:
  682. self.exitRule()
  683. return localctx
  684. class InterpolationNodeContext(ParserRuleContext):
  685. __slots__ = 'parser'
  686. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  687. super().__init__(parent, invokingState)
  688. self.parser = parser
  689. def INTER_OPEN(self):
  690. return self.getToken(OmegaConfGrammarParser.INTER_OPEN, 0)
  691. def INTER_CLOSE(self):
  692. return self.getToken(OmegaConfGrammarParser.INTER_CLOSE, 0)
  693. def configKey(self, i:int=None):
  694. if i is None:
  695. return self.getTypedRuleContexts(OmegaConfGrammarParser.ConfigKeyContext)
  696. else:
  697. return self.getTypedRuleContext(OmegaConfGrammarParser.ConfigKeyContext,i)
  698. def BRACKET_OPEN(self, i:int=None):
  699. if i is None:
  700. return self.getTokens(OmegaConfGrammarParser.BRACKET_OPEN)
  701. else:
  702. return self.getToken(OmegaConfGrammarParser.BRACKET_OPEN, i)
  703. def BRACKET_CLOSE(self, i:int=None):
  704. if i is None:
  705. return self.getTokens(OmegaConfGrammarParser.BRACKET_CLOSE)
  706. else:
  707. return self.getToken(OmegaConfGrammarParser.BRACKET_CLOSE, i)
  708. def DOT(self, i:int=None):
  709. if i is None:
  710. return self.getTokens(OmegaConfGrammarParser.DOT)
  711. else:
  712. return self.getToken(OmegaConfGrammarParser.DOT, i)
  713. def getRuleIndex(self):
  714. return OmegaConfGrammarParser.RULE_interpolationNode
  715. def enterRule(self, listener:ParseTreeListener):
  716. if hasattr( listener, "enterInterpolationNode" ):
  717. listener.enterInterpolationNode(self)
  718. def exitRule(self, listener:ParseTreeListener):
  719. if hasattr( listener, "exitInterpolationNode" ):
  720. listener.exitInterpolationNode(self)
  721. def accept(self, visitor:ParseTreeVisitor):
  722. if hasattr( visitor, "visitInterpolationNode" ):
  723. return visitor.visitInterpolationNode(self)
  724. else:
  725. return visitor.visitChildren(self)
  726. def interpolationNode(self):
  727. localctx = OmegaConfGrammarParser.InterpolationNodeContext(self, self._ctx, self.state)
  728. self.enterRule(localctx, 18, self.RULE_interpolationNode)
  729. self._la = 0 # Token type
  730. try:
  731. self.enterOuterAlt(localctx, 1)
  732. self.state = 101
  733. self.match(OmegaConfGrammarParser.INTER_OPEN)
  734. self.state = 105
  735. self._errHandler.sync(self)
  736. _la = self._input.LA(1)
  737. while _la==OmegaConfGrammarParser.DOT:
  738. self.state = 102
  739. self.match(OmegaConfGrammarParser.DOT)
  740. self.state = 107
  741. self._errHandler.sync(self)
  742. _la = self._input.LA(1)
  743. self.state = 113
  744. self._errHandler.sync(self)
  745. token = self._input.LA(1)
  746. if token in [OmegaConfGrammarParser.INTER_OPEN, OmegaConfGrammarParser.ID, OmegaConfGrammarParser.INTER_KEY]:
  747. self.state = 108
  748. self.configKey()
  749. pass
  750. elif token in [OmegaConfGrammarParser.BRACKET_OPEN]:
  751. self.state = 109
  752. self.match(OmegaConfGrammarParser.BRACKET_OPEN)
  753. self.state = 110
  754. self.configKey()
  755. self.state = 111
  756. self.match(OmegaConfGrammarParser.BRACKET_CLOSE)
  757. pass
  758. else:
  759. raise NoViableAltException(self)
  760. self.state = 123
  761. self._errHandler.sync(self)
  762. _la = self._input.LA(1)
  763. while _la==OmegaConfGrammarParser.BRACKET_OPEN or _la==OmegaConfGrammarParser.DOT:
  764. self.state = 121
  765. self._errHandler.sync(self)
  766. token = self._input.LA(1)
  767. if token in [OmegaConfGrammarParser.DOT]:
  768. self.state = 115
  769. self.match(OmegaConfGrammarParser.DOT)
  770. self.state = 116
  771. self.configKey()
  772. pass
  773. elif token in [OmegaConfGrammarParser.BRACKET_OPEN]:
  774. self.state = 117
  775. self.match(OmegaConfGrammarParser.BRACKET_OPEN)
  776. self.state = 118
  777. self.configKey()
  778. self.state = 119
  779. self.match(OmegaConfGrammarParser.BRACKET_CLOSE)
  780. pass
  781. else:
  782. raise NoViableAltException(self)
  783. self.state = 125
  784. self._errHandler.sync(self)
  785. _la = self._input.LA(1)
  786. self.state = 126
  787. self.match(OmegaConfGrammarParser.INTER_CLOSE)
  788. except RecognitionException as re:
  789. localctx.exception = re
  790. self._errHandler.reportError(self, re)
  791. self._errHandler.recover(self, re)
  792. finally:
  793. self.exitRule()
  794. return localctx
  795. class InterpolationResolverContext(ParserRuleContext):
  796. __slots__ = 'parser'
  797. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  798. super().__init__(parent, invokingState)
  799. self.parser = parser
  800. def INTER_OPEN(self):
  801. return self.getToken(OmegaConfGrammarParser.INTER_OPEN, 0)
  802. def resolverName(self):
  803. return self.getTypedRuleContext(OmegaConfGrammarParser.ResolverNameContext,0)
  804. def COLON(self):
  805. return self.getToken(OmegaConfGrammarParser.COLON, 0)
  806. def BRACE_CLOSE(self):
  807. return self.getToken(OmegaConfGrammarParser.BRACE_CLOSE, 0)
  808. def sequence(self):
  809. return self.getTypedRuleContext(OmegaConfGrammarParser.SequenceContext,0)
  810. def getRuleIndex(self):
  811. return OmegaConfGrammarParser.RULE_interpolationResolver
  812. def enterRule(self, listener:ParseTreeListener):
  813. if hasattr( listener, "enterInterpolationResolver" ):
  814. listener.enterInterpolationResolver(self)
  815. def exitRule(self, listener:ParseTreeListener):
  816. if hasattr( listener, "exitInterpolationResolver" ):
  817. listener.exitInterpolationResolver(self)
  818. def accept(self, visitor:ParseTreeVisitor):
  819. if hasattr( visitor, "visitInterpolationResolver" ):
  820. return visitor.visitInterpolationResolver(self)
  821. else:
  822. return visitor.visitChildren(self)
  823. def interpolationResolver(self):
  824. localctx = OmegaConfGrammarParser.InterpolationResolverContext(self, self._ctx, self.state)
  825. self.enterRule(localctx, 20, self.RULE_interpolationResolver)
  826. self._la = 0 # Token type
  827. try:
  828. self.enterOuterAlt(localctx, 1)
  829. self.state = 128
  830. self.match(OmegaConfGrammarParser.INTER_OPEN)
  831. self.state = 129
  832. self.resolverName()
  833. self.state = 130
  834. self.match(OmegaConfGrammarParser.COLON)
  835. self.state = 132
  836. self._errHandler.sync(self)
  837. _la = self._input.LA(1)
  838. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.BRACE_OPEN) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_SINGLE) | (1 << OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE) | (1 << OmegaConfGrammarParser.COMMA) | (1 << OmegaConfGrammarParser.BRACKET_OPEN) | (1 << OmegaConfGrammarParser.COLON) | (1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0):
  839. self.state = 131
  840. self.sequence()
  841. self.state = 134
  842. self.match(OmegaConfGrammarParser.BRACE_CLOSE)
  843. except RecognitionException as re:
  844. localctx.exception = re
  845. self._errHandler.reportError(self, re)
  846. self._errHandler.recover(self, re)
  847. finally:
  848. self.exitRule()
  849. return localctx
  850. class ConfigKeyContext(ParserRuleContext):
  851. __slots__ = 'parser'
  852. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  853. super().__init__(parent, invokingState)
  854. self.parser = parser
  855. def interpolation(self):
  856. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationContext,0)
  857. def ID(self):
  858. return self.getToken(OmegaConfGrammarParser.ID, 0)
  859. def INTER_KEY(self):
  860. return self.getToken(OmegaConfGrammarParser.INTER_KEY, 0)
  861. def getRuleIndex(self):
  862. return OmegaConfGrammarParser.RULE_configKey
  863. def enterRule(self, listener:ParseTreeListener):
  864. if hasattr( listener, "enterConfigKey" ):
  865. listener.enterConfigKey(self)
  866. def exitRule(self, listener:ParseTreeListener):
  867. if hasattr( listener, "exitConfigKey" ):
  868. listener.exitConfigKey(self)
  869. def accept(self, visitor:ParseTreeVisitor):
  870. if hasattr( visitor, "visitConfigKey" ):
  871. return visitor.visitConfigKey(self)
  872. else:
  873. return visitor.visitChildren(self)
  874. def configKey(self):
  875. localctx = OmegaConfGrammarParser.ConfigKeyContext(self, self._ctx, self.state)
  876. self.enterRule(localctx, 22, self.RULE_configKey)
  877. try:
  878. self.state = 139
  879. self._errHandler.sync(self)
  880. token = self._input.LA(1)
  881. if token in [OmegaConfGrammarParser.INTER_OPEN]:
  882. self.enterOuterAlt(localctx, 1)
  883. self.state = 136
  884. self.interpolation()
  885. pass
  886. elif token in [OmegaConfGrammarParser.ID]:
  887. self.enterOuterAlt(localctx, 2)
  888. self.state = 137
  889. self.match(OmegaConfGrammarParser.ID)
  890. pass
  891. elif token in [OmegaConfGrammarParser.INTER_KEY]:
  892. self.enterOuterAlt(localctx, 3)
  893. self.state = 138
  894. self.match(OmegaConfGrammarParser.INTER_KEY)
  895. pass
  896. else:
  897. raise NoViableAltException(self)
  898. except RecognitionException as re:
  899. localctx.exception = re
  900. self._errHandler.reportError(self, re)
  901. self._errHandler.recover(self, re)
  902. finally:
  903. self.exitRule()
  904. return localctx
  905. class ResolverNameContext(ParserRuleContext):
  906. __slots__ = 'parser'
  907. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  908. super().__init__(parent, invokingState)
  909. self.parser = parser
  910. def interpolation(self, i:int=None):
  911. if i is None:
  912. return self.getTypedRuleContexts(OmegaConfGrammarParser.InterpolationContext)
  913. else:
  914. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationContext,i)
  915. def ID(self, i:int=None):
  916. if i is None:
  917. return self.getTokens(OmegaConfGrammarParser.ID)
  918. else:
  919. return self.getToken(OmegaConfGrammarParser.ID, i)
  920. def DOT(self, i:int=None):
  921. if i is None:
  922. return self.getTokens(OmegaConfGrammarParser.DOT)
  923. else:
  924. return self.getToken(OmegaConfGrammarParser.DOT, i)
  925. def getRuleIndex(self):
  926. return OmegaConfGrammarParser.RULE_resolverName
  927. def enterRule(self, listener:ParseTreeListener):
  928. if hasattr( listener, "enterResolverName" ):
  929. listener.enterResolverName(self)
  930. def exitRule(self, listener:ParseTreeListener):
  931. if hasattr( listener, "exitResolverName" ):
  932. listener.exitResolverName(self)
  933. def accept(self, visitor:ParseTreeVisitor):
  934. if hasattr( visitor, "visitResolverName" ):
  935. return visitor.visitResolverName(self)
  936. else:
  937. return visitor.visitChildren(self)
  938. def resolverName(self):
  939. localctx = OmegaConfGrammarParser.ResolverNameContext(self, self._ctx, self.state)
  940. self.enterRule(localctx, 24, self.RULE_resolverName)
  941. self._la = 0 # Token type
  942. try:
  943. self.enterOuterAlt(localctx, 1)
  944. self.state = 143
  945. self._errHandler.sync(self)
  946. token = self._input.LA(1)
  947. if token in [OmegaConfGrammarParser.INTER_OPEN]:
  948. self.state = 141
  949. self.interpolation()
  950. pass
  951. elif token in [OmegaConfGrammarParser.ID]:
  952. self.state = 142
  953. self.match(OmegaConfGrammarParser.ID)
  954. pass
  955. else:
  956. raise NoViableAltException(self)
  957. self.state = 152
  958. self._errHandler.sync(self)
  959. _la = self._input.LA(1)
  960. while _la==OmegaConfGrammarParser.DOT:
  961. self.state = 145
  962. self.match(OmegaConfGrammarParser.DOT)
  963. self.state = 148
  964. self._errHandler.sync(self)
  965. token = self._input.LA(1)
  966. if token in [OmegaConfGrammarParser.INTER_OPEN]:
  967. self.state = 146
  968. self.interpolation()
  969. pass
  970. elif token in [OmegaConfGrammarParser.ID]:
  971. self.state = 147
  972. self.match(OmegaConfGrammarParser.ID)
  973. pass
  974. else:
  975. raise NoViableAltException(self)
  976. self.state = 154
  977. self._errHandler.sync(self)
  978. _la = self._input.LA(1)
  979. except RecognitionException as re:
  980. localctx.exception = re
  981. self._errHandler.reportError(self, re)
  982. self._errHandler.recover(self, re)
  983. finally:
  984. self.exitRule()
  985. return localctx
  986. class QuotedValueContext(ParserRuleContext):
  987. __slots__ = 'parser'
  988. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  989. super().__init__(parent, invokingState)
  990. self.parser = parser
  991. def MATCHING_QUOTE_CLOSE(self):
  992. return self.getToken(OmegaConfGrammarParser.MATCHING_QUOTE_CLOSE, 0)
  993. def QUOTE_OPEN_SINGLE(self):
  994. return self.getToken(OmegaConfGrammarParser.QUOTE_OPEN_SINGLE, 0)
  995. def QUOTE_OPEN_DOUBLE(self):
  996. return self.getToken(OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE, 0)
  997. def text(self):
  998. return self.getTypedRuleContext(OmegaConfGrammarParser.TextContext,0)
  999. def getRuleIndex(self):
  1000. return OmegaConfGrammarParser.RULE_quotedValue
  1001. def enterRule(self, listener:ParseTreeListener):
  1002. if hasattr( listener, "enterQuotedValue" ):
  1003. listener.enterQuotedValue(self)
  1004. def exitRule(self, listener:ParseTreeListener):
  1005. if hasattr( listener, "exitQuotedValue" ):
  1006. listener.exitQuotedValue(self)
  1007. def accept(self, visitor:ParseTreeVisitor):
  1008. if hasattr( visitor, "visitQuotedValue" ):
  1009. return visitor.visitQuotedValue(self)
  1010. else:
  1011. return visitor.visitChildren(self)
  1012. def quotedValue(self):
  1013. localctx = OmegaConfGrammarParser.QuotedValueContext(self, self._ctx, self.state)
  1014. self.enterRule(localctx, 26, self.RULE_quotedValue)
  1015. self._la = 0 # Token type
  1016. try:
  1017. self.enterOuterAlt(localctx, 1)
  1018. self.state = 155
  1019. _la = self._input.LA(1)
  1020. if not(_la==OmegaConfGrammarParser.QUOTE_OPEN_SINGLE or _la==OmegaConfGrammarParser.QUOTE_OPEN_DOUBLE):
  1021. self._errHandler.recoverInline(self)
  1022. else:
  1023. self._errHandler.reportMatch(self)
  1024. self.consume()
  1025. self.state = 157
  1026. self._errHandler.sync(self)
  1027. _la = self._input.LA(1)
  1028. if (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.ANY_STR) | (1 << OmegaConfGrammarParser.ESC_INTER) | (1 << OmegaConfGrammarParser.TOP_ESC) | (1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.QUOTED_ESC))) != 0):
  1029. self.state = 156
  1030. self.text()
  1031. self.state = 159
  1032. self.match(OmegaConfGrammarParser.MATCHING_QUOTE_CLOSE)
  1033. except RecognitionException as re:
  1034. localctx.exception = re
  1035. self._errHandler.reportError(self, re)
  1036. self._errHandler.recover(self, re)
  1037. finally:
  1038. self.exitRule()
  1039. return localctx
  1040. class PrimitiveContext(ParserRuleContext):
  1041. __slots__ = 'parser'
  1042. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  1043. super().__init__(parent, invokingState)
  1044. self.parser = parser
  1045. def ID(self, i:int=None):
  1046. if i is None:
  1047. return self.getTokens(OmegaConfGrammarParser.ID)
  1048. else:
  1049. return self.getToken(OmegaConfGrammarParser.ID, i)
  1050. def NULL(self, i:int=None):
  1051. if i is None:
  1052. return self.getTokens(OmegaConfGrammarParser.NULL)
  1053. else:
  1054. return self.getToken(OmegaConfGrammarParser.NULL, i)
  1055. def INT(self, i:int=None):
  1056. if i is None:
  1057. return self.getTokens(OmegaConfGrammarParser.INT)
  1058. else:
  1059. return self.getToken(OmegaConfGrammarParser.INT, i)
  1060. def FLOAT(self, i:int=None):
  1061. if i is None:
  1062. return self.getTokens(OmegaConfGrammarParser.FLOAT)
  1063. else:
  1064. return self.getToken(OmegaConfGrammarParser.FLOAT, i)
  1065. def BOOL(self, i:int=None):
  1066. if i is None:
  1067. return self.getTokens(OmegaConfGrammarParser.BOOL)
  1068. else:
  1069. return self.getToken(OmegaConfGrammarParser.BOOL, i)
  1070. def UNQUOTED_CHAR(self, i:int=None):
  1071. if i is None:
  1072. return self.getTokens(OmegaConfGrammarParser.UNQUOTED_CHAR)
  1073. else:
  1074. return self.getToken(OmegaConfGrammarParser.UNQUOTED_CHAR, i)
  1075. def COLON(self, i:int=None):
  1076. if i is None:
  1077. return self.getTokens(OmegaConfGrammarParser.COLON)
  1078. else:
  1079. return self.getToken(OmegaConfGrammarParser.COLON, i)
  1080. def ESC(self, i:int=None):
  1081. if i is None:
  1082. return self.getTokens(OmegaConfGrammarParser.ESC)
  1083. else:
  1084. return self.getToken(OmegaConfGrammarParser.ESC, i)
  1085. def WS(self, i:int=None):
  1086. if i is None:
  1087. return self.getTokens(OmegaConfGrammarParser.WS)
  1088. else:
  1089. return self.getToken(OmegaConfGrammarParser.WS, i)
  1090. def interpolation(self, i:int=None):
  1091. if i is None:
  1092. return self.getTypedRuleContexts(OmegaConfGrammarParser.InterpolationContext)
  1093. else:
  1094. return self.getTypedRuleContext(OmegaConfGrammarParser.InterpolationContext,i)
  1095. def getRuleIndex(self):
  1096. return OmegaConfGrammarParser.RULE_primitive
  1097. def enterRule(self, listener:ParseTreeListener):
  1098. if hasattr( listener, "enterPrimitive" ):
  1099. listener.enterPrimitive(self)
  1100. def exitRule(self, listener:ParseTreeListener):
  1101. if hasattr( listener, "exitPrimitive" ):
  1102. listener.exitPrimitive(self)
  1103. def accept(self, visitor:ParseTreeVisitor):
  1104. if hasattr( visitor, "visitPrimitive" ):
  1105. return visitor.visitPrimitive(self)
  1106. else:
  1107. return visitor.visitChildren(self)
  1108. def primitive(self):
  1109. localctx = OmegaConfGrammarParser.PrimitiveContext(self, self._ctx, self.state)
  1110. self.enterRule(localctx, 28, self.RULE_primitive)
  1111. self._la = 0 # Token type
  1112. try:
  1113. self.enterOuterAlt(localctx, 1)
  1114. self.state = 171
  1115. self._errHandler.sync(self)
  1116. _la = self._input.LA(1)
  1117. while True:
  1118. self.state = 171
  1119. self._errHandler.sync(self)
  1120. token = self._input.LA(1)
  1121. if token in [OmegaConfGrammarParser.ID]:
  1122. self.state = 161
  1123. self.match(OmegaConfGrammarParser.ID)
  1124. pass
  1125. elif token in [OmegaConfGrammarParser.NULL]:
  1126. self.state = 162
  1127. self.match(OmegaConfGrammarParser.NULL)
  1128. pass
  1129. elif token in [OmegaConfGrammarParser.INT]:
  1130. self.state = 163
  1131. self.match(OmegaConfGrammarParser.INT)
  1132. pass
  1133. elif token in [OmegaConfGrammarParser.FLOAT]:
  1134. self.state = 164
  1135. self.match(OmegaConfGrammarParser.FLOAT)
  1136. pass
  1137. elif token in [OmegaConfGrammarParser.BOOL]:
  1138. self.state = 165
  1139. self.match(OmegaConfGrammarParser.BOOL)
  1140. pass
  1141. elif token in [OmegaConfGrammarParser.UNQUOTED_CHAR]:
  1142. self.state = 166
  1143. self.match(OmegaConfGrammarParser.UNQUOTED_CHAR)
  1144. pass
  1145. elif token in [OmegaConfGrammarParser.COLON]:
  1146. self.state = 167
  1147. self.match(OmegaConfGrammarParser.COLON)
  1148. pass
  1149. elif token in [OmegaConfGrammarParser.ESC]:
  1150. self.state = 168
  1151. self.match(OmegaConfGrammarParser.ESC)
  1152. pass
  1153. elif token in [OmegaConfGrammarParser.WS]:
  1154. self.state = 169
  1155. self.match(OmegaConfGrammarParser.WS)
  1156. pass
  1157. elif token in [OmegaConfGrammarParser.INTER_OPEN]:
  1158. self.state = 170
  1159. self.interpolation()
  1160. pass
  1161. else:
  1162. raise NoViableAltException(self)
  1163. self.state = 173
  1164. self._errHandler.sync(self)
  1165. _la = self._input.LA(1)
  1166. if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.INTER_OPEN) | (1 << OmegaConfGrammarParser.COLON) | (1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0)):
  1167. break
  1168. except RecognitionException as re:
  1169. localctx.exception = re
  1170. self._errHandler.reportError(self, re)
  1171. self._errHandler.recover(self, re)
  1172. finally:
  1173. self.exitRule()
  1174. return localctx
  1175. class DictKeyContext(ParserRuleContext):
  1176. __slots__ = 'parser'
  1177. def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1):
  1178. super().__init__(parent, invokingState)
  1179. self.parser = parser
  1180. def ID(self, i:int=None):
  1181. if i is None:
  1182. return self.getTokens(OmegaConfGrammarParser.ID)
  1183. else:
  1184. return self.getToken(OmegaConfGrammarParser.ID, i)
  1185. def NULL(self, i:int=None):
  1186. if i is None:
  1187. return self.getTokens(OmegaConfGrammarParser.NULL)
  1188. else:
  1189. return self.getToken(OmegaConfGrammarParser.NULL, i)
  1190. def INT(self, i:int=None):
  1191. if i is None:
  1192. return self.getTokens(OmegaConfGrammarParser.INT)
  1193. else:
  1194. return self.getToken(OmegaConfGrammarParser.INT, i)
  1195. def FLOAT(self, i:int=None):
  1196. if i is None:
  1197. return self.getTokens(OmegaConfGrammarParser.FLOAT)
  1198. else:
  1199. return self.getToken(OmegaConfGrammarParser.FLOAT, i)
  1200. def BOOL(self, i:int=None):
  1201. if i is None:
  1202. return self.getTokens(OmegaConfGrammarParser.BOOL)
  1203. else:
  1204. return self.getToken(OmegaConfGrammarParser.BOOL, i)
  1205. def UNQUOTED_CHAR(self, i:int=None):
  1206. if i is None:
  1207. return self.getTokens(OmegaConfGrammarParser.UNQUOTED_CHAR)
  1208. else:
  1209. return self.getToken(OmegaConfGrammarParser.UNQUOTED_CHAR, i)
  1210. def ESC(self, i:int=None):
  1211. if i is None:
  1212. return self.getTokens(OmegaConfGrammarParser.ESC)
  1213. else:
  1214. return self.getToken(OmegaConfGrammarParser.ESC, i)
  1215. def WS(self, i:int=None):
  1216. if i is None:
  1217. return self.getTokens(OmegaConfGrammarParser.WS)
  1218. else:
  1219. return self.getToken(OmegaConfGrammarParser.WS, i)
  1220. def getRuleIndex(self):
  1221. return OmegaConfGrammarParser.RULE_dictKey
  1222. def enterRule(self, listener:ParseTreeListener):
  1223. if hasattr( listener, "enterDictKey" ):
  1224. listener.enterDictKey(self)
  1225. def exitRule(self, listener:ParseTreeListener):
  1226. if hasattr( listener, "exitDictKey" ):
  1227. listener.exitDictKey(self)
  1228. def accept(self, visitor:ParseTreeVisitor):
  1229. if hasattr( visitor, "visitDictKey" ):
  1230. return visitor.visitDictKey(self)
  1231. else:
  1232. return visitor.visitChildren(self)
  1233. def dictKey(self):
  1234. localctx = OmegaConfGrammarParser.DictKeyContext(self, self._ctx, self.state)
  1235. self.enterRule(localctx, 30, self.RULE_dictKey)
  1236. self._la = 0 # Token type
  1237. try:
  1238. self.enterOuterAlt(localctx, 1)
  1239. self.state = 176
  1240. self._errHandler.sync(self)
  1241. _la = self._input.LA(1)
  1242. while True:
  1243. self.state = 175
  1244. _la = self._input.LA(1)
  1245. if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0)):
  1246. self._errHandler.recoverInline(self)
  1247. else:
  1248. self._errHandler.reportMatch(self)
  1249. self.consume()
  1250. self.state = 178
  1251. self._errHandler.sync(self)
  1252. _la = self._input.LA(1)
  1253. if not ((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << OmegaConfGrammarParser.FLOAT) | (1 << OmegaConfGrammarParser.INT) | (1 << OmegaConfGrammarParser.BOOL) | (1 << OmegaConfGrammarParser.NULL) | (1 << OmegaConfGrammarParser.UNQUOTED_CHAR) | (1 << OmegaConfGrammarParser.ID) | (1 << OmegaConfGrammarParser.ESC) | (1 << OmegaConfGrammarParser.WS))) != 0)):
  1254. break
  1255. except RecognitionException as re:
  1256. localctx.exception = re
  1257. self._errHandler.reportError(self, re)
  1258. self._errHandler.recover(self, re)
  1259. finally:
  1260. self.exitRule()
  1261. return localctx