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
542 TocParser::GenericDeclContext* TocParser::FuncContext::genericDecl() {
\r
543 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
547 size_t TocParser::FuncContext::getRuleIndex() const {
\r
548 return TocParser::RuleFunc;
\r
552 TocParser::FuncContext* TocParser::func() {
\r
553 FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());
\r
554 enterRule(_localctx, 16, TocParser::RuleFunc);
\r
557 #if __cplusplus > 201703L
\r
558 auto onExit = finally([=, this] {
\r
560 auto onExit = finally([=] {
\r
565 enterOuterAlt(_localctx, 1);
\r
569 _errHandler->sync(this);
\r
571 _la = _input->LA(1);
\r
572 if (_la == TocParser::T__14) {
\r
577 match(TocParser::T__8);
\r
581 match(TocParser::T__9);
\r
584 match(TocParser::T__2);
\r
591 catch (RecognitionException &e) {
\r
592 _errHandler->reportError(this, e);
\r
593 _localctx->exception = std::current_exception();
\r
594 _errHandler->recover(this, _localctx->exception);
\r
600 //----------------- ParameterContext ------------------------------------------------------------------
\r
602 TocParser::ParameterContext::ParameterContext(ParserRuleContext *parent, size_t invokingState)
\r
603 : ParserRuleContext(parent, invokingState) {
\r
606 std::vector<TocParser::VarContext *> TocParser::ParameterContext::var() {
\r
607 return getRuleContexts<TocParser::VarContext>();
\r
610 TocParser::VarContext* TocParser::ParameterContext::var(size_t i) {
\r
611 return getRuleContext<TocParser::VarContext>(i);
\r
615 size_t TocParser::ParameterContext::getRuleIndex() const {
\r
616 return TocParser::RuleParameter;
\r
620 TocParser::ParameterContext* TocParser::parameter() {
\r
621 ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());
\r
622 enterRule(_localctx, 18, TocParser::RuleParameter);
\r
625 #if __cplusplus > 201703L
\r
626 auto onExit = finally([=, this] {
\r
628 auto onExit = finally([=] {
\r
633 enterOuterAlt(_localctx, 1);
\r
635 _errHandler->sync(this);
\r
637 _la = _input->LA(1);
\r
638 if (_la == TocParser::NAME) {
\r
642 _errHandler->sync(this);
\r
643 _la = _input->LA(1);
\r
644 while (_la == TocParser::T__10) {
\r
646 match(TocParser::T__10);
\r
650 _errHandler->sync(this);
\r
651 _la = _input->LA(1);
\r
656 catch (RecognitionException &e) {
\r
657 _errHandler->reportError(this, e);
\r
658 _localctx->exception = std::current_exception();
\r
659 _errHandler->recover(this, _localctx->exception);
\r
665 //----------------- BodyContext ------------------------------------------------------------------
\r
667 TocParser::BodyContext::BodyContext(ParserRuleContext *parent, size_t invokingState)
\r
668 : ParserRuleContext(parent, invokingState) {
\r
671 std::vector<TocParser::StmtContext *> TocParser::BodyContext::stmt() {
\r
672 return getRuleContexts<TocParser::StmtContext>();
\r
675 TocParser::StmtContext* TocParser::BodyContext::stmt(size_t i) {
\r
676 return getRuleContext<TocParser::StmtContext>(i);
\r
680 size_t TocParser::BodyContext::getRuleIndex() const {
\r
681 return TocParser::RuleBody;
\r
685 TocParser::BodyContext* TocParser::body() {
\r
686 BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());
\r
687 enterRule(_localctx, 20, TocParser::RuleBody);
\r
690 #if __cplusplus > 201703L
\r
691 auto onExit = finally([=, this] {
\r
693 auto onExit = finally([=] {
\r
698 enterOuterAlt(_localctx, 1);
\r
700 match(TocParser::T__11);
\r
702 _errHandler->sync(this);
\r
703 _la = _input->LA(1);
\r
704 while ((((_la & ~ 0x3fULL) == 0) &&
\r
705 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
706 | (1ULL << TocParser::T__4)
\r
707 | (1ULL << TocParser::T__8)
\r
708 | (1ULL << TocParser::T__16)
\r
709 | (1ULL << TocParser::T__18)
\r
710 | (1ULL << TocParser::T__20)
\r
711 | (1ULL << TocParser::T__21)
\r
712 | (1ULL << TocParser::T__22)
\r
713 | (1ULL << TocParser::T__26)
\r
714 | (1ULL << TocParser::T__27)
\r
715 | (1ULL << TocParser::T__28)
\r
716 | (1ULL << TocParser::T__29)
\r
717 | (1ULL << TocParser::T__30)
\r
718 | (1ULL << TocParser::T__31)
\r
719 | (1ULL << TocParser::T__32)
\r
720 | (1ULL << TocParser::INT_LIT)
\r
721 | (1ULL << TocParser::DECIMAL_LIT)
\r
722 | (1ULL << TocParser::STRING_LIT)
\r
723 | (1ULL << TocParser::BOOL_LIT)
\r
724 | (1ULL << TocParser::NAME))) != 0)) {
\r
728 _errHandler->sync(this);
\r
729 _la = _input->LA(1);
\r
732 match(TocParser::T__12);
\r
735 catch (RecognitionException &e) {
\r
736 _errHandler->reportError(this, e);
\r
737 _localctx->exception = std::current_exception();
\r
738 _errHandler->recover(this, _localctx->exception);
\r
744 //----------------- StructDeclContext ------------------------------------------------------------------
\r
746 TocParser::StructDeclContext::StructDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
747 : ParserRuleContext(parent, invokingState) {
\r
750 TocParser::StructNameContext* TocParser::StructDeclContext::structName() {
\r
751 return getRuleContext<TocParser::StructNameContext>(0);
\r
754 TocParser::GenericDeclContext* TocParser::StructDeclContext::genericDecl() {
\r
755 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
758 std::vector<TocParser::StructMemberContext *> TocParser::StructDeclContext::structMember() {
\r
759 return getRuleContexts<TocParser::StructMemberContext>();
\r
762 TocParser::StructMemberContext* TocParser::StructDeclContext::structMember(size_t i) {
\r
763 return getRuleContext<TocParser::StructMemberContext>(i);
\r
767 size_t TocParser::StructDeclContext::getRuleIndex() const {
\r
768 return TocParser::RuleStructDecl;
\r
772 TocParser::StructDeclContext* TocParser::structDecl() {
\r
773 StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());
\r
774 enterRule(_localctx, 22, TocParser::RuleStructDecl);
\r
777 #if __cplusplus > 201703L
\r
778 auto onExit = finally([=, this] {
\r
780 auto onExit = finally([=] {
\r
785 enterOuterAlt(_localctx, 1);
\r
787 match(TocParser::T__13);
\r
791 _errHandler->sync(this);
\r
793 _la = _input->LA(1);
\r
794 if (_la == TocParser::T__14) {
\r
799 match(TocParser::T__11);
\r
801 _errHandler->sync(this);
\r
802 _la = _input->LA(1);
\r
803 while (_la == TocParser::NAME) {
\r
807 _errHandler->sync(this);
\r
808 _la = _input->LA(1);
\r
811 match(TocParser::T__12);
\r
814 catch (RecognitionException &e) {
\r
815 _errHandler->reportError(this, e);
\r
816 _localctx->exception = std::current_exception();
\r
817 _errHandler->recover(this, _localctx->exception);
\r
823 //----------------- StructMemberContext ------------------------------------------------------------------
\r
825 TocParser::StructMemberContext::StructMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
826 : ParserRuleContext(parent, invokingState) {
\r
829 TocParser::StructVarContext* TocParser::StructMemberContext::structVar() {
\r
830 return getRuleContext<TocParser::StructVarContext>(0);
\r
833 TocParser::StructMethodContext* TocParser::StructMemberContext::structMethod() {
\r
834 return getRuleContext<TocParser::StructMethodContext>(0);
\r
838 size_t TocParser::StructMemberContext::getRuleIndex() const {
\r
839 return TocParser::RuleStructMember;
\r
843 TocParser::StructMemberContext* TocParser::structMember() {
\r
844 StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());
\r
845 enterRule(_localctx, 24, TocParser::RuleStructMember);
\r
847 #if __cplusplus > 201703L
\r
848 auto onExit = finally([=, this] {
\r
850 auto onExit = finally([=] {
\r
856 _errHandler->sync(this);
\r
857 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 12, _ctx)) {
\r
859 enterOuterAlt(_localctx, 1);
\r
866 enterOuterAlt(_localctx, 2);
\r
877 catch (RecognitionException &e) {
\r
878 _errHandler->reportError(this, e);
\r
879 _localctx->exception = std::current_exception();
\r
880 _errHandler->recover(this, _localctx->exception);
\r
886 //----------------- StructVarContext ------------------------------------------------------------------
\r
888 TocParser::StructVarContext::StructVarContext(ParserRuleContext *parent, size_t invokingState)
\r
889 : ParserRuleContext(parent, invokingState) {
\r
892 TocParser::VarContext* TocParser::StructVarContext::var() {
\r
893 return getRuleContext<TocParser::VarContext>(0);
\r
897 size_t TocParser::StructVarContext::getRuleIndex() const {
\r
898 return TocParser::RuleStructVar;
\r
902 TocParser::StructVarContext* TocParser::structVar() {
\r
903 StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());
\r
904 enterRule(_localctx, 26, TocParser::RuleStructVar);
\r
906 #if __cplusplus > 201703L
\r
907 auto onExit = finally([=, this] {
\r
909 auto onExit = finally([=] {
\r
914 enterOuterAlt(_localctx, 1);
\r
918 match(TocParser::T__0);
\r
921 catch (RecognitionException &e) {
\r
922 _errHandler->reportError(this, e);
\r
923 _localctx->exception = std::current_exception();
\r
924 _errHandler->recover(this, _localctx->exception);
\r
930 //----------------- StructMethodContext ------------------------------------------------------------------
\r
932 TocParser::StructMethodContext::StructMethodContext(ParserRuleContext *parent, size_t invokingState)
\r
933 : ParserRuleContext(parent, invokingState) {
\r
936 TocParser::FuncContext* TocParser::StructMethodContext::func() {
\r
937 return getRuleContext<TocParser::FuncContext>(0);
\r
941 size_t TocParser::StructMethodContext::getRuleIndex() const {
\r
942 return TocParser::RuleStructMethod;
\r
946 TocParser::StructMethodContext* TocParser::structMethod() {
\r
947 StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());
\r
948 enterRule(_localctx, 28, TocParser::RuleStructMethod);
\r
950 #if __cplusplus > 201703L
\r
951 auto onExit = finally([=, this] {
\r
953 auto onExit = finally([=] {
\r
958 enterOuterAlt(_localctx, 1);
\r
963 catch (RecognitionException &e) {
\r
964 _errHandler->reportError(this, e);
\r
965 _localctx->exception = std::current_exception();
\r
966 _errHandler->recover(this, _localctx->exception);
\r
972 //----------------- GenericDeclContext ------------------------------------------------------------------
\r
974 TocParser::GenericDeclContext::GenericDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
975 : ParserRuleContext(parent, invokingState) {
\r
978 std::vector<TocParser::TypeNameContext *> TocParser::GenericDeclContext::typeName() {
\r
979 return getRuleContexts<TocParser::TypeNameContext>();
\r
982 TocParser::TypeNameContext* TocParser::GenericDeclContext::typeName(size_t i) {
\r
983 return getRuleContext<TocParser::TypeNameContext>(i);
\r
987 size_t TocParser::GenericDeclContext::getRuleIndex() const {
\r
988 return TocParser::RuleGenericDecl;
\r
992 TocParser::GenericDeclContext* TocParser::genericDecl() {
\r
993 GenericDeclContext *_localctx = _tracker.createInstance<GenericDeclContext>(_ctx, getState());
\r
994 enterRule(_localctx, 30, TocParser::RuleGenericDecl);
\r
997 #if __cplusplus > 201703L
\r
998 auto onExit = finally([=, this] {
\r
1000 auto onExit = finally([=] {
\r
1005 enterOuterAlt(_localctx, 1);
\r
1007 match(TocParser::T__14);
\r
1011 _errHandler->sync(this);
\r
1012 _la = _input->LA(1);
\r
1013 while (_la == TocParser::T__10) {
\r
1015 match(TocParser::T__10);
\r
1019 _errHandler->sync(this);
\r
1020 _la = _input->LA(1);
\r
1023 match(TocParser::T__15);
\r
1026 catch (RecognitionException &e) {
\r
1027 _errHandler->reportError(this, e);
\r
1028 _localctx->exception = std::current_exception();
\r
1029 _errHandler->recover(this, _localctx->exception);
\r
1035 //----------------- StmtContext ------------------------------------------------------------------
\r
1037 TocParser::StmtContext::StmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1038 : ParserRuleContext(parent, invokingState) {
\r
1041 TocParser::VarDeclContext* TocParser::StmtContext::varDecl() {
\r
1042 return getRuleContext<TocParser::VarDeclContext>(0);
\r
1045 TocParser::IfStmtContext* TocParser::StmtContext::ifStmt() {
\r
1046 return getRuleContext<TocParser::IfStmtContext>(0);
\r
1049 TocParser::SwitchStmtContext* TocParser::StmtContext::switchStmt() {
\r
1050 return getRuleContext<TocParser::SwitchStmtContext>(0);
\r
1053 TocParser::ForStmtContext* TocParser::StmtContext::forStmt() {
\r
1054 return getRuleContext<TocParser::ForStmtContext>(0);
\r
1057 TocParser::WhileStmtContext* TocParser::StmtContext::whileStmt() {
\r
1058 return getRuleContext<TocParser::WhileStmtContext>(0);
\r
1061 TocParser::AssignStmtContext* TocParser::StmtContext::assignStmt() {
\r
1062 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1065 TocParser::ReturnStmtContext* TocParser::StmtContext::returnStmt() {
\r
1066 return getRuleContext<TocParser::ReturnStmtContext>(0);
\r
1069 TocParser::ExprContext* TocParser::StmtContext::expr() {
\r
1070 return getRuleContext<TocParser::ExprContext>(0);
\r
1074 size_t TocParser::StmtContext::getRuleIndex() const {
\r
1075 return TocParser::RuleStmt;
\r
1079 TocParser::StmtContext* TocParser::stmt() {
\r
1080 StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());
\r
1081 enterRule(_localctx, 32, TocParser::RuleStmt);
\r
1083 #if __cplusplus > 201703L
\r
1084 auto onExit = finally([=, this] {
\r
1086 auto onExit = finally([=] {
\r
1092 _errHandler->sync(this);
\r
1093 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 14, _ctx)) {
\r
1095 enterOuterAlt(_localctx, 1);
\r
1099 match(TocParser::T__0);
\r
1104 enterOuterAlt(_localctx, 2);
\r
1111 enterOuterAlt(_localctx, 3);
\r
1118 enterOuterAlt(_localctx, 4);
\r
1125 enterOuterAlt(_localctx, 5);
\r
1132 enterOuterAlt(_localctx, 6);
\r
1136 match(TocParser::T__0);
\r
1141 enterOuterAlt(_localctx, 7);
\r
1145 match(TocParser::T__0);
\r
1150 enterOuterAlt(_localctx, 8);
\r
1154 match(TocParser::T__0);
\r
1163 catch (RecognitionException &e) {
\r
1164 _errHandler->reportError(this, e);
\r
1165 _localctx->exception = std::current_exception();
\r
1166 _errHandler->recover(this, _localctx->exception);
\r
1172 //----------------- IfStmtContext ------------------------------------------------------------------
\r
1174 TocParser::IfStmtContext::IfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1175 : ParserRuleContext(parent, invokingState) {
\r
1178 TocParser::ExprContext* TocParser::IfStmtContext::expr() {
\r
1179 return getRuleContext<TocParser::ExprContext>(0);
\r
1182 TocParser::BodyContext* TocParser::IfStmtContext::body() {
\r
1183 return getRuleContext<TocParser::BodyContext>(0);
\r
1186 std::vector<TocParser::ElseIfStmtContext *> TocParser::IfStmtContext::elseIfStmt() {
\r
1187 return getRuleContexts<TocParser::ElseIfStmtContext>();
\r
1190 TocParser::ElseIfStmtContext* TocParser::IfStmtContext::elseIfStmt(size_t i) {
\r
1191 return getRuleContext<TocParser::ElseIfStmtContext>(i);
\r
1194 TocParser::ElseStmtContext* TocParser::IfStmtContext::elseStmt() {
\r
1195 return getRuleContext<TocParser::ElseStmtContext>(0);
\r
1199 size_t TocParser::IfStmtContext::getRuleIndex() const {
\r
1200 return TocParser::RuleIfStmt;
\r
1204 TocParser::IfStmtContext* TocParser::ifStmt() {
\r
1205 IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());
\r
1206 enterRule(_localctx, 34, TocParser::RuleIfStmt);
\r
1209 #if __cplusplus > 201703L
\r
1210 auto onExit = finally([=, this] {
\r
1212 auto onExit = finally([=] {
\r
1218 enterOuterAlt(_localctx, 1);
\r
1220 match(TocParser::T__16);
\r
1226 _errHandler->sync(this);
\r
1227 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 15, _ctx);
\r
1228 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
1234 _errHandler->sync(this);
\r
1235 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 15, _ctx);
\r
1238 _errHandler->sync(this);
\r
1240 _la = _input->LA(1);
\r
1241 if (_la == TocParser::T__17) {
\r
1247 catch (RecognitionException &e) {
\r
1248 _errHandler->reportError(this, e);
\r
1249 _localctx->exception = std::current_exception();
\r
1250 _errHandler->recover(this, _localctx->exception);
\r
1256 //----------------- ElseIfStmtContext ------------------------------------------------------------------
\r
1258 TocParser::ElseIfStmtContext::ElseIfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1259 : ParserRuleContext(parent, invokingState) {
\r
1262 TocParser::ExprContext* TocParser::ElseIfStmtContext::expr() {
\r
1263 return getRuleContext<TocParser::ExprContext>(0);
\r
1266 TocParser::BodyContext* TocParser::ElseIfStmtContext::body() {
\r
1267 return getRuleContext<TocParser::BodyContext>(0);
\r
1271 size_t TocParser::ElseIfStmtContext::getRuleIndex() const {
\r
1272 return TocParser::RuleElseIfStmt;
\r
1276 TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {
\r
1277 ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());
\r
1278 enterRule(_localctx, 36, TocParser::RuleElseIfStmt);
\r
1280 #if __cplusplus > 201703L
\r
1281 auto onExit = finally([=, this] {
\r
1283 auto onExit = finally([=] {
\r
1288 enterOuterAlt(_localctx, 1);
\r
1290 match(TocParser::T__17);
\r
1292 match(TocParser::T__16);
\r
1299 catch (RecognitionException &e) {
\r
1300 _errHandler->reportError(this, e);
\r
1301 _localctx->exception = std::current_exception();
\r
1302 _errHandler->recover(this, _localctx->exception);
\r
1308 //----------------- ElseStmtContext ------------------------------------------------------------------
\r
1310 TocParser::ElseStmtContext::ElseStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1311 : ParserRuleContext(parent, invokingState) {
\r
1314 TocParser::BodyContext* TocParser::ElseStmtContext::body() {
\r
1315 return getRuleContext<TocParser::BodyContext>(0);
\r
1319 size_t TocParser::ElseStmtContext::getRuleIndex() const {
\r
1320 return TocParser::RuleElseStmt;
\r
1324 TocParser::ElseStmtContext* TocParser::elseStmt() {
\r
1325 ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());
\r
1326 enterRule(_localctx, 38, TocParser::RuleElseStmt);
\r
1328 #if __cplusplus > 201703L
\r
1329 auto onExit = finally([=, this] {
\r
1331 auto onExit = finally([=] {
\r
1336 enterOuterAlt(_localctx, 1);
\r
1338 match(TocParser::T__17);
\r
1343 catch (RecognitionException &e) {
\r
1344 _errHandler->reportError(this, e);
\r
1345 _localctx->exception = std::current_exception();
\r
1346 _errHandler->recover(this, _localctx->exception);
\r
1352 //----------------- SwitchStmtContext ------------------------------------------------------------------
\r
1354 TocParser::SwitchStmtContext::SwitchStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1355 : ParserRuleContext(parent, invokingState) {
\r
1358 TocParser::IdentifierExprContext* TocParser::SwitchStmtContext::identifierExpr() {
\r
1359 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1362 TocParser::SwitchBodyContext* TocParser::SwitchStmtContext::switchBody() {
\r
1363 return getRuleContext<TocParser::SwitchBodyContext>(0);
\r
1367 size_t TocParser::SwitchStmtContext::getRuleIndex() const {
\r
1368 return TocParser::RuleSwitchStmt;
\r
1372 TocParser::SwitchStmtContext* TocParser::switchStmt() {
\r
1373 SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());
\r
1374 enterRule(_localctx, 40, TocParser::RuleSwitchStmt);
\r
1376 #if __cplusplus > 201703L
\r
1377 auto onExit = finally([=, this] {
\r
1379 auto onExit = finally([=] {
\r
1384 enterOuterAlt(_localctx, 1);
\r
1386 match(TocParser::T__18);
\r
1393 catch (RecognitionException &e) {
\r
1394 _errHandler->reportError(this, e);
\r
1395 _localctx->exception = std::current_exception();
\r
1396 _errHandler->recover(this, _localctx->exception);
\r
1402 //----------------- SwitchBodyContext ------------------------------------------------------------------
\r
1404 TocParser::SwitchBodyContext::SwitchBodyContext(ParserRuleContext *parent, size_t invokingState)
\r
1405 : ParserRuleContext(parent, invokingState) {
\r
1408 std::vector<TocParser::SwitchCaseContext *> TocParser::SwitchBodyContext::switchCase() {
\r
1409 return getRuleContexts<TocParser::SwitchCaseContext>();
\r
1412 TocParser::SwitchCaseContext* TocParser::SwitchBodyContext::switchCase(size_t i) {
\r
1413 return getRuleContext<TocParser::SwitchCaseContext>(i);
\r
1417 size_t TocParser::SwitchBodyContext::getRuleIndex() const {
\r
1418 return TocParser::RuleSwitchBody;
\r
1422 TocParser::SwitchBodyContext* TocParser::switchBody() {
\r
1423 SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());
\r
1424 enterRule(_localctx, 42, TocParser::RuleSwitchBody);
\r
1427 #if __cplusplus > 201703L
\r
1428 auto onExit = finally([=, this] {
\r
1430 auto onExit = finally([=] {
\r
1435 enterOuterAlt(_localctx, 1);
\r
1437 match(TocParser::T__11);
\r
1439 _errHandler->sync(this);
\r
1440 _la = _input->LA(1);
\r
1441 while (_la == TocParser::T__19) {
\r
1445 _errHandler->sync(this);
\r
1446 _la = _input->LA(1);
\r
1449 match(TocParser::T__12);
\r
1452 catch (RecognitionException &e) {
\r
1453 _errHandler->reportError(this, e);
\r
1454 _localctx->exception = std::current_exception();
\r
1455 _errHandler->recover(this, _localctx->exception);
\r
1461 //----------------- SwitchCaseContext ------------------------------------------------------------------
\r
1463 TocParser::SwitchCaseContext::SwitchCaseContext(ParserRuleContext *parent, size_t invokingState)
\r
1464 : ParserRuleContext(parent, invokingState) {
\r
1467 TocParser::ExprContext* TocParser::SwitchCaseContext::expr() {
\r
1468 return getRuleContext<TocParser::ExprContext>(0);
\r
1471 TocParser::BodyContext* TocParser::SwitchCaseContext::body() {
\r
1472 return getRuleContext<TocParser::BodyContext>(0);
\r
1476 size_t TocParser::SwitchCaseContext::getRuleIndex() const {
\r
1477 return TocParser::RuleSwitchCase;
\r
1481 TocParser::SwitchCaseContext* TocParser::switchCase() {
\r
1482 SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());
\r
1483 enterRule(_localctx, 44, TocParser::RuleSwitchCase);
\r
1485 #if __cplusplus > 201703L
\r
1486 auto onExit = finally([=, this] {
\r
1488 auto onExit = finally([=] {
\r
1493 enterOuterAlt(_localctx, 1);
\r
1495 match(TocParser::T__19);
\r
1502 catch (RecognitionException &e) {
\r
1503 _errHandler->reportError(this, e);
\r
1504 _localctx->exception = std::current_exception();
\r
1505 _errHandler->recover(this, _localctx->exception);
\r
1511 //----------------- ForStmtContext ------------------------------------------------------------------
\r
1513 TocParser::ForStmtContext::ForStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1514 : ParserRuleContext(parent, invokingState) {
\r
1517 std::vector<TocParser::ExprContext *> TocParser::ForStmtContext::expr() {
\r
1518 return getRuleContexts<TocParser::ExprContext>();
\r
1521 TocParser::ExprContext* TocParser::ForStmtContext::expr(size_t i) {
\r
1522 return getRuleContext<TocParser::ExprContext>(i);
\r
1525 TocParser::BodyContext* TocParser::ForStmtContext::body() {
\r
1526 return getRuleContext<TocParser::BodyContext>(0);
\r
1529 TocParser::VarInitContext* TocParser::ForStmtContext::varInit() {
\r
1530 return getRuleContext<TocParser::VarInitContext>(0);
\r
1533 TocParser::AssignStmtContext* TocParser::ForStmtContext::assignStmt() {
\r
1534 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1538 size_t TocParser::ForStmtContext::getRuleIndex() const {
\r
1539 return TocParser::RuleForStmt;
\r
1543 TocParser::ForStmtContext* TocParser::forStmt() {
\r
1544 ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());
\r
1545 enterRule(_localctx, 46, TocParser::RuleForStmt);
\r
1547 #if __cplusplus > 201703L
\r
1548 auto onExit = finally([=, this] {
\r
1550 auto onExit = finally([=] {
\r
1555 enterOuterAlt(_localctx, 1);
\r
1557 match(TocParser::T__20);
\r
1559 _errHandler->sync(this);
\r
1560 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 18, _ctx)) {
\r
1577 match(TocParser::T__10);
\r
1581 match(TocParser::T__10);
\r
1588 catch (RecognitionException &e) {
\r
1589 _errHandler->reportError(this, e);
\r
1590 _localctx->exception = std::current_exception();
\r
1591 _errHandler->recover(this, _localctx->exception);
\r
1597 //----------------- WhileStmtContext ------------------------------------------------------------------
\r
1599 TocParser::WhileStmtContext::WhileStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1600 : ParserRuleContext(parent, invokingState) {
\r
1603 TocParser::ExprContext* TocParser::WhileStmtContext::expr() {
\r
1604 return getRuleContext<TocParser::ExprContext>(0);
\r
1607 TocParser::BodyContext* TocParser::WhileStmtContext::body() {
\r
1608 return getRuleContext<TocParser::BodyContext>(0);
\r
1612 size_t TocParser::WhileStmtContext::getRuleIndex() const {
\r
1613 return TocParser::RuleWhileStmt;
\r
1617 TocParser::WhileStmtContext* TocParser::whileStmt() {
\r
1618 WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());
\r
1619 enterRule(_localctx, 48, TocParser::RuleWhileStmt);
\r
1621 #if __cplusplus > 201703L
\r
1622 auto onExit = finally([=, this] {
\r
1624 auto onExit = finally([=] {
\r
1629 enterOuterAlt(_localctx, 1);
\r
1631 match(TocParser::T__21);
\r
1638 catch (RecognitionException &e) {
\r
1639 _errHandler->reportError(this, e);
\r
1640 _localctx->exception = std::current_exception();
\r
1641 _errHandler->recover(this, _localctx->exception);
\r
1647 //----------------- AssignStmtContext ------------------------------------------------------------------
\r
1649 TocParser::AssignStmtContext::AssignStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1650 : ParserRuleContext(parent, invokingState) {
\r
1653 TocParser::IdentifierExprContext* TocParser::AssignStmtContext::identifierExpr() {
\r
1654 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1657 TocParser::ExprContext* TocParser::AssignStmtContext::expr() {
\r
1658 return getRuleContext<TocParser::ExprContext>(0);
\r
1662 size_t TocParser::AssignStmtContext::getRuleIndex() const {
\r
1663 return TocParser::RuleAssignStmt;
\r
1667 TocParser::AssignStmtContext* TocParser::assignStmt() {
\r
1668 AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());
\r
1669 enterRule(_localctx, 50, TocParser::RuleAssignStmt);
\r
1671 #if __cplusplus > 201703L
\r
1672 auto onExit = finally([=, this] {
\r
1674 auto onExit = finally([=] {
\r
1679 enterOuterAlt(_localctx, 1);
\r
1683 match(TocParser::T__3);
\r
1688 catch (RecognitionException &e) {
\r
1689 _errHandler->reportError(this, e);
\r
1690 _localctx->exception = std::current_exception();
\r
1691 _errHandler->recover(this, _localctx->exception);
\r
1697 //----------------- ReturnStmtContext ------------------------------------------------------------------
\r
1699 TocParser::ReturnStmtContext::ReturnStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1700 : ParserRuleContext(parent, invokingState) {
\r
1703 TocParser::ExprContext* TocParser::ReturnStmtContext::expr() {
\r
1704 return getRuleContext<TocParser::ExprContext>(0);
\r
1708 size_t TocParser::ReturnStmtContext::getRuleIndex() const {
\r
1709 return TocParser::RuleReturnStmt;
\r
1713 TocParser::ReturnStmtContext* TocParser::returnStmt() {
\r
1714 ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());
\r
1715 enterRule(_localctx, 52, TocParser::RuleReturnStmt);
\r
1717 #if __cplusplus > 201703L
\r
1718 auto onExit = finally([=, this] {
\r
1720 auto onExit = finally([=] {
\r
1725 enterOuterAlt(_localctx, 1);
\r
1727 match(TocParser::T__22);
\r
1732 catch (RecognitionException &e) {
\r
1733 _errHandler->reportError(this, e);
\r
1734 _localctx->exception = std::current_exception();
\r
1735 _errHandler->recover(this, _localctx->exception);
\r
1741 //----------------- ExprContext ------------------------------------------------------------------
\r
1743 TocParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1744 : ParserRuleContext(parent, invokingState) {
\r
1747 TocParser::FuncExprContext* TocParser::ExprContext::funcExpr() {
\r
1748 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1751 TocParser::LitExprContext* TocParser::ExprContext::litExpr() {
\r
1752 return getRuleContext<TocParser::LitExprContext>(0);
\r
1755 TocParser::IdentifierExprContext* TocParser::ExprContext::identifierExpr() {
\r
1756 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1759 TocParser::ParenExprContext* TocParser::ExprContext::parenExpr() {
\r
1760 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1763 TocParser::AccessExprContext* TocParser::ExprContext::accessExpr() {
\r
1764 return getRuleContext<TocParser::AccessExprContext>(0);
\r
1767 TocParser::OpExprContext* TocParser::ExprContext::opExpr() {
\r
1768 return getRuleContext<TocParser::OpExprContext>(0);
\r
1772 size_t TocParser::ExprContext::getRuleIndex() const {
\r
1773 return TocParser::RuleExpr;
\r
1777 TocParser::ExprContext* TocParser::expr() {
\r
1778 ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, getState());
\r
1779 enterRule(_localctx, 54, TocParser::RuleExpr);
\r
1781 #if __cplusplus > 201703L
\r
1782 auto onExit = finally([=, this] {
\r
1784 auto onExit = finally([=] {
\r
1790 _errHandler->sync(this);
\r
1791 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 19, _ctx)) {
\r
1793 enterOuterAlt(_localctx, 1);
\r
1800 enterOuterAlt(_localctx, 2);
\r
1807 enterOuterAlt(_localctx, 3);
\r
1814 enterOuterAlt(_localctx, 4);
\r
1821 enterOuterAlt(_localctx, 5);
\r
1828 enterOuterAlt(_localctx, 6);
\r
1839 catch (RecognitionException &e) {
\r
1840 _errHandler->reportError(this, e);
\r
1841 _localctx->exception = std::current_exception();
\r
1842 _errHandler->recover(this, _localctx->exception);
\r
1848 //----------------- NonOpExprContext ------------------------------------------------------------------
\r
1850 TocParser::NonOpExprContext::NonOpExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1851 : ParserRuleContext(parent, invokingState) {
\r
1854 TocParser::FuncExprContext* TocParser::NonOpExprContext::funcExpr() {
\r
1855 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1858 TocParser::LitExprContext* TocParser::NonOpExprContext::litExpr() {
\r
1859 return getRuleContext<TocParser::LitExprContext>(0);
\r
1862 TocParser::IdentifierExprContext* TocParser::NonOpExprContext::identifierExpr() {
\r
1863 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1866 TocParser::ParenExprContext* TocParser::NonOpExprContext::parenExpr() {
\r
1867 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1870 TocParser::AccessExprContext* TocParser::NonOpExprContext::accessExpr() {
\r
1871 return getRuleContext<TocParser::AccessExprContext>(0);
\r
1875 size_t TocParser::NonOpExprContext::getRuleIndex() const {
\r
1876 return TocParser::RuleNonOpExpr;
\r
1880 TocParser::NonOpExprContext* TocParser::nonOpExpr() {
\r
1881 NonOpExprContext *_localctx = _tracker.createInstance<NonOpExprContext>(_ctx, getState());
\r
1882 enterRule(_localctx, 56, TocParser::RuleNonOpExpr);
\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, 20, _ctx)) {
\r
1896 enterOuterAlt(_localctx, 1);
\r
1903 enterOuterAlt(_localctx, 2);
\r
1910 enterOuterAlt(_localctx, 3);
\r
1917 enterOuterAlt(_localctx, 4);
\r
1924 enterOuterAlt(_localctx, 5);
\r
1935 catch (RecognitionException &e) {
\r
1936 _errHandler->reportError(this, e);
\r
1937 _localctx->exception = std::current_exception();
\r
1938 _errHandler->recover(this, _localctx->exception);
\r
1944 //----------------- NonAccessExprContext ------------------------------------------------------------------
\r
1946 TocParser::NonAccessExprContext::NonAccessExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1947 : ParserRuleContext(parent, invokingState) {
\r
1950 TocParser::FuncExprContext* TocParser::NonAccessExprContext::funcExpr() {
\r
1951 return getRuleContext<TocParser::FuncExprContext>(0);
\r
1954 TocParser::IdentifierExprContext* TocParser::NonAccessExprContext::identifierExpr() {
\r
1955 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
1958 TocParser::ParenExprContext* TocParser::NonAccessExprContext::parenExpr() {
\r
1959 return getRuleContext<TocParser::ParenExprContext>(0);
\r
1963 size_t TocParser::NonAccessExprContext::getRuleIndex() const {
\r
1964 return TocParser::RuleNonAccessExpr;
\r
1968 TocParser::NonAccessExprContext* TocParser::nonAccessExpr() {
\r
1969 NonAccessExprContext *_localctx = _tracker.createInstance<NonAccessExprContext>(_ctx, getState());
\r
1970 enterRule(_localctx, 58, TocParser::RuleNonAccessExpr);
\r
1972 #if __cplusplus > 201703L
\r
1973 auto onExit = finally([=, this] {
\r
1975 auto onExit = finally([=] {
\r
1981 _errHandler->sync(this);
\r
1982 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 21, _ctx)) {
\r
1984 enterOuterAlt(_localctx, 1);
\r
1991 enterOuterAlt(_localctx, 2);
\r
1998 enterOuterAlt(_localctx, 3);
\r
2009 catch (RecognitionException &e) {
\r
2010 _errHandler->reportError(this, e);
\r
2011 _localctx->exception = std::current_exception();
\r
2012 _errHandler->recover(this, _localctx->exception);
\r
2018 //----------------- FuncExprContext ------------------------------------------------------------------
\r
2020 TocParser::FuncExprContext::FuncExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2021 : ParserRuleContext(parent, invokingState) {
\r
2024 TocParser::FuncNameContext* TocParser::FuncExprContext::funcName() {
\r
2025 return getRuleContext<TocParser::FuncNameContext>(0);
\r
2028 std::vector<TocParser::ExprContext *> TocParser::FuncExprContext::expr() {
\r
2029 return getRuleContexts<TocParser::ExprContext>();
\r
2032 TocParser::ExprContext* TocParser::FuncExprContext::expr(size_t i) {
\r
2033 return getRuleContext<TocParser::ExprContext>(i);
\r
2037 size_t TocParser::FuncExprContext::getRuleIndex() const {
\r
2038 return TocParser::RuleFuncExpr;
\r
2042 TocParser::FuncExprContext* TocParser::funcExpr() {
\r
2043 FuncExprContext *_localctx = _tracker.createInstance<FuncExprContext>(_ctx, getState());
\r
2044 enterRule(_localctx, 60, TocParser::RuleFuncExpr);
\r
2047 #if __cplusplus > 201703L
\r
2048 auto onExit = finally([=, this] {
\r
2050 auto onExit = finally([=] {
\r
2055 enterOuterAlt(_localctx, 1);
\r
2059 match(TocParser::T__8);
\r
2061 _errHandler->sync(this);
\r
2063 _la = _input->LA(1);
\r
2064 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2065 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
2066 | (1ULL << TocParser::T__8)
\r
2067 | (1ULL << TocParser::T__26)
\r
2068 | (1ULL << TocParser::T__27)
\r
2069 | (1ULL << TocParser::T__28)
\r
2070 | (1ULL << TocParser::T__29)
\r
2071 | (1ULL << TocParser::T__30)
\r
2072 | (1ULL << TocParser::T__31)
\r
2073 | (1ULL << TocParser::T__32)
\r
2074 | (1ULL << TocParser::INT_LIT)
\r
2075 | (1ULL << TocParser::DECIMAL_LIT)
\r
2076 | (1ULL << TocParser::STRING_LIT)
\r
2077 | (1ULL << TocParser::BOOL_LIT)
\r
2078 | (1ULL << TocParser::NAME))) != 0)) {
\r
2082 _errHandler->sync(this);
\r
2083 _la = _input->LA(1);
\r
2084 while (_la == TocParser::T__10) {
\r
2086 match(TocParser::T__10);
\r
2090 _errHandler->sync(this);
\r
2091 _la = _input->LA(1);
\r
2095 match(TocParser::T__9);
\r
2098 catch (RecognitionException &e) {
\r
2099 _errHandler->reportError(this, e);
\r
2100 _localctx->exception = std::current_exception();
\r
2101 _errHandler->recover(this, _localctx->exception);
\r
2107 //----------------- OpExprContext ------------------------------------------------------------------
\r
2109 TocParser::OpExprContext::OpExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2110 : ParserRuleContext(parent, invokingState) {
\r
2113 TocParser::BinaryOpContext* TocParser::OpExprContext::binaryOp() {
\r
2114 return getRuleContext<TocParser::BinaryOpContext>(0);
\r
2117 TocParser::PrefixOpContext* TocParser::OpExprContext::prefixOp() {
\r
2118 return getRuleContext<TocParser::PrefixOpContext>(0);
\r
2121 TocParser::PostfixOpContext* TocParser::OpExprContext::postfixOp() {
\r
2122 return getRuleContext<TocParser::PostfixOpContext>(0);
\r
2125 TocParser::TernaryOpContext* TocParser::OpExprContext::ternaryOp() {
\r
2126 return getRuleContext<TocParser::TernaryOpContext>(0);
\r
2130 size_t TocParser::OpExprContext::getRuleIndex() const {
\r
2131 return TocParser::RuleOpExpr;
\r
2135 TocParser::OpExprContext* TocParser::opExpr() {
\r
2136 OpExprContext *_localctx = _tracker.createInstance<OpExprContext>(_ctx, getState());
\r
2137 enterRule(_localctx, 62, TocParser::RuleOpExpr);
\r
2139 #if __cplusplus > 201703L
\r
2140 auto onExit = finally([=, this] {
\r
2142 auto onExit = finally([=] {
\r
2148 _errHandler->sync(this);
\r
2149 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 24, _ctx)) {
\r
2151 enterOuterAlt(_localctx, 1);
\r
2158 enterOuterAlt(_localctx, 2);
\r
2165 enterOuterAlt(_localctx, 3);
\r
2172 enterOuterAlt(_localctx, 4);
\r
2183 catch (RecognitionException &e) {
\r
2184 _errHandler->reportError(this, e);
\r
2185 _localctx->exception = std::current_exception();
\r
2186 _errHandler->recover(this, _localctx->exception);
\r
2192 //----------------- BinaryOpContext ------------------------------------------------------------------
\r
2194 TocParser::BinaryOpContext::BinaryOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2195 : ParserRuleContext(parent, invokingState) {
\r
2198 std::vector<TocParser::NonOpExprContext *> TocParser::BinaryOpContext::nonOpExpr() {
\r
2199 return getRuleContexts<TocParser::NonOpExprContext>();
\r
2202 TocParser::NonOpExprContext* TocParser::BinaryOpContext::nonOpExpr(size_t i) {
\r
2203 return getRuleContext<TocParser::NonOpExprContext>(i);
\r
2206 std::vector<TocParser::Binary_opContext *> TocParser::BinaryOpContext::binary_op() {
\r
2207 return getRuleContexts<TocParser::Binary_opContext>();
\r
2210 TocParser::Binary_opContext* TocParser::BinaryOpContext::binary_op(size_t i) {
\r
2211 return getRuleContext<TocParser::Binary_opContext>(i);
\r
2215 size_t TocParser::BinaryOpContext::getRuleIndex() const {
\r
2216 return TocParser::RuleBinaryOp;
\r
2220 TocParser::BinaryOpContext* TocParser::binaryOp() {
\r
2221 BinaryOpContext *_localctx = _tracker.createInstance<BinaryOpContext>(_ctx, getState());
\r
2222 enterRule(_localctx, 64, TocParser::RuleBinaryOp);
\r
2225 #if __cplusplus > 201703L
\r
2226 auto onExit = finally([=, this] {
\r
2228 auto onExit = finally([=] {
\r
2233 enterOuterAlt(_localctx, 1);
\r
2241 _errHandler->sync(this);
\r
2242 _la = _input->LA(1);
\r
2243 while ((((_la & ~ 0x3fULL) == 0) &&
\r
2244 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
2245 | (1ULL << TocParser::T__14)
\r
2246 | (1ULL << TocParser::T__15)
\r
2247 | (1ULL << TocParser::T__28)
\r
2248 | (1ULL << TocParser::T__29)
\r
2249 | (1ULL << TocParser::T__32)
\r
2250 | (1ULL << TocParser::T__33)
\r
2251 | (1ULL << TocParser::T__34)
\r
2252 | (1ULL << TocParser::T__35)
\r
2253 | (1ULL << TocParser::T__36)
\r
2254 | (1ULL << TocParser::T__37)
\r
2255 | (1ULL << TocParser::T__38)
\r
2256 | (1ULL << TocParser::T__39)
\r
2257 | (1ULL << TocParser::T__40)
\r
2258 | (1ULL << TocParser::T__41)
\r
2259 | (1ULL << TocParser::T__42)
\r
2260 | (1ULL << TocParser::T__43)
\r
2261 | (1ULL << TocParser::T__44)
\r
2262 | (1ULL << TocParser::T__45)
\r
2263 | (1ULL << TocParser::T__46)
\r
2264 | (1ULL << TocParser::T__47)
\r
2265 | (1ULL << TocParser::T__48)
\r
2266 | (1ULL << TocParser::T__49)
\r
2267 | (1ULL << TocParser::T__50)
\r
2268 | (1ULL << TocParser::T__51)
\r
2269 | (1ULL << TocParser::T__52)
\r
2270 | (1ULL << TocParser::T__53)
\r
2271 | (1ULL << TocParser::T__54))) != 0)) {
\r
2277 _errHandler->sync(this);
\r
2278 _la = _input->LA(1);
\r
2282 catch (RecognitionException &e) {
\r
2283 _errHandler->reportError(this, e);
\r
2284 _localctx->exception = std::current_exception();
\r
2285 _errHandler->recover(this, _localctx->exception);
\r
2291 //----------------- PrefixOpContext ------------------------------------------------------------------
\r
2293 TocParser::PrefixOpContext::PrefixOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2294 : ParserRuleContext(parent, invokingState) {
\r
2297 TocParser::Prefix_opContext* TocParser::PrefixOpContext::prefix_op() {
\r
2298 return getRuleContext<TocParser::Prefix_opContext>(0);
\r
2301 TocParser::NonOpExprContext* TocParser::PrefixOpContext::nonOpExpr() {
\r
2302 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2306 size_t TocParser::PrefixOpContext::getRuleIndex() const {
\r
2307 return TocParser::RulePrefixOp;
\r
2311 TocParser::PrefixOpContext* TocParser::prefixOp() {
\r
2312 PrefixOpContext *_localctx = _tracker.createInstance<PrefixOpContext>(_ctx, getState());
\r
2313 enterRule(_localctx, 66, TocParser::RulePrefixOp);
\r
2315 #if __cplusplus > 201703L
\r
2316 auto onExit = finally([=, this] {
\r
2318 auto onExit = finally([=] {
\r
2323 enterOuterAlt(_localctx, 1);
\r
2330 catch (RecognitionException &e) {
\r
2331 _errHandler->reportError(this, e);
\r
2332 _localctx->exception = std::current_exception();
\r
2333 _errHandler->recover(this, _localctx->exception);
\r
2339 //----------------- PostfixOpContext ------------------------------------------------------------------
\r
2341 TocParser::PostfixOpContext::PostfixOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2342 : ParserRuleContext(parent, invokingState) {
\r
2345 TocParser::NonOpExprContext* TocParser::PostfixOpContext::nonOpExpr() {
\r
2346 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2349 TocParser::Postfix_opContext* TocParser::PostfixOpContext::postfix_op() {
\r
2350 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2354 size_t TocParser::PostfixOpContext::getRuleIndex() const {
\r
2355 return TocParser::RulePostfixOp;
\r
2359 TocParser::PostfixOpContext* TocParser::postfixOp() {
\r
2360 PostfixOpContext *_localctx = _tracker.createInstance<PostfixOpContext>(_ctx, getState());
\r
2361 enterRule(_localctx, 68, TocParser::RulePostfixOp);
\r
2363 #if __cplusplus > 201703L
\r
2364 auto onExit = finally([=, this] {
\r
2366 auto onExit = finally([=] {
\r
2371 enterOuterAlt(_localctx, 1);
\r
2378 catch (RecognitionException &e) {
\r
2379 _errHandler->reportError(this, e);
\r
2380 _localctx->exception = std::current_exception();
\r
2381 _errHandler->recover(this, _localctx->exception);
\r
2387 //----------------- TernaryOpContext ------------------------------------------------------------------
\r
2389 TocParser::TernaryOpContext::TernaryOpContext(ParserRuleContext *parent, size_t invokingState)
\r
2390 : ParserRuleContext(parent, invokingState) {
\r
2393 TocParser::NonOpExprContext* TocParser::TernaryOpContext::nonOpExpr() {
\r
2394 return getRuleContext<TocParser::NonOpExprContext>(0);
\r
2397 std::vector<TocParser::ExprContext *> TocParser::TernaryOpContext::expr() {
\r
2398 return getRuleContexts<TocParser::ExprContext>();
\r
2401 TocParser::ExprContext* TocParser::TernaryOpContext::expr(size_t i) {
\r
2402 return getRuleContext<TocParser::ExprContext>(i);
\r
2406 size_t TocParser::TernaryOpContext::getRuleIndex() const {
\r
2407 return TocParser::RuleTernaryOp;
\r
2411 TocParser::TernaryOpContext* TocParser::ternaryOp() {
\r
2412 TernaryOpContext *_localctx = _tracker.createInstance<TernaryOpContext>(_ctx, getState());
\r
2413 enterRule(_localctx, 70, TocParser::RuleTernaryOp);
\r
2415 #if __cplusplus > 201703L
\r
2416 auto onExit = finally([=, this] {
\r
2418 auto onExit = finally([=] {
\r
2423 enterOuterAlt(_localctx, 1);
\r
2427 match(TocParser::T__23);
\r
2431 match(TocParser::T__2);
\r
2436 catch (RecognitionException &e) {
\r
2437 _errHandler->reportError(this, e);
\r
2438 _localctx->exception = std::current_exception();
\r
2439 _errHandler->recover(this, _localctx->exception);
\r
2445 //----------------- IdentifierExprContext ------------------------------------------------------------------
\r
2447 TocParser::IdentifierExprContext::IdentifierExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2448 : ParserRuleContext(parent, invokingState) {
\r
2451 TocParser::VarNameContext* TocParser::IdentifierExprContext::varName() {
\r
2452 return getRuleContext<TocParser::VarNameContext>(0);
\r
2456 size_t TocParser::IdentifierExprContext::getRuleIndex() const {
\r
2457 return TocParser::RuleIdentifierExpr;
\r
2461 TocParser::IdentifierExprContext* TocParser::identifierExpr() {
\r
2462 IdentifierExprContext *_localctx = _tracker.createInstance<IdentifierExprContext>(_ctx, getState());
\r
2463 enterRule(_localctx, 72, TocParser::RuleIdentifierExpr);
\r
2465 #if __cplusplus > 201703L
\r
2466 auto onExit = finally([=, this] {
\r
2468 auto onExit = finally([=] {
\r
2473 enterOuterAlt(_localctx, 1);
\r
2478 catch (RecognitionException &e) {
\r
2479 _errHandler->reportError(this, e);
\r
2480 _localctx->exception = std::current_exception();
\r
2481 _errHandler->recover(this, _localctx->exception);
\r
2487 //----------------- LitExprContext ------------------------------------------------------------------
\r
2489 TocParser::LitExprContext::LitExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2490 : ParserRuleContext(parent, invokingState) {
\r
2493 tree::TerminalNode* TocParser::LitExprContext::INT_LIT() {
\r
2494 return getToken(TocParser::INT_LIT, 0);
\r
2497 tree::TerminalNode* TocParser::LitExprContext::DECIMAL_LIT() {
\r
2498 return getToken(TocParser::DECIMAL_LIT, 0);
\r
2501 tree::TerminalNode* TocParser::LitExprContext::STRING_LIT() {
\r
2502 return getToken(TocParser::STRING_LIT, 0);
\r
2505 tree::TerminalNode* TocParser::LitExprContext::BOOL_LIT() {
\r
2506 return getToken(TocParser::BOOL_LIT, 0);
\r
2510 size_t TocParser::LitExprContext::getRuleIndex() const {
\r
2511 return TocParser::RuleLitExpr;
\r
2515 TocParser::LitExprContext* TocParser::litExpr() {
\r
2516 LitExprContext *_localctx = _tracker.createInstance<LitExprContext>(_ctx, getState());
\r
2517 enterRule(_localctx, 74, TocParser::RuleLitExpr);
\r
2520 #if __cplusplus > 201703L
\r
2521 auto onExit = finally([=, this] {
\r
2523 auto onExit = finally([=] {
\r
2528 enterOuterAlt(_localctx, 1);
\r
2530 _la = _input->LA(1);
\r
2531 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2532 ((1ULL << _la) & ((1ULL << TocParser::INT_LIT)
\r
2533 | (1ULL << TocParser::DECIMAL_LIT)
\r
2534 | (1ULL << TocParser::STRING_LIT)
\r
2535 | (1ULL << TocParser::BOOL_LIT))) != 0))) {
\r
2536 _errHandler->recoverInline(this);
\r
2539 _errHandler->reportMatch(this);
\r
2544 catch (RecognitionException &e) {
\r
2545 _errHandler->reportError(this, e);
\r
2546 _localctx->exception = std::current_exception();
\r
2547 _errHandler->recover(this, _localctx->exception);
\r
2553 //----------------- AccessExprContext ------------------------------------------------------------------
\r
2555 TocParser::AccessExprContext::AccessExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2556 : ParserRuleContext(parent, invokingState) {
\r
2559 TocParser::NonAccessExprContext* TocParser::AccessExprContext::nonAccessExpr() {
\r
2560 return getRuleContext<TocParser::NonAccessExprContext>(0);
\r
2563 std::vector<TocParser::AccessSubExprContext *> TocParser::AccessExprContext::accessSubExpr() {
\r
2564 return getRuleContexts<TocParser::AccessSubExprContext>();
\r
2567 TocParser::AccessSubExprContext* TocParser::AccessExprContext::accessSubExpr(size_t i) {
\r
2568 return getRuleContext<TocParser::AccessSubExprContext>(i);
\r
2572 size_t TocParser::AccessExprContext::getRuleIndex() const {
\r
2573 return TocParser::RuleAccessExpr;
\r
2577 TocParser::AccessExprContext* TocParser::accessExpr() {
\r
2578 AccessExprContext *_localctx = _tracker.createInstance<AccessExprContext>(_ctx, getState());
\r
2579 enterRule(_localctx, 76, TocParser::RuleAccessExpr);
\r
2582 #if __cplusplus > 201703L
\r
2583 auto onExit = finally([=, this] {
\r
2585 auto onExit = finally([=] {
\r
2590 enterOuterAlt(_localctx, 1);
\r
2594 _errHandler->sync(this);
\r
2595 _la = _input->LA(1);
\r
2600 _errHandler->sync(this);
\r
2601 _la = _input->LA(1);
\r
2602 } while ((((_la & ~ 0x3fULL) == 0) &&
\r
2603 ((1ULL << _la) & ((1ULL << TocParser::T__5)
\r
2604 | (1ULL << TocParser::T__24)
\r
2605 | (1ULL << TocParser::T__25))) != 0));
\r
2608 catch (RecognitionException &e) {
\r
2609 _errHandler->reportError(this, e);
\r
2610 _localctx->exception = std::current_exception();
\r
2611 _errHandler->recover(this, _localctx->exception);
\r
2617 //----------------- AccessSubExprContext ------------------------------------------------------------------
\r
2619 TocParser::AccessSubExprContext::AccessSubExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2620 : ParserRuleContext(parent, invokingState) {
\r
2623 TocParser::AccessMemberContext* TocParser::AccessSubExprContext::accessMember() {
\r
2624 return getRuleContext<TocParser::AccessMemberContext>(0);
\r
2627 TocParser::AccessBracketsContext* TocParser::AccessSubExprContext::accessBrackets() {
\r
2628 return getRuleContext<TocParser::AccessBracketsContext>(0);
\r
2632 size_t TocParser::AccessSubExprContext::getRuleIndex() const {
\r
2633 return TocParser::RuleAccessSubExpr;
\r
2637 TocParser::AccessSubExprContext* TocParser::accessSubExpr() {
\r
2638 AccessSubExprContext *_localctx = _tracker.createInstance<AccessSubExprContext>(_ctx, getState());
\r
2639 enterRule(_localctx, 78, TocParser::RuleAccessSubExpr);
\r
2641 #if __cplusplus > 201703L
\r
2642 auto onExit = finally([=, this] {
\r
2644 auto onExit = finally([=] {
\r
2650 _errHandler->sync(this);
\r
2651 switch (_input->LA(1)) {
\r
2652 case TocParser::T__24:
\r
2653 case TocParser::T__25: {
\r
2654 enterOuterAlt(_localctx, 1);
\r
2660 case TocParser::T__5: {
\r
2661 enterOuterAlt(_localctx, 2);
\r
2668 throw NoViableAltException(this);
\r
2672 catch (RecognitionException &e) {
\r
2673 _errHandler->reportError(this, e);
\r
2674 _localctx->exception = std::current_exception();
\r
2675 _errHandler->recover(this, _localctx->exception);
\r
2681 //----------------- AccessMemberContext ------------------------------------------------------------------
\r
2683 TocParser::AccessMemberContext::AccessMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
2684 : ParserRuleContext(parent, invokingState) {
\r
2687 TocParser::IdentifierExprContext* TocParser::AccessMemberContext::identifierExpr() {
\r
2688 return getRuleContext<TocParser::IdentifierExprContext>(0);
\r
2692 size_t TocParser::AccessMemberContext::getRuleIndex() const {
\r
2693 return TocParser::RuleAccessMember;
\r
2697 TocParser::AccessMemberContext* TocParser::accessMember() {
\r
2698 AccessMemberContext *_localctx = _tracker.createInstance<AccessMemberContext>(_ctx, getState());
\r
2699 enterRule(_localctx, 80, TocParser::RuleAccessMember);
\r
2702 #if __cplusplus > 201703L
\r
2703 auto onExit = finally([=, this] {
\r
2705 auto onExit = finally([=] {
\r
2710 enterOuterAlt(_localctx, 1);
\r
2712 _la = _input->LA(1);
\r
2713 if (!(_la == TocParser::T__24
\r
2715 || _la == TocParser::T__25)) {
\r
2716 _errHandler->recoverInline(this);
\r
2719 _errHandler->reportMatch(this);
\r
2726 catch (RecognitionException &e) {
\r
2727 _errHandler->reportError(this, e);
\r
2728 _localctx->exception = std::current_exception();
\r
2729 _errHandler->recover(this, _localctx->exception);
\r
2735 //----------------- AccessBracketsContext ------------------------------------------------------------------
\r
2737 TocParser::AccessBracketsContext::AccessBracketsContext(ParserRuleContext *parent, size_t invokingState)
\r
2738 : ParserRuleContext(parent, invokingState) {
\r
2741 TocParser::ExprContext* TocParser::AccessBracketsContext::expr() {
\r
2742 return getRuleContext<TocParser::ExprContext>(0);
\r
2746 size_t TocParser::AccessBracketsContext::getRuleIndex() const {
\r
2747 return TocParser::RuleAccessBrackets;
\r
2751 TocParser::AccessBracketsContext* TocParser::accessBrackets() {
\r
2752 AccessBracketsContext *_localctx = _tracker.createInstance<AccessBracketsContext>(_ctx, getState());
\r
2753 enterRule(_localctx, 82, TocParser::RuleAccessBrackets);
\r
2755 #if __cplusplus > 201703L
\r
2756 auto onExit = finally([=, this] {
\r
2758 auto onExit = finally([=] {
\r
2763 enterOuterAlt(_localctx, 1);
\r
2765 match(TocParser::T__5);
\r
2769 match(TocParser::T__6);
\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 //----------------- ParenExprContext ------------------------------------------------------------------
\r
2783 TocParser::ParenExprContext::ParenExprContext(ParserRuleContext *parent, size_t invokingState)
\r
2784 : ParserRuleContext(parent, invokingState) {
\r
2787 TocParser::ExprContext* TocParser::ParenExprContext::expr() {
\r
2788 return getRuleContext<TocParser::ExprContext>(0);
\r
2792 size_t TocParser::ParenExprContext::getRuleIndex() const {
\r
2793 return TocParser::RuleParenExpr;
\r
2797 TocParser::ParenExprContext* TocParser::parenExpr() {
\r
2798 ParenExprContext *_localctx = _tracker.createInstance<ParenExprContext>(_ctx, getState());
\r
2799 enterRule(_localctx, 84, TocParser::RuleParenExpr);
\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::T__8);
\r
2815 match(TocParser::T__9);
\r
2818 catch (RecognitionException &e) {
\r
2819 _errHandler->reportError(this, e);
\r
2820 _localctx->exception = std::current_exception();
\r
2821 _errHandler->recover(this, _localctx->exception);
\r
2827 //----------------- FuncNameContext ------------------------------------------------------------------
\r
2829 TocParser::FuncNameContext::FuncNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2830 : ParserRuleContext(parent, invokingState) {
\r
2833 tree::TerminalNode* TocParser::FuncNameContext::NAME() {
\r
2834 return getToken(TocParser::NAME, 0);
\r
2838 size_t TocParser::FuncNameContext::getRuleIndex() const {
\r
2839 return TocParser::RuleFuncName;
\r
2843 TocParser::FuncNameContext* TocParser::funcName() {
\r
2844 FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());
\r
2845 enterRule(_localctx, 86, TocParser::RuleFuncName);
\r
2847 #if __cplusplus > 201703L
\r
2848 auto onExit = finally([=, this] {
\r
2850 auto onExit = finally([=] {
\r
2855 enterOuterAlt(_localctx, 1);
\r
2857 match(TocParser::NAME);
\r
2860 catch (RecognitionException &e) {
\r
2861 _errHandler->reportError(this, e);
\r
2862 _localctx->exception = std::current_exception();
\r
2863 _errHandler->recover(this, _localctx->exception);
\r
2869 //----------------- VarNameContext ------------------------------------------------------------------
\r
2871 TocParser::VarNameContext::VarNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2872 : ParserRuleContext(parent, invokingState) {
\r
2875 tree::TerminalNode* TocParser::VarNameContext::NAME() {
\r
2876 return getToken(TocParser::NAME, 0);
\r
2880 size_t TocParser::VarNameContext::getRuleIndex() const {
\r
2881 return TocParser::RuleVarName;
\r
2885 TocParser::VarNameContext* TocParser::varName() {
\r
2886 VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());
\r
2887 enterRule(_localctx, 88, TocParser::RuleVarName);
\r
2889 #if __cplusplus > 201703L
\r
2890 auto onExit = finally([=, this] {
\r
2892 auto onExit = finally([=] {
\r
2897 enterOuterAlt(_localctx, 1);
\r
2899 match(TocParser::NAME);
\r
2902 catch (RecognitionException &e) {
\r
2903 _errHandler->reportError(this, e);
\r
2904 _localctx->exception = std::current_exception();
\r
2905 _errHandler->recover(this, _localctx->exception);
\r
2911 //----------------- TypeNameContext ------------------------------------------------------------------
\r
2913 TocParser::TypeNameContext::TypeNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2914 : ParserRuleContext(parent, invokingState) {
\r
2917 tree::TerminalNode* TocParser::TypeNameContext::NAME() {
\r
2918 return getToken(TocParser::NAME, 0);
\r
2922 size_t TocParser::TypeNameContext::getRuleIndex() const {
\r
2923 return TocParser::RuleTypeName;
\r
2927 TocParser::TypeNameContext* TocParser::typeName() {
\r
2928 TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());
\r
2929 enterRule(_localctx, 90, TocParser::RuleTypeName);
\r
2931 #if __cplusplus > 201703L
\r
2932 auto onExit = finally([=, this] {
\r
2934 auto onExit = finally([=] {
\r
2939 enterOuterAlt(_localctx, 1);
\r
2941 match(TocParser::NAME);
\r
2944 catch (RecognitionException &e) {
\r
2945 _errHandler->reportError(this, e);
\r
2946 _localctx->exception = std::current_exception();
\r
2947 _errHandler->recover(this, _localctx->exception);
\r
2953 //----------------- StructNameContext ------------------------------------------------------------------
\r
2955 TocParser::StructNameContext::StructNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2956 : ParserRuleContext(parent, invokingState) {
\r
2959 tree::TerminalNode* TocParser::StructNameContext::NAME() {
\r
2960 return getToken(TocParser::NAME, 0);
\r
2964 size_t TocParser::StructNameContext::getRuleIndex() const {
\r
2965 return TocParser::RuleStructName;
\r
2969 TocParser::StructNameContext* TocParser::structName() {
\r
2970 StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());
\r
2971 enterRule(_localctx, 92, TocParser::RuleStructName);
\r
2973 #if __cplusplus > 201703L
\r
2974 auto onExit = finally([=, this] {
\r
2976 auto onExit = finally([=] {
\r
2981 enterOuterAlt(_localctx, 1);
\r
2983 match(TocParser::NAME);
\r
2986 catch (RecognitionException &e) {
\r
2987 _errHandler->reportError(this, e);
\r
2988 _localctx->exception = std::current_exception();
\r
2989 _errHandler->recover(this, _localctx->exception);
\r
2995 //----------------- Postfix_opContext ------------------------------------------------------------------
\r
2997 TocParser::Postfix_opContext::Postfix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2998 : ParserRuleContext(parent, invokingState) {
\r
3002 size_t TocParser::Postfix_opContext::getRuleIndex() const {
\r
3003 return TocParser::RulePostfix_op;
\r
3007 TocParser::Postfix_opContext* TocParser::postfix_op() {
\r
3008 Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());
\r
3009 enterRule(_localctx, 94, TocParser::RulePostfix_op);
\r
3012 #if __cplusplus > 201703L
\r
3013 auto onExit = finally([=, this] {
\r
3015 auto onExit = finally([=] {
\r
3020 enterOuterAlt(_localctx, 1);
\r
3022 _la = _input->LA(1);
\r
3023 if (!(_la == TocParser::T__26
\r
3025 || _la == TocParser::T__27)) {
\r
3026 _errHandler->recoverInline(this);
\r
3029 _errHandler->reportMatch(this);
\r
3034 catch (RecognitionException &e) {
\r
3035 _errHandler->reportError(this, e);
\r
3036 _localctx->exception = std::current_exception();
\r
3037 _errHandler->recover(this, _localctx->exception);
\r
3043 //----------------- Prefix_opContext ------------------------------------------------------------------
\r
3045 TocParser::Prefix_opContext::Prefix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
3046 : ParserRuleContext(parent, invokingState) {
\r
3049 TocParser::Postfix_opContext* TocParser::Prefix_opContext::postfix_op() {
\r
3050 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
3054 size_t TocParser::Prefix_opContext::getRuleIndex() const {
\r
3055 return TocParser::RulePrefix_op;
\r
3059 TocParser::Prefix_opContext* TocParser::prefix_op() {
\r
3060 Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());
\r
3061 enterRule(_localctx, 96, TocParser::RulePrefix_op);
\r
3063 #if __cplusplus > 201703L
\r
3064 auto onExit = finally([=, this] {
\r
3066 auto onExit = finally([=] {
\r
3072 _errHandler->sync(this);
\r
3073 switch (_input->LA(1)) {
\r
3074 case TocParser::T__28: {
\r
3075 enterOuterAlt(_localctx, 1);
\r
3077 match(TocParser::T__28);
\r
3081 case TocParser::T__29: {
\r
3082 enterOuterAlt(_localctx, 2);
\r
3084 match(TocParser::T__29);
\r
3088 case TocParser::T__30: {
\r
3089 enterOuterAlt(_localctx, 3);
\r
3091 match(TocParser::T__30);
\r
3095 case TocParser::T__31: {
\r
3096 enterOuterAlt(_localctx, 4);
\r
3098 match(TocParser::T__31);
\r
3102 case TocParser::T__32: {
\r
3103 enterOuterAlt(_localctx, 5);
\r
3105 match(TocParser::T__32);
\r
3109 case TocParser::T__4: {
\r
3110 enterOuterAlt(_localctx, 6);
\r
3112 match(TocParser::T__4);
\r
3116 case TocParser::T__26:
\r
3117 case TocParser::T__27: {
\r
3118 enterOuterAlt(_localctx, 7);
\r
3125 throw NoViableAltException(this);
\r
3129 catch (RecognitionException &e) {
\r
3130 _errHandler->reportError(this, e);
\r
3131 _localctx->exception = std::current_exception();
\r
3132 _errHandler->recover(this, _localctx->exception);
\r
3138 //----------------- Binary_opContext ------------------------------------------------------------------
\r
3140 TocParser::Binary_opContext::Binary_opContext(ParserRuleContext *parent, size_t invokingState)
\r
3141 : ParserRuleContext(parent, invokingState) {
\r
3145 size_t TocParser::Binary_opContext::getRuleIndex() const {
\r
3146 return TocParser::RuleBinary_op;
\r
3150 TocParser::Binary_opContext* TocParser::binary_op() {
\r
3151 Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());
\r
3152 enterRule(_localctx, 98, TocParser::RuleBinary_op);
\r
3155 #if __cplusplus > 201703L
\r
3156 auto onExit = finally([=, this] {
\r
3158 auto onExit = finally([=] {
\r
3163 enterOuterAlt(_localctx, 1);
\r
3165 _la = _input->LA(1);
\r
3166 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
3167 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
3168 | (1ULL << TocParser::T__14)
\r
3169 | (1ULL << TocParser::T__15)
\r
3170 | (1ULL << TocParser::T__28)
\r
3171 | (1ULL << TocParser::T__29)
\r
3172 | (1ULL << TocParser::T__32)
\r
3173 | (1ULL << TocParser::T__33)
\r
3174 | (1ULL << TocParser::T__34)
\r
3175 | (1ULL << TocParser::T__35)
\r
3176 | (1ULL << TocParser::T__36)
\r
3177 | (1ULL << TocParser::T__37)
\r
3178 | (1ULL << TocParser::T__38)
\r
3179 | (1ULL << TocParser::T__39)
\r
3180 | (1ULL << TocParser::T__40)
\r
3181 | (1ULL << TocParser::T__41)
\r
3182 | (1ULL << TocParser::T__42)
\r
3183 | (1ULL << TocParser::T__43)
\r
3184 | (1ULL << TocParser::T__44)
\r
3185 | (1ULL << TocParser::T__45)
\r
3186 | (1ULL << TocParser::T__46)
\r
3187 | (1ULL << TocParser::T__47)
\r
3188 | (1ULL << TocParser::T__48)
\r
3189 | (1ULL << TocParser::T__49)
\r
3190 | (1ULL << TocParser::T__50)
\r
3191 | (1ULL << TocParser::T__51)
\r
3192 | (1ULL << TocParser::T__52)
\r
3193 | (1ULL << TocParser::T__53)
\r
3194 | (1ULL << TocParser::T__54))) != 0))) {
\r
3195 _errHandler->recoverInline(this);
\r
3198 _errHandler->reportMatch(this);
\r
3203 catch (RecognitionException &e) {
\r
3204 _errHandler->reportError(this, e);
\r
3205 _localctx->exception = std::current_exception();
\r
3206 _errHandler->recover(this, _localctx->exception);
\r
3212 // Static vars and initialization.
\r
3213 std::vector<dfa::DFA> TocParser::_decisionToDFA;
\r
3214 atn::PredictionContextCache TocParser::_sharedContextCache;
\r
3216 // We own the ATN which in turn owns the ATN states.
\r
3217 atn::ATN TocParser::_atn;
\r
3218 std::vector<uint16_t> TocParser::_serializedATN;
\r
3220 std::vector<std::string> TocParser::_ruleNames = {
\r
3221 "prog", "decl", "varDecl", "var", "varInit", "type", "typeModifier", "funcDecl",
\r
3222 "func", "parameter", "body", "structDecl", "structMember", "structVar",
\r
3223 "structMethod", "genericDecl", "stmt", "ifStmt", "elseIfStmt", "elseStmt",
\r
3224 "switchStmt", "switchBody", "switchCase", "forStmt", "whileStmt", "assignStmt",
\r
3225 "returnStmt", "expr", "nonOpExpr", "nonAccessExpr", "funcExpr", "opExpr",
\r
3226 "binaryOp", "prefixOp", "postfixOp", "ternaryOp", "identifierExpr", "litExpr",
\r
3227 "accessExpr", "accessSubExpr", "accessMember", "accessBrackets", "parenExpr",
\r
3228 "funcName", "varName", "typeName", "structName", "postfix_op", "prefix_op",
\r
3232 std::vector<std::string> TocParser::_literalNames = {
\r
3233 "", "';'", "'var'", "':'", "'='", "'*'", "'['", "']'", "'func'", "'('",
\r
3234 "')'", "','", "'{'", "'}'", "'struct'", "'<'", "'>'", "'if'", "'else'",
\r
3235 "'switch'", "'case'", "'for'", "'while'", "'return'", "'\u003F'", "'.'",
\r
3236 "'->'", "'++'", "'--'", "'+'", "'-'", "'!'", "'~'", "'&'", "'/'", "'%'",
\r
3237 "'|'", "'^'", "'=='", "'!='", "'<='", "'>='", "'<<'", "'>>'", "'||'",
\r
3238 "'&&'", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'+='", "'-='", "'*='",
\r
3242 std::vector<std::string> TocParser::_symbolicNames = {
\r
3243 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3244 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3245 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
3246 "", "", "INT_LIT", "DECIMAL_LIT", "STRING_LIT", "BOOL_LIT", "NAME", "WS",
\r
3250 dfa::Vocabulary TocParser::_vocabulary(_literalNames, _symbolicNames);
\r
3252 std::vector<std::string> TocParser::_tokenNames;
\r
3254 TocParser::Initializer::Initializer() {
\r
3255 for (size_t i = 0; i < _symbolicNames.size(); ++i) {
\r
3256 std::string name = _vocabulary.getLiteralName(i);
\r
3257 if (name.empty()) {
\r
3258 name = _vocabulary.getSymbolicName(i);
\r
3261 if (name.empty()) {
\r
3262 _tokenNames.push_back("<INVALID>");
\r
3264 _tokenNames.push_back(name);
\r
3268 static const uint16_t serializedATNSegment0[] = {
\r
3269 0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
\r
3270 0x3, 0x40, 0x194, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
\r
3271 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
\r
3272 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
\r
3273 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
\r
3274 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
\r
3275 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
\r
3276 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
\r
3277 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
\r
3278 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
\r
3279 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
\r
3280 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x4, 0x23,
\r
3281 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25, 0x4, 0x26,
\r
3282 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 0x4, 0x29,
\r
3283 0x9, 0x29, 0x4, 0x2a, 0x9, 0x2a, 0x4, 0x2b, 0x9, 0x2b, 0x4, 0x2c,
\r
3284 0x9, 0x2c, 0x4, 0x2d, 0x9, 0x2d, 0x4, 0x2e, 0x9, 0x2e, 0x4, 0x2f,
\r
3285 0x9, 0x2f, 0x4, 0x30, 0x9, 0x30, 0x4, 0x31, 0x9, 0x31, 0x4, 0x32,
\r
3286 0x9, 0x32, 0x4, 0x33, 0x9, 0x33, 0x3, 0x2, 0x6, 0x2, 0x68, 0xa, 0x2,
\r
3287 0xd, 0x2, 0xe, 0x2, 0x69, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3,
\r
3288 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x5, 0x3, 0x73, 0xa, 0x3, 0x3, 0x4,
\r
3289 0x3, 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3,
\r
3290 0x5, 0x3, 0x5, 0x5, 0x5, 0x7e, 0xa, 0x5, 0x3, 0x6, 0x3, 0x6, 0x3,
\r
3291 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x7, 0x3, 0x7,
\r
3292 0x7, 0x7, 0x89, 0xa, 0x7, 0xc, 0x7, 0xe, 0x7, 0x8c, 0xb, 0x7, 0x3,
\r
3293 0x8, 0x3, 0x8, 0x3, 0x8, 0x5, 0x8, 0x91, 0xa, 0x8, 0x3, 0x8, 0x5,
\r
3294 0x8, 0x94, 0xa, 0x8, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0xa, 0x3,
\r
3295 0xa, 0x5, 0xa, 0x9b, 0xa, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3,
\r
3296 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa, 0x3, 0xb, 0x3, 0xb,
\r
3297 0x3, 0xb, 0x7, 0xb, 0xa8, 0xa, 0xb, 0xc, 0xb, 0xe, 0xb, 0xab, 0xb,
\r
3298 0xb, 0x5, 0xb, 0xad, 0xa, 0xb, 0x3, 0xc, 0x3, 0xc, 0x7, 0xc, 0xb1,
\r
3299 0xa, 0xc, 0xc, 0xc, 0xe, 0xc, 0xb4, 0xb, 0xc, 0x3, 0xc, 0x3, 0xc,
\r
3300 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x5, 0xd, 0xbb, 0xa, 0xd, 0x3, 0xd,
\r
3301 0x3, 0xd, 0x7, 0xd, 0xbf, 0xa, 0xd, 0xc, 0xd, 0xe, 0xd, 0xc2, 0xb,
\r
3302 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xe, 0x3, 0xe, 0x5, 0xe, 0xc8, 0xa,
\r
3303 0xe, 0x3, 0xf, 0x3, 0xf, 0x3, 0xf, 0x3, 0x10, 0x3, 0x10, 0x3, 0x11,
\r
3304 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x7, 0x11, 0xd3, 0xa, 0x11, 0xc,
\r
3305 0x11, 0xe, 0x11, 0xd6, 0xb, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x12,
\r
3306 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12,
\r
3307 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12,
\r
3308 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x5, 0x12, 0xea, 0xa, 0x12, 0x3,
\r
3309 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x7, 0x13, 0xf0, 0xa, 0x13,
\r
3310 0xc, 0x13, 0xe, 0x13, 0xf3, 0xb, 0x13, 0x3, 0x13, 0x5, 0x13, 0xf6,
\r
3311 0xa, 0x13, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14,
\r
3312 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16,
\r
3313 0x3, 0x16, 0x3, 0x17, 0x3, 0x17, 0x7, 0x17, 0x106, 0xa, 0x17, 0xc,
\r
3314 0x17, 0xe, 0x17, 0x109, 0xb, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x18,
\r
3315 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19,
\r
3316 0x5, 0x19, 0x114, 0xa, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3,
\r
3317 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3,
\r
3318 0x1a, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3,
\r
3319 0x1c, 0x3, 0x1c, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3,
\r
3320 0x1d, 0x3, 0x1d, 0x5, 0x1d, 0x12d, 0xa, 0x1d, 0x3, 0x1e, 0x3, 0x1e,
\r
3321 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1e, 0x5, 0x1e, 0x134, 0xa, 0x1e, 0x3,
\r
3322 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x5, 0x1f, 0x139, 0xa, 0x1f, 0x3, 0x20,
\r
3323 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x140, 0xa,
\r
3324 0x20, 0xc, 0x20, 0xe, 0x20, 0x143, 0xb, 0x20, 0x5, 0x20, 0x145, 0xa,
\r
3325 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3,
\r
3326 0x21, 0x5, 0x21, 0x14d, 0xa, 0x21, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22,
\r
3327 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x7, 0x22, 0x155, 0xa, 0x22, 0xc,
\r
3328 0x22, 0xe, 0x22, 0x158, 0xb, 0x22, 0x3, 0x23, 0x3, 0x23, 0x3, 0x23,
\r
3329 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25,
\r
3330 0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x3, 0x26, 0x3, 0x26, 0x3, 0x27,
\r
3331 0x3, 0x27, 0x3, 0x28, 0x3, 0x28, 0x6, 0x28, 0x16c, 0xa, 0x28, 0xd,
\r
3332 0x28, 0xe, 0x28, 0x16d, 0x3, 0x29, 0x3, 0x29, 0x5, 0x29, 0x172, 0xa,
\r
3333 0x29, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2b, 0x3, 0x2b, 0x3,
\r
3334 0x2b, 0x3, 0x2b, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2c, 0x3,
\r
3335 0x2d, 0x3, 0x2d, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2f, 0x3, 0x2f, 0x3,
\r
3336 0x30, 0x3, 0x30, 0x3, 0x31, 0x3, 0x31, 0x3, 0x32, 0x3, 0x32, 0x3,
\r
3337 0x32, 0x3, 0x32, 0x3, 0x32, 0x3, 0x32, 0x3, 0x32, 0x5, 0x32, 0x190,
\r
3338 0xa, 0x32, 0x3, 0x33, 0x3, 0x33, 0x3, 0x33, 0x2, 0x2, 0x34, 0x2,
\r
3339 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a,
\r
3340 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30,
\r
3341 0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46,
\r
3342 0x48, 0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c,
\r
3343 0x5e, 0x60, 0x62, 0x64, 0x2, 0x6, 0x3, 0x2, 0x3a, 0x3d, 0x3, 0x2,
\r
3344 0x1b, 0x1c, 0x3, 0x2, 0x1d, 0x1e, 0x6, 0x2, 0x7, 0x7, 0x11, 0x12,
\r
3345 0x1f, 0x20, 0x23, 0x39, 0x2, 0x194, 0x2, 0x67, 0x3, 0x2, 0x2, 0x2,
\r
3346 0x4, 0x72, 0x3, 0x2, 0x2, 0x2, 0x6, 0x74, 0x3, 0x2, 0x2, 0x2, 0x8,
\r
3347 0x77, 0x3, 0x2, 0x2, 0x2, 0xa, 0x7f, 0x3, 0x2, 0x2, 0x2, 0xc, 0x86,
\r
3348 0x3, 0x2, 0x2, 0x2, 0xe, 0x93, 0x3, 0x2, 0x2, 0x2, 0x10, 0x95, 0x3,
\r
3349 0x2, 0x2, 0x2, 0x12, 0x98, 0x3, 0x2, 0x2, 0x2, 0x14, 0xac, 0x3, 0x2,
\r
3350 0x2, 0x2, 0x16, 0xae, 0x3, 0x2, 0x2, 0x2, 0x18, 0xb7, 0x3, 0x2, 0x2,
\r
3351 0x2, 0x1a, 0xc7, 0x3, 0x2, 0x2, 0x2, 0x1c, 0xc9, 0x3, 0x2, 0x2, 0x2,
\r
3352 0x1e, 0xcc, 0x3, 0x2, 0x2, 0x2, 0x20, 0xce, 0x3, 0x2, 0x2, 0x2, 0x22,
\r
3353 0xe9, 0x3, 0x2, 0x2, 0x2, 0x24, 0xeb, 0x3, 0x2, 0x2, 0x2, 0x26, 0xf7,
\r
3354 0x3, 0x2, 0x2, 0x2, 0x28, 0xfc, 0x3, 0x2, 0x2, 0x2, 0x2a, 0xff, 0x3,
\r
3355 0x2, 0x2, 0x2, 0x2c, 0x103, 0x3, 0x2, 0x2, 0x2, 0x2e, 0x10c, 0x3,
\r
3356 0x2, 0x2, 0x2, 0x30, 0x110, 0x3, 0x2, 0x2, 0x2, 0x32, 0x11b, 0x3,
\r
3357 0x2, 0x2, 0x2, 0x34, 0x11f, 0x3, 0x2, 0x2, 0x2, 0x36, 0x123, 0x3,
\r
3358 0x2, 0x2, 0x2, 0x38, 0x12c, 0x3, 0x2, 0x2, 0x2, 0x3a, 0x133, 0x3,
\r
3359 0x2, 0x2, 0x2, 0x3c, 0x138, 0x3, 0x2, 0x2, 0x2, 0x3e, 0x13a, 0x3,
\r
3360 0x2, 0x2, 0x2, 0x40, 0x14c, 0x3, 0x2, 0x2, 0x2, 0x42, 0x14e, 0x3,
\r
3361 0x2, 0x2, 0x2, 0x44, 0x159, 0x3, 0x2, 0x2, 0x2, 0x46, 0x15c, 0x3,
\r
3362 0x2, 0x2, 0x2, 0x48, 0x15f, 0x3, 0x2, 0x2, 0x2, 0x4a, 0x165, 0x3,
\r
3363 0x2, 0x2, 0x2, 0x4c, 0x167, 0x3, 0x2, 0x2, 0x2, 0x4e, 0x169, 0x3,
\r
3364 0x2, 0x2, 0x2, 0x50, 0x171, 0x3, 0x2, 0x2, 0x2, 0x52, 0x173, 0x3,
\r
3365 0x2, 0x2, 0x2, 0x54, 0x176, 0x3, 0x2, 0x2, 0x2, 0x56, 0x17a, 0x3,
\r
3366 0x2, 0x2, 0x2, 0x58, 0x17e, 0x3, 0x2, 0x2, 0x2, 0x5a, 0x180, 0x3,
\r
3367 0x2, 0x2, 0x2, 0x5c, 0x182, 0x3, 0x2, 0x2, 0x2, 0x5e, 0x184, 0x3,
\r
3368 0x2, 0x2, 0x2, 0x60, 0x186, 0x3, 0x2, 0x2, 0x2, 0x62, 0x18f, 0x3,
\r
3369 0x2, 0x2, 0x2, 0x64, 0x191, 0x3, 0x2, 0x2, 0x2, 0x66, 0x68, 0x5,
\r
3370 0x4, 0x3, 0x2, 0x67, 0x66, 0x3, 0x2, 0x2, 0x2, 0x68, 0x69, 0x3, 0x2,
\r
3371 0x2, 0x2, 0x69, 0x67, 0x3, 0x2, 0x2, 0x2, 0x69, 0x6a, 0x3, 0x2, 0x2,
\r
3372 0x2, 0x6a, 0x6b, 0x3, 0x2, 0x2, 0x2, 0x6b, 0x6c, 0x7, 0x2, 0x2, 0x3,
\r
3373 0x6c, 0x3, 0x3, 0x2, 0x2, 0x2, 0x6d, 0x6e, 0x5, 0x6, 0x4, 0x2, 0x6e,
\r
3374 0x6f, 0x7, 0x3, 0x2, 0x2, 0x6f, 0x73, 0x3, 0x2, 0x2, 0x2, 0x70, 0x73,
\r
3375 0x5, 0x10, 0x9, 0x2, 0x71, 0x73, 0x5, 0x18, 0xd, 0x2, 0x72, 0x6d,
\r
3376 0x3, 0x2, 0x2, 0x2, 0x72, 0x70, 0x3, 0x2, 0x2, 0x2, 0x72, 0x71, 0x3,
\r
3377 0x2, 0x2, 0x2, 0x73, 0x5, 0x3, 0x2, 0x2, 0x2, 0x74, 0x75, 0x7, 0x4,
\r
3378 0x2, 0x2, 0x75, 0x76, 0x5, 0x8, 0x5, 0x2, 0x76, 0x7, 0x3, 0x2, 0x2,
\r
3379 0x2, 0x77, 0x78, 0x5, 0x5a, 0x2e, 0x2, 0x78, 0x79, 0x7, 0x5, 0x2,
\r
3380 0x2, 0x79, 0x7a, 0x5, 0xc, 0x7, 0x2, 0x7a, 0x7d, 0x3, 0x2, 0x2, 0x2,
\r
3381 0x7b, 0x7c, 0x7, 0x6, 0x2, 0x2, 0x7c, 0x7e, 0x5, 0x38, 0x1d, 0x2,
\r
3382 0x7d, 0x7b, 0x3, 0x2, 0x2, 0x2, 0x7d, 0x7e, 0x3, 0x2, 0x2, 0x2, 0x7e,
\r
3383 0x9, 0x3, 0x2, 0x2, 0x2, 0x7f, 0x80, 0x5, 0x5a, 0x2e, 0x2, 0x80,
\r
3384 0x81, 0x7, 0x5, 0x2, 0x2, 0x81, 0x82, 0x5, 0xc, 0x7, 0x2, 0x82, 0x83,
\r
3385 0x3, 0x2, 0x2, 0x2, 0x83, 0x84, 0x7, 0x6, 0x2, 0x2, 0x84, 0x85, 0x5,
\r
3386 0x38, 0x1d, 0x2, 0x85, 0xb, 0x3, 0x2, 0x2, 0x2, 0x86, 0x8a, 0x5,
\r
3387 0x5c, 0x2f, 0x2, 0x87, 0x89, 0x5, 0xe, 0x8, 0x2, 0x88, 0x87, 0x3,
\r
3388 0x2, 0x2, 0x2, 0x89, 0x8c, 0x3, 0x2, 0x2, 0x2, 0x8a, 0x88, 0x3, 0x2,
\r
3389 0x2, 0x2, 0x8a, 0x8b, 0x3, 0x2, 0x2, 0x2, 0x8b, 0xd, 0x3, 0x2, 0x2,
\r
3390 0x2, 0x8c, 0x8a, 0x3, 0x2, 0x2, 0x2, 0x8d, 0x94, 0x7, 0x7, 0x2, 0x2,
\r
3391 0x8e, 0x90, 0x7, 0x8, 0x2, 0x2, 0x8f, 0x91, 0x7, 0x3a, 0x2, 0x2,
\r
3392 0x90, 0x8f, 0x3, 0x2, 0x2, 0x2, 0x90, 0x91, 0x3, 0x2, 0x2, 0x2, 0x91,
\r
3393 0x92, 0x3, 0x2, 0x2, 0x2, 0x92, 0x94, 0x7, 0x9, 0x2, 0x2, 0x93, 0x8d,
\r
3394 0x3, 0x2, 0x2, 0x2, 0x93, 0x8e, 0x3, 0x2, 0x2, 0x2, 0x94, 0xf, 0x3,
\r
3395 0x2, 0x2, 0x2, 0x95, 0x96, 0x7, 0xa, 0x2, 0x2, 0x96, 0x97, 0x5, 0x12,
\r
3396 0xa, 0x2, 0x97, 0x11, 0x3, 0x2, 0x2, 0x2, 0x98, 0x9a, 0x5, 0x58,
\r
3397 0x2d, 0x2, 0x99, 0x9b, 0x5, 0x20, 0x11, 0x2, 0x9a, 0x99, 0x3, 0x2,
\r
3398 0x2, 0x2, 0x9a, 0x9b, 0x3, 0x2, 0x2, 0x2, 0x9b, 0x9c, 0x3, 0x2, 0x2,
\r
3399 0x2, 0x9c, 0x9d, 0x7, 0xb, 0x2, 0x2, 0x9d, 0x9e, 0x5, 0x14, 0xb,
\r
3400 0x2, 0x9e, 0x9f, 0x7, 0xc, 0x2, 0x2, 0x9f, 0xa0, 0x7, 0x5, 0x2, 0x2,
\r
3401 0xa0, 0xa1, 0x5, 0xc, 0x7, 0x2, 0xa1, 0xa2, 0x3, 0x2, 0x2, 0x2, 0xa2,
\r
3402 0xa3, 0x5, 0x16, 0xc, 0x2, 0xa3, 0x13, 0x3, 0x2, 0x2, 0x2, 0xa4,
\r
3403 0xa9, 0x5, 0x8, 0x5, 0x2, 0xa5, 0xa6, 0x7, 0xd, 0x2, 0x2, 0xa6, 0xa8,
\r
3404 0x5, 0x8, 0x5, 0x2, 0xa7, 0xa5, 0x3, 0x2, 0x2, 0x2, 0xa8, 0xab, 0x3,
\r
3405 0x2, 0x2, 0x2, 0xa9, 0xa7, 0x3, 0x2, 0x2, 0x2, 0xa9, 0xaa, 0x3, 0x2,
\r
3406 0x2, 0x2, 0xaa, 0xad, 0x3, 0x2, 0x2, 0x2, 0xab, 0xa9, 0x3, 0x2, 0x2,
\r
3407 0x2, 0xac, 0xa4, 0x3, 0x2, 0x2, 0x2, 0xac, 0xad, 0x3, 0x2, 0x2, 0x2,
\r
3408 0xad, 0x15, 0x3, 0x2, 0x2, 0x2, 0xae, 0xb2, 0x7, 0xe, 0x2, 0x2, 0xaf,
\r
3409 0xb1, 0x5, 0x22, 0x12, 0x2, 0xb0, 0xaf, 0x3, 0x2, 0x2, 0x2, 0xb1,
\r
3410 0xb4, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb0, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb3,
\r
3411 0x3, 0x2, 0x2, 0x2, 0xb3, 0xb5, 0x3, 0x2, 0x2, 0x2, 0xb4, 0xb2, 0x3,
\r
3412 0x2, 0x2, 0x2, 0xb5, 0xb6, 0x7, 0xf, 0x2, 0x2, 0xb6, 0x17, 0x3, 0x2,
\r
3413 0x2, 0x2, 0xb7, 0xb8, 0x7, 0x10, 0x2, 0x2, 0xb8, 0xba, 0x5, 0x5e,
\r
3414 0x30, 0x2, 0xb9, 0xbb, 0x5, 0x20, 0x11, 0x2, 0xba, 0xb9, 0x3, 0x2,
\r
3415 0x2, 0x2, 0xba, 0xbb, 0x3, 0x2, 0x2, 0x2, 0xbb, 0xbc, 0x3, 0x2, 0x2,
\r
3416 0x2, 0xbc, 0xc0, 0x7, 0xe, 0x2, 0x2, 0xbd, 0xbf, 0x5, 0x1a, 0xe,
\r
3417 0x2, 0xbe, 0xbd, 0x3, 0x2, 0x2, 0x2, 0xbf, 0xc2, 0x3, 0x2, 0x2, 0x2,
\r
3418 0xc0, 0xbe, 0x3, 0x2, 0x2, 0x2, 0xc0, 0xc1, 0x3, 0x2, 0x2, 0x2, 0xc1,
\r
3419 0xc3, 0x3, 0x2, 0x2, 0x2, 0xc2, 0xc0, 0x3, 0x2, 0x2, 0x2, 0xc3, 0xc4,
\r
3420 0x7, 0xf, 0x2, 0x2, 0xc4, 0x19, 0x3, 0x2, 0x2, 0x2, 0xc5, 0xc8, 0x5,
\r
3421 0x1c, 0xf, 0x2, 0xc6, 0xc8, 0x5, 0x1e, 0x10, 0x2, 0xc7, 0xc5, 0x3,
\r
3422 0x2, 0x2, 0x2, 0xc7, 0xc6, 0x3, 0x2, 0x2, 0x2, 0xc8, 0x1b, 0x3, 0x2,
\r
3423 0x2, 0x2, 0xc9, 0xca, 0x5, 0x8, 0x5, 0x2, 0xca, 0xcb, 0x7, 0x3, 0x2,
\r
3424 0x2, 0xcb, 0x1d, 0x3, 0x2, 0x2, 0x2, 0xcc, 0xcd, 0x5, 0x12, 0xa,
\r
3425 0x2, 0xcd, 0x1f, 0x3, 0x2, 0x2, 0x2, 0xce, 0xcf, 0x7, 0x11, 0x2,
\r
3426 0x2, 0xcf, 0xd4, 0x5, 0x5c, 0x2f, 0x2, 0xd0, 0xd1, 0x7, 0xd, 0x2,
\r
3427 0x2, 0xd1, 0xd3, 0x5, 0x5c, 0x2f, 0x2, 0xd2, 0xd0, 0x3, 0x2, 0x2,
\r
3428 0x2, 0xd3, 0xd6, 0x3, 0x2, 0x2, 0x2, 0xd4, 0xd2, 0x3, 0x2, 0x2, 0x2,
\r
3429 0xd4, 0xd5, 0x3, 0x2, 0x2, 0x2, 0xd5, 0xd7, 0x3, 0x2, 0x2, 0x2, 0xd6,
\r
3430 0xd4, 0x3, 0x2, 0x2, 0x2, 0xd7, 0xd8, 0x7, 0x12, 0x2, 0x2, 0xd8,
\r
3431 0x21, 0x3, 0x2, 0x2, 0x2, 0xd9, 0xda, 0x5, 0x6, 0x4, 0x2, 0xda, 0xdb,
\r
3432 0x7, 0x3, 0x2, 0x2, 0xdb, 0xea, 0x3, 0x2, 0x2, 0x2, 0xdc, 0xea, 0x5,
\r
3433 0x24, 0x13, 0x2, 0xdd, 0xea, 0x5, 0x2a, 0x16, 0x2, 0xde, 0xea, 0x5,
\r
3434 0x30, 0x19, 0x2, 0xdf, 0xea, 0x5, 0x32, 0x1a, 0x2, 0xe0, 0xe1, 0x5,
\r
3435 0x34, 0x1b, 0x2, 0xe1, 0xe2, 0x7, 0x3, 0x2, 0x2, 0xe2, 0xea, 0x3,
\r
3436 0x2, 0x2, 0x2, 0xe3, 0xe4, 0x5, 0x36, 0x1c, 0x2, 0xe4, 0xe5, 0x7,
\r
3437 0x3, 0x2, 0x2, 0xe5, 0xea, 0x3, 0x2, 0x2, 0x2, 0xe6, 0xe7, 0x5, 0x38,
\r
3438 0x1d, 0x2, 0xe7, 0xe8, 0x7, 0x3, 0x2, 0x2, 0xe8, 0xea, 0x3, 0x2,
\r
3439 0x2, 0x2, 0xe9, 0xd9, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xdc, 0x3, 0x2, 0x2,
\r
3440 0x2, 0xe9, 0xdd, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xde, 0x3, 0x2, 0x2, 0x2,
\r
3441 0xe9, 0xdf, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xe0, 0x3, 0x2, 0x2, 0x2, 0xe9,
\r
3442 0xe3, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xe6, 0x3, 0x2, 0x2, 0x2, 0xea, 0x23,
\r
3443 0x3, 0x2, 0x2, 0x2, 0xeb, 0xec, 0x7, 0x13, 0x2, 0x2, 0xec, 0xed,
\r
3444 0x5, 0x38, 0x1d, 0x2, 0xed, 0xf1, 0x5, 0x16, 0xc, 0x2, 0xee, 0xf0,
\r
3445 0x5, 0x26, 0x14, 0x2, 0xef, 0xee, 0x3, 0x2, 0x2, 0x2, 0xf0, 0xf3,
\r
3446 0x3, 0x2, 0x2, 0x2, 0xf1, 0xef, 0x3, 0x2, 0x2, 0x2, 0xf1, 0xf2, 0x3,
\r
3447 0x2, 0x2, 0x2, 0xf2, 0xf5, 0x3, 0x2, 0x2, 0x2, 0xf3, 0xf1, 0x3, 0x2,
\r
3448 0x2, 0x2, 0xf4, 0xf6, 0x5, 0x28, 0x15, 0x2, 0xf5, 0xf4, 0x3, 0x2,
\r
3449 0x2, 0x2, 0xf5, 0xf6, 0x3, 0x2, 0x2, 0x2, 0xf6, 0x25, 0x3, 0x2, 0x2,
\r
3450 0x2, 0xf7, 0xf8, 0x7, 0x14, 0x2, 0x2, 0xf8, 0xf9, 0x7, 0x13, 0x2,
\r
3451 0x2, 0xf9, 0xfa, 0x5, 0x38, 0x1d, 0x2, 0xfa, 0xfb, 0x5, 0x16, 0xc,
\r
3452 0x2, 0xfb, 0x27, 0x3, 0x2, 0x2, 0x2, 0xfc, 0xfd, 0x7, 0x14, 0x2,
\r
3453 0x2, 0xfd, 0xfe, 0x5, 0x16, 0xc, 0x2, 0xfe, 0x29, 0x3, 0x2, 0x2,
\r
3454 0x2, 0xff, 0x100, 0x7, 0x15, 0x2, 0x2, 0x100, 0x101, 0x5, 0x4a, 0x26,
\r
3455 0x2, 0x101, 0x102, 0x5, 0x2c, 0x17, 0x2, 0x102, 0x2b, 0x3, 0x2, 0x2,
\r
3456 0x2, 0x103, 0x107, 0x7, 0xe, 0x2, 0x2, 0x104, 0x106, 0x5, 0x2e, 0x18,
\r
3457 0x2, 0x105, 0x104, 0x3, 0x2, 0x2, 0x2, 0x106, 0x109, 0x3, 0x2, 0x2,
\r
3458 0x2, 0x107, 0x105, 0x3, 0x2, 0x2, 0x2, 0x107, 0x108, 0x3, 0x2, 0x2,
\r
3459 0x2, 0x108, 0x10a, 0x3, 0x2, 0x2, 0x2, 0x109, 0x107, 0x3, 0x2, 0x2,
\r
3460 0x2, 0x10a, 0x10b, 0x7, 0xf, 0x2, 0x2, 0x10b, 0x2d, 0x3, 0x2, 0x2,
\r
3461 0x2, 0x10c, 0x10d, 0x7, 0x16, 0x2, 0x2, 0x10d, 0x10e, 0x5, 0x38,
\r
3462 0x1d, 0x2, 0x10e, 0x10f, 0x5, 0x16, 0xc, 0x2, 0x10f, 0x2f, 0x3, 0x2,
\r
3463 0x2, 0x2, 0x110, 0x113, 0x7, 0x17, 0x2, 0x2, 0x111, 0x114, 0x5, 0xa,
\r
3464 0x6, 0x2, 0x112, 0x114, 0x5, 0x34, 0x1b, 0x2, 0x113, 0x111, 0x3,
\r
3465 0x2, 0x2, 0x2, 0x113, 0x112, 0x3, 0x2, 0x2, 0x2, 0x114, 0x115, 0x3,
\r
3466 0x2, 0x2, 0x2, 0x115, 0x116, 0x7, 0xd, 0x2, 0x2, 0x116, 0x117, 0x5,
\r
3467 0x38, 0x1d, 0x2, 0x117, 0x118, 0x7, 0xd, 0x2, 0x2, 0x118, 0x119,
\r
3468 0x5, 0x38, 0x1d, 0x2, 0x119, 0x11a, 0x5, 0x16, 0xc, 0x2, 0x11a, 0x31,
\r
3469 0x3, 0x2, 0x2, 0x2, 0x11b, 0x11c, 0x7, 0x18, 0x2, 0x2, 0x11c, 0x11d,
\r
3470 0x5, 0x38, 0x1d, 0x2, 0x11d, 0x11e, 0x5, 0x16, 0xc, 0x2, 0x11e, 0x33,
\r
3471 0x3, 0x2, 0x2, 0x2, 0x11f, 0x120, 0x5, 0x4a, 0x26, 0x2, 0x120, 0x121,
\r
3472 0x7, 0x6, 0x2, 0x2, 0x121, 0x122, 0x5, 0x38, 0x1d, 0x2, 0x122, 0x35,
\r
3473 0x3, 0x2, 0x2, 0x2, 0x123, 0x124, 0x7, 0x19, 0x2, 0x2, 0x124, 0x125,
\r
3474 0x5, 0x38, 0x1d, 0x2, 0x125, 0x37, 0x3, 0x2, 0x2, 0x2, 0x126, 0x12d,
\r
3475 0x5, 0x3e, 0x20, 0x2, 0x127, 0x12d, 0x5, 0x4c, 0x27, 0x2, 0x128,
\r
3476 0x12d, 0x5, 0x4a, 0x26, 0x2, 0x129, 0x12d, 0x5, 0x56, 0x2c, 0x2,
\r
3477 0x12a, 0x12d, 0x5, 0x4e, 0x28, 0x2, 0x12b, 0x12d, 0x5, 0x40, 0x21,
\r
3478 0x2, 0x12c, 0x126, 0x3, 0x2, 0x2, 0x2, 0x12c, 0x127, 0x3, 0x2, 0x2,
\r
3479 0x2, 0x12c, 0x128, 0x3, 0x2, 0x2, 0x2, 0x12c, 0x129, 0x3, 0x2, 0x2,
\r
3480 0x2, 0x12c, 0x12a, 0x3, 0x2, 0x2, 0x2, 0x12c, 0x12b, 0x3, 0x2, 0x2,
\r
3481 0x2, 0x12d, 0x39, 0x3, 0x2, 0x2, 0x2, 0x12e, 0x134, 0x5, 0x3e, 0x20,
\r
3482 0x2, 0x12f, 0x134, 0x5, 0x4c, 0x27, 0x2, 0x130, 0x134, 0x5, 0x4a,
\r
3483 0x26, 0x2, 0x131, 0x134, 0x5, 0x56, 0x2c, 0x2, 0x132, 0x134, 0x5,
\r
3484 0x4e, 0x28, 0x2, 0x133, 0x12e, 0x3, 0x2, 0x2, 0x2, 0x133, 0x12f,
\r
3485 0x3, 0x2, 0x2, 0x2, 0x133, 0x130, 0x3, 0x2, 0x2, 0x2, 0x133, 0x131,
\r
3486 0x3, 0x2, 0x2, 0x2, 0x133, 0x132, 0x3, 0x2, 0x2, 0x2, 0x134, 0x3b,
\r
3487 0x3, 0x2, 0x2, 0x2, 0x135, 0x139, 0x5, 0x3e, 0x20, 0x2, 0x136, 0x139,
\r
3488 0x5, 0x4a, 0x26, 0x2, 0x137, 0x139, 0x5, 0x56, 0x2c, 0x2, 0x138,
\r
3489 0x135, 0x3, 0x2, 0x2, 0x2, 0x138, 0x136, 0x3, 0x2, 0x2, 0x2, 0x138,
\r
3490 0x137, 0x3, 0x2, 0x2, 0x2, 0x139, 0x3d, 0x3, 0x2, 0x2, 0x2, 0x13a,
\r
3491 0x13b, 0x5, 0x58, 0x2d, 0x2, 0x13b, 0x144, 0x7, 0xb, 0x2, 0x2, 0x13c,
\r
3492 0x141, 0x5, 0x38, 0x1d, 0x2, 0x13d, 0x13e, 0x7, 0xd, 0x2, 0x2, 0x13e,
\r
3493 0x140, 0x5, 0x38, 0x1d, 0x2, 0x13f, 0x13d, 0x3, 0x2, 0x2, 0x2, 0x140,
\r
3494 0x143, 0x3, 0x2, 0x2, 0x2, 0x141, 0x13f, 0x3, 0x2, 0x2, 0x2, 0x141,
\r
3495 0x142, 0x3, 0x2, 0x2, 0x2, 0x142, 0x145, 0x3, 0x2, 0x2, 0x2, 0x143,
\r
3496 0x141, 0x3, 0x2, 0x2, 0x2, 0x144, 0x13c, 0x3, 0x2, 0x2, 0x2, 0x144,
\r
3497 0x145, 0x3, 0x2, 0x2, 0x2, 0x145, 0x146, 0x3, 0x2, 0x2, 0x2, 0x146,
\r
3498 0x147, 0x7, 0xc, 0x2, 0x2, 0x147, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x148,
\r
3499 0x14d, 0x5, 0x42, 0x22, 0x2, 0x149, 0x14d, 0x5, 0x44, 0x23, 0x2,
\r
3500 0x14a, 0x14d, 0x5, 0x46, 0x24, 0x2, 0x14b, 0x14d, 0x5, 0x48, 0x25,
\r
3501 0x2, 0x14c, 0x148, 0x3, 0x2, 0x2, 0x2, 0x14c, 0x149, 0x3, 0x2, 0x2,
\r
3502 0x2, 0x14c, 0x14a, 0x3, 0x2, 0x2, 0x2, 0x14c, 0x14b, 0x3, 0x2, 0x2,
\r
3503 0x2, 0x14d, 0x41, 0x3, 0x2, 0x2, 0x2, 0x14e, 0x14f, 0x5, 0x3a, 0x1e,
\r
3504 0x2, 0x14f, 0x150, 0x5, 0x64, 0x33, 0x2, 0x150, 0x156, 0x5, 0x3a,
\r
3505 0x1e, 0x2, 0x151, 0x152, 0x5, 0x64, 0x33, 0x2, 0x152, 0x153, 0x5,
\r
3506 0x3a, 0x1e, 0x2, 0x153, 0x155, 0x3, 0x2, 0x2, 0x2, 0x154, 0x151,
\r
3507 0x3, 0x2, 0x2, 0x2, 0x155, 0x158, 0x3, 0x2, 0x2, 0x2, 0x156, 0x154,
\r
3508 0x3, 0x2, 0x2, 0x2, 0x156, 0x157, 0x3, 0x2, 0x2, 0x2, 0x157, 0x43,
\r
3509 0x3, 0x2, 0x2, 0x2, 0x158, 0x156, 0x3, 0x2, 0x2, 0x2, 0x159, 0x15a,
\r
3510 0x5, 0x62, 0x32, 0x2, 0x15a, 0x15b, 0x5, 0x3a, 0x1e, 0x2, 0x15b,
\r
3511 0x45, 0x3, 0x2, 0x2, 0x2, 0x15c, 0x15d, 0x5, 0x3a, 0x1e, 0x2, 0x15d,
\r
3512 0x15e, 0x5, 0x60, 0x31, 0x2, 0x15e, 0x47, 0x3, 0x2, 0x2, 0x2, 0x15f,
\r
3513 0x160, 0x5, 0x3a, 0x1e, 0x2, 0x160, 0x161, 0x7, 0x1a, 0x2, 0x2, 0x161,
\r
3514 0x162, 0x5, 0x38, 0x1d, 0x2, 0x162, 0x163, 0x7, 0x5, 0x2, 0x2, 0x163,
\r
3515 0x164, 0x5, 0x38, 0x1d, 0x2, 0x164, 0x49, 0x3, 0x2, 0x2, 0x2, 0x165,
\r
3516 0x166, 0x5, 0x5a, 0x2e, 0x2, 0x166, 0x4b, 0x3, 0x2, 0x2, 0x2, 0x167,
\r
3517 0x168, 0x9, 0x2, 0x2, 0x2, 0x168, 0x4d, 0x3, 0x2, 0x2, 0x2, 0x169,
\r
3518 0x16b, 0x5, 0x3c, 0x1f, 0x2, 0x16a, 0x16c, 0x5, 0x50, 0x29, 0x2,
\r
3519 0x16b, 0x16a, 0x3, 0x2, 0x2, 0x2, 0x16c, 0x16d, 0x3, 0x2, 0x2, 0x2,
\r
3520 0x16d, 0x16b, 0x3, 0x2, 0x2, 0x2, 0x16d, 0x16e, 0x3, 0x2, 0x2, 0x2,
\r
3521 0x16e, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x16f, 0x172, 0x5, 0x52, 0x2a, 0x2,
\r
3522 0x170, 0x172, 0x5, 0x54, 0x2b, 0x2, 0x171, 0x16f, 0x3, 0x2, 0x2,
\r
3523 0x2, 0x171, 0x170, 0x3, 0x2, 0x2, 0x2, 0x172, 0x51, 0x3, 0x2, 0x2,
\r
3524 0x2, 0x173, 0x174, 0x9, 0x3, 0x2, 0x2, 0x174, 0x175, 0x5, 0x4a, 0x26,
\r
3525 0x2, 0x175, 0x53, 0x3, 0x2, 0x2, 0x2, 0x176, 0x177, 0x7, 0x8, 0x2,
\r
3526 0x2, 0x177, 0x178, 0x5, 0x38, 0x1d, 0x2, 0x178, 0x179, 0x7, 0x9,
\r
3527 0x2, 0x2, 0x179, 0x55, 0x3, 0x2, 0x2, 0x2, 0x17a, 0x17b, 0x7, 0xb,
\r
3528 0x2, 0x2, 0x17b, 0x17c, 0x5, 0x38, 0x1d, 0x2, 0x17c, 0x17d, 0x7,
\r
3529 0xc, 0x2, 0x2, 0x17d, 0x57, 0x3, 0x2, 0x2, 0x2, 0x17e, 0x17f, 0x7,
\r
3530 0x3e, 0x2, 0x2, 0x17f, 0x59, 0x3, 0x2, 0x2, 0x2, 0x180, 0x181, 0x7,
\r
3531 0x3e, 0x2, 0x2, 0x181, 0x5b, 0x3, 0x2, 0x2, 0x2, 0x182, 0x183, 0x7,
\r
3532 0x3e, 0x2, 0x2, 0x183, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x184, 0x185, 0x7,
\r
3533 0x3e, 0x2, 0x2, 0x185, 0x5f, 0x3, 0x2, 0x2, 0x2, 0x186, 0x187, 0x9,
\r
3534 0x4, 0x2, 0x2, 0x187, 0x61, 0x3, 0x2, 0x2, 0x2, 0x188, 0x190, 0x7,
\r
3535 0x1f, 0x2, 0x2, 0x189, 0x190, 0x7, 0x20, 0x2, 0x2, 0x18a, 0x190,
\r
3536 0x7, 0x21, 0x2, 0x2, 0x18b, 0x190, 0x7, 0x22, 0x2, 0x2, 0x18c, 0x190,
\r
3537 0x7, 0x23, 0x2, 0x2, 0x18d, 0x190, 0x7, 0x7, 0x2, 0x2, 0x18e, 0x190,
\r
3538 0x5, 0x60, 0x31, 0x2, 0x18f, 0x188, 0x3, 0x2, 0x2, 0x2, 0x18f, 0x189,
\r
3539 0x3, 0x2, 0x2, 0x2, 0x18f, 0x18a, 0x3, 0x2, 0x2, 0x2, 0x18f, 0x18b,
\r
3540 0x3, 0x2, 0x2, 0x2, 0x18f, 0x18c, 0x3, 0x2, 0x2, 0x2, 0x18f, 0x18d,
\r
3541 0x3, 0x2, 0x2, 0x2, 0x18f, 0x18e, 0x3, 0x2, 0x2, 0x2, 0x190, 0x63,
\r
3542 0x3, 0x2, 0x2, 0x2, 0x191, 0x192, 0x9, 0x5, 0x2, 0x2, 0x192, 0x65,
\r
3543 0x3, 0x2, 0x2, 0x2, 0x1f, 0x69, 0x72, 0x7d, 0x8a, 0x90, 0x93, 0x9a,
\r
3544 0xa9, 0xac, 0xb2, 0xba, 0xc0, 0xc7, 0xd4, 0xe9, 0xf1, 0xf5, 0x107,
\r
3545 0x113, 0x12c, 0x133, 0x138, 0x141, 0x144, 0x14c, 0x156, 0x16d, 0x171,
\r
3549 _serializedATN.insert(_serializedATN.end(), serializedATNSegment0,
\r
3550 serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));
\r
3553 atn::ATNDeserializer deserializer;
\r
3554 _atn = deserializer.deserialize(_serializedATN);
\r
3556 size_t count = _atn.getNumberOfDecisions();
\r
3557 _decisionToDFA.reserve(count);
\r
3558 for (size_t i = 0; i < count; i++) {
\r
3559 _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
\r
3563 TocParser::Initializer TocParser::_init;
\r