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 TocParser::GenericInstantiationContext* TocParser::TypeContext::genericInstantiation() {
\r
445 return getRuleContext<TocParser::GenericInstantiationContext>(0);
\r
448 std::vector<TocParser::TypeModifierContext *> TocParser::TypeContext::typeModifier() {
\r
449 return getRuleContexts<TocParser::TypeModifierContext>();
\r
452 TocParser::TypeModifierContext* TocParser::TypeContext::typeModifier(size_t i) {
\r
453 return getRuleContext<TocParser::TypeModifierContext>(i);
\r
457 size_t TocParser::TypeContext::getRuleIndex() const {
\r
458 return TocParser::RuleType;
\r
462 TocParser::TypeContext* TocParser::type() {
\r
463 TypeContext *_localctx = _tracker.createInstance<TypeContext>(_ctx, getState());
\r
464 enterRule(_localctx, 12, TocParser::RuleType);
\r
467 #if __cplusplus > 201703L
\r
468 auto onExit = finally([=, this] {
\r
470 auto onExit = finally([=] {
\r
476 enterOuterAlt(_localctx, 1);
\r
478 _errHandler->sync(this);
\r
479 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
480 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
483 namespaceSpecifier();
\r
486 _errHandler->sync(this);
\r
487 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
492 _errHandler->sync(this);
\r
494 _la = _input->LA(1);
\r
495 if (_la == TocParser::T__17) {
\r
497 genericInstantiation();
\r
500 _errHandler->sync(this);
\r
501 _la = _input->LA(1);
\r
502 while (_la == TocParser::T__7
\r
504 || _la == TocParser::T__8) {
\r
508 _errHandler->sync(this);
\r
509 _la = _input->LA(1);
\r
513 catch (RecognitionException &e) {
\r
514 _errHandler->reportError(this, e);
\r
515 _localctx->exception = std::current_exception();
\r
516 _errHandler->recover(this, _localctx->exception);
\r
522 //----------------- TypeModifierContext ------------------------------------------------------------------
\r
524 TocParser::TypeModifierContext::TypeModifierContext(ParserRuleContext *parent, size_t invokingState)
\r
525 : ParserRuleContext(parent, invokingState) {
\r
528 tree::TerminalNode* TocParser::TypeModifierContext::INT_LIT() {
\r
529 return getToken(TocParser::INT_LIT, 0);
\r
533 size_t TocParser::TypeModifierContext::getRuleIndex() const {
\r
534 return TocParser::RuleTypeModifier;
\r
538 TocParser::TypeModifierContext* TocParser::typeModifier() {
\r
539 TypeModifierContext *_localctx = _tracker.createInstance<TypeModifierContext>(_ctx, getState());
\r
540 enterRule(_localctx, 14, TocParser::RuleTypeModifier);
\r
543 #if __cplusplus > 201703L
\r
544 auto onExit = finally([=, this] {
\r
546 auto onExit = finally([=] {
\r
552 _errHandler->sync(this);
\r
553 switch (_input->LA(1)) {
\r
554 case TocParser::T__7: {
\r
555 enterOuterAlt(_localctx, 1);
\r
557 match(TocParser::T__7);
\r
561 case TocParser::T__8: {
\r
562 enterOuterAlt(_localctx, 2);
\r
564 match(TocParser::T__8);
\r
566 _errHandler->sync(this);
\r
568 _la = _input->LA(1);
\r
569 if (_la == TocParser::INT_LIT) {
\r
571 match(TocParser::INT_LIT);
\r
574 match(TocParser::T__9);
\r
579 throw NoViableAltException(this);
\r
583 catch (RecognitionException &e) {
\r
584 _errHandler->reportError(this, e);
\r
585 _localctx->exception = std::current_exception();
\r
586 _errHandler->recover(this, _localctx->exception);
\r
592 //----------------- NamespaceSpecifierContext ------------------------------------------------------------------
\r
594 TocParser::NamespaceSpecifierContext::NamespaceSpecifierContext(ParserRuleContext *parent, size_t invokingState)
\r
595 : ParserRuleContext(parent, invokingState) {
\r
598 TocParser::TypeNameContext* TocParser::NamespaceSpecifierContext::typeName() {
\r
599 return getRuleContext<TocParser::TypeNameContext>(0);
\r
603 size_t TocParser::NamespaceSpecifierContext::getRuleIndex() const {
\r
604 return TocParser::RuleNamespaceSpecifier;
\r
608 TocParser::NamespaceSpecifierContext* TocParser::namespaceSpecifier() {
\r
609 NamespaceSpecifierContext *_localctx = _tracker.createInstance<NamespaceSpecifierContext>(_ctx, getState());
\r
610 enterRule(_localctx, 16, TocParser::RuleNamespaceSpecifier);
\r
612 #if __cplusplus > 201703L
\r
613 auto onExit = finally([=, this] {
\r
615 auto onExit = finally([=] {
\r
620 enterOuterAlt(_localctx, 1);
\r
624 match(TocParser::T__10);
\r
627 catch (RecognitionException &e) {
\r
628 _errHandler->reportError(this, e);
\r
629 _localctx->exception = std::current_exception();
\r
630 _errHandler->recover(this, _localctx->exception);
\r
636 //----------------- FuncDeclContext ------------------------------------------------------------------
\r
638 TocParser::FuncDeclContext::FuncDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
639 : ParserRuleContext(parent, invokingState) {
\r
642 TocParser::FuncContext* TocParser::FuncDeclContext::func() {
\r
643 return getRuleContext<TocParser::FuncContext>(0);
\r
647 size_t TocParser::FuncDeclContext::getRuleIndex() const {
\r
648 return TocParser::RuleFuncDecl;
\r
652 TocParser::FuncDeclContext* TocParser::funcDecl() {
\r
653 FuncDeclContext *_localctx = _tracker.createInstance<FuncDeclContext>(_ctx, getState());
\r
654 enterRule(_localctx, 18, TocParser::RuleFuncDecl);
\r
656 #if __cplusplus > 201703L
\r
657 auto onExit = finally([=, this] {
\r
659 auto onExit = finally([=] {
\r
664 enterOuterAlt(_localctx, 1);
\r
666 match(TocParser::T__11);
\r
671 catch (RecognitionException &e) {
\r
672 _errHandler->reportError(this, e);
\r
673 _localctx->exception = std::current_exception();
\r
674 _errHandler->recover(this, _localctx->exception);
\r
680 //----------------- FuncContext ------------------------------------------------------------------
\r
682 TocParser::FuncContext::FuncContext(ParserRuleContext *parent, size_t invokingState)
\r
683 : ParserRuleContext(parent, invokingState) {
\r
686 TocParser::FuncNameContext* TocParser::FuncContext::funcName() {
\r
687 return getRuleContext<TocParser::FuncNameContext>(0);
\r
690 TocParser::ParameterContext* TocParser::FuncContext::parameter() {
\r
691 return getRuleContext<TocParser::ParameterContext>(0);
\r
694 TocParser::TypeContext* TocParser::FuncContext::type() {
\r
695 return getRuleContext<TocParser::TypeContext>(0);
\r
698 TocParser::BodyContext* TocParser::FuncContext::body() {
\r
699 return getRuleContext<TocParser::BodyContext>(0);
\r
702 TocParser::GenericDeclContext* TocParser::FuncContext::genericDecl() {
\r
703 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
707 size_t TocParser::FuncContext::getRuleIndex() const {
\r
708 return TocParser::RuleFunc;
\r
712 TocParser::FuncContext* TocParser::func() {
\r
713 FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());
\r
714 enterRule(_localctx, 20, TocParser::RuleFunc);
\r
717 #if __cplusplus > 201703L
\r
718 auto onExit = finally([=, this] {
\r
720 auto onExit = finally([=] {
\r
725 enterOuterAlt(_localctx, 1);
\r
729 _errHandler->sync(this);
\r
731 _la = _input->LA(1);
\r
732 if (_la == TocParser::T__17) {
\r
737 match(TocParser::T__12);
\r
741 match(TocParser::T__13);
\r
744 match(TocParser::T__5);
\r
748 _errHandler->sync(this);
\r
749 switch (_input->LA(1)) {
\r
750 case TocParser::T__2: {
\r
756 case TocParser::T__0: {
\r
758 match(TocParser::T__0);
\r
763 throw NoViableAltException(this);
\r
767 catch (RecognitionException &e) {
\r
768 _errHandler->reportError(this, e);
\r
769 _localctx->exception = std::current_exception();
\r
770 _errHandler->recover(this, _localctx->exception);
\r
776 //----------------- ParameterContext ------------------------------------------------------------------
\r
778 TocParser::ParameterContext::ParameterContext(ParserRuleContext *parent, size_t invokingState)
\r
779 : ParserRuleContext(parent, invokingState) {
\r
782 std::vector<TocParser::VarContext *> TocParser::ParameterContext::var() {
\r
783 return getRuleContexts<TocParser::VarContext>();
\r
786 TocParser::VarContext* TocParser::ParameterContext::var(size_t i) {
\r
787 return getRuleContext<TocParser::VarContext>(i);
\r
791 size_t TocParser::ParameterContext::getRuleIndex() const {
\r
792 return TocParser::RuleParameter;
\r
796 TocParser::ParameterContext* TocParser::parameter() {
\r
797 ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());
\r
798 enterRule(_localctx, 22, TocParser::RuleParameter);
\r
801 #if __cplusplus > 201703L
\r
802 auto onExit = finally([=, this] {
\r
804 auto onExit = finally([=] {
\r
809 enterOuterAlt(_localctx, 1);
\r
811 _errHandler->sync(this);
\r
813 _la = _input->LA(1);
\r
814 if (_la == TocParser::NAME) {
\r
818 _errHandler->sync(this);
\r
819 _la = _input->LA(1);
\r
820 while (_la == TocParser::T__14) {
\r
822 match(TocParser::T__14);
\r
826 _errHandler->sync(this);
\r
827 _la = _input->LA(1);
\r
832 catch (RecognitionException &e) {
\r
833 _errHandler->reportError(this, e);
\r
834 _localctx->exception = std::current_exception();
\r
835 _errHandler->recover(this, _localctx->exception);
\r
841 //----------------- BodyContext ------------------------------------------------------------------
\r
843 TocParser::BodyContext::BodyContext(ParserRuleContext *parent, size_t invokingState)
\r
844 : ParserRuleContext(parent, invokingState) {
\r
847 std::vector<TocParser::StmtContext *> TocParser::BodyContext::stmt() {
\r
848 return getRuleContexts<TocParser::StmtContext>();
\r
851 TocParser::StmtContext* TocParser::BodyContext::stmt(size_t i) {
\r
852 return getRuleContext<TocParser::StmtContext>(i);
\r
856 size_t TocParser::BodyContext::getRuleIndex() const {
\r
857 return TocParser::RuleBody;
\r
861 TocParser::BodyContext* TocParser::body() {
\r
862 BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());
\r
863 enterRule(_localctx, 24, TocParser::RuleBody);
\r
866 #if __cplusplus > 201703L
\r
867 auto onExit = finally([=, this] {
\r
869 auto onExit = finally([=] {
\r
874 enterOuterAlt(_localctx, 1);
\r
876 match(TocParser::T__2);
\r
878 _errHandler->sync(this);
\r
879 _la = _input->LA(1);
\r
880 while ((((_la & ~ 0x3fULL) == 0) &&
\r
881 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
882 | (1ULL << TocParser::T__7)
\r
883 | (1ULL << TocParser::T__12)
\r
884 | (1ULL << TocParser::T__19)
\r
885 | (1ULL << TocParser::T__21)
\r
886 | (1ULL << TocParser::T__23)
\r
887 | (1ULL << TocParser::T__24)
\r
888 | (1ULL << TocParser::T__25)
\r
889 | (1ULL << TocParser::T__29)
\r
890 | (1ULL << TocParser::T__30)
\r
891 | (1ULL << TocParser::T__31)
\r
892 | (1ULL << TocParser::T__32)
\r
893 | (1ULL << TocParser::T__33)
\r
894 | (1ULL << TocParser::T__34)
\r
895 | (1ULL << TocParser::T__35)
\r
896 | (1ULL << TocParser::INT_LIT)
\r
897 | (1ULL << TocParser::DECIMAL_LIT)
\r
898 | (1ULL << TocParser::BOOL_LIT)
\r
899 | (1ULL << TocParser::StringLit)
\r
900 | (1ULL << TocParser::NAME))) != 0)) {
\r
904 _errHandler->sync(this);
\r
905 _la = _input->LA(1);
\r
908 match(TocParser::T__3);
\r
911 catch (RecognitionException &e) {
\r
912 _errHandler->reportError(this, e);
\r
913 _localctx->exception = std::current_exception();
\r
914 _errHandler->recover(this, _localctx->exception);
\r
920 //----------------- StructDeclContext ------------------------------------------------------------------
\r
922 TocParser::StructDeclContext::StructDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
923 : ParserRuleContext(parent, invokingState) {
\r
926 TocParser::StructNameContext* TocParser::StructDeclContext::structName() {
\r
927 return getRuleContext<TocParser::StructNameContext>(0);
\r
930 TocParser::GenericDeclContext* TocParser::StructDeclContext::genericDecl() {
\r
931 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
934 std::vector<TocParser::StructMemberContext *> TocParser::StructDeclContext::structMember() {
\r
935 return getRuleContexts<TocParser::StructMemberContext>();
\r
938 TocParser::StructMemberContext* TocParser::StructDeclContext::structMember(size_t i) {
\r
939 return getRuleContext<TocParser::StructMemberContext>(i);
\r
943 size_t TocParser::StructDeclContext::getRuleIndex() const {
\r
944 return TocParser::RuleStructDecl;
\r
948 TocParser::StructDeclContext* TocParser::structDecl() {
\r
949 StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());
\r
950 enterRule(_localctx, 26, TocParser::RuleStructDecl);
\r
953 #if __cplusplus > 201703L
\r
954 auto onExit = finally([=, this] {
\r
956 auto onExit = finally([=] {
\r
961 enterOuterAlt(_localctx, 1);
\r
963 match(TocParser::T__15);
\r
967 _errHandler->sync(this);
\r
969 _la = _input->LA(1);
\r
970 if (_la == TocParser::T__17) {
\r
975 match(TocParser::T__2);
\r
977 _errHandler->sync(this);
\r
978 _la = _input->LA(1);
\r
979 while (_la == TocParser::T__16
\r
981 || _la == TocParser::NAME) {
\r
985 _errHandler->sync(this);
\r
986 _la = _input->LA(1);
\r
989 match(TocParser::T__3);
\r
992 catch (RecognitionException &e) {
\r
993 _errHandler->reportError(this, e);
\r
994 _localctx->exception = std::current_exception();
\r
995 _errHandler->recover(this, _localctx->exception);
\r
1001 //----------------- StructMemberContext ------------------------------------------------------------------
\r
1003 TocParser::StructMemberContext::StructMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
1004 : ParserRuleContext(parent, invokingState) {
\r
1007 TocParser::StructVarContext* TocParser::StructMemberContext::structVar() {
\r
1008 return getRuleContext<TocParser::StructVarContext>(0);
\r
1011 TocParser::PrivateDeclContext* TocParser::StructMemberContext::privateDecl() {
\r
1012 return getRuleContext<TocParser::PrivateDeclContext>(0);
\r
1015 TocParser::StructMethodContext* TocParser::StructMemberContext::structMethod() {
\r
1016 return getRuleContext<TocParser::StructMethodContext>(0);
\r
1020 size_t TocParser::StructMemberContext::getRuleIndex() const {
\r
1021 return TocParser::RuleStructMember;
\r
1025 TocParser::StructMemberContext* TocParser::structMember() {
\r
1026 StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());
\r
1027 enterRule(_localctx, 28, TocParser::RuleStructMember);
\r
1030 #if __cplusplus > 201703L
\r
1031 auto onExit = finally([=, this] {
\r
1033 auto onExit = finally([=] {
\r
1039 _errHandler->sync(this);
\r
1040 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 17, _ctx)) {
\r
1042 enterOuterAlt(_localctx, 1);
\r
1044 _errHandler->sync(this);
\r
1046 _la = _input->LA(1);
\r
1047 if (_la == TocParser::T__16) {
\r
1057 enterOuterAlt(_localctx, 2);
\r
1068 catch (RecognitionException &e) {
\r
1069 _errHandler->reportError(this, e);
\r
1070 _localctx->exception = std::current_exception();
\r
1071 _errHandler->recover(this, _localctx->exception);
\r
1077 //----------------- StructVarContext ------------------------------------------------------------------
\r
1079 TocParser::StructVarContext::StructVarContext(ParserRuleContext *parent, size_t invokingState)
\r
1080 : ParserRuleContext(parent, invokingState) {
\r
1083 TocParser::VarContext* TocParser::StructVarContext::var() {
\r
1084 return getRuleContext<TocParser::VarContext>(0);
\r
1088 size_t TocParser::StructVarContext::getRuleIndex() const {
\r
1089 return TocParser::RuleStructVar;
\r
1093 TocParser::StructVarContext* TocParser::structVar() {
\r
1094 StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());
\r
1095 enterRule(_localctx, 30, TocParser::RuleStructVar);
\r
1097 #if __cplusplus > 201703L
\r
1098 auto onExit = finally([=, this] {
\r
1100 auto onExit = finally([=] {
\r
1105 enterOuterAlt(_localctx, 1);
\r
1109 match(TocParser::T__0);
\r
1112 catch (RecognitionException &e) {
\r
1113 _errHandler->reportError(this, e);
\r
1114 _localctx->exception = std::current_exception();
\r
1115 _errHandler->recover(this, _localctx->exception);
\r
1121 //----------------- StructMethodContext ------------------------------------------------------------------
\r
1123 TocParser::StructMethodContext::StructMethodContext(ParserRuleContext *parent, size_t invokingState)
\r
1124 : ParserRuleContext(parent, invokingState) {
\r
1127 TocParser::FuncContext* TocParser::StructMethodContext::func() {
\r
1128 return getRuleContext<TocParser::FuncContext>(0);
\r
1132 size_t TocParser::StructMethodContext::getRuleIndex() const {
\r
1133 return TocParser::RuleStructMethod;
\r
1137 TocParser::StructMethodContext* TocParser::structMethod() {
\r
1138 StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());
\r
1139 enterRule(_localctx, 32, TocParser::RuleStructMethod);
\r
1141 #if __cplusplus > 201703L
\r
1142 auto onExit = finally([=, this] {
\r
1144 auto onExit = finally([=] {
\r
1149 enterOuterAlt(_localctx, 1);
\r
1154 catch (RecognitionException &e) {
\r
1155 _errHandler->reportError(this, e);
\r
1156 _localctx->exception = std::current_exception();
\r
1157 _errHandler->recover(this, _localctx->exception);
\r
1163 //----------------- PrivateDeclContext ------------------------------------------------------------------
\r
1165 TocParser::PrivateDeclContext::PrivateDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1166 : ParserRuleContext(parent, invokingState) {
\r
1170 size_t TocParser::PrivateDeclContext::getRuleIndex() const {
\r
1171 return TocParser::RulePrivateDecl;
\r
1175 TocParser::PrivateDeclContext* TocParser::privateDecl() {
\r
1176 PrivateDeclContext *_localctx = _tracker.createInstance<PrivateDeclContext>(_ctx, getState());
\r
1177 enterRule(_localctx, 34, TocParser::RulePrivateDecl);
\r
1179 #if __cplusplus > 201703L
\r
1180 auto onExit = finally([=, this] {
\r
1182 auto onExit = finally([=] {
\r
1187 enterOuterAlt(_localctx, 1);
\r
1189 match(TocParser::T__16);
\r
1192 catch (RecognitionException &e) {
\r
1193 _errHandler->reportError(this, e);
\r
1194 _localctx->exception = std::current_exception();
\r
1195 _errHandler->recover(this, _localctx->exception);
\r
1201 //----------------- GenericDeclContext ------------------------------------------------------------------
\r
1203 TocParser::GenericDeclContext::GenericDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1204 : ParserRuleContext(parent, invokingState) {
\r
1207 std::vector<TocParser::TypeNameContext *> TocParser::GenericDeclContext::typeName() {
\r
1208 return getRuleContexts<TocParser::TypeNameContext>();
\r
1211 TocParser::TypeNameContext* TocParser::GenericDeclContext::typeName(size_t i) {
\r
1212 return getRuleContext<TocParser::TypeNameContext>(i);
\r
1216 size_t TocParser::GenericDeclContext::getRuleIndex() const {
\r
1217 return TocParser::RuleGenericDecl;
\r
1221 TocParser::GenericDeclContext* TocParser::genericDecl() {
\r
1222 GenericDeclContext *_localctx = _tracker.createInstance<GenericDeclContext>(_ctx, getState());
\r
1223 enterRule(_localctx, 36, TocParser::RuleGenericDecl);
\r
1226 #if __cplusplus > 201703L
\r
1227 auto onExit = finally([=, this] {
\r
1229 auto onExit = finally([=] {
\r
1234 enterOuterAlt(_localctx, 1);
\r
1236 match(TocParser::T__17);
\r
1240 _errHandler->sync(this);
\r
1241 _la = _input->LA(1);
\r
1242 while (_la == TocParser::T__14) {
\r
1244 match(TocParser::T__14);
\r
1248 _errHandler->sync(this);
\r
1249 _la = _input->LA(1);
\r
1252 match(TocParser::T__18);
\r
1255 catch (RecognitionException &e) {
\r
1256 _errHandler->reportError(this, e);
\r
1257 _localctx->exception = std::current_exception();
\r
1258 _errHandler->recover(this, _localctx->exception);
\r
1264 //----------------- GenericInstantiationContext ------------------------------------------------------------------
\r
1266 TocParser::GenericInstantiationContext::GenericInstantiationContext(ParserRuleContext *parent, size_t invokingState)
\r
1267 : ParserRuleContext(parent, invokingState) {
\r
1270 std::vector<TocParser::TypeContext *> TocParser::GenericInstantiationContext::type() {
\r
1271 return getRuleContexts<TocParser::TypeContext>();
\r
1274 TocParser::TypeContext* TocParser::GenericInstantiationContext::type(size_t i) {
\r
1275 return getRuleContext<TocParser::TypeContext>(i);
\r
1279 size_t TocParser::GenericInstantiationContext::getRuleIndex() const {
\r
1280 return TocParser::RuleGenericInstantiation;
\r
1284 TocParser::GenericInstantiationContext* TocParser::genericInstantiation() {
\r
1285 GenericInstantiationContext *_localctx = _tracker.createInstance<GenericInstantiationContext>(_ctx, getState());
\r
1286 enterRule(_localctx, 38, TocParser::RuleGenericInstantiation);
\r
1289 #if __cplusplus > 201703L
\r
1290 auto onExit = finally([=, this] {
\r
1292 auto onExit = finally([=] {
\r
1297 enterOuterAlt(_localctx, 1);
\r
1299 match(TocParser::T__17);
\r
1303 _errHandler->sync(this);
\r
1304 _la = _input->LA(1);
\r
1305 while (_la == TocParser::T__14) {
\r
1307 match(TocParser::T__14);
\r
1311 _errHandler->sync(this);
\r
1312 _la = _input->LA(1);
\r
1315 match(TocParser::T__18);
\r
1318 catch (RecognitionException &e) {
\r
1319 _errHandler->reportError(this, e);
\r
1320 _localctx->exception = std::current_exception();
\r
1321 _errHandler->recover(this, _localctx->exception);
\r
1327 //----------------- StmtContext ------------------------------------------------------------------
\r
1329 TocParser::StmtContext::StmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1330 : ParserRuleContext(parent, invokingState) {
\r
1333 TocParser::VarDeclContext* TocParser::StmtContext::varDecl() {
\r
1334 return getRuleContext<TocParser::VarDeclContext>(0);
\r
1337 TocParser::IfStmtContext* TocParser::StmtContext::ifStmt() {
\r
1338 return getRuleContext<TocParser::IfStmtContext>(0);
\r
1341 TocParser::SwitchStmtContext* TocParser::StmtContext::switchStmt() {
\r
1342 return getRuleContext<TocParser::SwitchStmtContext>(0);
\r
1345 TocParser::ForStmtContext* TocParser::StmtContext::forStmt() {
\r
1346 return getRuleContext<TocParser::ForStmtContext>(0);
\r
1349 TocParser::WhileStmtContext* TocParser::StmtContext::whileStmt() {
\r
1350 return getRuleContext<TocParser::WhileStmtContext>(0);
\r
1353 TocParser::AssignStmtContext* TocParser::StmtContext::assignStmt() {
\r
1354 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1357 TocParser::ReturnStmtContext* TocParser::StmtContext::returnStmt() {
\r
1358 return getRuleContext<TocParser::ReturnStmtContext>(0);
\r
1361 TocParser::ExprContext* TocParser::StmtContext::expr() {
\r
1362 return getRuleContext<TocParser::ExprContext>(0);
\r
1366 size_t TocParser::StmtContext::getRuleIndex() const {
\r
1367 return TocParser::RuleStmt;
\r
1371 TocParser::StmtContext* TocParser::stmt() {
\r
1372 StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());
\r
1373 enterRule(_localctx, 40, TocParser::RuleStmt);
\r
1375 #if __cplusplus > 201703L
\r
1376 auto onExit = finally([=, this] {
\r
1378 auto onExit = finally([=] {
\r
1384 _errHandler->sync(this);
\r
1385 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 20, _ctx)) {
\r
1387 enterOuterAlt(_localctx, 1);
\r
1391 match(TocParser::T__0);
\r
1396 enterOuterAlt(_localctx, 2);
\r
1403 enterOuterAlt(_localctx, 3);
\r
1410 enterOuterAlt(_localctx, 4);
\r
1417 enterOuterAlt(_localctx, 5);
\r
1424 enterOuterAlt(_localctx, 6);
\r
1428 match(TocParser::T__0);
\r
1433 enterOuterAlt(_localctx, 7);
\r
1437 match(TocParser::T__0);
\r
1442 enterOuterAlt(_localctx, 8);
\r
1446 match(TocParser::T__0);
\r
1455 catch (RecognitionException &e) {
\r
1456 _errHandler->reportError(this, e);
\r
1457 _localctx->exception = std::current_exception();
\r
1458 _errHandler->recover(this, _localctx->exception);
\r
1464 //----------------- IfStmtContext ------------------------------------------------------------------
\r
1466 TocParser::IfStmtContext::IfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1467 : ParserRuleContext(parent, invokingState) {
\r
1470 TocParser::ExprContext* TocParser::IfStmtContext::expr() {
\r
1471 return getRuleContext<TocParser::ExprContext>(0);
\r
1474 TocParser::BodyContext* TocParser::IfStmtContext::body() {
\r
1475 return getRuleContext<TocParser::BodyContext>(0);
\r
1478 std::vector<TocParser::ElseIfStmtContext *> TocParser::IfStmtContext::elseIfStmt() {
\r
1479 return getRuleContexts<TocParser::ElseIfStmtContext>();
\r
1482 TocParser::ElseIfStmtContext* TocParser::IfStmtContext::elseIfStmt(size_t i) {
\r
1483 return getRuleContext<TocParser::ElseIfStmtContext>(i);
\r
1486 TocParser::ElseStmtContext* TocParser::IfStmtContext::elseStmt() {
\r
1487 return getRuleContext<TocParser::ElseStmtContext>(0);
\r
1491 size_t TocParser::IfStmtContext::getRuleIndex() const {
\r
1492 return TocParser::RuleIfStmt;
\r
1496 TocParser::IfStmtContext* TocParser::ifStmt() {
\r
1497 IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());
\r
1498 enterRule(_localctx, 42, TocParser::RuleIfStmt);
\r
1501 #if __cplusplus > 201703L
\r
1502 auto onExit = finally([=, this] {
\r
1504 auto onExit = finally([=] {
\r
1510 enterOuterAlt(_localctx, 1);
\r
1512 match(TocParser::T__19);
\r
1518 _errHandler->sync(this);
\r
1519 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 21, _ctx);
\r
1520 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
1526 _errHandler->sync(this);
\r
1527 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 21, _ctx);
\r
1530 _errHandler->sync(this);
\r
1532 _la = _input->LA(1);
\r
1533 if (_la == TocParser::T__20) {
\r
1539 catch (RecognitionException &e) {
\r
1540 _errHandler->reportError(this, e);
\r
1541 _localctx->exception = std::current_exception();
\r
1542 _errHandler->recover(this, _localctx->exception);
\r
1548 //----------------- ElseIfStmtContext ------------------------------------------------------------------
\r
1550 TocParser::ElseIfStmtContext::ElseIfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1551 : ParserRuleContext(parent, invokingState) {
\r
1554 TocParser::ExprContext* TocParser::ElseIfStmtContext::expr() {
\r
1555 return getRuleContext<TocParser::ExprContext>(0);
\r
1558 TocParser::BodyContext* TocParser::ElseIfStmtContext::body() {
\r
1559 return getRuleContext<TocParser::BodyContext>(0);
\r
1563 size_t TocParser::ElseIfStmtContext::getRuleIndex() const {
\r
1564 return TocParser::RuleElseIfStmt;
\r
1568 TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {
\r
1569 ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());
\r
1570 enterRule(_localctx, 44, TocParser::RuleElseIfStmt);
\r
1572 #if __cplusplus > 201703L
\r
1573 auto onExit = finally([=, this] {
\r
1575 auto onExit = finally([=] {
\r
1580 enterOuterAlt(_localctx, 1);
\r
1582 match(TocParser::T__20);
\r
1584 match(TocParser::T__19);
\r
1591 catch (RecognitionException &e) {
\r
1592 _errHandler->reportError(this, e);
\r
1593 _localctx->exception = std::current_exception();
\r
1594 _errHandler->recover(this, _localctx->exception);
\r
1600 //----------------- ElseStmtContext ------------------------------------------------------------------
\r
1602 TocParser::ElseStmtContext::ElseStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1603 : ParserRuleContext(parent, invokingState) {
\r
1606 TocParser::BodyContext* TocParser::ElseStmtContext::body() {
\r
1607 return getRuleContext<TocParser::BodyContext>(0);
\r
1611 size_t TocParser::ElseStmtContext::getRuleIndex() const {
\r
1612 return TocParser::RuleElseStmt;
\r
1616 TocParser::ElseStmtContext* TocParser::elseStmt() {
\r
1617 ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());
\r
1618 enterRule(_localctx, 46, TocParser::RuleElseStmt);
\r
1620 #if __cplusplus > 201703L
\r
1621 auto onExit = finally([=, this] {
\r
1623 auto onExit = finally([=] {
\r
1628 enterOuterAlt(_localctx, 1);
\r
1630 match(TocParser::T__20);
\r
1635 catch (RecognitionException &e) {
\r
1636 _errHandler->reportError(this, e);
\r
1637 _localctx->exception = std::current_exception();
\r
1638 _errHandler->recover(this, _localctx->exception);
\r
1644 //----------------- SwitchStmtContext ------------------------------------------------------------------
\r
1646 TocParser::SwitchStmtContext::SwitchStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1647 : ParserRuleContext(parent, invokingState) {
\r
1650 TocParser::ExprContext* TocParser::SwitchStmtContext::expr() {
\r
1651 return getRuleContext<TocParser::ExprContext>(0);
\r
1654 TocParser::SwitchBodyContext* TocParser::SwitchStmtContext::switchBody() {
\r
1655 return getRuleContext<TocParser::SwitchBodyContext>(0);
\r
1659 size_t TocParser::SwitchStmtContext::getRuleIndex() const {
\r
1660 return TocParser::RuleSwitchStmt;
\r
1664 TocParser::SwitchStmtContext* TocParser::switchStmt() {
\r
1665 SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());
\r
1666 enterRule(_localctx, 48, TocParser::RuleSwitchStmt);
\r
1668 #if __cplusplus > 201703L
\r
1669 auto onExit = finally([=, this] {
\r
1671 auto onExit = finally([=] {
\r
1676 enterOuterAlt(_localctx, 1);
\r
1678 match(TocParser::T__21);
\r
1685 catch (RecognitionException &e) {
\r
1686 _errHandler->reportError(this, e);
\r
1687 _localctx->exception = std::current_exception();
\r
1688 _errHandler->recover(this, _localctx->exception);
\r
1694 //----------------- SwitchBodyContext ------------------------------------------------------------------
\r
1696 TocParser::SwitchBodyContext::SwitchBodyContext(ParserRuleContext *parent, size_t invokingState)
\r
1697 : ParserRuleContext(parent, invokingState) {
\r
1700 std::vector<TocParser::SwitchCaseContext *> TocParser::SwitchBodyContext::switchCase() {
\r
1701 return getRuleContexts<TocParser::SwitchCaseContext>();
\r
1704 TocParser::SwitchCaseContext* TocParser::SwitchBodyContext::switchCase(size_t i) {
\r
1705 return getRuleContext<TocParser::SwitchCaseContext>(i);
\r
1709 size_t TocParser::SwitchBodyContext::getRuleIndex() const {
\r
1710 return TocParser::RuleSwitchBody;
\r
1714 TocParser::SwitchBodyContext* TocParser::switchBody() {
\r
1715 SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());
\r
1716 enterRule(_localctx, 50, TocParser::RuleSwitchBody);
\r
1719 #if __cplusplus > 201703L
\r
1720 auto onExit = finally([=, this] {
\r
1722 auto onExit = finally([=] {
\r
1727 enterOuterAlt(_localctx, 1);
\r
1729 match(TocParser::T__2);
\r
1731 _errHandler->sync(this);
\r
1732 _la = _input->LA(1);
\r
1733 while (_la == TocParser::T__22) {
\r
1737 _errHandler->sync(this);
\r
1738 _la = _input->LA(1);
\r
1741 match(TocParser::T__3);
\r
1744 catch (RecognitionException &e) {
\r
1745 _errHandler->reportError(this, e);
\r
1746 _localctx->exception = std::current_exception();
\r
1747 _errHandler->recover(this, _localctx->exception);
\r
1753 //----------------- SwitchCaseContext ------------------------------------------------------------------
\r
1755 TocParser::SwitchCaseContext::SwitchCaseContext(ParserRuleContext *parent, size_t invokingState)
\r
1756 : ParserRuleContext(parent, invokingState) {
\r
1759 TocParser::ExprContext* TocParser::SwitchCaseContext::expr() {
\r
1760 return getRuleContext<TocParser::ExprContext>(0);
\r
1763 TocParser::BodyContext* TocParser::SwitchCaseContext::body() {
\r
1764 return getRuleContext<TocParser::BodyContext>(0);
\r
1768 size_t TocParser::SwitchCaseContext::getRuleIndex() const {
\r
1769 return TocParser::RuleSwitchCase;
\r
1773 TocParser::SwitchCaseContext* TocParser::switchCase() {
\r
1774 SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());
\r
1775 enterRule(_localctx, 52, TocParser::RuleSwitchCase);
\r
1777 #if __cplusplus > 201703L
\r
1778 auto onExit = finally([=, this] {
\r
1780 auto onExit = finally([=] {
\r
1785 enterOuterAlt(_localctx, 1);
\r
1787 match(TocParser::T__22);
\r
1794 catch (RecognitionException &e) {
\r
1795 _errHandler->reportError(this, e);
\r
1796 _localctx->exception = std::current_exception();
\r
1797 _errHandler->recover(this, _localctx->exception);
\r
1803 //----------------- ForStmtContext ------------------------------------------------------------------
\r
1805 TocParser::ForStmtContext::ForStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1806 : ParserRuleContext(parent, invokingState) {
\r
1809 TocParser::VarInitContext* TocParser::ForStmtContext::varInit() {
\r
1810 return getRuleContext<TocParser::VarInitContext>(0);
\r
1813 std::vector<TocParser::ExprContext *> TocParser::ForStmtContext::expr() {
\r
1814 return getRuleContexts<TocParser::ExprContext>();
\r
1817 TocParser::ExprContext* TocParser::ForStmtContext::expr(size_t i) {
\r
1818 return getRuleContext<TocParser::ExprContext>(i);
\r
1821 TocParser::BodyContext* TocParser::ForStmtContext::body() {
\r
1822 return getRuleContext<TocParser::BodyContext>(0);
\r
1826 size_t TocParser::ForStmtContext::getRuleIndex() const {
\r
1827 return TocParser::RuleForStmt;
\r
1831 TocParser::ForStmtContext* TocParser::forStmt() {
\r
1832 ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());
\r
1833 enterRule(_localctx, 54, TocParser::RuleForStmt);
\r
1835 #if __cplusplus > 201703L
\r
1836 auto onExit = finally([=, this] {
\r
1838 auto onExit = finally([=] {
\r
1843 enterOuterAlt(_localctx, 1);
\r
1845 match(TocParser::T__23);
\r
1849 match(TocParser::T__14);
\r
1853 match(TocParser::T__14);
\r
1860 catch (RecognitionException &e) {
\r
1861 _errHandler->reportError(this, e);
\r
1862 _localctx->exception = std::current_exception();
\r
1863 _errHandler->recover(this, _localctx->exception);
\r
1869 //----------------- WhileStmtContext ------------------------------------------------------------------
\r
1871 TocParser::WhileStmtContext::WhileStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1872 : ParserRuleContext(parent, invokingState) {
\r
1875 TocParser::ExprContext* TocParser::WhileStmtContext::expr() {
\r
1876 return getRuleContext<TocParser::ExprContext>(0);
\r
1879 TocParser::BodyContext* TocParser::WhileStmtContext::body() {
\r
1880 return getRuleContext<TocParser::BodyContext>(0);
\r
1884 size_t TocParser::WhileStmtContext::getRuleIndex() const {
\r
1885 return TocParser::RuleWhileStmt;
\r
1889 TocParser::WhileStmtContext* TocParser::whileStmt() {
\r
1890 WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());
\r
1891 enterRule(_localctx, 56, TocParser::RuleWhileStmt);
\r
1893 #if __cplusplus > 201703L
\r
1894 auto onExit = finally([=, this] {
\r
1896 auto onExit = finally([=] {
\r
1901 enterOuterAlt(_localctx, 1);
\r
1903 match(TocParser::T__24);
\r
1910 catch (RecognitionException &e) {
\r
1911 _errHandler->reportError(this, e);
\r
1912 _localctx->exception = std::current_exception();
\r
1913 _errHandler->recover(this, _localctx->exception);
\r
1919 //----------------- AssignStmtContext ------------------------------------------------------------------
\r
1921 TocParser::AssignStmtContext::AssignStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1922 : ParserRuleContext(parent, invokingState) {
\r
1925 std::vector<TocParser::ExprContext *> TocParser::AssignStmtContext::expr() {
\r
1926 return getRuleContexts<TocParser::ExprContext>();
\r
1929 TocParser::ExprContext* TocParser::AssignStmtContext::expr(size_t i) {
\r
1930 return getRuleContext<TocParser::ExprContext>(i);
\r
1934 size_t TocParser::AssignStmtContext::getRuleIndex() const {
\r
1935 return TocParser::RuleAssignStmt;
\r
1939 TocParser::AssignStmtContext* TocParser::assignStmt() {
\r
1940 AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());
\r
1941 enterRule(_localctx, 58, TocParser::RuleAssignStmt);
\r
1943 #if __cplusplus > 201703L
\r
1944 auto onExit = finally([=, this] {
\r
1946 auto onExit = finally([=] {
\r
1951 enterOuterAlt(_localctx, 1);
\r
1955 match(TocParser::T__6);
\r
1960 catch (RecognitionException &e) {
\r
1961 _errHandler->reportError(this, e);
\r
1962 _localctx->exception = std::current_exception();
\r
1963 _errHandler->recover(this, _localctx->exception);
\r
1969 //----------------- ReturnStmtContext ------------------------------------------------------------------
\r
1971 TocParser::ReturnStmtContext::ReturnStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1972 : ParserRuleContext(parent, invokingState) {
\r
1975 TocParser::ExprContext* TocParser::ReturnStmtContext::expr() {
\r
1976 return getRuleContext<TocParser::ExprContext>(0);
\r
1980 size_t TocParser::ReturnStmtContext::getRuleIndex() const {
\r
1981 return TocParser::RuleReturnStmt;
\r
1985 TocParser::ReturnStmtContext* TocParser::returnStmt() {
\r
1986 ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());
\r
1987 enterRule(_localctx, 60, TocParser::RuleReturnStmt);
\r
1989 #if __cplusplus > 201703L
\r
1990 auto onExit = finally([=, this] {
\r
1992 auto onExit = finally([=] {
\r
1997 enterOuterAlt(_localctx, 1);
\r
1999 match(TocParser::T__25);
\r
2004 catch (RecognitionException &e) {
\r
2005 _errHandler->reportError(this, e);
\r
2006 _localctx->exception = std::current_exception();
\r
2007 _errHandler->recover(this, _localctx->exception);
\r
2013 //----------------- ExprContext ------------------------------------------------------------------
\r
2015 TocParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2016 : ParserRuleContext(parent, invokingState) {
\r
2020 size_t TocParser::ExprContext::getRuleIndex() const {
\r
2021 return TocParser::RuleExpr;
\r
2024 void TocParser::ExprContext::copyFrom(ExprContext *ctx) {
\r
2025 ParserRuleContext::copyFrom(ctx);
\r
2028 //----------------- DotExprContext ------------------------------------------------------------------
\r
2030 TocParser::ExprContext* TocParser::DotExprContext::expr() {
\r
2031 return getRuleContext<TocParser::ExprContext>(0);
\r
2034 TocParser::VarNameContext* TocParser::DotExprContext::varName() {
\r
2035 return getRuleContext<TocParser::VarNameContext>(0);
\r
2038 TocParser::DotContext* TocParser::DotExprContext::dot() {
\r
2039 return getRuleContext<TocParser::DotContext>(0);
\r
2042 TocParser::ArrowContext* TocParser::DotExprContext::arrow() {
\r
2043 return getRuleContext<TocParser::ArrowContext>(0);
\r
2046 TocParser::DotExprContext::DotExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2049 //----------------- FuncExprContext ------------------------------------------------------------------
\r
2051 TocParser::FuncNameContext* TocParser::FuncExprContext::funcName() {
\r
2052 return getRuleContext<TocParser::FuncNameContext>(0);
\r
2055 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::FuncExprContext::namespaceSpecifier() {
\r
2056 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
2059 TocParser::NamespaceSpecifierContext* TocParser::FuncExprContext::namespaceSpecifier(size_t i) {
\r
2060 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
2063 TocParser::GenericInstantiationContext* TocParser::FuncExprContext::genericInstantiation() {
\r
2064 return getRuleContext<TocParser::GenericInstantiationContext>(0);
\r
2067 std::vector<TocParser::ExprContext *> TocParser::FuncExprContext::expr() {
\r
2068 return getRuleContexts<TocParser::ExprContext>();
\r
2071 TocParser::ExprContext* TocParser::FuncExprContext::expr(size_t i) {
\r
2072 return getRuleContext<TocParser::ExprContext>(i);
\r
2075 TocParser::FuncExprContext::FuncExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2078 //----------------- BracketExprContext ------------------------------------------------------------------
\r
2080 std::vector<TocParser::ExprContext *> TocParser::BracketExprContext::expr() {
\r
2081 return getRuleContexts<TocParser::ExprContext>();
\r
2084 TocParser::ExprContext* TocParser::BracketExprContext::expr(size_t i) {
\r
2085 return getRuleContext<TocParser::ExprContext>(i);
\r
2088 TocParser::BracketExprContext::BracketExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2091 //----------------- PrefixOpExprContext ------------------------------------------------------------------
\r
2093 TocParser::Prefix_opContext* TocParser::PrefixOpExprContext::prefix_op() {
\r
2094 return getRuleContext<TocParser::Prefix_opContext>(0);
\r
2097 TocParser::ExprContext* TocParser::PrefixOpExprContext::expr() {
\r
2098 return getRuleContext<TocParser::ExprContext>(0);
\r
2101 TocParser::PrefixOpExprContext::PrefixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2104 //----------------- MethodExprContext ------------------------------------------------------------------
\r
2106 std::vector<TocParser::ExprContext *> TocParser::MethodExprContext::expr() {
\r
2107 return getRuleContexts<TocParser::ExprContext>();
\r
2110 TocParser::ExprContext* TocParser::MethodExprContext::expr(size_t i) {
\r
2111 return getRuleContext<TocParser::ExprContext>(i);
\r
2114 TocParser::FuncNameContext* TocParser::MethodExprContext::funcName() {
\r
2115 return getRuleContext<TocParser::FuncNameContext>(0);
\r
2118 TocParser::GenericInstantiationContext* TocParser::MethodExprContext::genericInstantiation() {
\r
2119 return getRuleContext<TocParser::GenericInstantiationContext>(0);
\r
2122 TocParser::MethodExprContext::MethodExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2125 //----------------- PostfixOpExprContext ------------------------------------------------------------------
\r
2127 TocParser::ExprContext* TocParser::PostfixOpExprContext::expr() {
\r
2128 return getRuleContext<TocParser::ExprContext>(0);
\r
2131 TocParser::Postfix_opContext* TocParser::PostfixOpExprContext::postfix_op() {
\r
2132 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2135 TocParser::PostfixOpExprContext::PostfixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2138 //----------------- BinaryOpExprContext ------------------------------------------------------------------
\r
2140 std::vector<TocParser::ExprContext *> TocParser::BinaryOpExprContext::expr() {
\r
2141 return getRuleContexts<TocParser::ExprContext>();
\r
2144 TocParser::ExprContext* TocParser::BinaryOpExprContext::expr(size_t i) {
\r
2145 return getRuleContext<TocParser::ExprContext>(i);
\r
2148 TocParser::Binary_opContext* TocParser::BinaryOpExprContext::binary_op() {
\r
2149 return getRuleContext<TocParser::Binary_opContext>(0);
\r
2152 TocParser::BinaryOpExprContext::BinaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2155 //----------------- TernaryOpExprContext ------------------------------------------------------------------
\r
2157 std::vector<TocParser::ExprContext *> TocParser::TernaryOpExprContext::expr() {
\r
2158 return getRuleContexts<TocParser::ExprContext>();
\r
2161 TocParser::ExprContext* TocParser::TernaryOpExprContext::expr(size_t i) {
\r
2162 return getRuleContext<TocParser::ExprContext>(i);
\r
2165 TocParser::TernaryOpExprContext::TernaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2168 //----------------- LitExprContext ------------------------------------------------------------------
\r
2170 TocParser::LiteralContext* TocParser::LitExprContext::literal() {
\r
2171 return getRuleContext<TocParser::LiteralContext>(0);
\r
2174 TocParser::LitExprContext::LitExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2177 //----------------- ParenExprContext ------------------------------------------------------------------
\r
2179 TocParser::ExprContext* TocParser::ParenExprContext::expr() {
\r
2180 return getRuleContext<TocParser::ExprContext>(0);
\r
2183 TocParser::ParenExprContext::ParenExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2186 //----------------- IdentifierExprContext ------------------------------------------------------------------
\r
2188 TocParser::VarNameContext* TocParser::IdentifierExprContext::varName() {
\r
2189 return getRuleContext<TocParser::VarNameContext>(0);
\r
2192 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::IdentifierExprContext::namespaceSpecifier() {
\r
2193 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
2196 TocParser::NamespaceSpecifierContext* TocParser::IdentifierExprContext::namespaceSpecifier(size_t i) {
\r
2197 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
2200 TocParser::IdentifierExprContext::IdentifierExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2204 TocParser::ExprContext* TocParser::expr() {
\r
2208 TocParser::ExprContext* TocParser::expr(int precedence) {
\r
2209 ParserRuleContext *parentContext = _ctx;
\r
2210 size_t parentState = getState();
\r
2211 TocParser::ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, parentState);
\r
2212 TocParser::ExprContext *previousContext = _localctx;
\r
2213 (void)previousContext; // Silence compiler, in case the context is not used by generated code.
\r
2214 size_t startState = 62;
\r
2215 enterRecursionRule(_localctx, 62, TocParser::RuleExpr, precedence);
\r
2219 #if __cplusplus > 201703L
\r
2220 auto onExit = finally([=, this] {
\r
2222 auto onExit = finally([=] {
\r
2224 unrollRecursionContexts(parentContext);
\r
2228 enterOuterAlt(_localctx, 1);
\r
2230 _errHandler->sync(this);
\r
2231 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 29, _ctx)) {
\r
2233 _localctx = _tracker.createInstance<FuncExprContext>(_localctx);
\r
2235 previousContext = _localctx;
\r
2238 _errHandler->sync(this);
\r
2239 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 24, _ctx);
\r
2240 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2243 namespaceSpecifier();
\r
2246 _errHandler->sync(this);
\r
2247 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 24, _ctx);
\r
2252 _errHandler->sync(this);
\r
2254 _la = _input->LA(1);
\r
2255 if (_la == TocParser::T__17) {
\r
2257 genericInstantiation();
\r
2260 match(TocParser::T__12);
\r
2262 _errHandler->sync(this);
\r
2264 _la = _input->LA(1);
\r
2265 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2266 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2267 | (1ULL << TocParser::T__12)
\r
2268 | (1ULL << TocParser::T__29)
\r
2269 | (1ULL << TocParser::T__30)
\r
2270 | (1ULL << TocParser::T__31)
\r
2271 | (1ULL << TocParser::T__32)
\r
2272 | (1ULL << TocParser::T__33)
\r
2273 | (1ULL << TocParser::T__34)
\r
2274 | (1ULL << TocParser::T__35)
\r
2275 | (1ULL << TocParser::INT_LIT)
\r
2276 | (1ULL << TocParser::DECIMAL_LIT)
\r
2277 | (1ULL << TocParser::BOOL_LIT)
\r
2278 | (1ULL << TocParser::StringLit)
\r
2279 | (1ULL << TocParser::NAME))) != 0)) {
\r
2283 _errHandler->sync(this);
\r
2284 _la = _input->LA(1);
\r
2285 while (_la == TocParser::T__14) {
\r
2287 match(TocParser::T__14);
\r
2291 _errHandler->sync(this);
\r
2292 _la = _input->LA(1);
\r
2296 match(TocParser::T__13);
\r
2301 _localctx = _tracker.createInstance<LitExprContext>(_localctx);
\r
2303 previousContext = _localctx;
\r
2310 _localctx = _tracker.createInstance<ParenExprContext>(_localctx);
\r
2312 previousContext = _localctx;
\r
2314 match(TocParser::T__12);
\r
2318 match(TocParser::T__13);
\r
2323 _localctx = _tracker.createInstance<PrefixOpExprContext>(_localctx);
\r
2325 previousContext = _localctx;
\r
2334 _localctx = _tracker.createInstance<IdentifierExprContext>(_localctx);
\r
2336 previousContext = _localctx;
\r
2338 _errHandler->sync(this);
\r
2339 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 28, _ctx);
\r
2340 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2343 namespaceSpecifier();
\r
2346 _errHandler->sync(this);
\r
2347 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 28, _ctx);
\r
2357 _ctx->stop = _input->LT(-1);
\r
2359 _errHandler->sync(this);
\r
2360 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 35, _ctx);
\r
2361 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2363 if (!_parseListeners.empty())
\r
2364 triggerExitRuleEvent();
\r
2365 previousContext = _localctx;
\r
2367 _errHandler->sync(this);
\r
2368 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 34, _ctx)) {
\r
2370 auto newContext = _tracker.createInstance<BinaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2371 _localctx = newContext;
\r
2372 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2375 if (!(precpred(_ctx, 4))) throw FailedPredicateException(this, "precpred(_ctx, 4)");
\r
2384 auto newContext = _tracker.createInstance<TernaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2385 _localctx = newContext;
\r
2386 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2389 if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)");
\r
2391 match(TocParser::T__27);
\r
2395 match(TocParser::T__5);
\r
2402 auto newContext = _tracker.createInstance<MethodExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2403 _localctx = newContext;
\r
2404 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2407 if (!(precpred(_ctx, 10))) throw FailedPredicateException(this, "precpred(_ctx, 10)");
\r
2409 match(TocParser::T__26);
\r
2413 _errHandler->sync(this);
\r
2415 _la = _input->LA(1);
\r
2416 if (_la == TocParser::T__17) {
\r
2418 genericInstantiation();
\r
2421 match(TocParser::T__12);
\r
2423 _errHandler->sync(this);
\r
2425 _la = _input->LA(1);
\r
2426 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2427 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2428 | (1ULL << TocParser::T__12)
\r
2429 | (1ULL << TocParser::T__29)
\r
2430 | (1ULL << TocParser::T__30)
\r
2431 | (1ULL << TocParser::T__31)
\r
2432 | (1ULL << TocParser::T__32)
\r
2433 | (1ULL << TocParser::T__33)
\r
2434 | (1ULL << TocParser::T__34)
\r
2435 | (1ULL << TocParser::T__35)
\r
2436 | (1ULL << TocParser::INT_LIT)
\r
2437 | (1ULL << TocParser::DECIMAL_LIT)
\r
2438 | (1ULL << TocParser::BOOL_LIT)
\r
2439 | (1ULL << TocParser::StringLit)
\r
2440 | (1ULL << TocParser::NAME))) != 0)) {
\r
2444 _errHandler->sync(this);
\r
2445 _la = _input->LA(1);
\r
2446 while (_la == TocParser::T__14) {
\r
2448 match(TocParser::T__14);
\r
2452 _errHandler->sync(this);
\r
2453 _la = _input->LA(1);
\r
2457 match(TocParser::T__13);
\r
2462 auto newContext = _tracker.createInstance<DotExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2463 _localctx = newContext;
\r
2464 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2467 if (!(precpred(_ctx, 7))) throw FailedPredicateException(this, "precpred(_ctx, 7)");
\r
2469 _errHandler->sync(this);
\r
2470 switch (_input->LA(1)) {
\r
2471 case TocParser::T__26: {
\r
2477 case TocParser::T__28: {
\r
2484 throw NoViableAltException(this);
\r
2492 auto newContext = _tracker.createInstance<PostfixOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2493 _localctx = newContext;
\r
2494 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2497 if (!(precpred(_ctx, 5))) throw FailedPredicateException(this, "precpred(_ctx, 5)");
\r
2504 auto newContext = _tracker.createInstance<BracketExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2505 _localctx = newContext;
\r
2506 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2509 if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)");
\r
2511 match(TocParser::T__8);
\r
2515 match(TocParser::T__9);
\r
2524 _errHandler->sync(this);
\r
2525 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 35, _ctx);
\r
2528 catch (RecognitionException &e) {
\r
2529 _errHandler->reportError(this, e);
\r
2530 _localctx->exception = std::current_exception();
\r
2531 _errHandler->recover(this, _localctx->exception);
\r
2536 //----------------- DotContext ------------------------------------------------------------------
\r
2538 TocParser::DotContext::DotContext(ParserRuleContext *parent, size_t invokingState)
\r
2539 : ParserRuleContext(parent, invokingState) {
\r
2543 size_t TocParser::DotContext::getRuleIndex() const {
\r
2544 return TocParser::RuleDot;
\r
2548 TocParser::DotContext* TocParser::dot() {
\r
2549 DotContext *_localctx = _tracker.createInstance<DotContext>(_ctx, getState());
\r
2550 enterRule(_localctx, 64, TocParser::RuleDot);
\r
2552 #if __cplusplus > 201703L
\r
2553 auto onExit = finally([=, this] {
\r
2555 auto onExit = finally([=] {
\r
2560 enterOuterAlt(_localctx, 1);
\r
2562 match(TocParser::T__26);
\r
2565 catch (RecognitionException &e) {
\r
2566 _errHandler->reportError(this, e);
\r
2567 _localctx->exception = std::current_exception();
\r
2568 _errHandler->recover(this, _localctx->exception);
\r
2574 //----------------- ArrowContext ------------------------------------------------------------------
\r
2576 TocParser::ArrowContext::ArrowContext(ParserRuleContext *parent, size_t invokingState)
\r
2577 : ParserRuleContext(parent, invokingState) {
\r
2581 size_t TocParser::ArrowContext::getRuleIndex() const {
\r
2582 return TocParser::RuleArrow;
\r
2586 TocParser::ArrowContext* TocParser::arrow() {
\r
2587 ArrowContext *_localctx = _tracker.createInstance<ArrowContext>(_ctx, getState());
\r
2588 enterRule(_localctx, 66, TocParser::RuleArrow);
\r
2590 #if __cplusplus > 201703L
\r
2591 auto onExit = finally([=, this] {
\r
2593 auto onExit = finally([=] {
\r
2598 enterOuterAlt(_localctx, 1);
\r
2600 match(TocParser::T__28);
\r
2603 catch (RecognitionException &e) {
\r
2604 _errHandler->reportError(this, e);
\r
2605 _localctx->exception = std::current_exception();
\r
2606 _errHandler->recover(this, _localctx->exception);
\r
2612 //----------------- LiteralContext ------------------------------------------------------------------
\r
2614 TocParser::LiteralContext::LiteralContext(ParserRuleContext *parent, size_t invokingState)
\r
2615 : ParserRuleContext(parent, invokingState) {
\r
2618 tree::TerminalNode* TocParser::LiteralContext::INT_LIT() {
\r
2619 return getToken(TocParser::INT_LIT, 0);
\r
2622 tree::TerminalNode* TocParser::LiteralContext::DECIMAL_LIT() {
\r
2623 return getToken(TocParser::DECIMAL_LIT, 0);
\r
2626 tree::TerminalNode* TocParser::LiteralContext::StringLit() {
\r
2627 return getToken(TocParser::StringLit, 0);
\r
2630 tree::TerminalNode* TocParser::LiteralContext::BOOL_LIT() {
\r
2631 return getToken(TocParser::BOOL_LIT, 0);
\r
2635 size_t TocParser::LiteralContext::getRuleIndex() const {
\r
2636 return TocParser::RuleLiteral;
\r
2640 TocParser::LiteralContext* TocParser::literal() {
\r
2641 LiteralContext *_localctx = _tracker.createInstance<LiteralContext>(_ctx, getState());
\r
2642 enterRule(_localctx, 68, TocParser::RuleLiteral);
\r
2645 #if __cplusplus > 201703L
\r
2646 auto onExit = finally([=, this] {
\r
2648 auto onExit = finally([=] {
\r
2653 enterOuterAlt(_localctx, 1);
\r
2655 _la = _input->LA(1);
\r
2656 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2657 ((1ULL << _la) & ((1ULL << TocParser::INT_LIT)
\r
2658 | (1ULL << TocParser::DECIMAL_LIT)
\r
2659 | (1ULL << TocParser::BOOL_LIT)
\r
2660 | (1ULL << TocParser::StringLit))) != 0))) {
\r
2661 _errHandler->recoverInline(this);
\r
2664 _errHandler->reportMatch(this);
\r
2669 catch (RecognitionException &e) {
\r
2670 _errHandler->reportError(this, e);
\r
2671 _localctx->exception = std::current_exception();
\r
2672 _errHandler->recover(this, _localctx->exception);
\r
2678 //----------------- FuncNameContext ------------------------------------------------------------------
\r
2680 TocParser::FuncNameContext::FuncNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2681 : ParserRuleContext(parent, invokingState) {
\r
2684 tree::TerminalNode* TocParser::FuncNameContext::NAME() {
\r
2685 return getToken(TocParser::NAME, 0);
\r
2689 size_t TocParser::FuncNameContext::getRuleIndex() const {
\r
2690 return TocParser::RuleFuncName;
\r
2694 TocParser::FuncNameContext* TocParser::funcName() {
\r
2695 FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());
\r
2696 enterRule(_localctx, 70, TocParser::RuleFuncName);
\r
2698 #if __cplusplus > 201703L
\r
2699 auto onExit = finally([=, this] {
\r
2701 auto onExit = finally([=] {
\r
2706 enterOuterAlt(_localctx, 1);
\r
2708 match(TocParser::NAME);
\r
2711 catch (RecognitionException &e) {
\r
2712 _errHandler->reportError(this, e);
\r
2713 _localctx->exception = std::current_exception();
\r
2714 _errHandler->recover(this, _localctx->exception);
\r
2720 //----------------- VarNameContext ------------------------------------------------------------------
\r
2722 TocParser::VarNameContext::VarNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2723 : ParserRuleContext(parent, invokingState) {
\r
2726 tree::TerminalNode* TocParser::VarNameContext::NAME() {
\r
2727 return getToken(TocParser::NAME, 0);
\r
2731 size_t TocParser::VarNameContext::getRuleIndex() const {
\r
2732 return TocParser::RuleVarName;
\r
2736 TocParser::VarNameContext* TocParser::varName() {
\r
2737 VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());
\r
2738 enterRule(_localctx, 72, TocParser::RuleVarName);
\r
2740 #if __cplusplus > 201703L
\r
2741 auto onExit = finally([=, this] {
\r
2743 auto onExit = finally([=] {
\r
2748 enterOuterAlt(_localctx, 1);
\r
2750 match(TocParser::NAME);
\r
2753 catch (RecognitionException &e) {
\r
2754 _errHandler->reportError(this, e);
\r
2755 _localctx->exception = std::current_exception();
\r
2756 _errHandler->recover(this, _localctx->exception);
\r
2762 //----------------- TypeNameContext ------------------------------------------------------------------
\r
2764 TocParser::TypeNameContext::TypeNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2765 : ParserRuleContext(parent, invokingState) {
\r
2768 tree::TerminalNode* TocParser::TypeNameContext::NAME() {
\r
2769 return getToken(TocParser::NAME, 0);
\r
2773 size_t TocParser::TypeNameContext::getRuleIndex() const {
\r
2774 return TocParser::RuleTypeName;
\r
2778 TocParser::TypeNameContext* TocParser::typeName() {
\r
2779 TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());
\r
2780 enterRule(_localctx, 74, TocParser::RuleTypeName);
\r
2782 #if __cplusplus > 201703L
\r
2783 auto onExit = finally([=, this] {
\r
2785 auto onExit = finally([=] {
\r
2790 enterOuterAlt(_localctx, 1);
\r
2792 match(TocParser::NAME);
\r
2795 catch (RecognitionException &e) {
\r
2796 _errHandler->reportError(this, e);
\r
2797 _localctx->exception = std::current_exception();
\r
2798 _errHandler->recover(this, _localctx->exception);
\r
2804 //----------------- StructNameContext ------------------------------------------------------------------
\r
2806 TocParser::StructNameContext::StructNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2807 : ParserRuleContext(parent, invokingState) {
\r
2810 tree::TerminalNode* TocParser::StructNameContext::NAME() {
\r
2811 return getToken(TocParser::NAME, 0);
\r
2815 size_t TocParser::StructNameContext::getRuleIndex() const {
\r
2816 return TocParser::RuleStructName;
\r
2820 TocParser::StructNameContext* TocParser::structName() {
\r
2821 StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());
\r
2822 enterRule(_localctx, 76, TocParser::RuleStructName);
\r
2824 #if __cplusplus > 201703L
\r
2825 auto onExit = finally([=, this] {
\r
2827 auto onExit = finally([=] {
\r
2832 enterOuterAlt(_localctx, 1);
\r
2834 match(TocParser::NAME);
\r
2837 catch (RecognitionException &e) {
\r
2838 _errHandler->reportError(this, e);
\r
2839 _localctx->exception = std::current_exception();
\r
2840 _errHandler->recover(this, _localctx->exception);
\r
2846 //----------------- Postfix_opContext ------------------------------------------------------------------
\r
2848 TocParser::Postfix_opContext::Postfix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2849 : ParserRuleContext(parent, invokingState) {
\r
2853 size_t TocParser::Postfix_opContext::getRuleIndex() const {
\r
2854 return TocParser::RulePostfix_op;
\r
2858 TocParser::Postfix_opContext* TocParser::postfix_op() {
\r
2859 Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());
\r
2860 enterRule(_localctx, 78, TocParser::RulePostfix_op);
\r
2863 #if __cplusplus > 201703L
\r
2864 auto onExit = finally([=, this] {
\r
2866 auto onExit = finally([=] {
\r
2871 enterOuterAlt(_localctx, 1);
\r
2873 _la = _input->LA(1);
\r
2874 if (!(_la == TocParser::T__29
\r
2876 || _la == TocParser::T__30)) {
\r
2877 _errHandler->recoverInline(this);
\r
2880 _errHandler->reportMatch(this);
\r
2885 catch (RecognitionException &e) {
\r
2886 _errHandler->reportError(this, e);
\r
2887 _localctx->exception = std::current_exception();
\r
2888 _errHandler->recover(this, _localctx->exception);
\r
2894 //----------------- Prefix_opContext ------------------------------------------------------------------
\r
2896 TocParser::Prefix_opContext::Prefix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2897 : ParserRuleContext(parent, invokingState) {
\r
2900 TocParser::Postfix_opContext* TocParser::Prefix_opContext::postfix_op() {
\r
2901 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2905 size_t TocParser::Prefix_opContext::getRuleIndex() const {
\r
2906 return TocParser::RulePrefix_op;
\r
2910 TocParser::Prefix_opContext* TocParser::prefix_op() {
\r
2911 Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());
\r
2912 enterRule(_localctx, 80, TocParser::RulePrefix_op);
\r
2914 #if __cplusplus > 201703L
\r
2915 auto onExit = finally([=, this] {
\r
2917 auto onExit = finally([=] {
\r
2923 _errHandler->sync(this);
\r
2924 switch (_input->LA(1)) {
\r
2925 case TocParser::T__31: {
\r
2926 enterOuterAlt(_localctx, 1);
\r
2928 match(TocParser::T__31);
\r
2932 case TocParser::T__32: {
\r
2933 enterOuterAlt(_localctx, 2);
\r
2935 match(TocParser::T__32);
\r
2939 case TocParser::T__33: {
\r
2940 enterOuterAlt(_localctx, 3);
\r
2942 match(TocParser::T__33);
\r
2946 case TocParser::T__34: {
\r
2947 enterOuterAlt(_localctx, 4);
\r
2949 match(TocParser::T__34);
\r
2953 case TocParser::T__35: {
\r
2954 enterOuterAlt(_localctx, 5);
\r
2956 match(TocParser::T__35);
\r
2960 case TocParser::T__7: {
\r
2961 enterOuterAlt(_localctx, 6);
\r
2963 match(TocParser::T__7);
\r
2967 case TocParser::T__29:
\r
2968 case TocParser::T__30: {
\r
2969 enterOuterAlt(_localctx, 7);
\r
2976 throw NoViableAltException(this);
\r
2980 catch (RecognitionException &e) {
\r
2981 _errHandler->reportError(this, e);
\r
2982 _localctx->exception = std::current_exception();
\r
2983 _errHandler->recover(this, _localctx->exception);
\r
2989 //----------------- Binary_opContext ------------------------------------------------------------------
\r
2991 TocParser::Binary_opContext::Binary_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2992 : ParserRuleContext(parent, invokingState) {
\r
2996 size_t TocParser::Binary_opContext::getRuleIndex() const {
\r
2997 return TocParser::RuleBinary_op;
\r
3001 TocParser::Binary_opContext* TocParser::binary_op() {
\r
3002 Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());
\r
3003 enterRule(_localctx, 82, TocParser::RuleBinary_op);
\r
3006 #if __cplusplus > 201703L
\r
3007 auto onExit = finally([=, this] {
\r
3009 auto onExit = finally([=] {
\r
3014 enterOuterAlt(_localctx, 1);
\r
3016 _la = _input->LA(1);
\r
3017 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
3018 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
3019 | (1ULL << TocParser::T__17)
\r
3020 | (1ULL << TocParser::T__18)
\r
3021 | (1ULL << TocParser::T__31)
\r
3022 | (1ULL << TocParser::T__32)
\r
3023 | (1ULL << TocParser::T__35)
\r
3024 | (1ULL << TocParser::T__36)
\r
3025 | (1ULL << TocParser::T__37)
\r
3026 | (1ULL << TocParser::T__38)
\r
3027 | (1ULL << TocParser::T__39)
\r
3028 | (1ULL << TocParser::T__40)
\r
3029 | (1ULL << TocParser::T__41)
\r
3030 | (1ULL << TocParser::T__42)
\r
3031 | (1ULL << TocParser::T__43)
\r
3032 | (1ULL << TocParser::T__44)
\r
3033 | (1ULL << TocParser::T__45)
\r
3034 | (1ULL << TocParser::T__46)
\r
3035 | (1ULL << TocParser::T__47)
\r
3036 | (1ULL << TocParser::T__48)
\r
3037 | (1ULL << TocParser::T__49)
\r
3038 | (1ULL << TocParser::T__50)
\r
3039 | (1ULL << TocParser::T__51)
\r
3040 | (1ULL << TocParser::T__52)
\r
3041 | (1ULL << TocParser::T__53)
\r
3042 | (1ULL << TocParser::T__54)
\r
3043 | (1ULL << TocParser::T__55)
\r
3044 | (1ULL << TocParser::T__56)
\r
3045 | (1ULL << TocParser::T__57))) != 0))) {
\r
3046 _errHandler->recoverInline(this);
\r
3049 _errHandler->reportMatch(this);
\r
3054 catch (RecognitionException &e) {
\r
3055 _errHandler->reportError(this, e);
\r
3056 _localctx->exception = std::current_exception();
\r
3057 _errHandler->recover(this, _localctx->exception);
\r
3063 bool TocParser::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) {
\r
3064 switch (ruleIndex) {
\r
3065 case 31: return exprSempred(dynamic_cast<ExprContext *>(context), predicateIndex);
\r
3073 bool TocParser::exprSempred(ExprContext *_localctx, size_t predicateIndex) {
\r
3074 switch (predicateIndex) {
\r
3075 case 0: return precpred(_ctx, 4);
\r
3076 case 1: return precpred(_ctx, 3);
\r
3077 case 2: return precpred(_ctx, 10);
\r
3078 case 3: return precpred(_ctx, 7);
\r
3079 case 4: return precpred(_ctx, 5);
\r
3080 case 5: return precpred(_ctx, 2);
\r
3088 // Static vars and initialization.
\r
3089 std::vector<dfa::DFA> TocParser::_decisionToDFA;
\r
3090 atn::PredictionContextCache TocParser::_sharedContextCache;
\r
3092 // We own the ATN which in turn owns the ATN states.
\r
3093 atn::ATN TocParser::_atn;
\r
3094 std::vector<uint16_t> TocParser::_serializedATN;
\r
3096 std::vector<std::string> TocParser::_ruleNames = {
\r
3097 "prog", "decl", "namespaceDecl", "varDecl", "var", "varInit", "type",
\r
3098 "typeModifier", "namespaceSpecifier", "funcDecl", "func", "parameter",
\r
3099 "body", "structDecl", "structMember", "structVar", "structMethod", "privateDecl",
\r
3100 "genericDecl", "genericInstantiation", "stmt", "ifStmt", "elseIfStmt",
\r
3101 "elseStmt", "switchStmt", "switchBody", "switchCase", "forStmt", "whileStmt",
\r
3102 "assignStmt", "returnStmt", "expr", "dot", "arrow", "literal", "funcName",
\r
3103 "varName", "typeName", "structName", "postfix_op", "prefix_op", "binary_op"
\r
3106 std::vector<std::string> TocParser::_literalNames = {
\r
3107 "", "';'", "'namespace'", "'{'", "'}'", "'var'", "':'", "'='", "'*'",
\r
3108 "'['", "']'", "'::'", "'func'", "'('", "')'", "','", "'struct'", "'private'",
\r
3109 "'<'", "'>'", "'if'", "'else'", "'switch'", "'case'", "'for'", "'while'",
\r
3110 "'return'", "'.'", "'\u003F'", "'->'", "'++'", "'--'", "'+'", "'-'", "'!'",
\r
3111 "'~'", "'&'", "'/'", "'%'", "'|'", "'^'", "'=='", "'!='", "'<='", "'>='",
\r
3112 "'<<'", "'>>'", "'||'", "'&&'", "'&='", "'|='", "'^='", "'<<='", "'>>='",
\r
3113 "'+='", "'-='", "'*='", "'/='", "'%='"
\r
3116 std::vector<std::string> TocParser::_symbolicNames = {
\r
3117 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3118 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3119 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3120 "", "", "", "", "", "INT_LIT", "DECIMAL_LIT", "BOOL_LIT", "StringLit",
\r
3121 "NAME", "WS", "NEWLINE"
\r
3124 dfa::Vocabulary TocParser::_vocabulary(_literalNames, _symbolicNames);
\r
3126 std::vector<std::string> TocParser::_tokenNames;
\r
3128 TocParser::Initializer::Initializer() {
\r
3129 for (size_t i = 0; i < _symbolicNames.size(); ++i) {
\r
3130 std::string name = _vocabulary.getLiteralName(i);
\r
3131 if (name.empty()) {
\r
3132 name = _vocabulary.getSymbolicName(i);
\r
3135 if (name.empty()) {
\r
3136 _tokenNames.push_back("<INVALID>");
\r
3138 _tokenNames.push_back(name);
\r
3142 static const uint16_t serializedATNSegment0[] = {
\r
3143 0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
\r
3144 0x3, 0x43, 0x1b2, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
\r
3145 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
\r
3146 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
\r
3147 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
\r
3148 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
\r
3149 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
\r
3150 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
\r
3151 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
\r
3152 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
\r
3153 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
\r
3154 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x4, 0x23,
\r
3155 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25, 0x4, 0x26,
\r
3156 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 0x4, 0x29,
\r
3157 0x9, 0x29, 0x4, 0x2a, 0x9, 0x2a, 0x4, 0x2b, 0x9, 0x2b, 0x3, 0x2,
\r
3158 0x6, 0x2, 0x58, 0xa, 0x2, 0xd, 0x2, 0xe, 0x2, 0x59, 0x3, 0x2, 0x3,
\r
3159 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
\r
3160 0x5, 0x3, 0x64, 0xa, 0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4,
\r
3161 0x7, 0x4, 0x6a, 0xa, 0x4, 0xc, 0x4, 0xe, 0x4, 0x6d, 0xb, 0x4, 0x3,
\r
3162 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x6, 0x3, 0x6,
\r
3163 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x5, 0x6, 0x7a, 0xa, 0x6,
\r
3164 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3,
\r
3165 0x7, 0x3, 0x8, 0x7, 0x8, 0x84, 0xa, 0x8, 0xc, 0x8, 0xe, 0x8, 0x87,
\r
3166 0xb, 0x8, 0x3, 0x8, 0x3, 0x8, 0x5, 0x8, 0x8b, 0xa, 0x8, 0x3, 0x8,
\r
3167 0x7, 0x8, 0x8e, 0xa, 0x8, 0xc, 0x8, 0xe, 0x8, 0x91, 0xb, 0x8, 0x3,
\r
3168 0x9, 0x3, 0x9, 0x3, 0x9, 0x5, 0x9, 0x96, 0xa, 0x9, 0x3, 0x9, 0x5,
\r
3169 0x9, 0x99, 0xa, 0x9, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xb, 0x3,
\r
3170 0xb, 0x3, 0xb, 0x3, 0xc, 0x3, 0xc, 0x5, 0xc, 0xa3, 0xa, 0xc, 0x3,
\r
3171 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc,
\r
3172 0x3, 0xc, 0x5, 0xc, 0xad, 0xa, 0xc, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd,
\r
3173 0x7, 0xd, 0xb2, 0xa, 0xd, 0xc, 0xd, 0xe, 0xd, 0xb5, 0xb, 0xd, 0x5,
\r
3174 0xd, 0xb7, 0xa, 0xd, 0x3, 0xe, 0x3, 0xe, 0x7, 0xe, 0xbb, 0xa, 0xe,
\r
3175 0xc, 0xe, 0xe, 0xe, 0xbe, 0xb, 0xe, 0x3, 0xe, 0x3, 0xe, 0x3, 0xf,
\r
3176 0x3, 0xf, 0x3, 0xf, 0x5, 0xf, 0xc5, 0xa, 0xf, 0x3, 0xf, 0x3, 0xf,
\r
3177 0x7, 0xf, 0xc9, 0xa, 0xf, 0xc, 0xf, 0xe, 0xf, 0xcc, 0xb, 0xf, 0x3,
\r
3178 0xf, 0x3, 0xf, 0x3, 0x10, 0x5, 0x10, 0xd1, 0xa, 0x10, 0x3, 0x10,
\r
3179 0x3, 0x10, 0x5, 0x10, 0xd5, 0xa, 0x10, 0x3, 0x11, 0x3, 0x11, 0x3,
\r
3180 0x11, 0x3, 0x12, 0x3, 0x12, 0x3, 0x13, 0x3, 0x13, 0x3, 0x14, 0x3,
\r
3181 0x14, 0x3, 0x14, 0x3, 0x14, 0x7, 0x14, 0xe2, 0xa, 0x14, 0xc, 0x14,
\r
3182 0xe, 0x14, 0xe5, 0xb, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x15, 0x3,
\r
3183 0x15, 0x3, 0x15, 0x3, 0x15, 0x7, 0x15, 0xed, 0xa, 0x15, 0xc, 0x15,
\r
3184 0xe, 0x15, 0xf0, 0xb, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x16, 0x3,
\r
3185 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3,
\r
3186 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3,
\r
3187 0x16, 0x3, 0x16, 0x3, 0x16, 0x5, 0x16, 0x104, 0xa, 0x16, 0x3, 0x17,
\r
3188 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x7, 0x17, 0x10a, 0xa, 0x17, 0xc,
\r
3189 0x17, 0xe, 0x17, 0x10d, 0xb, 0x17, 0x3, 0x17, 0x5, 0x17, 0x110, 0xa,
\r
3190 0x17, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3,
\r
3191 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3,
\r
3192 0x1a, 0x3, 0x1b, 0x3, 0x1b, 0x7, 0x1b, 0x120, 0xa, 0x1b, 0xc, 0x1b,
\r
3193 0xe, 0x1b, 0x123, 0xb, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3,
\r
3194 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3,
\r
3195 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1e, 0x3,
\r
3196 0x1e, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x3,
\r
3197 0x1f, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x21, 0x3, 0x21, 0x7,
\r
3198 0x21, 0x140, 0xa, 0x21, 0xc, 0x21, 0xe, 0x21, 0x143, 0xb, 0x21, 0x3,
\r
3199 0x21, 0x3, 0x21, 0x5, 0x21, 0x147, 0xa, 0x21, 0x3, 0x21, 0x3, 0x21,
\r
3200 0x3, 0x21, 0x3, 0x21, 0x7, 0x21, 0x14d, 0xa, 0x21, 0xc, 0x21, 0xe,
\r
3201 0x21, 0x150, 0xb, 0x21, 0x5, 0x21, 0x152, 0xa, 0x21, 0x3, 0x21, 0x3,
\r
3202 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3,
\r
3203 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x7, 0x21, 0x15f, 0xa, 0x21,
\r
3204 0xc, 0x21, 0xe, 0x21, 0x162, 0xb, 0x21, 0x3, 0x21, 0x5, 0x21, 0x165,
\r
3205 0xa, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21,
\r
3206 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21,
\r
3207 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x5, 0x21, 0x175, 0xa, 0x21, 0x3,
\r
3208 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x7, 0x21, 0x17b, 0xa, 0x21,
\r
3209 0xc, 0x21, 0xe, 0x21, 0x17e, 0xb, 0x21, 0x5, 0x21, 0x180, 0xa, 0x21,
\r
3210 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x5, 0x21,
\r
3211 0x187, 0xa, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3,
\r
3212 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x7, 0x21, 0x192,
\r
3213 0xa, 0x21, 0xc, 0x21, 0xe, 0x21, 0x195, 0xb, 0x21, 0x3, 0x22, 0x3,
\r
3214 0x22, 0x3, 0x23, 0x3, 0x23, 0x3, 0x24, 0x3, 0x24, 0x3, 0x25, 0x3,
\r
3215 0x25, 0x3, 0x26, 0x3, 0x26, 0x3, 0x27, 0x3, 0x27, 0x3, 0x28, 0x3,
\r
3216 0x28, 0x3, 0x29, 0x3, 0x29, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x3,
\r
3217 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x5, 0x2a, 0x1ae, 0xa, 0x2a,
\r
3218 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x2, 0x3, 0x40, 0x2c, 0x2, 0x4,
\r
3219 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c,
\r
3220 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32,
\r
3221 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48,
\r
3222 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x2, 0x5, 0x3, 0x2, 0x3d, 0x40,
\r
3223 0x3, 0x2, 0x20, 0x21, 0x6, 0x2, 0xa, 0xa, 0x14, 0x15, 0x22, 0x23,
\r
3224 0x26, 0x3c, 0x2, 0x1c0, 0x2, 0x57, 0x3, 0x2, 0x2, 0x2, 0x4, 0x63,
\r
3225 0x3, 0x2, 0x2, 0x2, 0x6, 0x65, 0x3, 0x2, 0x2, 0x2, 0x8, 0x70, 0x3,
\r
3226 0x2, 0x2, 0x2, 0xa, 0x73, 0x3, 0x2, 0x2, 0x2, 0xc, 0x7b, 0x3, 0x2,
\r
3227 0x2, 0x2, 0xe, 0x85, 0x3, 0x2, 0x2, 0x2, 0x10, 0x98, 0x3, 0x2, 0x2,
\r
3228 0x2, 0x12, 0x9a, 0x3, 0x2, 0x2, 0x2, 0x14, 0x9d, 0x3, 0x2, 0x2, 0x2,
\r
3229 0x16, 0xa0, 0x3, 0x2, 0x2, 0x2, 0x18, 0xb6, 0x3, 0x2, 0x2, 0x2, 0x1a,
\r
3230 0xb8, 0x3, 0x2, 0x2, 0x2, 0x1c, 0xc1, 0x3, 0x2, 0x2, 0x2, 0x1e, 0xd4,
\r
3231 0x3, 0x2, 0x2, 0x2, 0x20, 0xd6, 0x3, 0x2, 0x2, 0x2, 0x22, 0xd9, 0x3,
\r
3232 0x2, 0x2, 0x2, 0x24, 0xdb, 0x3, 0x2, 0x2, 0x2, 0x26, 0xdd, 0x3, 0x2,
\r
3233 0x2, 0x2, 0x28, 0xe8, 0x3, 0x2, 0x2, 0x2, 0x2a, 0x103, 0x3, 0x2,
\r
3234 0x2, 0x2, 0x2c, 0x105, 0x3, 0x2, 0x2, 0x2, 0x2e, 0x111, 0x3, 0x2,
\r
3235 0x2, 0x2, 0x30, 0x116, 0x3, 0x2, 0x2, 0x2, 0x32, 0x119, 0x3, 0x2,
\r
3236 0x2, 0x2, 0x34, 0x11d, 0x3, 0x2, 0x2, 0x2, 0x36, 0x126, 0x3, 0x2,
\r
3237 0x2, 0x2, 0x38, 0x12a, 0x3, 0x2, 0x2, 0x2, 0x3a, 0x132, 0x3, 0x2,
\r
3238 0x2, 0x2, 0x3c, 0x136, 0x3, 0x2, 0x2, 0x2, 0x3e, 0x13a, 0x3, 0x2,
\r
3239 0x2, 0x2, 0x40, 0x164, 0x3, 0x2, 0x2, 0x2, 0x42, 0x196, 0x3, 0x2,
\r
3240 0x2, 0x2, 0x44, 0x198, 0x3, 0x2, 0x2, 0x2, 0x46, 0x19a, 0x3, 0x2,
\r
3241 0x2, 0x2, 0x48, 0x19c, 0x3, 0x2, 0x2, 0x2, 0x4a, 0x19e, 0x3, 0x2,
\r
3242 0x2, 0x2, 0x4c, 0x1a0, 0x3, 0x2, 0x2, 0x2, 0x4e, 0x1a2, 0x3, 0x2,
\r
3243 0x2, 0x2, 0x50, 0x1a4, 0x3, 0x2, 0x2, 0x2, 0x52, 0x1ad, 0x3, 0x2,
\r
3244 0x2, 0x2, 0x54, 0x1af, 0x3, 0x2, 0x2, 0x2, 0x56, 0x58, 0x5, 0x4,
\r
3245 0x3, 0x2, 0x57, 0x56, 0x3, 0x2, 0x2, 0x2, 0x58, 0x59, 0x3, 0x2, 0x2,
\r
3246 0x2, 0x59, 0x57, 0x3, 0x2, 0x2, 0x2, 0x59, 0x5a, 0x3, 0x2, 0x2, 0x2,
\r
3247 0x5a, 0x5b, 0x3, 0x2, 0x2, 0x2, 0x5b, 0x5c, 0x7, 0x2, 0x2, 0x3, 0x5c,
\r
3248 0x3, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5e, 0x5, 0x8, 0x5, 0x2, 0x5e, 0x5f,
\r
3249 0x7, 0x3, 0x2, 0x2, 0x5f, 0x64, 0x3, 0x2, 0x2, 0x2, 0x60, 0x64, 0x5,
\r
3250 0x14, 0xb, 0x2, 0x61, 0x64, 0x5, 0x1c, 0xf, 0x2, 0x62, 0x64, 0x5,
\r
3251 0x6, 0x4, 0x2, 0x63, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x63, 0x60, 0x3, 0x2,
\r
3252 0x2, 0x2, 0x63, 0x61, 0x3, 0x2, 0x2, 0x2, 0x63, 0x62, 0x3, 0x2, 0x2,
\r
3253 0x2, 0x64, 0x5, 0x3, 0x2, 0x2, 0x2, 0x65, 0x66, 0x7, 0x4, 0x2, 0x2,
\r
3254 0x66, 0x67, 0x5, 0x4c, 0x27, 0x2, 0x67, 0x6b, 0x7, 0x5, 0x2, 0x2,
\r
3255 0x68, 0x6a, 0x5, 0x4, 0x3, 0x2, 0x69, 0x68, 0x3, 0x2, 0x2, 0x2, 0x6a,
\r
3256 0x6d, 0x3, 0x2, 0x2, 0x2, 0x6b, 0x69, 0x3, 0x2, 0x2, 0x2, 0x6b, 0x6c,
\r
3257 0x3, 0x2, 0x2, 0x2, 0x6c, 0x6e, 0x3, 0x2, 0x2, 0x2, 0x6d, 0x6b, 0x3,
\r
3258 0x2, 0x2, 0x2, 0x6e, 0x6f, 0x7, 0x6, 0x2, 0x2, 0x6f, 0x7, 0x3, 0x2,
\r
3259 0x2, 0x2, 0x70, 0x71, 0x7, 0x7, 0x2, 0x2, 0x71, 0x72, 0x5, 0xa, 0x6,
\r
3260 0x2, 0x72, 0x9, 0x3, 0x2, 0x2, 0x2, 0x73, 0x74, 0x5, 0x4a, 0x26,
\r
3261 0x2, 0x74, 0x75, 0x7, 0x8, 0x2, 0x2, 0x75, 0x76, 0x5, 0xe, 0x8, 0x2,
\r
3262 0x76, 0x79, 0x3, 0x2, 0x2, 0x2, 0x77, 0x78, 0x7, 0x9, 0x2, 0x2, 0x78,
\r
3263 0x7a, 0x5, 0x40, 0x21, 0x2, 0x79, 0x77, 0x3, 0x2, 0x2, 0x2, 0x79,
\r
3264 0x7a, 0x3, 0x2, 0x2, 0x2, 0x7a, 0xb, 0x3, 0x2, 0x2, 0x2, 0x7b, 0x7c,
\r
3265 0x5, 0x4a, 0x26, 0x2, 0x7c, 0x7d, 0x7, 0x8, 0x2, 0x2, 0x7d, 0x7e,
\r
3266 0x5, 0xe, 0x8, 0x2, 0x7e, 0x7f, 0x3, 0x2, 0x2, 0x2, 0x7f, 0x80, 0x7,
\r
3267 0x9, 0x2, 0x2, 0x80, 0x81, 0x5, 0x40, 0x21, 0x2, 0x81, 0xd, 0x3,
\r
3268 0x2, 0x2, 0x2, 0x82, 0x84, 0x5, 0x12, 0xa, 0x2, 0x83, 0x82, 0x3,
\r
3269 0x2, 0x2, 0x2, 0x84, 0x87, 0x3, 0x2, 0x2, 0x2, 0x85, 0x83, 0x3, 0x2,
\r
3270 0x2, 0x2, 0x85, 0x86, 0x3, 0x2, 0x2, 0x2, 0x86, 0x88, 0x3, 0x2, 0x2,
\r
3271 0x2, 0x87, 0x85, 0x3, 0x2, 0x2, 0x2, 0x88, 0x8a, 0x5, 0x4c, 0x27,
\r
3272 0x2, 0x89, 0x8b, 0x5, 0x28, 0x15, 0x2, 0x8a, 0x89, 0x3, 0x2, 0x2,
\r
3273 0x2, 0x8a, 0x8b, 0x3, 0x2, 0x2, 0x2, 0x8b, 0x8f, 0x3, 0x2, 0x2, 0x2,
\r
3274 0x8c, 0x8e, 0x5, 0x10, 0x9, 0x2, 0x8d, 0x8c, 0x3, 0x2, 0x2, 0x2,
\r
3275 0x8e, 0x91, 0x3, 0x2, 0x2, 0x2, 0x8f, 0x8d, 0x3, 0x2, 0x2, 0x2, 0x8f,
\r
3276 0x90, 0x3, 0x2, 0x2, 0x2, 0x90, 0xf, 0x3, 0x2, 0x2, 0x2, 0x91, 0x8f,
\r
3277 0x3, 0x2, 0x2, 0x2, 0x92, 0x99, 0x7, 0xa, 0x2, 0x2, 0x93, 0x95, 0x7,
\r
3278 0xb, 0x2, 0x2, 0x94, 0x96, 0x7, 0x3d, 0x2, 0x2, 0x95, 0x94, 0x3,
\r
3279 0x2, 0x2, 0x2, 0x95, 0x96, 0x3, 0x2, 0x2, 0x2, 0x96, 0x97, 0x3, 0x2,
\r
3280 0x2, 0x2, 0x97, 0x99, 0x7, 0xc, 0x2, 0x2, 0x98, 0x92, 0x3, 0x2, 0x2,
\r
3281 0x2, 0x98, 0x93, 0x3, 0x2, 0x2, 0x2, 0x99, 0x11, 0x3, 0x2, 0x2, 0x2,
\r
3282 0x9a, 0x9b, 0x5, 0x4c, 0x27, 0x2, 0x9b, 0x9c, 0x7, 0xd, 0x2, 0x2,
\r
3283 0x9c, 0x13, 0x3, 0x2, 0x2, 0x2, 0x9d, 0x9e, 0x7, 0xe, 0x2, 0x2, 0x9e,
\r
3284 0x9f, 0x5, 0x16, 0xc, 0x2, 0x9f, 0x15, 0x3, 0x2, 0x2, 0x2, 0xa0,
\r
3285 0xa2, 0x5, 0x48, 0x25, 0x2, 0xa1, 0xa3, 0x5, 0x26, 0x14, 0x2, 0xa2,
\r
3286 0xa1, 0x3, 0x2, 0x2, 0x2, 0xa2, 0xa3, 0x3, 0x2, 0x2, 0x2, 0xa3, 0xa4,
\r
3287 0x3, 0x2, 0x2, 0x2, 0xa4, 0xa5, 0x7, 0xf, 0x2, 0x2, 0xa5, 0xa6, 0x5,
\r
3288 0x18, 0xd, 0x2, 0xa6, 0xa7, 0x7, 0x10, 0x2, 0x2, 0xa7, 0xa8, 0x7,
\r
3289 0x8, 0x2, 0x2, 0xa8, 0xa9, 0x5, 0xe, 0x8, 0x2, 0xa9, 0xac, 0x3, 0x2,
\r
3290 0x2, 0x2, 0xaa, 0xad, 0x5, 0x1a, 0xe, 0x2, 0xab, 0xad, 0x7, 0x3,
\r
3291 0x2, 0x2, 0xac, 0xaa, 0x3, 0x2, 0x2, 0x2, 0xac, 0xab, 0x3, 0x2, 0x2,
\r
3292 0x2, 0xad, 0x17, 0x3, 0x2, 0x2, 0x2, 0xae, 0xb3, 0x5, 0xa, 0x6, 0x2,
\r
3293 0xaf, 0xb0, 0x7, 0x11, 0x2, 0x2, 0xb0, 0xb2, 0x5, 0xa, 0x6, 0x2,
\r
3294 0xb1, 0xaf, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb5, 0x3, 0x2, 0x2, 0x2, 0xb3,
\r
3295 0xb1, 0x3, 0x2, 0x2, 0x2, 0xb3, 0xb4, 0x3, 0x2, 0x2, 0x2, 0xb4, 0xb7,
\r
3296 0x3, 0x2, 0x2, 0x2, 0xb5, 0xb3, 0x3, 0x2, 0x2, 0x2, 0xb6, 0xae, 0x3,
\r
3297 0x2, 0x2, 0x2, 0xb6, 0xb7, 0x3, 0x2, 0x2, 0x2, 0xb7, 0x19, 0x3, 0x2,
\r
3298 0x2, 0x2, 0xb8, 0xbc, 0x7, 0x5, 0x2, 0x2, 0xb9, 0xbb, 0x5, 0x2a,
\r
3299 0x16, 0x2, 0xba, 0xb9, 0x3, 0x2, 0x2, 0x2, 0xbb, 0xbe, 0x3, 0x2,
\r
3300 0x2, 0x2, 0xbc, 0xba, 0x3, 0x2, 0x2, 0x2, 0xbc, 0xbd, 0x3, 0x2, 0x2,
\r
3301 0x2, 0xbd, 0xbf, 0x3, 0x2, 0x2, 0x2, 0xbe, 0xbc, 0x3, 0x2, 0x2, 0x2,
\r
3302 0xbf, 0xc0, 0x7, 0x6, 0x2, 0x2, 0xc0, 0x1b, 0x3, 0x2, 0x2, 0x2, 0xc1,
\r
3303 0xc2, 0x7, 0x12, 0x2, 0x2, 0xc2, 0xc4, 0x5, 0x4e, 0x28, 0x2, 0xc3,
\r
3304 0xc5, 0x5, 0x26, 0x14, 0x2, 0xc4, 0xc3, 0x3, 0x2, 0x2, 0x2, 0xc4,
\r
3305 0xc5, 0x3, 0x2, 0x2, 0x2, 0xc5, 0xc6, 0x3, 0x2, 0x2, 0x2, 0xc6, 0xca,
\r
3306 0x7, 0x5, 0x2, 0x2, 0xc7, 0xc9, 0x5, 0x1e, 0x10, 0x2, 0xc8, 0xc7,
\r
3307 0x3, 0x2, 0x2, 0x2, 0xc9, 0xcc, 0x3, 0x2, 0x2, 0x2, 0xca, 0xc8, 0x3,
\r
3308 0x2, 0x2, 0x2, 0xca, 0xcb, 0x3, 0x2, 0x2, 0x2, 0xcb, 0xcd, 0x3, 0x2,
\r
3309 0x2, 0x2, 0xcc, 0xca, 0x3, 0x2, 0x2, 0x2, 0xcd, 0xce, 0x7, 0x6, 0x2,
\r
3310 0x2, 0xce, 0x1d, 0x3, 0x2, 0x2, 0x2, 0xcf, 0xd1, 0x5, 0x24, 0x13,
\r
3311 0x2, 0xd0, 0xcf, 0x3, 0x2, 0x2, 0x2, 0xd0, 0xd1, 0x3, 0x2, 0x2, 0x2,
\r
3312 0xd1, 0xd2, 0x3, 0x2, 0x2, 0x2, 0xd2, 0xd5, 0x5, 0x20, 0x11, 0x2,
\r
3313 0xd3, 0xd5, 0x5, 0x22, 0x12, 0x2, 0xd4, 0xd0, 0x3, 0x2, 0x2, 0x2,
\r
3314 0xd4, 0xd3, 0x3, 0x2, 0x2, 0x2, 0xd5, 0x1f, 0x3, 0x2, 0x2, 0x2, 0xd6,
\r
3315 0xd7, 0x5, 0xa, 0x6, 0x2, 0xd7, 0xd8, 0x7, 0x3, 0x2, 0x2, 0xd8, 0x21,
\r
3316 0x3, 0x2, 0x2, 0x2, 0xd9, 0xda, 0x5, 0x16, 0xc, 0x2, 0xda, 0x23,
\r
3317 0x3, 0x2, 0x2, 0x2, 0xdb, 0xdc, 0x7, 0x13, 0x2, 0x2, 0xdc, 0x25,
\r
3318 0x3, 0x2, 0x2, 0x2, 0xdd, 0xde, 0x7, 0x14, 0x2, 0x2, 0xde, 0xe3,
\r
3319 0x5, 0x4c, 0x27, 0x2, 0xdf, 0xe0, 0x7, 0x11, 0x2, 0x2, 0xe0, 0xe2,
\r
3320 0x5, 0x4c, 0x27, 0x2, 0xe1, 0xdf, 0x3, 0x2, 0x2, 0x2, 0xe2, 0xe5,
\r
3321 0x3, 0x2, 0x2, 0x2, 0xe3, 0xe1, 0x3, 0x2, 0x2, 0x2, 0xe3, 0xe4, 0x3,
\r
3322 0x2, 0x2, 0x2, 0xe4, 0xe6, 0x3, 0x2, 0x2, 0x2, 0xe5, 0xe3, 0x3, 0x2,
\r
3323 0x2, 0x2, 0xe6, 0xe7, 0x7, 0x15, 0x2, 0x2, 0xe7, 0x27, 0x3, 0x2,
\r
3324 0x2, 0x2, 0xe8, 0xe9, 0x7, 0x14, 0x2, 0x2, 0xe9, 0xee, 0x5, 0xe,
\r
3325 0x8, 0x2, 0xea, 0xeb, 0x7, 0x11, 0x2, 0x2, 0xeb, 0xed, 0x5, 0xe,
\r
3326 0x8, 0x2, 0xec, 0xea, 0x3, 0x2, 0x2, 0x2, 0xed, 0xf0, 0x3, 0x2, 0x2,
\r
3327 0x2, 0xee, 0xec, 0x3, 0x2, 0x2, 0x2, 0xee, 0xef, 0x3, 0x2, 0x2, 0x2,
\r
3328 0xef, 0xf1, 0x3, 0x2, 0x2, 0x2, 0xf0, 0xee, 0x3, 0x2, 0x2, 0x2, 0xf1,
\r
3329 0xf2, 0x7, 0x15, 0x2, 0x2, 0xf2, 0x29, 0x3, 0x2, 0x2, 0x2, 0xf3,
\r
3330 0xf4, 0x5, 0x8, 0x5, 0x2, 0xf4, 0xf5, 0x7, 0x3, 0x2, 0x2, 0xf5, 0x104,
\r
3331 0x3, 0x2, 0x2, 0x2, 0xf6, 0x104, 0x5, 0x2c, 0x17, 0x2, 0xf7, 0x104,
\r
3332 0x5, 0x32, 0x1a, 0x2, 0xf8, 0x104, 0x5, 0x38, 0x1d, 0x2, 0xf9, 0x104,
\r
3333 0x5, 0x3a, 0x1e, 0x2, 0xfa, 0xfb, 0x5, 0x3c, 0x1f, 0x2, 0xfb, 0xfc,
\r
3334 0x7, 0x3, 0x2, 0x2, 0xfc, 0x104, 0x3, 0x2, 0x2, 0x2, 0xfd, 0xfe,
\r
3335 0x5, 0x3e, 0x20, 0x2, 0xfe, 0xff, 0x7, 0x3, 0x2, 0x2, 0xff, 0x104,
\r
3336 0x3, 0x2, 0x2, 0x2, 0x100, 0x101, 0x5, 0x40, 0x21, 0x2, 0x101, 0x102,
\r
3337 0x7, 0x3, 0x2, 0x2, 0x102, 0x104, 0x3, 0x2, 0x2, 0x2, 0x103, 0xf3,
\r
3338 0x3, 0x2, 0x2, 0x2, 0x103, 0xf6, 0x3, 0x2, 0x2, 0x2, 0x103, 0xf7,
\r
3339 0x3, 0x2, 0x2, 0x2, 0x103, 0xf8, 0x3, 0x2, 0x2, 0x2, 0x103, 0xf9,
\r
3340 0x3, 0x2, 0x2, 0x2, 0x103, 0xfa, 0x3, 0x2, 0x2, 0x2, 0x103, 0xfd,
\r
3341 0x3, 0x2, 0x2, 0x2, 0x103, 0x100, 0x3, 0x2, 0x2, 0x2, 0x104, 0x2b,
\r
3342 0x3, 0x2, 0x2, 0x2, 0x105, 0x106, 0x7, 0x16, 0x2, 0x2, 0x106, 0x107,
\r
3343 0x5, 0x40, 0x21, 0x2, 0x107, 0x10b, 0x5, 0x1a, 0xe, 0x2, 0x108, 0x10a,
\r
3344 0x5, 0x2e, 0x18, 0x2, 0x109, 0x108, 0x3, 0x2, 0x2, 0x2, 0x10a, 0x10d,
\r
3345 0x3, 0x2, 0x2, 0x2, 0x10b, 0x109, 0x3, 0x2, 0x2, 0x2, 0x10b, 0x10c,
\r
3346 0x3, 0x2, 0x2, 0x2, 0x10c, 0x10f, 0x3, 0x2, 0x2, 0x2, 0x10d, 0x10b,
\r
3347 0x3, 0x2, 0x2, 0x2, 0x10e, 0x110, 0x5, 0x30, 0x19, 0x2, 0x10f, 0x10e,
\r
3348 0x3, 0x2, 0x2, 0x2, 0x10f, 0x110, 0x3, 0x2, 0x2, 0x2, 0x110, 0x2d,
\r
3349 0x3, 0x2, 0x2, 0x2, 0x111, 0x112, 0x7, 0x17, 0x2, 0x2, 0x112, 0x113,
\r
3350 0x7, 0x16, 0x2, 0x2, 0x113, 0x114, 0x5, 0x40, 0x21, 0x2, 0x114, 0x115,
\r
3351 0x5, 0x1a, 0xe, 0x2, 0x115, 0x2f, 0x3, 0x2, 0x2, 0x2, 0x116, 0x117,
\r
3352 0x7, 0x17, 0x2, 0x2, 0x117, 0x118, 0x5, 0x1a, 0xe, 0x2, 0x118, 0x31,
\r
3353 0x3, 0x2, 0x2, 0x2, 0x119, 0x11a, 0x7, 0x18, 0x2, 0x2, 0x11a, 0x11b,
\r
3354 0x5, 0x40, 0x21, 0x2, 0x11b, 0x11c, 0x5, 0x34, 0x1b, 0x2, 0x11c,
\r
3355 0x33, 0x3, 0x2, 0x2, 0x2, 0x11d, 0x121, 0x7, 0x5, 0x2, 0x2, 0x11e,
\r
3356 0x120, 0x5, 0x36, 0x1c, 0x2, 0x11f, 0x11e, 0x3, 0x2, 0x2, 0x2, 0x120,
\r
3357 0x123, 0x3, 0x2, 0x2, 0x2, 0x121, 0x11f, 0x3, 0x2, 0x2, 0x2, 0x121,
\r
3358 0x122, 0x3, 0x2, 0x2, 0x2, 0x122, 0x124, 0x3, 0x2, 0x2, 0x2, 0x123,
\r
3359 0x121, 0x3, 0x2, 0x2, 0x2, 0x124, 0x125, 0x7, 0x6, 0x2, 0x2, 0x125,
\r
3360 0x35, 0x3, 0x2, 0x2, 0x2, 0x126, 0x127, 0x7, 0x19, 0x2, 0x2, 0x127,
\r
3361 0x128, 0x5, 0x40, 0x21, 0x2, 0x128, 0x129, 0x5, 0x1a, 0xe, 0x2, 0x129,
\r
3362 0x37, 0x3, 0x2, 0x2, 0x2, 0x12a, 0x12b, 0x7, 0x1a, 0x2, 0x2, 0x12b,
\r
3363 0x12c, 0x5, 0xc, 0x7, 0x2, 0x12c, 0x12d, 0x7, 0x11, 0x2, 0x2, 0x12d,
\r
3364 0x12e, 0x5, 0x40, 0x21, 0x2, 0x12e, 0x12f, 0x7, 0x11, 0x2, 0x2, 0x12f,
\r
3365 0x130, 0x5, 0x40, 0x21, 0x2, 0x130, 0x131, 0x5, 0x1a, 0xe, 0x2, 0x131,
\r
3366 0x39, 0x3, 0x2, 0x2, 0x2, 0x132, 0x133, 0x7, 0x1b, 0x2, 0x2, 0x133,
\r
3367 0x134, 0x5, 0x40, 0x21, 0x2, 0x134, 0x135, 0x5, 0x1a, 0xe, 0x2, 0x135,
\r
3368 0x3b, 0x3, 0x2, 0x2, 0x2, 0x136, 0x137, 0x5, 0x40, 0x21, 0x2, 0x137,
\r
3369 0x138, 0x7, 0x9, 0x2, 0x2, 0x138, 0x139, 0x5, 0x40, 0x21, 0x2, 0x139,
\r
3370 0x3d, 0x3, 0x2, 0x2, 0x2, 0x13a, 0x13b, 0x7, 0x1c, 0x2, 0x2, 0x13b,
\r
3371 0x13c, 0x5, 0x40, 0x21, 0x2, 0x13c, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x13d,
\r
3372 0x141, 0x8, 0x21, 0x1, 0x2, 0x13e, 0x140, 0x5, 0x12, 0xa, 0x2, 0x13f,
\r
3373 0x13e, 0x3, 0x2, 0x2, 0x2, 0x140, 0x143, 0x3, 0x2, 0x2, 0x2, 0x141,
\r
3374 0x13f, 0x3, 0x2, 0x2, 0x2, 0x141, 0x142, 0x3, 0x2, 0x2, 0x2, 0x142,
\r
3375 0x144, 0x3, 0x2, 0x2, 0x2, 0x143, 0x141, 0x3, 0x2, 0x2, 0x2, 0x144,
\r
3376 0x146, 0x5, 0x48, 0x25, 0x2, 0x145, 0x147, 0x5, 0x28, 0x15, 0x2,
\r
3377 0x146, 0x145, 0x3, 0x2, 0x2, 0x2, 0x146, 0x147, 0x3, 0x2, 0x2, 0x2,
\r
3378 0x147, 0x148, 0x3, 0x2, 0x2, 0x2, 0x148, 0x151, 0x7, 0xf, 0x2, 0x2,
\r
3379 0x149, 0x14e, 0x5, 0x40, 0x21, 0x2, 0x14a, 0x14b, 0x7, 0x11, 0x2,
\r
3380 0x2, 0x14b, 0x14d, 0x5, 0x40, 0x21, 0x2, 0x14c, 0x14a, 0x3, 0x2,
\r
3381 0x2, 0x2, 0x14d, 0x150, 0x3, 0x2, 0x2, 0x2, 0x14e, 0x14c, 0x3, 0x2,
\r
3382 0x2, 0x2, 0x14e, 0x14f, 0x3, 0x2, 0x2, 0x2, 0x14f, 0x152, 0x3, 0x2,
\r
3383 0x2, 0x2, 0x150, 0x14e, 0x3, 0x2, 0x2, 0x2, 0x151, 0x149, 0x3, 0x2,
\r
3384 0x2, 0x2, 0x151, 0x152, 0x3, 0x2, 0x2, 0x2, 0x152, 0x153, 0x3, 0x2,
\r
3385 0x2, 0x2, 0x153, 0x154, 0x7, 0x10, 0x2, 0x2, 0x154, 0x165, 0x3, 0x2,
\r
3386 0x2, 0x2, 0x155, 0x165, 0x5, 0x46, 0x24, 0x2, 0x156, 0x157, 0x7,
\r
3387 0xf, 0x2, 0x2, 0x157, 0x158, 0x5, 0x40, 0x21, 0x2, 0x158, 0x159,
\r
3388 0x7, 0x10, 0x2, 0x2, 0x159, 0x165, 0x3, 0x2, 0x2, 0x2, 0x15a, 0x15b,
\r
3389 0x5, 0x52, 0x2a, 0x2, 0x15b, 0x15c, 0x5, 0x40, 0x21, 0x8, 0x15c,
\r
3390 0x165, 0x3, 0x2, 0x2, 0x2, 0x15d, 0x15f, 0x5, 0x12, 0xa, 0x2, 0x15e,
\r
3391 0x15d, 0x3, 0x2, 0x2, 0x2, 0x15f, 0x162, 0x3, 0x2, 0x2, 0x2, 0x160,
\r
3392 0x15e, 0x3, 0x2, 0x2, 0x2, 0x160, 0x161, 0x3, 0x2, 0x2, 0x2, 0x161,
\r
3393 0x163, 0x3, 0x2, 0x2, 0x2, 0x162, 0x160, 0x3, 0x2, 0x2, 0x2, 0x163,
\r
3394 0x165, 0x5, 0x4a, 0x26, 0x2, 0x164, 0x13d, 0x3, 0x2, 0x2, 0x2, 0x164,
\r
3395 0x155, 0x3, 0x2, 0x2, 0x2, 0x164, 0x156, 0x3, 0x2, 0x2, 0x2, 0x164,
\r
3396 0x15a, 0x3, 0x2, 0x2, 0x2, 0x164, 0x160, 0x3, 0x2, 0x2, 0x2, 0x165,
\r
3397 0x193, 0x3, 0x2, 0x2, 0x2, 0x166, 0x167, 0xc, 0x6, 0x2, 0x2, 0x167,
\r
3398 0x168, 0x5, 0x54, 0x2b, 0x2, 0x168, 0x169, 0x5, 0x40, 0x21, 0x7,
\r
3399 0x169, 0x192, 0x3, 0x2, 0x2, 0x2, 0x16a, 0x16b, 0xc, 0x5, 0x2, 0x2,
\r
3400 0x16b, 0x16c, 0x7, 0x1e, 0x2, 0x2, 0x16c, 0x16d, 0x5, 0x40, 0x21,
\r
3401 0x2, 0x16d, 0x16e, 0x7, 0x8, 0x2, 0x2, 0x16e, 0x16f, 0x5, 0x40, 0x21,
\r
3402 0x6, 0x16f, 0x192, 0x3, 0x2, 0x2, 0x2, 0x170, 0x171, 0xc, 0xc, 0x2,
\r
3403 0x2, 0x171, 0x172, 0x7, 0x1d, 0x2, 0x2, 0x172, 0x174, 0x5, 0x48,
\r
3404 0x25, 0x2, 0x173, 0x175, 0x5, 0x28, 0x15, 0x2, 0x174, 0x173, 0x3,
\r
3405 0x2, 0x2, 0x2, 0x174, 0x175, 0x3, 0x2, 0x2, 0x2, 0x175, 0x176, 0x3,
\r
3406 0x2, 0x2, 0x2, 0x176, 0x17f, 0x7, 0xf, 0x2, 0x2, 0x177, 0x17c, 0x5,
\r
3407 0x40, 0x21, 0x2, 0x178, 0x179, 0x7, 0x11, 0x2, 0x2, 0x179, 0x17b,
\r
3408 0x5, 0x40, 0x21, 0x2, 0x17a, 0x178, 0x3, 0x2, 0x2, 0x2, 0x17b, 0x17e,
\r
3409 0x3, 0x2, 0x2, 0x2, 0x17c, 0x17a, 0x3, 0x2, 0x2, 0x2, 0x17c, 0x17d,
\r
3410 0x3, 0x2, 0x2, 0x2, 0x17d, 0x180, 0x3, 0x2, 0x2, 0x2, 0x17e, 0x17c,
\r
3411 0x3, 0x2, 0x2, 0x2, 0x17f, 0x177, 0x3, 0x2, 0x2, 0x2, 0x17f, 0x180,
\r
3412 0x3, 0x2, 0x2, 0x2, 0x180, 0x181, 0x3, 0x2, 0x2, 0x2, 0x181, 0x182,
\r
3413 0x7, 0x10, 0x2, 0x2, 0x182, 0x192, 0x3, 0x2, 0x2, 0x2, 0x183, 0x186,
\r
3414 0xc, 0x9, 0x2, 0x2, 0x184, 0x187, 0x5, 0x42, 0x22, 0x2, 0x185, 0x187,
\r
3415 0x5, 0x44, 0x23, 0x2, 0x186, 0x184, 0x3, 0x2, 0x2, 0x2, 0x186, 0x185,
\r
3416 0x3, 0x2, 0x2, 0x2, 0x187, 0x188, 0x3, 0x2, 0x2, 0x2, 0x188, 0x189,
\r
3417 0x5, 0x4a, 0x26, 0x2, 0x189, 0x192, 0x3, 0x2, 0x2, 0x2, 0x18a, 0x18b,
\r
3418 0xc, 0x7, 0x2, 0x2, 0x18b, 0x192, 0x5, 0x50, 0x29, 0x2, 0x18c, 0x18d,
\r
3419 0xc, 0x4, 0x2, 0x2, 0x18d, 0x18e, 0x7, 0xb, 0x2, 0x2, 0x18e, 0x18f,
\r
3420 0x5, 0x40, 0x21, 0x2, 0x18f, 0x190, 0x7, 0xc, 0x2, 0x2, 0x190, 0x192,
\r
3421 0x3, 0x2, 0x2, 0x2, 0x191, 0x166, 0x3, 0x2, 0x2, 0x2, 0x191, 0x16a,
\r
3422 0x3, 0x2, 0x2, 0x2, 0x191, 0x170, 0x3, 0x2, 0x2, 0x2, 0x191, 0x183,
\r
3423 0x3, 0x2, 0x2, 0x2, 0x191, 0x18a, 0x3, 0x2, 0x2, 0x2, 0x191, 0x18c,
\r
3424 0x3, 0x2, 0x2, 0x2, 0x192, 0x195, 0x3, 0x2, 0x2, 0x2, 0x193, 0x191,
\r
3425 0x3, 0x2, 0x2, 0x2, 0x193, 0x194, 0x3, 0x2, 0x2, 0x2, 0x194, 0x41,
\r
3426 0x3, 0x2, 0x2, 0x2, 0x195, 0x193, 0x3, 0x2, 0x2, 0x2, 0x196, 0x197,
\r
3427 0x7, 0x1d, 0x2, 0x2, 0x197, 0x43, 0x3, 0x2, 0x2, 0x2, 0x198, 0x199,
\r
3428 0x7, 0x1f, 0x2, 0x2, 0x199, 0x45, 0x3, 0x2, 0x2, 0x2, 0x19a, 0x19b,
\r
3429 0x9, 0x2, 0x2, 0x2, 0x19b, 0x47, 0x3, 0x2, 0x2, 0x2, 0x19c, 0x19d,
\r
3430 0x7, 0x41, 0x2, 0x2, 0x19d, 0x49, 0x3, 0x2, 0x2, 0x2, 0x19e, 0x19f,
\r
3431 0x7, 0x41, 0x2, 0x2, 0x19f, 0x4b, 0x3, 0x2, 0x2, 0x2, 0x1a0, 0x1a1,
\r
3432 0x7, 0x41, 0x2, 0x2, 0x1a1, 0x4d, 0x3, 0x2, 0x2, 0x2, 0x1a2, 0x1a3,
\r
3433 0x7, 0x41, 0x2, 0x2, 0x1a3, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x1a4, 0x1a5,
\r
3434 0x9, 0x3, 0x2, 0x2, 0x1a5, 0x51, 0x3, 0x2, 0x2, 0x2, 0x1a6, 0x1ae,
\r
3435 0x7, 0x22, 0x2, 0x2, 0x1a7, 0x1ae, 0x7, 0x23, 0x2, 0x2, 0x1a8, 0x1ae,
\r
3436 0x7, 0x24, 0x2, 0x2, 0x1a9, 0x1ae, 0x7, 0x25, 0x2, 0x2, 0x1aa, 0x1ae,
\r
3437 0x7, 0x26, 0x2, 0x2, 0x1ab, 0x1ae, 0x7, 0xa, 0x2, 0x2, 0x1ac, 0x1ae,
\r
3438 0x5, 0x50, 0x29, 0x2, 0x1ad, 0x1a6, 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1a7,
\r
3439 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1a8, 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1a9,
\r
3440 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1aa, 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1ab,
\r
3441 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1ac, 0x3, 0x2, 0x2, 0x2, 0x1ae, 0x53,
\r
3442 0x3, 0x2, 0x2, 0x2, 0x1af, 0x1b0, 0x9, 0x4, 0x2, 0x2, 0x1b0, 0x55,
\r
3443 0x3, 0x2, 0x2, 0x2, 0x27, 0x59, 0x63, 0x6b, 0x79, 0x85, 0x8a, 0x8f,
\r
3444 0x95, 0x98, 0xa2, 0xac, 0xb3, 0xb6, 0xbc, 0xc4, 0xca, 0xd0, 0xd4,
\r
3445 0xe3, 0xee, 0x103, 0x10b, 0x10f, 0x121, 0x141, 0x146, 0x14e, 0x151,
\r
3446 0x160, 0x164, 0x174, 0x17c, 0x17f, 0x186, 0x191, 0x193, 0x1ad,
\r
3449 _serializedATN.insert(_serializedATN.end(), serializedATNSegment0,
\r
3450 serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));
\r
3453 atn::ATNDeserializer deserializer;
\r
3454 _atn = deserializer.deserialize(_serializedATN);
\r
3456 size_t count = _atn.getNumberOfDecisions();
\r
3457 _decisionToDFA.reserve(count);
\r
3458 for (size_t i = 0; i < count; i++) {
\r
3459 _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
\r
3463 TocParser::Initializer TocParser::_init;
\r