2 // Generated from Toc.g4 by ANTLR 4.9.2
\r
6 #include "TocParser.h"
\r
9 using namespace antlrcpp;
\r
10 using namespace antlr4;
\r
12 TocParser::TocParser(TokenStream *input) : Parser(input) {
\r
13 _interpreter = new atn::ParserATNSimulator(this, _atn, _decisionToDFA, _sharedContextCache);
\r
16 TocParser::~TocParser() {
\r
17 delete _interpreter;
\r
20 std::string TocParser::getGrammarFileName() const {
\r
24 const std::vector<std::string>& TocParser::getRuleNames() const {
\r
28 dfa::Vocabulary& TocParser::getVocabulary() const {
\r
33 //----------------- ProgContext ------------------------------------------------------------------
\r
35 TocParser::ProgContext::ProgContext(ParserRuleContext *parent, size_t invokingState)
\r
36 : ParserRuleContext(parent, invokingState) {
\r
39 tree::TerminalNode* TocParser::ProgContext::EOF() {
\r
40 return getToken(TocParser::EOF, 0);
\r
43 std::vector<TocParser::DeclContext *> TocParser::ProgContext::decl() {
\r
44 return getRuleContexts<TocParser::DeclContext>();
\r
47 TocParser::DeclContext* TocParser::ProgContext::decl(size_t i) {
\r
48 return getRuleContext<TocParser::DeclContext>(i);
\r
52 size_t TocParser::ProgContext::getRuleIndex() const {
\r
53 return TocParser::RuleProg;
\r
57 TocParser::ProgContext* TocParser::prog() {
\r
58 ProgContext *_localctx = _tracker.createInstance<ProgContext>(_ctx, getState());
\r
59 enterRule(_localctx, 0, TocParser::RuleProg);
\r
62 #if __cplusplus > 201703L
\r
63 auto onExit = finally([=, this] {
\r
65 auto onExit = finally([=] {
\r
70 enterOuterAlt(_localctx, 1);
\r
72 _errHandler->sync(this);
\r
73 _la = _input->LA(1);
\r
78 _errHandler->sync(this);
\r
79 _la = _input->LA(1);
\r
80 } while ((((_la & ~ 0x3fULL) == 0) &&
\r
81 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
82 | (1ULL << TocParser::T__4)
\r
83 | (1ULL << TocParser::T__11)
\r
84 | (1ULL << TocParser::T__15))) != 0));
\r
86 match(TocParser::EOF);
\r
89 catch (RecognitionException &e) {
\r
90 _errHandler->reportError(this, e);
\r
91 _localctx->exception = std::current_exception();
\r
92 _errHandler->recover(this, _localctx->exception);
\r
98 //----------------- DeclContext ------------------------------------------------------------------
\r
100 TocParser::DeclContext::DeclContext(ParserRuleContext *parent, size_t invokingState)
\r
101 : ParserRuleContext(parent, invokingState) {
\r
104 TocParser::VarDeclContext* TocParser::DeclContext::varDecl() {
\r
105 return getRuleContext<TocParser::VarDeclContext>(0);
\r
108 TocParser::FuncDeclContext* TocParser::DeclContext::funcDecl() {
\r
109 return getRuleContext<TocParser::FuncDeclContext>(0);
\r
112 TocParser::StructDeclContext* TocParser::DeclContext::structDecl() {
\r
113 return getRuleContext<TocParser::StructDeclContext>(0);
\r
116 TocParser::NamespaceDeclContext* TocParser::DeclContext::namespaceDecl() {
\r
117 return getRuleContext<TocParser::NamespaceDeclContext>(0);
\r
121 size_t TocParser::DeclContext::getRuleIndex() const {
\r
122 return TocParser::RuleDecl;
\r
126 TocParser::DeclContext* TocParser::decl() {
\r
127 DeclContext *_localctx = _tracker.createInstance<DeclContext>(_ctx, getState());
\r
128 enterRule(_localctx, 2, TocParser::RuleDecl);
\r
130 #if __cplusplus > 201703L
\r
131 auto onExit = finally([=, this] {
\r
133 auto onExit = finally([=] {
\r
139 _errHandler->sync(this);
\r
140 switch (_input->LA(1)) {
\r
141 case TocParser::T__4: {
\r
142 enterOuterAlt(_localctx, 1);
\r
146 match(TocParser::T__0);
\r
150 case TocParser::T__11: {
\r
151 enterOuterAlt(_localctx, 2);
\r
157 case TocParser::T__15: {
\r
158 enterOuterAlt(_localctx, 3);
\r
164 case TocParser::T__1: {
\r
165 enterOuterAlt(_localctx, 4);
\r
172 throw NoViableAltException(this);
\r
176 catch (RecognitionException &e) {
\r
177 _errHandler->reportError(this, e);
\r
178 _localctx->exception = std::current_exception();
\r
179 _errHandler->recover(this, _localctx->exception);
\r
185 //----------------- NamespaceDeclContext ------------------------------------------------------------------
\r
187 TocParser::NamespaceDeclContext::NamespaceDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
188 : ParserRuleContext(parent, invokingState) {
\r
191 TocParser::TypeNameContext* TocParser::NamespaceDeclContext::typeName() {
\r
192 return getRuleContext<TocParser::TypeNameContext>(0);
\r
195 std::vector<TocParser::DeclContext *> TocParser::NamespaceDeclContext::decl() {
\r
196 return getRuleContexts<TocParser::DeclContext>();
\r
199 TocParser::DeclContext* TocParser::NamespaceDeclContext::decl(size_t i) {
\r
200 return getRuleContext<TocParser::DeclContext>(i);
\r
204 size_t TocParser::NamespaceDeclContext::getRuleIndex() const {
\r
205 return TocParser::RuleNamespaceDecl;
\r
209 TocParser::NamespaceDeclContext* TocParser::namespaceDecl() {
\r
210 NamespaceDeclContext *_localctx = _tracker.createInstance<NamespaceDeclContext>(_ctx, getState());
\r
211 enterRule(_localctx, 4, TocParser::RuleNamespaceDecl);
\r
214 #if __cplusplus > 201703L
\r
215 auto onExit = finally([=, this] {
\r
217 auto onExit = finally([=] {
\r
222 enterOuterAlt(_localctx, 1);
\r
224 match(TocParser::T__1);
\r
228 match(TocParser::T__2);
\r
230 _errHandler->sync(this);
\r
231 _la = _input->LA(1);
\r
232 while ((((_la & ~ 0x3fULL) == 0) &&
\r
233 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
234 | (1ULL << TocParser::T__4)
\r
235 | (1ULL << TocParser::T__11)
\r
236 | (1ULL << TocParser::T__15))) != 0)) {
\r
240 _errHandler->sync(this);
\r
241 _la = _input->LA(1);
\r
244 match(TocParser::T__3);
\r
247 catch (RecognitionException &e) {
\r
248 _errHandler->reportError(this, e);
\r
249 _localctx->exception = std::current_exception();
\r
250 _errHandler->recover(this, _localctx->exception);
\r
256 //----------------- VarDeclContext ------------------------------------------------------------------
\r
258 TocParser::VarDeclContext::VarDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
259 : ParserRuleContext(parent, invokingState) {
\r
262 TocParser::VarContext* TocParser::VarDeclContext::var() {
\r
263 return getRuleContext<TocParser::VarContext>(0);
\r
267 size_t TocParser::VarDeclContext::getRuleIndex() const {
\r
268 return TocParser::RuleVarDecl;
\r
272 TocParser::VarDeclContext* TocParser::varDecl() {
\r
273 VarDeclContext *_localctx = _tracker.createInstance<VarDeclContext>(_ctx, getState());
\r
274 enterRule(_localctx, 6, TocParser::RuleVarDecl);
\r
276 #if __cplusplus > 201703L
\r
277 auto onExit = finally([=, this] {
\r
279 auto onExit = finally([=] {
\r
284 enterOuterAlt(_localctx, 1);
\r
286 match(TocParser::T__4);
\r
291 catch (RecognitionException &e) {
\r
292 _errHandler->reportError(this, e);
\r
293 _localctx->exception = std::current_exception();
\r
294 _errHandler->recover(this, _localctx->exception);
\r
300 //----------------- VarContext ------------------------------------------------------------------
\r
302 TocParser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState)
\r
303 : ParserRuleContext(parent, invokingState) {
\r
306 TocParser::VarNameContext* TocParser::VarContext::varName() {
\r
307 return getRuleContext<TocParser::VarNameContext>(0);
\r
310 TocParser::TypeContext* TocParser::VarContext::type() {
\r
311 return getRuleContext<TocParser::TypeContext>(0);
\r
314 TocParser::ExprContext* TocParser::VarContext::expr() {
\r
315 return getRuleContext<TocParser::ExprContext>(0);
\r
319 size_t TocParser::VarContext::getRuleIndex() const {
\r
320 return TocParser::RuleVar;
\r
324 TocParser::VarContext* TocParser::var() {
\r
325 VarContext *_localctx = _tracker.createInstance<VarContext>(_ctx, getState());
\r
326 enterRule(_localctx, 8, TocParser::RuleVar);
\r
329 #if __cplusplus > 201703L
\r
330 auto onExit = finally([=, this] {
\r
332 auto onExit = finally([=] {
\r
337 enterOuterAlt(_localctx, 1);
\r
342 match(TocParser::T__5);
\r
346 _errHandler->sync(this);
\r
348 _la = _input->LA(1);
\r
349 if (_la == TocParser::T__6) {
\r
351 match(TocParser::T__6);
\r
357 catch (RecognitionException &e) {
\r
358 _errHandler->reportError(this, e);
\r
359 _localctx->exception = std::current_exception();
\r
360 _errHandler->recover(this, _localctx->exception);
\r
366 //----------------- VarInitContext ------------------------------------------------------------------
\r
368 TocParser::VarInitContext::VarInitContext(ParserRuleContext *parent, size_t invokingState)
\r
369 : ParserRuleContext(parent, invokingState) {
\r
372 TocParser::VarNameContext* TocParser::VarInitContext::varName() {
\r
373 return getRuleContext<TocParser::VarNameContext>(0);
\r
376 TocParser::TypeContext* TocParser::VarInitContext::type() {
\r
377 return getRuleContext<TocParser::TypeContext>(0);
\r
380 TocParser::ExprContext* TocParser::VarInitContext::expr() {
\r
381 return getRuleContext<TocParser::ExprContext>(0);
\r
385 size_t TocParser::VarInitContext::getRuleIndex() const {
\r
386 return TocParser::RuleVarInit;
\r
390 TocParser::VarInitContext* TocParser::varInit() {
\r
391 VarInitContext *_localctx = _tracker.createInstance<VarInitContext>(_ctx, getState());
\r
392 enterRule(_localctx, 10, TocParser::RuleVarInit);
\r
394 #if __cplusplus > 201703L
\r
395 auto onExit = finally([=, this] {
\r
397 auto onExit = finally([=] {
\r
402 enterOuterAlt(_localctx, 1);
\r
407 match(TocParser::T__5);
\r
412 match(TocParser::T__6);
\r
417 catch (RecognitionException &e) {
\r
418 _errHandler->reportError(this, e);
\r
419 _localctx->exception = std::current_exception();
\r
420 _errHandler->recover(this, _localctx->exception);
\r
426 //----------------- TypeContext ------------------------------------------------------------------
\r
428 TocParser::TypeContext::TypeContext(ParserRuleContext *parent, size_t invokingState)
\r
429 : ParserRuleContext(parent, invokingState) {
\r
432 TocParser::TypeNameContext* TocParser::TypeContext::typeName() {
\r
433 return getRuleContext<TocParser::TypeNameContext>(0);
\r
436 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::TypeContext::namespaceSpecifier() {
\r
437 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
440 TocParser::NamespaceSpecifierContext* TocParser::TypeContext::namespaceSpecifier(size_t i) {
\r
441 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
444 std::vector<TocParser::TypeModifierContext *> TocParser::TypeContext::typeModifier() {
\r
445 return getRuleContexts<TocParser::TypeModifierContext>();
\r
448 TocParser::TypeModifierContext* TocParser::TypeContext::typeModifier(size_t i) {
\r
449 return getRuleContext<TocParser::TypeModifierContext>(i);
\r
453 size_t TocParser::TypeContext::getRuleIndex() const {
\r
454 return TocParser::RuleType;
\r
458 TocParser::TypeContext* TocParser::type() {
\r
459 TypeContext *_localctx = _tracker.createInstance<TypeContext>(_ctx, getState());
\r
460 enterRule(_localctx, 12, TocParser::RuleType);
\r
463 #if __cplusplus > 201703L
\r
464 auto onExit = finally([=, this] {
\r
466 auto onExit = finally([=] {
\r
472 enterOuterAlt(_localctx, 1);
\r
474 _errHandler->sync(this);
\r
475 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
476 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
479 namespaceSpecifier();
\r
482 _errHandler->sync(this);
\r
483 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
488 _errHandler->sync(this);
\r
489 _la = _input->LA(1);
\r
490 while (_la == TocParser::T__7
\r
492 || _la == TocParser::T__8) {
\r
496 _errHandler->sync(this);
\r
497 _la = _input->LA(1);
\r
501 catch (RecognitionException &e) {
\r
502 _errHandler->reportError(this, e);
\r
503 _localctx->exception = std::current_exception();
\r
504 _errHandler->recover(this, _localctx->exception);
\r
510 //----------------- TypeModifierContext ------------------------------------------------------------------
\r
512 TocParser::TypeModifierContext::TypeModifierContext(ParserRuleContext *parent, size_t invokingState)
\r
513 : ParserRuleContext(parent, invokingState) {
\r
516 tree::TerminalNode* TocParser::TypeModifierContext::INT_LIT() {
\r
517 return getToken(TocParser::INT_LIT, 0);
\r
521 size_t TocParser::TypeModifierContext::getRuleIndex() const {
\r
522 return TocParser::RuleTypeModifier;
\r
526 TocParser::TypeModifierContext* TocParser::typeModifier() {
\r
527 TypeModifierContext *_localctx = _tracker.createInstance<TypeModifierContext>(_ctx, getState());
\r
528 enterRule(_localctx, 14, TocParser::RuleTypeModifier);
\r
531 #if __cplusplus > 201703L
\r
532 auto onExit = finally([=, this] {
\r
534 auto onExit = finally([=] {
\r
540 _errHandler->sync(this);
\r
541 switch (_input->LA(1)) {
\r
542 case TocParser::T__7: {
\r
543 enterOuterAlt(_localctx, 1);
\r
545 match(TocParser::T__7);
\r
549 case TocParser::T__8: {
\r
550 enterOuterAlt(_localctx, 2);
\r
552 match(TocParser::T__8);
\r
554 _errHandler->sync(this);
\r
556 _la = _input->LA(1);
\r
557 if (_la == TocParser::INT_LIT) {
\r
559 match(TocParser::INT_LIT);
\r
562 match(TocParser::T__9);
\r
567 throw NoViableAltException(this);
\r
571 catch (RecognitionException &e) {
\r
572 _errHandler->reportError(this, e);
\r
573 _localctx->exception = std::current_exception();
\r
574 _errHandler->recover(this, _localctx->exception);
\r
580 //----------------- NamespaceSpecifierContext ------------------------------------------------------------------
\r
582 TocParser::NamespaceSpecifierContext::NamespaceSpecifierContext(ParserRuleContext *parent, size_t invokingState)
\r
583 : ParserRuleContext(parent, invokingState) {
\r
586 TocParser::TypeNameContext* TocParser::NamespaceSpecifierContext::typeName() {
\r
587 return getRuleContext<TocParser::TypeNameContext>(0);
\r
591 size_t TocParser::NamespaceSpecifierContext::getRuleIndex() const {
\r
592 return TocParser::RuleNamespaceSpecifier;
\r
596 TocParser::NamespaceSpecifierContext* TocParser::namespaceSpecifier() {
\r
597 NamespaceSpecifierContext *_localctx = _tracker.createInstance<NamespaceSpecifierContext>(_ctx, getState());
\r
598 enterRule(_localctx, 16, TocParser::RuleNamespaceSpecifier);
\r
600 #if __cplusplus > 201703L
\r
601 auto onExit = finally([=, this] {
\r
603 auto onExit = finally([=] {
\r
608 enterOuterAlt(_localctx, 1);
\r
612 match(TocParser::T__10);
\r
615 catch (RecognitionException &e) {
\r
616 _errHandler->reportError(this, e);
\r
617 _localctx->exception = std::current_exception();
\r
618 _errHandler->recover(this, _localctx->exception);
\r
624 //----------------- FuncDeclContext ------------------------------------------------------------------
\r
626 TocParser::FuncDeclContext::FuncDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
627 : ParserRuleContext(parent, invokingState) {
\r
630 TocParser::FuncContext* TocParser::FuncDeclContext::func() {
\r
631 return getRuleContext<TocParser::FuncContext>(0);
\r
635 size_t TocParser::FuncDeclContext::getRuleIndex() const {
\r
636 return TocParser::RuleFuncDecl;
\r
640 TocParser::FuncDeclContext* TocParser::funcDecl() {
\r
641 FuncDeclContext *_localctx = _tracker.createInstance<FuncDeclContext>(_ctx, getState());
\r
642 enterRule(_localctx, 18, TocParser::RuleFuncDecl);
\r
644 #if __cplusplus > 201703L
\r
645 auto onExit = finally([=, this] {
\r
647 auto onExit = finally([=] {
\r
652 enterOuterAlt(_localctx, 1);
\r
654 match(TocParser::T__11);
\r
659 catch (RecognitionException &e) {
\r
660 _errHandler->reportError(this, e);
\r
661 _localctx->exception = std::current_exception();
\r
662 _errHandler->recover(this, _localctx->exception);
\r
668 //----------------- FuncContext ------------------------------------------------------------------
\r
670 TocParser::FuncContext::FuncContext(ParserRuleContext *parent, size_t invokingState)
\r
671 : ParserRuleContext(parent, invokingState) {
\r
674 TocParser::FuncNameContext* TocParser::FuncContext::funcName() {
\r
675 return getRuleContext<TocParser::FuncNameContext>(0);
\r
678 TocParser::ParameterContext* TocParser::FuncContext::parameter() {
\r
679 return getRuleContext<TocParser::ParameterContext>(0);
\r
682 TocParser::TypeContext* TocParser::FuncContext::type() {
\r
683 return getRuleContext<TocParser::TypeContext>(0);
\r
686 TocParser::BodyContext* TocParser::FuncContext::body() {
\r
687 return getRuleContext<TocParser::BodyContext>(0);
\r
690 TocParser::GenericDeclContext* TocParser::FuncContext::genericDecl() {
\r
691 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
695 size_t TocParser::FuncContext::getRuleIndex() const {
\r
696 return TocParser::RuleFunc;
\r
700 TocParser::FuncContext* TocParser::func() {
\r
701 FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());
\r
702 enterRule(_localctx, 20, TocParser::RuleFunc);
\r
705 #if __cplusplus > 201703L
\r
706 auto onExit = finally([=, this] {
\r
708 auto onExit = finally([=] {
\r
713 enterOuterAlt(_localctx, 1);
\r
717 _errHandler->sync(this);
\r
719 _la = _input->LA(1);
\r
720 if (_la == TocParser::T__17) {
\r
725 match(TocParser::T__12);
\r
729 match(TocParser::T__13);
\r
732 match(TocParser::T__5);
\r
736 _errHandler->sync(this);
\r
737 switch (_input->LA(1)) {
\r
738 case TocParser::T__2: {
\r
744 case TocParser::T__0: {
\r
746 match(TocParser::T__0);
\r
751 throw NoViableAltException(this);
\r
755 catch (RecognitionException &e) {
\r
756 _errHandler->reportError(this, e);
\r
757 _localctx->exception = std::current_exception();
\r
758 _errHandler->recover(this, _localctx->exception);
\r
764 //----------------- ParameterContext ------------------------------------------------------------------
\r
766 TocParser::ParameterContext::ParameterContext(ParserRuleContext *parent, size_t invokingState)
\r
767 : ParserRuleContext(parent, invokingState) {
\r
770 std::vector<TocParser::VarContext *> TocParser::ParameterContext::var() {
\r
771 return getRuleContexts<TocParser::VarContext>();
\r
774 TocParser::VarContext* TocParser::ParameterContext::var(size_t i) {
\r
775 return getRuleContext<TocParser::VarContext>(i);
\r
779 size_t TocParser::ParameterContext::getRuleIndex() const {
\r
780 return TocParser::RuleParameter;
\r
784 TocParser::ParameterContext* TocParser::parameter() {
\r
785 ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());
\r
786 enterRule(_localctx, 22, TocParser::RuleParameter);
\r
789 #if __cplusplus > 201703L
\r
790 auto onExit = finally([=, this] {
\r
792 auto onExit = finally([=] {
\r
797 enterOuterAlt(_localctx, 1);
\r
799 _errHandler->sync(this);
\r
801 _la = _input->LA(1);
\r
802 if (_la == TocParser::NAME) {
\r
806 _errHandler->sync(this);
\r
807 _la = _input->LA(1);
\r
808 while (_la == TocParser::T__14) {
\r
810 match(TocParser::T__14);
\r
814 _errHandler->sync(this);
\r
815 _la = _input->LA(1);
\r
820 catch (RecognitionException &e) {
\r
821 _errHandler->reportError(this, e);
\r
822 _localctx->exception = std::current_exception();
\r
823 _errHandler->recover(this, _localctx->exception);
\r
829 //----------------- BodyContext ------------------------------------------------------------------
\r
831 TocParser::BodyContext::BodyContext(ParserRuleContext *parent, size_t invokingState)
\r
832 : ParserRuleContext(parent, invokingState) {
\r
835 std::vector<TocParser::StmtContext *> TocParser::BodyContext::stmt() {
\r
836 return getRuleContexts<TocParser::StmtContext>();
\r
839 TocParser::StmtContext* TocParser::BodyContext::stmt(size_t i) {
\r
840 return getRuleContext<TocParser::StmtContext>(i);
\r
844 size_t TocParser::BodyContext::getRuleIndex() const {
\r
845 return TocParser::RuleBody;
\r
849 TocParser::BodyContext* TocParser::body() {
\r
850 BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());
\r
851 enterRule(_localctx, 24, TocParser::RuleBody);
\r
854 #if __cplusplus > 201703L
\r
855 auto onExit = finally([=, this] {
\r
857 auto onExit = finally([=] {
\r
862 enterOuterAlt(_localctx, 1);
\r
864 match(TocParser::T__2);
\r
866 _errHandler->sync(this);
\r
867 _la = _input->LA(1);
\r
868 while ((((_la & ~ 0x3fULL) == 0) &&
\r
869 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
870 | (1ULL << TocParser::T__7)
\r
871 | (1ULL << TocParser::T__12)
\r
872 | (1ULL << TocParser::T__19)
\r
873 | (1ULL << TocParser::T__21)
\r
874 | (1ULL << TocParser::T__23)
\r
875 | (1ULL << TocParser::T__24)
\r
876 | (1ULL << TocParser::T__25)
\r
877 | (1ULL << TocParser::T__28)
\r
878 | (1ULL << TocParser::T__29)
\r
879 | (1ULL << TocParser::T__30)
\r
880 | (1ULL << TocParser::T__31)
\r
881 | (1ULL << TocParser::T__32)
\r
882 | (1ULL << TocParser::T__33)
\r
883 | (1ULL << TocParser::T__34)
\r
884 | (1ULL << TocParser::INT_LIT)
\r
885 | (1ULL << TocParser::DECIMAL_LIT)
\r
886 | (1ULL << TocParser::BOOL_LIT)
\r
887 | (1ULL << TocParser::StringLit)
\r
888 | (1ULL << TocParser::NAME))) != 0)) {
\r
892 _errHandler->sync(this);
\r
893 _la = _input->LA(1);
\r
896 match(TocParser::T__3);
\r
899 catch (RecognitionException &e) {
\r
900 _errHandler->reportError(this, e);
\r
901 _localctx->exception = std::current_exception();
\r
902 _errHandler->recover(this, _localctx->exception);
\r
908 //----------------- StructDeclContext ------------------------------------------------------------------
\r
910 TocParser::StructDeclContext::StructDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
911 : ParserRuleContext(parent, invokingState) {
\r
914 TocParser::StructNameContext* TocParser::StructDeclContext::structName() {
\r
915 return getRuleContext<TocParser::StructNameContext>(0);
\r
918 TocParser::GenericDeclContext* TocParser::StructDeclContext::genericDecl() {
\r
919 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
922 std::vector<TocParser::StructMemberContext *> TocParser::StructDeclContext::structMember() {
\r
923 return getRuleContexts<TocParser::StructMemberContext>();
\r
926 TocParser::StructMemberContext* TocParser::StructDeclContext::structMember(size_t i) {
\r
927 return getRuleContext<TocParser::StructMemberContext>(i);
\r
931 size_t TocParser::StructDeclContext::getRuleIndex() const {
\r
932 return TocParser::RuleStructDecl;
\r
936 TocParser::StructDeclContext* TocParser::structDecl() {
\r
937 StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());
\r
938 enterRule(_localctx, 26, TocParser::RuleStructDecl);
\r
941 #if __cplusplus > 201703L
\r
942 auto onExit = finally([=, this] {
\r
944 auto onExit = finally([=] {
\r
949 enterOuterAlt(_localctx, 1);
\r
951 match(TocParser::T__15);
\r
955 _errHandler->sync(this);
\r
957 _la = _input->LA(1);
\r
958 if (_la == TocParser::T__17) {
\r
963 match(TocParser::T__2);
\r
965 _errHandler->sync(this);
\r
966 _la = _input->LA(1);
\r
967 while (_la == TocParser::T__16
\r
969 || _la == TocParser::NAME) {
\r
973 _errHandler->sync(this);
\r
974 _la = _input->LA(1);
\r
977 match(TocParser::T__3);
\r
980 catch (RecognitionException &e) {
\r
981 _errHandler->reportError(this, e);
\r
982 _localctx->exception = std::current_exception();
\r
983 _errHandler->recover(this, _localctx->exception);
\r
989 //----------------- StructMemberContext ------------------------------------------------------------------
\r
991 TocParser::StructMemberContext::StructMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
992 : ParserRuleContext(parent, invokingState) {
\r
995 TocParser::StructVarContext* TocParser::StructMemberContext::structVar() {
\r
996 return getRuleContext<TocParser::StructVarContext>(0);
\r
999 TocParser::PrivateDeclContext* TocParser::StructMemberContext::privateDecl() {
\r
1000 return getRuleContext<TocParser::PrivateDeclContext>(0);
\r
1003 TocParser::StructMethodContext* TocParser::StructMemberContext::structMethod() {
\r
1004 return getRuleContext<TocParser::StructMethodContext>(0);
\r
1008 size_t TocParser::StructMemberContext::getRuleIndex() const {
\r
1009 return TocParser::RuleStructMember;
\r
1013 TocParser::StructMemberContext* TocParser::structMember() {
\r
1014 StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());
\r
1015 enterRule(_localctx, 28, TocParser::RuleStructMember);
\r
1018 #if __cplusplus > 201703L
\r
1019 auto onExit = finally([=, this] {
\r
1021 auto onExit = finally([=] {
\r
1027 _errHandler->sync(this);
\r
1028 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 16, _ctx)) {
\r
1030 enterOuterAlt(_localctx, 1);
\r
1032 _errHandler->sync(this);
\r
1034 _la = _input->LA(1);
\r
1035 if (_la == TocParser::T__16) {
\r
1045 enterOuterAlt(_localctx, 2);
\r
1056 catch (RecognitionException &e) {
\r
1057 _errHandler->reportError(this, e);
\r
1058 _localctx->exception = std::current_exception();
\r
1059 _errHandler->recover(this, _localctx->exception);
\r
1065 //----------------- StructVarContext ------------------------------------------------------------------
\r
1067 TocParser::StructVarContext::StructVarContext(ParserRuleContext *parent, size_t invokingState)
\r
1068 : ParserRuleContext(parent, invokingState) {
\r
1071 TocParser::VarContext* TocParser::StructVarContext::var() {
\r
1072 return getRuleContext<TocParser::VarContext>(0);
\r
1076 size_t TocParser::StructVarContext::getRuleIndex() const {
\r
1077 return TocParser::RuleStructVar;
\r
1081 TocParser::StructVarContext* TocParser::structVar() {
\r
1082 StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());
\r
1083 enterRule(_localctx, 30, TocParser::RuleStructVar);
\r
1085 #if __cplusplus > 201703L
\r
1086 auto onExit = finally([=, this] {
\r
1088 auto onExit = finally([=] {
\r
1093 enterOuterAlt(_localctx, 1);
\r
1097 match(TocParser::T__0);
\r
1100 catch (RecognitionException &e) {
\r
1101 _errHandler->reportError(this, e);
\r
1102 _localctx->exception = std::current_exception();
\r
1103 _errHandler->recover(this, _localctx->exception);
\r
1109 //----------------- StructMethodContext ------------------------------------------------------------------
\r
1111 TocParser::StructMethodContext::StructMethodContext(ParserRuleContext *parent, size_t invokingState)
\r
1112 : ParserRuleContext(parent, invokingState) {
\r
1115 TocParser::FuncContext* TocParser::StructMethodContext::func() {
\r
1116 return getRuleContext<TocParser::FuncContext>(0);
\r
1120 size_t TocParser::StructMethodContext::getRuleIndex() const {
\r
1121 return TocParser::RuleStructMethod;
\r
1125 TocParser::StructMethodContext* TocParser::structMethod() {
\r
1126 StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());
\r
1127 enterRule(_localctx, 32, TocParser::RuleStructMethod);
\r
1129 #if __cplusplus > 201703L
\r
1130 auto onExit = finally([=, this] {
\r
1132 auto onExit = finally([=] {
\r
1137 enterOuterAlt(_localctx, 1);
\r
1142 catch (RecognitionException &e) {
\r
1143 _errHandler->reportError(this, e);
\r
1144 _localctx->exception = std::current_exception();
\r
1145 _errHandler->recover(this, _localctx->exception);
\r
1151 //----------------- PrivateDeclContext ------------------------------------------------------------------
\r
1153 TocParser::PrivateDeclContext::PrivateDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1154 : ParserRuleContext(parent, invokingState) {
\r
1158 size_t TocParser::PrivateDeclContext::getRuleIndex() const {
\r
1159 return TocParser::RulePrivateDecl;
\r
1163 TocParser::PrivateDeclContext* TocParser::privateDecl() {
\r
1164 PrivateDeclContext *_localctx = _tracker.createInstance<PrivateDeclContext>(_ctx, getState());
\r
1165 enterRule(_localctx, 34, TocParser::RulePrivateDecl);
\r
1167 #if __cplusplus > 201703L
\r
1168 auto onExit = finally([=, this] {
\r
1170 auto onExit = finally([=] {
\r
1175 enterOuterAlt(_localctx, 1);
\r
1177 match(TocParser::T__16);
\r
1180 catch (RecognitionException &e) {
\r
1181 _errHandler->reportError(this, e);
\r
1182 _localctx->exception = std::current_exception();
\r
1183 _errHandler->recover(this, _localctx->exception);
\r
1189 //----------------- GenericDeclContext ------------------------------------------------------------------
\r
1191 TocParser::GenericDeclContext::GenericDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1192 : ParserRuleContext(parent, invokingState) {
\r
1195 std::vector<TocParser::TypeNameContext *> TocParser::GenericDeclContext::typeName() {
\r
1196 return getRuleContexts<TocParser::TypeNameContext>();
\r
1199 TocParser::TypeNameContext* TocParser::GenericDeclContext::typeName(size_t i) {
\r
1200 return getRuleContext<TocParser::TypeNameContext>(i);
\r
1204 size_t TocParser::GenericDeclContext::getRuleIndex() const {
\r
1205 return TocParser::RuleGenericDecl;
\r
1209 TocParser::GenericDeclContext* TocParser::genericDecl() {
\r
1210 GenericDeclContext *_localctx = _tracker.createInstance<GenericDeclContext>(_ctx, getState());
\r
1211 enterRule(_localctx, 36, TocParser::RuleGenericDecl);
\r
1214 #if __cplusplus > 201703L
\r
1215 auto onExit = finally([=, this] {
\r
1217 auto onExit = finally([=] {
\r
1222 enterOuterAlt(_localctx, 1);
\r
1224 match(TocParser::T__17);
\r
1228 _errHandler->sync(this);
\r
1229 _la = _input->LA(1);
\r
1230 while (_la == TocParser::T__14) {
\r
1232 match(TocParser::T__14);
\r
1236 _errHandler->sync(this);
\r
1237 _la = _input->LA(1);
\r
1240 match(TocParser::T__18);
\r
1243 catch (RecognitionException &e) {
\r
1244 _errHandler->reportError(this, e);
\r
1245 _localctx->exception = std::current_exception();
\r
1246 _errHandler->recover(this, _localctx->exception);
\r
1252 //----------------- StmtContext ------------------------------------------------------------------
\r
1254 TocParser::StmtContext::StmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1255 : ParserRuleContext(parent, invokingState) {
\r
1258 TocParser::VarDeclContext* TocParser::StmtContext::varDecl() {
\r
1259 return getRuleContext<TocParser::VarDeclContext>(0);
\r
1262 TocParser::IfStmtContext* TocParser::StmtContext::ifStmt() {
\r
1263 return getRuleContext<TocParser::IfStmtContext>(0);
\r
1266 TocParser::SwitchStmtContext* TocParser::StmtContext::switchStmt() {
\r
1267 return getRuleContext<TocParser::SwitchStmtContext>(0);
\r
1270 TocParser::ForStmtContext* TocParser::StmtContext::forStmt() {
\r
1271 return getRuleContext<TocParser::ForStmtContext>(0);
\r
1274 TocParser::WhileStmtContext* TocParser::StmtContext::whileStmt() {
\r
1275 return getRuleContext<TocParser::WhileStmtContext>(0);
\r
1278 TocParser::AssignStmtContext* TocParser::StmtContext::assignStmt() {
\r
1279 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1282 TocParser::ReturnStmtContext* TocParser::StmtContext::returnStmt() {
\r
1283 return getRuleContext<TocParser::ReturnStmtContext>(0);
\r
1286 TocParser::ExprContext* TocParser::StmtContext::expr() {
\r
1287 return getRuleContext<TocParser::ExprContext>(0);
\r
1291 size_t TocParser::StmtContext::getRuleIndex() const {
\r
1292 return TocParser::RuleStmt;
\r
1296 TocParser::StmtContext* TocParser::stmt() {
\r
1297 StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());
\r
1298 enterRule(_localctx, 38, TocParser::RuleStmt);
\r
1300 #if __cplusplus > 201703L
\r
1301 auto onExit = finally([=, this] {
\r
1303 auto onExit = finally([=] {
\r
1309 _errHandler->sync(this);
\r
1310 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 18, _ctx)) {
\r
1312 enterOuterAlt(_localctx, 1);
\r
1316 match(TocParser::T__0);
\r
1321 enterOuterAlt(_localctx, 2);
\r
1328 enterOuterAlt(_localctx, 3);
\r
1335 enterOuterAlt(_localctx, 4);
\r
1342 enterOuterAlt(_localctx, 5);
\r
1349 enterOuterAlt(_localctx, 6);
\r
1353 match(TocParser::T__0);
\r
1358 enterOuterAlt(_localctx, 7);
\r
1362 match(TocParser::T__0);
\r
1367 enterOuterAlt(_localctx, 8);
\r
1371 match(TocParser::T__0);
\r
1380 catch (RecognitionException &e) {
\r
1381 _errHandler->reportError(this, e);
\r
1382 _localctx->exception = std::current_exception();
\r
1383 _errHandler->recover(this, _localctx->exception);
\r
1389 //----------------- IfStmtContext ------------------------------------------------------------------
\r
1391 TocParser::IfStmtContext::IfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1392 : ParserRuleContext(parent, invokingState) {
\r
1395 TocParser::ExprContext* TocParser::IfStmtContext::expr() {
\r
1396 return getRuleContext<TocParser::ExprContext>(0);
\r
1399 TocParser::BodyContext* TocParser::IfStmtContext::body() {
\r
1400 return getRuleContext<TocParser::BodyContext>(0);
\r
1403 std::vector<TocParser::ElseIfStmtContext *> TocParser::IfStmtContext::elseIfStmt() {
\r
1404 return getRuleContexts<TocParser::ElseIfStmtContext>();
\r
1407 TocParser::ElseIfStmtContext* TocParser::IfStmtContext::elseIfStmt(size_t i) {
\r
1408 return getRuleContext<TocParser::ElseIfStmtContext>(i);
\r
1411 TocParser::ElseStmtContext* TocParser::IfStmtContext::elseStmt() {
\r
1412 return getRuleContext<TocParser::ElseStmtContext>(0);
\r
1416 size_t TocParser::IfStmtContext::getRuleIndex() const {
\r
1417 return TocParser::RuleIfStmt;
\r
1421 TocParser::IfStmtContext* TocParser::ifStmt() {
\r
1422 IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());
\r
1423 enterRule(_localctx, 40, TocParser::RuleIfStmt);
\r
1426 #if __cplusplus > 201703L
\r
1427 auto onExit = finally([=, this] {
\r
1429 auto onExit = finally([=] {
\r
1435 enterOuterAlt(_localctx, 1);
\r
1437 match(TocParser::T__19);
\r
1443 _errHandler->sync(this);
\r
1444 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 19, _ctx);
\r
1445 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
1451 _errHandler->sync(this);
\r
1452 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 19, _ctx);
\r
1455 _errHandler->sync(this);
\r
1457 _la = _input->LA(1);
\r
1458 if (_la == TocParser::T__20) {
\r
1464 catch (RecognitionException &e) {
\r
1465 _errHandler->reportError(this, e);
\r
1466 _localctx->exception = std::current_exception();
\r
1467 _errHandler->recover(this, _localctx->exception);
\r
1473 //----------------- ElseIfStmtContext ------------------------------------------------------------------
\r
1475 TocParser::ElseIfStmtContext::ElseIfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1476 : ParserRuleContext(parent, invokingState) {
\r
1479 TocParser::ExprContext* TocParser::ElseIfStmtContext::expr() {
\r
1480 return getRuleContext<TocParser::ExprContext>(0);
\r
1483 TocParser::BodyContext* TocParser::ElseIfStmtContext::body() {
\r
1484 return getRuleContext<TocParser::BodyContext>(0);
\r
1488 size_t TocParser::ElseIfStmtContext::getRuleIndex() const {
\r
1489 return TocParser::RuleElseIfStmt;
\r
1493 TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {
\r
1494 ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());
\r
1495 enterRule(_localctx, 42, TocParser::RuleElseIfStmt);
\r
1497 #if __cplusplus > 201703L
\r
1498 auto onExit = finally([=, this] {
\r
1500 auto onExit = finally([=] {
\r
1505 enterOuterAlt(_localctx, 1);
\r
1507 match(TocParser::T__20);
\r
1509 match(TocParser::T__19);
\r
1516 catch (RecognitionException &e) {
\r
1517 _errHandler->reportError(this, e);
\r
1518 _localctx->exception = std::current_exception();
\r
1519 _errHandler->recover(this, _localctx->exception);
\r
1525 //----------------- ElseStmtContext ------------------------------------------------------------------
\r
1527 TocParser::ElseStmtContext::ElseStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1528 : ParserRuleContext(parent, invokingState) {
\r
1531 TocParser::BodyContext* TocParser::ElseStmtContext::body() {
\r
1532 return getRuleContext<TocParser::BodyContext>(0);
\r
1536 size_t TocParser::ElseStmtContext::getRuleIndex() const {
\r
1537 return TocParser::RuleElseStmt;
\r
1541 TocParser::ElseStmtContext* TocParser::elseStmt() {
\r
1542 ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());
\r
1543 enterRule(_localctx, 44, TocParser::RuleElseStmt);
\r
1545 #if __cplusplus > 201703L
\r
1546 auto onExit = finally([=, this] {
\r
1548 auto onExit = finally([=] {
\r
1553 enterOuterAlt(_localctx, 1);
\r
1555 match(TocParser::T__20);
\r
1560 catch (RecognitionException &e) {
\r
1561 _errHandler->reportError(this, e);
\r
1562 _localctx->exception = std::current_exception();
\r
1563 _errHandler->recover(this, _localctx->exception);
\r
1569 //----------------- SwitchStmtContext ------------------------------------------------------------------
\r
1571 TocParser::SwitchStmtContext::SwitchStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1572 : ParserRuleContext(parent, invokingState) {
\r
1575 TocParser::ExprContext* TocParser::SwitchStmtContext::expr() {
\r
1576 return getRuleContext<TocParser::ExprContext>(0);
\r
1579 TocParser::SwitchBodyContext* TocParser::SwitchStmtContext::switchBody() {
\r
1580 return getRuleContext<TocParser::SwitchBodyContext>(0);
\r
1584 size_t TocParser::SwitchStmtContext::getRuleIndex() const {
\r
1585 return TocParser::RuleSwitchStmt;
\r
1589 TocParser::SwitchStmtContext* TocParser::switchStmt() {
\r
1590 SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());
\r
1591 enterRule(_localctx, 46, TocParser::RuleSwitchStmt);
\r
1593 #if __cplusplus > 201703L
\r
1594 auto onExit = finally([=, this] {
\r
1596 auto onExit = finally([=] {
\r
1601 enterOuterAlt(_localctx, 1);
\r
1603 match(TocParser::T__21);
\r
1610 catch (RecognitionException &e) {
\r
1611 _errHandler->reportError(this, e);
\r
1612 _localctx->exception = std::current_exception();
\r
1613 _errHandler->recover(this, _localctx->exception);
\r
1619 //----------------- SwitchBodyContext ------------------------------------------------------------------
\r
1621 TocParser::SwitchBodyContext::SwitchBodyContext(ParserRuleContext *parent, size_t invokingState)
\r
1622 : ParserRuleContext(parent, invokingState) {
\r
1625 std::vector<TocParser::SwitchCaseContext *> TocParser::SwitchBodyContext::switchCase() {
\r
1626 return getRuleContexts<TocParser::SwitchCaseContext>();
\r
1629 TocParser::SwitchCaseContext* TocParser::SwitchBodyContext::switchCase(size_t i) {
\r
1630 return getRuleContext<TocParser::SwitchCaseContext>(i);
\r
1634 size_t TocParser::SwitchBodyContext::getRuleIndex() const {
\r
1635 return TocParser::RuleSwitchBody;
\r
1639 TocParser::SwitchBodyContext* TocParser::switchBody() {
\r
1640 SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());
\r
1641 enterRule(_localctx, 48, TocParser::RuleSwitchBody);
\r
1644 #if __cplusplus > 201703L
\r
1645 auto onExit = finally([=, this] {
\r
1647 auto onExit = finally([=] {
\r
1652 enterOuterAlt(_localctx, 1);
\r
1654 match(TocParser::T__2);
\r
1656 _errHandler->sync(this);
\r
1657 _la = _input->LA(1);
\r
1658 while (_la == TocParser::T__22) {
\r
1662 _errHandler->sync(this);
\r
1663 _la = _input->LA(1);
\r
1666 match(TocParser::T__3);
\r
1669 catch (RecognitionException &e) {
\r
1670 _errHandler->reportError(this, e);
\r
1671 _localctx->exception = std::current_exception();
\r
1672 _errHandler->recover(this, _localctx->exception);
\r
1678 //----------------- SwitchCaseContext ------------------------------------------------------------------
\r
1680 TocParser::SwitchCaseContext::SwitchCaseContext(ParserRuleContext *parent, size_t invokingState)
\r
1681 : ParserRuleContext(parent, invokingState) {
\r
1684 TocParser::ExprContext* TocParser::SwitchCaseContext::expr() {
\r
1685 return getRuleContext<TocParser::ExprContext>(0);
\r
1688 TocParser::BodyContext* TocParser::SwitchCaseContext::body() {
\r
1689 return getRuleContext<TocParser::BodyContext>(0);
\r
1693 size_t TocParser::SwitchCaseContext::getRuleIndex() const {
\r
1694 return TocParser::RuleSwitchCase;
\r
1698 TocParser::SwitchCaseContext* TocParser::switchCase() {
\r
1699 SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());
\r
1700 enterRule(_localctx, 50, TocParser::RuleSwitchCase);
\r
1702 #if __cplusplus > 201703L
\r
1703 auto onExit = finally([=, this] {
\r
1705 auto onExit = finally([=] {
\r
1710 enterOuterAlt(_localctx, 1);
\r
1712 match(TocParser::T__22);
\r
1719 catch (RecognitionException &e) {
\r
1720 _errHandler->reportError(this, e);
\r
1721 _localctx->exception = std::current_exception();
\r
1722 _errHandler->recover(this, _localctx->exception);
\r
1728 //----------------- ForStmtContext ------------------------------------------------------------------
\r
1730 TocParser::ForStmtContext::ForStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1731 : ParserRuleContext(parent, invokingState) {
\r
1734 TocParser::VarInitContext* TocParser::ForStmtContext::varInit() {
\r
1735 return getRuleContext<TocParser::VarInitContext>(0);
\r
1738 std::vector<TocParser::ExprContext *> TocParser::ForStmtContext::expr() {
\r
1739 return getRuleContexts<TocParser::ExprContext>();
\r
1742 TocParser::ExprContext* TocParser::ForStmtContext::expr(size_t i) {
\r
1743 return getRuleContext<TocParser::ExprContext>(i);
\r
1746 TocParser::BodyContext* TocParser::ForStmtContext::body() {
\r
1747 return getRuleContext<TocParser::BodyContext>(0);
\r
1751 size_t TocParser::ForStmtContext::getRuleIndex() const {
\r
1752 return TocParser::RuleForStmt;
\r
1756 TocParser::ForStmtContext* TocParser::forStmt() {
\r
1757 ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());
\r
1758 enterRule(_localctx, 52, TocParser::RuleForStmt);
\r
1760 #if __cplusplus > 201703L
\r
1761 auto onExit = finally([=, this] {
\r
1763 auto onExit = finally([=] {
\r
1768 enterOuterAlt(_localctx, 1);
\r
1770 match(TocParser::T__23);
\r
1774 match(TocParser::T__14);
\r
1778 match(TocParser::T__14);
\r
1785 catch (RecognitionException &e) {
\r
1786 _errHandler->reportError(this, e);
\r
1787 _localctx->exception = std::current_exception();
\r
1788 _errHandler->recover(this, _localctx->exception);
\r
1794 //----------------- WhileStmtContext ------------------------------------------------------------------
\r
1796 TocParser::WhileStmtContext::WhileStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1797 : ParserRuleContext(parent, invokingState) {
\r
1800 TocParser::ExprContext* TocParser::WhileStmtContext::expr() {
\r
1801 return getRuleContext<TocParser::ExprContext>(0);
\r
1804 TocParser::BodyContext* TocParser::WhileStmtContext::body() {
\r
1805 return getRuleContext<TocParser::BodyContext>(0);
\r
1809 size_t TocParser::WhileStmtContext::getRuleIndex() const {
\r
1810 return TocParser::RuleWhileStmt;
\r
1814 TocParser::WhileStmtContext* TocParser::whileStmt() {
\r
1815 WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());
\r
1816 enterRule(_localctx, 54, TocParser::RuleWhileStmt);
\r
1818 #if __cplusplus > 201703L
\r
1819 auto onExit = finally([=, this] {
\r
1821 auto onExit = finally([=] {
\r
1826 enterOuterAlt(_localctx, 1);
\r
1828 match(TocParser::T__24);
\r
1835 catch (RecognitionException &e) {
\r
1836 _errHandler->reportError(this, e);
\r
1837 _localctx->exception = std::current_exception();
\r
1838 _errHandler->recover(this, _localctx->exception);
\r
1844 //----------------- AssignStmtContext ------------------------------------------------------------------
\r
1846 TocParser::AssignStmtContext::AssignStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1847 : ParserRuleContext(parent, invokingState) {
\r
1850 std::vector<TocParser::ExprContext *> TocParser::AssignStmtContext::expr() {
\r
1851 return getRuleContexts<TocParser::ExprContext>();
\r
1854 TocParser::ExprContext* TocParser::AssignStmtContext::expr(size_t i) {
\r
1855 return getRuleContext<TocParser::ExprContext>(i);
\r
1859 size_t TocParser::AssignStmtContext::getRuleIndex() const {
\r
1860 return TocParser::RuleAssignStmt;
\r
1864 TocParser::AssignStmtContext* TocParser::assignStmt() {
\r
1865 AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());
\r
1866 enterRule(_localctx, 56, TocParser::RuleAssignStmt);
\r
1868 #if __cplusplus > 201703L
\r
1869 auto onExit = finally([=, this] {
\r
1871 auto onExit = finally([=] {
\r
1876 enterOuterAlt(_localctx, 1);
\r
1880 match(TocParser::T__6);
\r
1885 catch (RecognitionException &e) {
\r
1886 _errHandler->reportError(this, e);
\r
1887 _localctx->exception = std::current_exception();
\r
1888 _errHandler->recover(this, _localctx->exception);
\r
1894 //----------------- ReturnStmtContext ------------------------------------------------------------------
\r
1896 TocParser::ReturnStmtContext::ReturnStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1897 : ParserRuleContext(parent, invokingState) {
\r
1900 TocParser::ExprContext* TocParser::ReturnStmtContext::expr() {
\r
1901 return getRuleContext<TocParser::ExprContext>(0);
\r
1905 size_t TocParser::ReturnStmtContext::getRuleIndex() const {
\r
1906 return TocParser::RuleReturnStmt;
\r
1910 TocParser::ReturnStmtContext* TocParser::returnStmt() {
\r
1911 ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());
\r
1912 enterRule(_localctx, 58, TocParser::RuleReturnStmt);
\r
1914 #if __cplusplus > 201703L
\r
1915 auto onExit = finally([=, this] {
\r
1917 auto onExit = finally([=] {
\r
1922 enterOuterAlt(_localctx, 1);
\r
1924 match(TocParser::T__25);
\r
1929 catch (RecognitionException &e) {
\r
1930 _errHandler->reportError(this, e);
\r
1931 _localctx->exception = std::current_exception();
\r
1932 _errHandler->recover(this, _localctx->exception);
\r
1938 //----------------- ExprContext ------------------------------------------------------------------
\r
1940 TocParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1941 : ParserRuleContext(parent, invokingState) {
\r
1945 size_t TocParser::ExprContext::getRuleIndex() const {
\r
1946 return TocParser::RuleExpr;
\r
1949 void TocParser::ExprContext::copyFrom(ExprContext *ctx) {
\r
1950 ParserRuleContext::copyFrom(ctx);
\r
1953 //----------------- DotExprContext ------------------------------------------------------------------
\r
1955 TocParser::ExprContext* TocParser::DotExprContext::expr() {
\r
1956 return getRuleContext<TocParser::ExprContext>(0);
\r
1959 TocParser::VarNameContext* TocParser::DotExprContext::varName() {
\r
1960 return getRuleContext<TocParser::VarNameContext>(0);
\r
1963 TocParser::DotExprContext::DotExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
1966 //----------------- FuncExprContext ------------------------------------------------------------------
\r
1968 TocParser::FuncNameContext* TocParser::FuncExprContext::funcName() {
\r
1969 return getRuleContext<TocParser::FuncNameContext>(0);
\r
1972 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::FuncExprContext::namespaceSpecifier() {
\r
1973 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
1976 TocParser::NamespaceSpecifierContext* TocParser::FuncExprContext::namespaceSpecifier(size_t i) {
\r
1977 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
1980 std::vector<TocParser::ExprContext *> TocParser::FuncExprContext::expr() {
\r
1981 return getRuleContexts<TocParser::ExprContext>();
\r
1984 TocParser::ExprContext* TocParser::FuncExprContext::expr(size_t i) {
\r
1985 return getRuleContext<TocParser::ExprContext>(i);
\r
1988 TocParser::FuncExprContext::FuncExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
1991 //----------------- BracketExprContext ------------------------------------------------------------------
\r
1993 std::vector<TocParser::ExprContext *> TocParser::BracketExprContext::expr() {
\r
1994 return getRuleContexts<TocParser::ExprContext>();
\r
1997 TocParser::ExprContext* TocParser::BracketExprContext::expr(size_t i) {
\r
1998 return getRuleContext<TocParser::ExprContext>(i);
\r
2001 TocParser::BracketExprContext::BracketExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2004 //----------------- PrefixOpExprContext ------------------------------------------------------------------
\r
2006 TocParser::Prefix_opContext* TocParser::PrefixOpExprContext::prefix_op() {
\r
2007 return getRuleContext<TocParser::Prefix_opContext>(0);
\r
2010 TocParser::ExprContext* TocParser::PrefixOpExprContext::expr() {
\r
2011 return getRuleContext<TocParser::ExprContext>(0);
\r
2014 TocParser::PrefixOpExprContext::PrefixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2017 //----------------- MethodExprContext ------------------------------------------------------------------
\r
2019 std::vector<TocParser::ExprContext *> TocParser::MethodExprContext::expr() {
\r
2020 return getRuleContexts<TocParser::ExprContext>();
\r
2023 TocParser::ExprContext* TocParser::MethodExprContext::expr(size_t i) {
\r
2024 return getRuleContext<TocParser::ExprContext>(i);
\r
2027 TocParser::FuncNameContext* TocParser::MethodExprContext::funcName() {
\r
2028 return getRuleContext<TocParser::FuncNameContext>(0);
\r
2031 TocParser::MethodExprContext::MethodExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2034 //----------------- PostfixOpExprContext ------------------------------------------------------------------
\r
2036 TocParser::ExprContext* TocParser::PostfixOpExprContext::expr() {
\r
2037 return getRuleContext<TocParser::ExprContext>(0);
\r
2040 TocParser::Postfix_opContext* TocParser::PostfixOpExprContext::postfix_op() {
\r
2041 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2044 TocParser::PostfixOpExprContext::PostfixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2047 //----------------- BinaryOpExprContext ------------------------------------------------------------------
\r
2049 std::vector<TocParser::ExprContext *> TocParser::BinaryOpExprContext::expr() {
\r
2050 return getRuleContexts<TocParser::ExprContext>();
\r
2053 TocParser::ExprContext* TocParser::BinaryOpExprContext::expr(size_t i) {
\r
2054 return getRuleContext<TocParser::ExprContext>(i);
\r
2057 TocParser::Binary_opContext* TocParser::BinaryOpExprContext::binary_op() {
\r
2058 return getRuleContext<TocParser::Binary_opContext>(0);
\r
2061 TocParser::BinaryOpExprContext::BinaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2064 //----------------- TernaryOpExprContext ------------------------------------------------------------------
\r
2066 std::vector<TocParser::ExprContext *> TocParser::TernaryOpExprContext::expr() {
\r
2067 return getRuleContexts<TocParser::ExprContext>();
\r
2070 TocParser::ExprContext* TocParser::TernaryOpExprContext::expr(size_t i) {
\r
2071 return getRuleContext<TocParser::ExprContext>(i);
\r
2074 TocParser::TernaryOpExprContext::TernaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2077 //----------------- LitExprContext ------------------------------------------------------------------
\r
2079 TocParser::LiteralContext* TocParser::LitExprContext::literal() {
\r
2080 return getRuleContext<TocParser::LiteralContext>(0);
\r
2083 TocParser::LitExprContext::LitExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2086 //----------------- ParenExprContext ------------------------------------------------------------------
\r
2088 TocParser::ExprContext* TocParser::ParenExprContext::expr() {
\r
2089 return getRuleContext<TocParser::ExprContext>(0);
\r
2092 TocParser::ParenExprContext::ParenExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2095 //----------------- IdentifierExprContext ------------------------------------------------------------------
\r
2097 TocParser::VarNameContext* TocParser::IdentifierExprContext::varName() {
\r
2098 return getRuleContext<TocParser::VarNameContext>(0);
\r
2101 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::IdentifierExprContext::namespaceSpecifier() {
\r
2102 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
2105 TocParser::NamespaceSpecifierContext* TocParser::IdentifierExprContext::namespaceSpecifier(size_t i) {
\r
2106 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
2109 TocParser::IdentifierExprContext::IdentifierExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2113 TocParser::ExprContext* TocParser::expr() {
\r
2117 TocParser::ExprContext* TocParser::expr(int precedence) {
\r
2118 ParserRuleContext *parentContext = _ctx;
\r
2119 size_t parentState = getState();
\r
2120 TocParser::ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, parentState);
\r
2121 TocParser::ExprContext *previousContext = _localctx;
\r
2122 (void)previousContext; // Silence compiler, in case the context is not used by generated code.
\r
2123 size_t startState = 60;
\r
2124 enterRecursionRule(_localctx, 60, TocParser::RuleExpr, precedence);
\r
2128 #if __cplusplus > 201703L
\r
2129 auto onExit = finally([=, this] {
\r
2131 auto onExit = finally([=] {
\r
2133 unrollRecursionContexts(parentContext);
\r
2137 enterOuterAlt(_localctx, 1);
\r
2139 _errHandler->sync(this);
\r
2140 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 26, _ctx)) {
\r
2142 _localctx = _tracker.createInstance<FuncExprContext>(_localctx);
\r
2144 previousContext = _localctx;
\r
2147 _errHandler->sync(this);
\r
2148 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 22, _ctx);
\r
2149 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2152 namespaceSpecifier();
\r
2155 _errHandler->sync(this);
\r
2156 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 22, _ctx);
\r
2161 match(TocParser::T__12);
\r
2163 _errHandler->sync(this);
\r
2165 _la = _input->LA(1);
\r
2166 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2167 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2168 | (1ULL << TocParser::T__12)
\r
2169 | (1ULL << TocParser::T__28)
\r
2170 | (1ULL << TocParser::T__29)
\r
2171 | (1ULL << TocParser::T__30)
\r
2172 | (1ULL << TocParser::T__31)
\r
2173 | (1ULL << TocParser::T__32)
\r
2174 | (1ULL << TocParser::T__33)
\r
2175 | (1ULL << TocParser::T__34)
\r
2176 | (1ULL << TocParser::INT_LIT)
\r
2177 | (1ULL << TocParser::DECIMAL_LIT)
\r
2178 | (1ULL << TocParser::BOOL_LIT)
\r
2179 | (1ULL << TocParser::StringLit)
\r
2180 | (1ULL << TocParser::NAME))) != 0)) {
\r
2184 _errHandler->sync(this);
\r
2185 _la = _input->LA(1);
\r
2186 while (_la == TocParser::T__14) {
\r
2188 match(TocParser::T__14);
\r
2192 _errHandler->sync(this);
\r
2193 _la = _input->LA(1);
\r
2197 match(TocParser::T__13);
\r
2202 _localctx = _tracker.createInstance<LitExprContext>(_localctx);
\r
2204 previousContext = _localctx;
\r
2211 _localctx = _tracker.createInstance<ParenExprContext>(_localctx);
\r
2213 previousContext = _localctx;
\r
2215 match(TocParser::T__12);
\r
2219 match(TocParser::T__13);
\r
2224 _localctx = _tracker.createInstance<PrefixOpExprContext>(_localctx);
\r
2226 previousContext = _localctx;
\r
2235 _localctx = _tracker.createInstance<IdentifierExprContext>(_localctx);
\r
2237 previousContext = _localctx;
\r
2239 _errHandler->sync(this);
\r
2240 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 25, _ctx);
\r
2241 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2244 namespaceSpecifier();
\r
2247 _errHandler->sync(this);
\r
2248 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 25, _ctx);
\r
2258 _ctx->stop = _input->LT(-1);
\r
2260 _errHandler->sync(this);
\r
2261 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 30, _ctx);
\r
2262 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2264 if (!_parseListeners.empty())
\r
2265 triggerExitRuleEvent();
\r
2266 previousContext = _localctx;
\r
2268 _errHandler->sync(this);
\r
2269 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 29, _ctx)) {
\r
2271 auto newContext = _tracker.createInstance<BinaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2272 _localctx = newContext;
\r
2273 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2276 if (!(precpred(_ctx, 4))) throw FailedPredicateException(this, "precpred(_ctx, 4)");
\r
2285 auto newContext = _tracker.createInstance<TernaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2286 _localctx = newContext;
\r
2287 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2290 if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)");
\r
2292 match(TocParser::T__27);
\r
2296 match(TocParser::T__5);
\r
2303 auto newContext = _tracker.createInstance<MethodExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2304 _localctx = newContext;
\r
2305 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2308 if (!(precpred(_ctx, 10))) throw FailedPredicateException(this, "precpred(_ctx, 10)");
\r
2310 match(TocParser::T__26);
\r
2314 match(TocParser::T__12);
\r
2316 _errHandler->sync(this);
\r
2318 _la = _input->LA(1);
\r
2319 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2320 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2321 | (1ULL << TocParser::T__12)
\r
2322 | (1ULL << TocParser::T__28)
\r
2323 | (1ULL << TocParser::T__29)
\r
2324 | (1ULL << TocParser::T__30)
\r
2325 | (1ULL << TocParser::T__31)
\r
2326 | (1ULL << TocParser::T__32)
\r
2327 | (1ULL << TocParser::T__33)
\r
2328 | (1ULL << TocParser::T__34)
\r
2329 | (1ULL << TocParser::INT_LIT)
\r
2330 | (1ULL << TocParser::DECIMAL_LIT)
\r
2331 | (1ULL << TocParser::BOOL_LIT)
\r
2332 | (1ULL << TocParser::StringLit)
\r
2333 | (1ULL << TocParser::NAME))) != 0)) {
\r
2337 _errHandler->sync(this);
\r
2338 _la = _input->LA(1);
\r
2339 while (_la == TocParser::T__14) {
\r
2341 match(TocParser::T__14);
\r
2345 _errHandler->sync(this);
\r
2346 _la = _input->LA(1);
\r
2350 match(TocParser::T__13);
\r
2355 auto newContext = _tracker.createInstance<DotExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2356 _localctx = newContext;
\r
2357 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2360 if (!(precpred(_ctx, 7))) throw FailedPredicateException(this, "precpred(_ctx, 7)");
\r
2362 match(TocParser::T__26);
\r
2369 auto newContext = _tracker.createInstance<PostfixOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2370 _localctx = newContext;
\r
2371 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2374 if (!(precpred(_ctx, 5))) throw FailedPredicateException(this, "precpred(_ctx, 5)");
\r
2381 auto newContext = _tracker.createInstance<BracketExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2382 _localctx = newContext;
\r
2383 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2386 if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)");
\r
2388 match(TocParser::T__8);
\r
2392 match(TocParser::T__9);
\r
2401 _errHandler->sync(this);
\r
2402 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 30, _ctx);
\r
2405 catch (RecognitionException &e) {
\r
2406 _errHandler->reportError(this, e);
\r
2407 _localctx->exception = std::current_exception();
\r
2408 _errHandler->recover(this, _localctx->exception);
\r
2413 //----------------- LiteralContext ------------------------------------------------------------------
\r
2415 TocParser::LiteralContext::LiteralContext(ParserRuleContext *parent, size_t invokingState)
\r
2416 : ParserRuleContext(parent, invokingState) {
\r
2419 tree::TerminalNode* TocParser::LiteralContext::INT_LIT() {
\r
2420 return getToken(TocParser::INT_LIT, 0);
\r
2423 tree::TerminalNode* TocParser::LiteralContext::DECIMAL_LIT() {
\r
2424 return getToken(TocParser::DECIMAL_LIT, 0);
\r
2427 tree::TerminalNode* TocParser::LiteralContext::StringLit() {
\r
2428 return getToken(TocParser::StringLit, 0);
\r
2431 tree::TerminalNode* TocParser::LiteralContext::BOOL_LIT() {
\r
2432 return getToken(TocParser::BOOL_LIT, 0);
\r
2436 size_t TocParser::LiteralContext::getRuleIndex() const {
\r
2437 return TocParser::RuleLiteral;
\r
2441 TocParser::LiteralContext* TocParser::literal() {
\r
2442 LiteralContext *_localctx = _tracker.createInstance<LiteralContext>(_ctx, getState());
\r
2443 enterRule(_localctx, 62, TocParser::RuleLiteral);
\r
2446 #if __cplusplus > 201703L
\r
2447 auto onExit = finally([=, this] {
\r
2449 auto onExit = finally([=] {
\r
2454 enterOuterAlt(_localctx, 1);
\r
2456 _la = _input->LA(1);
\r
2457 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2458 ((1ULL << _la) & ((1ULL << TocParser::INT_LIT)
\r
2459 | (1ULL << TocParser::DECIMAL_LIT)
\r
2460 | (1ULL << TocParser::BOOL_LIT)
\r
2461 | (1ULL << TocParser::StringLit))) != 0))) {
\r
2462 _errHandler->recoverInline(this);
\r
2465 _errHandler->reportMatch(this);
\r
2470 catch (RecognitionException &e) {
\r
2471 _errHandler->reportError(this, e);
\r
2472 _localctx->exception = std::current_exception();
\r
2473 _errHandler->recover(this, _localctx->exception);
\r
2479 //----------------- FuncNameContext ------------------------------------------------------------------
\r
2481 TocParser::FuncNameContext::FuncNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2482 : ParserRuleContext(parent, invokingState) {
\r
2485 tree::TerminalNode* TocParser::FuncNameContext::NAME() {
\r
2486 return getToken(TocParser::NAME, 0);
\r
2490 size_t TocParser::FuncNameContext::getRuleIndex() const {
\r
2491 return TocParser::RuleFuncName;
\r
2495 TocParser::FuncNameContext* TocParser::funcName() {
\r
2496 FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());
\r
2497 enterRule(_localctx, 64, TocParser::RuleFuncName);
\r
2499 #if __cplusplus > 201703L
\r
2500 auto onExit = finally([=, this] {
\r
2502 auto onExit = finally([=] {
\r
2507 enterOuterAlt(_localctx, 1);
\r
2509 match(TocParser::NAME);
\r
2512 catch (RecognitionException &e) {
\r
2513 _errHandler->reportError(this, e);
\r
2514 _localctx->exception = std::current_exception();
\r
2515 _errHandler->recover(this, _localctx->exception);
\r
2521 //----------------- VarNameContext ------------------------------------------------------------------
\r
2523 TocParser::VarNameContext::VarNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2524 : ParserRuleContext(parent, invokingState) {
\r
2527 tree::TerminalNode* TocParser::VarNameContext::NAME() {
\r
2528 return getToken(TocParser::NAME, 0);
\r
2532 size_t TocParser::VarNameContext::getRuleIndex() const {
\r
2533 return TocParser::RuleVarName;
\r
2537 TocParser::VarNameContext* TocParser::varName() {
\r
2538 VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());
\r
2539 enterRule(_localctx, 66, TocParser::RuleVarName);
\r
2541 #if __cplusplus > 201703L
\r
2542 auto onExit = finally([=, this] {
\r
2544 auto onExit = finally([=] {
\r
2549 enterOuterAlt(_localctx, 1);
\r
2551 match(TocParser::NAME);
\r
2554 catch (RecognitionException &e) {
\r
2555 _errHandler->reportError(this, e);
\r
2556 _localctx->exception = std::current_exception();
\r
2557 _errHandler->recover(this, _localctx->exception);
\r
2563 //----------------- TypeNameContext ------------------------------------------------------------------
\r
2565 TocParser::TypeNameContext::TypeNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2566 : ParserRuleContext(parent, invokingState) {
\r
2569 tree::TerminalNode* TocParser::TypeNameContext::NAME() {
\r
2570 return getToken(TocParser::NAME, 0);
\r
2574 size_t TocParser::TypeNameContext::getRuleIndex() const {
\r
2575 return TocParser::RuleTypeName;
\r
2579 TocParser::TypeNameContext* TocParser::typeName() {
\r
2580 TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());
\r
2581 enterRule(_localctx, 68, TocParser::RuleTypeName);
\r
2583 #if __cplusplus > 201703L
\r
2584 auto onExit = finally([=, this] {
\r
2586 auto onExit = finally([=] {
\r
2591 enterOuterAlt(_localctx, 1);
\r
2593 match(TocParser::NAME);
\r
2596 catch (RecognitionException &e) {
\r
2597 _errHandler->reportError(this, e);
\r
2598 _localctx->exception = std::current_exception();
\r
2599 _errHandler->recover(this, _localctx->exception);
\r
2605 //----------------- StructNameContext ------------------------------------------------------------------
\r
2607 TocParser::StructNameContext::StructNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2608 : ParserRuleContext(parent, invokingState) {
\r
2611 tree::TerminalNode* TocParser::StructNameContext::NAME() {
\r
2612 return getToken(TocParser::NAME, 0);
\r
2616 size_t TocParser::StructNameContext::getRuleIndex() const {
\r
2617 return TocParser::RuleStructName;
\r
2621 TocParser::StructNameContext* TocParser::structName() {
\r
2622 StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());
\r
2623 enterRule(_localctx, 70, TocParser::RuleStructName);
\r
2625 #if __cplusplus > 201703L
\r
2626 auto onExit = finally([=, this] {
\r
2628 auto onExit = finally([=] {
\r
2633 enterOuterAlt(_localctx, 1);
\r
2635 match(TocParser::NAME);
\r
2638 catch (RecognitionException &e) {
\r
2639 _errHandler->reportError(this, e);
\r
2640 _localctx->exception = std::current_exception();
\r
2641 _errHandler->recover(this, _localctx->exception);
\r
2647 //----------------- Postfix_opContext ------------------------------------------------------------------
\r
2649 TocParser::Postfix_opContext::Postfix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2650 : ParserRuleContext(parent, invokingState) {
\r
2654 size_t TocParser::Postfix_opContext::getRuleIndex() const {
\r
2655 return TocParser::RulePostfix_op;
\r
2659 TocParser::Postfix_opContext* TocParser::postfix_op() {
\r
2660 Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());
\r
2661 enterRule(_localctx, 72, TocParser::RulePostfix_op);
\r
2664 #if __cplusplus > 201703L
\r
2665 auto onExit = finally([=, this] {
\r
2667 auto onExit = finally([=] {
\r
2672 enterOuterAlt(_localctx, 1);
\r
2674 _la = _input->LA(1);
\r
2675 if (!(_la == TocParser::T__28
\r
2677 || _la == TocParser::T__29)) {
\r
2678 _errHandler->recoverInline(this);
\r
2681 _errHandler->reportMatch(this);
\r
2686 catch (RecognitionException &e) {
\r
2687 _errHandler->reportError(this, e);
\r
2688 _localctx->exception = std::current_exception();
\r
2689 _errHandler->recover(this, _localctx->exception);
\r
2695 //----------------- Prefix_opContext ------------------------------------------------------------------
\r
2697 TocParser::Prefix_opContext::Prefix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2698 : ParserRuleContext(parent, invokingState) {
\r
2701 TocParser::Postfix_opContext* TocParser::Prefix_opContext::postfix_op() {
\r
2702 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2706 size_t TocParser::Prefix_opContext::getRuleIndex() const {
\r
2707 return TocParser::RulePrefix_op;
\r
2711 TocParser::Prefix_opContext* TocParser::prefix_op() {
\r
2712 Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());
\r
2713 enterRule(_localctx, 74, TocParser::RulePrefix_op);
\r
2715 #if __cplusplus > 201703L
\r
2716 auto onExit = finally([=, this] {
\r
2718 auto onExit = finally([=] {
\r
2724 _errHandler->sync(this);
\r
2725 switch (_input->LA(1)) {
\r
2726 case TocParser::T__30: {
\r
2727 enterOuterAlt(_localctx, 1);
\r
2729 match(TocParser::T__30);
\r
2733 case TocParser::T__31: {
\r
2734 enterOuterAlt(_localctx, 2);
\r
2736 match(TocParser::T__31);
\r
2740 case TocParser::T__32: {
\r
2741 enterOuterAlt(_localctx, 3);
\r
2743 match(TocParser::T__32);
\r
2747 case TocParser::T__33: {
\r
2748 enterOuterAlt(_localctx, 4);
\r
2750 match(TocParser::T__33);
\r
2754 case TocParser::T__34: {
\r
2755 enterOuterAlt(_localctx, 5);
\r
2757 match(TocParser::T__34);
\r
2761 case TocParser::T__7: {
\r
2762 enterOuterAlt(_localctx, 6);
\r
2764 match(TocParser::T__7);
\r
2768 case TocParser::T__28:
\r
2769 case TocParser::T__29: {
\r
2770 enterOuterAlt(_localctx, 7);
\r
2777 throw NoViableAltException(this);
\r
2781 catch (RecognitionException &e) {
\r
2782 _errHandler->reportError(this, e);
\r
2783 _localctx->exception = std::current_exception();
\r
2784 _errHandler->recover(this, _localctx->exception);
\r
2790 //----------------- Binary_opContext ------------------------------------------------------------------
\r
2792 TocParser::Binary_opContext::Binary_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2793 : ParserRuleContext(parent, invokingState) {
\r
2797 size_t TocParser::Binary_opContext::getRuleIndex() const {
\r
2798 return TocParser::RuleBinary_op;
\r
2802 TocParser::Binary_opContext* TocParser::binary_op() {
\r
2803 Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());
\r
2804 enterRule(_localctx, 76, TocParser::RuleBinary_op);
\r
2807 #if __cplusplus > 201703L
\r
2808 auto onExit = finally([=, this] {
\r
2810 auto onExit = finally([=] {
\r
2815 enterOuterAlt(_localctx, 1);
\r
2817 _la = _input->LA(1);
\r
2818 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2819 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2820 | (1ULL << TocParser::T__17)
\r
2821 | (1ULL << TocParser::T__18)
\r
2822 | (1ULL << TocParser::T__30)
\r
2823 | (1ULL << TocParser::T__31)
\r
2824 | (1ULL << TocParser::T__34)
\r
2825 | (1ULL << TocParser::T__35)
\r
2826 | (1ULL << TocParser::T__36)
\r
2827 | (1ULL << TocParser::T__37)
\r
2828 | (1ULL << TocParser::T__38)
\r
2829 | (1ULL << TocParser::T__39)
\r
2830 | (1ULL << TocParser::T__40)
\r
2831 | (1ULL << TocParser::T__41)
\r
2832 | (1ULL << TocParser::T__42)
\r
2833 | (1ULL << TocParser::T__43)
\r
2834 | (1ULL << TocParser::T__44)
\r
2835 | (1ULL << TocParser::T__45)
\r
2836 | (1ULL << TocParser::T__46)
\r
2837 | (1ULL << TocParser::T__47)
\r
2838 | (1ULL << TocParser::T__48)
\r
2839 | (1ULL << TocParser::T__49)
\r
2840 | (1ULL << TocParser::T__50)
\r
2841 | (1ULL << TocParser::T__51)
\r
2842 | (1ULL << TocParser::T__52)
\r
2843 | (1ULL << TocParser::T__53)
\r
2844 | (1ULL << TocParser::T__54)
\r
2845 | (1ULL << TocParser::T__55)
\r
2846 | (1ULL << TocParser::T__56))) != 0))) {
\r
2847 _errHandler->recoverInline(this);
\r
2850 _errHandler->reportMatch(this);
\r
2855 catch (RecognitionException &e) {
\r
2856 _errHandler->reportError(this, e);
\r
2857 _localctx->exception = std::current_exception();
\r
2858 _errHandler->recover(this, _localctx->exception);
\r
2864 bool TocParser::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) {
\r
2865 switch (ruleIndex) {
\r
2866 case 30: return exprSempred(dynamic_cast<ExprContext *>(context), predicateIndex);
\r
2874 bool TocParser::exprSempred(ExprContext *_localctx, size_t predicateIndex) {
\r
2875 switch (predicateIndex) {
\r
2876 case 0: return precpred(_ctx, 4);
\r
2877 case 1: return precpred(_ctx, 3);
\r
2878 case 2: return precpred(_ctx, 10);
\r
2879 case 3: return precpred(_ctx, 7);
\r
2880 case 4: return precpred(_ctx, 5);
\r
2881 case 5: return precpred(_ctx, 2);
\r
2889 // Static vars and initialization.
\r
2890 std::vector<dfa::DFA> TocParser::_decisionToDFA;
\r
2891 atn::PredictionContextCache TocParser::_sharedContextCache;
\r
2893 // We own the ATN which in turn owns the ATN states.
\r
2894 atn::ATN TocParser::_atn;
\r
2895 std::vector<uint16_t> TocParser::_serializedATN;
\r
2897 std::vector<std::string> TocParser::_ruleNames = {
\r
2898 "prog", "decl", "namespaceDecl", "varDecl", "var", "varInit", "type",
\r
2899 "typeModifier", "namespaceSpecifier", "funcDecl", "func", "parameter",
\r
2900 "body", "structDecl", "structMember", "structVar", "structMethod", "privateDecl",
\r
2901 "genericDecl", "stmt", "ifStmt", "elseIfStmt", "elseStmt", "switchStmt",
\r
2902 "switchBody", "switchCase", "forStmt", "whileStmt", "assignStmt", "returnStmt",
\r
2903 "expr", "literal", "funcName", "varName", "typeName", "structName", "postfix_op",
\r
2904 "prefix_op", "binary_op"
\r
2907 std::vector<std::string> TocParser::_literalNames = {
\r
2908 "", "';'", "'namespace'", "'{'", "'}'", "'var'", "':'", "'='", "'*'",
\r
2909 "'['", "']'", "'::'", "'func'", "'('", "')'", "','", "'struct'", "'private'",
\r
2910 "'<'", "'>'", "'if'", "'else'", "'switch'", "'case'", "'for'", "'while'",
\r
2911 "'return'", "'.'", "'\u003F'", "'++'", "'--'", "'+'", "'-'", "'!'", "'~'",
\r
2912 "'&'", "'/'", "'%'", "'|'", "'^'", "'=='", "'!='", "'<='", "'>='", "'<<'",
\r
2913 "'>>'", "'||'", "'&&'", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'+='",
\r
2914 "'-='", "'*='", "'/='", "'%='"
\r
2917 std::vector<std::string> TocParser::_symbolicNames = {
\r
2918 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2919 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2920 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2921 "", "", "", "", "INT_LIT", "DECIMAL_LIT", "BOOL_LIT", "StringLit", "NAME",
\r
2925 dfa::Vocabulary TocParser::_vocabulary(_literalNames, _symbolicNames);
\r
2927 std::vector<std::string> TocParser::_tokenNames;
\r
2929 TocParser::Initializer::Initializer() {
\r
2930 for (size_t i = 0; i < _symbolicNames.size(); ++i) {
\r
2931 std::string name = _vocabulary.getLiteralName(i);
\r
2932 if (name.empty()) {
\r
2933 name = _vocabulary.getSymbolicName(i);
\r
2936 if (name.empty()) {
\r
2937 _tokenNames.push_back("<INVALID>");
\r
2939 _tokenNames.push_back(name);
\r
2943 static const uint16_t serializedATNSegment0[] = {
\r
2944 0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
\r
2945 0x3, 0x42, 0x190, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
\r
2946 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
\r
2947 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
\r
2948 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
\r
2949 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
\r
2950 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
\r
2951 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
\r
2952 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
\r
2953 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
\r
2954 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
\r
2955 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x4, 0x23,
\r
2956 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25, 0x4, 0x26,
\r
2957 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 0x3, 0x2,
\r
2958 0x6, 0x2, 0x52, 0xa, 0x2, 0xd, 0x2, 0xe, 0x2, 0x53, 0x3, 0x2, 0x3,
\r
2959 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
\r
2960 0x5, 0x3, 0x5e, 0xa, 0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4,
\r
2961 0x7, 0x4, 0x64, 0xa, 0x4, 0xc, 0x4, 0xe, 0x4, 0x67, 0xb, 0x4, 0x3,
\r
2962 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x6, 0x3, 0x6,
\r
2963 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x5, 0x6, 0x74, 0xa, 0x6,
\r
2964 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3,
\r
2965 0x7, 0x3, 0x8, 0x7, 0x8, 0x7e, 0xa, 0x8, 0xc, 0x8, 0xe, 0x8, 0x81,
\r
2966 0xb, 0x8, 0x3, 0x8, 0x3, 0x8, 0x7, 0x8, 0x85, 0xa, 0x8, 0xc, 0x8,
\r
2967 0xe, 0x8, 0x88, 0xb, 0x8, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x5, 0x9,
\r
2968 0x8d, 0xa, 0x9, 0x3, 0x9, 0x5, 0x9, 0x90, 0xa, 0x9, 0x3, 0xa, 0x3,
\r
2969 0xa, 0x3, 0xa, 0x3, 0xb, 0x3, 0xb, 0x3, 0xb, 0x3, 0xc, 0x3, 0xc,
\r
2970 0x5, 0xc, 0x9a, 0xa, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc,
\r
2971 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x5, 0xc, 0xa4, 0xa, 0xc,
\r
2972 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x7, 0xd, 0xa9, 0xa, 0xd, 0xc, 0xd,
\r
2973 0xe, 0xd, 0xac, 0xb, 0xd, 0x5, 0xd, 0xae, 0xa, 0xd, 0x3, 0xe, 0x3,
\r
2974 0xe, 0x7, 0xe, 0xb2, 0xa, 0xe, 0xc, 0xe, 0xe, 0xe, 0xb5, 0xb, 0xe,
\r
2975 0x3, 0xe, 0x3, 0xe, 0x3, 0xf, 0x3, 0xf, 0x3, 0xf, 0x5, 0xf, 0xbc,
\r
2976 0xa, 0xf, 0x3, 0xf, 0x3, 0xf, 0x7, 0xf, 0xc0, 0xa, 0xf, 0xc, 0xf,
\r
2977 0xe, 0xf, 0xc3, 0xb, 0xf, 0x3, 0xf, 0x3, 0xf, 0x3, 0x10, 0x5, 0x10,
\r
2978 0xc8, 0xa, 0x10, 0x3, 0x10, 0x3, 0x10, 0x5, 0x10, 0xcc, 0xa, 0x10,
\r
2979 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x12, 0x3, 0x12, 0x3, 0x13,
\r
2980 0x3, 0x13, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x7, 0x14,
\r
2981 0xd9, 0xa, 0x14, 0xc, 0x14, 0xe, 0x14, 0xdc, 0xb, 0x14, 0x3, 0x14,
\r
2982 0x3, 0x14, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15,
\r
2983 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15,
\r
2984 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x5, 0x15,
\r
2985 0xf0, 0xa, 0x15, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x7,
\r
2986 0x16, 0xf6, 0xa, 0x16, 0xc, 0x16, 0xe, 0x16, 0xf9, 0xb, 0x16, 0x3,
\r
2987 0x16, 0x5, 0x16, 0xfc, 0xa, 0x16, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
\r
2988 0x3, 0x17, 0x3, 0x17, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x19,
\r
2989 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x7, 0x1a,
\r
2990 0x10c, 0xa, 0x1a, 0xc, 0x1a, 0xe, 0x1a, 0x10f, 0xb, 0x1a, 0x3, 0x1a,
\r
2991 0x3, 0x1a, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c,
\r
2992 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c,
\r
2993 0x3, 0x1c, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1e,
\r
2994 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f,
\r
2995 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x12c, 0xa, 0x20, 0xc, 0x20, 0xe,
\r
2996 0x20, 0x12f, 0xb, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
2997 0x3, 0x20, 0x7, 0x20, 0x136, 0xa, 0x20, 0xc, 0x20, 0xe, 0x20, 0x139,
\r
2998 0xb, 0x20, 0x5, 0x20, 0x13b, 0xa, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
2999 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3000 0x20, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x148, 0xa, 0x20, 0xc, 0x20,
\r
3001 0xe, 0x20, 0x14b, 0xb, 0x20, 0x3, 0x20, 0x5, 0x20, 0x14e, 0xa, 0x20,
\r
3002 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3003 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3004 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20,
\r
3005 0x161, 0xa, 0x20, 0xc, 0x20, 0xe, 0x20, 0x164, 0xb, 0x20, 0x5, 0x20,
\r
3006 0x166, 0xa, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3007 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3008 0x20, 0x3, 0x20, 0x7, 0x20, 0x174, 0xa, 0x20, 0xc, 0x20, 0xe, 0x20,
\r
3009 0x177, 0xb, 0x20, 0x3, 0x21, 0x3, 0x21, 0x3, 0x22, 0x3, 0x22, 0x3,
\r
3010 0x23, 0x3, 0x23, 0x3, 0x24, 0x3, 0x24, 0x3, 0x25, 0x3, 0x25, 0x3,
\r
3011 0x26, 0x3, 0x26, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x3,
\r
3012 0x27, 0x3, 0x27, 0x3, 0x27, 0x5, 0x27, 0x18c, 0xa, 0x27, 0x3, 0x28,
\r
3013 0x3, 0x28, 0x3, 0x28, 0x2, 0x3, 0x3e, 0x29, 0x2, 0x4, 0x6, 0x8, 0xa,
\r
3014 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22,
\r
3015 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38,
\r
3016 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e,
\r
3017 0x2, 0x5, 0x3, 0x2, 0x3c, 0x3f, 0x3, 0x2, 0x1f, 0x20, 0x6, 0x2, 0xa,
\r
3018 0xa, 0x14, 0x15, 0x21, 0x22, 0x25, 0x3b, 0x2, 0x19c, 0x2, 0x51, 0x3,
\r
3019 0x2, 0x2, 0x2, 0x4, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x6, 0x5f, 0x3, 0x2,
\r
3020 0x2, 0x2, 0x8, 0x6a, 0x3, 0x2, 0x2, 0x2, 0xa, 0x6d, 0x3, 0x2, 0x2,
\r
3021 0x2, 0xc, 0x75, 0x3, 0x2, 0x2, 0x2, 0xe, 0x7f, 0x3, 0x2, 0x2, 0x2,
\r
3022 0x10, 0x8f, 0x3, 0x2, 0x2, 0x2, 0x12, 0x91, 0x3, 0x2, 0x2, 0x2, 0x14,
\r
3023 0x94, 0x3, 0x2, 0x2, 0x2, 0x16, 0x97, 0x3, 0x2, 0x2, 0x2, 0x18, 0xad,
\r
3024 0x3, 0x2, 0x2, 0x2, 0x1a, 0xaf, 0x3, 0x2, 0x2, 0x2, 0x1c, 0xb8, 0x3,
\r
3025 0x2, 0x2, 0x2, 0x1e, 0xcb, 0x3, 0x2, 0x2, 0x2, 0x20, 0xcd, 0x3, 0x2,
\r
3026 0x2, 0x2, 0x22, 0xd0, 0x3, 0x2, 0x2, 0x2, 0x24, 0xd2, 0x3, 0x2, 0x2,
\r
3027 0x2, 0x26, 0xd4, 0x3, 0x2, 0x2, 0x2, 0x28, 0xef, 0x3, 0x2, 0x2, 0x2,
\r
3028 0x2a, 0xf1, 0x3, 0x2, 0x2, 0x2, 0x2c, 0xfd, 0x3, 0x2, 0x2, 0x2, 0x2e,
\r
3029 0x102, 0x3, 0x2, 0x2, 0x2, 0x30, 0x105, 0x3, 0x2, 0x2, 0x2, 0x32,
\r
3030 0x109, 0x3, 0x2, 0x2, 0x2, 0x34, 0x112, 0x3, 0x2, 0x2, 0x2, 0x36,
\r
3031 0x116, 0x3, 0x2, 0x2, 0x2, 0x38, 0x11e, 0x3, 0x2, 0x2, 0x2, 0x3a,
\r
3032 0x122, 0x3, 0x2, 0x2, 0x2, 0x3c, 0x126, 0x3, 0x2, 0x2, 0x2, 0x3e,
\r
3033 0x14d, 0x3, 0x2, 0x2, 0x2, 0x40, 0x178, 0x3, 0x2, 0x2, 0x2, 0x42,
\r
3034 0x17a, 0x3, 0x2, 0x2, 0x2, 0x44, 0x17c, 0x3, 0x2, 0x2, 0x2, 0x46,
\r
3035 0x17e, 0x3, 0x2, 0x2, 0x2, 0x48, 0x180, 0x3, 0x2, 0x2, 0x2, 0x4a,
\r
3036 0x182, 0x3, 0x2, 0x2, 0x2, 0x4c, 0x18b, 0x3, 0x2, 0x2, 0x2, 0x4e,
\r
3037 0x18d, 0x3, 0x2, 0x2, 0x2, 0x50, 0x52, 0x5, 0x4, 0x3, 0x2, 0x51,
\r
3038 0x50, 0x3, 0x2, 0x2, 0x2, 0x52, 0x53, 0x3, 0x2, 0x2, 0x2, 0x53, 0x51,
\r
3039 0x3, 0x2, 0x2, 0x2, 0x53, 0x54, 0x3, 0x2, 0x2, 0x2, 0x54, 0x55, 0x3,
\r
3040 0x2, 0x2, 0x2, 0x55, 0x56, 0x7, 0x2, 0x2, 0x3, 0x56, 0x3, 0x3, 0x2,
\r
3041 0x2, 0x2, 0x57, 0x58, 0x5, 0x8, 0x5, 0x2, 0x58, 0x59, 0x7, 0x3, 0x2,
\r
3042 0x2, 0x59, 0x5e, 0x3, 0x2, 0x2, 0x2, 0x5a, 0x5e, 0x5, 0x14, 0xb,
\r
3043 0x2, 0x5b, 0x5e, 0x5, 0x1c, 0xf, 0x2, 0x5c, 0x5e, 0x5, 0x6, 0x4,
\r
3044 0x2, 0x5d, 0x57, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5a, 0x3, 0x2, 0x2, 0x2,
\r
3045 0x5d, 0x5b, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5c, 0x3, 0x2, 0x2, 0x2, 0x5e,
\r
3046 0x5, 0x3, 0x2, 0x2, 0x2, 0x5f, 0x60, 0x7, 0x4, 0x2, 0x2, 0x60, 0x61,
\r
3047 0x5, 0x46, 0x24, 0x2, 0x61, 0x65, 0x7, 0x5, 0x2, 0x2, 0x62, 0x64,
\r
3048 0x5, 0x4, 0x3, 0x2, 0x63, 0x62, 0x3, 0x2, 0x2, 0x2, 0x64, 0x67, 0x3,
\r
3049 0x2, 0x2, 0x2, 0x65, 0x63, 0x3, 0x2, 0x2, 0x2, 0x65, 0x66, 0x3, 0x2,
\r
3050 0x2, 0x2, 0x66, 0x68, 0x3, 0x2, 0x2, 0x2, 0x67, 0x65, 0x3, 0x2, 0x2,
\r
3051 0x2, 0x68, 0x69, 0x7, 0x6, 0x2, 0x2, 0x69, 0x7, 0x3, 0x2, 0x2, 0x2,
\r
3052 0x6a, 0x6b, 0x7, 0x7, 0x2, 0x2, 0x6b, 0x6c, 0x5, 0xa, 0x6, 0x2, 0x6c,
\r
3053 0x9, 0x3, 0x2, 0x2, 0x2, 0x6d, 0x6e, 0x5, 0x44, 0x23, 0x2, 0x6e,
\r
3054 0x6f, 0x7, 0x8, 0x2, 0x2, 0x6f, 0x70, 0x5, 0xe, 0x8, 0x2, 0x70, 0x73,
\r
3055 0x3, 0x2, 0x2, 0x2, 0x71, 0x72, 0x7, 0x9, 0x2, 0x2, 0x72, 0x74, 0x5,
\r
3056 0x3e, 0x20, 0x2, 0x73, 0x71, 0x3, 0x2, 0x2, 0x2, 0x73, 0x74, 0x3,
\r
3057 0x2, 0x2, 0x2, 0x74, 0xb, 0x3, 0x2, 0x2, 0x2, 0x75, 0x76, 0x5, 0x44,
\r
3058 0x23, 0x2, 0x76, 0x77, 0x7, 0x8, 0x2, 0x2, 0x77, 0x78, 0x5, 0xe,
\r
3059 0x8, 0x2, 0x78, 0x79, 0x3, 0x2, 0x2, 0x2, 0x79, 0x7a, 0x7, 0x9, 0x2,
\r
3060 0x2, 0x7a, 0x7b, 0x5, 0x3e, 0x20, 0x2, 0x7b, 0xd, 0x3, 0x2, 0x2,
\r
3061 0x2, 0x7c, 0x7e, 0x5, 0x12, 0xa, 0x2, 0x7d, 0x7c, 0x3, 0x2, 0x2,
\r
3062 0x2, 0x7e, 0x81, 0x3, 0x2, 0x2, 0x2, 0x7f, 0x7d, 0x3, 0x2, 0x2, 0x2,
\r
3063 0x7f, 0x80, 0x3, 0x2, 0x2, 0x2, 0x80, 0x82, 0x3, 0x2, 0x2, 0x2, 0x81,
\r
3064 0x7f, 0x3, 0x2, 0x2, 0x2, 0x82, 0x86, 0x5, 0x46, 0x24, 0x2, 0x83,
\r
3065 0x85, 0x5, 0x10, 0x9, 0x2, 0x84, 0x83, 0x3, 0x2, 0x2, 0x2, 0x85,
\r
3066 0x88, 0x3, 0x2, 0x2, 0x2, 0x86, 0x84, 0x3, 0x2, 0x2, 0x2, 0x86, 0x87,
\r
3067 0x3, 0x2, 0x2, 0x2, 0x87, 0xf, 0x3, 0x2, 0x2, 0x2, 0x88, 0x86, 0x3,
\r
3068 0x2, 0x2, 0x2, 0x89, 0x90, 0x7, 0xa, 0x2, 0x2, 0x8a, 0x8c, 0x7, 0xb,
\r
3069 0x2, 0x2, 0x8b, 0x8d, 0x7, 0x3c, 0x2, 0x2, 0x8c, 0x8b, 0x3, 0x2,
\r
3070 0x2, 0x2, 0x8c, 0x8d, 0x3, 0x2, 0x2, 0x2, 0x8d, 0x8e, 0x3, 0x2, 0x2,
\r
3071 0x2, 0x8e, 0x90, 0x7, 0xc, 0x2, 0x2, 0x8f, 0x89, 0x3, 0x2, 0x2, 0x2,
\r
3072 0x8f, 0x8a, 0x3, 0x2, 0x2, 0x2, 0x90, 0x11, 0x3, 0x2, 0x2, 0x2, 0x91,
\r
3073 0x92, 0x5, 0x46, 0x24, 0x2, 0x92, 0x93, 0x7, 0xd, 0x2, 0x2, 0x93,
\r
3074 0x13, 0x3, 0x2, 0x2, 0x2, 0x94, 0x95, 0x7, 0xe, 0x2, 0x2, 0x95, 0x96,
\r
3075 0x5, 0x16, 0xc, 0x2, 0x96, 0x15, 0x3, 0x2, 0x2, 0x2, 0x97, 0x99,
\r
3076 0x5, 0x42, 0x22, 0x2, 0x98, 0x9a, 0x5, 0x26, 0x14, 0x2, 0x99, 0x98,
\r
3077 0x3, 0x2, 0x2, 0x2, 0x99, 0x9a, 0x3, 0x2, 0x2, 0x2, 0x9a, 0x9b, 0x3,
\r
3078 0x2, 0x2, 0x2, 0x9b, 0x9c, 0x7, 0xf, 0x2, 0x2, 0x9c, 0x9d, 0x5, 0x18,
\r
3079 0xd, 0x2, 0x9d, 0x9e, 0x7, 0x10, 0x2, 0x2, 0x9e, 0x9f, 0x7, 0x8,
\r
3080 0x2, 0x2, 0x9f, 0xa0, 0x5, 0xe, 0x8, 0x2, 0xa0, 0xa3, 0x3, 0x2, 0x2,
\r
3081 0x2, 0xa1, 0xa4, 0x5, 0x1a, 0xe, 0x2, 0xa2, 0xa4, 0x7, 0x3, 0x2,
\r
3082 0x2, 0xa3, 0xa1, 0x3, 0x2, 0x2, 0x2, 0xa3, 0xa2, 0x3, 0x2, 0x2, 0x2,
\r
3083 0xa4, 0x17, 0x3, 0x2, 0x2, 0x2, 0xa5, 0xaa, 0x5, 0xa, 0x6, 0x2, 0xa6,
\r
3084 0xa7, 0x7, 0x11, 0x2, 0x2, 0xa7, 0xa9, 0x5, 0xa, 0x6, 0x2, 0xa8,
\r
3085 0xa6, 0x3, 0x2, 0x2, 0x2, 0xa9, 0xac, 0x3, 0x2, 0x2, 0x2, 0xaa, 0xa8,
\r
3086 0x3, 0x2, 0x2, 0x2, 0xaa, 0xab, 0x3, 0x2, 0x2, 0x2, 0xab, 0xae, 0x3,
\r
3087 0x2, 0x2, 0x2, 0xac, 0xaa, 0x3, 0x2, 0x2, 0x2, 0xad, 0xa5, 0x3, 0x2,
\r
3088 0x2, 0x2, 0xad, 0xae, 0x3, 0x2, 0x2, 0x2, 0xae, 0x19, 0x3, 0x2, 0x2,
\r
3089 0x2, 0xaf, 0xb3, 0x7, 0x5, 0x2, 0x2, 0xb0, 0xb2, 0x5, 0x28, 0x15,
\r
3090 0x2, 0xb1, 0xb0, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb5, 0x3, 0x2, 0x2, 0x2,
\r
3091 0xb3, 0xb1, 0x3, 0x2, 0x2, 0x2, 0xb3, 0xb4, 0x3, 0x2, 0x2, 0x2, 0xb4,
\r
3092 0xb6, 0x3, 0x2, 0x2, 0x2, 0xb5, 0xb3, 0x3, 0x2, 0x2, 0x2, 0xb6, 0xb7,
\r
3093 0x7, 0x6, 0x2, 0x2, 0xb7, 0x1b, 0x3, 0x2, 0x2, 0x2, 0xb8, 0xb9, 0x7,
\r
3094 0x12, 0x2, 0x2, 0xb9, 0xbb, 0x5, 0x48, 0x25, 0x2, 0xba, 0xbc, 0x5,
\r
3095 0x26, 0x14, 0x2, 0xbb, 0xba, 0x3, 0x2, 0x2, 0x2, 0xbb, 0xbc, 0x3,
\r
3096 0x2, 0x2, 0x2, 0xbc, 0xbd, 0x3, 0x2, 0x2, 0x2, 0xbd, 0xc1, 0x7, 0x5,
\r
3097 0x2, 0x2, 0xbe, 0xc0, 0x5, 0x1e, 0x10, 0x2, 0xbf, 0xbe, 0x3, 0x2,
\r
3098 0x2, 0x2, 0xc0, 0xc3, 0x3, 0x2, 0x2, 0x2, 0xc1, 0xbf, 0x3, 0x2, 0x2,
\r
3099 0x2, 0xc1, 0xc2, 0x3, 0x2, 0x2, 0x2, 0xc2, 0xc4, 0x3, 0x2, 0x2, 0x2,
\r
3100 0xc3, 0xc1, 0x3, 0x2, 0x2, 0x2, 0xc4, 0xc5, 0x7, 0x6, 0x2, 0x2, 0xc5,
\r
3101 0x1d, 0x3, 0x2, 0x2, 0x2, 0xc6, 0xc8, 0x5, 0x24, 0x13, 0x2, 0xc7,
\r
3102 0xc6, 0x3, 0x2, 0x2, 0x2, 0xc7, 0xc8, 0x3, 0x2, 0x2, 0x2, 0xc8, 0xc9,
\r
3103 0x3, 0x2, 0x2, 0x2, 0xc9, 0xcc, 0x5, 0x20, 0x11, 0x2, 0xca, 0xcc,
\r
3104 0x5, 0x22, 0x12, 0x2, 0xcb, 0xc7, 0x3, 0x2, 0x2, 0x2, 0xcb, 0xca,
\r
3105 0x3, 0x2, 0x2, 0x2, 0xcc, 0x1f, 0x3, 0x2, 0x2, 0x2, 0xcd, 0xce, 0x5,
\r
3106 0xa, 0x6, 0x2, 0xce, 0xcf, 0x7, 0x3, 0x2, 0x2, 0xcf, 0x21, 0x3, 0x2,
\r
3107 0x2, 0x2, 0xd0, 0xd1, 0x5, 0x16, 0xc, 0x2, 0xd1, 0x23, 0x3, 0x2,
\r
3108 0x2, 0x2, 0xd2, 0xd3, 0x7, 0x13, 0x2, 0x2, 0xd3, 0x25, 0x3, 0x2,
\r
3109 0x2, 0x2, 0xd4, 0xd5, 0x7, 0x14, 0x2, 0x2, 0xd5, 0xda, 0x5, 0x46,
\r
3110 0x24, 0x2, 0xd6, 0xd7, 0x7, 0x11, 0x2, 0x2, 0xd7, 0xd9, 0x5, 0x46,
\r
3111 0x24, 0x2, 0xd8, 0xd6, 0x3, 0x2, 0x2, 0x2, 0xd9, 0xdc, 0x3, 0x2,
\r
3112 0x2, 0x2, 0xda, 0xd8, 0x3, 0x2, 0x2, 0x2, 0xda, 0xdb, 0x3, 0x2, 0x2,
\r
3113 0x2, 0xdb, 0xdd, 0x3, 0x2, 0x2, 0x2, 0xdc, 0xda, 0x3, 0x2, 0x2, 0x2,
\r
3114 0xdd, 0xde, 0x7, 0x15, 0x2, 0x2, 0xde, 0x27, 0x3, 0x2, 0x2, 0x2,
\r
3115 0xdf, 0xe0, 0x5, 0x8, 0x5, 0x2, 0xe0, 0xe1, 0x7, 0x3, 0x2, 0x2, 0xe1,
\r
3116 0xf0, 0x3, 0x2, 0x2, 0x2, 0xe2, 0xf0, 0x5, 0x2a, 0x16, 0x2, 0xe3,
\r
3117 0xf0, 0x5, 0x30, 0x19, 0x2, 0xe4, 0xf0, 0x5, 0x36, 0x1c, 0x2, 0xe5,
\r
3118 0xf0, 0x5, 0x38, 0x1d, 0x2, 0xe6, 0xe7, 0x5, 0x3a, 0x1e, 0x2, 0xe7,
\r
3119 0xe8, 0x7, 0x3, 0x2, 0x2, 0xe8, 0xf0, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xea,
\r
3120 0x5, 0x3c, 0x1f, 0x2, 0xea, 0xeb, 0x7, 0x3, 0x2, 0x2, 0xeb, 0xf0,
\r
3121 0x3, 0x2, 0x2, 0x2, 0xec, 0xed, 0x5, 0x3e, 0x20, 0x2, 0xed, 0xee,
\r
3122 0x7, 0x3, 0x2, 0x2, 0xee, 0xf0, 0x3, 0x2, 0x2, 0x2, 0xef, 0xdf, 0x3,
\r
3123 0x2, 0x2, 0x2, 0xef, 0xe2, 0x3, 0x2, 0x2, 0x2, 0xef, 0xe3, 0x3, 0x2,
\r
3124 0x2, 0x2, 0xef, 0xe4, 0x3, 0x2, 0x2, 0x2, 0xef, 0xe5, 0x3, 0x2, 0x2,
\r
3125 0x2, 0xef, 0xe6, 0x3, 0x2, 0x2, 0x2, 0xef, 0xe9, 0x3, 0x2, 0x2, 0x2,
\r
3126 0xef, 0xec, 0x3, 0x2, 0x2, 0x2, 0xf0, 0x29, 0x3, 0x2, 0x2, 0x2, 0xf1,
\r
3127 0xf2, 0x7, 0x16, 0x2, 0x2, 0xf2, 0xf3, 0x5, 0x3e, 0x20, 0x2, 0xf3,
\r
3128 0xf7, 0x5, 0x1a, 0xe, 0x2, 0xf4, 0xf6, 0x5, 0x2c, 0x17, 0x2, 0xf5,
\r
3129 0xf4, 0x3, 0x2, 0x2, 0x2, 0xf6, 0xf9, 0x3, 0x2, 0x2, 0x2, 0xf7, 0xf5,
\r
3130 0x3, 0x2, 0x2, 0x2, 0xf7, 0xf8, 0x3, 0x2, 0x2, 0x2, 0xf8, 0xfb, 0x3,
\r
3131 0x2, 0x2, 0x2, 0xf9, 0xf7, 0x3, 0x2, 0x2, 0x2, 0xfa, 0xfc, 0x5, 0x2e,
\r
3132 0x18, 0x2, 0xfb, 0xfa, 0x3, 0x2, 0x2, 0x2, 0xfb, 0xfc, 0x3, 0x2,
\r
3133 0x2, 0x2, 0xfc, 0x2b, 0x3, 0x2, 0x2, 0x2, 0xfd, 0xfe, 0x7, 0x17,
\r
3134 0x2, 0x2, 0xfe, 0xff, 0x7, 0x16, 0x2, 0x2, 0xff, 0x100, 0x5, 0x3e,
\r
3135 0x20, 0x2, 0x100, 0x101, 0x5, 0x1a, 0xe, 0x2, 0x101, 0x2d, 0x3, 0x2,
\r
3136 0x2, 0x2, 0x102, 0x103, 0x7, 0x17, 0x2, 0x2, 0x103, 0x104, 0x5, 0x1a,
\r
3137 0xe, 0x2, 0x104, 0x2f, 0x3, 0x2, 0x2, 0x2, 0x105, 0x106, 0x7, 0x18,
\r
3138 0x2, 0x2, 0x106, 0x107, 0x5, 0x3e, 0x20, 0x2, 0x107, 0x108, 0x5,
\r
3139 0x32, 0x1a, 0x2, 0x108, 0x31, 0x3, 0x2, 0x2, 0x2, 0x109, 0x10d, 0x7,
\r
3140 0x5, 0x2, 0x2, 0x10a, 0x10c, 0x5, 0x34, 0x1b, 0x2, 0x10b, 0x10a,
\r
3141 0x3, 0x2, 0x2, 0x2, 0x10c, 0x10f, 0x3, 0x2, 0x2, 0x2, 0x10d, 0x10b,
\r
3142 0x3, 0x2, 0x2, 0x2, 0x10d, 0x10e, 0x3, 0x2, 0x2, 0x2, 0x10e, 0x110,
\r
3143 0x3, 0x2, 0x2, 0x2, 0x10f, 0x10d, 0x3, 0x2, 0x2, 0x2, 0x110, 0x111,
\r
3144 0x7, 0x6, 0x2, 0x2, 0x111, 0x33, 0x3, 0x2, 0x2, 0x2, 0x112, 0x113,
\r
3145 0x7, 0x19, 0x2, 0x2, 0x113, 0x114, 0x5, 0x3e, 0x20, 0x2, 0x114, 0x115,
\r
3146 0x5, 0x1a, 0xe, 0x2, 0x115, 0x35, 0x3, 0x2, 0x2, 0x2, 0x116, 0x117,
\r
3147 0x7, 0x1a, 0x2, 0x2, 0x117, 0x118, 0x5, 0xc, 0x7, 0x2, 0x118, 0x119,
\r
3148 0x7, 0x11, 0x2, 0x2, 0x119, 0x11a, 0x5, 0x3e, 0x20, 0x2, 0x11a, 0x11b,
\r
3149 0x7, 0x11, 0x2, 0x2, 0x11b, 0x11c, 0x5, 0x3e, 0x20, 0x2, 0x11c, 0x11d,
\r
3150 0x5, 0x1a, 0xe, 0x2, 0x11d, 0x37, 0x3, 0x2, 0x2, 0x2, 0x11e, 0x11f,
\r
3151 0x7, 0x1b, 0x2, 0x2, 0x11f, 0x120, 0x5, 0x3e, 0x20, 0x2, 0x120, 0x121,
\r
3152 0x5, 0x1a, 0xe, 0x2, 0x121, 0x39, 0x3, 0x2, 0x2, 0x2, 0x122, 0x123,
\r
3153 0x5, 0x3e, 0x20, 0x2, 0x123, 0x124, 0x7, 0x9, 0x2, 0x2, 0x124, 0x125,
\r
3154 0x5, 0x3e, 0x20, 0x2, 0x125, 0x3b, 0x3, 0x2, 0x2, 0x2, 0x126, 0x127,
\r
3155 0x7, 0x1c, 0x2, 0x2, 0x127, 0x128, 0x5, 0x3e, 0x20, 0x2, 0x128, 0x3d,
\r
3156 0x3, 0x2, 0x2, 0x2, 0x129, 0x12d, 0x8, 0x20, 0x1, 0x2, 0x12a, 0x12c,
\r
3157 0x5, 0x12, 0xa, 0x2, 0x12b, 0x12a, 0x3, 0x2, 0x2, 0x2, 0x12c, 0x12f,
\r
3158 0x3, 0x2, 0x2, 0x2, 0x12d, 0x12b, 0x3, 0x2, 0x2, 0x2, 0x12d, 0x12e,
\r
3159 0x3, 0x2, 0x2, 0x2, 0x12e, 0x130, 0x3, 0x2, 0x2, 0x2, 0x12f, 0x12d,
\r
3160 0x3, 0x2, 0x2, 0x2, 0x130, 0x131, 0x5, 0x42, 0x22, 0x2, 0x131, 0x13a,
\r
3161 0x7, 0xf, 0x2, 0x2, 0x132, 0x137, 0x5, 0x3e, 0x20, 0x2, 0x133, 0x134,
\r
3162 0x7, 0x11, 0x2, 0x2, 0x134, 0x136, 0x5, 0x3e, 0x20, 0x2, 0x135, 0x133,
\r
3163 0x3, 0x2, 0x2, 0x2, 0x136, 0x139, 0x3, 0x2, 0x2, 0x2, 0x137, 0x135,
\r
3164 0x3, 0x2, 0x2, 0x2, 0x137, 0x138, 0x3, 0x2, 0x2, 0x2, 0x138, 0x13b,
\r
3165 0x3, 0x2, 0x2, 0x2, 0x139, 0x137, 0x3, 0x2, 0x2, 0x2, 0x13a, 0x132,
\r
3166 0x3, 0x2, 0x2, 0x2, 0x13a, 0x13b, 0x3, 0x2, 0x2, 0x2, 0x13b, 0x13c,
\r
3167 0x3, 0x2, 0x2, 0x2, 0x13c, 0x13d, 0x7, 0x10, 0x2, 0x2, 0x13d, 0x14e,
\r
3168 0x3, 0x2, 0x2, 0x2, 0x13e, 0x14e, 0x5, 0x40, 0x21, 0x2, 0x13f, 0x140,
\r
3169 0x7, 0xf, 0x2, 0x2, 0x140, 0x141, 0x5, 0x3e, 0x20, 0x2, 0x141, 0x142,
\r
3170 0x7, 0x10, 0x2, 0x2, 0x142, 0x14e, 0x3, 0x2, 0x2, 0x2, 0x143, 0x144,
\r
3171 0x5, 0x4c, 0x27, 0x2, 0x144, 0x145, 0x5, 0x3e, 0x20, 0x8, 0x145,
\r
3172 0x14e, 0x3, 0x2, 0x2, 0x2, 0x146, 0x148, 0x5, 0x12, 0xa, 0x2, 0x147,
\r
3173 0x146, 0x3, 0x2, 0x2, 0x2, 0x148, 0x14b, 0x3, 0x2, 0x2, 0x2, 0x149,
\r
3174 0x147, 0x3, 0x2, 0x2, 0x2, 0x149, 0x14a, 0x3, 0x2, 0x2, 0x2, 0x14a,
\r
3175 0x14c, 0x3, 0x2, 0x2, 0x2, 0x14b, 0x149, 0x3, 0x2, 0x2, 0x2, 0x14c,
\r
3176 0x14e, 0x5, 0x44, 0x23, 0x2, 0x14d, 0x129, 0x3, 0x2, 0x2, 0x2, 0x14d,
\r
3177 0x13e, 0x3, 0x2, 0x2, 0x2, 0x14d, 0x13f, 0x3, 0x2, 0x2, 0x2, 0x14d,
\r
3178 0x143, 0x3, 0x2, 0x2, 0x2, 0x14d, 0x149, 0x3, 0x2, 0x2, 0x2, 0x14e,
\r
3179 0x175, 0x3, 0x2, 0x2, 0x2, 0x14f, 0x150, 0xc, 0x6, 0x2, 0x2, 0x150,
\r
3180 0x151, 0x5, 0x4e, 0x28, 0x2, 0x151, 0x152, 0x5, 0x3e, 0x20, 0x7,
\r
3181 0x152, 0x174, 0x3, 0x2, 0x2, 0x2, 0x153, 0x154, 0xc, 0x5, 0x2, 0x2,
\r
3182 0x154, 0x155, 0x7, 0x1e, 0x2, 0x2, 0x155, 0x156, 0x5, 0x3e, 0x20,
\r
3183 0x2, 0x156, 0x157, 0x7, 0x8, 0x2, 0x2, 0x157, 0x158, 0x5, 0x3e, 0x20,
\r
3184 0x6, 0x158, 0x174, 0x3, 0x2, 0x2, 0x2, 0x159, 0x15a, 0xc, 0xc, 0x2,
\r
3185 0x2, 0x15a, 0x15b, 0x7, 0x1d, 0x2, 0x2, 0x15b, 0x15c, 0x5, 0x42,
\r
3186 0x22, 0x2, 0x15c, 0x165, 0x7, 0xf, 0x2, 0x2, 0x15d, 0x162, 0x5, 0x3e,
\r
3187 0x20, 0x2, 0x15e, 0x15f, 0x7, 0x11, 0x2, 0x2, 0x15f, 0x161, 0x5,
\r
3188 0x3e, 0x20, 0x2, 0x160, 0x15e, 0x3, 0x2, 0x2, 0x2, 0x161, 0x164,
\r
3189 0x3, 0x2, 0x2, 0x2, 0x162, 0x160, 0x3, 0x2, 0x2, 0x2, 0x162, 0x163,
\r
3190 0x3, 0x2, 0x2, 0x2, 0x163, 0x166, 0x3, 0x2, 0x2, 0x2, 0x164, 0x162,
\r
3191 0x3, 0x2, 0x2, 0x2, 0x165, 0x15d, 0x3, 0x2, 0x2, 0x2, 0x165, 0x166,
\r
3192 0x3, 0x2, 0x2, 0x2, 0x166, 0x167, 0x3, 0x2, 0x2, 0x2, 0x167, 0x168,
\r
3193 0x7, 0x10, 0x2, 0x2, 0x168, 0x174, 0x3, 0x2, 0x2, 0x2, 0x169, 0x16a,
\r
3194 0xc, 0x9, 0x2, 0x2, 0x16a, 0x16b, 0x7, 0x1d, 0x2, 0x2, 0x16b, 0x174,
\r
3195 0x5, 0x44, 0x23, 0x2, 0x16c, 0x16d, 0xc, 0x7, 0x2, 0x2, 0x16d, 0x174,
\r
3196 0x5, 0x4a, 0x26, 0x2, 0x16e, 0x16f, 0xc, 0x4, 0x2, 0x2, 0x16f, 0x170,
\r
3197 0x7, 0xb, 0x2, 0x2, 0x170, 0x171, 0x5, 0x3e, 0x20, 0x2, 0x171, 0x172,
\r
3198 0x7, 0xc, 0x2, 0x2, 0x172, 0x174, 0x3, 0x2, 0x2, 0x2, 0x173, 0x14f,
\r
3199 0x3, 0x2, 0x2, 0x2, 0x173, 0x153, 0x3, 0x2, 0x2, 0x2, 0x173, 0x159,
\r
3200 0x3, 0x2, 0x2, 0x2, 0x173, 0x169, 0x3, 0x2, 0x2, 0x2, 0x173, 0x16c,
\r
3201 0x3, 0x2, 0x2, 0x2, 0x173, 0x16e, 0x3, 0x2, 0x2, 0x2, 0x174, 0x177,
\r
3202 0x3, 0x2, 0x2, 0x2, 0x175, 0x173, 0x3, 0x2, 0x2, 0x2, 0x175, 0x176,
\r
3203 0x3, 0x2, 0x2, 0x2, 0x176, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x177, 0x175,
\r
3204 0x3, 0x2, 0x2, 0x2, 0x178, 0x179, 0x9, 0x2, 0x2, 0x2, 0x179, 0x41,
\r
3205 0x3, 0x2, 0x2, 0x2, 0x17a, 0x17b, 0x7, 0x40, 0x2, 0x2, 0x17b, 0x43,
\r
3206 0x3, 0x2, 0x2, 0x2, 0x17c, 0x17d, 0x7, 0x40, 0x2, 0x2, 0x17d, 0x45,
\r
3207 0x3, 0x2, 0x2, 0x2, 0x17e, 0x17f, 0x7, 0x40, 0x2, 0x2, 0x17f, 0x47,
\r
3208 0x3, 0x2, 0x2, 0x2, 0x180, 0x181, 0x7, 0x40, 0x2, 0x2, 0x181, 0x49,
\r
3209 0x3, 0x2, 0x2, 0x2, 0x182, 0x183, 0x9, 0x3, 0x2, 0x2, 0x183, 0x4b,
\r
3210 0x3, 0x2, 0x2, 0x2, 0x184, 0x18c, 0x7, 0x21, 0x2, 0x2, 0x185, 0x18c,
\r
3211 0x7, 0x22, 0x2, 0x2, 0x186, 0x18c, 0x7, 0x23, 0x2, 0x2, 0x187, 0x18c,
\r
3212 0x7, 0x24, 0x2, 0x2, 0x188, 0x18c, 0x7, 0x25, 0x2, 0x2, 0x189, 0x18c,
\r
3213 0x7, 0xa, 0x2, 0x2, 0x18a, 0x18c, 0x5, 0x4a, 0x26, 0x2, 0x18b, 0x184,
\r
3214 0x3, 0x2, 0x2, 0x2, 0x18b, 0x185, 0x3, 0x2, 0x2, 0x2, 0x18b, 0x186,
\r
3215 0x3, 0x2, 0x2, 0x2, 0x18b, 0x187, 0x3, 0x2, 0x2, 0x2, 0x18b, 0x188,
\r
3216 0x3, 0x2, 0x2, 0x2, 0x18b, 0x189, 0x3, 0x2, 0x2, 0x2, 0x18b, 0x18a,
\r
3217 0x3, 0x2, 0x2, 0x2, 0x18c, 0x4d, 0x3, 0x2, 0x2, 0x2, 0x18d, 0x18e,
\r
3218 0x9, 0x4, 0x2, 0x2, 0x18e, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x22, 0x53,
\r
3219 0x5d, 0x65, 0x73, 0x7f, 0x86, 0x8c, 0x8f, 0x99, 0xa3, 0xaa, 0xad,
\r
3220 0xb3, 0xbb, 0xc1, 0xc7, 0xcb, 0xda, 0xef, 0xf7, 0xfb, 0x10d, 0x12d,
\r
3221 0x137, 0x13a, 0x149, 0x14d, 0x162, 0x165, 0x173, 0x175, 0x18b,
\r
3224 _serializedATN.insert(_serializedATN.end(), serializedATNSegment0,
\r
3225 serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));
\r
3228 atn::ATNDeserializer deserializer;
\r
3229 _atn = deserializer.deserialize(_serializedATN);
\r
3231 size_t count = _atn.getNumberOfDecisions();
\r
3232 _decisionToDFA.reserve(count);
\r
3233 for (size_t i = 0; i < count; i++) {
\r
3234 _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
\r
3238 TocParser::Initializer TocParser::_init;
\r