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"\22I\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7")
12 buf.write(
u"\4\b\t\b\3\2\3\2\3\2\5\2\24\n\2\3\3\3\3\7\3\30\n\3\f")
13 buf.write(
u"\3\16\3\33\13\3\3\3\3\3\3\4\3\4\3\4\3\4\3\5\3\5\3\5\7")
14 buf.write(
u"\5&\n\5\f\5\16\5)\13\5\5\5+\n\5\3\5\3\5\3\6\7\6\60\n")
15 buf.write(
u"\6\f\6\16\6\63\13\6\3\7\3\7\3\7\3\7\3\7\7\7:\n\7\f\7")
16 buf.write(
u"\16\7=\13\7\3\7\3\7\5\7A\n\7\3\b\3\b\3\b\3\b\5\bG\n\b")
17 buf.write(
u"\3\b\2\2\t\2\4\6\b\n\f\16\2\2\2K\2\20\3\2\2\2\4\25\3")
18 buf.write(
u"\2\2\2\6\36\3\2\2\2\b*\3\2\2\2\n\61\3\2\2\2\f\64\3\2")
19 buf.write(
u"\2\2\16F\3\2\2\2\20\21\7\3\2\2\21\23\5\b\5\2\22\24\5")
20 buf.write(
u"\4\3\2\23\22\3\2\2\2\23\24\3\2\2\2\24\3\3\2\2\2\25\31")
21 buf.write(
u"\7\4\2\2\26\30\5\6\4\2\27\26\3\2\2\2\30\33\3\2\2\2\31")
22 buf.write(
u"\27\3\2\2\2\31\32\3\2\2\2\32\34\3\2\2\2\33\31\3\2\2\2")
23 buf.write(
u"\34\35\7\t\2\2\35\5\3\2\2\2\36\37\7\b\2\2\37 \7\7\2\2")
24 buf.write(
u" !\7\b\2\2!\7\3\2\2\2\"\'\5\f\7\2#$\7\13\2\2$&\5\f\7")
25 buf.write(
u"\2%#\3\2\2\2&)\3\2\2\2\'%\3\2\2\2\'(\3\2\2\2(+\3\2\2")
26 buf.write(
u"\2)\'\3\2\2\2*\"\3\2\2\2*+\3\2\2\2+,\3\2\2\2,-\7\16\2")
27 buf.write(
u"\2-\t\3\2\2\2.\60\5\2\2\2/.\3\2\2\2\60\63\3\2\2\2\61")
28 buf.write(
u"/\3\2\2\2\61\62\3\2\2\2\62\13\3\2\2\2\63\61\3\2\2\2\64")
29 buf.write(
u"@\7\r\2\2\65\66\7\20\2\2\66;\5\16\b\2\678\7\13\2\28:")
30 buf.write(
u"\5\16\b\29\67\3\2\2\2:=\3\2\2\2;9\3\2\2\2;<\3\2\2\2<")
31 buf.write(
u">\3\2\2\2=;\3\2\2\2>?\7\21\2\2?A\3\2\2\2@\65\3\2\2\2")
32 buf.write(
u"@A\3\2\2\2A\r\3\2\2\2BG\7\r\2\2CG\7\f\2\2DG\5\f\7\2E")
33 buf.write(
u"G\7\17\2\2FB\3\2\2\2FC\3\2\2\2FD\3\2\2\2FE\3\2\2\2G\17")
34 buf.write(
u"\3\2\2\2\n\23\31\'*\61;@F")
40 grammarFileName =
"DLV2Parser.g4"
42 atn = ATNDeserializer().deserialize(serializedATN())
44 decisionsToDFA = [ DFA(ds, i)
for i, ds
in enumerate(atn.decisionToState) ]
46 sharedContextCache = PredictionContextCache()
48 literalNames = [
u"<INVALID>",
u"'{'",
u"<INVALID>",
u"<INVALID>",
u"<INVALID>",
49 u"'@'",
u"<INVALID>",
u"<INVALID>",
u"<INVALID>",
u"','",
50 u"<INVALID>",
u"<INVALID>",
u"'}'",
u"<INVALID>",
u"'('",
53 symbolicNames = [
u"<INVALID>",
u"START",
u"COST_LABEL",
u"ANY",
u"IGNORE",
54 u"AT",
u"INTEGER",
u"NEW_LINE",
u"BLANK_SPACE",
u"COMMA",
55 u"INTEGER_CONSTANT",
u"IDENTIFIER",
u"MODEL_END",
56 u"STRING_CONSTANT",
u"TERMS_BEGIN",
u"TERMS_END",
64 RULE_predicate_atom = 5
67 ruleNames = [
u"answer_set",
u"cost",
u"level",
u"model",
u"output",
68 u"predicate_atom",
u"term" ]
88 def __init__(self, input, output=sys.stdout):
89 super(DLV2Parser, self).__init__(input, output=output)
90 self.checkVersion(
"4.7")
98 def __init__(self, parser, parent=None, invokingState=-1):
103 return self.getToken(DLV2Parser.START, 0)
113 def getRuleIndex(self):
114 return DLV2Parser.RULE_answer_set
116 def accept(self, visitor):
117 if hasattr(visitor,
"visitAnswer_set"):
118 return visitor.visitAnswer_set(self)
120 return visitor.visitChildren(self)
125 def answer_set(self):
128 self.enterRule(localctx, 0, self.RULE_answer_set)
131 self.enterOuterAlt(localctx, 1)
133 self.match(DLV2Parser.START)
137 self._errHandler.sync(self)
138 _la = self._input.LA(1)
139 if _la==DLV2Parser.COST_LABEL:
144 except RecognitionException
as re:
145 localctx.exception = re
146 self._errHandler.reportError(self, re)
147 self._errHandler.recover(self, re)
154 def __init__(self, parser, parent=None, invokingState=-1):
158 def COST_LABEL(self):
159 return self.getToken(DLV2Parser.COST_LABEL, 0)
162 return self.getToken(DLV2Parser.NEW_LINE, 0)
164 def level(self, i=None):
171 def getRuleIndex(self):
172 return DLV2Parser.RULE_cost
174 def accept(self, visitor):
175 if hasattr(visitor,
"visitCost"):
176 return visitor.visitCost(self)
178 return visitor.visitChildren(self)
186 self.enterRule(localctx, 2, self.RULE_cost)
189 self.enterOuterAlt(localctx, 1)
191 self.match(DLV2Parser.COST_LABEL)
193 self._errHandler.sync(self)
194 _la = self._input.LA(1)
195 while _la==DLV2Parser.INTEGER:
199 self._errHandler.sync(self)
200 _la = self._input.LA(1)
203 self.match(DLV2Parser.NEW_LINE)
204 except RecognitionException
as re:
205 localctx.exception = re
206 self._errHandler.reportError(self, re)
207 self._errHandler.recover(self, re)
214 def __init__(self, parser, parent=None, invokingState=-1):
218 def INTEGER(self, i=None):
220 return self.getTokens(DLV2Parser.INTEGER)
222 return self.getToken(DLV2Parser.INTEGER, i)
225 return self.getToken(DLV2Parser.AT, 0)
227 def getRuleIndex(self):
228 return DLV2Parser.RULE_level
230 def accept(self, visitor):
231 if hasattr(visitor,
"visitLevel"):
232 return visitor.visitLevel(self)
234 return visitor.visitChildren(self)
242 self.enterRule(localctx, 4, self.RULE_level)
244 self.enterOuterAlt(localctx, 1)
246 self.match(DLV2Parser.INTEGER)
248 self.match(DLV2Parser.AT)
250 self.match(DLV2Parser.INTEGER)
251 except RecognitionException
as re:
252 localctx.exception = re
253 self._errHandler.reportError(self, re)
254 self._errHandler.recover(self, re)
261 def __init__(self, parser, parent=None, invokingState=-1):
266 return self.getToken(DLV2Parser.MODEL_END, 0)
268 def predicate_atom(self, i=None):
275 def COMMA(self, i=None):
277 return self.getTokens(DLV2Parser.COMMA)
279 return self.getToken(DLV2Parser.COMMA, i)
281 def getRuleIndex(self):
282 return DLV2Parser.RULE_model
284 def accept(self, visitor):
285 if hasattr(visitor,
"visitModel"):
286 return visitor.visitModel(self)
288 return visitor.visitChildren(self)
296 self.enterRule(localctx, 6, self.RULE_model)
299 self.enterOuterAlt(localctx, 1)
301 self._errHandler.sync(self)
302 _la = self._input.LA(1)
303 if _la==DLV2Parser.IDENTIFIER:
307 self._errHandler.sync(self)
308 _la = self._input.LA(1)
309 while _la==DLV2Parser.COMMA:
311 self.match(DLV2Parser.COMMA)
315 self._errHandler.sync(self)
316 _la = self._input.LA(1)
321 self.match(DLV2Parser.MODEL_END)
322 except RecognitionException
as re:
323 localctx.exception = re
324 self._errHandler.reportError(self, re)
325 self._errHandler.recover(self, re)
332 def __init__(self, parser, parent=None, invokingState=-1):
336 def answer_set(self, i=None):
343 def getRuleIndex(self):
344 return DLV2Parser.RULE_output
346 def accept(self, visitor):
347 if hasattr(visitor,
"visitOutput"):
348 return visitor.visitOutput(self)
350 return visitor.visitChildren(self)
358 self.enterRule(localctx, 8, self.RULE_output)
361 self.enterOuterAlt(localctx, 1)
363 self._errHandler.sync(self)
364 _la = self._input.LA(1)
365 while _la==DLV2Parser.START:
369 self._errHandler.sync(self)
370 _la = self._input.LA(1)
372 except RecognitionException
as re:
373 localctx.exception = re
374 self._errHandler.reportError(self, re)
375 self._errHandler.recover(self, re)
382 def __init__(self, parser, parent=None, invokingState=-1):
386 def IDENTIFIER(self):
387 return self.getToken(DLV2Parser.IDENTIFIER, 0)
389 def TERMS_BEGIN(self):
390 return self.getToken(DLV2Parser.TERMS_BEGIN, 0)
392 def term(self, i=None):
400 return self.getToken(DLV2Parser.TERMS_END, 0)
402 def COMMA(self, i=None):
404 return self.getTokens(DLV2Parser.COMMA)
406 return self.getToken(DLV2Parser.COMMA, i)
408 def getRuleIndex(self):
409 return DLV2Parser.RULE_predicate_atom
411 def accept(self, visitor):
412 if hasattr(visitor,
"visitPredicate_atom"):
413 return visitor.visitPredicate_atom(self)
415 return visitor.visitChildren(self)
420 def predicate_atom(self):
423 self.enterRule(localctx, 10, self.RULE_predicate_atom)
426 self.enterOuterAlt(localctx, 1)
428 self.match(DLV2Parser.IDENTIFIER)
430 self._errHandler.sync(self)
431 _la = self._input.LA(1)
432 if _la==DLV2Parser.TERMS_BEGIN:
434 self.match(DLV2Parser.TERMS_BEGIN)
438 self._errHandler.sync(self)
439 _la = self._input.LA(1)
440 while _la==DLV2Parser.COMMA:
442 self.match(DLV2Parser.COMMA)
446 self._errHandler.sync(self)
447 _la = self._input.LA(1)
450 self.match(DLV2Parser.TERMS_END)
453 except RecognitionException
as re:
454 localctx.exception = re
455 self._errHandler.reportError(self, re)
456 self._errHandler.recover(self, re)
463 def __init__(self, parser, parent=None, invokingState=-1):
467 def IDENTIFIER(self):
468 return self.getToken(DLV2Parser.IDENTIFIER, 0)
470 def INTEGER_CONSTANT(self):
471 return self.getToken(DLV2Parser.INTEGER_CONSTANT, 0)
473 def predicate_atom(self):
477 def STRING_CONSTANT(self):
478 return self.getToken(DLV2Parser.STRING_CONSTANT, 0)
480 def getRuleIndex(self):
481 return DLV2Parser.RULE_term
483 def accept(self, visitor):
484 if hasattr(visitor,
"visitTerm"):
485 return visitor.visitTerm(self)
487 return visitor.visitChildren(self)
495 self.enterRule(localctx, 12, self.RULE_term)
498 self._errHandler.sync(self)
499 la_ = self._interp.adaptivePredict(self._input,7,self._ctx)
501 self.enterOuterAlt(localctx, 1)
503 self.match(DLV2Parser.IDENTIFIER)
507 self.enterOuterAlt(localctx, 2)
509 self.match(DLV2Parser.INTEGER_CONSTANT)
513 self.enterOuterAlt(localctx, 3)
519 self.enterOuterAlt(localctx, 4)
521 self.match(DLV2Parser.STRING_CONSTANT)
525 except RecognitionException
as re:
526 localctx.exception = re
527 self._errHandler.reportError(self, re)
528 self._errHandler.recover(self, re)