3 from __future__
import print_function
5 from io
import StringIO
9 with StringIO()
as buf:
10 buf.write(
u"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3")
11 buf.write(
u"\f\62\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\3\2\3\2")
12 buf.write(
u"\3\2\3\3\7\3\21\n\3\f\3\16\3\24\13\3\3\3\3\3\3\4\7\4")
13 buf.write(
u"\31\n\4\f\4\16\4\34\13\4\3\5\3\5\3\5\3\5\3\5\7\5#\n\5")
14 buf.write(
u"\f\5\16\5&\13\5\3\5\3\5\5\5*\n\5\3\6\3\6\3\6\3\6\5\6")
15 buf.write(
u"\60\n\6\3\6\2\2\7\2\4\6\b\n\2\2\2\63\2\f\3\2\2\2\4\22")
16 buf.write(
u"\3\2\2\2\6\32\3\2\2\2\b\35\3\2\2\2\n/\3\2\2\2\f\r\7\3")
17 buf.write(
u"\2\2\r\16\5\4\3\2\16\3\3\2\2\2\17\21\5\b\5\2\20\17\3")
18 buf.write(
u"\2\2\2\21\24\3\2\2\2\22\20\3\2\2\2\22\23\3\2\2\2\23\25")
19 buf.write(
u"\3\2\2\2\24\22\3\2\2\2\25\26\7\7\2\2\26\5\3\2\2\2\27")
20 buf.write(
u"\31\5\2\2\2\30\27\3\2\2\2\31\34\3\2\2\2\32\30\3\2\2\2")
21 buf.write(
u"\32\33\3\2\2\2\33\7\3\2\2\2\34\32\3\2\2\2\35)\7\b\2\2")
22 buf.write(
u"\36\37\7\n\2\2\37$\5\n\6\2 !\7\5\2\2!#\5\n\6\2\" \3\2")
23 buf.write(
u"\2\2#&\3\2\2\2$\"\3\2\2\2$%\3\2\2\2%\'\3\2\2\2&$\3\2")
24 buf.write(
u"\2\2\'(\7\13\2\2(*\3\2\2\2)\36\3\2\2\2)*\3\2\2\2*\t\3")
25 buf.write(
u"\2\2\2+\60\7\b\2\2,\60\7\6\2\2-\60\5\b\5\2.\60\7\t\2")
26 buf.write(
u"\2/+\3\2\2\2/,\3\2\2\2/-\3\2\2\2/.\3\2\2\2\60\13\3\2")
27 buf.write(
u"\2\2\7\22\32$)/")
33 grammarFileName =
"ClingoParser.g4"
35 atn = ATNDeserializer().deserialize(serializedATN())
37 decisionsToDFA = [ DFA(ds, i)
for i, ds
in enumerate(atn.decisionToState) ]
39 sharedContextCache = PredictionContextCache()
41 literalNames = [
u"<INVALID>",
u"<INVALID>",
u"<INVALID>",
u"','",
u"<INVALID>",
42 u"<INVALID>",
u"<INVALID>",
u"<INVALID>",
u"'('",
u"')'" ]
44 symbolicNames = [
u"<INVALID>",
u"START",
u"ANY",
u"COMMA",
u"INTEGER_CONSTANT",
45 u"NEW_LINE",
u"IDENTIFIER",
u"STRING_CONSTANT",
u"TERMS_BEGIN",
46 u"TERMS_END",
u"WHITE_SPACE" ]
51 RULE_predicate_atom = 3
54 ruleNames = [
u"answer_set",
u"model",
u"output",
u"predicate_atom",
69 def __init__(self, input, output=sys.stdout):
70 super(ClingoParser, self).__init__(input, output=output)
71 self.checkVersion(
"4.7")
79 def __init__(self, parser, parent=None, invokingState=-1):
84 return self.getToken(ClingoParser.START, 0)
90 def getRuleIndex(self):
91 return ClingoParser.RULE_answer_set
93 def accept(self, visitor):
94 if hasattr(visitor,
"visitAnswer_set"):
95 return visitor.visitAnswer_set(self)
97 return visitor.visitChildren(self)
102 def answer_set(self):
105 self.enterRule(localctx, 0, self.RULE_answer_set)
107 self.enterOuterAlt(localctx, 1)
109 self.match(ClingoParser.START)
112 except RecognitionException
as re:
113 localctx.exception = re
114 self._errHandler.reportError(self, re)
115 self._errHandler.recover(self, re)
122 def __init__(self, parser, parent=None, invokingState=-1):
127 return self.getToken(ClingoParser.NEW_LINE, 0)
129 def predicate_atom(self, i=None):
136 def getRuleIndex(self):
137 return ClingoParser.RULE_model
139 def accept(self, visitor):
140 if hasattr(visitor,
"visitModel"):
141 return visitor.visitModel(self)
143 return visitor.visitChildren(self)
151 self.enterRule(localctx, 2, self.RULE_model)
154 self.enterOuterAlt(localctx, 1)
156 self._errHandler.sync(self)
157 _la = self._input.LA(1)
158 while _la==ClingoParser.IDENTIFIER:
162 self._errHandler.sync(self)
163 _la = self._input.LA(1)
166 self.match(ClingoParser.NEW_LINE)
167 except RecognitionException
as re:
168 localctx.exception = re
169 self._errHandler.reportError(self, re)
170 self._errHandler.recover(self, re)
177 def __init__(self, parser, parent=None, invokingState=-1):
181 def answer_set(self, i=None):
188 def getRuleIndex(self):
189 return ClingoParser.RULE_output
191 def accept(self, visitor):
192 if hasattr(visitor,
"visitOutput"):
193 return visitor.visitOutput(self)
195 return visitor.visitChildren(self)
203 self.enterRule(localctx, 4, self.RULE_output)
206 self.enterOuterAlt(localctx, 1)
208 self._errHandler.sync(self)
209 _la = self._input.LA(1)
210 while _la==ClingoParser.START:
214 self._errHandler.sync(self)
215 _la = self._input.LA(1)
217 except RecognitionException
as re:
218 localctx.exception = re
219 self._errHandler.reportError(self, re)
220 self._errHandler.recover(self, re)
227 def __init__(self, parser, parent=None, invokingState=-1):
231 def IDENTIFIER(self):
232 return self.getToken(ClingoParser.IDENTIFIER, 0)
234 def TERMS_BEGIN(self):
235 return self.getToken(ClingoParser.TERMS_BEGIN, 0)
237 def term(self, i=None):
245 return self.getToken(ClingoParser.TERMS_END, 0)
247 def COMMA(self, i=None):
249 return self.getTokens(ClingoParser.COMMA)
251 return self.getToken(ClingoParser.COMMA, i)
253 def getRuleIndex(self):
254 return ClingoParser.RULE_predicate_atom
256 def accept(self, visitor):
257 if hasattr(visitor,
"visitPredicate_atom"):
258 return visitor.visitPredicate_atom(self)
260 return visitor.visitChildren(self)
265 def predicate_atom(self):
268 self.enterRule(localctx, 6, self.RULE_predicate_atom)
271 self.enterOuterAlt(localctx, 1)
273 self.match(ClingoParser.IDENTIFIER)
275 self._errHandler.sync(self)
276 _la = self._input.LA(1)
277 if _la==ClingoParser.TERMS_BEGIN:
279 self.match(ClingoParser.TERMS_BEGIN)
283 self._errHandler.sync(self)
284 _la = self._input.LA(1)
285 while _la==ClingoParser.COMMA:
287 self.match(ClingoParser.COMMA)
291 self._errHandler.sync(self)
292 _la = self._input.LA(1)
295 self.match(ClingoParser.TERMS_END)
298 except RecognitionException
as re:
299 localctx.exception = re
300 self._errHandler.reportError(self, re)
301 self._errHandler.recover(self, re)
308 def __init__(self, parser, parent=None, invokingState=-1):
312 def IDENTIFIER(self):
313 return self.getToken(ClingoParser.IDENTIFIER, 0)
315 def INTEGER_CONSTANT(self):
316 return self.getToken(ClingoParser.INTEGER_CONSTANT, 0)
318 def predicate_atom(self):
322 def STRING_CONSTANT(self):
323 return self.getToken(ClingoParser.STRING_CONSTANT, 0)
325 def getRuleIndex(self):
326 return ClingoParser.RULE_term
328 def accept(self, visitor):
329 if hasattr(visitor,
"visitTerm"):
330 return visitor.visitTerm(self)
332 return visitor.visitChildren(self)
340 self.enterRule(localctx, 8, self.RULE_term)
343 self._errHandler.sync(self)
344 la_ = self._interp.adaptivePredict(self._input,4,self._ctx)
346 self.enterOuterAlt(localctx, 1)
348 self.match(ClingoParser.IDENTIFIER)
352 self.enterOuterAlt(localctx, 2)
354 self.match(ClingoParser.INTEGER_CONSTANT)
358 self.enterOuterAlt(localctx, 3)
364 self.enterOuterAlt(localctx, 4)
366 self.match(ClingoParser.STRING_CONSTANT)
370 except RecognitionException
as re:
371 localctx.exception = re
372 self._errHandler.reportError(self, re)
373 self._errHandler.recover(self, re)