14 #pragma warning disable 0162
16 #pragma warning disable 0219
18 #pragma warning disable 1591
20 #pragma warning disable 419
25 using System.Diagnostics;
26 using System.Collections.Generic;
28 using Antlr4.Runtime.Atn;
29 using Antlr4.Runtime.Misc;
30 using Antlr4.Runtime.Tree;
31 using DFA = Antlr4.Runtime.Dfa.DFA;
33 [System.CodeDom.Compiler.GeneratedCode(
"ANTLR",
"4.7")]
34 [System.CLSCompliant(
false)]
35 public partial class SPDGrammarParser : Parser {
36 protected static DFA[] decisionToDFA;
37 protected static PredictionContextCache sharedContextCache =
new PredictionContextCache();
39 T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, T__6=7, BOOLEAN=8, INTEGER=9,
40 STRING=10, WHITE_SPACE=11;
42 RULE_array = 0, RULE_json = 1, RULE_oBjEcT = 2, RULE_pair = 3, RULE_value = 4;
43 public static readonly
string[] ruleNames = {
44 "array",
"json",
"oBjEcT",
"pair",
"value"
47 private static readonly
string[] _LiteralNames = {
48 null,
"'['",
"','",
"']'",
"'{'",
"'}'",
"':'",
"'null'"
50 private static readonly
string[] _SymbolicNames = {
51 null,
null,
null,
null,
null,
null,
null,
null,
"BOOLEAN",
"INTEGER",
52 "STRING",
"WHITE_SPACE"
54 public static readonly IVocabulary DefaultVocabulary =
new Vocabulary(_LiteralNames, _SymbolicNames);
57 public override IVocabulary Vocabulary
61 return DefaultVocabulary;
65 public override string GrammarFileName {
get {
return "SPDGrammar.g4"; } }
67 public override string[] RuleNames {
get {
return ruleNames; } }
69 public override string SerializedAtn {
get {
return new string(_serializedATN); } }
71 static SPDGrammarParser() {
72 decisionToDFA =
new DFA[_ATN.NumberOfDecisions];
73 for (
int i = 0; i < _ATN.NumberOfDecisions; i++) {
74 decisionToDFA[i] =
new DFA(_ATN.GetDecisionState(i), i);
78 public SPDGrammarParser(ITokenStream input) : this(input, Console.Out, Console.Error) { }
80 public SPDGrammarParser(ITokenStream input, TextWriter output, TextWriter errorOutput)
81 :
base(input, output, errorOutput)
83 Interpreter =
new ParserATNSimulator(
this, _ATN, decisionToDFA, sharedContextCache);
85 public partial class ArrayContext : ParserRuleContext {
86 public ValueContext[] value() {
87 return GetRuleContexts<ValueContext>();
89 public ValueContext value(
int i) {
90 return GetRuleContext<ValueContext>(i);
92 public ArrayContext(ParserRuleContext parent,
int invokingState)
93 :
base(parent, invokingState)
96 public override int RuleIndex {
get {
return RULE_array; } }
97 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
99 if (typedVisitor !=
null)
return typedVisitor.
VisitArray(
this);
100 else return visitor.VisitChildren(
this);
105 public ArrayContext array() {
106 ArrayContext _localctx =
new ArrayContext(Context, State);
107 EnterRule(_localctx, 0, RULE_array);
110 EnterOuterAlt(_localctx, 1);
112 State = 10; Match(T__0);
115 ErrorHandler.Sync(
this);
116 _la = TokenStream.LA(1);
120 State = 12; Match(T__1);
125 ErrorHandler.Sync(
this);
126 _la = TokenStream.LA(1);
128 State = 19; Match(T__2);
131 catch (RecognitionException re) {
132 _localctx.exception = re;
133 ErrorHandler.ReportError(
this, re);
134 ErrorHandler.Recover(
this, re);
142 public partial class JsonContext : ParserRuleContext {
143 public ValueContext[] value() {
144 return GetRuleContexts<ValueContext>();
146 public ValueContext value(
int i) {
147 return GetRuleContext<ValueContext>(i);
149 public JsonContext(ParserRuleContext parent,
int invokingState)
150 :
base(parent, invokingState)
153 public override int RuleIndex {
get {
return RULE_json; } }
154 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
156 if (typedVisitor !=
null)
return typedVisitor.
VisitJson(
this);
157 else return visitor.VisitChildren(
this);
162 public JsonContext json() {
163 JsonContext _localctx =
new JsonContext(Context, State);
164 EnterRule(_localctx, 2, RULE_json);
167 EnterOuterAlt(_localctx, 1);
170 ErrorHandler.Sync(
this);
171 _la = TokenStream.LA(1);
172 while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << T__0) | (1L << T__3) | (1L << T__6) | (1L << BOOLEAN) | (1L << INTEGER) | (1L << STRING))) != 0)) {
179 ErrorHandler.Sync(
this);
180 _la = TokenStream.LA(1);
184 catch (RecognitionException re) {
185 _localctx.exception = re;
186 ErrorHandler.ReportError(
this, re);
187 ErrorHandler.Recover(
this, re);
195 public partial class OBjEcTContext : ParserRuleContext {
196 public PairContext[] pair() {
197 return GetRuleContexts<PairContext>();
199 public PairContext pair(
int i) {
200 return GetRuleContext<PairContext>(i);
202 public OBjEcTContext(ParserRuleContext parent,
int invokingState)
203 :
base(parent, invokingState)
206 public override int RuleIndex {
get {
return RULE_oBjEcT; } }
207 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
209 if (typedVisitor !=
null)
return typedVisitor.
VisitOBjEcT(
this);
210 else return visitor.VisitChildren(
this);
215 public OBjEcTContext oBjEcT() {
216 OBjEcTContext _localctx =
new OBjEcTContext(Context, State);
217 EnterRule(_localctx, 4, RULE_oBjEcT);
221 ErrorHandler.Sync(
this);
222 switch ( Interpreter.AdaptivePredict(TokenStream,3,Context) ) {
224 EnterOuterAlt(_localctx, 1);
226 State = 27; Match(T__3);
229 ErrorHandler.Sync(
this);
230 _la = TokenStream.LA(1);
234 State = 29; Match(T__1);
239 ErrorHandler.Sync(
this);
240 _la = TokenStream.LA(1);
242 State = 36; Match(T__4);
246 EnterOuterAlt(_localctx, 2);
248 State = 38; Match(T__3);
249 State = 39; Match(T__4);
254 catch (RecognitionException re) {
255 _localctx.exception = re;
256 ErrorHandler.ReportError(
this, re);
257 ErrorHandler.Recover(
this, re);
265 public partial class PairContext : ParserRuleContext {
266 public ITerminalNode STRING() {
return GetToken(SPDGrammarParser.STRING, 0); }
267 public ValueContext value() {
268 return GetRuleContext<ValueContext>(0);
270 public PairContext(ParserRuleContext parent,
int invokingState)
271 :
base(parent, invokingState)
274 public override int RuleIndex {
get {
return RULE_pair; } }
275 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
277 if (typedVisitor !=
null)
return typedVisitor.
VisitPair(
this);
278 else return visitor.VisitChildren(
this);
283 public PairContext pair() {
284 PairContext _localctx =
new PairContext(Context, State);
285 EnterRule(_localctx, 6, RULE_pair);
287 EnterOuterAlt(_localctx, 1);
289 State = 42; Match(STRING);
290 State = 43; Match(T__5);
294 catch (RecognitionException re) {
295 _localctx.exception = re;
296 ErrorHandler.ReportError(
this, re);
297 ErrorHandler.Recover(
this, re);
305 public partial class ValueContext : ParserRuleContext {
306 public ValueContext(ParserRuleContext parent,
int invokingState)
307 :
base(parent, invokingState)
310 public override int RuleIndex {
get {
return RULE_value; } }
312 public ValueContext() { }
313 public virtual void CopyFrom(ValueContext context) {
314 base.CopyFrom(context);
317 public partial class NullValueContext : ValueContext {
318 public NullValueContext(ValueContext context) { CopyFrom(context); }
319 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
321 if (typedVisitor !=
null)
return typedVisitor.
VisitNullValue(
this);
322 else return visitor.VisitChildren(
this);
325 public partial class ObjectValueContext : ValueContext {
326 public OBjEcTContext oBjEcT() {
327 return GetRuleContext<OBjEcTContext>(0);
329 public ObjectValueContext(ValueContext context) { CopyFrom(context); }
330 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
333 else return visitor.VisitChildren(
this);
336 public partial class BooleanValueContext : ValueContext {
337 public ITerminalNode BOOLEAN() {
return GetToken(SPDGrammarParser.BOOLEAN, 0); }
338 public BooleanValueContext(ValueContext context) { CopyFrom(context); }
339 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
342 else return visitor.VisitChildren(
this);
345 public partial class IntegerValueContext : ValueContext {
346 public ITerminalNode INTEGER() {
return GetToken(SPDGrammarParser.INTEGER, 0); }
347 public IntegerValueContext(ValueContext context) { CopyFrom(context); }
348 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
351 else return visitor.VisitChildren(
this);
354 public partial class StringValueContext : ValueContext {
355 public ITerminalNode STRING() {
return GetToken(SPDGrammarParser.STRING, 0); }
356 public StringValueContext(ValueContext context) { CopyFrom(context); }
357 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
360 else return visitor.VisitChildren(
this);
363 public partial class ArrayValueContext : ValueContext {
364 public ArrayContext array() {
365 return GetRuleContext<ArrayContext>(0);
367 public ArrayValueContext(ValueContext context) { CopyFrom(context); }
368 public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
371 else return visitor.VisitChildren(
this);
376 public ValueContext value() {
377 ValueContext _localctx =
new ValueContext(Context, State);
378 EnterRule(_localctx, 8, RULE_value);
381 ErrorHandler.Sync(
this);
382 switch (TokenStream.LA(1)) {
384 _localctx =
new ArrayValueContext(_localctx);
385 EnterOuterAlt(_localctx, 1);
391 _localctx =
new BooleanValueContext(_localctx);
392 EnterOuterAlt(_localctx, 2);
394 State = 47; Match(BOOLEAN);
398 _localctx =
new IntegerValueContext(_localctx);
399 EnterOuterAlt(_localctx, 3);
401 State = 48; Match(INTEGER);
405 _localctx =
new NullValueContext(_localctx);
406 EnterOuterAlt(_localctx, 4);
408 State = 49; Match(T__6);
412 _localctx =
new ObjectValueContext(_localctx);
413 EnterOuterAlt(_localctx, 5);
415 State = 50; oBjEcT();
419 _localctx =
new StringValueContext(_localctx);
420 EnterOuterAlt(_localctx, 6);
422 State = 51; Match(STRING);
426 throw new NoViableAltException(
this);
429 catch (RecognitionException re) {
430 _localctx.exception = re;
431 ErrorHandler.ReportError(
this, re);
432 ErrorHandler.Recover(
this, re);
440 private static char[] _serializedATN = {
441 '\x3',
'\x608B',
'\xA72A',
'\x8133',
'\xB9ED',
'\x417C',
'\x3BE7',
'\x7786',
442 '\x5964',
'\x3',
'\r',
'\x39',
'\x4',
'\x2',
'\t',
'\x2',
'\x4',
'\x3',
443 '\t',
'\x3',
'\x4',
'\x4',
'\t',
'\x4',
'\x4',
'\x5',
'\t',
'\x5',
'\x4',
444 '\x6',
'\t',
'\x6',
'\x3',
'\x2',
'\x3',
'\x2',
'\x3',
'\x2',
'\x3',
'\x2',
445 '\a',
'\x2',
'\x11',
'\n',
'\x2',
'\f',
'\x2',
'\xE',
'\x2',
'\x14',
'\v',
446 '\x2',
'\x3',
'\x2',
'\x3',
'\x2',
'\x3',
'\x3',
'\a',
'\x3',
'\x19',
447 '\n',
'\x3',
'\f',
'\x3',
'\xE',
'\x3',
'\x1C',
'\v',
'\x3',
'\x3',
'\x4',
448 '\x3',
'\x4',
'\x3',
'\x4',
'\x3',
'\x4',
'\a',
'\x4',
'\"',
'\n',
'\x4',
449 '\f',
'\x4',
'\xE',
'\x4',
'%',
'\v',
'\x4',
'\x3',
'\x4',
'\x3',
'\x4',
450 '\x3',
'\x4',
'\x3',
'\x4',
'\x5',
'\x4',
'+',
'\n',
'\x4',
'\x3',
'\x5',
451 '\x3',
'\x5',
'\x3',
'\x5',
'\x3',
'\x5',
'\x3',
'\x6',
'\x3',
'\x6',
452 '\x3',
'\x6',
'\x3',
'\x6',
'\x3',
'\x6',
'\x3',
'\x6',
'\x5',
'\x6',
453 '\x37',
'\n',
'\x6',
'\x3',
'\x6',
'\x2',
'\x2',
'\a',
'\x2',
'\x4',
'\x6',
454 '\b',
'\n',
'\x2',
'\x2',
'\x2',
'<',
'\x2',
'\f',
'\x3',
'\x2',
'\x2',
455 '\x2',
'\x4',
'\x1A',
'\x3',
'\x2',
'\x2',
'\x2',
'\x6',
'*',
'\x3',
'\x2',
456 '\x2',
'\x2',
'\b',
',',
'\x3',
'\x2',
'\x2',
'\x2',
'\n',
'\x36',
'\x3',
457 '\x2',
'\x2',
'\x2',
'\f',
'\r',
'\a',
'\x3',
'\x2',
'\x2',
'\r',
'\x12',
458 '\x5',
'\n',
'\x6',
'\x2',
'\xE',
'\xF',
'\a',
'\x4',
'\x2',
'\x2',
'\xF',
459 '\x11',
'\x5',
'\n',
'\x6',
'\x2',
'\x10',
'\xE',
'\x3',
'\x2',
'\x2',
460 '\x2',
'\x11',
'\x14',
'\x3',
'\x2',
'\x2',
'\x2',
'\x12',
'\x10',
'\x3',
461 '\x2',
'\x2',
'\x2',
'\x12',
'\x13',
'\x3',
'\x2',
'\x2',
'\x2',
'\x13',
462 '\x15',
'\x3',
'\x2',
'\x2',
'\x2',
'\x14',
'\x12',
'\x3',
'\x2',
'\x2',
463 '\x2',
'\x15',
'\x16',
'\a',
'\x5',
'\x2',
'\x2',
'\x16',
'\x3',
'\x3',
464 '\x2',
'\x2',
'\x2',
'\x17',
'\x19',
'\x5',
'\n',
'\x6',
'\x2',
'\x18',
465 '\x17',
'\x3',
'\x2',
'\x2',
'\x2',
'\x19',
'\x1C',
'\x3',
'\x2',
'\x2',
466 '\x2',
'\x1A',
'\x18',
'\x3',
'\x2',
'\x2',
'\x2',
'\x1A',
'\x1B',
'\x3',
467 '\x2',
'\x2',
'\x2',
'\x1B',
'\x5',
'\x3',
'\x2',
'\x2',
'\x2',
'\x1C',
468 '\x1A',
'\x3',
'\x2',
'\x2',
'\x2',
'\x1D',
'\x1E',
'\a',
'\x6',
'\x2',
469 '\x2',
'\x1E',
'#',
'\x5',
'\b',
'\x5',
'\x2',
'\x1F',
' ',
'\a',
'\x4',
470 '\x2',
'\x2',
' ',
'\"',
'\x5',
'\b',
'\x5',
'\x2',
'!',
'\x1F',
'\x3',
471 '\x2',
'\x2',
'\x2',
'\"',
'%',
'\x3',
'\x2',
'\x2',
'\x2',
'#',
'!',
472 '\x3',
'\x2',
'\x2',
'\x2',
'#',
'$',
'\x3',
'\x2',
'\x2',
'\x2',
'$',
473 '&',
'\x3',
'\x2',
'\x2',
'\x2',
'%',
'#',
'\x3',
'\x2',
'\x2',
'\x2',
474 '&',
'\'',
'\a',
'\a',
'\x2',
'\x2',
'\'',
'+',
'\x3',
'\x2',
'\x2',
'\x2',
475 '(',
')',
'\a',
'\x6',
'\x2',
'\x2',
')',
'+',
'\a',
'\a',
'\x2',
'\x2',
476 '*',
'\x1D',
'\x3',
'\x2',
'\x2',
'\x2',
'*',
'(',
'\x3',
'\x2',
'\x2',
477 '\x2',
'+',
'\a',
'\x3',
'\x2',
'\x2',
'\x2',
',',
'-',
'\a',
'\f',
'\x2',
478 '\x2',
'-',
'.',
'\a',
'\b',
'\x2',
'\x2',
'.',
'/',
'\x5',
'\n',
'\x6',
479 '\x2',
'/',
'\t',
'\x3',
'\x2',
'\x2',
'\x2',
'\x30',
'\x37',
'\x5',
'\x2',
480 '\x2',
'\x2',
'\x31',
'\x37',
'\a',
'\n',
'\x2',
'\x2',
'\x32',
'\x37',
481 '\a',
'\v',
'\x2',
'\x2',
'\x33',
'\x37',
'\a',
'\t',
'\x2',
'\x2',
'\x34',
482 '\x37',
'\x5',
'\x6',
'\x4',
'\x2',
'\x35',
'\x37',
'\a',
'\f',
'\x2',
483 '\x2',
'\x36',
'\x30',
'\x3',
'\x2',
'\x2',
'\x2',
'\x36',
'\x31',
'\x3',
484 '\x2',
'\x2',
'\x2',
'\x36',
'\x32',
'\x3',
'\x2',
'\x2',
'\x2',
'\x36',
485 '\x33',
'\x3',
'\x2',
'\x2',
'\x2',
'\x36',
'\x34',
'\x3',
'\x2',
'\x2',
486 '\x2',
'\x36',
'\x35',
'\x3',
'\x2',
'\x2',
'\x2',
'\x37',
'\v',
'\x3',
487 '\x2',
'\x2',
'\x2',
'\a',
'\x12',
'\x1A',
'#',
'*',
'\x36',
490 public static readonly ATN _ATN =
491 new ATNDeserializer().Deserialize(_serializedATN);