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__7)
\r
83 | (1ULL << TocParser::T__13))) != 0));
\r
85 match(TocParser::EOF);
\r
88 catch (RecognitionException &e) {
\r
89 _errHandler->reportError(this, e);
\r
90 _localctx->exception = std::current_exception();
\r
91 _errHandler->recover(this, _localctx->exception);
\r
97 //----------------- DeclContext ------------------------------------------------------------------
\r
99 TocParser::DeclContext::DeclContext(ParserRuleContext *parent, size_t invokingState)
\r
100 : ParserRuleContext(parent, invokingState) {
\r
103 TocParser::VarDeclContext* TocParser::DeclContext::varDecl() {
\r
104 return getRuleContext<TocParser::VarDeclContext>(0);
\r
107 TocParser::FuncDeclContext* TocParser::DeclContext::funcDecl() {
\r
108 return getRuleContext<TocParser::FuncDeclContext>(0);
\r
111 TocParser::StructDeclContext* TocParser::DeclContext::structDecl() {
\r
112 return getRuleContext<TocParser::StructDeclContext>(0);
\r
116 size_t TocParser::DeclContext::getRuleIndex() const {
\r
117 return TocParser::RuleDecl;
\r
121 TocParser::DeclContext* TocParser::decl() {
\r
122 DeclContext *_localctx = _tracker.createInstance<DeclContext>(_ctx, getState());
\r
123 enterRule(_localctx, 2, TocParser::RuleDecl);
\r
125 #if __cplusplus > 201703L
\r
126 auto onExit = finally([=, this] {
\r
128 auto onExit = finally([=] {
\r
134 _errHandler->sync(this);
\r
135 switch (_input->LA(1)) {
\r
136 case TocParser::T__1: {
\r
137 enterOuterAlt(_localctx, 1);
\r
141 match(TocParser::T__0);
\r
145 case TocParser::T__7: {
\r
146 enterOuterAlt(_localctx, 2);
\r
152 case TocParser::T__13: {
\r
153 enterOuterAlt(_localctx, 3);
\r
160 throw NoViableAltException(this);
\r
164 catch (RecognitionException &e) {
\r
165 _errHandler->reportError(this, e);
\r
166 _localctx->exception = std::current_exception();
\r
167 _errHandler->recover(this, _localctx->exception);
\r
173 //----------------- VarDeclContext ------------------------------------------------------------------
\r
175 TocParser::VarDeclContext::VarDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
176 : ParserRuleContext(parent, invokingState) {
\r
179 TocParser::VarContext* TocParser::VarDeclContext::var() {
\r
180 return getRuleContext<TocParser::VarContext>(0);
\r
184 size_t TocParser::VarDeclContext::getRuleIndex() const {
\r
185 return TocParser::RuleVarDecl;
\r
189 TocParser::VarDeclContext* TocParser::varDecl() {
\r
190 VarDeclContext *_localctx = _tracker.createInstance<VarDeclContext>(_ctx, getState());
\r
191 enterRule(_localctx, 4, TocParser::RuleVarDecl);
\r
193 #if __cplusplus > 201703L
\r
194 auto onExit = finally([=, this] {
\r
196 auto onExit = finally([=] {
\r
201 enterOuterAlt(_localctx, 1);
\r
203 match(TocParser::T__1);
\r
208 catch (RecognitionException &e) {
\r
209 _errHandler->reportError(this, e);
\r
210 _localctx->exception = std::current_exception();
\r
211 _errHandler->recover(this, _localctx->exception);
\r
217 //----------------- VarContext ------------------------------------------------------------------
\r
219 TocParser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState)
\r
220 : ParserRuleContext(parent, invokingState) {
\r
223 TocParser::VarNameContext* TocParser::VarContext::varName() {
\r
224 return getRuleContext<TocParser::VarNameContext>(0);
\r
227 TocParser::TypeContext* TocParser::VarContext::type() {
\r
228 return getRuleContext<TocParser::TypeContext>(0);
\r
231 TocParser::ExprContext* TocParser::VarContext::expr() {
\r
232 return getRuleContext<TocParser::ExprContext>(0);
\r
236 size_t TocParser::VarContext::getRuleIndex() const {
\r
237 return TocParser::RuleVar;
\r
241 TocParser::VarContext* TocParser::var() {
\r
242 VarContext *_localctx = _tracker.createInstance<VarContext>(_ctx, getState());
\r
243 enterRule(_localctx, 6, TocParser::RuleVar);
\r
246 #if __cplusplus > 201703L
\r
247 auto onExit = finally([=, this] {
\r
249 auto onExit = finally([=] {
\r
254 enterOuterAlt(_localctx, 1);
\r
259 match(TocParser::T__2);
\r
263 _errHandler->sync(this);
\r
265 _la = _input->LA(1);
\r
266 if (_la == TocParser::T__3) {
\r
268 match(TocParser::T__3);
\r
274 catch (RecognitionException &e) {
\r
275 _errHandler->reportError(this, e);
\r
276 _localctx->exception = std::current_exception();
\r
277 _errHandler->recover(this, _localctx->exception);
\r
283 //----------------- VarInitContext ------------------------------------------------------------------
\r
285 TocParser::VarInitContext::VarInitContext(ParserRuleContext *parent, size_t invokingState)
\r
286 : ParserRuleContext(parent, invokingState) {
\r
289 TocParser::VarNameContext* TocParser::VarInitContext::varName() {
\r
290 return getRuleContext<TocParser::VarNameContext>(0);
\r
293 TocParser::TypeContext* TocParser::VarInitContext::type() {
\r
294 return getRuleContext<TocParser::TypeContext>(0);
\r
297 TocParser::ExprContext* TocParser::VarInitContext::expr() {
\r
298 return getRuleContext<TocParser::ExprContext>(0);
\r
302 size_t TocParser::VarInitContext::getRuleIndex() const {
\r
303 return TocParser::RuleVarInit;
\r
307 TocParser::VarInitContext* TocParser::varInit() {
\r
308 VarInitContext *_localctx = _tracker.createInstance<VarInitContext>(_ctx, getState());
\r
309 enterRule(_localctx, 8, TocParser::RuleVarInit);
\r
311 #if __cplusplus > 201703L
\r
312 auto onExit = finally([=, this] {
\r
314 auto onExit = finally([=] {
\r
319 enterOuterAlt(_localctx, 1);
\r
324 match(TocParser::T__2);
\r
329 match(TocParser::T__3);
\r
334 catch (RecognitionException &e) {
\r
335 _errHandler->reportError(this, e);
\r
336 _localctx->exception = std::current_exception();
\r
337 _errHandler->recover(this, _localctx->exception);
\r
343 //----------------- TypeContext ------------------------------------------------------------------
\r
345 TocParser::TypeContext::TypeContext(ParserRuleContext *parent, size_t invokingState)
\r
346 : ParserRuleContext(parent, invokingState) {
\r
349 TocParser::TypeNameContext* TocParser::TypeContext::typeName() {
\r
350 return getRuleContext<TocParser::TypeNameContext>(0);
\r
353 std::vector<TocParser::TypeModifierContext *> TocParser::TypeContext::typeModifier() {
\r
354 return getRuleContexts<TocParser::TypeModifierContext>();
\r
357 TocParser::TypeModifierContext* TocParser::TypeContext::typeModifier(size_t i) {
\r
358 return getRuleContext<TocParser::TypeModifierContext>(i);
\r
362 size_t TocParser::TypeContext::getRuleIndex() const {
\r
363 return TocParser::RuleType;
\r
367 TocParser::TypeContext* TocParser::type() {
\r
368 TypeContext *_localctx = _tracker.createInstance<TypeContext>(_ctx, getState());
\r
369 enterRule(_localctx, 10, TocParser::RuleType);
\r
372 #if __cplusplus > 201703L
\r
373 auto onExit = finally([=, this] {
\r
375 auto onExit = finally([=] {
\r
380 enterOuterAlt(_localctx, 1);
\r
384 _errHandler->sync(this);
\r
385 _la = _input->LA(1);
\r
386 while (_la == TocParser::T__4
\r
388 || _la == TocParser::T__5) {
\r
392 _errHandler->sync(this);
\r
393 _la = _input->LA(1);
\r
397 catch (RecognitionException &e) {
\r
398 _errHandler->reportError(this, e);
\r
399 _localctx->exception = std::current_exception();
\r
400 _errHandler->recover(this, _localctx->exception);
\r
406 //----------------- TypeModifierContext ------------------------------------------------------------------
\r
408 TocParser::TypeModifierContext::TypeModifierContext(ParserRuleContext *parent, size_t invokingState)
\r
409 : ParserRuleContext(parent, invokingState) {
\r
412 tree::TerminalNode* TocParser::TypeModifierContext::INT_LIT() {
\r
413 return getToken(TocParser::INT_LIT, 0);
\r
417 size_t TocParser::TypeModifierContext::getRuleIndex() const {
\r
418 return TocParser::RuleTypeModifier;
\r
422 TocParser::TypeModifierContext* TocParser::typeModifier() {
\r
423 TypeModifierContext *_localctx = _tracker.createInstance<TypeModifierContext>(_ctx, getState());
\r
424 enterRule(_localctx, 12, TocParser::RuleTypeModifier);
\r
427 #if __cplusplus > 201703L
\r
428 auto onExit = finally([=, this] {
\r
430 auto onExit = finally([=] {
\r
436 _errHandler->sync(this);
\r
437 switch (_input->LA(1)) {
\r
438 case TocParser::T__4: {
\r
439 enterOuterAlt(_localctx, 1);
\r
441 match(TocParser::T__4);
\r
445 case TocParser::T__5: {
\r
446 enterOuterAlt(_localctx, 2);
\r
448 match(TocParser::T__5);
\r
450 _errHandler->sync(this);
\r
452 _la = _input->LA(1);
\r
453 if (_la == TocParser::INT_LIT) {
\r
455 match(TocParser::INT_LIT);
\r
458 match(TocParser::T__6);
\r
463 throw NoViableAltException(this);
\r
467 catch (RecognitionException &e) {
\r
468 _errHandler->reportError(this, e);
\r
469 _localctx->exception = std::current_exception();
\r
470 _errHandler->recover(this, _localctx->exception);
\r
476 //----------------- FuncDeclContext ------------------------------------------------------------------
\r
478 TocParser::FuncDeclContext::FuncDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
479 : ParserRuleContext(parent, invokingState) {
\r
482 TocParser::FuncContext* TocParser::FuncDeclContext::func() {
\r
483 return getRuleContext<TocParser::FuncContext>(0);
\r
487 size_t TocParser::FuncDeclContext::getRuleIndex() const {
\r
488 return TocParser::RuleFuncDecl;
\r
492 TocParser::FuncDeclContext* TocParser::funcDecl() {
\r
493 FuncDeclContext *_localctx = _tracker.createInstance<FuncDeclContext>(_ctx, getState());
\r
494 enterRule(_localctx, 14, TocParser::RuleFuncDecl);
\r
496 #if __cplusplus > 201703L
\r
497 auto onExit = finally([=, this] {
\r
499 auto onExit = finally([=] {
\r
504 enterOuterAlt(_localctx, 1);
\r
506 match(TocParser::T__7);
\r
511 catch (RecognitionException &e) {
\r
512 _errHandler->reportError(this, e);
\r
513 _localctx->exception = std::current_exception();
\r
514 _errHandler->recover(this, _localctx->exception);
\r
520 //----------------- FuncContext ------------------------------------------------------------------
\r
522 TocParser::FuncContext::FuncContext(ParserRuleContext *parent, size_t invokingState)
\r
523 : ParserRuleContext(parent, invokingState) {
\r
526 TocParser::FuncNameContext* TocParser::FuncContext::funcName() {
\r
527 return getRuleContext<TocParser::FuncNameContext>(0);
\r
530 TocParser::ParameterContext* TocParser::FuncContext::parameter() {
\r
531 return getRuleContext<TocParser::ParameterContext>(0);
\r
534 TocParser::BodyContext* TocParser::FuncContext::body() {
\r
535 return getRuleContext<TocParser::BodyContext>(0);
\r
538 TocParser::TypeContext* TocParser::FuncContext::type() {
\r
539 return getRuleContext<TocParser::TypeContext>(0);
\r
543 size_t TocParser::FuncContext::getRuleIndex() const {
\r
544 return TocParser::RuleFunc;
\r
548 TocParser::FuncContext* TocParser::func() {
\r
549 FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());
\r
550 enterRule(_localctx, 16, TocParser::RuleFunc);
\r
552 #if __cplusplus > 201703L
\r
553 auto onExit = finally([=, this] {
\r
555 auto onExit = finally([=] {
\r
560 enterOuterAlt(_localctx, 1);
\r
564 match(TocParser::T__8);
\r
568 match(TocParser::T__9);
\r
571 match(TocParser::T__2);
\r
578 catch (RecognitionException &e) {
\r
579 _errHandler->reportError(this, e);
\r
580 _localctx->exception = std::current_exception();
\r
581 _errHandler->recover(this, _localctx->exception);
\r
587 //----------------- ParameterContext ------------------------------------------------------------------
\r
589 TocParser::ParameterContext::ParameterContext(ParserRuleContext *parent, size_t invokingState)
\r
590 : ParserRuleContext(parent, invokingState) {
\r
593 std::vector<TocParser::VarContext *> TocParser::ParameterContext::var() {
\r
594 return getRuleContexts<TocParser::VarContext>();
\r
597 TocParser::VarContext* TocParser::ParameterContext::var(size_t i) {
\r
598 return getRuleContext<TocParser::VarContext>(i);
\r
602 size_t TocParser::ParameterContext::getRuleIndex() const {
\r
603 return TocParser::RuleParameter;
\r
607 TocParser::ParameterContext* TocParser::parameter() {
\r
608 ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());
\r
609 enterRule(_localctx, 18, TocParser::RuleParameter);
\r
612 #if __cplusplus > 201703L
\r
613 auto onExit = finally([=, this] {
\r
615 auto onExit = finally([=] {
\r
620 enterOuterAlt(_localctx, 1);
\r
622 _errHandler->sync(this);
\r
624 _la = _input->LA(1);
\r
625 if (_la == TocParser::NAME) {
\r
629 _errHandler->sync(this);
\r
630 _la = _input->LA(1);
\r
631 while (_la == TocParser::T__10) {
\r
633 match(TocParser::T__10);
\r
637 _errHandler->sync(this);
\r
638 _la = _input->LA(1);
\r
643 catch (RecognitionException &e) {
\r
644 _errHandler->reportError(this, e);
\r
645 _localctx->exception = std::current_exception();
\r
646 _errHandler->recover(this, _localctx->exception);
\r
652 //----------------- BodyContext ------------------------------------------------------------------
\r
654 TocParser::BodyContext::BodyContext(ParserRuleContext *parent, size_t invokingState)
\r
655 : ParserRuleContext(parent, invokingState) {
\r
658 std::vector<TocParser::StmtContext *> TocParser::BodyContext::stmt() {
\r
659 return getRuleContexts<TocParser::StmtContext>();
\r
662 TocParser::StmtContext* TocParser::BodyContext::stmt(size_t i) {
\r
663 return getRuleContext<TocParser::StmtContext>(i);
\r
667 size_t TocParser::BodyContext::getRuleIndex() const {
\r
668 return TocParser::RuleBody;
\r
672 TocParser::BodyContext* TocParser::body() {
\r
673 BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());
\r
674 enterRule(_localctx, 20, TocParser::RuleBody);
\r
677 #if __cplusplus > 201703L
\r
678 auto onExit = finally([=, this] {
\r
680 auto onExit = finally([=] {
\r
685 enterOuterAlt(_localctx, 1);
\r
687 match(TocParser::T__11);
\r
689 _errHandler->sync(this);
\r
690 _la = _input->LA(1);
\r
691 while ((((_la & ~ 0x3fULL) == 0) &&
\r
692 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
693 | (1ULL << TocParser::T__4)
\r
694 | (1ULL << TocParser::T__8)
\r
695 | (1ULL << TocParser::T__14)
\r
696 | (1ULL << TocParser::T__16)
\r
697 | (1ULL << TocParser::T__18)
\r
698 | (1ULL << TocParser::T__19)
\r
699 | (1ULL << TocParser::T__20)
\r
700 | (1ULL << TocParser::T__24)
\r
701 | (1ULL << TocParser::T__25)
\r
702 | (1ULL << TocParser::T__26)
\r
703 | (1ULL << TocParser::T__27)
\r
704 | (1ULL << TocParser::T__28)
\r
705 | (1ULL << TocParser::T__29)
\r
706 | (1ULL << TocParser::T__30)
\r
707 | (1ULL << TocParser::INT_LIT)
\r
708 | (1ULL << TocParser::DECIMAL_LIT)
\r
709 | (1ULL << TocParser::STRING_LIT)
\r
710 | (1ULL << TocParser::BOOL_LIT)
\r
711 | (1ULL << TocParser::NAME))) != 0)) {
\r
715 _errHandler->sync(this);
\r
716 _la = _input->LA(1);
\r
719 match(TocParser::T__12);
\r
722 catch (RecognitionException &e) {
\r
723 _errHandler->reportError(this, e);
\r
724 _localctx->exception = std::current_exception();
\r
725 _errHandler->recover(this, _localctx->exception);
\r
731 //----------------- StructDeclContext ------------------------------------------------------------------
\r
733 TocParser::StructDeclContext::StructDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
734 : ParserRuleContext(parent, invokingState) {
\r
737 TocParser::StructNameContext* TocParser::StructDeclContext::structName() {
\r
738 return getRuleContext<TocParser::StructNameContext>(0);
\r
741 std::vector<TocParser::StructMemberContext *> TocParser::StructDeclContext::structMember() {
\r
742 return getRuleContexts<TocParser::StructMemberContext>();
\r
745 TocParser::StructMemberContext* TocParser::StructDeclContext::structMember(size_t i) {
\r
746 return getRuleContext<TocParser::StructMemberContext>(i);
\r
750 size_t TocParser::StructDeclContext::getRuleIndex() const {
\r
751 return TocParser::RuleStructDecl;
\r
755 TocParser::StructDeclContext* TocParser::structDecl() {
\r
756 StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());
\r
757 enterRule(_localctx, 22, TocParser::RuleStructDecl);
\r
760 #if __cplusplus > 201703L
\r
761 auto onExit = finally([=, this] {
\r
763 auto onExit = finally([=] {
\r
768 enterOuterAlt(_localctx, 1);
\r
770 match(TocParser::T__13);
\r
774 match(TocParser::T__11);
\r
776 _errHandler->sync(this);
\r
777 _la = _input->LA(1);
\r
778 while (_la == TocParser::NAME) {
\r
782 _errHandler->sync(this);
\r
783 _la = _input->LA(1);
\r
786 match(TocParser::T__12);
\r
789 catch (RecognitionException &e) {
\r
790 _errHandler->reportError(this, e);
\r
791 _localctx->exception = std::current_exception();
\r
792 _errHandler->recover(this, _localctx->exception);
\r
798 //----------------- StructMemberContext ------------------------------------------------------------------
\r
800 TocParser::StructMemberContext::StructMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
801 : ParserRuleContext(parent, invokingState) {
\r
804 TocParser::StructVarContext* TocParser::StructMemberContext::structVar() {
\r
805 return getRuleContext<TocParser::StructVarContext>(0);
\r
808 TocParser::StructMethodContext* TocParser::StructMemberContext::structMethod() {
\r
809 return getRuleContext<TocParser::StructMethodContext>(0);
\r
813 size_t TocParser::StructMemberContext::getRuleIndex() const {
\r
814 return TocParser::RuleStructMember;
\r
818 TocParser::StructMemberContext* TocParser::structMember() {
\r
819 StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());
\r
820 enterRule(_localctx, 24, TocParser::RuleStructMember);
\r
822 #if __cplusplus > 201703L
\r
823 auto onExit = finally([=, this] {
\r
825 auto onExit = finally([=] {
\r
831 _errHandler->sync(this);
\r
832 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 10, _ctx)) {
\r
834 enterOuterAlt(_localctx, 1);
\r
841 enterOuterAlt(_localctx, 2);
\r
852 catch (RecognitionException &e) {
\r
853 _errHandler->reportError(this, e);
\r
854 _localctx->exception = std::current_exception();
\r
855 _errHandler->recover(this, _localctx->exception);
\r
861 //----------------- StructVarContext ------------------------------------------------------------------
\r
863 TocParser::StructVarContext::StructVarContext(ParserRuleContext *parent, size_t invokingState)
\r
864 : ParserRuleContext(parent, invokingState) {
\r
867 TocParser::VarContext* TocParser::StructVarContext::var() {
\r
868 return getRuleContext<TocParser::VarContext>(0);
\r
872 size_t TocParser::StructVarContext::getRuleIndex() const {
\r
873 return TocParser::RuleStructVar;
\r
877 TocParser::StructVarContext* TocParser::structVar() {
\r
878 StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());
\r
879 enterRule(_localctx, 26, TocParser::RuleStructVar);
\r
881 #if __cplusplus > 201703L
\r
882 auto onExit = finally([=, this] {
\r
884 auto onExit = finally([=] {
\r
889 enterOuterAlt(_localctx, 1);
\r
893 match(TocParser::T__0);
\r
896 catch (RecognitionException &e) {
\r
897 _errHandler->reportError(this, e);
\r
898 _localctx->exception = std::current_exception();
\r
899 _errHandler->recover(this, _localctx->exception);
\r
905 //----------------- StructMethodContext ------------------------------------------------------------------
\r
907 TocParser::StructMethodContext::StructMethodContext(ParserRuleContext *parent, size_t invokingState)
\r
908 : ParserRuleContext(parent, invokingState) {
\r
911 TocParser::FuncContext* TocParser::StructMethodContext::func() {
\r
912 return getRuleContext<TocParser::FuncContext>(0);
\r
916 size_t TocParser::StructMethodContext::getRuleIndex() const {
\r
917 return TocParser::RuleStructMethod;
\r
921 TocParser::StructMethodContext* TocParser::structMethod() {
\r
922 StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());
\r
923 enterRule(_localctx, 28, TocParser::RuleStructMethod);
\r
925 #if __cplusplus > 201703L
\r
926 auto onExit = finally([=, this] {
\r
928 auto onExit = finally([=] {
\r
933 enterOuterAlt(_localctx, 1);
\r
938 catch (RecognitionException &e) {
\r
939 _errHandler->reportError(this, e);
\r
940 _localctx->exception = std::current_exception();
\r
941 _errHandler->recover(this, _localctx->exception);
\r
947 //----------------- StmtContext ------------------------------------------------------------------
\r
949 TocParser::StmtContext::StmtContext(ParserRuleContext *parent, size_t invokingState)
\r
950 : ParserRuleContext(parent, invokingState) {
\r
953 TocParser::VarDeclContext* TocParser::StmtContext::varDecl() {
\r
954 return getRuleContext<TocParser::VarDeclContext>(0);
\r
957 TocParser::IfStmtContext* TocParser::StmtContext::ifStmt() {
\r
958 return getRuleContext<TocParser::IfStmtContext>(0);
\r
961 TocParser::SwitchStmtContext* TocParser::StmtContext::switchStmt() {
\r
962 return getRuleContext<TocParser::SwitchStmtContext>(0);
\r
965 TocParser::ForStmtContext* TocParser::StmtContext::forStmt() {
\r
966 return getRuleContext<TocParser::ForStmtContext>(0);
\r
969 TocParser::WhileStmtContext* TocParser::StmtContext::whileStmt() {
\r
970 return getRuleContext<TocParser::WhileStmtContext>(0);
\r
973 TocParser::AssignStmtContext* TocParser::StmtContext::assignStmt() {
\r
974 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
977 TocParser::ReturnStmtContext* TocParser::StmtContext::returnStmt() {
\r
978 return getRuleContext<TocParser::ReturnStmtContext>(0);
\r
981 TocParser::ExprContext* TocParser::StmtContext::expr() {
\r
982 return getRuleContext<TocParser::ExprContext>(0);
\r
986 size_t TocParser::StmtContext::getRuleIndex() const {
\r
987 return TocParser::RuleStmt;
\r
991 TocParser::StmtContext* TocParser::stmt() {
\r
992 StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());
\r
993 enterRule(_localctx, 30, TocParser::RuleStmt);
\r
995 #if __cplusplus > 201703L
\r
996 auto onExit = finally([=, this] {
\r
998 auto onExit = finally([=] {
\r
1004 _errHandler->sync(this);
\r
1005 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 11, _ctx)) {
\r
1007 enterOuterAlt(_localctx, 1);
\r
1011 match(TocParser::T__0);
\r
1016 enterOuterAlt(_localctx, 2);
\r
1023 enterOuterAlt(_localctx, 3);
\r
1030 enterOuterAlt(_localctx, 4);
\r
1037 enterOuterAlt(_localctx, 5);
\r
1044 enterOuterAlt(_localctx, 6);
\r
1048 match(TocParser::T__0);
\r
1053 enterOuterAlt(_localctx, 7);
\r
1057 match(TocParser::T__0);
\r
1062 enterOuterAlt(_localctx, 8);
\r
1066 match(TocParser::T__0);
\r
1075 catch (RecognitionException &e) {
\r
1076 _errHandler->reportError(this, e);
\r
1077 _localctx->exception = std::current_exception();
\r
1078 _errHandler->recover(this, _localctx->exception);
\r
1084 //----------------- IfStmtContext ------------------------------------------------------------------
\r
1086 TocParser::IfStmtContext::IfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1087 : ParserRuleContext(parent, invokingState) {
\r
1090 TocParser::ExprContext* TocParser::IfStmtContext::expr() {
\r
1091 return getRuleContext<TocParser::ExprContext>(0);
\r
1094 TocParser::BodyContext* TocParser::IfStmtContext::body() {
\r
1095 return getRuleContext<TocParser::BodyContext>(0);
\r
1098 std::vector<TocParser::ElseIfStmtContext *> TocParser::IfStmtContext::elseIfStmt() {
\r
1099 return getRuleContexts<TocParser::ElseIfStmtContext>();
\r
1102 TocParser::ElseIfStmtContext* TocParser::IfStmtContext::elseIfStmt(size_t i) {
\r
1103 return getRuleContext<TocParser::ElseIfStmtContext>(i);
\r
1106 TocParser::ElseStmtContext* TocParser::IfStmtContext::elseStmt() {
\r
1107 return getRuleContext<TocParser::ElseStmtContext>(0);
\r
1111 size_t TocParser::IfStmtContext::getRuleIndex() const {
\r
1112 return TocParser::RuleIfStmt;
\r
1116 TocParser::IfStmtContext* TocParser::ifStmt() {
\r
1117 IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());
\r
1118 enterRule(_localctx, 32, TocParser::RuleIfStmt);
\r
1121 #if __cplusplus > 201703L
\r
1122 auto onExit = finally([=, this] {
\r
1124 auto onExit = finally([=] {
\r
1130 enterOuterAlt(_localctx, 1);
\r
1132 match(TocParser::T__14);
\r
1138 _errHandler->sync(this);
\r
1139 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 12, _ctx);
\r
1140 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
1146 _errHandler->sync(this);
\r
1147 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 12, _ctx);
\r
1150 _errHandler->sync(this);
\r
1152 _la = _input->LA(1);
\r
1153 if (_la == TocParser::T__15) {
\r
1159 catch (RecognitionException &e) {
\r
1160 _errHandler->reportError(this, e);
\r
1161 _localctx->exception = std::current_exception();
\r
1162 _errHandler->recover(this, _localctx->exception);
\r
1168 //----------------- ElseIfStmtContext ------------------------------------------------------------------
\r
1170 TocParser::ElseIfStmtContext::ElseIfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1171 : ParserRuleContext(parent, invokingState) {
\r
1174 TocParser::ExprContext* TocParser::ElseIfStmtContext::expr() {
\r
1175 return getRuleContext<TocParser::ExprContext>(0);
\r
1178 TocParser::BodyContext* TocParser::ElseIfStmtContext::body() {
\r
1179 return getRuleContext<TocParser::BodyContext>(0);
\r
1183 size_t TocParser::ElseIfStmtContext::getRuleIndex() const {
\r
1184 return TocParser::RuleElseIfStmt;
\r
1188 TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {
\r
1189 ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());
\r
1190 enterRule(_localctx, 34, TocParser::RuleElseIfStmt);
\r
1192 #if __cplusplus > 201703L
\r
1193 auto onExit = finally([=, this] {
\r
1195 auto onExit = finally([=] {
\r
1200 enterOuterAlt(_localctx, 1);
\r
1202 match(TocParser::T__15);
\r
1204 match(TocParser::T__14);
\r
1211 catch (RecognitionException &e) {
\r
1212 _errHandler->reportError(this, e);
\r
1213 _localctx->exception = std::current_exception();
\r
1214 _errHandler->recover(this, _localctx->exception);
\r
1220 //----------------- ElseStmtContext ------------------------------------------------------------------
\r
1222 TocParser::ElseStmtContext::ElseStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1223 : ParserRuleContext(parent, invokingState) {
\r
1226 TocParser::BodyContext* TocParser::ElseStmtContext::body() {
\r
1227 return getRuleContext<TocParser::BodyContext>(0);
\r
1231 size_t TocParser::ElseStmtContext::getRuleIndex() const {
\r
1232 return TocParser::RuleElseStmt;
\r
1236 TocParser::ElseStmtContext* TocParser::elseStmt() {
\r
1237 ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());
\r
1238 enterRule(_localctx, 36, TocParser::RuleElseStmt);
\r
1240 #if __cplusplus > 201703L
\r
1241 auto onExit = finally([=, this] {
\r
1243 auto onExit = finally([=] {
\r
1248 enterOuterAlt(_localctx, 1);
\r
1250 match(TocParser::T__15);
\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 //----------------- SwitchStmtContext ------------------------------------------------------------------
\r
1266 TocParser::SwitchStmtContext::SwitchStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1267 : ParserRuleContext(parent, invokingState) {
\r
1270 TocParser::IdentifierExprContext* TocParser::SwitchStmtContext::identifierExpr() {
\r
1271 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1274 TocParser::SwitchBodyContext* TocParser::SwitchStmtContext::switchBody() {
\r
1275 return getRuleContext<TocParser::SwitchBodyContext>(0);
\r
1279 size_t TocParser::SwitchStmtContext::getRuleIndex() const {
\r
1280 return TocParser::RuleSwitchStmt;
\r
1284 TocParser::SwitchStmtContext* TocParser::switchStmt() {
\r
1285 SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());
\r
1286 enterRule(_localctx, 38, TocParser::RuleSwitchStmt);
\r
1288 #if __cplusplus > 201703L
\r
1289 auto onExit = finally([=, this] {
\r
1291 auto onExit = finally([=] {
\r
1296 enterOuterAlt(_localctx, 1);
\r
1298 match(TocParser::T__16);
\r
1305 catch (RecognitionException &e) {
\r
1306 _errHandler->reportError(this, e);
\r
1307 _localctx->exception = std::current_exception();
\r
1308 _errHandler->recover(this, _localctx->exception);
\r
1314 //----------------- SwitchBodyContext ------------------------------------------------------------------
\r
1316 TocParser::SwitchBodyContext::SwitchBodyContext(ParserRuleContext *parent, size_t invokingState)
\r
1317 : ParserRuleContext(parent, invokingState) {
\r
1320 std::vector<TocParser::SwitchCaseContext *> TocParser::SwitchBodyContext::switchCase() {
\r
1321 return getRuleContexts<TocParser::SwitchCaseContext>();
\r
1324 TocParser::SwitchCaseContext* TocParser::SwitchBodyContext::switchCase(size_t i) {
\r
1325 return getRuleContext<TocParser::SwitchCaseContext>(i);
\r
1329 size_t TocParser::SwitchBodyContext::getRuleIndex() const {
\r
1330 return TocParser::RuleSwitchBody;
\r
1334 TocParser::SwitchBodyContext* TocParser::switchBody() {
\r
1335 SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());
\r
1336 enterRule(_localctx, 40, TocParser::RuleSwitchBody);
\r
1339 #if __cplusplus > 201703L
\r
1340 auto onExit = finally([=, this] {
\r
1342 auto onExit = finally([=] {
\r
1347 enterOuterAlt(_localctx, 1);
\r
1349 match(TocParser::T__11);
\r
1351 _errHandler->sync(this);
\r
1352 _la = _input->LA(1);
\r
1353 while (_la == TocParser::T__17) {
\r
1357 _errHandler->sync(this);
\r
1358 _la = _input->LA(1);
\r
1361 match(TocParser::T__12);
\r
1364 catch (RecognitionException &e) {
\r
1365 _errHandler->reportError(this, e);
\r
1366 _localctx->exception = std::current_exception();
\r
1367 _errHandler->recover(this, _localctx->exception);
\r
1373 //----------------- SwitchCaseContext ------------------------------------------------------------------
\r
1375 TocParser::SwitchCaseContext::SwitchCaseContext(ParserRuleContext *parent, size_t invokingState)
\r
1376 : ParserRuleContext(parent, invokingState) {
\r
1379 TocParser::ExprContext* TocParser::SwitchCaseContext::expr() {
\r
1380 return getRuleContext<TocParser::ExprContext>(0);
\r
1383 TocParser::BodyContext* TocParser::SwitchCaseContext::body() {
\r
1384 return getRuleContext<TocParser::BodyContext>(0);
\r
1388 size_t TocParser::SwitchCaseContext::getRuleIndex() const {
\r
1389 return TocParser::RuleSwitchCase;
\r
1393 TocParser::SwitchCaseContext* TocParser::switchCase() {
\r
1394 SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());
\r
1395 enterRule(_localctx, 42, TocParser::RuleSwitchCase);
\r
1397 #if __cplusplus > 201703L
\r
1398 auto onExit = finally([=, this] {
\r
1400 auto onExit = finally([=] {
\r
1405 enterOuterAlt(_localctx, 1);
\r
1407 match(TocParser::T__17);
\r
1414 catch (RecognitionException &e) {
\r
1415 _errHandler->reportError(this, e);
\r
1416 _localctx->exception = std::current_exception();
\r
1417 _errHandler->recover(this, _localctx->exception);
\r
1423 //----------------- ForStmtContext ------------------------------------------------------------------
\r
1425 TocParser::ForStmtContext::ForStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1426 : ParserRuleContext(parent, invokingState) {
\r
1429 std::vector<TocParser::ExprContext *> TocParser::ForStmtContext::expr() {
\r
1430 return getRuleContexts<TocParser::ExprContext>();
\r
1433 TocParser::ExprContext* TocParser::ForStmtContext::expr(size_t i) {
\r
1434 return getRuleContext<TocParser::ExprContext>(i);
\r
1437 TocParser::BodyContext* TocParser::ForStmtContext::body() {
\r
1438 return getRuleContext<TocParser::BodyContext>(0);
\r
1441 TocParser::VarInitContext* TocParser::ForStmtContext::varInit() {
\r
1442 return getRuleContext<TocParser::VarInitContext>(0);
\r
1445 TocParser::AssignStmtContext* TocParser::ForStmtContext::assignStmt() {
\r
1446 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1450 size_t TocParser::ForStmtContext::getRuleIndex() const {
\r
1451 return TocParser::RuleForStmt;
\r
1455 TocParser::ForStmtContext* TocParser::forStmt() {
\r
1456 ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());
\r
1457 enterRule(_localctx, 44, TocParser::RuleForStmt);
\r
1459 #if __cplusplus > 201703L
\r
1460 auto onExit = finally([=, this] {
\r
1462 auto onExit = finally([=] {
\r
1467 enterOuterAlt(_localctx, 1);
\r
1469 match(TocParser::T__18);
\r
1471 _errHandler->sync(this);
\r
1472 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 15, _ctx)) {
\r
1489 match(TocParser::T__10);
\r
1493 match(TocParser::T__10);
\r
1500 catch (RecognitionException &e) {
\r
1501 _errHandler->reportError(this, e);
\r
1502 _localctx->exception = std::current_exception();
\r
1503 _errHandler->recover(this, _localctx->exception);
\r
1509 //----------------- WhileStmtContext ------------------------------------------------------------------
\r
1511 TocParser::WhileStmtContext::WhileStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1512 : ParserRuleContext(parent, invokingState) {
\r
1515 TocParser::ExprContext* TocParser::WhileStmtContext::expr() {
\r
1516 return getRuleContext<TocParser::ExprContext>(0);
\r
1519 TocParser::BodyContext* TocParser::WhileStmtContext::body() {
\r
1520 return getRuleContext<TocParser::BodyContext>(0);
\r
1524 size_t TocParser::WhileStmtContext::getRuleIndex() const {
\r
1525 return TocParser::RuleWhileStmt;
\r
1529 TocParser::WhileStmtContext* TocParser::whileStmt() {
\r
1530 WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());
\r
1531 enterRule(_localctx, 46, TocParser::RuleWhileStmt);
\r
1533 #if __cplusplus > 201703L
\r
1534 auto onExit = finally([=, this] {
\r
1536 auto onExit = finally([=] {
\r
1541 enterOuterAlt(_localctx, 1);
\r
1543 match(TocParser::T__19);
\r
1550 catch (RecognitionException &e) {
\r
1551 _errHandler->reportError(this, e);
\r
1552 _localctx->exception = std::current_exception();
\r
1553 _errHandler->recover(this, _localctx->exception);
\r
1559 //----------------- AssignStmtContext ------------------------------------------------------------------
\r
1561 TocParser::AssignStmtContext::AssignStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1562 : ParserRuleContext(parent, invokingState) {
\r
1565 TocParser::IdentifierExprContext* TocParser::AssignStmtContext::identifierExpr() {
\r
1566 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1569 TocParser::ExprContext* TocParser::AssignStmtContext::expr() {
\r
1570 return getRuleContext<TocParser::ExprContext>(0);
\r
1574 size_t TocParser::AssignStmtContext::getRuleIndex() const {
\r
1575 return TocParser::RuleAssignStmt;
\r
1579 TocParser::AssignStmtContext* TocParser::assignStmt() {
\r
1580 AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());
\r
1581 enterRule(_localctx, 48, TocParser::RuleAssignStmt);
\r
1583 #if __cplusplus > 201703L
\r
1584 auto onExit = finally([=, this] {
\r
1586 auto onExit = finally([=] {
\r
1591 enterOuterAlt(_localctx, 1);
\r
1595 match(TocParser::T__3);
\r
1600 catch (RecognitionException &e) {
\r
1601 _errHandler->reportError(this, e);
\r
1602 _localctx->exception = std::current_exception();
\r
1603 _errHandler->recover(this, _localctx->exception);
\r
1609 //----------------- ReturnStmtContext ------------------------------------------------------------------
\r
1611 TocParser::ReturnStmtContext::ReturnStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1612 : ParserRuleContext(parent, invokingState) {
\r
1615 TocParser::ExprContext* TocParser::ReturnStmtContext::expr() {
\r
1616 return getRuleContext<TocParser::ExprContext>(0);
\r
1620 size_t TocParser::ReturnStmtContext::getRuleIndex() const {
\r
1621 return TocParser::RuleReturnStmt;
\r
1625 TocParser::ReturnStmtContext* TocParser::returnStmt() {
\r
1626 ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());
\r
1627 enterRule(_localctx, 50, TocParser::RuleReturnStmt);
\r
1629 #if __cplusplus > 201703L
\r
1630 auto onExit = finally([=, this] {
\r
1632 auto onExit = finally([=] {
\r
1637 enterOuterAlt(_localctx, 1);
\r
1639 match(TocParser::T__20);
\r
1644 catch (RecognitionException &e) {
\r
1645 _errHandler->reportError(this, e);
\r
1646 _localctx->exception = std::current_exception();
\r
1647 _errHandler->recover(this, _localctx->exception);
\r
1653 //----------------- ExprContext ------------------------------------------------------------------
\r
1655 TocParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1656 : ParserRuleContext(parent, invokingState) {
\r
1659 TocParser::FuncExprContext* TocParser::ExprContext::funcExpr() {
\r
1660 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1663 TocParser::LitExprContext* TocParser::ExprContext::litExpr() {
\r
1664 return getRuleContext<TocParser::LitExprContext>(0);
\r
1667 TocParser::IdentifierExprContext* TocParser::ExprContext::identifierExpr() {
\r
1668 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1671 TocParser::ParenExprContext* TocParser::ExprContext::parenExpr() {
\r
1672 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1675 TocParser::AccessExprContext* TocParser::ExprContext::accessExpr() {
\r
1676 return getRuleContext<TocParser::AccessExprContext>(0);
\r
1679 TocParser::OpExprContext* TocParser::ExprContext::opExpr() {
\r
1680 return getRuleContext<TocParser::OpExprContext>(0);
\r
1684 size_t TocParser::ExprContext::getRuleIndex() const {
\r
1685 return TocParser::RuleExpr;
\r
1689 TocParser::ExprContext* TocParser::expr() {
\r
1690 ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, getState());
\r
1691 enterRule(_localctx, 52, TocParser::RuleExpr);
\r
1693 #if __cplusplus > 201703L
\r
1694 auto onExit = finally([=, this] {
\r
1696 auto onExit = finally([=] {
\r
1702 _errHandler->sync(this);
\r
1703 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 16, _ctx)) {
\r
1705 enterOuterAlt(_localctx, 1);
\r
1712 enterOuterAlt(_localctx, 2);
\r
1719 enterOuterAlt(_localctx, 3);
\r
1726 enterOuterAlt(_localctx, 4);
\r
1733 enterOuterAlt(_localctx, 5);
\r
1740 enterOuterAlt(_localctx, 6);
\r
1751 catch (RecognitionException &e) {
\r
1752 _errHandler->reportError(this, e);
\r
1753 _localctx->exception = std::current_exception();
\r
1754 _errHandler->recover(this, _localctx->exception);
\r
1760 //----------------- NonOpExprContext ------------------------------------------------------------------
\r
1762 TocParser::NonOpExprContext::NonOpExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1763 : ParserRuleContext(parent, invokingState) {
\r
1766 TocParser::FuncExprContext* TocParser::NonOpExprContext::funcExpr() {
\r
1767 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1770 TocParser::LitExprContext* TocParser::NonOpExprContext::litExpr() {
\r
1771 return getRuleContext<TocParser::LitExprContext>(0);
\r
1774 TocParser::IdentifierExprContext* TocParser::NonOpExprContext::identifierExpr() {
\r
1775 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1778 TocParser::ParenExprContext* TocParser::NonOpExprContext::parenExpr() {
\r
1779 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1782 TocParser::AccessExprContext* TocParser::NonOpExprContext::accessExpr() {
\r
1783 return getRuleContext<TocParser::AccessExprContext>(0);
\r
1787 size_t TocParser::NonOpExprContext::getRuleIndex() const {
\r
1788 return TocParser::RuleNonOpExpr;
\r
1792 TocParser::NonOpExprContext* TocParser::nonOpExpr() {
\r
1793 NonOpExprContext *_localctx = _tracker.createInstance<NonOpExprContext>(_ctx, getState());
\r
1794 enterRule(_localctx, 54, TocParser::RuleNonOpExpr);
\r
1796 #if __cplusplus > 201703L
\r
1797 auto onExit = finally([=, this] {
\r
1799 auto onExit = finally([=] {
\r
1805 _errHandler->sync(this);
\r
1806 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 17, _ctx)) {
\r
1808 enterOuterAlt(_localctx, 1);
\r
1815 enterOuterAlt(_localctx, 2);
\r
1822 enterOuterAlt(_localctx, 3);
\r
1829 enterOuterAlt(_localctx, 4);
\r
1836 enterOuterAlt(_localctx, 5);
\r
1847 catch (RecognitionException &e) {
\r
1848 _errHandler->reportError(this, e);
\r
1849 _localctx->exception = std::current_exception();
\r
1850 _errHandler->recover(this, _localctx->exception);
\r
1856 //----------------- NonAccessExprContext ------------------------------------------------------------------
\r
1858 TocParser::NonAccessExprContext::NonAccessExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1859 : ParserRuleContext(parent, invokingState) {
\r
1862 TocParser::FuncExprContext* TocParser::NonAccessExprContext::funcExpr() {
\r
1863 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1866 TocParser::IdentifierExprContext* TocParser::NonAccessExprContext::identifierExpr() {
\r
1867 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1870 TocParser::ParenExprContext* TocParser::NonAccessExprContext::parenExpr() {
\r
1871 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1875 size_t TocParser::NonAccessExprContext::getRuleIndex() const {
\r
1876 return TocParser::RuleNonAccessExpr;
\r
1880 TocParser::NonAccessExprContext* TocParser::nonAccessExpr() {
\r
1881 NonAccessExprContext *_localctx = _tracker.createInstance<NonAccessExprContext>(_ctx, getState());
\r
1882 enterRule(_localctx, 56, TocParser::RuleNonAccessExpr);
\r
1884 #if __cplusplus > 201703L
\r
1885 auto onExit = finally([=, this] {
\r
1887 auto onExit = finally([=] {
\r
1893 _errHandler->sync(this);
\r
1894 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 18, _ctx)) {
\r
1896 enterOuterAlt(_localctx, 1);
\r
1903 enterOuterAlt(_localctx, 2);
\r
1910 enterOuterAlt(_localctx, 3);
\r
1921 catch (RecognitionException &e) {
\r
1922 _errHandler->reportError(this, e);
\r
1923 _localctx->exception = std::current_exception();
\r
1924 _errHandler->recover(this, _localctx->exception);
\r
1930 //----------------- FuncExprContext ------------------------------------------------------------------
\r
1932 TocParser::FuncExprContext::FuncExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1933 : ParserRuleContext(parent, invokingState) {
\r
1936 TocParser::FuncNameContext* TocParser::FuncExprContext::funcName() {
\r
1937 return getRuleContext<TocParser::FuncNameContext>(0);
\r
1940 std::vector<TocParser::ExprContext *> TocParser::FuncExprContext::expr() {
\r
1941 return getRuleContexts<TocParser::ExprContext>();
\r
1944 TocParser::ExprContext* TocParser::FuncExprContext::expr(size_t i) {
\r
1945 return getRuleContext<TocParser::ExprContext>(i);
\r
1949 size_t TocParser::FuncExprContext::getRuleIndex() const {
\r
1950 return TocParser::RuleFuncExpr;
\r
1954 TocParser::FuncExprContext* TocParser::funcExpr() {
\r
1955 FuncExprContext *_localctx = _tracker.createInstance<FuncExprContext>(_ctx, getState());
\r
1956 enterRule(_localctx, 58, TocParser::RuleFuncExpr);
\r
1959 #if __cplusplus > 201703L
\r
1960 auto onExit = finally([=, this] {
\r
1962 auto onExit = finally([=] {
\r
1967 enterOuterAlt(_localctx, 1);
\r
1971 match(TocParser::T__8);
\r
1973 _errHandler->sync(this);
\r
1975 _la = _input->LA(1);
\r
1976 if ((((_la & ~ 0x3fULL) == 0) &&
\r
1977 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
1978 | (1ULL << TocParser::T__8)
\r
1979 | (1ULL << TocParser::T__24)
\r
1980 | (1ULL << TocParser::T__25)
\r
1981 | (1ULL << TocParser::T__26)
\r
1982 | (1ULL << TocParser::T__27)
\r
1983 | (1ULL << TocParser::T__28)
\r
1984 | (1ULL << TocParser::T__29)
\r
1985 | (1ULL << TocParser::T__30)
\r
1986 | (1ULL << TocParser::INT_LIT)
\r
1987 | (1ULL << TocParser::DECIMAL_LIT)
\r
1988 | (1ULL << TocParser::STRING_LIT)
\r
1989 | (1ULL << TocParser::BOOL_LIT)
\r
1990 | (1ULL << TocParser::NAME))) != 0)) {
\r
1994 _errHandler->sync(this);
\r
1995 _la = _input->LA(1);
\r
1996 while (_la == TocParser::T__10) {
\r
1998 match(TocParser::T__10);
\r
2002 _errHandler->sync(this);
\r
2003 _la = _input->LA(1);
\r
2007 match(TocParser::T__9);
\r
2010 catch (RecognitionException &e) {
\r
2011 _errHandler->reportError(this, e);
\r
2012 _localctx->exception = std::current_exception();
\r
2013 _errHandler->recover(this, _localctx->exception);
\r
2019 //----------------- OpExprContext ------------------------------------------------------------------
\r
2021 TocParser::OpExprContext::OpExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2022 : ParserRuleContext(parent, invokingState) {
\r
2025 TocParser::BinaryOpContext* TocParser::OpExprContext::binaryOp() {
\r
2026 return getRuleContext<TocParser::BinaryOpContext>(0);
\r
2029 TocParser::PrefixOpContext* TocParser::OpExprContext::prefixOp() {
\r
2030 return getRuleContext<TocParser::PrefixOpContext>(0);
\r
2033 TocParser::PostfixOpContext* TocParser::OpExprContext::postfixOp() {
\r
2034 return getRuleContext<TocParser::PostfixOpContext>(0);
\r
2037 TocParser::TernaryOpContext* TocParser::OpExprContext::ternaryOp() {
\r
2038 return getRuleContext<TocParser::TernaryOpContext>(0);
\r
2042 size_t TocParser::OpExprContext::getRuleIndex() const {
\r
2043 return TocParser::RuleOpExpr;
\r
2047 TocParser::OpExprContext* TocParser::opExpr() {
\r
2048 OpExprContext *_localctx = _tracker.createInstance<OpExprContext>(_ctx, getState());
\r
2049 enterRule(_localctx, 60, TocParser::RuleOpExpr);
\r
2051 #if __cplusplus > 201703L
\r
2052 auto onExit = finally([=, this] {
\r
2054 auto onExit = finally([=] {
\r
2060 _errHandler->sync(this);
\r
2061 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 21, _ctx)) {
\r
2063 enterOuterAlt(_localctx, 1);
\r
2070 enterOuterAlt(_localctx, 2);
\r
2077 enterOuterAlt(_localctx, 3);
\r
2084 enterOuterAlt(_localctx, 4);
\r
2095 catch (RecognitionException &e) {
\r
2096 _errHandler->reportError(this, e);
\r
2097 _localctx->exception = std::current_exception();
\r
2098 _errHandler->recover(this, _localctx->exception);
\r
2104 //----------------- BinaryOpContext ------------------------------------------------------------------
\r
2106 TocParser::BinaryOpContext::BinaryOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2107 : ParserRuleContext(parent, invokingState) {
\r
2110 std::vector<TocParser::NonOpExprContext *> TocParser::BinaryOpContext::nonOpExpr() {
\r
2111 return getRuleContexts<TocParser::NonOpExprContext>();
\r
2114 TocParser::NonOpExprContext* TocParser::BinaryOpContext::nonOpExpr(size_t i) {
\r
2115 return getRuleContext<TocParser::NonOpExprContext>(i);
\r
2118 std::vector<TocParser::Binary_opContext *> TocParser::BinaryOpContext::binary_op() {
\r
2119 return getRuleContexts<TocParser::Binary_opContext>();
\r
2122 TocParser::Binary_opContext* TocParser::BinaryOpContext::binary_op(size_t i) {
\r
2123 return getRuleContext<TocParser::Binary_opContext>(i);
\r
2127 size_t TocParser::BinaryOpContext::getRuleIndex() const {
\r
2128 return TocParser::RuleBinaryOp;
\r
2132 TocParser::BinaryOpContext* TocParser::binaryOp() {
\r
2133 BinaryOpContext *_localctx = _tracker.createInstance<BinaryOpContext>(_ctx, getState());
\r
2134 enterRule(_localctx, 62, TocParser::RuleBinaryOp);
\r
2137 #if __cplusplus > 201703L
\r
2138 auto onExit = finally([=, this] {
\r
2140 auto onExit = finally([=] {
\r
2145 enterOuterAlt(_localctx, 1);
\r
2153 _errHandler->sync(this);
\r
2154 _la = _input->LA(1);
\r
2155 while ((((_la & ~ 0x3fULL) == 0) &&
\r
2156 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
2157 | (1ULL << TocParser::T__26)
\r
2158 | (1ULL << TocParser::T__27)
\r
2159 | (1ULL << TocParser::T__30)
\r
2160 | (1ULL << TocParser::T__31)
\r
2161 | (1ULL << TocParser::T__32)
\r
2162 | (1ULL << TocParser::T__33)
\r
2163 | (1ULL << TocParser::T__34)
\r
2164 | (1ULL << TocParser::T__35)
\r
2165 | (1ULL << TocParser::T__36)
\r
2166 | (1ULL << TocParser::T__37)
\r
2167 | (1ULL << TocParser::T__38)
\r
2168 | (1ULL << TocParser::T__39)
\r
2169 | (1ULL << TocParser::T__40)
\r
2170 | (1ULL << TocParser::T__41)
\r
2171 | (1ULL << TocParser::T__42)
\r
2172 | (1ULL << TocParser::T__43)
\r
2173 | (1ULL << TocParser::T__44)
\r
2174 | (1ULL << TocParser::T__45)
\r
2175 | (1ULL << TocParser::T__46)
\r
2176 | (1ULL << TocParser::T__47)
\r
2177 | (1ULL << TocParser::T__48)
\r
2178 | (1ULL << TocParser::T__49)
\r
2179 | (1ULL << TocParser::T__50)
\r
2180 | (1ULL << TocParser::T__51)
\r
2181 | (1ULL << TocParser::T__52)
\r
2182 | (1ULL << TocParser::T__53)
\r
2183 | (1ULL << TocParser::T__54))) != 0)) {
\r
2189 _errHandler->sync(this);
\r
2190 _la = _input->LA(1);
\r
2194 catch (RecognitionException &e) {
\r
2195 _errHandler->reportError(this, e);
\r
2196 _localctx->exception = std::current_exception();
\r
2197 _errHandler->recover(this, _localctx->exception);
\r
2203 //----------------- PrefixOpContext ------------------------------------------------------------------
\r
2205 TocParser::PrefixOpContext::PrefixOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2206 : ParserRuleContext(parent, invokingState) {
\r
2209 TocParser::Prefix_opContext* TocParser::PrefixOpContext::prefix_op() {
\r
2210 return getRuleContext<TocParser::Prefix_opContext>(0);
\r
2213 TocParser::NonOpExprContext* TocParser::PrefixOpContext::nonOpExpr() {
\r
2214 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2218 size_t TocParser::PrefixOpContext::getRuleIndex() const {
\r
2219 return TocParser::RulePrefixOp;
\r
2223 TocParser::PrefixOpContext* TocParser::prefixOp() {
\r
2224 PrefixOpContext *_localctx = _tracker.createInstance<PrefixOpContext>(_ctx, getState());
\r
2225 enterRule(_localctx, 64, TocParser::RulePrefixOp);
\r
2227 #if __cplusplus > 201703L
\r
2228 auto onExit = finally([=, this] {
\r
2230 auto onExit = finally([=] {
\r
2235 enterOuterAlt(_localctx, 1);
\r
2242 catch (RecognitionException &e) {
\r
2243 _errHandler->reportError(this, e);
\r
2244 _localctx->exception = std::current_exception();
\r
2245 _errHandler->recover(this, _localctx->exception);
\r
2251 //----------------- PostfixOpContext ------------------------------------------------------------------
\r
2253 TocParser::PostfixOpContext::PostfixOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2254 : ParserRuleContext(parent, invokingState) {
\r
2257 TocParser::NonOpExprContext* TocParser::PostfixOpContext::nonOpExpr() {
\r
2258 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2261 TocParser::Postfix_opContext* TocParser::PostfixOpContext::postfix_op() {
\r
2262 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2266 size_t TocParser::PostfixOpContext::getRuleIndex() const {
\r
2267 return TocParser::RulePostfixOp;
\r
2271 TocParser::PostfixOpContext* TocParser::postfixOp() {
\r
2272 PostfixOpContext *_localctx = _tracker.createInstance<PostfixOpContext>(_ctx, getState());
\r
2273 enterRule(_localctx, 66, TocParser::RulePostfixOp);
\r
2275 #if __cplusplus > 201703L
\r
2276 auto onExit = finally([=, this] {
\r
2278 auto onExit = finally([=] {
\r
2283 enterOuterAlt(_localctx, 1);
\r
2290 catch (RecognitionException &e) {
\r
2291 _errHandler->reportError(this, e);
\r
2292 _localctx->exception = std::current_exception();
\r
2293 _errHandler->recover(this, _localctx->exception);
\r
2299 //----------------- TernaryOpContext ------------------------------------------------------------------
\r
2301 TocParser::TernaryOpContext::TernaryOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2302 : ParserRuleContext(parent, invokingState) {
\r
2305 TocParser::NonOpExprContext* TocParser::TernaryOpContext::nonOpExpr() {
\r
2306 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2309 std::vector<TocParser::ExprContext *> TocParser::TernaryOpContext::expr() {
\r
2310 return getRuleContexts<TocParser::ExprContext>();
\r
2313 TocParser::ExprContext* TocParser::TernaryOpContext::expr(size_t i) {
\r
2314 return getRuleContext<TocParser::ExprContext>(i);
\r
2318 size_t TocParser::TernaryOpContext::getRuleIndex() const {
\r
2319 return TocParser::RuleTernaryOp;
\r
2323 TocParser::TernaryOpContext* TocParser::ternaryOp() {
\r
2324 TernaryOpContext *_localctx = _tracker.createInstance<TernaryOpContext>(_ctx, getState());
\r
2325 enterRule(_localctx, 68, TocParser::RuleTernaryOp);
\r
2327 #if __cplusplus > 201703L
\r
2328 auto onExit = finally([=, this] {
\r
2330 auto onExit = finally([=] {
\r
2335 enterOuterAlt(_localctx, 1);
\r
2339 match(TocParser::T__21);
\r
2343 match(TocParser::T__2);
\r
2348 catch (RecognitionException &e) {
\r
2349 _errHandler->reportError(this, e);
\r
2350 _localctx->exception = std::current_exception();
\r
2351 _errHandler->recover(this, _localctx->exception);
\r
2357 //----------------- IdentifierExprContext ------------------------------------------------------------------
\r
2359 TocParser::IdentifierExprContext::IdentifierExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2360 : ParserRuleContext(parent, invokingState) {
\r
2363 TocParser::VarNameContext* TocParser::IdentifierExprContext::varName() {
\r
2364 return getRuleContext<TocParser::VarNameContext>(0);
\r
2368 size_t TocParser::IdentifierExprContext::getRuleIndex() const {
\r
2369 return TocParser::RuleIdentifierExpr;
\r
2373 TocParser::IdentifierExprContext* TocParser::identifierExpr() {
\r
2374 IdentifierExprContext *_localctx = _tracker.createInstance<IdentifierExprContext>(_ctx, getState());
\r
2375 enterRule(_localctx, 70, TocParser::RuleIdentifierExpr);
\r
2377 #if __cplusplus > 201703L
\r
2378 auto onExit = finally([=, this] {
\r
2380 auto onExit = finally([=] {
\r
2385 enterOuterAlt(_localctx, 1);
\r
2390 catch (RecognitionException &e) {
\r
2391 _errHandler->reportError(this, e);
\r
2392 _localctx->exception = std::current_exception();
\r
2393 _errHandler->recover(this, _localctx->exception);
\r
2399 //----------------- LitExprContext ------------------------------------------------------------------
\r
2401 TocParser::LitExprContext::LitExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2402 : ParserRuleContext(parent, invokingState) {
\r
2405 tree::TerminalNode* TocParser::LitExprContext::INT_LIT() {
\r
2406 return getToken(TocParser::INT_LIT, 0);
\r
2409 tree::TerminalNode* TocParser::LitExprContext::DECIMAL_LIT() {
\r
2410 return getToken(TocParser::DECIMAL_LIT, 0);
\r
2413 tree::TerminalNode* TocParser::LitExprContext::STRING_LIT() {
\r
2414 return getToken(TocParser::STRING_LIT, 0);
\r
2417 tree::TerminalNode* TocParser::LitExprContext::BOOL_LIT() {
\r
2418 return getToken(TocParser::BOOL_LIT, 0);
\r
2422 size_t TocParser::LitExprContext::getRuleIndex() const {
\r
2423 return TocParser::RuleLitExpr;
\r
2427 TocParser::LitExprContext* TocParser::litExpr() {
\r
2428 LitExprContext *_localctx = _tracker.createInstance<LitExprContext>(_ctx, getState());
\r
2429 enterRule(_localctx, 72, TocParser::RuleLitExpr);
\r
2432 #if __cplusplus > 201703L
\r
2433 auto onExit = finally([=, this] {
\r
2435 auto onExit = finally([=] {
\r
2440 enterOuterAlt(_localctx, 1);
\r
2442 _la = _input->LA(1);
\r
2443 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2444 ((1ULL << _la) & ((1ULL << TocParser::INT_LIT)
\r
2445 | (1ULL << TocParser::DECIMAL_LIT)
\r
2446 | (1ULL << TocParser::STRING_LIT)
\r
2447 | (1ULL << TocParser::BOOL_LIT))) != 0))) {
\r
2448 _errHandler->recoverInline(this);
\r
2451 _errHandler->reportMatch(this);
\r
2456 catch (RecognitionException &e) {
\r
2457 _errHandler->reportError(this, e);
\r
2458 _localctx->exception = std::current_exception();
\r
2459 _errHandler->recover(this, _localctx->exception);
\r
2465 //----------------- AccessExprContext ------------------------------------------------------------------
\r
2467 TocParser::AccessExprContext::AccessExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2468 : ParserRuleContext(parent, invokingState) {
\r
2471 TocParser::NonAccessExprContext* TocParser::AccessExprContext::nonAccessExpr() {
\r
2472 return getRuleContext<TocParser::NonAccessExprContext>(0);
\r
2475 std::vector<TocParser::AccessSubExprContext *> TocParser::AccessExprContext::accessSubExpr() {
\r
2476 return getRuleContexts<TocParser::AccessSubExprContext>();
\r
2479 TocParser::AccessSubExprContext* TocParser::AccessExprContext::accessSubExpr(size_t i) {
\r
2480 return getRuleContext<TocParser::AccessSubExprContext>(i);
\r
2484 size_t TocParser::AccessExprContext::getRuleIndex() const {
\r
2485 return TocParser::RuleAccessExpr;
\r
2489 TocParser::AccessExprContext* TocParser::accessExpr() {
\r
2490 AccessExprContext *_localctx = _tracker.createInstance<AccessExprContext>(_ctx, getState());
\r
2491 enterRule(_localctx, 74, TocParser::RuleAccessExpr);
\r
2494 #if __cplusplus > 201703L
\r
2495 auto onExit = finally([=, this] {
\r
2497 auto onExit = finally([=] {
\r
2502 enterOuterAlt(_localctx, 1);
\r
2506 _errHandler->sync(this);
\r
2507 _la = _input->LA(1);
\r
2512 _errHandler->sync(this);
\r
2513 _la = _input->LA(1);
\r
2514 } while ((((_la & ~ 0x3fULL) == 0) &&
\r
2515 ((1ULL << _la) & ((1ULL << TocParser::T__5)
\r
2516 | (1ULL << TocParser::T__22)
\r
2517 | (1ULL << TocParser::T__23))) != 0));
\r
2520 catch (RecognitionException &e) {
\r
2521 _errHandler->reportError(this, e);
\r
2522 _localctx->exception = std::current_exception();
\r
2523 _errHandler->recover(this, _localctx->exception);
\r
2529 //----------------- AccessSubExprContext ------------------------------------------------------------------
\r
2531 TocParser::AccessSubExprContext::AccessSubExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2532 : ParserRuleContext(parent, invokingState) {
\r
2535 TocParser::AccessMemberContext* TocParser::AccessSubExprContext::accessMember() {
\r
2536 return getRuleContext<TocParser::AccessMemberContext>(0);
\r
2539 TocParser::AccessBracketsContext* TocParser::AccessSubExprContext::accessBrackets() {
\r
2540 return getRuleContext<TocParser::AccessBracketsContext>(0);
\r
2544 size_t TocParser::AccessSubExprContext::getRuleIndex() const {
\r
2545 return TocParser::RuleAccessSubExpr;
\r
2549 TocParser::AccessSubExprContext* TocParser::accessSubExpr() {
\r
2550 AccessSubExprContext *_localctx = _tracker.createInstance<AccessSubExprContext>(_ctx, getState());
\r
2551 enterRule(_localctx, 76, TocParser::RuleAccessSubExpr);
\r
2553 #if __cplusplus > 201703L
\r
2554 auto onExit = finally([=, this] {
\r
2556 auto onExit = finally([=] {
\r
2562 _errHandler->sync(this);
\r
2563 switch (_input->LA(1)) {
\r
2564 case TocParser::T__22:
\r
2565 case TocParser::T__23: {
\r
2566 enterOuterAlt(_localctx, 1);
\r
2572 case TocParser::T__5: {
\r
2573 enterOuterAlt(_localctx, 2);
\r
2580 throw NoViableAltException(this);
\r
2584 catch (RecognitionException &e) {
\r
2585 _errHandler->reportError(this, e);
\r
2586 _localctx->exception = std::current_exception();
\r
2587 _errHandler->recover(this, _localctx->exception);
\r
2593 //----------------- AccessMemberContext ------------------------------------------------------------------
\r
2595 TocParser::AccessMemberContext::AccessMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
2596 : ParserRuleContext(parent, invokingState) {
\r
2599 TocParser::IdentifierExprContext* TocParser::AccessMemberContext::identifierExpr() {
\r
2600 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
2604 size_t TocParser::AccessMemberContext::getRuleIndex() const {
\r
2605 return TocParser::RuleAccessMember;
\r
2609 TocParser::AccessMemberContext* TocParser::accessMember() {
\r
2610 AccessMemberContext *_localctx = _tracker.createInstance<AccessMemberContext>(_ctx, getState());
\r
2611 enterRule(_localctx, 78, TocParser::RuleAccessMember);
\r
2614 #if __cplusplus > 201703L
\r
2615 auto onExit = finally([=, this] {
\r
2617 auto onExit = finally([=] {
\r
2622 enterOuterAlt(_localctx, 1);
\r
2624 _la = _input->LA(1);
\r
2625 if (!(_la == TocParser::T__22
\r
2627 || _la == TocParser::T__23)) {
\r
2628 _errHandler->recoverInline(this);
\r
2631 _errHandler->reportMatch(this);
\r
2638 catch (RecognitionException &e) {
\r
2639 _errHandler->reportError(this, e);
\r
2640 _localctx->exception = std::current_exception();
\r
2641 _errHandler->recover(this, _localctx->exception);
\r
2647 //----------------- AccessBracketsContext ------------------------------------------------------------------
\r
2649 TocParser::AccessBracketsContext::AccessBracketsContext(ParserRuleContext *parent, size_t invokingState)
\r
2650 : ParserRuleContext(parent, invokingState) {
\r
2653 TocParser::ExprContext* TocParser::AccessBracketsContext::expr() {
\r
2654 return getRuleContext<TocParser::ExprContext>(0);
\r
2658 size_t TocParser::AccessBracketsContext::getRuleIndex() const {
\r
2659 return TocParser::RuleAccessBrackets;
\r
2663 TocParser::AccessBracketsContext* TocParser::accessBrackets() {
\r
2664 AccessBracketsContext *_localctx = _tracker.createInstance<AccessBracketsContext>(_ctx, getState());
\r
2665 enterRule(_localctx, 80, TocParser::RuleAccessBrackets);
\r
2667 #if __cplusplus > 201703L
\r
2668 auto onExit = finally([=, this] {
\r
2670 auto onExit = finally([=] {
\r
2675 enterOuterAlt(_localctx, 1);
\r
2677 match(TocParser::T__5);
\r
2681 match(TocParser::T__6);
\r
2684 catch (RecognitionException &e) {
\r
2685 _errHandler->reportError(this, e);
\r
2686 _localctx->exception = std::current_exception();
\r
2687 _errHandler->recover(this, _localctx->exception);
\r
2693 //----------------- ParenExprContext ------------------------------------------------------------------
\r
2695 TocParser::ParenExprContext::ParenExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2696 : ParserRuleContext(parent, invokingState) {
\r
2699 TocParser::ExprContext* TocParser::ParenExprContext::expr() {
\r
2700 return getRuleContext<TocParser::ExprContext>(0);
\r
2704 size_t TocParser::ParenExprContext::getRuleIndex() const {
\r
2705 return TocParser::RuleParenExpr;
\r
2709 TocParser::ParenExprContext* TocParser::parenExpr() {
\r
2710 ParenExprContext *_localctx = _tracker.createInstance<ParenExprContext>(_ctx, getState());
\r
2711 enterRule(_localctx, 82, TocParser::RuleParenExpr);
\r
2713 #if __cplusplus > 201703L
\r
2714 auto onExit = finally([=, this] {
\r
2716 auto onExit = finally([=] {
\r
2721 enterOuterAlt(_localctx, 1);
\r
2723 match(TocParser::T__8);
\r
2727 match(TocParser::T__9);
\r
2730 catch (RecognitionException &e) {
\r
2731 _errHandler->reportError(this, e);
\r
2732 _localctx->exception = std::current_exception();
\r
2733 _errHandler->recover(this, _localctx->exception);
\r
2739 //----------------- FuncNameContext ------------------------------------------------------------------
\r
2741 TocParser::FuncNameContext::FuncNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2742 : ParserRuleContext(parent, invokingState) {
\r
2745 tree::TerminalNode* TocParser::FuncNameContext::NAME() {
\r
2746 return getToken(TocParser::NAME, 0);
\r
2750 size_t TocParser::FuncNameContext::getRuleIndex() const {
\r
2751 return TocParser::RuleFuncName;
\r
2755 TocParser::FuncNameContext* TocParser::funcName() {
\r
2756 FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());
\r
2757 enterRule(_localctx, 84, TocParser::RuleFuncName);
\r
2759 #if __cplusplus > 201703L
\r
2760 auto onExit = finally([=, this] {
\r
2762 auto onExit = finally([=] {
\r
2767 enterOuterAlt(_localctx, 1);
\r
2769 match(TocParser::NAME);
\r
2772 catch (RecognitionException &e) {
\r
2773 _errHandler->reportError(this, e);
\r
2774 _localctx->exception = std::current_exception();
\r
2775 _errHandler->recover(this, _localctx->exception);
\r
2781 //----------------- VarNameContext ------------------------------------------------------------------
\r
2783 TocParser::VarNameContext::VarNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2784 : ParserRuleContext(parent, invokingState) {
\r
2787 tree::TerminalNode* TocParser::VarNameContext::NAME() {
\r
2788 return getToken(TocParser::NAME, 0);
\r
2792 size_t TocParser::VarNameContext::getRuleIndex() const {
\r
2793 return TocParser::RuleVarName;
\r
2797 TocParser::VarNameContext* TocParser::varName() {
\r
2798 VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());
\r
2799 enterRule(_localctx, 86, TocParser::RuleVarName);
\r
2801 #if __cplusplus > 201703L
\r
2802 auto onExit = finally([=, this] {
\r
2804 auto onExit = finally([=] {
\r
2809 enterOuterAlt(_localctx, 1);
\r
2811 match(TocParser::NAME);
\r
2814 catch (RecognitionException &e) {
\r
2815 _errHandler->reportError(this, e);
\r
2816 _localctx->exception = std::current_exception();
\r
2817 _errHandler->recover(this, _localctx->exception);
\r
2823 //----------------- TypeNameContext ------------------------------------------------------------------
\r
2825 TocParser::TypeNameContext::TypeNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2826 : ParserRuleContext(parent, invokingState) {
\r
2829 tree::TerminalNode* TocParser::TypeNameContext::NAME() {
\r
2830 return getToken(TocParser::NAME, 0);
\r
2834 size_t TocParser::TypeNameContext::getRuleIndex() const {
\r
2835 return TocParser::RuleTypeName;
\r
2839 TocParser::TypeNameContext* TocParser::typeName() {
\r
2840 TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());
\r
2841 enterRule(_localctx, 88, TocParser::RuleTypeName);
\r
2843 #if __cplusplus > 201703L
\r
2844 auto onExit = finally([=, this] {
\r
2846 auto onExit = finally([=] {
\r
2851 enterOuterAlt(_localctx, 1);
\r
2853 match(TocParser::NAME);
\r
2856 catch (RecognitionException &e) {
\r
2857 _errHandler->reportError(this, e);
\r
2858 _localctx->exception = std::current_exception();
\r
2859 _errHandler->recover(this, _localctx->exception);
\r
2865 //----------------- StructNameContext ------------------------------------------------------------------
\r
2867 TocParser::StructNameContext::StructNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2868 : ParserRuleContext(parent, invokingState) {
\r
2871 tree::TerminalNode* TocParser::StructNameContext::NAME() {
\r
2872 return getToken(TocParser::NAME, 0);
\r
2876 size_t TocParser::StructNameContext::getRuleIndex() const {
\r
2877 return TocParser::RuleStructName;
\r
2881 TocParser::StructNameContext* TocParser::structName() {
\r
2882 StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());
\r
2883 enterRule(_localctx, 90, TocParser::RuleStructName);
\r
2885 #if __cplusplus > 201703L
\r
2886 auto onExit = finally([=, this] {
\r
2888 auto onExit = finally([=] {
\r
2893 enterOuterAlt(_localctx, 1);
\r
2895 match(TocParser::NAME);
\r
2898 catch (RecognitionException &e) {
\r
2899 _errHandler->reportError(this, e);
\r
2900 _localctx->exception = std::current_exception();
\r
2901 _errHandler->recover(this, _localctx->exception);
\r
2907 //----------------- Postfix_opContext ------------------------------------------------------------------
\r
2909 TocParser::Postfix_opContext::Postfix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2910 : ParserRuleContext(parent, invokingState) {
\r
2914 size_t TocParser::Postfix_opContext::getRuleIndex() const {
\r
2915 return TocParser::RulePostfix_op;
\r
2919 TocParser::Postfix_opContext* TocParser::postfix_op() {
\r
2920 Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());
\r
2921 enterRule(_localctx, 92, TocParser::RulePostfix_op);
\r
2924 #if __cplusplus > 201703L
\r
2925 auto onExit = finally([=, this] {
\r
2927 auto onExit = finally([=] {
\r
2932 enterOuterAlt(_localctx, 1);
\r
2934 _la = _input->LA(1);
\r
2935 if (!(_la == TocParser::T__24
\r
2937 || _la == TocParser::T__25)) {
\r
2938 _errHandler->recoverInline(this);
\r
2941 _errHandler->reportMatch(this);
\r
2946 catch (RecognitionException &e) {
\r
2947 _errHandler->reportError(this, e);
\r
2948 _localctx->exception = std::current_exception();
\r
2949 _errHandler->recover(this, _localctx->exception);
\r
2955 //----------------- Prefix_opContext ------------------------------------------------------------------
\r
2957 TocParser::Prefix_opContext::Prefix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2958 : ParserRuleContext(parent, invokingState) {
\r
2961 TocParser::Postfix_opContext* TocParser::Prefix_opContext::postfix_op() {
\r
2962 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2966 size_t TocParser::Prefix_opContext::getRuleIndex() const {
\r
2967 return TocParser::RulePrefix_op;
\r
2971 TocParser::Prefix_opContext* TocParser::prefix_op() {
\r
2972 Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());
\r
2973 enterRule(_localctx, 94, TocParser::RulePrefix_op);
\r
2975 #if __cplusplus > 201703L
\r
2976 auto onExit = finally([=, this] {
\r
2978 auto onExit = finally([=] {
\r
2984 _errHandler->sync(this);
\r
2985 switch (_input->LA(1)) {
\r
2986 case TocParser::T__26: {
\r
2987 enterOuterAlt(_localctx, 1);
\r
2989 match(TocParser::T__26);
\r
2993 case TocParser::T__27: {
\r
2994 enterOuterAlt(_localctx, 2);
\r
2996 match(TocParser::T__27);
\r
3000 case TocParser::T__28: {
\r
3001 enterOuterAlt(_localctx, 3);
\r
3003 match(TocParser::T__28);
\r
3007 case TocParser::T__29: {
\r
3008 enterOuterAlt(_localctx, 4);
\r
3010 match(TocParser::T__29);
\r
3014 case TocParser::T__30: {
\r
3015 enterOuterAlt(_localctx, 5);
\r
3017 match(TocParser::T__30);
\r
3021 case TocParser::T__4: {
\r
3022 enterOuterAlt(_localctx, 6);
\r
3024 match(TocParser::T__4);
\r
3028 case TocParser::T__24:
\r
3029 case TocParser::T__25: {
\r
3030 enterOuterAlt(_localctx, 7);
\r
3037 throw NoViableAltException(this);
\r
3041 catch (RecognitionException &e) {
\r
3042 _errHandler->reportError(this, e);
\r
3043 _localctx->exception = std::current_exception();
\r
3044 _errHandler->recover(this, _localctx->exception);
\r
3050 //----------------- Binary_opContext ------------------------------------------------------------------
\r
3052 TocParser::Binary_opContext::Binary_opContext(ParserRuleContext *parent, size_t invokingState)
\r
3053 : ParserRuleContext(parent, invokingState) {
\r
3057 size_t TocParser::Binary_opContext::getRuleIndex() const {
\r
3058 return TocParser::RuleBinary_op;
\r
3062 TocParser::Binary_opContext* TocParser::binary_op() {
\r
3063 Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());
\r
3064 enterRule(_localctx, 96, TocParser::RuleBinary_op);
\r
3067 #if __cplusplus > 201703L
\r
3068 auto onExit = finally([=, this] {
\r
3070 auto onExit = finally([=] {
\r
3075 enterOuterAlt(_localctx, 1);
\r
3077 _la = _input->LA(1);
\r
3078 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
3079 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
3080 | (1ULL << TocParser::T__26)
\r
3081 | (1ULL << TocParser::T__27)
\r
3082 | (1ULL << TocParser::T__30)
\r
3083 | (1ULL << TocParser::T__31)
\r
3084 | (1ULL << TocParser::T__32)
\r
3085 | (1ULL << TocParser::T__33)
\r
3086 | (1ULL << TocParser::T__34)
\r
3087 | (1ULL << TocParser::T__35)
\r
3088 | (1ULL << TocParser::T__36)
\r
3089 | (1ULL << TocParser::T__37)
\r
3090 | (1ULL << TocParser::T__38)
\r
3091 | (1ULL << TocParser::T__39)
\r
3092 | (1ULL << TocParser::T__40)
\r
3093 | (1ULL << TocParser::T__41)
\r
3094 | (1ULL << TocParser::T__42)
\r
3095 | (1ULL << TocParser::T__43)
\r
3096 | (1ULL << TocParser::T__44)
\r
3097 | (1ULL << TocParser::T__45)
\r
3098 | (1ULL << TocParser::T__46)
\r
3099 | (1ULL << TocParser::T__47)
\r
3100 | (1ULL << TocParser::T__48)
\r
3101 | (1ULL << TocParser::T__49)
\r
3102 | (1ULL << TocParser::T__50)
\r
3103 | (1ULL << TocParser::T__51)
\r
3104 | (1ULL << TocParser::T__52)
\r
3105 | (1ULL << TocParser::T__53)
\r
3106 | (1ULL << TocParser::T__54))) != 0))) {
\r
3107 _errHandler->recoverInline(this);
\r
3110 _errHandler->reportMatch(this);
\r
3115 catch (RecognitionException &e) {
\r
3116 _errHandler->reportError(this, e);
\r
3117 _localctx->exception = std::current_exception();
\r
3118 _errHandler->recover(this, _localctx->exception);
\r
3124 // Static vars and initialization.
\r
3125 std::vector<dfa::DFA> TocParser::_decisionToDFA;
\r
3126 atn::PredictionContextCache TocParser::_sharedContextCache;
\r
3128 // We own the ATN which in turn owns the ATN states.
\r
3129 atn::ATN TocParser::_atn;
\r
3130 std::vector<uint16_t> TocParser::_serializedATN;
\r
3132 std::vector<std::string> TocParser::_ruleNames = {
\r
3133 "prog", "decl", "varDecl", "var", "varInit", "type", "typeModifier", "funcDecl",
\r
3134 "func", "parameter", "body", "structDecl", "structMember", "structVar",
\r
3135 "structMethod", "stmt", "ifStmt", "elseIfStmt", "elseStmt", "switchStmt",
\r
3136 "switchBody", "switchCase", "forStmt", "whileStmt", "assignStmt", "returnStmt",
\r
3137 "expr", "nonOpExpr", "nonAccessExpr", "funcExpr", "opExpr", "binaryOp",
\r
3138 "prefixOp", "postfixOp", "ternaryOp", "identifierExpr", "litExpr", "accessExpr",
\r
3139 "accessSubExpr", "accessMember", "accessBrackets", "parenExpr", "funcName",
\r
3140 "varName", "typeName", "structName", "postfix_op", "prefix_op", "binary_op"
\r
3143 std::vector<std::string> TocParser::_literalNames = {
\r
3144 "", "';'", "'var'", "':'", "'='", "'*'", "'['", "']'", "'func'", "'('",
\r
3145 "')'", "','", "'{'", "'}'", "'struct'", "'if'", "'else'", "'switch'",
\r
3146 "'case'", "'for'", "'while'", "'return'", "'\u003F'", "'.'", "'->'", "'++'",
\r
3147 "'--'", "'+'", "'-'", "'!'", "'~'", "'&'", "'/'", "'%'", "'<'", "'|'",
\r
3148 "'^'", "'>'", "'=='", "'!='", "'<='", "'>='", "'<<'", "'>>'", "'||'",
\r
3149 "'&&'", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'+='", "'-='", "'*='",
\r
3153 std::vector<std::string> TocParser::_symbolicNames = {
\r
3154 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3155 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3156 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3157 "", "", "INT_LIT", "DECIMAL_LIT", "STRING_LIT", "BOOL_LIT", "NAME", "WS",
\r
3161 dfa::Vocabulary TocParser::_vocabulary(_literalNames, _symbolicNames);
\r
3163 std::vector<std::string> TocParser::_tokenNames;
\r
3165 TocParser::Initializer::Initializer() {
\r
3166 for (size_t i = 0; i < _symbolicNames.size(); ++i) {
\r
3167 std::string name = _vocabulary.getLiteralName(i);
\r
3168 if (name.empty()) {
\r
3169 name = _vocabulary.getSymbolicName(i);
\r
3172 if (name.empty()) {
\r
3173 _tokenNames.push_back("<INVALID>");
\r
3175 _tokenNames.push_back(name);
\r
3179 static const uint16_t serializedATNSegment0[] = {
\r
3180 0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
\r
3181 0x3, 0x40, 0x181, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
\r
3182 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
\r
3183 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
\r
3184 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
\r
3185 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
\r
3186 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
\r
3187 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
\r
3188 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
\r
3189 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
\r
3190 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
\r
3191 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x4, 0x23,
\r
3192 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25, 0x4, 0x26,
\r
3193 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 0x4, 0x29,
\r
3194 0x9, 0x29, 0x4, 0x2a, 0x9, 0x2a, 0x4, 0x2b, 0x9, 0x2b, 0x4, 0x2c,
\r
3195 0x9, 0x2c, 0x4, 0x2d, 0x9, 0x2d, 0x4, 0x2e, 0x9, 0x2e, 0x4, 0x2f,
\r
3196 0x9, 0x2f, 0x4, 0x30, 0x9, 0x30, 0x4, 0x31, 0x9, 0x31, 0x4, 0x32,
\r
3197 0x9, 0x32, 0x3, 0x2, 0x6, 0x2, 0x66, 0xa, 0x2, 0xd, 0x2, 0xe, 0x2,
\r
3198 0x67, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
\r
3199 0x3, 0x3, 0x5, 0x3, 0x71, 0xa, 0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4,
\r
3200 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x5,
\r
3201 0x5, 0x7c, 0xa, 0x5, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3,
\r
3202 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x7, 0x3, 0x7, 0x7, 0x7, 0x87, 0xa,
\r
3203 0x7, 0xc, 0x7, 0xe, 0x7, 0x8a, 0xb, 0x7, 0x3, 0x8, 0x3, 0x8, 0x3,
\r
3204 0x8, 0x5, 0x8, 0x8f, 0xa, 0x8, 0x3, 0x8, 0x5, 0x8, 0x92, 0xa, 0x8,
\r
3205 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3,
\r
3206 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xb,
\r
3207 0x3, 0xb, 0x3, 0xb, 0x7, 0xb, 0xa3, 0xa, 0xb, 0xc, 0xb, 0xe, 0xb,
\r
3208 0xa6, 0xb, 0xb, 0x5, 0xb, 0xa8, 0xa, 0xb, 0x3, 0xc, 0x3, 0xc, 0x7,
\r
3209 0xc, 0xac, 0xa, 0xc, 0xc, 0xc, 0xe, 0xc, 0xaf, 0xb, 0xc, 0x3, 0xc,
\r
3210 0x3, 0xc, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x7, 0xd, 0xb7,
\r
3211 0xa, 0xd, 0xc, 0xd, 0xe, 0xd, 0xba, 0xb, 0xd, 0x3, 0xd, 0x3, 0xd,
\r
3212 0x3, 0xe, 0x3, 0xe, 0x5, 0xe, 0xc0, 0xa, 0xe, 0x3, 0xf, 0x3, 0xf,
\r
3213 0x3, 0xf, 0x3, 0x10, 0x3, 0x10, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11,
\r
3214 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11,
\r
3215 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11,
\r
3216 0x3, 0x11, 0x5, 0x11, 0xd7, 0xa, 0x11, 0x3, 0x12, 0x3, 0x12, 0x3,
\r
3217 0x12, 0x3, 0x12, 0x7, 0x12, 0xdd, 0xa, 0x12, 0xc, 0x12, 0xe, 0x12,
\r
3218 0xe0, 0xb, 0x12, 0x3, 0x12, 0x5, 0x12, 0xe3, 0xa, 0x12, 0x3, 0x13,
\r
3219 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x14, 0x3, 0x14,
\r
3220 0x3, 0x14, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x16,
\r
3221 0x3, 0x16, 0x7, 0x16, 0xf3, 0xa, 0x16, 0xc, 0x16, 0xe, 0x16, 0xf6,
\r
3222 0xb, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
\r
3223 0x3, 0x17, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x5, 0x18, 0x101, 0xa,
\r
3224 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3,
\r
3225 0x18, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x1a, 0x3,
\r
3226 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3,
\r
3227 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x5,
\r
3228 0x1c, 0x11a, 0xa, 0x1c, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d,
\r
3229 0x3, 0x1d, 0x5, 0x1d, 0x121, 0xa, 0x1d, 0x3, 0x1e, 0x3, 0x1e, 0x3,
\r
3230 0x1e, 0x5, 0x1e, 0x126, 0xa, 0x1e, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f,
\r
3231 0x3, 0x1f, 0x3, 0x1f, 0x7, 0x1f, 0x12d, 0xa, 0x1f, 0xc, 0x1f, 0xe,
\r
3232 0x1f, 0x130, 0xb, 0x1f, 0x5, 0x1f, 0x132, 0xa, 0x1f, 0x3, 0x1f, 0x3,
\r
3233 0x1f, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x5, 0x20, 0x13a,
\r
3234 0xa, 0x20, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21,
\r
3235 0x3, 0x21, 0x7, 0x21, 0x142, 0xa, 0x21, 0xc, 0x21, 0xe, 0x21, 0x145,
\r
3236 0xb, 0x21, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x23, 0x3, 0x23,
\r
3237 0x3, 0x23, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24,
\r
3238 0x3, 0x24, 0x3, 0x25, 0x3, 0x25, 0x3, 0x26, 0x3, 0x26, 0x3, 0x27,
\r
3239 0x3, 0x27, 0x6, 0x27, 0x159, 0xa, 0x27, 0xd, 0x27, 0xe, 0x27, 0x15a,
\r
3240 0x3, 0x28, 0x3, 0x28, 0x5, 0x28, 0x15f, 0xa, 0x28, 0x3, 0x29, 0x3,
\r
3241 0x29, 0x3, 0x29, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x3,
\r
3242 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2c, 0x3, 0x2c, 0x3,
\r
3243 0x2d, 0x3, 0x2d, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2f, 0x3, 0x2f, 0x3,
\r
3244 0x30, 0x3, 0x30, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3,
\r
3245 0x31, 0x3, 0x31, 0x3, 0x31, 0x5, 0x31, 0x17d, 0xa, 0x31, 0x3, 0x32,
\r
3246 0x3, 0x32, 0x3, 0x32, 0x2, 0x2, 0x33, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc,
\r
3247 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c, 0x1e, 0x20, 0x22,
\r
3248 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32, 0x34, 0x36, 0x38,
\r
3249 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48, 0x4a, 0x4c, 0x4e,
\r
3250 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, 0x60, 0x62, 0x2,
\r
3251 0x6, 0x3, 0x2, 0x3a, 0x3d, 0x3, 0x2, 0x19, 0x1a, 0x3, 0x2, 0x1b,
\r
3252 0x1c, 0x5, 0x2, 0x7, 0x7, 0x1d, 0x1e, 0x21, 0x39, 0x2, 0x17f, 0x2,
\r
3253 0x65, 0x3, 0x2, 0x2, 0x2, 0x4, 0x70, 0x3, 0x2, 0x2, 0x2, 0x6, 0x72,
\r
3254 0x3, 0x2, 0x2, 0x2, 0x8, 0x75, 0x3, 0x2, 0x2, 0x2, 0xa, 0x7d, 0x3,
\r
3255 0x2, 0x2, 0x2, 0xc, 0x84, 0x3, 0x2, 0x2, 0x2, 0xe, 0x91, 0x3, 0x2,
\r
3256 0x2, 0x2, 0x10, 0x93, 0x3, 0x2, 0x2, 0x2, 0x12, 0x96, 0x3, 0x2, 0x2,
\r
3257 0x2, 0x14, 0xa7, 0x3, 0x2, 0x2, 0x2, 0x16, 0xa9, 0x3, 0x2, 0x2, 0x2,
\r
3258 0x18, 0xb2, 0x3, 0x2, 0x2, 0x2, 0x1a, 0xbf, 0x3, 0x2, 0x2, 0x2, 0x1c,
\r
3259 0xc1, 0x3, 0x2, 0x2, 0x2, 0x1e, 0xc4, 0x3, 0x2, 0x2, 0x2, 0x20, 0xd6,
\r
3260 0x3, 0x2, 0x2, 0x2, 0x22, 0xd8, 0x3, 0x2, 0x2, 0x2, 0x24, 0xe4, 0x3,
\r
3261 0x2, 0x2, 0x2, 0x26, 0xe9, 0x3, 0x2, 0x2, 0x2, 0x28, 0xec, 0x3, 0x2,
\r
3262 0x2, 0x2, 0x2a, 0xf0, 0x3, 0x2, 0x2, 0x2, 0x2c, 0xf9, 0x3, 0x2, 0x2,
\r
3263 0x2, 0x2e, 0xfd, 0x3, 0x2, 0x2, 0x2, 0x30, 0x108, 0x3, 0x2, 0x2,
\r
3264 0x2, 0x32, 0x10c, 0x3, 0x2, 0x2, 0x2, 0x34, 0x110, 0x3, 0x2, 0x2,
\r
3265 0x2, 0x36, 0x119, 0x3, 0x2, 0x2, 0x2, 0x38, 0x120, 0x3, 0x2, 0x2,
\r
3266 0x2, 0x3a, 0x125, 0x3, 0x2, 0x2, 0x2, 0x3c, 0x127, 0x3, 0x2, 0x2,
\r
3267 0x2, 0x3e, 0x139, 0x3, 0x2, 0x2, 0x2, 0x40, 0x13b, 0x3, 0x2, 0x2,
\r
3268 0x2, 0x42, 0x146, 0x3, 0x2, 0x2, 0x2, 0x44, 0x149, 0x3, 0x2, 0x2,
\r
3269 0x2, 0x46, 0x14c, 0x3, 0x2, 0x2, 0x2, 0x48, 0x152, 0x3, 0x2, 0x2,
\r
3270 0x2, 0x4a, 0x154, 0x3, 0x2, 0x2, 0x2, 0x4c, 0x156, 0x3, 0x2, 0x2,
\r
3271 0x2, 0x4e, 0x15e, 0x3, 0x2, 0x2, 0x2, 0x50, 0x160, 0x3, 0x2, 0x2,
\r
3272 0x2, 0x52, 0x163, 0x3, 0x2, 0x2, 0x2, 0x54, 0x167, 0x3, 0x2, 0x2,
\r
3273 0x2, 0x56, 0x16b, 0x3, 0x2, 0x2, 0x2, 0x58, 0x16d, 0x3, 0x2, 0x2,
\r
3274 0x2, 0x5a, 0x16f, 0x3, 0x2, 0x2, 0x2, 0x5c, 0x171, 0x3, 0x2, 0x2,
\r
3275 0x2, 0x5e, 0x173, 0x3, 0x2, 0x2, 0x2, 0x60, 0x17c, 0x3, 0x2, 0x2,
\r
3276 0x2, 0x62, 0x17e, 0x3, 0x2, 0x2, 0x2, 0x64, 0x66, 0x5, 0x4, 0x3,
\r
3277 0x2, 0x65, 0x64, 0x3, 0x2, 0x2, 0x2, 0x66, 0x67, 0x3, 0x2, 0x2, 0x2,
\r
3278 0x67, 0x65, 0x3, 0x2, 0x2, 0x2, 0x67, 0x68, 0x3, 0x2, 0x2, 0x2, 0x68,
\r
3279 0x69, 0x3, 0x2, 0x2, 0x2, 0x69, 0x6a, 0x7, 0x2, 0x2, 0x3, 0x6a, 0x3,
\r
3280 0x3, 0x2, 0x2, 0x2, 0x6b, 0x6c, 0x5, 0x6, 0x4, 0x2, 0x6c, 0x6d, 0x7,
\r
3281 0x3, 0x2, 0x2, 0x6d, 0x71, 0x3, 0x2, 0x2, 0x2, 0x6e, 0x71, 0x5, 0x10,
\r
3282 0x9, 0x2, 0x6f, 0x71, 0x5, 0x18, 0xd, 0x2, 0x70, 0x6b, 0x3, 0x2,
\r
3283 0x2, 0x2, 0x70, 0x6e, 0x3, 0x2, 0x2, 0x2, 0x70, 0x6f, 0x3, 0x2, 0x2,
\r
3284 0x2, 0x71, 0x5, 0x3, 0x2, 0x2, 0x2, 0x72, 0x73, 0x7, 0x4, 0x2, 0x2,
\r
3285 0x73, 0x74, 0x5, 0x8, 0x5, 0x2, 0x74, 0x7, 0x3, 0x2, 0x2, 0x2, 0x75,
\r
3286 0x76, 0x5, 0x58, 0x2d, 0x2, 0x76, 0x77, 0x7, 0x5, 0x2, 0x2, 0x77,
\r
3287 0x78, 0x5, 0xc, 0x7, 0x2, 0x78, 0x7b, 0x3, 0x2, 0x2, 0x2, 0x79, 0x7a,
\r
3288 0x7, 0x6, 0x2, 0x2, 0x7a, 0x7c, 0x5, 0x36, 0x1c, 0x2, 0x7b, 0x79,
\r
3289 0x3, 0x2, 0x2, 0x2, 0x7b, 0x7c, 0x3, 0x2, 0x2, 0x2, 0x7c, 0x9, 0x3,
\r
3290 0x2, 0x2, 0x2, 0x7d, 0x7e, 0x5, 0x58, 0x2d, 0x2, 0x7e, 0x7f, 0x7,
\r
3291 0x5, 0x2, 0x2, 0x7f, 0x80, 0x5, 0xc, 0x7, 0x2, 0x80, 0x81, 0x3, 0x2,
\r
3292 0x2, 0x2, 0x81, 0x82, 0x7, 0x6, 0x2, 0x2, 0x82, 0x83, 0x5, 0x36,
\r
3293 0x1c, 0x2, 0x83, 0xb, 0x3, 0x2, 0x2, 0x2, 0x84, 0x88, 0x5, 0x5a,
\r
3294 0x2e, 0x2, 0x85, 0x87, 0x5, 0xe, 0x8, 0x2, 0x86, 0x85, 0x3, 0x2,
\r
3295 0x2, 0x2, 0x87, 0x8a, 0x3, 0x2, 0x2, 0x2, 0x88, 0x86, 0x3, 0x2, 0x2,
\r
3296 0x2, 0x88, 0x89, 0x3, 0x2, 0x2, 0x2, 0x89, 0xd, 0x3, 0x2, 0x2, 0x2,
\r
3297 0x8a, 0x88, 0x3, 0x2, 0x2, 0x2, 0x8b, 0x92, 0x7, 0x7, 0x2, 0x2, 0x8c,
\r
3298 0x8e, 0x7, 0x8, 0x2, 0x2, 0x8d, 0x8f, 0x7, 0x3a, 0x2, 0x2, 0x8e,
\r
3299 0x8d, 0x3, 0x2, 0x2, 0x2, 0x8e, 0x8f, 0x3, 0x2, 0x2, 0x2, 0x8f, 0x90,
\r
3300 0x3, 0x2, 0x2, 0x2, 0x90, 0x92, 0x7, 0x9, 0x2, 0x2, 0x91, 0x8b, 0x3,
\r
3301 0x2, 0x2, 0x2, 0x91, 0x8c, 0x3, 0x2, 0x2, 0x2, 0x92, 0xf, 0x3, 0x2,
\r
3302 0x2, 0x2, 0x93, 0x94, 0x7, 0xa, 0x2, 0x2, 0x94, 0x95, 0x5, 0x12,
\r
3303 0xa, 0x2, 0x95, 0x11, 0x3, 0x2, 0x2, 0x2, 0x96, 0x97, 0x5, 0x56,
\r
3304 0x2c, 0x2, 0x97, 0x98, 0x7, 0xb, 0x2, 0x2, 0x98, 0x99, 0x5, 0x14,
\r
3305 0xb, 0x2, 0x99, 0x9a, 0x7, 0xc, 0x2, 0x2, 0x9a, 0x9b, 0x7, 0x5, 0x2,
\r
3306 0x2, 0x9b, 0x9c, 0x5, 0xc, 0x7, 0x2, 0x9c, 0x9d, 0x3, 0x2, 0x2, 0x2,
\r
3307 0x9d, 0x9e, 0x5, 0x16, 0xc, 0x2, 0x9e, 0x13, 0x3, 0x2, 0x2, 0x2,
\r
3308 0x9f, 0xa4, 0x5, 0x8, 0x5, 0x2, 0xa0, 0xa1, 0x7, 0xd, 0x2, 0x2, 0xa1,
\r
3309 0xa3, 0x5, 0x8, 0x5, 0x2, 0xa2, 0xa0, 0x3, 0x2, 0x2, 0x2, 0xa3, 0xa6,
\r
3310 0x3, 0x2, 0x2, 0x2, 0xa4, 0xa2, 0x3, 0x2, 0x2, 0x2, 0xa4, 0xa5, 0x3,
\r
3311 0x2, 0x2, 0x2, 0xa5, 0xa8, 0x3, 0x2, 0x2, 0x2, 0xa6, 0xa4, 0x3, 0x2,
\r
3312 0x2, 0x2, 0xa7, 0x9f, 0x3, 0x2, 0x2, 0x2, 0xa7, 0xa8, 0x3, 0x2, 0x2,
\r
3313 0x2, 0xa8, 0x15, 0x3, 0x2, 0x2, 0x2, 0xa9, 0xad, 0x7, 0xe, 0x2, 0x2,
\r
3314 0xaa, 0xac, 0x5, 0x20, 0x11, 0x2, 0xab, 0xaa, 0x3, 0x2, 0x2, 0x2,
\r
3315 0xac, 0xaf, 0x3, 0x2, 0x2, 0x2, 0xad, 0xab, 0x3, 0x2, 0x2, 0x2, 0xad,
\r
3316 0xae, 0x3, 0x2, 0x2, 0x2, 0xae, 0xb0, 0x3, 0x2, 0x2, 0x2, 0xaf, 0xad,
\r
3317 0x3, 0x2, 0x2, 0x2, 0xb0, 0xb1, 0x7, 0xf, 0x2, 0x2, 0xb1, 0x17, 0x3,
\r
3318 0x2, 0x2, 0x2, 0xb2, 0xb3, 0x7, 0x10, 0x2, 0x2, 0xb3, 0xb4, 0x5,
\r
3319 0x5c, 0x2f, 0x2, 0xb4, 0xb8, 0x7, 0xe, 0x2, 0x2, 0xb5, 0xb7, 0x5,
\r
3320 0x1a, 0xe, 0x2, 0xb6, 0xb5, 0x3, 0x2, 0x2, 0x2, 0xb7, 0xba, 0x3,
\r
3321 0x2, 0x2, 0x2, 0xb8, 0xb6, 0x3, 0x2, 0x2, 0x2, 0xb8, 0xb9, 0x3, 0x2,
\r
3322 0x2, 0x2, 0xb9, 0xbb, 0x3, 0x2, 0x2, 0x2, 0xba, 0xb8, 0x3, 0x2, 0x2,
\r
3323 0x2, 0xbb, 0xbc, 0x7, 0xf, 0x2, 0x2, 0xbc, 0x19, 0x3, 0x2, 0x2, 0x2,
\r
3324 0xbd, 0xc0, 0x5, 0x1c, 0xf, 0x2, 0xbe, 0xc0, 0x5, 0x1e, 0x10, 0x2,
\r
3325 0xbf, 0xbd, 0x3, 0x2, 0x2, 0x2, 0xbf, 0xbe, 0x3, 0x2, 0x2, 0x2, 0xc0,
\r
3326 0x1b, 0x3, 0x2, 0x2, 0x2, 0xc1, 0xc2, 0x5, 0x8, 0x5, 0x2, 0xc2, 0xc3,
\r
3327 0x7, 0x3, 0x2, 0x2, 0xc3, 0x1d, 0x3, 0x2, 0x2, 0x2, 0xc4, 0xc5, 0x5,
\r
3328 0x12, 0xa, 0x2, 0xc5, 0x1f, 0x3, 0x2, 0x2, 0x2, 0xc6, 0xc7, 0x5,
\r
3329 0x6, 0x4, 0x2, 0xc7, 0xc8, 0x7, 0x3, 0x2, 0x2, 0xc8, 0xd7, 0x3, 0x2,
\r
3330 0x2, 0x2, 0xc9, 0xd7, 0x5, 0x22, 0x12, 0x2, 0xca, 0xd7, 0x5, 0x28,
\r
3331 0x15, 0x2, 0xcb, 0xd7, 0x5, 0x2e, 0x18, 0x2, 0xcc, 0xd7, 0x5, 0x30,
\r
3332 0x19, 0x2, 0xcd, 0xce, 0x5, 0x32, 0x1a, 0x2, 0xce, 0xcf, 0x7, 0x3,
\r
3333 0x2, 0x2, 0xcf, 0xd7, 0x3, 0x2, 0x2, 0x2, 0xd0, 0xd1, 0x5, 0x34,
\r
3334 0x1b, 0x2, 0xd1, 0xd2, 0x7, 0x3, 0x2, 0x2, 0xd2, 0xd7, 0x3, 0x2,
\r
3335 0x2, 0x2, 0xd3, 0xd4, 0x5, 0x36, 0x1c, 0x2, 0xd4, 0xd5, 0x7, 0x3,
\r
3336 0x2, 0x2, 0xd5, 0xd7, 0x3, 0x2, 0x2, 0x2, 0xd6, 0xc6, 0x3, 0x2, 0x2,
\r
3337 0x2, 0xd6, 0xc9, 0x3, 0x2, 0x2, 0x2, 0xd6, 0xca, 0x3, 0x2, 0x2, 0x2,
\r
3338 0xd6, 0xcb, 0x3, 0x2, 0x2, 0x2, 0xd6, 0xcc, 0x3, 0x2, 0x2, 0x2, 0xd6,
\r
3339 0xcd, 0x3, 0x2, 0x2, 0x2, 0xd6, 0xd0, 0x3, 0x2, 0x2, 0x2, 0xd6, 0xd3,
\r
3340 0x3, 0x2, 0x2, 0x2, 0xd7, 0x21, 0x3, 0x2, 0x2, 0x2, 0xd8, 0xd9, 0x7,
\r
3341 0x11, 0x2, 0x2, 0xd9, 0xda, 0x5, 0x36, 0x1c, 0x2, 0xda, 0xde, 0x5,
\r
3342 0x16, 0xc, 0x2, 0xdb, 0xdd, 0x5, 0x24, 0x13, 0x2, 0xdc, 0xdb, 0x3,
\r
3343 0x2, 0x2, 0x2, 0xdd, 0xe0, 0x3, 0x2, 0x2, 0x2, 0xde, 0xdc, 0x3, 0x2,
\r
3344 0x2, 0x2, 0xde, 0xdf, 0x3, 0x2, 0x2, 0x2, 0xdf, 0xe2, 0x3, 0x2, 0x2,
\r
3345 0x2, 0xe0, 0xde, 0x3, 0x2, 0x2, 0x2, 0xe1, 0xe3, 0x5, 0x26, 0x14,
\r
3346 0x2, 0xe2, 0xe1, 0x3, 0x2, 0x2, 0x2, 0xe2, 0xe3, 0x3, 0x2, 0x2, 0x2,
\r
3347 0xe3, 0x23, 0x3, 0x2, 0x2, 0x2, 0xe4, 0xe5, 0x7, 0x12, 0x2, 0x2,
\r
3348 0xe5, 0xe6, 0x7, 0x11, 0x2, 0x2, 0xe6, 0xe7, 0x5, 0x36, 0x1c, 0x2,
\r
3349 0xe7, 0xe8, 0x5, 0x16, 0xc, 0x2, 0xe8, 0x25, 0x3, 0x2, 0x2, 0x2,
\r
3350 0xe9, 0xea, 0x7, 0x12, 0x2, 0x2, 0xea, 0xeb, 0x5, 0x16, 0xc, 0x2,
\r
3351 0xeb, 0x27, 0x3, 0x2, 0x2, 0x2, 0xec, 0xed, 0x7, 0x13, 0x2, 0x2,
\r
3352 0xed, 0xee, 0x5, 0x48, 0x25, 0x2, 0xee, 0xef, 0x5, 0x2a, 0x16, 0x2,
\r
3353 0xef, 0x29, 0x3, 0x2, 0x2, 0x2, 0xf0, 0xf4, 0x7, 0xe, 0x2, 0x2, 0xf1,
\r
3354 0xf3, 0x5, 0x2c, 0x17, 0x2, 0xf2, 0xf1, 0x3, 0x2, 0x2, 0x2, 0xf3,
\r
3355 0xf6, 0x3, 0x2, 0x2, 0x2, 0xf4, 0xf2, 0x3, 0x2, 0x2, 0x2, 0xf4, 0xf5,
\r
3356 0x3, 0x2, 0x2, 0x2, 0xf5, 0xf7, 0x3, 0x2, 0x2, 0x2, 0xf6, 0xf4, 0x3,
\r
3357 0x2, 0x2, 0x2, 0xf7, 0xf8, 0x7, 0xf, 0x2, 0x2, 0xf8, 0x2b, 0x3, 0x2,
\r
3358 0x2, 0x2, 0xf9, 0xfa, 0x7, 0x14, 0x2, 0x2, 0xfa, 0xfb, 0x5, 0x36,
\r
3359 0x1c, 0x2, 0xfb, 0xfc, 0x5, 0x16, 0xc, 0x2, 0xfc, 0x2d, 0x3, 0x2,
\r
3360 0x2, 0x2, 0xfd, 0x100, 0x7, 0x15, 0x2, 0x2, 0xfe, 0x101, 0x5, 0xa,
\r
3361 0x6, 0x2, 0xff, 0x101, 0x5, 0x32, 0x1a, 0x2, 0x100, 0xfe, 0x3, 0x2,
\r
3362 0x2, 0x2, 0x100, 0xff, 0x3, 0x2, 0x2, 0x2, 0x101, 0x102, 0x3, 0x2,
\r
3363 0x2, 0x2, 0x102, 0x103, 0x7, 0xd, 0x2, 0x2, 0x103, 0x104, 0x5, 0x36,
\r
3364 0x1c, 0x2, 0x104, 0x105, 0x7, 0xd, 0x2, 0x2, 0x105, 0x106, 0x5, 0x36,
\r
3365 0x1c, 0x2, 0x106, 0x107, 0x5, 0x16, 0xc, 0x2, 0x107, 0x2f, 0x3, 0x2,
\r
3366 0x2, 0x2, 0x108, 0x109, 0x7, 0x16, 0x2, 0x2, 0x109, 0x10a, 0x5, 0x36,
\r
3367 0x1c, 0x2, 0x10a, 0x10b, 0x5, 0x16, 0xc, 0x2, 0x10b, 0x31, 0x3, 0x2,
\r
3368 0x2, 0x2, 0x10c, 0x10d, 0x5, 0x48, 0x25, 0x2, 0x10d, 0x10e, 0x7,
\r
3369 0x6, 0x2, 0x2, 0x10e, 0x10f, 0x5, 0x36, 0x1c, 0x2, 0x10f, 0x33, 0x3,
\r
3370 0x2, 0x2, 0x2, 0x110, 0x111, 0x7, 0x17, 0x2, 0x2, 0x111, 0x112, 0x5,
\r
3371 0x36, 0x1c, 0x2, 0x112, 0x35, 0x3, 0x2, 0x2, 0x2, 0x113, 0x11a, 0x5,
\r
3372 0x3c, 0x1f, 0x2, 0x114, 0x11a, 0x5, 0x4a, 0x26, 0x2, 0x115, 0x11a,
\r
3373 0x5, 0x48, 0x25, 0x2, 0x116, 0x11a, 0x5, 0x54, 0x2b, 0x2, 0x117,
\r
3374 0x11a, 0x5, 0x4c, 0x27, 0x2, 0x118, 0x11a, 0x5, 0x3e, 0x20, 0x2,
\r
3375 0x119, 0x113, 0x3, 0x2, 0x2, 0x2, 0x119, 0x114, 0x3, 0x2, 0x2, 0x2,
\r
3376 0x119, 0x115, 0x3, 0x2, 0x2, 0x2, 0x119, 0x116, 0x3, 0x2, 0x2, 0x2,
\r
3377 0x119, 0x117, 0x3, 0x2, 0x2, 0x2, 0x119, 0x118, 0x3, 0x2, 0x2, 0x2,
\r
3378 0x11a, 0x37, 0x3, 0x2, 0x2, 0x2, 0x11b, 0x121, 0x5, 0x3c, 0x1f, 0x2,
\r
3379 0x11c, 0x121, 0x5, 0x4a, 0x26, 0x2, 0x11d, 0x121, 0x5, 0x48, 0x25,
\r
3380 0x2, 0x11e, 0x121, 0x5, 0x54, 0x2b, 0x2, 0x11f, 0x121, 0x5, 0x4c,
\r
3381 0x27, 0x2, 0x120, 0x11b, 0x3, 0x2, 0x2, 0x2, 0x120, 0x11c, 0x3, 0x2,
\r
3382 0x2, 0x2, 0x120, 0x11d, 0x3, 0x2, 0x2, 0x2, 0x120, 0x11e, 0x3, 0x2,
\r
3383 0x2, 0x2, 0x120, 0x11f, 0x3, 0x2, 0x2, 0x2, 0x121, 0x39, 0x3, 0x2,
\r
3384 0x2, 0x2, 0x122, 0x126, 0x5, 0x3c, 0x1f, 0x2, 0x123, 0x126, 0x5,
\r
3385 0x48, 0x25, 0x2, 0x124, 0x126, 0x5, 0x54, 0x2b, 0x2, 0x125, 0x122,
\r
3386 0x3, 0x2, 0x2, 0x2, 0x125, 0x123, 0x3, 0x2, 0x2, 0x2, 0x125, 0x124,
\r
3387 0x3, 0x2, 0x2, 0x2, 0x126, 0x3b, 0x3, 0x2, 0x2, 0x2, 0x127, 0x128,
\r
3388 0x5, 0x56, 0x2c, 0x2, 0x128, 0x131, 0x7, 0xb, 0x2, 0x2, 0x129, 0x12e,
\r
3389 0x5, 0x36, 0x1c, 0x2, 0x12a, 0x12b, 0x7, 0xd, 0x2, 0x2, 0x12b, 0x12d,
\r
3390 0x5, 0x36, 0x1c, 0x2, 0x12c, 0x12a, 0x3, 0x2, 0x2, 0x2, 0x12d, 0x130,
\r
3391 0x3, 0x2, 0x2, 0x2, 0x12e, 0x12c, 0x3, 0x2, 0x2, 0x2, 0x12e, 0x12f,
\r
3392 0x3, 0x2, 0x2, 0x2, 0x12f, 0x132, 0x3, 0x2, 0x2, 0x2, 0x130, 0x12e,
\r
3393 0x3, 0x2, 0x2, 0x2, 0x131, 0x129, 0x3, 0x2, 0x2, 0x2, 0x131, 0x132,
\r
3394 0x3, 0x2, 0x2, 0x2, 0x132, 0x133, 0x3, 0x2, 0x2, 0x2, 0x133, 0x134,
\r
3395 0x7, 0xc, 0x2, 0x2, 0x134, 0x3d, 0x3, 0x2, 0x2, 0x2, 0x135, 0x13a,
\r
3396 0x5, 0x40, 0x21, 0x2, 0x136, 0x13a, 0x5, 0x42, 0x22, 0x2, 0x137,
\r
3397 0x13a, 0x5, 0x44, 0x23, 0x2, 0x138, 0x13a, 0x5, 0x46, 0x24, 0x2,
\r
3398 0x139, 0x135, 0x3, 0x2, 0x2, 0x2, 0x139, 0x136, 0x3, 0x2, 0x2, 0x2,
\r
3399 0x139, 0x137, 0x3, 0x2, 0x2, 0x2, 0x139, 0x138, 0x3, 0x2, 0x2, 0x2,
\r
3400 0x13a, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x13b, 0x13c, 0x5, 0x38, 0x1d, 0x2,
\r
3401 0x13c, 0x13d, 0x5, 0x62, 0x32, 0x2, 0x13d, 0x143, 0x5, 0x38, 0x1d,
\r
3402 0x2, 0x13e, 0x13f, 0x5, 0x62, 0x32, 0x2, 0x13f, 0x140, 0x5, 0x38,
\r
3403 0x1d, 0x2, 0x140, 0x142, 0x3, 0x2, 0x2, 0x2, 0x141, 0x13e, 0x3, 0x2,
\r
3404 0x2, 0x2, 0x142, 0x145, 0x3, 0x2, 0x2, 0x2, 0x143, 0x141, 0x3, 0x2,
\r
3405 0x2, 0x2, 0x143, 0x144, 0x3, 0x2, 0x2, 0x2, 0x144, 0x41, 0x3, 0x2,
\r
3406 0x2, 0x2, 0x145, 0x143, 0x3, 0x2, 0x2, 0x2, 0x146, 0x147, 0x5, 0x60,
\r
3407 0x31, 0x2, 0x147, 0x148, 0x5, 0x38, 0x1d, 0x2, 0x148, 0x43, 0x3,
\r
3408 0x2, 0x2, 0x2, 0x149, 0x14a, 0x5, 0x38, 0x1d, 0x2, 0x14a, 0x14b,
\r
3409 0x5, 0x5e, 0x30, 0x2, 0x14b, 0x45, 0x3, 0x2, 0x2, 0x2, 0x14c, 0x14d,
\r
3410 0x5, 0x38, 0x1d, 0x2, 0x14d, 0x14e, 0x7, 0x18, 0x2, 0x2, 0x14e, 0x14f,
\r
3411 0x5, 0x36, 0x1c, 0x2, 0x14f, 0x150, 0x7, 0x5, 0x2, 0x2, 0x150, 0x151,
\r
3412 0x5, 0x36, 0x1c, 0x2, 0x151, 0x47, 0x3, 0x2, 0x2, 0x2, 0x152, 0x153,
\r
3413 0x5, 0x58, 0x2d, 0x2, 0x153, 0x49, 0x3, 0x2, 0x2, 0x2, 0x154, 0x155,
\r
3414 0x9, 0x2, 0x2, 0x2, 0x155, 0x4b, 0x3, 0x2, 0x2, 0x2, 0x156, 0x158,
\r
3415 0x5, 0x3a, 0x1e, 0x2, 0x157, 0x159, 0x5, 0x4e, 0x28, 0x2, 0x158,
\r
3416 0x157, 0x3, 0x2, 0x2, 0x2, 0x159, 0x15a, 0x3, 0x2, 0x2, 0x2, 0x15a,
\r
3417 0x158, 0x3, 0x2, 0x2, 0x2, 0x15a, 0x15b, 0x3, 0x2, 0x2, 0x2, 0x15b,
\r
3418 0x4d, 0x3, 0x2, 0x2, 0x2, 0x15c, 0x15f, 0x5, 0x50, 0x29, 0x2, 0x15d,
\r
3419 0x15f, 0x5, 0x52, 0x2a, 0x2, 0x15e, 0x15c, 0x3, 0x2, 0x2, 0x2, 0x15e,
\r
3420 0x15d, 0x3, 0x2, 0x2, 0x2, 0x15f, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x160,
\r
3421 0x161, 0x9, 0x3, 0x2, 0x2, 0x161, 0x162, 0x5, 0x48, 0x25, 0x2, 0x162,
\r
3422 0x51, 0x3, 0x2, 0x2, 0x2, 0x163, 0x164, 0x7, 0x8, 0x2, 0x2, 0x164,
\r
3423 0x165, 0x5, 0x36, 0x1c, 0x2, 0x165, 0x166, 0x7, 0x9, 0x2, 0x2, 0x166,
\r
3424 0x53, 0x3, 0x2, 0x2, 0x2, 0x167, 0x168, 0x7, 0xb, 0x2, 0x2, 0x168,
\r
3425 0x169, 0x5, 0x36, 0x1c, 0x2, 0x169, 0x16a, 0x7, 0xc, 0x2, 0x2, 0x16a,
\r
3426 0x55, 0x3, 0x2, 0x2, 0x2, 0x16b, 0x16c, 0x7, 0x3e, 0x2, 0x2, 0x16c,
\r
3427 0x57, 0x3, 0x2, 0x2, 0x2, 0x16d, 0x16e, 0x7, 0x3e, 0x2, 0x2, 0x16e,
\r
3428 0x59, 0x3, 0x2, 0x2, 0x2, 0x16f, 0x170, 0x7, 0x3e, 0x2, 0x2, 0x170,
\r
3429 0x5b, 0x3, 0x2, 0x2, 0x2, 0x171, 0x172, 0x7, 0x3e, 0x2, 0x2, 0x172,
\r
3430 0x5d, 0x3, 0x2, 0x2, 0x2, 0x173, 0x174, 0x9, 0x4, 0x2, 0x2, 0x174,
\r
3431 0x5f, 0x3, 0x2, 0x2, 0x2, 0x175, 0x17d, 0x7, 0x1d, 0x2, 0x2, 0x176,
\r
3432 0x17d, 0x7, 0x1e, 0x2, 0x2, 0x177, 0x17d, 0x7, 0x1f, 0x2, 0x2, 0x178,
\r
3433 0x17d, 0x7, 0x20, 0x2, 0x2, 0x179, 0x17d, 0x7, 0x21, 0x2, 0x2, 0x17a,
\r
3434 0x17d, 0x7, 0x7, 0x2, 0x2, 0x17b, 0x17d, 0x5, 0x5e, 0x30, 0x2, 0x17c,
\r
3435 0x175, 0x3, 0x2, 0x2, 0x2, 0x17c, 0x176, 0x3, 0x2, 0x2, 0x2, 0x17c,
\r
3436 0x177, 0x3, 0x2, 0x2, 0x2, 0x17c, 0x178, 0x3, 0x2, 0x2, 0x2, 0x17c,
\r
3437 0x179, 0x3, 0x2, 0x2, 0x2, 0x17c, 0x17a, 0x3, 0x2, 0x2, 0x2, 0x17c,
\r
3438 0x17b, 0x3, 0x2, 0x2, 0x2, 0x17d, 0x61, 0x3, 0x2, 0x2, 0x2, 0x17e,
\r
3439 0x17f, 0x9, 0x5, 0x2, 0x2, 0x17f, 0x63, 0x3, 0x2, 0x2, 0x2, 0x1c,
\r
3440 0x67, 0x70, 0x7b, 0x88, 0x8e, 0x91, 0xa4, 0xa7, 0xad, 0xb8, 0xbf,
\r
3441 0xd6, 0xde, 0xe2, 0xf4, 0x100, 0x119, 0x120, 0x125, 0x12e, 0x131,
\r
3442 0x139, 0x143, 0x15a, 0x15e, 0x17c,
\r
3445 _serializedATN.insert(_serializedATN.end(), serializedATNSegment0,
\r
3446 serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));
\r
3449 atn::ATNDeserializer deserializer;
\r
3450 _atn = deserializer.deserialize(_serializedATN);
\r
3452 size_t count = _atn.getNumberOfDecisions();
\r
3453 _decisionToDFA.reserve(count);
\r
3454 for (size_t i = 0; i < count; i++) {
\r
3455 _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
\r
3459 TocParser::Initializer TocParser::_init;
\r