1 package it.unical.mat.parsers.asp.dlvhex;
3 import org.antlr.v4.runtime.atn.*;
4 import org.antlr.v4.runtime.dfa.DFA;
5 import org.antlr.v4.runtime.*;
6 import org.antlr.v4.runtime.misc.*;
7 import org.antlr.v4.runtime.tree.*;
9 import java.util.Iterator;
10 import java.util.ArrayList;
12 @SuppressWarnings({
"all",
"warnings",
"unchecked",
"unused",
"cast"})
14 static { RuntimeMetaData.checkVersion(
"4.7", RuntimeMetaData.VERSION); }
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 HEADER=1, WHITE_SPACE=2, COLON=3, COMMA=4, COST_BEGIN=5, COST_END=6, INTEGER=7,
21 LEVEL_BEGIN=8, LEVEL_END=9, GROUND_QUERY_BEGIN=10, ANSWER_SET_BEGIN=11,
22 ANSWER_SET_END=12, IDENTIFIER=13, STRING_CONSTANT=14, TERMS_BEGIN=15,
23 TERMS_END=16, REASONING=17, DOT=18, BOOLEAN=19, WHITESPACE_IN_GROUND_QUERY=20,
25 public static final int
26 RULE_answer_set = 0, RULE_atoms = 1, RULE_cost = 2, RULE_level = 3, RULE_output = 4,
27 RULE_predicate_atom = 5, RULE_term = 6, RULE_witness = 7;
28 public static final String[] ruleNames = {
29 "answer_set",
"atoms",
"cost",
"level",
"output",
"predicate_atom",
"term",
33 private static final String[] _LITERAL_NAMES = {
34 null,
null,
null,
"':'",
"','",
"'<'",
"'>'",
null,
"'['",
"']'",
"' is '",
35 "'{'",
"'}'",
null,
null,
"'('",
"')'",
null,
"'.'",
null,
null,
"', evidenced by'"
37 private static final String[] _SYMBOLIC_NAMES = {
38 null,
"HEADER",
"WHITE_SPACE",
"COLON",
"COMMA",
"COST_BEGIN",
"COST_END",
39 "INTEGER",
"LEVEL_BEGIN",
"LEVEL_END",
"GROUND_QUERY_BEGIN",
"ANSWER_SET_BEGIN",
40 "ANSWER_SET_END",
"IDENTIFIER",
"STRING_CONSTANT",
"TERMS_BEGIN",
"TERMS_END",
41 "REASONING",
"DOT",
"BOOLEAN",
"WHITESPACE_IN_GROUND_QUERY",
"WITNESS_LABEL"
43 public static final Vocabulary VOCABULARY =
new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
51 tokenNames =
new String[_SYMBOLIC_NAMES.length];
52 for (
int i = 0; i < tokenNames.length; i++) {
53 tokenNames[i] = VOCABULARY.getLiteralName(i);
54 if (tokenNames[i] ==
null) {
55 tokenNames[i] = VOCABULARY.getSymbolicName(i);
58 if (tokenNames[i] ==
null) {
59 tokenNames[i] =
"<INVALID>";
66 public String[] getTokenNames() {
72 public Vocabulary getVocabulary() {
77 public String getGrammarFileName() {
return "DLVHEXParser.g4"; }
80 public String[] getRuleNames() {
return ruleNames; }
83 public String getSerializedATN() {
return _serializedATN; }
86 public ATN getATN() {
return _ATN; }
88 public DLVHEXParser(TokenStream input) {
90 _interp =
new ParserATNSimulator(
this,_ATN,_decisionToDFA,_sharedContextCache);
92 public static class Answer_setContext
extends ParserRuleContext {
93 public Answer_setContext(ParserRuleContext parent,
int invokingState) {
94 super(parent, invokingState);
96 @Override
public int getRuleIndex() {
return RULE_answer_set; }
98 public Answer_setContext() { }
99 public void copyFrom(Answer_setContext ctx) {
103 public static class GroundQueryContext
extends Answer_setContext {
104 public List<TerminalNode> IDENTIFIER() {
return getTokens(DLVHEXParser.IDENTIFIER); }
105 public TerminalNode IDENTIFIER(
int i) {
106 return getToken(DLVHEXParser.IDENTIFIER, i);
108 public TerminalNode GROUND_QUERY_BEGIN() {
return getToken(DLVHEXParser.GROUND_QUERY_BEGIN, 0); }
109 public TerminalNode REASONING() {
return getToken(DLVHEXParser.REASONING, 0); }
110 public TerminalNode BOOLEAN() {
return getToken(DLVHEXParser.BOOLEAN, 0); }
111 public TerminalNode DOT() {
return getToken(DLVHEXParser.DOT, 0); }
112 public WitnessContext witness() {
113 return getRuleContext(WitnessContext.class,0);
115 public List<TerminalNode> COMMA() {
return getTokens(DLVHEXParser.COMMA); }
116 public TerminalNode COMMA(
int i) {
117 return getToken(DLVHEXParser.COMMA, i);
119 public GroundQueryContext(Answer_setContext ctx) { copyFrom(ctx); }
121 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
122 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitGroundQuery(
this);
123 else return visitor.visitChildren(
this);
126 public static class ModelContext
extends Answer_setContext {
127 public AtomsContext atoms() {
128 return getRuleContext(AtomsContext.class,0);
130 public ModelContext(Answer_setContext ctx) { copyFrom(ctx); }
132 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
133 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitModel(
this);
134 else return visitor.visitChildren(
this);
138 public final Answer_setContext answer_set() throws RecognitionException {
139 Answer_setContext _localctx =
new Answer_setContext(_ctx, getState());
140 enterRule(_localctx, 0, RULE_answer_set);
144 _errHandler.sync(
this);
145 switch (_input.LA(1)) {
147 _localctx =
new GroundQueryContext(_localctx);
148 enterOuterAlt(_localctx, 1);
153 _errHandler.sync(
this);
165 _errHandler.sync(
this);
169 match(GROUND_QUERY_BEGIN);
175 _errHandler.sync(
this);
176 switch (_input.LA(1)) {
190 throw new NoViableAltException(
this);
194 case ANSWER_SET_BEGIN:
195 _localctx =
new ModelContext(_localctx);
196 enterOuterAlt(_localctx, 2);
203 throw new NoViableAltException(
this);
206 catch (RecognitionException re) {
207 _localctx.exception = re;
208 _errHandler.reportError(
this, re);
209 _errHandler.recover(
this, re);
217 public static class AtomsContext
extends ParserRuleContext {
218 public TerminalNode ANSWER_SET_BEGIN() {
return getToken(DLVHEXParser.ANSWER_SET_BEGIN, 0); }
219 public TerminalNode ANSWER_SET_END() {
return getToken(DLVHEXParser.ANSWER_SET_END, 0); }
220 public List<Predicate_atomContext> predicate_atom() {
221 return getRuleContexts(Predicate_atomContext.class);
223 public Predicate_atomContext predicate_atom(
int i) {
224 return getRuleContext(Predicate_atomContext.class,i);
226 public CostContext cost() {
227 return getRuleContext(CostContext.class,0);
229 public List<TerminalNode> COMMA() {
return getTokens(DLVHEXParser.COMMA); }
230 public TerminalNode COMMA(
int i) {
231 return getToken(DLVHEXParser.COMMA, i);
233 public AtomsContext(ParserRuleContext parent,
int invokingState) {
234 super(parent, invokingState);
236 @Override
public int getRuleIndex() {
return RULE_atoms; }
238 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
239 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitAtoms(
this);
240 else return visitor.visitChildren(
this);
244 public final AtomsContext atoms() throws RecognitionException {
245 AtomsContext _localctx =
new AtomsContext(_ctx, getState());
246 enterRule(_localctx, 2, RULE_atoms);
249 enterOuterAlt(_localctx, 1);
252 match(ANSWER_SET_BEGIN);
254 _errHandler.sync(
this);
256 if (_la==IDENTIFIER) {
261 _errHandler.sync(
this);
273 _errHandler.sync(
this);
280 match(ANSWER_SET_END);
282 _errHandler.sync(
this);
284 if (_la==COST_BEGIN) {
293 catch (RecognitionException re) {
294 _localctx.exception = re;
295 _errHandler.reportError(
this, re);
296 _errHandler.recover(
this, re);
304 public static class CostContext
extends ParserRuleContext {
305 public TerminalNode COST_BEGIN() {
return getToken(DLVHEXParser.COST_BEGIN, 0); }
306 public List<LevelContext> level() {
307 return getRuleContexts(LevelContext.class);
309 public LevelContext level(
int i) {
310 return getRuleContext(LevelContext.class,i);
312 public TerminalNode COST_END() {
return getToken(DLVHEXParser.COST_END, 0); }
313 public List<TerminalNode> COMMA() {
return getTokens(DLVHEXParser.COMMA); }
314 public TerminalNode COMMA(
int i) {
315 return getToken(DLVHEXParser.COMMA, i);
317 public CostContext(ParserRuleContext parent,
int invokingState) {
318 super(parent, invokingState);
320 @Override
public int getRuleIndex() {
return RULE_cost; }
322 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
323 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitCost(
this);
324 else return visitor.visitChildren(
this);
328 public final CostContext cost() throws RecognitionException {
329 CostContext _localctx =
new CostContext(_ctx, getState());
330 enterRule(_localctx, 4, RULE_cost);
333 enterOuterAlt(_localctx, 1);
340 _errHandler.sync(
this);
352 _errHandler.sync(
this);
359 catch (RecognitionException re) {
360 _localctx.exception = re;
361 _errHandler.reportError(
this, re);
362 _errHandler.recover(
this, re);
370 public static class LevelContext
extends ParserRuleContext {
371 public TerminalNode LEVEL_BEGIN() {
return getToken(DLVHEXParser.LEVEL_BEGIN, 0); }
372 public List<TerminalNode> INTEGER() {
return getTokens(DLVHEXParser.INTEGER); }
373 public TerminalNode INTEGER(
int i) {
374 return getToken(DLVHEXParser.INTEGER, i);
376 public TerminalNode COLON() {
return getToken(DLVHEXParser.COLON, 0); }
377 public TerminalNode LEVEL_END() {
return getToken(DLVHEXParser.LEVEL_END, 0); }
378 public LevelContext(ParserRuleContext parent,
int invokingState) {
379 super(parent, invokingState);
381 @Override
public int getRuleIndex() {
return RULE_level; }
383 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
384 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitLevel(
this);
385 else return visitor.visitChildren(
this);
389 public final LevelContext level() throws RecognitionException {
390 LevelContext _localctx =
new LevelContext(_ctx, getState());
391 enterRule(_localctx, 6, RULE_level);
393 enterOuterAlt(_localctx, 1);
407 catch (RecognitionException re) {
408 _localctx.exception = re;
409 _errHandler.reportError(
this, re);
410 _errHandler.recover(
this, re);
418 public static class OutputContext
extends ParserRuleContext {
419 public List<Answer_setContext> answer_set() {
420 return getRuleContexts(Answer_setContext.class);
422 public Answer_setContext answer_set(
int i) {
423 return getRuleContext(Answer_setContext.class,i);
425 public OutputContext(ParserRuleContext parent,
int invokingState) {
426 super(parent, invokingState);
428 @Override
public int getRuleIndex() {
return RULE_output; }
430 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
431 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitOutput(
this);
432 else return visitor.visitChildren(
this);
436 public final OutputContext output() throws RecognitionException {
437 OutputContext _localctx =
new OutputContext(_ctx, getState());
438 enterRule(_localctx, 8, RULE_output);
441 enterOuterAlt(_localctx, 1);
444 _errHandler.sync(
this);
446 while (_la==ANSWER_SET_BEGIN || _la==IDENTIFIER) {
454 _errHandler.sync(
this);
459 catch (RecognitionException re) {
460 _localctx.exception = re;
461 _errHandler.reportError(
this, re);
462 _errHandler.recover(
this, re);
470 public static class Predicate_atomContext
extends ParserRuleContext {
471 public TerminalNode IDENTIFIER() {
return getToken(DLVHEXParser.IDENTIFIER, 0); }
472 public TerminalNode TERMS_BEGIN() {
return getToken(DLVHEXParser.TERMS_BEGIN, 0); }
473 public List<TermContext> term() {
474 return getRuleContexts(TermContext.class);
476 public TermContext term(
int i) {
477 return getRuleContext(TermContext.class,i);
479 public TerminalNode TERMS_END() {
return getToken(DLVHEXParser.TERMS_END, 0); }
480 public List<TerminalNode> COMMA() {
return getTokens(DLVHEXParser.COMMA); }
481 public TerminalNode COMMA(
int i) {
482 return getToken(DLVHEXParser.COMMA, i);
484 public Predicate_atomContext(ParserRuleContext parent,
int invokingState) {
485 super(parent, invokingState);
487 @Override
public int getRuleIndex() {
return RULE_predicate_atom; }
489 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
490 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitPredicate_atom(
this);
491 else return visitor.visitChildren(
this);
495 public final Predicate_atomContext predicate_atom() throws RecognitionException {
496 Predicate_atomContext _localctx =
new Predicate_atomContext(_ctx, getState());
497 enterRule(_localctx, 10, RULE_predicate_atom);
500 enterOuterAlt(_localctx, 1);
505 _errHandler.sync(
this);
507 if (_la==TERMS_BEGIN) {
514 _errHandler.sync(
this);
526 _errHandler.sync(
this);
536 catch (RecognitionException re) {
537 _localctx.exception = re;
538 _errHandler.reportError(
this, re);
539 _errHandler.recover(
this, re);
547 public static class TermContext
extends ParserRuleContext {
548 public TerminalNode IDENTIFIER() {
return getToken(DLVHEXParser.IDENTIFIER, 0); }
549 public TerminalNode INTEGER() {
return getToken(DLVHEXParser.INTEGER, 0); }
550 public Predicate_atomContext predicate_atom() {
551 return getRuleContext(Predicate_atomContext.class,0);
553 public TerminalNode STRING_CONSTANT() {
return getToken(DLVHEXParser.STRING_CONSTANT, 0); }
554 public TermContext(ParserRuleContext parent,
int invokingState) {
555 super(parent, invokingState);
557 @Override
public int getRuleIndex() {
return RULE_term; }
559 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
560 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitTerm(
this);
561 else return visitor.visitChildren(
this);
565 public final TermContext term() throws RecognitionException {
566 TermContext _localctx =
new TermContext(_ctx, getState());
567 enterRule(_localctx, 12, RULE_term);
570 _errHandler.sync(
this);
571 switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
573 enterOuterAlt(_localctx, 1);
580 enterOuterAlt(_localctx, 2);
587 enterOuterAlt(_localctx, 3);
594 enterOuterAlt(_localctx, 4);
597 match(STRING_CONSTANT);
602 catch (RecognitionException re) {
603 _localctx.exception = re;
604 _errHandler.reportError(
this, re);
605 _errHandler.recover(
this, re);
613 public static class WitnessContext
extends ParserRuleContext {
614 public TerminalNode WITNESS_LABEL() {
return getToken(DLVHEXParser.WITNESS_LABEL, 0); }
615 public AtomsContext atoms() {
616 return getRuleContext(AtomsContext.class,0);
618 public WitnessContext(ParserRuleContext parent,
int invokingState) {
619 super(parent, invokingState);
621 @Override
public int getRuleIndex() {
return RULE_witness; }
623 public <T> T accept(ParseTreeVisitor<? extends T> visitor) {
624 if ( visitor instanceof DLVHEXParserVisitor )
return ((DLVHEXParserVisitor<? extends T>)visitor).visitWitness(
this);
625 else return visitor.visitChildren(
this);
629 public final WitnessContext witness() throws RecognitionException {
630 WitnessContext _localctx =
new WitnessContext(_ctx, getState());
631 enterRule(_localctx, 14, RULE_witness);
633 enterOuterAlt(_localctx, 1);
636 match(WITNESS_LABEL);
641 catch (RecognitionException re) {
642 _localctx.exception = re;
643 _errHandler.reportError(
this, re);
644 _errHandler.recover(
this, re);
652 public static final String _serializedATN =
653 "\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\27b\4\2\t\2\4\3\t"+
654 "\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\3\2\3\2\3\2\7\2\26"+
655 "\n\2\f\2\16\2\31\13\2\3\2\3\2\3\2\3\2\3\2\5\2 \n\2\3\2\5\2#\n\2\3\3\3"+
656 "\3\3\3\3\3\7\3)\n\3\f\3\16\3,\13\3\5\3.\n\3\3\3\3\3\5\3\62\n\3\3\4\3\4"+
657 "\3\4\3\4\7\48\n\4\f\4\16\4;\13\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5\3\6\7"+
658 "\6F\n\6\f\6\16\6I\13\6\3\7\3\7\3\7\3\7\3\7\7\7P\n\7\f\7\16\7S\13\7\3\7"+
659 "\3\7\5\7W\n\7\3\b\3\b\3\b\3\b\5\b]\n\b\3\t\3\t\3\t\3\t\2\2\n\2\4\6\b\n"+
660 "\f\16\20\2\2\2f\2\"\3\2\2\2\4$\3\2\2\2\6\63\3\2\2\2\b>\3\2\2\2\nG\3\2"+
661 "\2\2\fJ\3\2\2\2\16\\\3\2\2\2\20^\3\2\2\2\22\27\7\17\2\2\23\24\7\6\2\2"+
662 "\24\26\7\17\2\2\25\23\3\2\2\2\26\31\3\2\2\2\27\25\3\2\2\2\27\30\3\2\2"+
663 "\2\30\32\3\2\2\2\31\27\3\2\2\2\32\33\7\f\2\2\33\34\7\23\2\2\34\37\7\25"+
664 "\2\2\35 \7\24\2\2\36 \5\20\t\2\37\35\3\2\2\2\37\36\3\2\2\2 #\3\2\2\2!"+
665 "#\5\4\3\2\"\22\3\2\2\2\"!\3\2\2\2#\3\3\2\2\2$-\7\r\2\2%*\5\f\7\2&\'\7"+
666 "\6\2\2\')\5\f\7\2(&\3\2\2\2),\3\2\2\2*(\3\2\2\2*+\3\2\2\2+.\3\2\2\2,*"+
667 "\3\2\2\2-%\3\2\2\2-.\3\2\2\2./\3\2\2\2/\61\7\16\2\2\60\62\5\6\4\2\61\60"+
668 "\3\2\2\2\61\62\3\2\2\2\62\5\3\2\2\2\63\64\7\7\2\2\649\5\b\5\2\65\66\7"+
669 "\6\2\2\668\5\b\5\2\67\65\3\2\2\28;\3\2\2\29\67\3\2\2\29:\3\2\2\2:<\3\2"+
670 "\2\2;9\3\2\2\2<=\7\b\2\2=\7\3\2\2\2>?\7\n\2\2?@\7\t\2\2@A\7\5\2\2AB\7"+
671 "\t\2\2BC\7\13\2\2C\t\3\2\2\2DF\5\2\2\2ED\3\2\2\2FI\3\2\2\2GE\3\2\2\2G"+
672 "H\3\2\2\2H\13\3\2\2\2IG\3\2\2\2JV\7\17\2\2KL\7\21\2\2LQ\5\16\b\2MN\7\6"+
673 "\2\2NP\5\16\b\2OM\3\2\2\2PS\3\2\2\2QO\3\2\2\2QR\3\2\2\2RT\3\2\2\2SQ\3"+
674 "\2\2\2TU\7\22\2\2UW\3\2\2\2VK\3\2\2\2VW\3\2\2\2W\r\3\2\2\2X]\7\17\2\2"+
675 "Y]\7\t\2\2Z]\5\f\7\2[]\7\20\2\2\\X\3\2\2\2\\Y\3\2\2\2\\Z\3\2\2\2\\[\3"+
676 "\2\2\2]\17\3\2\2\2^_\7\27\2\2_`\5\4\3\2`\21\3\2\2\2\r\27\37\"*-\619GQ"+
678 public static final ATN _ATN =
679 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
681 _decisionToDFA =
new DFA[_ATN.getNumberOfDecisions()];
682 for (
int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
683 _decisionToDFA[i] =
new DFA(_ATN.getDecisionState(i), i);