1
2 package io.github.magwas.inez.parser;
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.*;
8 import java.util.List;
9 import java.util.Iterator;
10 import java.util.ArrayList;
11
12 @SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue", "this-escape"})
13 public class BridiParser extends Parser {
14 static { RuntimeMetaData.checkVersion("4.13.2", RuntimeMetaData.VERSION); }
15
16 protected static final DFA[] _decisionToDFA;
17 protected static final PredictionContextCache _sharedContextCache =
18 new PredictionContextCache();
19 public static final int
20 PRE=1, POST=2, LITERALPRE=3, LITERALPOST=4, REF=5, NEWLINE=6, TEXT=7;
21 public static final int
22 RULE_literal = 0, RULE_bridi = 1, RULE_textReference = 2, RULE_paragraph = 3;
23 private static String[] makeRuleNames() {
24 return new String[] {
25 "literal", "bridi", "textReference", "paragraph"
26 };
27 }
28 public static final String[] ruleNames = makeRuleNames();
29
30 private static String[] makeLiteralNames() {
31 return new String[] {
32 null, "'{'", "'}'", "'{['", "']}'", "'@'", "'\\n'"
33 };
34 }
35 private static final String[] _LITERAL_NAMES = makeLiteralNames();
36 private static String[] makeSymbolicNames() {
37 return new String[] {
38 null, "PRE", "POST", "LITERALPRE", "LITERALPOST", "REF", "NEWLINE", "TEXT"
39 };
40 }
41 private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
42 public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
43
44
45
46
47 @Deprecated
48 public static final String[] tokenNames;
49 static {
50 tokenNames = new String[_SYMBOLIC_NAMES.length];
51 for (int i = 0; i < tokenNames.length; i++) {
52 tokenNames[i] = VOCABULARY.getLiteralName(i);
53 if (tokenNames[i] == null) {
54 tokenNames[i] = VOCABULARY.getSymbolicName(i);
55 }
56
57 if (tokenNames[i] == null) {
58 tokenNames[i] = "<INVALID>";
59 }
60 }
61 }
62
63 @Override
64 @Deprecated
65 public String[] getTokenNames() {
66 return tokenNames;
67 }
68
69 @Override
70
71 public Vocabulary getVocabulary() {
72 return VOCABULARY;
73 }
74
75 @Override
76 public String getGrammarFileName() { return "Bridi.g4"; }
77
78 @Override
79 public String[] getRuleNames() { return ruleNames; }
80
81 @Override
82 public String getSerializedATN() { return _serializedATN; }
83
84 @Override
85 public ATN getATN() { return _ATN; }
86
87 public BridiParser(TokenStream input) {
88 super(input);
89 _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
90 }
91
92 @SuppressWarnings("CheckReturnValue")
93 public static class LiteralContext extends ParserRuleContext {
94 public List<TerminalNode> TEXT() { return getTokens(BridiParser.TEXT); }
95 public TerminalNode TEXT(int i) {
96 return getToken(BridiParser.TEXT, i);
97 }
98 public List<TerminalNode> PRE() { return getTokens(BridiParser.PRE); }
99 public TerminalNode PRE(int i) {
100 return getToken(BridiParser.PRE, i);
101 }
102 public List<TerminalNode> POST() { return getTokens(BridiParser.POST); }
103 public TerminalNode POST(int i) {
104 return getToken(BridiParser.POST, i);
105 }
106 public LiteralContext(ParserRuleContext parent, int invokingState) {
107 super(parent, invokingState);
108 }
109 @Override public int getRuleIndex() { return RULE_literal; }
110 @Override
111 public void enterRule(ParseTreeListener listener) {
112 if ( listener instanceof BridiListener ) ((BridiListener)listener).enterLiteral(this);
113 }
114 @Override
115 public void exitRule(ParseTreeListener listener) {
116 if ( listener instanceof BridiListener ) ((BridiListener)listener).exitLiteral(this);
117 }
118 }
119
120 public final LiteralContext literal() throws RecognitionException {
121 LiteralContext _localctx = new LiteralContext(_ctx, getState());
122 enterRule(_localctx, 0, RULE_literal);
123 int _la;
124 try {
125 enterOuterAlt(_localctx, 1);
126 {
127 setState(9);
128 _errHandler.sync(this);
129 _la = _input.LA(1);
130 do {
131 {
132 {
133 setState(8);
134 _la = _input.LA(1);
135 if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 134L) != 0)) ) {
136 _errHandler.recoverInline(this);
137 }
138 else {
139 if ( _input.LA(1)==Token.EOF ) matchedEOF = true;
140 _errHandler.reportMatch(this);
141 consume();
142 }
143 }
144 }
145 setState(11);
146 _errHandler.sync(this);
147 _la = _input.LA(1);
148 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 134L) != 0) );
149 }
150 }
151 catch (RecognitionException re) {
152 _localctx.exception = re;
153 _errHandler.reportError(this, re);
154 _errHandler.recover(this, re);
155 }
156 finally {
157 exitRule();
158 }
159 return _localctx;
160 }
161
162 @SuppressWarnings("CheckReturnValue")
163 public static class BridiContext extends ParserRuleContext {
164 public List<TerminalNode> TEXT() { return getTokens(BridiParser.TEXT); }
165 public TerminalNode TEXT(int i) {
166 return getToken(BridiParser.TEXT, i);
167 }
168 public List<TerminalNode> LITERALPRE() { return getTokens(BridiParser.LITERALPRE); }
169 public TerminalNode LITERALPRE(int i) {
170 return getToken(BridiParser.LITERALPRE, i);
171 }
172 public List<LiteralContext> literal() {
173 return getRuleContexts(LiteralContext.class);
174 }
175 public LiteralContext literal(int i) {
176 return getRuleContext(LiteralContext.class,i);
177 }
178 public List<TerminalNode> LITERALPOST() { return getTokens(BridiParser.LITERALPOST); }
179 public TerminalNode LITERALPOST(int i) {
180 return getToken(BridiParser.LITERALPOST, i);
181 }
182 public List<TerminalNode> PRE() { return getTokens(BridiParser.PRE); }
183 public TerminalNode PRE(int i) {
184 return getToken(BridiParser.PRE, i);
185 }
186 public List<BridiContext> bridi() {
187 return getRuleContexts(BridiContext.class);
188 }
189 public BridiContext bridi(int i) {
190 return getRuleContext(BridiContext.class,i);
191 }
192 public List<TerminalNode> POST() { return getTokens(BridiParser.POST); }
193 public TerminalNode POST(int i) {
194 return getToken(BridiParser.POST, i);
195 }
196 public List<TextReferenceContext> textReference() {
197 return getRuleContexts(TextReferenceContext.class);
198 }
199 public TextReferenceContext textReference(int i) {
200 return getRuleContext(TextReferenceContext.class,i);
201 }
202 public BridiContext(ParserRuleContext parent, int invokingState) {
203 super(parent, invokingState);
204 }
205 @Override public int getRuleIndex() { return RULE_bridi; }
206 @Override
207 public void enterRule(ParseTreeListener listener) {
208 if ( listener instanceof BridiListener ) ((BridiListener)listener).enterBridi(this);
209 }
210 @Override
211 public void exitRule(ParseTreeListener listener) {
212 if ( listener instanceof BridiListener ) ((BridiListener)listener).exitBridi(this);
213 }
214 }
215
216 public final BridiContext bridi() throws RecognitionException {
217 BridiContext _localctx = new BridiContext(_ctx, getState());
218 enterRule(_localctx, 2, RULE_bridi);
219 int _la;
220 try {
221 enterOuterAlt(_localctx, 1);
222 {
223 setState(26);
224 _errHandler.sync(this);
225 _la = _input.LA(1);
226 do {
227 {
228 setState(26);
229 _errHandler.sync(this);
230 switch ( getInterpreter().adaptivePredict(_input,1,_ctx) ) {
231 case 1:
232 {
233 setState(13);
234 match(TEXT);
235 }
236 break;
237 case 2:
238 {
239 setState(14);
240 match(LITERALPRE);
241 setState(15);
242 literal();
243 setState(16);
244 match(LITERALPOST);
245 }
246 break;
247 case 3:
248 {
249 setState(18);
250 match(PRE);
251 setState(19);
252 bridi();
253 setState(20);
254 match(POST);
255 }
256 break;
257 case 4:
258 {
259 setState(22);
260 match(PRE);
261 setState(23);
262 textReference();
263 setState(24);
264 match(POST);
265 }
266 break;
267 }
268 }
269 setState(28);
270 _errHandler.sync(this);
271 _la = _input.LA(1);
272 } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 138L) != 0) );
273 }
274 }
275 catch (RecognitionException re) {
276 _localctx.exception = re;
277 _errHandler.reportError(this, re);
278 _errHandler.recover(this, re);
279 }
280 finally {
281 exitRule();
282 }
283 return _localctx;
284 }
285
286 @SuppressWarnings("CheckReturnValue")
287 public static class TextReferenceContext extends ParserRuleContext {
288 public TerminalNode REF() { return getToken(BridiParser.REF, 0); }
289 public TerminalNode TEXT() { return getToken(BridiParser.TEXT, 0); }
290 public TextReferenceContext(ParserRuleContext parent, int invokingState) {
291 super(parent, invokingState);
292 }
293 @Override public int getRuleIndex() { return RULE_textReference; }
294 @Override
295 public void enterRule(ParseTreeListener listener) {
296 if ( listener instanceof BridiListener ) ((BridiListener)listener).enterTextReference(this);
297 }
298 @Override
299 public void exitRule(ParseTreeListener listener) {
300 if ( listener instanceof BridiListener ) ((BridiListener)listener).exitTextReference(this);
301 }
302 }
303
304 public final TextReferenceContext textReference() throws RecognitionException {
305 TextReferenceContext _localctx = new TextReferenceContext(_ctx, getState());
306 enterRule(_localctx, 4, RULE_textReference);
307 try {
308 enterOuterAlt(_localctx, 1);
309 {
310 setState(30);
311 match(REF);
312 setState(31);
313 match(TEXT);
314 }
315 }
316 catch (RecognitionException re) {
317 _localctx.exception = re;
318 _errHandler.reportError(this, re);
319 _errHandler.recover(this, re);
320 }
321 finally {
322 exitRule();
323 }
324 return _localctx;
325 }
326
327 @SuppressWarnings("CheckReturnValue")
328 public static class ParagraphContext extends ParserRuleContext {
329 public List<BridiContext> bridi() {
330 return getRuleContexts(BridiContext.class);
331 }
332 public BridiContext bridi(int i) {
333 return getRuleContext(BridiContext.class,i);
334 }
335 public List<TerminalNode> NEWLINE() { return getTokens(BridiParser.NEWLINE); }
336 public TerminalNode NEWLINE(int i) {
337 return getToken(BridiParser.NEWLINE, i);
338 }
339 public ParagraphContext(ParserRuleContext parent, int invokingState) {
340 super(parent, invokingState);
341 }
342 @Override public int getRuleIndex() { return RULE_paragraph; }
343 @Override
344 public void enterRule(ParseTreeListener listener) {
345 if ( listener instanceof BridiListener ) ((BridiListener)listener).enterParagraph(this);
346 }
347 @Override
348 public void exitRule(ParseTreeListener listener) {
349 if ( listener instanceof BridiListener ) ((BridiListener)listener).exitParagraph(this);
350 }
351 }
352
353 public final ParagraphContext paragraph() throws RecognitionException {
354 ParagraphContext _localctx = new ParagraphContext(_ctx, getState());
355 enterRule(_localctx, 6, RULE_paragraph);
356 try {
357 int _alt;
358 enterOuterAlt(_localctx, 1);
359 {
360 setState(38);
361 _errHandler.sync(this);
362 _alt = getInterpreter().adaptivePredict(_input,3,_ctx);
363 while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
364 if ( _alt==1 ) {
365 {
366 {
367 setState(33);
368 bridi();
369 setState(34);
370 match(NEWLINE);
371 }
372 }
373 }
374 setState(40);
375 _errHandler.sync(this);
376 _alt = getInterpreter().adaptivePredict(_input,3,_ctx);
377 }
378 setState(41);
379 bridi();
380 }
381 }
382 catch (RecognitionException re) {
383 _localctx.exception = re;
384 _errHandler.reportError(this, re);
385 _errHandler.recover(this, re);
386 }
387 finally {
388 exitRule();
389 }
390 return _localctx;
391 }
392
393 public static final String _serializedATN =
394 "\u0004\u0001\u0007,\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
395 "\u0002\u0007\u0002\u0002\u0003\u0007\u0003\u0001\u0000\u0004\u0000\n\b"+
396 "\u0000\u000b\u0000\f\u0000\u000b\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
397 "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001"+
398 "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0001\u001b\b\u0001\u000b"+
399 "\u0001\f\u0001\u001c\u0001\u0002\u0001\u0002\u0001\u0002\u0001\u0003\u0001"+
400 "\u0003\u0001\u0003\u0005\u0003%\b\u0003\n\u0003\f\u0003(\t\u0003\u0001"+
401 "\u0003\u0001\u0003\u0001\u0003\u0000\u0000\u0004\u0000\u0002\u0004\u0006"+
402 "\u0000\u0001\u0002\u0000\u0001\u0002\u0007\u0007-\u0000\t\u0001\u0000"+
403 "\u0000\u0000\u0002\u001a\u0001\u0000\u0000\u0000\u0004\u001e\u0001\u0000"+
404 "\u0000\u0000\u0006&\u0001\u0000\u0000\u0000\b\n\u0007\u0000\u0000\u0000"+
405 "\t\b\u0001\u0000\u0000\u0000\n\u000b\u0001\u0000\u0000\u0000\u000b\t\u0001"+
406 "\u0000\u0000\u0000\u000b\f\u0001\u0000\u0000\u0000\f\u0001\u0001\u0000"+
407 "\u0000\u0000\r\u001b\u0005\u0007\u0000\u0000\u000e\u000f\u0005\u0003\u0000"+
408 "\u0000\u000f\u0010\u0003\u0000\u0000\u0000\u0010\u0011\u0005\u0004\u0000"+
409 "\u0000\u0011\u001b\u0001\u0000\u0000\u0000\u0012\u0013\u0005\u0001\u0000"+
410 "\u0000\u0013\u0014\u0003\u0002\u0001\u0000\u0014\u0015\u0005\u0002\u0000"+
411 "\u0000\u0015\u001b\u0001\u0000\u0000\u0000\u0016\u0017\u0005\u0001\u0000"+
412 "\u0000\u0017\u0018\u0003\u0004\u0002\u0000\u0018\u0019\u0005\u0002\u0000"+
413 "\u0000\u0019\u001b\u0001\u0000\u0000\u0000\u001a\r\u0001\u0000\u0000\u0000"+
414 "\u001a\u000e\u0001\u0000\u0000\u0000\u001a\u0012\u0001\u0000\u0000\u0000"+
415 "\u001a\u0016\u0001\u0000\u0000\u0000\u001b\u001c\u0001\u0000\u0000\u0000"+
416 "\u001c\u001a\u0001\u0000\u0000\u0000\u001c\u001d\u0001\u0000\u0000\u0000"+
417 "\u001d\u0003\u0001\u0000\u0000\u0000\u001e\u001f\u0005\u0005\u0000\u0000"+
418 "\u001f \u0005\u0007\u0000\u0000 \u0005\u0001\u0000\u0000\u0000!\"\u0003"+
419 "\u0002\u0001\u0000\"#\u0005\u0006\u0000\u0000#%\u0001\u0000\u0000\u0000"+
420 "$!\u0001\u0000\u0000\u0000%(\u0001\u0000\u0000\u0000&$\u0001\u0000\u0000"+
421 "\u0000&\'\u0001\u0000\u0000\u0000\')\u0001\u0000\u0000\u0000(&\u0001\u0000"+
422 "\u0000\u0000)*\u0003\u0002\u0001\u0000*\u0007\u0001\u0000\u0000\u0000"+
423 "\u0004\u000b\u001a\u001c&";
424 public static final ATN _ATN =
425 new ATNDeserializer().deserialize(_serializedATN.toCharArray());
426 static {
427 _decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
428 for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
429 _decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
430 }
431 }
432 }