2 // Generated from Toc.g4 by ANTLR 4.9.2
\r
6 #include "TocParser.h"
\r
9 using namespace antlrcpp;
\r
10 using namespace antlr4;
\r
12 TocParser::TocParser(TokenStream *input) : Parser(input) {
\r
13 _interpreter = new atn::ParserATNSimulator(this, _atn, _decisionToDFA, _sharedContextCache);
\r
16 TocParser::~TocParser() {
\r
17 delete _interpreter;
\r
20 std::string TocParser::getGrammarFileName() const {
\r
24 const std::vector<std::string>& TocParser::getRuleNames() const {
\r
28 dfa::Vocabulary& TocParser::getVocabulary() const {
\r
33 //----------------- ProgContext ------------------------------------------------------------------
\r
35 TocParser::ProgContext::ProgContext(ParserRuleContext *parent, size_t invokingState)
\r
36 : ParserRuleContext(parent, invokingState) {
\r
39 tree::TerminalNode* TocParser::ProgContext::EOF() {
\r
40 return getToken(TocParser::EOF, 0);
\r
43 std::vector<TocParser::DeclContext *> TocParser::ProgContext::decl() {
\r
44 return getRuleContexts<TocParser::DeclContext>();
\r
47 TocParser::DeclContext* TocParser::ProgContext::decl(size_t i) {
\r
48 return getRuleContext<TocParser::DeclContext>(i);
\r
52 size_t TocParser::ProgContext::getRuleIndex() const {
\r
53 return TocParser::RuleProg;
\r
57 TocParser::ProgContext* TocParser::prog() {
\r
58 ProgContext *_localctx = _tracker.createInstance<ProgContext>(_ctx, getState());
\r
59 enterRule(_localctx, 0, TocParser::RuleProg);
\r
62 #if __cplusplus > 201703L
\r
63 auto onExit = finally([=, this] {
\r
65 auto onExit = finally([=] {
\r
70 enterOuterAlt(_localctx, 1);
\r
72 _errHandler->sync(this);
\r
73 _la = _input->LA(1);
\r
78 _errHandler->sync(this);
\r
79 _la = _input->LA(1);
\r
80 } while ((((_la & ~ 0x3fULL) == 0) &&
\r
81 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
82 | (1ULL << TocParser::T__4)
\r
83 | (1ULL << TocParser::T__11)
\r
84 | (1ULL << TocParser::T__15))) != 0));
\r
86 match(TocParser::EOF);
\r
89 catch (RecognitionException &e) {
\r
90 _errHandler->reportError(this, e);
\r
91 _localctx->exception = std::current_exception();
\r
92 _errHandler->recover(this, _localctx->exception);
\r
98 //----------------- DeclContext ------------------------------------------------------------------
\r
100 TocParser::DeclContext::DeclContext(ParserRuleContext *parent, size_t invokingState)
\r
101 : ParserRuleContext(parent, invokingState) {
\r
104 TocParser::VarDeclContext* TocParser::DeclContext::varDecl() {
\r
105 return getRuleContext<TocParser::VarDeclContext>(0);
\r
108 TocParser::FuncDeclContext* TocParser::DeclContext::funcDecl() {
\r
109 return getRuleContext<TocParser::FuncDeclContext>(0);
\r
112 TocParser::StructDeclContext* TocParser::DeclContext::structDecl() {
\r
113 return getRuleContext<TocParser::StructDeclContext>(0);
\r
116 TocParser::NamespaceDeclContext* TocParser::DeclContext::namespaceDecl() {
\r
117 return getRuleContext<TocParser::NamespaceDeclContext>(0);
\r
121 size_t TocParser::DeclContext::getRuleIndex() const {
\r
122 return TocParser::RuleDecl;
\r
126 TocParser::DeclContext* TocParser::decl() {
\r
127 DeclContext *_localctx = _tracker.createInstance<DeclContext>(_ctx, getState());
\r
128 enterRule(_localctx, 2, TocParser::RuleDecl);
\r
130 #if __cplusplus > 201703L
\r
131 auto onExit = finally([=, this] {
\r
133 auto onExit = finally([=] {
\r
139 _errHandler->sync(this);
\r
140 switch (_input->LA(1)) {
\r
141 case TocParser::T__4: {
\r
142 enterOuterAlt(_localctx, 1);
\r
146 match(TocParser::T__0);
\r
150 case TocParser::T__11: {
\r
151 enterOuterAlt(_localctx, 2);
\r
157 case TocParser::T__15: {
\r
158 enterOuterAlt(_localctx, 3);
\r
164 case TocParser::T__1: {
\r
165 enterOuterAlt(_localctx, 4);
\r
172 throw NoViableAltException(this);
\r
176 catch (RecognitionException &e) {
\r
177 _errHandler->reportError(this, e);
\r
178 _localctx->exception = std::current_exception();
\r
179 _errHandler->recover(this, _localctx->exception);
\r
185 //----------------- NamespaceDeclContext ------------------------------------------------------------------
\r
187 TocParser::NamespaceDeclContext::NamespaceDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
188 : ParserRuleContext(parent, invokingState) {
\r
191 TocParser::TypeNameContext* TocParser::NamespaceDeclContext::typeName() {
\r
192 return getRuleContext<TocParser::TypeNameContext>(0);
\r
195 std::vector<TocParser::DeclContext *> TocParser::NamespaceDeclContext::decl() {
\r
196 return getRuleContexts<TocParser::DeclContext>();
\r
199 TocParser::DeclContext* TocParser::NamespaceDeclContext::decl(size_t i) {
\r
200 return getRuleContext<TocParser::DeclContext>(i);
\r
204 size_t TocParser::NamespaceDeclContext::getRuleIndex() const {
\r
205 return TocParser::RuleNamespaceDecl;
\r
209 TocParser::NamespaceDeclContext* TocParser::namespaceDecl() {
\r
210 NamespaceDeclContext *_localctx = _tracker.createInstance<NamespaceDeclContext>(_ctx, getState());
\r
211 enterRule(_localctx, 4, TocParser::RuleNamespaceDecl);
\r
214 #if __cplusplus > 201703L
\r
215 auto onExit = finally([=, this] {
\r
217 auto onExit = finally([=] {
\r
222 enterOuterAlt(_localctx, 1);
\r
224 match(TocParser::T__1);
\r
228 match(TocParser::T__2);
\r
230 _errHandler->sync(this);
\r
231 _la = _input->LA(1);
\r
232 while ((((_la & ~ 0x3fULL) == 0) &&
\r
233 ((1ULL << _la) & ((1ULL << TocParser::T__1)
\r
234 | (1ULL << TocParser::T__4)
\r
235 | (1ULL << TocParser::T__11)
\r
236 | (1ULL << TocParser::T__15))) != 0)) {
\r
240 _errHandler->sync(this);
\r
241 _la = _input->LA(1);
\r
244 match(TocParser::T__3);
\r
247 catch (RecognitionException &e) {
\r
248 _errHandler->reportError(this, e);
\r
249 _localctx->exception = std::current_exception();
\r
250 _errHandler->recover(this, _localctx->exception);
\r
256 //----------------- VarDeclContext ------------------------------------------------------------------
\r
258 TocParser::VarDeclContext::VarDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
259 : ParserRuleContext(parent, invokingState) {
\r
262 TocParser::VarContext* TocParser::VarDeclContext::var() {
\r
263 return getRuleContext<TocParser::VarContext>(0);
\r
267 size_t TocParser::VarDeclContext::getRuleIndex() const {
\r
268 return TocParser::RuleVarDecl;
\r
272 TocParser::VarDeclContext* TocParser::varDecl() {
\r
273 VarDeclContext *_localctx = _tracker.createInstance<VarDeclContext>(_ctx, getState());
\r
274 enterRule(_localctx, 6, TocParser::RuleVarDecl);
\r
276 #if __cplusplus > 201703L
\r
277 auto onExit = finally([=, this] {
\r
279 auto onExit = finally([=] {
\r
284 enterOuterAlt(_localctx, 1);
\r
286 match(TocParser::T__4);
\r
291 catch (RecognitionException &e) {
\r
292 _errHandler->reportError(this, e);
\r
293 _localctx->exception = std::current_exception();
\r
294 _errHandler->recover(this, _localctx->exception);
\r
300 //----------------- VarContext ------------------------------------------------------------------
\r
302 TocParser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState)
\r
303 : ParserRuleContext(parent, invokingState) {
\r
306 TocParser::VarNameContext* TocParser::VarContext::varName() {
\r
307 return getRuleContext<TocParser::VarNameContext>(0);
\r
310 TocParser::TypeContext* TocParser::VarContext::type() {
\r
311 return getRuleContext<TocParser::TypeContext>(0);
\r
314 TocParser::ExprContext* TocParser::VarContext::expr() {
\r
315 return getRuleContext<TocParser::ExprContext>(0);
\r
319 size_t TocParser::VarContext::getRuleIndex() const {
\r
320 return TocParser::RuleVar;
\r
324 TocParser::VarContext* TocParser::var() {
\r
325 VarContext *_localctx = _tracker.createInstance<VarContext>(_ctx, getState());
\r
326 enterRule(_localctx, 8, TocParser::RuleVar);
\r
329 #if __cplusplus > 201703L
\r
330 auto onExit = finally([=, this] {
\r
332 auto onExit = finally([=] {
\r
337 enterOuterAlt(_localctx, 1);
\r
342 match(TocParser::T__5);
\r
346 _errHandler->sync(this);
\r
348 _la = _input->LA(1);
\r
349 if (_la == TocParser::T__6) {
\r
351 match(TocParser::T__6);
\r
357 catch (RecognitionException &e) {
\r
358 _errHandler->reportError(this, e);
\r
359 _localctx->exception = std::current_exception();
\r
360 _errHandler->recover(this, _localctx->exception);
\r
366 //----------------- VarInitContext ------------------------------------------------------------------
\r
368 TocParser::VarInitContext::VarInitContext(ParserRuleContext *parent, size_t invokingState)
\r
369 : ParserRuleContext(parent, invokingState) {
\r
372 TocParser::VarNameContext* TocParser::VarInitContext::varName() {
\r
373 return getRuleContext<TocParser::VarNameContext>(0);
\r
376 TocParser::TypeContext* TocParser::VarInitContext::type() {
\r
377 return getRuleContext<TocParser::TypeContext>(0);
\r
380 TocParser::ExprContext* TocParser::VarInitContext::expr() {
\r
381 return getRuleContext<TocParser::ExprContext>(0);
\r
385 size_t TocParser::VarInitContext::getRuleIndex() const {
\r
386 return TocParser::RuleVarInit;
\r
390 TocParser::VarInitContext* TocParser::varInit() {
\r
391 VarInitContext *_localctx = _tracker.createInstance<VarInitContext>(_ctx, getState());
\r
392 enterRule(_localctx, 10, TocParser::RuleVarInit);
\r
394 #if __cplusplus > 201703L
\r
395 auto onExit = finally([=, this] {
\r
397 auto onExit = finally([=] {
\r
402 enterOuterAlt(_localctx, 1);
\r
407 match(TocParser::T__5);
\r
412 match(TocParser::T__6);
\r
417 catch (RecognitionException &e) {
\r
418 _errHandler->reportError(this, e);
\r
419 _localctx->exception = std::current_exception();
\r
420 _errHandler->recover(this, _localctx->exception);
\r
426 //----------------- TypeContext ------------------------------------------------------------------
\r
428 TocParser::TypeContext::TypeContext(ParserRuleContext *parent, size_t invokingState)
\r
429 : ParserRuleContext(parent, invokingState) {
\r
432 TocParser::TypeNameContext* TocParser::TypeContext::typeName() {
\r
433 return getRuleContext<TocParser::TypeNameContext>(0);
\r
436 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::TypeContext::namespaceSpecifier() {
\r
437 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
440 TocParser::NamespaceSpecifierContext* TocParser::TypeContext::namespaceSpecifier(size_t i) {
\r
441 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
444 std::vector<TocParser::TypeModifierContext *> TocParser::TypeContext::typeModifier() {
\r
445 return getRuleContexts<TocParser::TypeModifierContext>();
\r
448 TocParser::TypeModifierContext* TocParser::TypeContext::typeModifier(size_t i) {
\r
449 return getRuleContext<TocParser::TypeModifierContext>(i);
\r
453 size_t TocParser::TypeContext::getRuleIndex() const {
\r
454 return TocParser::RuleType;
\r
458 TocParser::TypeContext* TocParser::type() {
\r
459 TypeContext *_localctx = _tracker.createInstance<TypeContext>(_ctx, getState());
\r
460 enterRule(_localctx, 12, TocParser::RuleType);
\r
463 #if __cplusplus > 201703L
\r
464 auto onExit = finally([=, this] {
\r
466 auto onExit = finally([=] {
\r
472 enterOuterAlt(_localctx, 1);
\r
474 _errHandler->sync(this);
\r
475 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
476 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
479 namespaceSpecifier();
\r
482 _errHandler->sync(this);
\r
483 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx);
\r
488 _errHandler->sync(this);
\r
489 _la = _input->LA(1);
\r
490 while (_la == TocParser::T__7
\r
492 || _la == TocParser::T__8) {
\r
496 _errHandler->sync(this);
\r
497 _la = _input->LA(1);
\r
501 catch (RecognitionException &e) {
\r
502 _errHandler->reportError(this, e);
\r
503 _localctx->exception = std::current_exception();
\r
504 _errHandler->recover(this, _localctx->exception);
\r
510 //----------------- TypeModifierContext ------------------------------------------------------------------
\r
512 TocParser::TypeModifierContext::TypeModifierContext(ParserRuleContext *parent, size_t invokingState)
\r
513 : ParserRuleContext(parent, invokingState) {
\r
516 tree::TerminalNode* TocParser::TypeModifierContext::INT_LIT() {
\r
517 return getToken(TocParser::INT_LIT, 0);
\r
521 size_t TocParser::TypeModifierContext::getRuleIndex() const {
\r
522 return TocParser::RuleTypeModifier;
\r
526 TocParser::TypeModifierContext* TocParser::typeModifier() {
\r
527 TypeModifierContext *_localctx = _tracker.createInstance<TypeModifierContext>(_ctx, getState());
\r
528 enterRule(_localctx, 14, TocParser::RuleTypeModifier);
\r
531 #if __cplusplus > 201703L
\r
532 auto onExit = finally([=, this] {
\r
534 auto onExit = finally([=] {
\r
540 _errHandler->sync(this);
\r
541 switch (_input->LA(1)) {
\r
542 case TocParser::T__7: {
\r
543 enterOuterAlt(_localctx, 1);
\r
545 match(TocParser::T__7);
\r
549 case TocParser::T__8: {
\r
550 enterOuterAlt(_localctx, 2);
\r
552 match(TocParser::T__8);
\r
554 _errHandler->sync(this);
\r
556 _la = _input->LA(1);
\r
557 if (_la == TocParser::INT_LIT) {
\r
559 match(TocParser::INT_LIT);
\r
562 match(TocParser::T__9);
\r
567 throw NoViableAltException(this);
\r
571 catch (RecognitionException &e) {
\r
572 _errHandler->reportError(this, e);
\r
573 _localctx->exception = std::current_exception();
\r
574 _errHandler->recover(this, _localctx->exception);
\r
580 //----------------- NamespaceSpecifierContext ------------------------------------------------------------------
\r
582 TocParser::NamespaceSpecifierContext::NamespaceSpecifierContext(ParserRuleContext *parent, size_t invokingState)
\r
583 : ParserRuleContext(parent, invokingState) {
\r
586 TocParser::TypeNameContext* TocParser::NamespaceSpecifierContext::typeName() {
\r
587 return getRuleContext<TocParser::TypeNameContext>(0);
\r
591 size_t TocParser::NamespaceSpecifierContext::getRuleIndex() const {
\r
592 return TocParser::RuleNamespaceSpecifier;
\r
596 TocParser::NamespaceSpecifierContext* TocParser::namespaceSpecifier() {
\r
597 NamespaceSpecifierContext *_localctx = _tracker.createInstance<NamespaceSpecifierContext>(_ctx, getState());
\r
598 enterRule(_localctx, 16, TocParser::RuleNamespaceSpecifier);
\r
600 #if __cplusplus > 201703L
\r
601 auto onExit = finally([=, this] {
\r
603 auto onExit = finally([=] {
\r
608 enterOuterAlt(_localctx, 1);
\r
612 match(TocParser::T__10);
\r
615 catch (RecognitionException &e) {
\r
616 _errHandler->reportError(this, e);
\r
617 _localctx->exception = std::current_exception();
\r
618 _errHandler->recover(this, _localctx->exception);
\r
624 //----------------- FuncDeclContext ------------------------------------------------------------------
\r
626 TocParser::FuncDeclContext::FuncDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
627 : ParserRuleContext(parent, invokingState) {
\r
630 TocParser::FuncContext* TocParser::FuncDeclContext::func() {
\r
631 return getRuleContext<TocParser::FuncContext>(0);
\r
635 size_t TocParser::FuncDeclContext::getRuleIndex() const {
\r
636 return TocParser::RuleFuncDecl;
\r
640 TocParser::FuncDeclContext* TocParser::funcDecl() {
\r
641 FuncDeclContext *_localctx = _tracker.createInstance<FuncDeclContext>(_ctx, getState());
\r
642 enterRule(_localctx, 18, TocParser::RuleFuncDecl);
\r
644 #if __cplusplus > 201703L
\r
645 auto onExit = finally([=, this] {
\r
647 auto onExit = finally([=] {
\r
652 enterOuterAlt(_localctx, 1);
\r
654 match(TocParser::T__11);
\r
659 catch (RecognitionException &e) {
\r
660 _errHandler->reportError(this, e);
\r
661 _localctx->exception = std::current_exception();
\r
662 _errHandler->recover(this, _localctx->exception);
\r
668 //----------------- FuncContext ------------------------------------------------------------------
\r
670 TocParser::FuncContext::FuncContext(ParserRuleContext *parent, size_t invokingState)
\r
671 : ParserRuleContext(parent, invokingState) {
\r
674 TocParser::FuncNameContext* TocParser::FuncContext::funcName() {
\r
675 return getRuleContext<TocParser::FuncNameContext>(0);
\r
678 TocParser::ParameterContext* TocParser::FuncContext::parameter() {
\r
679 return getRuleContext<TocParser::ParameterContext>(0);
\r
682 TocParser::BodyContext* TocParser::FuncContext::body() {
\r
683 return getRuleContext<TocParser::BodyContext>(0);
\r
686 TocParser::TypeContext* TocParser::FuncContext::type() {
\r
687 return getRuleContext<TocParser::TypeContext>(0);
\r
690 TocParser::GenericDeclContext* TocParser::FuncContext::genericDecl() {
\r
691 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
695 size_t TocParser::FuncContext::getRuleIndex() const {
\r
696 return TocParser::RuleFunc;
\r
700 TocParser::FuncContext* TocParser::func() {
\r
701 FuncContext *_localctx = _tracker.createInstance<FuncContext>(_ctx, getState());
\r
702 enterRule(_localctx, 20, TocParser::RuleFunc);
\r
705 #if __cplusplus > 201703L
\r
706 auto onExit = finally([=, this] {
\r
708 auto onExit = finally([=] {
\r
713 enterOuterAlt(_localctx, 1);
\r
717 _errHandler->sync(this);
\r
719 _la = _input->LA(1);
\r
720 if (_la == TocParser::T__17) {
\r
725 match(TocParser::T__12);
\r
729 match(TocParser::T__13);
\r
732 match(TocParser::T__5);
\r
739 catch (RecognitionException &e) {
\r
740 _errHandler->reportError(this, e);
\r
741 _localctx->exception = std::current_exception();
\r
742 _errHandler->recover(this, _localctx->exception);
\r
748 //----------------- ParameterContext ------------------------------------------------------------------
\r
750 TocParser::ParameterContext::ParameterContext(ParserRuleContext *parent, size_t invokingState)
\r
751 : ParserRuleContext(parent, invokingState) {
\r
754 std::vector<TocParser::VarContext *> TocParser::ParameterContext::var() {
\r
755 return getRuleContexts<TocParser::VarContext>();
\r
758 TocParser::VarContext* TocParser::ParameterContext::var(size_t i) {
\r
759 return getRuleContext<TocParser::VarContext>(i);
\r
763 size_t TocParser::ParameterContext::getRuleIndex() const {
\r
764 return TocParser::RuleParameter;
\r
768 TocParser::ParameterContext* TocParser::parameter() {
\r
769 ParameterContext *_localctx = _tracker.createInstance<ParameterContext>(_ctx, getState());
\r
770 enterRule(_localctx, 22, TocParser::RuleParameter);
\r
773 #if __cplusplus > 201703L
\r
774 auto onExit = finally([=, this] {
\r
776 auto onExit = finally([=] {
\r
781 enterOuterAlt(_localctx, 1);
\r
783 _errHandler->sync(this);
\r
785 _la = _input->LA(1);
\r
786 if (_la == TocParser::NAME) {
\r
790 _errHandler->sync(this);
\r
791 _la = _input->LA(1);
\r
792 while (_la == TocParser::T__14) {
\r
794 match(TocParser::T__14);
\r
798 _errHandler->sync(this);
\r
799 _la = _input->LA(1);
\r
804 catch (RecognitionException &e) {
\r
805 _errHandler->reportError(this, e);
\r
806 _localctx->exception = std::current_exception();
\r
807 _errHandler->recover(this, _localctx->exception);
\r
813 //----------------- BodyContext ------------------------------------------------------------------
\r
815 TocParser::BodyContext::BodyContext(ParserRuleContext *parent, size_t invokingState)
\r
816 : ParserRuleContext(parent, invokingState) {
\r
819 std::vector<TocParser::StmtContext *> TocParser::BodyContext::stmt() {
\r
820 return getRuleContexts<TocParser::StmtContext>();
\r
823 TocParser::StmtContext* TocParser::BodyContext::stmt(size_t i) {
\r
824 return getRuleContext<TocParser::StmtContext>(i);
\r
828 size_t TocParser::BodyContext::getRuleIndex() const {
\r
829 return TocParser::RuleBody;
\r
833 TocParser::BodyContext* TocParser::body() {
\r
834 BodyContext *_localctx = _tracker.createInstance<BodyContext>(_ctx, getState());
\r
835 enterRule(_localctx, 24, TocParser::RuleBody);
\r
838 #if __cplusplus > 201703L
\r
839 auto onExit = finally([=, this] {
\r
841 auto onExit = finally([=] {
\r
846 enterOuterAlt(_localctx, 1);
\r
848 match(TocParser::T__2);
\r
850 _errHandler->sync(this);
\r
851 _la = _input->LA(1);
\r
852 while ((((_la & ~ 0x3fULL) == 0) &&
\r
853 ((1ULL << _la) & ((1ULL << TocParser::T__4)
\r
854 | (1ULL << TocParser::T__7)
\r
855 | (1ULL << TocParser::T__12)
\r
856 | (1ULL << TocParser::T__19)
\r
857 | (1ULL << TocParser::T__21)
\r
858 | (1ULL << TocParser::T__23)
\r
859 | (1ULL << TocParser::T__24)
\r
860 | (1ULL << TocParser::T__25)
\r
861 | (1ULL << TocParser::T__28)
\r
862 | (1ULL << TocParser::T__29)
\r
863 | (1ULL << TocParser::T__30)
\r
864 | (1ULL << TocParser::T__31)
\r
865 | (1ULL << TocParser::T__32)
\r
866 | (1ULL << TocParser::T__33)
\r
867 | (1ULL << TocParser::T__34)
\r
868 | (1ULL << TocParser::INT_LIT)
\r
869 | (1ULL << TocParser::DECIMAL_LIT)
\r
870 | (1ULL << TocParser::STRING_LIT)
\r
871 | (1ULL << TocParser::BOOL_LIT)
\r
872 | (1ULL << TocParser::NAME))) != 0)) {
\r
876 _errHandler->sync(this);
\r
877 _la = _input->LA(1);
\r
880 match(TocParser::T__3);
\r
883 catch (RecognitionException &e) {
\r
884 _errHandler->reportError(this, e);
\r
885 _localctx->exception = std::current_exception();
\r
886 _errHandler->recover(this, _localctx->exception);
\r
892 //----------------- StructDeclContext ------------------------------------------------------------------
\r
894 TocParser::StructDeclContext::StructDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
895 : ParserRuleContext(parent, invokingState) {
\r
898 TocParser::StructNameContext* TocParser::StructDeclContext::structName() {
\r
899 return getRuleContext<TocParser::StructNameContext>(0);
\r
902 TocParser::GenericDeclContext* TocParser::StructDeclContext::genericDecl() {
\r
903 return getRuleContext<TocParser::GenericDeclContext>(0);
\r
906 std::vector<TocParser::StructMemberContext *> TocParser::StructDeclContext::structMember() {
\r
907 return getRuleContexts<TocParser::StructMemberContext>();
\r
910 TocParser::StructMemberContext* TocParser::StructDeclContext::structMember(size_t i) {
\r
911 return getRuleContext<TocParser::StructMemberContext>(i);
\r
915 size_t TocParser::StructDeclContext::getRuleIndex() const {
\r
916 return TocParser::RuleStructDecl;
\r
920 TocParser::StructDeclContext* TocParser::structDecl() {
\r
921 StructDeclContext *_localctx = _tracker.createInstance<StructDeclContext>(_ctx, getState());
\r
922 enterRule(_localctx, 26, TocParser::RuleStructDecl);
\r
925 #if __cplusplus > 201703L
\r
926 auto onExit = finally([=, this] {
\r
928 auto onExit = finally([=] {
\r
933 enterOuterAlt(_localctx, 1);
\r
935 match(TocParser::T__15);
\r
939 _errHandler->sync(this);
\r
941 _la = _input->LA(1);
\r
942 if (_la == TocParser::T__17) {
\r
947 match(TocParser::T__2);
\r
949 _errHandler->sync(this);
\r
950 _la = _input->LA(1);
\r
951 while (_la == TocParser::T__16
\r
953 || _la == TocParser::NAME) {
\r
957 _errHandler->sync(this);
\r
958 _la = _input->LA(1);
\r
961 match(TocParser::T__3);
\r
964 catch (RecognitionException &e) {
\r
965 _errHandler->reportError(this, e);
\r
966 _localctx->exception = std::current_exception();
\r
967 _errHandler->recover(this, _localctx->exception);
\r
973 //----------------- StructMemberContext ------------------------------------------------------------------
\r
975 TocParser::StructMemberContext::StructMemberContext(ParserRuleContext *parent, size_t invokingState)
\r
976 : ParserRuleContext(parent, invokingState) {
\r
979 TocParser::StructVarContext* TocParser::StructMemberContext::structVar() {
\r
980 return getRuleContext<TocParser::StructVarContext>(0);
\r
983 TocParser::PrivateDeclContext* TocParser::StructMemberContext::privateDecl() {
\r
984 return getRuleContext<TocParser::PrivateDeclContext>(0);
\r
987 TocParser::StructMethodContext* TocParser::StructMemberContext::structMethod() {
\r
988 return getRuleContext<TocParser::StructMethodContext>(0);
\r
992 size_t TocParser::StructMemberContext::getRuleIndex() const {
\r
993 return TocParser::RuleStructMember;
\r
997 TocParser::StructMemberContext* TocParser::structMember() {
\r
998 StructMemberContext *_localctx = _tracker.createInstance<StructMemberContext>(_ctx, getState());
\r
999 enterRule(_localctx, 28, TocParser::RuleStructMember);
\r
1002 #if __cplusplus > 201703L
\r
1003 auto onExit = finally([=, this] {
\r
1005 auto onExit = finally([=] {
\r
1011 _errHandler->sync(this);
\r
1012 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 15, _ctx)) {
\r
1014 enterOuterAlt(_localctx, 1);
\r
1016 _errHandler->sync(this);
\r
1018 _la = _input->LA(1);
\r
1019 if (_la == TocParser::T__16) {
\r
1029 enterOuterAlt(_localctx, 2);
\r
1040 catch (RecognitionException &e) {
\r
1041 _errHandler->reportError(this, e);
\r
1042 _localctx->exception = std::current_exception();
\r
1043 _errHandler->recover(this, _localctx->exception);
\r
1049 //----------------- StructVarContext ------------------------------------------------------------------
\r
1051 TocParser::StructVarContext::StructVarContext(ParserRuleContext *parent, size_t invokingState)
\r
1052 : ParserRuleContext(parent, invokingState) {
\r
1055 TocParser::VarContext* TocParser::StructVarContext::var() {
\r
1056 return getRuleContext<TocParser::VarContext>(0);
\r
1060 size_t TocParser::StructVarContext::getRuleIndex() const {
\r
1061 return TocParser::RuleStructVar;
\r
1065 TocParser::StructVarContext* TocParser::structVar() {
\r
1066 StructVarContext *_localctx = _tracker.createInstance<StructVarContext>(_ctx, getState());
\r
1067 enterRule(_localctx, 30, TocParser::RuleStructVar);
\r
1069 #if __cplusplus > 201703L
\r
1070 auto onExit = finally([=, this] {
\r
1072 auto onExit = finally([=] {
\r
1077 enterOuterAlt(_localctx, 1);
\r
1081 match(TocParser::T__0);
\r
1084 catch (RecognitionException &e) {
\r
1085 _errHandler->reportError(this, e);
\r
1086 _localctx->exception = std::current_exception();
\r
1087 _errHandler->recover(this, _localctx->exception);
\r
1093 //----------------- StructMethodContext ------------------------------------------------------------------
\r
1095 TocParser::StructMethodContext::StructMethodContext(ParserRuleContext *parent, size_t invokingState)
\r
1096 : ParserRuleContext(parent, invokingState) {
\r
1099 TocParser::FuncContext* TocParser::StructMethodContext::func() {
\r
1100 return getRuleContext<TocParser::FuncContext>(0);
\r
1104 size_t TocParser::StructMethodContext::getRuleIndex() const {
\r
1105 return TocParser::RuleStructMethod;
\r
1109 TocParser::StructMethodContext* TocParser::structMethod() {
\r
1110 StructMethodContext *_localctx = _tracker.createInstance<StructMethodContext>(_ctx, getState());
\r
1111 enterRule(_localctx, 32, TocParser::RuleStructMethod);
\r
1113 #if __cplusplus > 201703L
\r
1114 auto onExit = finally([=, this] {
\r
1116 auto onExit = finally([=] {
\r
1121 enterOuterAlt(_localctx, 1);
\r
1126 catch (RecognitionException &e) {
\r
1127 _errHandler->reportError(this, e);
\r
1128 _localctx->exception = std::current_exception();
\r
1129 _errHandler->recover(this, _localctx->exception);
\r
1135 //----------------- PrivateDeclContext ------------------------------------------------------------------
\r
1137 TocParser::PrivateDeclContext::PrivateDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1138 : ParserRuleContext(parent, invokingState) {
\r
1142 size_t TocParser::PrivateDeclContext::getRuleIndex() const {
\r
1143 return TocParser::RulePrivateDecl;
\r
1147 TocParser::PrivateDeclContext* TocParser::privateDecl() {
\r
1148 PrivateDeclContext *_localctx = _tracker.createInstance<PrivateDeclContext>(_ctx, getState());
\r
1149 enterRule(_localctx, 34, TocParser::RulePrivateDecl);
\r
1151 #if __cplusplus > 201703L
\r
1152 auto onExit = finally([=, this] {
\r
1154 auto onExit = finally([=] {
\r
1159 enterOuterAlt(_localctx, 1);
\r
1161 match(TocParser::T__16);
\r
1164 catch (RecognitionException &e) {
\r
1165 _errHandler->reportError(this, e);
\r
1166 _localctx->exception = std::current_exception();
\r
1167 _errHandler->recover(this, _localctx->exception);
\r
1173 //----------------- GenericDeclContext ------------------------------------------------------------------
\r
1175 TocParser::GenericDeclContext::GenericDeclContext(ParserRuleContext *parent, size_t invokingState)
\r
1176 : ParserRuleContext(parent, invokingState) {
\r
1179 std::vector<TocParser::TypeNameContext *> TocParser::GenericDeclContext::typeName() {
\r
1180 return getRuleContexts<TocParser::TypeNameContext>();
\r
1183 TocParser::TypeNameContext* TocParser::GenericDeclContext::typeName(size_t i) {
\r
1184 return getRuleContext<TocParser::TypeNameContext>(i);
\r
1188 size_t TocParser::GenericDeclContext::getRuleIndex() const {
\r
1189 return TocParser::RuleGenericDecl;
\r
1193 TocParser::GenericDeclContext* TocParser::genericDecl() {
\r
1194 GenericDeclContext *_localctx = _tracker.createInstance<GenericDeclContext>(_ctx, getState());
\r
1195 enterRule(_localctx, 36, TocParser::RuleGenericDecl);
\r
1198 #if __cplusplus > 201703L
\r
1199 auto onExit = finally([=, this] {
\r
1201 auto onExit = finally([=] {
\r
1206 enterOuterAlt(_localctx, 1);
\r
1208 match(TocParser::T__17);
\r
1212 _errHandler->sync(this);
\r
1213 _la = _input->LA(1);
\r
1214 while (_la == TocParser::T__14) {
\r
1216 match(TocParser::T__14);
\r
1220 _errHandler->sync(this);
\r
1221 _la = _input->LA(1);
\r
1224 match(TocParser::T__18);
\r
1227 catch (RecognitionException &e) {
\r
1228 _errHandler->reportError(this, e);
\r
1229 _localctx->exception = std::current_exception();
\r
1230 _errHandler->recover(this, _localctx->exception);
\r
1236 //----------------- StmtContext ------------------------------------------------------------------
\r
1238 TocParser::StmtContext::StmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1239 : ParserRuleContext(parent, invokingState) {
\r
1242 TocParser::VarDeclContext* TocParser::StmtContext::varDecl() {
\r
1243 return getRuleContext<TocParser::VarDeclContext>(0);
\r
1246 TocParser::IfStmtContext* TocParser::StmtContext::ifStmt() {
\r
1247 return getRuleContext<TocParser::IfStmtContext>(0);
\r
1250 TocParser::SwitchStmtContext* TocParser::StmtContext::switchStmt() {
\r
1251 return getRuleContext<TocParser::SwitchStmtContext>(0);
\r
1254 TocParser::ForStmtContext* TocParser::StmtContext::forStmt() {
\r
1255 return getRuleContext<TocParser::ForStmtContext>(0);
\r
1258 TocParser::WhileStmtContext* TocParser::StmtContext::whileStmt() {
\r
1259 return getRuleContext<TocParser::WhileStmtContext>(0);
\r
1262 TocParser::AssignStmtContext* TocParser::StmtContext::assignStmt() {
\r
1263 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1266 TocParser::ReturnStmtContext* TocParser::StmtContext::returnStmt() {
\r
1267 return getRuleContext<TocParser::ReturnStmtContext>(0);
\r
1270 TocParser::ExprContext* TocParser::StmtContext::expr() {
\r
1271 return getRuleContext<TocParser::ExprContext>(0);
\r
1275 size_t TocParser::StmtContext::getRuleIndex() const {
\r
1276 return TocParser::RuleStmt;
\r
1280 TocParser::StmtContext* TocParser::stmt() {
\r
1281 StmtContext *_localctx = _tracker.createInstance<StmtContext>(_ctx, getState());
\r
1282 enterRule(_localctx, 38, TocParser::RuleStmt);
\r
1284 #if __cplusplus > 201703L
\r
1285 auto onExit = finally([=, this] {
\r
1287 auto onExit = finally([=] {
\r
1293 _errHandler->sync(this);
\r
1294 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 17, _ctx)) {
\r
1296 enterOuterAlt(_localctx, 1);
\r
1300 match(TocParser::T__0);
\r
1305 enterOuterAlt(_localctx, 2);
\r
1312 enterOuterAlt(_localctx, 3);
\r
1319 enterOuterAlt(_localctx, 4);
\r
1326 enterOuterAlt(_localctx, 5);
\r
1333 enterOuterAlt(_localctx, 6);
\r
1337 match(TocParser::T__0);
\r
1342 enterOuterAlt(_localctx, 7);
\r
1346 match(TocParser::T__0);
\r
1351 enterOuterAlt(_localctx, 8);
\r
1355 match(TocParser::T__0);
\r
1364 catch (RecognitionException &e) {
\r
1365 _errHandler->reportError(this, e);
\r
1366 _localctx->exception = std::current_exception();
\r
1367 _errHandler->recover(this, _localctx->exception);
\r
1373 //----------------- IfStmtContext ------------------------------------------------------------------
\r
1375 TocParser::IfStmtContext::IfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1376 : ParserRuleContext(parent, invokingState) {
\r
1379 TocParser::ExprContext* TocParser::IfStmtContext::expr() {
\r
1380 return getRuleContext<TocParser::ExprContext>(0);
\r
1383 TocParser::BodyContext* TocParser::IfStmtContext::body() {
\r
1384 return getRuleContext<TocParser::BodyContext>(0);
\r
1387 std::vector<TocParser::ElseIfStmtContext *> TocParser::IfStmtContext::elseIfStmt() {
\r
1388 return getRuleContexts<TocParser::ElseIfStmtContext>();
\r
1391 TocParser::ElseIfStmtContext* TocParser::IfStmtContext::elseIfStmt(size_t i) {
\r
1392 return getRuleContext<TocParser::ElseIfStmtContext>(i);
\r
1395 TocParser::ElseStmtContext* TocParser::IfStmtContext::elseStmt() {
\r
1396 return getRuleContext<TocParser::ElseStmtContext>(0);
\r
1400 size_t TocParser::IfStmtContext::getRuleIndex() const {
\r
1401 return TocParser::RuleIfStmt;
\r
1405 TocParser::IfStmtContext* TocParser::ifStmt() {
\r
1406 IfStmtContext *_localctx = _tracker.createInstance<IfStmtContext>(_ctx, getState());
\r
1407 enterRule(_localctx, 40, TocParser::RuleIfStmt);
\r
1410 #if __cplusplus > 201703L
\r
1411 auto onExit = finally([=, this] {
\r
1413 auto onExit = finally([=] {
\r
1419 enterOuterAlt(_localctx, 1);
\r
1421 match(TocParser::T__19);
\r
1427 _errHandler->sync(this);
\r
1428 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 18, _ctx);
\r
1429 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
1435 _errHandler->sync(this);
\r
1436 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 18, _ctx);
\r
1439 _errHandler->sync(this);
\r
1441 _la = _input->LA(1);
\r
1442 if (_la == TocParser::T__20) {
\r
1448 catch (RecognitionException &e) {
\r
1449 _errHandler->reportError(this, e);
\r
1450 _localctx->exception = std::current_exception();
\r
1451 _errHandler->recover(this, _localctx->exception);
\r
1457 //----------------- ElseIfStmtContext ------------------------------------------------------------------
\r
1459 TocParser::ElseIfStmtContext::ElseIfStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1460 : ParserRuleContext(parent, invokingState) {
\r
1463 TocParser::ExprContext* TocParser::ElseIfStmtContext::expr() {
\r
1464 return getRuleContext<TocParser::ExprContext>(0);
\r
1467 TocParser::BodyContext* TocParser::ElseIfStmtContext::body() {
\r
1468 return getRuleContext<TocParser::BodyContext>(0);
\r
1472 size_t TocParser::ElseIfStmtContext::getRuleIndex() const {
\r
1473 return TocParser::RuleElseIfStmt;
\r
1477 TocParser::ElseIfStmtContext* TocParser::elseIfStmt() {
\r
1478 ElseIfStmtContext *_localctx = _tracker.createInstance<ElseIfStmtContext>(_ctx, getState());
\r
1479 enterRule(_localctx, 42, TocParser::RuleElseIfStmt);
\r
1481 #if __cplusplus > 201703L
\r
1482 auto onExit = finally([=, this] {
\r
1484 auto onExit = finally([=] {
\r
1489 enterOuterAlt(_localctx, 1);
\r
1491 match(TocParser::T__20);
\r
1493 match(TocParser::T__19);
\r
1500 catch (RecognitionException &e) {
\r
1501 _errHandler->reportError(this, e);
\r
1502 _localctx->exception = std::current_exception();
\r
1503 _errHandler->recover(this, _localctx->exception);
\r
1509 //----------------- ElseStmtContext ------------------------------------------------------------------
\r
1511 TocParser::ElseStmtContext::ElseStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1512 : ParserRuleContext(parent, invokingState) {
\r
1515 TocParser::BodyContext* TocParser::ElseStmtContext::body() {
\r
1516 return getRuleContext<TocParser::BodyContext>(0);
\r
1520 size_t TocParser::ElseStmtContext::getRuleIndex() const {
\r
1521 return TocParser::RuleElseStmt;
\r
1525 TocParser::ElseStmtContext* TocParser::elseStmt() {
\r
1526 ElseStmtContext *_localctx = _tracker.createInstance<ElseStmtContext>(_ctx, getState());
\r
1527 enterRule(_localctx, 44, TocParser::RuleElseStmt);
\r
1529 #if __cplusplus > 201703L
\r
1530 auto onExit = finally([=, this] {
\r
1532 auto onExit = finally([=] {
\r
1537 enterOuterAlt(_localctx, 1);
\r
1539 match(TocParser::T__20);
\r
1544 catch (RecognitionException &e) {
\r
1545 _errHandler->reportError(this, e);
\r
1546 _localctx->exception = std::current_exception();
\r
1547 _errHandler->recover(this, _localctx->exception);
\r
1553 //----------------- SwitchStmtContext ------------------------------------------------------------------
\r
1555 TocParser::SwitchStmtContext::SwitchStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1556 : ParserRuleContext(parent, invokingState) {
\r
1559 TocParser::ExprContext* TocParser::SwitchStmtContext::expr() {
\r
1560 return getRuleContext<TocParser::ExprContext>(0);
\r
1563 TocParser::SwitchBodyContext* TocParser::SwitchStmtContext::switchBody() {
\r
1564 return getRuleContext<TocParser::SwitchBodyContext>(0);
\r
1568 size_t TocParser::SwitchStmtContext::getRuleIndex() const {
\r
1569 return TocParser::RuleSwitchStmt;
\r
1573 TocParser::SwitchStmtContext* TocParser::switchStmt() {
\r
1574 SwitchStmtContext *_localctx = _tracker.createInstance<SwitchStmtContext>(_ctx, getState());
\r
1575 enterRule(_localctx, 46, TocParser::RuleSwitchStmt);
\r
1577 #if __cplusplus > 201703L
\r
1578 auto onExit = finally([=, this] {
\r
1580 auto onExit = finally([=] {
\r
1585 enterOuterAlt(_localctx, 1);
\r
1587 match(TocParser::T__21);
\r
1594 catch (RecognitionException &e) {
\r
1595 _errHandler->reportError(this, e);
\r
1596 _localctx->exception = std::current_exception();
\r
1597 _errHandler->recover(this, _localctx->exception);
\r
1603 //----------------- SwitchBodyContext ------------------------------------------------------------------
\r
1605 TocParser::SwitchBodyContext::SwitchBodyContext(ParserRuleContext *parent, size_t invokingState)
\r
1606 : ParserRuleContext(parent, invokingState) {
\r
1609 std::vector<TocParser::SwitchCaseContext *> TocParser::SwitchBodyContext::switchCase() {
\r
1610 return getRuleContexts<TocParser::SwitchCaseContext>();
\r
1613 TocParser::SwitchCaseContext* TocParser::SwitchBodyContext::switchCase(size_t i) {
\r
1614 return getRuleContext<TocParser::SwitchCaseContext>(i);
\r
1618 size_t TocParser::SwitchBodyContext::getRuleIndex() const {
\r
1619 return TocParser::RuleSwitchBody;
\r
1623 TocParser::SwitchBodyContext* TocParser::switchBody() {
\r
1624 SwitchBodyContext *_localctx = _tracker.createInstance<SwitchBodyContext>(_ctx, getState());
\r
1625 enterRule(_localctx, 48, TocParser::RuleSwitchBody);
\r
1628 #if __cplusplus > 201703L
\r
1629 auto onExit = finally([=, this] {
\r
1631 auto onExit = finally([=] {
\r
1636 enterOuterAlt(_localctx, 1);
\r
1638 match(TocParser::T__2);
\r
1640 _errHandler->sync(this);
\r
1641 _la = _input->LA(1);
\r
1642 while (_la == TocParser::T__22) {
\r
1646 _errHandler->sync(this);
\r
1647 _la = _input->LA(1);
\r
1650 match(TocParser::T__3);
\r
1653 catch (RecognitionException &e) {
\r
1654 _errHandler->reportError(this, e);
\r
1655 _localctx->exception = std::current_exception();
\r
1656 _errHandler->recover(this, _localctx->exception);
\r
1662 //----------------- SwitchCaseContext ------------------------------------------------------------------
\r
1664 TocParser::SwitchCaseContext::SwitchCaseContext(ParserRuleContext *parent, size_t invokingState)
\r
1665 : ParserRuleContext(parent, invokingState) {
\r
1668 TocParser::ExprContext* TocParser::SwitchCaseContext::expr() {
\r
1669 return getRuleContext<TocParser::ExprContext>(0);
\r
1672 TocParser::BodyContext* TocParser::SwitchCaseContext::body() {
\r
1673 return getRuleContext<TocParser::BodyContext>(0);
\r
1677 size_t TocParser::SwitchCaseContext::getRuleIndex() const {
\r
1678 return TocParser::RuleSwitchCase;
\r
1682 TocParser::SwitchCaseContext* TocParser::switchCase() {
\r
1683 SwitchCaseContext *_localctx = _tracker.createInstance<SwitchCaseContext>(_ctx, getState());
\r
1684 enterRule(_localctx, 50, TocParser::RuleSwitchCase);
\r
1686 #if __cplusplus > 201703L
\r
1687 auto onExit = finally([=, this] {
\r
1689 auto onExit = finally([=] {
\r
1694 enterOuterAlt(_localctx, 1);
\r
1696 match(TocParser::T__22);
\r
1703 catch (RecognitionException &e) {
\r
1704 _errHandler->reportError(this, e);
\r
1705 _localctx->exception = std::current_exception();
\r
1706 _errHandler->recover(this, _localctx->exception);
\r
1712 //----------------- ForStmtContext ------------------------------------------------------------------
\r
1714 TocParser::ForStmtContext::ForStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1715 : ParserRuleContext(parent, invokingState) {
\r
1718 std::vector<TocParser::ExprContext *> TocParser::ForStmtContext::expr() {
\r
1719 return getRuleContexts<TocParser::ExprContext>();
\r
1722 TocParser::ExprContext* TocParser::ForStmtContext::expr(size_t i) {
\r
1723 return getRuleContext<TocParser::ExprContext>(i);
\r
1726 TocParser::BodyContext* TocParser::ForStmtContext::body() {
\r
1727 return getRuleContext<TocParser::BodyContext>(0);
\r
1730 TocParser::VarInitContext* TocParser::ForStmtContext::varInit() {
\r
1731 return getRuleContext<TocParser::VarInitContext>(0);
\r
1734 TocParser::AssignStmtContext* TocParser::ForStmtContext::assignStmt() {
\r
1735 return getRuleContext<TocParser::AssignStmtContext>(0);
\r
1739 size_t TocParser::ForStmtContext::getRuleIndex() const {
\r
1740 return TocParser::RuleForStmt;
\r
1744 TocParser::ForStmtContext* TocParser::forStmt() {
\r
1745 ForStmtContext *_localctx = _tracker.createInstance<ForStmtContext>(_ctx, getState());
\r
1746 enterRule(_localctx, 52, TocParser::RuleForStmt);
\r
1748 #if __cplusplus > 201703L
\r
1749 auto onExit = finally([=, this] {
\r
1751 auto onExit = finally([=] {
\r
1756 enterOuterAlt(_localctx, 1);
\r
1758 match(TocParser::T__23);
\r
1760 _errHandler->sync(this);
\r
1761 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 21, _ctx)) {
\r
1778 match(TocParser::T__14);
\r
1782 match(TocParser::T__14);
\r
1789 catch (RecognitionException &e) {
\r
1790 _errHandler->reportError(this, e);
\r
1791 _localctx->exception = std::current_exception();
\r
1792 _errHandler->recover(this, _localctx->exception);
\r
1798 //----------------- WhileStmtContext ------------------------------------------------------------------
\r
1800 TocParser::WhileStmtContext::WhileStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1801 : ParserRuleContext(parent, invokingState) {
\r
1804 TocParser::ExprContext* TocParser::WhileStmtContext::expr() {
\r
1805 return getRuleContext<TocParser::ExprContext>(0);
\r
1808 TocParser::BodyContext* TocParser::WhileStmtContext::body() {
\r
1809 return getRuleContext<TocParser::BodyContext>(0);
\r
1813 size_t TocParser::WhileStmtContext::getRuleIndex() const {
\r
1814 return TocParser::RuleWhileStmt;
\r
1818 TocParser::WhileStmtContext* TocParser::whileStmt() {
\r
1819 WhileStmtContext *_localctx = _tracker.createInstance<WhileStmtContext>(_ctx, getState());
\r
1820 enterRule(_localctx, 54, TocParser::RuleWhileStmt);
\r
1822 #if __cplusplus > 201703L
\r
1823 auto onExit = finally([=, this] {
\r
1825 auto onExit = finally([=] {
\r
1830 enterOuterAlt(_localctx, 1);
\r
1832 match(TocParser::T__24);
\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 //----------------- AssignStmtContext ------------------------------------------------------------------
\r
1850 TocParser::AssignStmtContext::AssignStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1851 : ParserRuleContext(parent, invokingState) {
\r
1854 std::vector<TocParser::ExprContext *> TocParser::AssignStmtContext::expr() {
\r
1855 return getRuleContexts<TocParser::ExprContext>();
\r
1858 TocParser::ExprContext* TocParser::AssignStmtContext::expr(size_t i) {
\r
1859 return getRuleContext<TocParser::ExprContext>(i);
\r
1863 size_t TocParser::AssignStmtContext::getRuleIndex() const {
\r
1864 return TocParser::RuleAssignStmt;
\r
1868 TocParser::AssignStmtContext* TocParser::assignStmt() {
\r
1869 AssignStmtContext *_localctx = _tracker.createInstance<AssignStmtContext>(_ctx, getState());
\r
1870 enterRule(_localctx, 56, TocParser::RuleAssignStmt);
\r
1872 #if __cplusplus > 201703L
\r
1873 auto onExit = finally([=, this] {
\r
1875 auto onExit = finally([=] {
\r
1880 enterOuterAlt(_localctx, 1);
\r
1884 match(TocParser::T__6);
\r
1889 catch (RecognitionException &e) {
\r
1890 _errHandler->reportError(this, e);
\r
1891 _localctx->exception = std::current_exception();
\r
1892 _errHandler->recover(this, _localctx->exception);
\r
1898 //----------------- ReturnStmtContext ------------------------------------------------------------------
\r
1900 TocParser::ReturnStmtContext::ReturnStmtContext(ParserRuleContext *parent, size_t invokingState)
\r
1901 : ParserRuleContext(parent, invokingState) {
\r
1904 TocParser::ExprContext* TocParser::ReturnStmtContext::expr() {
\r
1905 return getRuleContext<TocParser::ExprContext>(0);
\r
1909 size_t TocParser::ReturnStmtContext::getRuleIndex() const {
\r
1910 return TocParser::RuleReturnStmt;
\r
1914 TocParser::ReturnStmtContext* TocParser::returnStmt() {
\r
1915 ReturnStmtContext *_localctx = _tracker.createInstance<ReturnStmtContext>(_ctx, getState());
\r
1916 enterRule(_localctx, 58, TocParser::RuleReturnStmt);
\r
1918 #if __cplusplus > 201703L
\r
1919 auto onExit = finally([=, this] {
\r
1921 auto onExit = finally([=] {
\r
1926 enterOuterAlt(_localctx, 1);
\r
1928 match(TocParser::T__25);
\r
1933 catch (RecognitionException &e) {
\r
1934 _errHandler->reportError(this, e);
\r
1935 _localctx->exception = std::current_exception();
\r
1936 _errHandler->recover(this, _localctx->exception);
\r
1942 //----------------- ExprContext ------------------------------------------------------------------
\r
1944 TocParser::ExprContext::ExprContext(ParserRuleContext *parent, size_t invokingState)
\r
1945 : ParserRuleContext(parent, invokingState) {
\r
1949 size_t TocParser::ExprContext::getRuleIndex() const {
\r
1950 return TocParser::RuleExpr;
\r
1953 void TocParser::ExprContext::copyFrom(ExprContext *ctx) {
\r
1954 ParserRuleContext::copyFrom(ctx);
\r
1957 //----------------- DotExprContext ------------------------------------------------------------------
\r
1959 TocParser::ExprContext* TocParser::DotExprContext::expr() {
\r
1960 return getRuleContext<TocParser::ExprContext>(0);
\r
1963 TocParser::VarNameContext* TocParser::DotExprContext::varName() {
\r
1964 return getRuleContext<TocParser::VarNameContext>(0);
\r
1967 TocParser::DotExprContext::DotExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
1970 //----------------- FuncExprContext ------------------------------------------------------------------
\r
1972 TocParser::FuncNameContext* TocParser::FuncExprContext::funcName() {
\r
1973 return getRuleContext<TocParser::FuncNameContext>(0);
\r
1976 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::FuncExprContext::namespaceSpecifier() {
\r
1977 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
1980 TocParser::NamespaceSpecifierContext* TocParser::FuncExprContext::namespaceSpecifier(size_t i) {
\r
1981 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
1984 std::vector<TocParser::ExprContext *> TocParser::FuncExprContext::expr() {
\r
1985 return getRuleContexts<TocParser::ExprContext>();
\r
1988 TocParser::ExprContext* TocParser::FuncExprContext::expr(size_t i) {
\r
1989 return getRuleContext<TocParser::ExprContext>(i);
\r
1992 TocParser::FuncExprContext::FuncExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
1995 //----------------- BracketExprContext ------------------------------------------------------------------
\r
1997 std::vector<TocParser::ExprContext *> TocParser::BracketExprContext::expr() {
\r
1998 return getRuleContexts<TocParser::ExprContext>();
\r
2001 TocParser::ExprContext* TocParser::BracketExprContext::expr(size_t i) {
\r
2002 return getRuleContext<TocParser::ExprContext>(i);
\r
2005 TocParser::BracketExprContext::BracketExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2008 //----------------- PrefixOpExprContext ------------------------------------------------------------------
\r
2010 TocParser::Prefix_opContext* TocParser::PrefixOpExprContext::prefix_op() {
\r
2011 return getRuleContext<TocParser::Prefix_opContext>(0);
\r
2014 TocParser::ExprContext* TocParser::PrefixOpExprContext::expr() {
\r
2015 return getRuleContext<TocParser::ExprContext>(0);
\r
2018 TocParser::PrefixOpExprContext::PrefixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2021 //----------------- MethodExprContext ------------------------------------------------------------------
\r
2023 std::vector<TocParser::ExprContext *> TocParser::MethodExprContext::expr() {
\r
2024 return getRuleContexts<TocParser::ExprContext>();
\r
2027 TocParser::ExprContext* TocParser::MethodExprContext::expr(size_t i) {
\r
2028 return getRuleContext<TocParser::ExprContext>(i);
\r
2031 TocParser::FuncNameContext* TocParser::MethodExprContext::funcName() {
\r
2032 return getRuleContext<TocParser::FuncNameContext>(0);
\r
2035 TocParser::MethodExprContext::MethodExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2038 //----------------- PostfixOpExprContext ------------------------------------------------------------------
\r
2040 TocParser::ExprContext* TocParser::PostfixOpExprContext::expr() {
\r
2041 return getRuleContext<TocParser::ExprContext>(0);
\r
2044 TocParser::Postfix_opContext* TocParser::PostfixOpExprContext::postfix_op() {
\r
2045 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2048 TocParser::PostfixOpExprContext::PostfixOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2051 //----------------- BinaryOpExprContext ------------------------------------------------------------------
\r
2053 std::vector<TocParser::ExprContext *> TocParser::BinaryOpExprContext::expr() {
\r
2054 return getRuleContexts<TocParser::ExprContext>();
\r
2057 TocParser::ExprContext* TocParser::BinaryOpExprContext::expr(size_t i) {
\r
2058 return getRuleContext<TocParser::ExprContext>(i);
\r
2061 TocParser::Binary_opContext* TocParser::BinaryOpExprContext::binary_op() {
\r
2062 return getRuleContext<TocParser::Binary_opContext>(0);
\r
2065 TocParser::BinaryOpExprContext::BinaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2068 //----------------- TernaryOpExprContext ------------------------------------------------------------------
\r
2070 std::vector<TocParser::ExprContext *> TocParser::TernaryOpExprContext::expr() {
\r
2071 return getRuleContexts<TocParser::ExprContext>();
\r
2074 TocParser::ExprContext* TocParser::TernaryOpExprContext::expr(size_t i) {
\r
2075 return getRuleContext<TocParser::ExprContext>(i);
\r
2078 TocParser::TernaryOpExprContext::TernaryOpExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2081 //----------------- LitExprContext ------------------------------------------------------------------
\r
2083 TocParser::LiteralContext* TocParser::LitExprContext::literal() {
\r
2084 return getRuleContext<TocParser::LiteralContext>(0);
\r
2087 TocParser::LitExprContext::LitExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2090 //----------------- ParenExprContext ------------------------------------------------------------------
\r
2092 TocParser::ExprContext* TocParser::ParenExprContext::expr() {
\r
2093 return getRuleContext<TocParser::ExprContext>(0);
\r
2096 TocParser::ParenExprContext::ParenExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2099 //----------------- IdentifierExprContext ------------------------------------------------------------------
\r
2101 TocParser::VarNameContext* TocParser::IdentifierExprContext::varName() {
\r
2102 return getRuleContext<TocParser::VarNameContext>(0);
\r
2105 std::vector<TocParser::NamespaceSpecifierContext *> TocParser::IdentifierExprContext::namespaceSpecifier() {
\r
2106 return getRuleContexts<TocParser::NamespaceSpecifierContext>();
\r
2109 TocParser::NamespaceSpecifierContext* TocParser::IdentifierExprContext::namespaceSpecifier(size_t i) {
\r
2110 return getRuleContext<TocParser::NamespaceSpecifierContext>(i);
\r
2113 TocParser::IdentifierExprContext::IdentifierExprContext(ExprContext *ctx) { copyFrom(ctx); }
\r
2117 TocParser::ExprContext* TocParser::expr() {
\r
2121 TocParser::ExprContext* TocParser::expr(int precedence) {
\r
2122 ParserRuleContext *parentContext = _ctx;
\r
2123 size_t parentState = getState();
\r
2124 TocParser::ExprContext *_localctx = _tracker.createInstance<ExprContext>(_ctx, parentState);
\r
2125 TocParser::ExprContext *previousContext = _localctx;
\r
2126 (void)previousContext; // Silence compiler, in case the context is not used by generated code.
\r
2127 size_t startState = 60;
\r
2128 enterRecursionRule(_localctx, 60, TocParser::RuleExpr, precedence);
\r
2132 #if __cplusplus > 201703L
\r
2133 auto onExit = finally([=, this] {
\r
2135 auto onExit = finally([=] {
\r
2137 unrollRecursionContexts(parentContext);
\r
2141 enterOuterAlt(_localctx, 1);
\r
2143 _errHandler->sync(this);
\r
2144 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 26, _ctx)) {
\r
2146 _localctx = _tracker.createInstance<FuncExprContext>(_localctx);
\r
2148 previousContext = _localctx;
\r
2151 _errHandler->sync(this);
\r
2152 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 22, _ctx);
\r
2153 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2156 namespaceSpecifier();
\r
2159 _errHandler->sync(this);
\r
2160 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 22, _ctx);
\r
2165 match(TocParser::T__12);
\r
2167 _errHandler->sync(this);
\r
2169 _la = _input->LA(1);
\r
2170 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2171 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2172 | (1ULL << TocParser::T__12)
\r
2173 | (1ULL << TocParser::T__28)
\r
2174 | (1ULL << TocParser::T__29)
\r
2175 | (1ULL << TocParser::T__30)
\r
2176 | (1ULL << TocParser::T__31)
\r
2177 | (1ULL << TocParser::T__32)
\r
2178 | (1ULL << TocParser::T__33)
\r
2179 | (1ULL << TocParser::T__34)
\r
2180 | (1ULL << TocParser::INT_LIT)
\r
2181 | (1ULL << TocParser::DECIMAL_LIT)
\r
2182 | (1ULL << TocParser::STRING_LIT)
\r
2183 | (1ULL << TocParser::BOOL_LIT)
\r
2184 | (1ULL << TocParser::NAME))) != 0)) {
\r
2188 _errHandler->sync(this);
\r
2189 _la = _input->LA(1);
\r
2190 while (_la == TocParser::T__14) {
\r
2192 match(TocParser::T__14);
\r
2196 _errHandler->sync(this);
\r
2197 _la = _input->LA(1);
\r
2201 match(TocParser::T__13);
\r
2206 _localctx = _tracker.createInstance<LitExprContext>(_localctx);
\r
2208 previousContext = _localctx;
\r
2215 _localctx = _tracker.createInstance<ParenExprContext>(_localctx);
\r
2217 previousContext = _localctx;
\r
2219 match(TocParser::T__12);
\r
2223 match(TocParser::T__13);
\r
2228 _localctx = _tracker.createInstance<PrefixOpExprContext>(_localctx);
\r
2230 previousContext = _localctx;
\r
2239 _localctx = _tracker.createInstance<IdentifierExprContext>(_localctx);
\r
2241 previousContext = _localctx;
\r
2243 _errHandler->sync(this);
\r
2244 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 25, _ctx);
\r
2245 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2248 namespaceSpecifier();
\r
2251 _errHandler->sync(this);
\r
2252 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 25, _ctx);
\r
2262 _ctx->stop = _input->LT(-1);
\r
2264 _errHandler->sync(this);
\r
2265 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 30, _ctx);
\r
2266 while (alt != 2 && alt != atn::ATN::INVALID_ALT_NUMBER) {
\r
2268 if (!_parseListeners.empty())
\r
2269 triggerExitRuleEvent();
\r
2270 previousContext = _localctx;
\r
2272 _errHandler->sync(this);
\r
2273 switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 29, _ctx)) {
\r
2275 auto newContext = _tracker.createInstance<BinaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2276 _localctx = newContext;
\r
2277 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2280 if (!(precpred(_ctx, 4))) throw FailedPredicateException(this, "precpred(_ctx, 4)");
\r
2289 auto newContext = _tracker.createInstance<TernaryOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2290 _localctx = newContext;
\r
2291 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2294 if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)");
\r
2296 match(TocParser::T__27);
\r
2300 match(TocParser::T__5);
\r
2307 auto newContext = _tracker.createInstance<MethodExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2308 _localctx = newContext;
\r
2309 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2312 if (!(precpred(_ctx, 10))) throw FailedPredicateException(this, "precpred(_ctx, 10)");
\r
2314 match(TocParser::T__26);
\r
2318 match(TocParser::T__12);
\r
2320 _errHandler->sync(this);
\r
2322 _la = _input->LA(1);
\r
2323 if ((((_la & ~ 0x3fULL) == 0) &&
\r
2324 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2325 | (1ULL << TocParser::T__12)
\r
2326 | (1ULL << TocParser::T__28)
\r
2327 | (1ULL << TocParser::T__29)
\r
2328 | (1ULL << TocParser::T__30)
\r
2329 | (1ULL << TocParser::T__31)
\r
2330 | (1ULL << TocParser::T__32)
\r
2331 | (1ULL << TocParser::T__33)
\r
2332 | (1ULL << TocParser::T__34)
\r
2333 | (1ULL << TocParser::INT_LIT)
\r
2334 | (1ULL << TocParser::DECIMAL_LIT)
\r
2335 | (1ULL << TocParser::STRING_LIT)
\r
2336 | (1ULL << TocParser::BOOL_LIT)
\r
2337 | (1ULL << TocParser::NAME))) != 0)) {
\r
2341 _errHandler->sync(this);
\r
2342 _la = _input->LA(1);
\r
2343 while (_la == TocParser::T__14) {
\r
2345 match(TocParser::T__14);
\r
2349 _errHandler->sync(this);
\r
2350 _la = _input->LA(1);
\r
2354 match(TocParser::T__13);
\r
2359 auto newContext = _tracker.createInstance<DotExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2360 _localctx = newContext;
\r
2361 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2364 if (!(precpred(_ctx, 7))) throw FailedPredicateException(this, "precpred(_ctx, 7)");
\r
2366 match(TocParser::T__26);
\r
2373 auto newContext = _tracker.createInstance<PostfixOpExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2374 _localctx = newContext;
\r
2375 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2378 if (!(precpred(_ctx, 5))) throw FailedPredicateException(this, "precpred(_ctx, 5)");
\r
2385 auto newContext = _tracker.createInstance<BracketExprContext>(_tracker.createInstance<ExprContext>(parentContext, parentState));
\r
2386 _localctx = newContext;
\r
2387 pushNewRecursionContext(newContext, startState, RuleExpr);
\r
2390 if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)");
\r
2392 match(TocParser::T__8);
\r
2396 match(TocParser::T__9);
\r
2405 _errHandler->sync(this);
\r
2406 alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 30, _ctx);
\r
2409 catch (RecognitionException &e) {
\r
2410 _errHandler->reportError(this, e);
\r
2411 _localctx->exception = std::current_exception();
\r
2412 _errHandler->recover(this, _localctx->exception);
\r
2417 //----------------- LiteralContext ------------------------------------------------------------------
\r
2419 TocParser::LiteralContext::LiteralContext(ParserRuleContext *parent, size_t invokingState)
\r
2420 : ParserRuleContext(parent, invokingState) {
\r
2423 tree::TerminalNode* TocParser::LiteralContext::INT_LIT() {
\r
2424 return getToken(TocParser::INT_LIT, 0);
\r
2427 tree::TerminalNode* TocParser::LiteralContext::DECIMAL_LIT() {
\r
2428 return getToken(TocParser::DECIMAL_LIT, 0);
\r
2431 tree::TerminalNode* TocParser::LiteralContext::STRING_LIT() {
\r
2432 return getToken(TocParser::STRING_LIT, 0);
\r
2435 tree::TerminalNode* TocParser::LiteralContext::BOOL_LIT() {
\r
2436 return getToken(TocParser::BOOL_LIT, 0);
\r
2440 size_t TocParser::LiteralContext::getRuleIndex() const {
\r
2441 return TocParser::RuleLiteral;
\r
2445 TocParser::LiteralContext* TocParser::literal() {
\r
2446 LiteralContext *_localctx = _tracker.createInstance<LiteralContext>(_ctx, getState());
\r
2447 enterRule(_localctx, 62, TocParser::RuleLiteral);
\r
2450 #if __cplusplus > 201703L
\r
2451 auto onExit = finally([=, this] {
\r
2453 auto onExit = finally([=] {
\r
2458 enterOuterAlt(_localctx, 1);
\r
2460 _la = _input->LA(1);
\r
2461 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2462 ((1ULL << _la) & ((1ULL << TocParser::INT_LIT)
\r
2463 | (1ULL << TocParser::DECIMAL_LIT)
\r
2464 | (1ULL << TocParser::STRING_LIT)
\r
2465 | (1ULL << TocParser::BOOL_LIT))) != 0))) {
\r
2466 _errHandler->recoverInline(this);
\r
2469 _errHandler->reportMatch(this);
\r
2474 catch (RecognitionException &e) {
\r
2475 _errHandler->reportError(this, e);
\r
2476 _localctx->exception = std::current_exception();
\r
2477 _errHandler->recover(this, _localctx->exception);
\r
2483 //----------------- FuncNameContext ------------------------------------------------------------------
\r
2485 TocParser::FuncNameContext::FuncNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2486 : ParserRuleContext(parent, invokingState) {
\r
2489 tree::TerminalNode* TocParser::FuncNameContext::NAME() {
\r
2490 return getToken(TocParser::NAME, 0);
\r
2494 size_t TocParser::FuncNameContext::getRuleIndex() const {
\r
2495 return TocParser::RuleFuncName;
\r
2499 TocParser::FuncNameContext* TocParser::funcName() {
\r
2500 FuncNameContext *_localctx = _tracker.createInstance<FuncNameContext>(_ctx, getState());
\r
2501 enterRule(_localctx, 64, TocParser::RuleFuncName);
\r
2503 #if __cplusplus > 201703L
\r
2504 auto onExit = finally([=, this] {
\r
2506 auto onExit = finally([=] {
\r
2511 enterOuterAlt(_localctx, 1);
\r
2513 match(TocParser::NAME);
\r
2516 catch (RecognitionException &e) {
\r
2517 _errHandler->reportError(this, e);
\r
2518 _localctx->exception = std::current_exception();
\r
2519 _errHandler->recover(this, _localctx->exception);
\r
2525 //----------------- VarNameContext ------------------------------------------------------------------
\r
2527 TocParser::VarNameContext::VarNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2528 : ParserRuleContext(parent, invokingState) {
\r
2531 tree::TerminalNode* TocParser::VarNameContext::NAME() {
\r
2532 return getToken(TocParser::NAME, 0);
\r
2536 size_t TocParser::VarNameContext::getRuleIndex() const {
\r
2537 return TocParser::RuleVarName;
\r
2541 TocParser::VarNameContext* TocParser::varName() {
\r
2542 VarNameContext *_localctx = _tracker.createInstance<VarNameContext>(_ctx, getState());
\r
2543 enterRule(_localctx, 66, TocParser::RuleVarName);
\r
2545 #if __cplusplus > 201703L
\r
2546 auto onExit = finally([=, this] {
\r
2548 auto onExit = finally([=] {
\r
2553 enterOuterAlt(_localctx, 1);
\r
2555 match(TocParser::NAME);
\r
2558 catch (RecognitionException &e) {
\r
2559 _errHandler->reportError(this, e);
\r
2560 _localctx->exception = std::current_exception();
\r
2561 _errHandler->recover(this, _localctx->exception);
\r
2567 //----------------- TypeNameContext ------------------------------------------------------------------
\r
2569 TocParser::TypeNameContext::TypeNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2570 : ParserRuleContext(parent, invokingState) {
\r
2573 tree::TerminalNode* TocParser::TypeNameContext::NAME() {
\r
2574 return getToken(TocParser::NAME, 0);
\r
2578 size_t TocParser::TypeNameContext::getRuleIndex() const {
\r
2579 return TocParser::RuleTypeName;
\r
2583 TocParser::TypeNameContext* TocParser::typeName() {
\r
2584 TypeNameContext *_localctx = _tracker.createInstance<TypeNameContext>(_ctx, getState());
\r
2585 enterRule(_localctx, 68, TocParser::RuleTypeName);
\r
2587 #if __cplusplus > 201703L
\r
2588 auto onExit = finally([=, this] {
\r
2590 auto onExit = finally([=] {
\r
2595 enterOuterAlt(_localctx, 1);
\r
2597 match(TocParser::NAME);
\r
2600 catch (RecognitionException &e) {
\r
2601 _errHandler->reportError(this, e);
\r
2602 _localctx->exception = std::current_exception();
\r
2603 _errHandler->recover(this, _localctx->exception);
\r
2609 //----------------- StructNameContext ------------------------------------------------------------------
\r
2611 TocParser::StructNameContext::StructNameContext(ParserRuleContext *parent, size_t invokingState)
\r
2612 : ParserRuleContext(parent, invokingState) {
\r
2615 tree::TerminalNode* TocParser::StructNameContext::NAME() {
\r
2616 return getToken(TocParser::NAME, 0);
\r
2620 size_t TocParser::StructNameContext::getRuleIndex() const {
\r
2621 return TocParser::RuleStructName;
\r
2625 TocParser::StructNameContext* TocParser::structName() {
\r
2626 StructNameContext *_localctx = _tracker.createInstance<StructNameContext>(_ctx, getState());
\r
2627 enterRule(_localctx, 70, TocParser::RuleStructName);
\r
2629 #if __cplusplus > 201703L
\r
2630 auto onExit = finally([=, this] {
\r
2632 auto onExit = finally([=] {
\r
2637 enterOuterAlt(_localctx, 1);
\r
2639 match(TocParser::NAME);
\r
2642 catch (RecognitionException &e) {
\r
2643 _errHandler->reportError(this, e);
\r
2644 _localctx->exception = std::current_exception();
\r
2645 _errHandler->recover(this, _localctx->exception);
\r
2651 //----------------- Postfix_opContext ------------------------------------------------------------------
\r
2653 TocParser::Postfix_opContext::Postfix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2654 : ParserRuleContext(parent, invokingState) {
\r
2658 size_t TocParser::Postfix_opContext::getRuleIndex() const {
\r
2659 return TocParser::RulePostfix_op;
\r
2663 TocParser::Postfix_opContext* TocParser::postfix_op() {
\r
2664 Postfix_opContext *_localctx = _tracker.createInstance<Postfix_opContext>(_ctx, getState());
\r
2665 enterRule(_localctx, 72, TocParser::RulePostfix_op);
\r
2668 #if __cplusplus > 201703L
\r
2669 auto onExit = finally([=, this] {
\r
2671 auto onExit = finally([=] {
\r
2676 enterOuterAlt(_localctx, 1);
\r
2678 _la = _input->LA(1);
\r
2679 if (!(_la == TocParser::T__28
\r
2681 || _la == TocParser::T__29)) {
\r
2682 _errHandler->recoverInline(this);
\r
2685 _errHandler->reportMatch(this);
\r
2690 catch (RecognitionException &e) {
\r
2691 _errHandler->reportError(this, e);
\r
2692 _localctx->exception = std::current_exception();
\r
2693 _errHandler->recover(this, _localctx->exception);
\r
2699 //----------------- Prefix_opContext ------------------------------------------------------------------
\r
2701 TocParser::Prefix_opContext::Prefix_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2702 : ParserRuleContext(parent, invokingState) {
\r
2705 TocParser::Postfix_opContext* TocParser::Prefix_opContext::postfix_op() {
\r
2706 return getRuleContext<TocParser::Postfix_opContext>(0);
\r
2710 size_t TocParser::Prefix_opContext::getRuleIndex() const {
\r
2711 return TocParser::RulePrefix_op;
\r
2715 TocParser::Prefix_opContext* TocParser::prefix_op() {
\r
2716 Prefix_opContext *_localctx = _tracker.createInstance<Prefix_opContext>(_ctx, getState());
\r
2717 enterRule(_localctx, 74, TocParser::RulePrefix_op);
\r
2719 #if __cplusplus > 201703L
\r
2720 auto onExit = finally([=, this] {
\r
2722 auto onExit = finally([=] {
\r
2728 _errHandler->sync(this);
\r
2729 switch (_input->LA(1)) {
\r
2730 case TocParser::T__30: {
\r
2731 enterOuterAlt(_localctx, 1);
\r
2733 match(TocParser::T__30);
\r
2737 case TocParser::T__31: {
\r
2738 enterOuterAlt(_localctx, 2);
\r
2740 match(TocParser::T__31);
\r
2744 case TocParser::T__32: {
\r
2745 enterOuterAlt(_localctx, 3);
\r
2747 match(TocParser::T__32);
\r
2751 case TocParser::T__33: {
\r
2752 enterOuterAlt(_localctx, 4);
\r
2754 match(TocParser::T__33);
\r
2758 case TocParser::T__34: {
\r
2759 enterOuterAlt(_localctx, 5);
\r
2761 match(TocParser::T__34);
\r
2765 case TocParser::T__7: {
\r
2766 enterOuterAlt(_localctx, 6);
\r
2768 match(TocParser::T__7);
\r
2772 case TocParser::T__28:
\r
2773 case TocParser::T__29: {
\r
2774 enterOuterAlt(_localctx, 7);
\r
2781 throw NoViableAltException(this);
\r
2785 catch (RecognitionException &e) {
\r
2786 _errHandler->reportError(this, e);
\r
2787 _localctx->exception = std::current_exception();
\r
2788 _errHandler->recover(this, _localctx->exception);
\r
2794 //----------------- Binary_opContext ------------------------------------------------------------------
\r
2796 TocParser::Binary_opContext::Binary_opContext(ParserRuleContext *parent, size_t invokingState)
\r
2797 : ParserRuleContext(parent, invokingState) {
\r
2801 size_t TocParser::Binary_opContext::getRuleIndex() const {
\r
2802 return TocParser::RuleBinary_op;
\r
2806 TocParser::Binary_opContext* TocParser::binary_op() {
\r
2807 Binary_opContext *_localctx = _tracker.createInstance<Binary_opContext>(_ctx, getState());
\r
2808 enterRule(_localctx, 76, TocParser::RuleBinary_op);
\r
2811 #if __cplusplus > 201703L
\r
2812 auto onExit = finally([=, this] {
\r
2814 auto onExit = finally([=] {
\r
2819 enterOuterAlt(_localctx, 1);
\r
2821 _la = _input->LA(1);
\r
2822 if (!((((_la & ~ 0x3fULL) == 0) &&
\r
2823 ((1ULL << _la) & ((1ULL << TocParser::T__7)
\r
2824 | (1ULL << TocParser::T__17)
\r
2825 | (1ULL << TocParser::T__18)
\r
2826 | (1ULL << TocParser::T__30)
\r
2827 | (1ULL << TocParser::T__31)
\r
2828 | (1ULL << TocParser::T__34)
\r
2829 | (1ULL << TocParser::T__35)
\r
2830 | (1ULL << TocParser::T__36)
\r
2831 | (1ULL << TocParser::T__37)
\r
2832 | (1ULL << TocParser::T__38)
\r
2833 | (1ULL << TocParser::T__39)
\r
2834 | (1ULL << TocParser::T__40)
\r
2835 | (1ULL << TocParser::T__41)
\r
2836 | (1ULL << TocParser::T__42)
\r
2837 | (1ULL << TocParser::T__43)
\r
2838 | (1ULL << TocParser::T__44)
\r
2839 | (1ULL << TocParser::T__45)
\r
2840 | (1ULL << TocParser::T__46)
\r
2841 | (1ULL << TocParser::T__47)
\r
2842 | (1ULL << TocParser::T__48)
\r
2843 | (1ULL << TocParser::T__49)
\r
2844 | (1ULL << TocParser::T__50)
\r
2845 | (1ULL << TocParser::T__51)
\r
2846 | (1ULL << TocParser::T__52)
\r
2847 | (1ULL << TocParser::T__53)
\r
2848 | (1ULL << TocParser::T__54)
\r
2849 | (1ULL << TocParser::T__55)
\r
2850 | (1ULL << TocParser::T__56))) != 0))) {
\r
2851 _errHandler->recoverInline(this);
\r
2854 _errHandler->reportMatch(this);
\r
2859 catch (RecognitionException &e) {
\r
2860 _errHandler->reportError(this, e);
\r
2861 _localctx->exception = std::current_exception();
\r
2862 _errHandler->recover(this, _localctx->exception);
\r
2868 bool TocParser::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) {
\r
2869 switch (ruleIndex) {
\r
2870 case 30: return exprSempred(dynamic_cast<ExprContext *>(context), predicateIndex);
\r
2878 bool TocParser::exprSempred(ExprContext *_localctx, size_t predicateIndex) {
\r
2879 switch (predicateIndex) {
\r
2880 case 0: return precpred(_ctx, 4);
\r
2881 case 1: return precpred(_ctx, 3);
\r
2882 case 2: return precpred(_ctx, 10);
\r
2883 case 3: return precpred(_ctx, 7);
\r
2884 case 4: return precpred(_ctx, 5);
\r
2885 case 5: return precpred(_ctx, 2);
\r
2893 // Static vars and initialization.
\r
2894 std::vector<dfa::DFA> TocParser::_decisionToDFA;
\r
2895 atn::PredictionContextCache TocParser::_sharedContextCache;
\r
2897 // We own the ATN which in turn owns the ATN states.
\r
2898 atn::ATN TocParser::_atn;
\r
2899 std::vector<uint16_t> TocParser::_serializedATN;
\r
2901 std::vector<std::string> TocParser::_ruleNames = {
\r
2902 "prog", "decl", "namespaceDecl", "varDecl", "var", "varInit", "type",
\r
2903 "typeModifier", "namespaceSpecifier", "funcDecl", "func", "parameter",
\r
2904 "body", "structDecl", "structMember", "structVar", "structMethod", "privateDecl",
\r
2905 "genericDecl", "stmt", "ifStmt", "elseIfStmt", "elseStmt", "switchStmt",
\r
2906 "switchBody", "switchCase", "forStmt", "whileStmt", "assignStmt", "returnStmt",
\r
2907 "expr", "literal", "funcName", "varName", "typeName", "structName", "postfix_op",
\r
2908 "prefix_op", "binary_op"
\r
2911 std::vector<std::string> TocParser::_literalNames = {
\r
2912 "", "';'", "'namespace'", "'{'", "'}'", "'var'", "':'", "'='", "'*'",
\r
2913 "'['", "']'", "'::'", "'func'", "'('", "')'", "','", "'struct'", "'private'",
\r
2914 "'<'", "'>'", "'if'", "'else'", "'switch'", "'case'", "'for'", "'while'",
\r
2915 "'return'", "'.'", "'\u003F'", "'++'", "'--'", "'+'", "'-'", "'!'", "'~'",
\r
2916 "'&'", "'/'", "'%'", "'|'", "'^'", "'=='", "'!='", "'<='", "'>='", "'<<'",
\r
2917 "'>>'", "'||'", "'&&'", "'&='", "'|='", "'^='", "'<<='", "'>>='", "'+='",
\r
2918 "'-='", "'*='", "'/='", "'%='"
\r
2921 std::vector<std::string> TocParser::_symbolicNames = {
\r
2922 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2923 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2924 "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
\r
2925 "", "", "", "", "INT_LIT", "DECIMAL_LIT", "STRING_LIT", "BOOL_LIT", "NAME",
\r
2929 dfa::Vocabulary TocParser::_vocabulary(_literalNames, _symbolicNames);
\r
2931 std::vector<std::string> TocParser::_tokenNames;
\r
2933 TocParser::Initializer::Initializer() {
\r
2934 for (size_t i = 0; i < _symbolicNames.size(); ++i) {
\r
2935 std::string name = _vocabulary.getLiteralName(i);
\r
2936 if (name.empty()) {
\r
2937 name = _vocabulary.getSymbolicName(i);
\r
2940 if (name.empty()) {
\r
2941 _tokenNames.push_back("<INVALID>");
\r
2943 _tokenNames.push_back(name);
\r
2947 static const uint16_t serializedATNSegment0[] = {
\r
2948 0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
\r
2949 0x3, 0x42, 0x191, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
\r
2950 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
\r
2951 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
\r
2952 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
\r
2953 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
\r
2954 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
\r
2955 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
\r
2956 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
\r
2957 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
\r
2958 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
\r
2959 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x4, 0x23,
\r
2960 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25, 0x4, 0x26,
\r
2961 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 0x3, 0x2,
\r
2962 0x6, 0x2, 0x52, 0xa, 0x2, 0xd, 0x2, 0xe, 0x2, 0x53, 0x3, 0x2, 0x3,
\r
2963 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
\r
2964 0x5, 0x3, 0x5e, 0xa, 0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4,
\r
2965 0x7, 0x4, 0x64, 0xa, 0x4, 0xc, 0x4, 0xe, 0x4, 0x67, 0xb, 0x4, 0x3,
\r
2966 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x6, 0x3, 0x6,
\r
2967 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x5, 0x6, 0x74, 0xa, 0x6,
\r
2968 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3,
\r
2969 0x7, 0x3, 0x8, 0x7, 0x8, 0x7e, 0xa, 0x8, 0xc, 0x8, 0xe, 0x8, 0x81,
\r
2970 0xb, 0x8, 0x3, 0x8, 0x3, 0x8, 0x7, 0x8, 0x85, 0xa, 0x8, 0xc, 0x8,
\r
2971 0xe, 0x8, 0x88, 0xb, 0x8, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x5, 0x9,
\r
2972 0x8d, 0xa, 0x9, 0x3, 0x9, 0x5, 0x9, 0x90, 0xa, 0x9, 0x3, 0xa, 0x3,
\r
2973 0xa, 0x3, 0xa, 0x3, 0xb, 0x3, 0xb, 0x3, 0xb, 0x3, 0xc, 0x3, 0xc,
\r
2974 0x5, 0xc, 0x9a, 0xa, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc,
\r
2975 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xd, 0x3, 0xd, 0x3,
\r
2976 0xd, 0x7, 0xd, 0xa7, 0xa, 0xd, 0xc, 0xd, 0xe, 0xd, 0xaa, 0xb, 0xd,
\r
2977 0x5, 0xd, 0xac, 0xa, 0xd, 0x3, 0xe, 0x3, 0xe, 0x7, 0xe, 0xb0, 0xa,
\r
2978 0xe, 0xc, 0xe, 0xe, 0xe, 0xb3, 0xb, 0xe, 0x3, 0xe, 0x3, 0xe, 0x3,
\r
2979 0xf, 0x3, 0xf, 0x3, 0xf, 0x5, 0xf, 0xba, 0xa, 0xf, 0x3, 0xf, 0x3,
\r
2980 0xf, 0x7, 0xf, 0xbe, 0xa, 0xf, 0xc, 0xf, 0xe, 0xf, 0xc1, 0xb, 0xf,
\r
2981 0x3, 0xf, 0x3, 0xf, 0x3, 0x10, 0x5, 0x10, 0xc6, 0xa, 0x10, 0x3, 0x10,
\r
2982 0x3, 0x10, 0x5, 0x10, 0xca, 0xa, 0x10, 0x3, 0x11, 0x3, 0x11, 0x3,
\r
2983 0x11, 0x3, 0x12, 0x3, 0x12, 0x3, 0x13, 0x3, 0x13, 0x3, 0x14, 0x3,
\r
2984 0x14, 0x3, 0x14, 0x3, 0x14, 0x7, 0x14, 0xd7, 0xa, 0x14, 0xc, 0x14,
\r
2985 0xe, 0x14, 0xda, 0xb, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x15, 0x3,
\r
2986 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3,
\r
2987 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3,
\r
2988 0x15, 0x3, 0x15, 0x3, 0x15, 0x5, 0x15, 0xee, 0xa, 0x15, 0x3, 0x16,
\r
2989 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x7, 0x16, 0xf4, 0xa, 0x16, 0xc,
\r
2990 0x16, 0xe, 0x16, 0xf7, 0xb, 0x16, 0x3, 0x16, 0x5, 0x16, 0xfa, 0xa,
\r
2991 0x16, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3,
\r
2992 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3,
\r
2993 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x7, 0x1a, 0x10a, 0xa, 0x1a, 0xc, 0x1a,
\r
2994 0xe, 0x1a, 0x10d, 0xb, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1b, 0x3,
\r
2995 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x5,
\r
2996 0x1c, 0x118, 0xa, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c,
\r
2997 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d,
\r
2998 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1f, 0x3, 0x1f,
\r
2999 0x3, 0x1f, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x12d, 0xa, 0x20, 0xc,
\r
3000 0x20, 0xe, 0x20, 0x130, 0xb, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3001 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x137, 0xa, 0x20, 0xc, 0x20, 0xe,
\r
3002 0x20, 0x13a, 0xb, 0x20, 0x5, 0x20, 0x13c, 0xa, 0x20, 0x3, 0x20, 0x3,
\r
3003 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3004 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x149, 0xa, 0x20,
\r
3005 0xc, 0x20, 0xe, 0x20, 0x14c, 0xb, 0x20, 0x3, 0x20, 0x5, 0x20, 0x14f,
\r
3006 0xa, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3007 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3008 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20,
\r
3009 0x7, 0x20, 0x162, 0xa, 0x20, 0xc, 0x20, 0xe, 0x20, 0x165, 0xb, 0x20,
\r
3010 0x5, 0x20, 0x167, 0xa, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3011 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3,
\r
3012 0x20, 0x3, 0x20, 0x3, 0x20, 0x7, 0x20, 0x175, 0xa, 0x20, 0xc, 0x20,
\r
3013 0xe, 0x20, 0x178, 0xb, 0x20, 0x3, 0x21, 0x3, 0x21, 0x3, 0x22, 0x3,
\r
3014 0x22, 0x3, 0x23, 0x3, 0x23, 0x3, 0x24, 0x3, 0x24, 0x3, 0x25, 0x3,
\r
3015 0x25, 0x3, 0x26, 0x3, 0x26, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x3,
\r
3016 0x27, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x5, 0x27, 0x18d, 0xa, 0x27,
\r
3017 0x3, 0x28, 0x3, 0x28, 0x3, 0x28, 0x2, 0x3, 0x3e, 0x29, 0x2, 0x4,
\r
3018 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a, 0x1c,
\r
3019 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 0x32,
\r
3020 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48,
\r
3021 0x4a, 0x4c, 0x4e, 0x2, 0x5, 0x3, 0x2, 0x3c, 0x3f, 0x3, 0x2, 0x1f,
\r
3022 0x20, 0x6, 0x2, 0xa, 0xa, 0x14, 0x15, 0x21, 0x22, 0x25, 0x3b, 0x2,
\r
3023 0x19d, 0x2, 0x51, 0x3, 0x2, 0x2, 0x2, 0x4, 0x5d, 0x3, 0x2, 0x2, 0x2,
\r
3024 0x6, 0x5f, 0x3, 0x2, 0x2, 0x2, 0x8, 0x6a, 0x3, 0x2, 0x2, 0x2, 0xa,
\r
3025 0x6d, 0x3, 0x2, 0x2, 0x2, 0xc, 0x75, 0x3, 0x2, 0x2, 0x2, 0xe, 0x7f,
\r
3026 0x3, 0x2, 0x2, 0x2, 0x10, 0x8f, 0x3, 0x2, 0x2, 0x2, 0x12, 0x91, 0x3,
\r
3027 0x2, 0x2, 0x2, 0x14, 0x94, 0x3, 0x2, 0x2, 0x2, 0x16, 0x97, 0x3, 0x2,
\r
3028 0x2, 0x2, 0x18, 0xab, 0x3, 0x2, 0x2, 0x2, 0x1a, 0xad, 0x3, 0x2, 0x2,
\r
3029 0x2, 0x1c, 0xb6, 0x3, 0x2, 0x2, 0x2, 0x1e, 0xc9, 0x3, 0x2, 0x2, 0x2,
\r
3030 0x20, 0xcb, 0x3, 0x2, 0x2, 0x2, 0x22, 0xce, 0x3, 0x2, 0x2, 0x2, 0x24,
\r
3031 0xd0, 0x3, 0x2, 0x2, 0x2, 0x26, 0xd2, 0x3, 0x2, 0x2, 0x2, 0x28, 0xed,
\r
3032 0x3, 0x2, 0x2, 0x2, 0x2a, 0xef, 0x3, 0x2, 0x2, 0x2, 0x2c, 0xfb, 0x3,
\r
3033 0x2, 0x2, 0x2, 0x2e, 0x100, 0x3, 0x2, 0x2, 0x2, 0x30, 0x103, 0x3,
\r
3034 0x2, 0x2, 0x2, 0x32, 0x107, 0x3, 0x2, 0x2, 0x2, 0x34, 0x110, 0x3,
\r
3035 0x2, 0x2, 0x2, 0x36, 0x114, 0x3, 0x2, 0x2, 0x2, 0x38, 0x11f, 0x3,
\r
3036 0x2, 0x2, 0x2, 0x3a, 0x123, 0x3, 0x2, 0x2, 0x2, 0x3c, 0x127, 0x3,
\r
3037 0x2, 0x2, 0x2, 0x3e, 0x14e, 0x3, 0x2, 0x2, 0x2, 0x40, 0x179, 0x3,
\r
3038 0x2, 0x2, 0x2, 0x42, 0x17b, 0x3, 0x2, 0x2, 0x2, 0x44, 0x17d, 0x3,
\r
3039 0x2, 0x2, 0x2, 0x46, 0x17f, 0x3, 0x2, 0x2, 0x2, 0x48, 0x181, 0x3,
\r
3040 0x2, 0x2, 0x2, 0x4a, 0x183, 0x3, 0x2, 0x2, 0x2, 0x4c, 0x18c, 0x3,
\r
3041 0x2, 0x2, 0x2, 0x4e, 0x18e, 0x3, 0x2, 0x2, 0x2, 0x50, 0x52, 0x5,
\r
3042 0x4, 0x3, 0x2, 0x51, 0x50, 0x3, 0x2, 0x2, 0x2, 0x52, 0x53, 0x3, 0x2,
\r
3043 0x2, 0x2, 0x53, 0x51, 0x3, 0x2, 0x2, 0x2, 0x53, 0x54, 0x3, 0x2, 0x2,
\r
3044 0x2, 0x54, 0x55, 0x3, 0x2, 0x2, 0x2, 0x55, 0x56, 0x7, 0x2, 0x2, 0x3,
\r
3045 0x56, 0x3, 0x3, 0x2, 0x2, 0x2, 0x57, 0x58, 0x5, 0x8, 0x5, 0x2, 0x58,
\r
3046 0x59, 0x7, 0x3, 0x2, 0x2, 0x59, 0x5e, 0x3, 0x2, 0x2, 0x2, 0x5a, 0x5e,
\r
3047 0x5, 0x14, 0xb, 0x2, 0x5b, 0x5e, 0x5, 0x1c, 0xf, 0x2, 0x5c, 0x5e,
\r
3048 0x5, 0x6, 0x4, 0x2, 0x5d, 0x57, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5a, 0x3,
\r
3049 0x2, 0x2, 0x2, 0x5d, 0x5b, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5c, 0x3, 0x2,
\r
3050 0x2, 0x2, 0x5e, 0x5, 0x3, 0x2, 0x2, 0x2, 0x5f, 0x60, 0x7, 0x4, 0x2,
\r
3051 0x2, 0x60, 0x61, 0x5, 0x46, 0x24, 0x2, 0x61, 0x65, 0x7, 0x5, 0x2,
\r
3052 0x2, 0x62, 0x64, 0x5, 0x4, 0x3, 0x2, 0x63, 0x62, 0x3, 0x2, 0x2, 0x2,
\r
3053 0x64, 0x67, 0x3, 0x2, 0x2, 0x2, 0x65, 0x63, 0x3, 0x2, 0x2, 0x2, 0x65,
\r
3054 0x66, 0x3, 0x2, 0x2, 0x2, 0x66, 0x68, 0x3, 0x2, 0x2, 0x2, 0x67, 0x65,
\r
3055 0x3, 0x2, 0x2, 0x2, 0x68, 0x69, 0x7, 0x6, 0x2, 0x2, 0x69, 0x7, 0x3,
\r
3056 0x2, 0x2, 0x2, 0x6a, 0x6b, 0x7, 0x7, 0x2, 0x2, 0x6b, 0x6c, 0x5, 0xa,
\r
3057 0x6, 0x2, 0x6c, 0x9, 0x3, 0x2, 0x2, 0x2, 0x6d, 0x6e, 0x5, 0x44, 0x23,
\r
3058 0x2, 0x6e, 0x6f, 0x7, 0x8, 0x2, 0x2, 0x6f, 0x70, 0x5, 0xe, 0x8, 0x2,
\r
3059 0x70, 0x73, 0x3, 0x2, 0x2, 0x2, 0x71, 0x72, 0x7, 0x9, 0x2, 0x2, 0x72,
\r
3060 0x74, 0x5, 0x3e, 0x20, 0x2, 0x73, 0x71, 0x3, 0x2, 0x2, 0x2, 0x73,
\r
3061 0x74, 0x3, 0x2, 0x2, 0x2, 0x74, 0xb, 0x3, 0x2, 0x2, 0x2, 0x75, 0x76,
\r
3062 0x5, 0x44, 0x23, 0x2, 0x76, 0x77, 0x7, 0x8, 0x2, 0x2, 0x77, 0x78,
\r
3063 0x5, 0xe, 0x8, 0x2, 0x78, 0x79, 0x3, 0x2, 0x2, 0x2, 0x79, 0x7a, 0x7,
\r
3064 0x9, 0x2, 0x2, 0x7a, 0x7b, 0x5, 0x3e, 0x20, 0x2, 0x7b, 0xd, 0x3,
\r
3065 0x2, 0x2, 0x2, 0x7c, 0x7e, 0x5, 0x12, 0xa, 0x2, 0x7d, 0x7c, 0x3,
\r
3066 0x2, 0x2, 0x2, 0x7e, 0x81, 0x3, 0x2, 0x2, 0x2, 0x7f, 0x7d, 0x3, 0x2,
\r
3067 0x2, 0x2, 0x7f, 0x80, 0x3, 0x2, 0x2, 0x2, 0x80, 0x82, 0x3, 0x2, 0x2,
\r
3068 0x2, 0x81, 0x7f, 0x3, 0x2, 0x2, 0x2, 0x82, 0x86, 0x5, 0x46, 0x24,
\r
3069 0x2, 0x83, 0x85, 0x5, 0x10, 0x9, 0x2, 0x84, 0x83, 0x3, 0x2, 0x2,
\r
3070 0x2, 0x85, 0x88, 0x3, 0x2, 0x2, 0x2, 0x86, 0x84, 0x3, 0x2, 0x2, 0x2,
\r
3071 0x86, 0x87, 0x3, 0x2, 0x2, 0x2, 0x87, 0xf, 0x3, 0x2, 0x2, 0x2, 0x88,
\r
3072 0x86, 0x3, 0x2, 0x2, 0x2, 0x89, 0x90, 0x7, 0xa, 0x2, 0x2, 0x8a, 0x8c,
\r
3073 0x7, 0xb, 0x2, 0x2, 0x8b, 0x8d, 0x7, 0x3c, 0x2, 0x2, 0x8c, 0x8b,
\r
3074 0x3, 0x2, 0x2, 0x2, 0x8c, 0x8d, 0x3, 0x2, 0x2, 0x2, 0x8d, 0x8e, 0x3,
\r
3075 0x2, 0x2, 0x2, 0x8e, 0x90, 0x7, 0xc, 0x2, 0x2, 0x8f, 0x89, 0x3, 0x2,
\r
3076 0x2, 0x2, 0x8f, 0x8a, 0x3, 0x2, 0x2, 0x2, 0x90, 0x11, 0x3, 0x2, 0x2,
\r
3077 0x2, 0x91, 0x92, 0x5, 0x46, 0x24, 0x2, 0x92, 0x93, 0x7, 0xd, 0x2,
\r
3078 0x2, 0x93, 0x13, 0x3, 0x2, 0x2, 0x2, 0x94, 0x95, 0x7, 0xe, 0x2, 0x2,
\r
3079 0x95, 0x96, 0x5, 0x16, 0xc, 0x2, 0x96, 0x15, 0x3, 0x2, 0x2, 0x2,
\r
3080 0x97, 0x99, 0x5, 0x42, 0x22, 0x2, 0x98, 0x9a, 0x5, 0x26, 0x14, 0x2,
\r
3081 0x99, 0x98, 0x3, 0x2, 0x2, 0x2, 0x99, 0x9a, 0x3, 0x2, 0x2, 0x2, 0x9a,
\r
3082 0x9b, 0x3, 0x2, 0x2, 0x2, 0x9b, 0x9c, 0x7, 0xf, 0x2, 0x2, 0x9c, 0x9d,
\r
3083 0x5, 0x18, 0xd, 0x2, 0x9d, 0x9e, 0x7, 0x10, 0x2, 0x2, 0x9e, 0x9f,
\r
3084 0x7, 0x8, 0x2, 0x2, 0x9f, 0xa0, 0x5, 0xe, 0x8, 0x2, 0xa0, 0xa1, 0x3,
\r
3085 0x2, 0x2, 0x2, 0xa1, 0xa2, 0x5, 0x1a, 0xe, 0x2, 0xa2, 0x17, 0x3,
\r
3086 0x2, 0x2, 0x2, 0xa3, 0xa8, 0x5, 0xa, 0x6, 0x2, 0xa4, 0xa5, 0x7, 0x11,
\r
3087 0x2, 0x2, 0xa5, 0xa7, 0x5, 0xa, 0x6, 0x2, 0xa6, 0xa4, 0x3, 0x2, 0x2,
\r
3088 0x2, 0xa7, 0xaa, 0x3, 0x2, 0x2, 0x2, 0xa8, 0xa6, 0x3, 0x2, 0x2, 0x2,
\r
3089 0xa8, 0xa9, 0x3, 0x2, 0x2, 0x2, 0xa9, 0xac, 0x3, 0x2, 0x2, 0x2, 0xaa,
\r
3090 0xa8, 0x3, 0x2, 0x2, 0x2, 0xab, 0xa3, 0x3, 0x2, 0x2, 0x2, 0xab, 0xac,
\r
3091 0x3, 0x2, 0x2, 0x2, 0xac, 0x19, 0x3, 0x2, 0x2, 0x2, 0xad, 0xb1, 0x7,
\r
3092 0x5, 0x2, 0x2, 0xae, 0xb0, 0x5, 0x28, 0x15, 0x2, 0xaf, 0xae, 0x3,
\r
3093 0x2, 0x2, 0x2, 0xb0, 0xb3, 0x3, 0x2, 0x2, 0x2, 0xb1, 0xaf, 0x3, 0x2,
\r
3094 0x2, 0x2, 0xb1, 0xb2, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb4, 0x3, 0x2, 0x2,
\r
3095 0x2, 0xb3, 0xb1, 0x3, 0x2, 0x2, 0x2, 0xb4, 0xb5, 0x7, 0x6, 0x2, 0x2,
\r
3096 0xb5, 0x1b, 0x3, 0x2, 0x2, 0x2, 0xb6, 0xb7, 0x7, 0x12, 0x2, 0x2,
\r
3097 0xb7, 0xb9, 0x5, 0x48, 0x25, 0x2, 0xb8, 0xba, 0x5, 0x26, 0x14, 0x2,
\r
3098 0xb9, 0xb8, 0x3, 0x2, 0x2, 0x2, 0xb9, 0xba, 0x3, 0x2, 0x2, 0x2, 0xba,
\r
3099 0xbb, 0x3, 0x2, 0x2, 0x2, 0xbb, 0xbf, 0x7, 0x5, 0x2, 0x2, 0xbc, 0xbe,
\r
3100 0x5, 0x1e, 0x10, 0x2, 0xbd, 0xbc, 0x3, 0x2, 0x2, 0x2, 0xbe, 0xc1,
\r
3101 0x3, 0x2, 0x2, 0x2, 0xbf, 0xbd, 0x3, 0x2, 0x2, 0x2, 0xbf, 0xc0, 0x3,
\r
3102 0x2, 0x2, 0x2, 0xc0, 0xc2, 0x3, 0x2, 0x2, 0x2, 0xc1, 0xbf, 0x3, 0x2,
\r
3103 0x2, 0x2, 0xc2, 0xc3, 0x7, 0x6, 0x2, 0x2, 0xc3, 0x1d, 0x3, 0x2, 0x2,
\r
3104 0x2, 0xc4, 0xc6, 0x5, 0x24, 0x13, 0x2, 0xc5, 0xc4, 0x3, 0x2, 0x2,
\r
3105 0x2, 0xc5, 0xc6, 0x3, 0x2, 0x2, 0x2, 0xc6, 0xc7, 0x3, 0x2, 0x2, 0x2,
\r
3106 0xc7, 0xca, 0x5, 0x20, 0x11, 0x2, 0xc8, 0xca, 0x5, 0x22, 0x12, 0x2,
\r
3107 0xc9, 0xc5, 0x3, 0x2, 0x2, 0x2, 0xc9, 0xc8, 0x3, 0x2, 0x2, 0x2, 0xca,
\r
3108 0x1f, 0x3, 0x2, 0x2, 0x2, 0xcb, 0xcc, 0x5, 0xa, 0x6, 0x2, 0xcc, 0xcd,
\r
3109 0x7, 0x3, 0x2, 0x2, 0xcd, 0x21, 0x3, 0x2, 0x2, 0x2, 0xce, 0xcf, 0x5,
\r
3110 0x16, 0xc, 0x2, 0xcf, 0x23, 0x3, 0x2, 0x2, 0x2, 0xd0, 0xd1, 0x7,
\r
3111 0x13, 0x2, 0x2, 0xd1, 0x25, 0x3, 0x2, 0x2, 0x2, 0xd2, 0xd3, 0x7,
\r
3112 0x14, 0x2, 0x2, 0xd3, 0xd8, 0x5, 0x46, 0x24, 0x2, 0xd4, 0xd5, 0x7,
\r
3113 0x11, 0x2, 0x2, 0xd5, 0xd7, 0x5, 0x46, 0x24, 0x2, 0xd6, 0xd4, 0x3,
\r
3114 0x2, 0x2, 0x2, 0xd7, 0xda, 0x3, 0x2, 0x2, 0x2, 0xd8, 0xd6, 0x3, 0x2,
\r
3115 0x2, 0x2, 0xd8, 0xd9, 0x3, 0x2, 0x2, 0x2, 0xd9, 0xdb, 0x3, 0x2, 0x2,
\r
3116 0x2, 0xda, 0xd8, 0x3, 0x2, 0x2, 0x2, 0xdb, 0xdc, 0x7, 0x15, 0x2,
\r
3117 0x2, 0xdc, 0x27, 0x3, 0x2, 0x2, 0x2, 0xdd, 0xde, 0x5, 0x8, 0x5, 0x2,
\r
3118 0xde, 0xdf, 0x7, 0x3, 0x2, 0x2, 0xdf, 0xee, 0x3, 0x2, 0x2, 0x2, 0xe0,
\r
3119 0xee, 0x5, 0x2a, 0x16, 0x2, 0xe1, 0xee, 0x5, 0x30, 0x19, 0x2, 0xe2,
\r
3120 0xee, 0x5, 0x36, 0x1c, 0x2, 0xe3, 0xee, 0x5, 0x38, 0x1d, 0x2, 0xe4,
\r
3121 0xe5, 0x5, 0x3a, 0x1e, 0x2, 0xe5, 0xe6, 0x7, 0x3, 0x2, 0x2, 0xe6,
\r
3122 0xee, 0x3, 0x2, 0x2, 0x2, 0xe7, 0xe8, 0x5, 0x3c, 0x1f, 0x2, 0xe8,
\r
3123 0xe9, 0x7, 0x3, 0x2, 0x2, 0xe9, 0xee, 0x3, 0x2, 0x2, 0x2, 0xea, 0xeb,
\r
3124 0x5, 0x3e, 0x20, 0x2, 0xeb, 0xec, 0x7, 0x3, 0x2, 0x2, 0xec, 0xee,
\r
3125 0x3, 0x2, 0x2, 0x2, 0xed, 0xdd, 0x3, 0x2, 0x2, 0x2, 0xed, 0xe0, 0x3,
\r
3126 0x2, 0x2, 0x2, 0xed, 0xe1, 0x3, 0x2, 0x2, 0x2, 0xed, 0xe2, 0x3, 0x2,
\r
3127 0x2, 0x2, 0xed, 0xe3, 0x3, 0x2, 0x2, 0x2, 0xed, 0xe4, 0x3, 0x2, 0x2,
\r
3128 0x2, 0xed, 0xe7, 0x3, 0x2, 0x2, 0x2, 0xed, 0xea, 0x3, 0x2, 0x2, 0x2,
\r
3129 0xee, 0x29, 0x3, 0x2, 0x2, 0x2, 0xef, 0xf0, 0x7, 0x16, 0x2, 0x2,
\r
3130 0xf0, 0xf1, 0x5, 0x3e, 0x20, 0x2, 0xf1, 0xf5, 0x5, 0x1a, 0xe, 0x2,
\r
3131 0xf2, 0xf4, 0x5, 0x2c, 0x17, 0x2, 0xf3, 0xf2, 0x3, 0x2, 0x2, 0x2,
\r
3132 0xf4, 0xf7, 0x3, 0x2, 0x2, 0x2, 0xf5, 0xf3, 0x3, 0x2, 0x2, 0x2, 0xf5,
\r
3133 0xf6, 0x3, 0x2, 0x2, 0x2, 0xf6, 0xf9, 0x3, 0x2, 0x2, 0x2, 0xf7, 0xf5,
\r
3134 0x3, 0x2, 0x2, 0x2, 0xf8, 0xfa, 0x5, 0x2e, 0x18, 0x2, 0xf9, 0xf8,
\r
3135 0x3, 0x2, 0x2, 0x2, 0xf9, 0xfa, 0x3, 0x2, 0x2, 0x2, 0xfa, 0x2b, 0x3,
\r
3136 0x2, 0x2, 0x2, 0xfb, 0xfc, 0x7, 0x17, 0x2, 0x2, 0xfc, 0xfd, 0x7,
\r
3137 0x16, 0x2, 0x2, 0xfd, 0xfe, 0x5, 0x3e, 0x20, 0x2, 0xfe, 0xff, 0x5,
\r
3138 0x1a, 0xe, 0x2, 0xff, 0x2d, 0x3, 0x2, 0x2, 0x2, 0x100, 0x101, 0x7,
\r
3139 0x17, 0x2, 0x2, 0x101, 0x102, 0x5, 0x1a, 0xe, 0x2, 0x102, 0x2f, 0x3,
\r
3140 0x2, 0x2, 0x2, 0x103, 0x104, 0x7, 0x18, 0x2, 0x2, 0x104, 0x105, 0x5,
\r
3141 0x3e, 0x20, 0x2, 0x105, 0x106, 0x5, 0x32, 0x1a, 0x2, 0x106, 0x31,
\r
3142 0x3, 0x2, 0x2, 0x2, 0x107, 0x10b, 0x7, 0x5, 0x2, 0x2, 0x108, 0x10a,
\r
3143 0x5, 0x34, 0x1b, 0x2, 0x109, 0x108, 0x3, 0x2, 0x2, 0x2, 0x10a, 0x10d,
\r
3144 0x3, 0x2, 0x2, 0x2, 0x10b, 0x109, 0x3, 0x2, 0x2, 0x2, 0x10b, 0x10c,
\r
3145 0x3, 0x2, 0x2, 0x2, 0x10c, 0x10e, 0x3, 0x2, 0x2, 0x2, 0x10d, 0x10b,
\r
3146 0x3, 0x2, 0x2, 0x2, 0x10e, 0x10f, 0x7, 0x6, 0x2, 0x2, 0x10f, 0x33,
\r
3147 0x3, 0x2, 0x2, 0x2, 0x110, 0x111, 0x7, 0x19, 0x2, 0x2, 0x111, 0x112,
\r
3148 0x5, 0x3e, 0x20, 0x2, 0x112, 0x113, 0x5, 0x1a, 0xe, 0x2, 0x113, 0x35,
\r
3149 0x3, 0x2, 0x2, 0x2, 0x114, 0x117, 0x7, 0x1a, 0x2, 0x2, 0x115, 0x118,
\r
3150 0x5, 0xc, 0x7, 0x2, 0x116, 0x118, 0x5, 0x3a, 0x1e, 0x2, 0x117, 0x115,
\r
3151 0x3, 0x2, 0x2, 0x2, 0x117, 0x116, 0x3, 0x2, 0x2, 0x2, 0x118, 0x119,
\r
3152 0x3, 0x2, 0x2, 0x2, 0x119, 0x11a, 0x7, 0x11, 0x2, 0x2, 0x11a, 0x11b,
\r
3153 0x5, 0x3e, 0x20, 0x2, 0x11b, 0x11c, 0x7, 0x11, 0x2, 0x2, 0x11c, 0x11d,
\r
3154 0x5, 0x3e, 0x20, 0x2, 0x11d, 0x11e, 0x5, 0x1a, 0xe, 0x2, 0x11e, 0x37,
\r
3155 0x3, 0x2, 0x2, 0x2, 0x11f, 0x120, 0x7, 0x1b, 0x2, 0x2, 0x120, 0x121,
\r
3156 0x5, 0x3e, 0x20, 0x2, 0x121, 0x122, 0x5, 0x1a, 0xe, 0x2, 0x122, 0x39,
\r
3157 0x3, 0x2, 0x2, 0x2, 0x123, 0x124, 0x5, 0x3e, 0x20, 0x2, 0x124, 0x125,
\r
3158 0x7, 0x9, 0x2, 0x2, 0x125, 0x126, 0x5, 0x3e, 0x20, 0x2, 0x126, 0x3b,
\r
3159 0x3, 0x2, 0x2, 0x2, 0x127, 0x128, 0x7, 0x1c, 0x2, 0x2, 0x128, 0x129,
\r
3160 0x5, 0x3e, 0x20, 0x2, 0x129, 0x3d, 0x3, 0x2, 0x2, 0x2, 0x12a, 0x12e,
\r
3161 0x8, 0x20, 0x1, 0x2, 0x12b, 0x12d, 0x5, 0x12, 0xa, 0x2, 0x12c, 0x12b,
\r
3162 0x3, 0x2, 0x2, 0x2, 0x12d, 0x130, 0x3, 0x2, 0x2, 0x2, 0x12e, 0x12c,
\r
3163 0x3, 0x2, 0x2, 0x2, 0x12e, 0x12f, 0x3, 0x2, 0x2, 0x2, 0x12f, 0x131,
\r
3164 0x3, 0x2, 0x2, 0x2, 0x130, 0x12e, 0x3, 0x2, 0x2, 0x2, 0x131, 0x132,
\r
3165 0x5, 0x42, 0x22, 0x2, 0x132, 0x13b, 0x7, 0xf, 0x2, 0x2, 0x133, 0x138,
\r
3166 0x5, 0x3e, 0x20, 0x2, 0x134, 0x135, 0x7, 0x11, 0x2, 0x2, 0x135, 0x137,
\r
3167 0x5, 0x3e, 0x20, 0x2, 0x136, 0x134, 0x3, 0x2, 0x2, 0x2, 0x137, 0x13a,
\r
3168 0x3, 0x2, 0x2, 0x2, 0x138, 0x136, 0x3, 0x2, 0x2, 0x2, 0x138, 0x139,
\r
3169 0x3, 0x2, 0x2, 0x2, 0x139, 0x13c, 0x3, 0x2, 0x2, 0x2, 0x13a, 0x138,
\r
3170 0x3, 0x2, 0x2, 0x2, 0x13b, 0x133, 0x3, 0x2, 0x2, 0x2, 0x13b, 0x13c,
\r
3171 0x3, 0x2, 0x2, 0x2, 0x13c, 0x13d, 0x3, 0x2, 0x2, 0x2, 0x13d, 0x13e,
\r
3172 0x7, 0x10, 0x2, 0x2, 0x13e, 0x14f, 0x3, 0x2, 0x2, 0x2, 0x13f, 0x14f,
\r
3173 0x5, 0x40, 0x21, 0x2, 0x140, 0x141, 0x7, 0xf, 0x2, 0x2, 0x141, 0x142,
\r
3174 0x5, 0x3e, 0x20, 0x2, 0x142, 0x143, 0x7, 0x10, 0x2, 0x2, 0x143, 0x14f,
\r
3175 0x3, 0x2, 0x2, 0x2, 0x144, 0x145, 0x5, 0x4c, 0x27, 0x2, 0x145, 0x146,
\r
3176 0x5, 0x3e, 0x20, 0x8, 0x146, 0x14f, 0x3, 0x2, 0x2, 0x2, 0x147, 0x149,
\r
3177 0x5, 0x12, 0xa, 0x2, 0x148, 0x147, 0x3, 0x2, 0x2, 0x2, 0x149, 0x14c,
\r
3178 0x3, 0x2, 0x2, 0x2, 0x14a, 0x148, 0x3, 0x2, 0x2, 0x2, 0x14a, 0x14b,
\r
3179 0x3, 0x2, 0x2, 0x2, 0x14b, 0x14d, 0x3, 0x2, 0x2, 0x2, 0x14c, 0x14a,
\r
3180 0x3, 0x2, 0x2, 0x2, 0x14d, 0x14f, 0x5, 0x44, 0x23, 0x2, 0x14e, 0x12a,
\r
3181 0x3, 0x2, 0x2, 0x2, 0x14e, 0x13f, 0x3, 0x2, 0x2, 0x2, 0x14e, 0x140,
\r
3182 0x3, 0x2, 0x2, 0x2, 0x14e, 0x144, 0x3, 0x2, 0x2, 0x2, 0x14e, 0x14a,
\r
3183 0x3, 0x2, 0x2, 0x2, 0x14f, 0x176, 0x3, 0x2, 0x2, 0x2, 0x150, 0x151,
\r
3184 0xc, 0x6, 0x2, 0x2, 0x151, 0x152, 0x5, 0x4e, 0x28, 0x2, 0x152, 0x153,
\r
3185 0x5, 0x3e, 0x20, 0x7, 0x153, 0x175, 0x3, 0x2, 0x2, 0x2, 0x154, 0x155,
\r
3186 0xc, 0x5, 0x2, 0x2, 0x155, 0x156, 0x7, 0x1e, 0x2, 0x2, 0x156, 0x157,
\r
3187 0x5, 0x3e, 0x20, 0x2, 0x157, 0x158, 0x7, 0x8, 0x2, 0x2, 0x158, 0x159,
\r
3188 0x5, 0x3e, 0x20, 0x6, 0x159, 0x175, 0x3, 0x2, 0x2, 0x2, 0x15a, 0x15b,
\r
3189 0xc, 0xc, 0x2, 0x2, 0x15b, 0x15c, 0x7, 0x1d, 0x2, 0x2, 0x15c, 0x15d,
\r
3190 0x5, 0x42, 0x22, 0x2, 0x15d, 0x166, 0x7, 0xf, 0x2, 0x2, 0x15e, 0x163,
\r
3191 0x5, 0x3e, 0x20, 0x2, 0x15f, 0x160, 0x7, 0x11, 0x2, 0x2, 0x160, 0x162,
\r
3192 0x5, 0x3e, 0x20, 0x2, 0x161, 0x15f, 0x3, 0x2, 0x2, 0x2, 0x162, 0x165,
\r
3193 0x3, 0x2, 0x2, 0x2, 0x163, 0x161, 0x3, 0x2, 0x2, 0x2, 0x163, 0x164,
\r
3194 0x3, 0x2, 0x2, 0x2, 0x164, 0x167, 0x3, 0x2, 0x2, 0x2, 0x165, 0x163,
\r
3195 0x3, 0x2, 0x2, 0x2, 0x166, 0x15e, 0x3, 0x2, 0x2, 0x2, 0x166, 0x167,
\r
3196 0x3, 0x2, 0x2, 0x2, 0x167, 0x168, 0x3, 0x2, 0x2, 0x2, 0x168, 0x169,
\r
3197 0x7, 0x10, 0x2, 0x2, 0x169, 0x175, 0x3, 0x2, 0x2, 0x2, 0x16a, 0x16b,
\r
3198 0xc, 0x9, 0x2, 0x2, 0x16b, 0x16c, 0x7, 0x1d, 0x2, 0x2, 0x16c, 0x175,
\r
3199 0x5, 0x44, 0x23, 0x2, 0x16d, 0x16e, 0xc, 0x7, 0x2, 0x2, 0x16e, 0x175,
\r
3200 0x5, 0x4a, 0x26, 0x2, 0x16f, 0x170, 0xc, 0x4, 0x2, 0x2, 0x170, 0x171,
\r
3201 0x7, 0xb, 0x2, 0x2, 0x171, 0x172, 0x5, 0x3e, 0x20, 0x2, 0x172, 0x173,
\r
3202 0x7, 0xc, 0x2, 0x2, 0x173, 0x175, 0x3, 0x2, 0x2, 0x2, 0x174, 0x150,
\r
3203 0x3, 0x2, 0x2, 0x2, 0x174, 0x154, 0x3, 0x2, 0x2, 0x2, 0x174, 0x15a,
\r
3204 0x3, 0x2, 0x2, 0x2, 0x174, 0x16a, 0x3, 0x2, 0x2, 0x2, 0x174, 0x16d,
\r
3205 0x3, 0x2, 0x2, 0x2, 0x174, 0x16f, 0x3, 0x2, 0x2, 0x2, 0x175, 0x178,
\r
3206 0x3, 0x2, 0x2, 0x2, 0x176, 0x174, 0x3, 0x2, 0x2, 0x2, 0x176, 0x177,
\r
3207 0x3, 0x2, 0x2, 0x2, 0x177, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x178, 0x176,
\r
3208 0x3, 0x2, 0x2, 0x2, 0x179, 0x17a, 0x9, 0x2, 0x2, 0x2, 0x17a, 0x41,
\r
3209 0x3, 0x2, 0x2, 0x2, 0x17b, 0x17c, 0x7, 0x40, 0x2, 0x2, 0x17c, 0x43,
\r
3210 0x3, 0x2, 0x2, 0x2, 0x17d, 0x17e, 0x7, 0x40, 0x2, 0x2, 0x17e, 0x45,
\r
3211 0x3, 0x2, 0x2, 0x2, 0x17f, 0x180, 0x7, 0x40, 0x2, 0x2, 0x180, 0x47,
\r
3212 0x3, 0x2, 0x2, 0x2, 0x181, 0x182, 0x7, 0x40, 0x2, 0x2, 0x182, 0x49,
\r
3213 0x3, 0x2, 0x2, 0x2, 0x183, 0x184, 0x9, 0x3, 0x2, 0x2, 0x184, 0x4b,
\r
3214 0x3, 0x2, 0x2, 0x2, 0x185, 0x18d, 0x7, 0x21, 0x2, 0x2, 0x186, 0x18d,
\r
3215 0x7, 0x22, 0x2, 0x2, 0x187, 0x18d, 0x7, 0x23, 0x2, 0x2, 0x188, 0x18d,
\r
3216 0x7, 0x24, 0x2, 0x2, 0x189, 0x18d, 0x7, 0x25, 0x2, 0x2, 0x18a, 0x18d,
\r
3217 0x7, 0xa, 0x2, 0x2, 0x18b, 0x18d, 0x5, 0x4a, 0x26, 0x2, 0x18c, 0x185,
\r
3218 0x3, 0x2, 0x2, 0x2, 0x18c, 0x186, 0x3, 0x2, 0x2, 0x2, 0x18c, 0x187,
\r
3219 0x3, 0x2, 0x2, 0x2, 0x18c, 0x188, 0x3, 0x2, 0x2, 0x2, 0x18c, 0x189,
\r
3220 0x3, 0x2, 0x2, 0x2, 0x18c, 0x18a, 0x3, 0x2, 0x2, 0x2, 0x18c, 0x18b,
\r
3221 0x3, 0x2, 0x2, 0x2, 0x18d, 0x4d, 0x3, 0x2, 0x2, 0x2, 0x18e, 0x18f,
\r
3222 0x9, 0x4, 0x2, 0x2, 0x18f, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x22, 0x53,
\r
3223 0x5d, 0x65, 0x73, 0x7f, 0x86, 0x8c, 0x8f, 0x99, 0xa8, 0xab, 0xb1,
\r
3224 0xb9, 0xbf, 0xc5, 0xc9, 0xd8, 0xed, 0xf5, 0xf9, 0x10b, 0x117, 0x12e,
\r
3225 0x138, 0x13b, 0x14a, 0x14e, 0x163, 0x166, 0x174, 0x176, 0x18c,
\r
3228 _serializedATN.insert(_serializedATN.end(), serializedATNSegment0,
\r
3229 serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));
\r
3232 atn::ATNDeserializer deserializer;
\r
3233 _atn = deserializer.deserialize(_serializedATN);
\r
3235 size_t count = _atn.getNumberOfDecisions();
\r
3236 _decisionToDFA.reserve(count);
\r
3237 for (size_t i = 0; i < count; i++) {
\r
3238 _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
\r
3242 TocParser::Initializer TocParser::_init;
\r