LCOV - code coverage report
Current view: top level - src/frontend/SageIII/accparser - accparser.cpp (source / functions) Hit Total Coverage
Test: ROSE Lines: 17 8275 0.2 %
Date: 2022-12-08 13:48:47 Functions: 1 1519 0.1 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* parser/listener/visitor header section */
       2             : 
       3             : // Generated from accparser.g4 by ANTLR 4.7.2
       4             : 
       5             : /* parser precinclude section */
       6             : 
       7             : #include "accparserListener.h"
       8             : #include "accparserVisitor.h"
       9             : 
      10             : #include "accparser.h"
      11             : 
      12             : 
      13             : /* parser postinclude section */
      14             : #ifndef _WIN32
      15             : #pragma GCC diagnostic ignored "-Wunused-parameter"
      16             : #endif
      17             : 
      18             : 
      19             : using namespace antlrcpp;
      20             : using namespace antlr4;
      21             : 
      22           0 : accparser::accparser(TokenStream *input) : Parser(input) {
      23           0 :   _interpreter = new atn::ParserATNSimulator(this, _atn, _decisionToDFA, _sharedContextCache);
      24           0 : }
      25             : 
      26           0 : accparser::~accparser() {
      27           0 :   delete _interpreter;
      28           0 : }
      29             : 
      30           0 : std::string accparser::getGrammarFileName() const {
      31           0 :   return "accparser.g4";
      32             : }
      33             : 
      34           0 : const std::vector<std::string>& accparser::getRuleNames() const {
      35           0 :   return _ruleNames;
      36             : }
      37             : 
      38           0 : dfa::Vocabulary& accparser::getVocabulary() const {
      39           0 :   return _vocabulary;
      40             : }
      41             : 
      42             : /* parser definitions section */
      43             : 
      44             : //----------------- AccContext ------------------------------------------------------------------
      45             : 
      46           0 : accparser::AccContext::AccContext(ParserRuleContext *parent, size_t invokingState)
      47           0 :   : ParserRuleContext(parent, invokingState) {
      48           0 : }
      49             : 
      50           0 : accparser::PrefixContext* accparser::AccContext::prefix() {
      51           0 :   return getRuleContext<accparser::PrefixContext>(0);
      52             : }
      53             : 
      54           0 : tree::TerminalNode* accparser::AccContext::ACC() {
      55           0 :   return getToken(accparser::ACC, 0);
      56             : }
      57             : 
      58           0 : accparser::Openacc_directiveContext* accparser::AccContext::openacc_directive() {
      59           0 :   return getRuleContext<accparser::Openacc_directiveContext>(0);
      60             : }
      61             : 
      62           0 : tree::TerminalNode* accparser::AccContext::EOF() {
      63           0 :   return getToken(accparser::EOF, 0);
      64             : }
      65             : 
      66             : 
      67           0 : size_t accparser::AccContext::getRuleIndex() const {
      68           0 :   return accparser::RuleAcc;
      69             : }
      70             : 
      71           0 : void accparser::AccContext::enterRule(tree::ParseTreeListener *listener) {
      72           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
      73           0 :   if (parserListener != nullptr)
      74           0 :     parserListener->enterAcc(this);
      75           0 : }
      76             : 
      77           0 : void accparser::AccContext::exitRule(tree::ParseTreeListener *listener) {
      78           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
      79           0 :   if (parserListener != nullptr)
      80           0 :     parserListener->exitAcc(this);
      81           0 : }
      82             : 
      83             : 
      84           0 : antlrcpp::Any accparser::AccContext::accept(tree::ParseTreeVisitor *visitor) {
      85           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
      86           0 :     return parserVisitor->visitAcc(this);
      87             :   else
      88           0 :     return visitor->visitChildren(this);
      89             : }
      90             : 
      91           0 : accparser::AccContext* accparser::acc() {
      92           0 :   AccContext *_localctx = _tracker.createInstance<AccContext>(_ctx, getState());
      93           0 :   enterRule(_localctx, 0, accparser::RuleAcc);
      94             : 
      95           0 :   auto onExit = finally([=] {
      96           0 :     exitRule();
      97           0 :   });
      98           0 :   try {
      99           0 :     enterOuterAlt(_localctx, 1);
     100           0 :     setState(306);
     101           0 :     prefix();
     102           0 :     setState(307);
     103           0 :     match(accparser::ACC);
     104           0 :     setState(308);
     105           0 :     openacc_directive();
     106           0 :     setState(309);
     107           0 :     match(accparser::EOF);
     108             :    
     109             :   }
     110           0 :   catch (RecognitionException &e) {
     111           0 :     _errHandler->reportError(this, e);
     112           0 :     _localctx->exception = std::current_exception();
     113           0 :     _errHandler->recover(this, _localctx->exception);
     114             :   }
     115             : 
     116           0 :   return _localctx;
     117             : }
     118             : 
     119             : //----------------- PrefixContext ------------------------------------------------------------------
     120             : 
     121           0 : accparser::PrefixContext::PrefixContext(ParserRuleContext *parent, size_t invokingState)
     122           0 :   : ParserRuleContext(parent, invokingState) {
     123           0 : }
     124             : 
     125           0 : accparser::C_prefixContext* accparser::PrefixContext::c_prefix() {
     126           0 :   return getRuleContext<accparser::C_prefixContext>(0);
     127             : }
     128             : 
     129           0 : accparser::Fortran_prefixContext* accparser::PrefixContext::fortran_prefix() {
     130           0 :   return getRuleContext<accparser::Fortran_prefixContext>(0);
     131             : }
     132             : 
     133             : 
     134           0 : size_t accparser::PrefixContext::getRuleIndex() const {
     135           0 :   return accparser::RulePrefix;
     136             : }
     137             : 
     138           0 : void accparser::PrefixContext::enterRule(tree::ParseTreeListener *listener) {
     139           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     140           0 :   if (parserListener != nullptr)
     141           0 :     parserListener->enterPrefix(this);
     142           0 : }
     143             : 
     144           0 : void accparser::PrefixContext::exitRule(tree::ParseTreeListener *listener) {
     145           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     146           0 :   if (parserListener != nullptr)
     147           0 :     parserListener->exitPrefix(this);
     148           0 : }
     149             : 
     150             : 
     151           0 : antlrcpp::Any accparser::PrefixContext::accept(tree::ParseTreeVisitor *visitor) {
     152           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     153           0 :     return parserVisitor->visitPrefix(this);
     154             :   else
     155           0 :     return visitor->visitChildren(this);
     156             : }
     157             : 
     158           0 : accparser::PrefixContext* accparser::prefix() {
     159           0 :   PrefixContext *_localctx = _tracker.createInstance<PrefixContext>(_ctx, getState());
     160           0 :   enterRule(_localctx, 2, accparser::RulePrefix);
     161             : 
     162           0 :   auto onExit = finally([=] {
     163           0 :     exitRule();
     164           0 :   });
     165           0 :   try {
     166           0 :     setState(313);
     167           0 :     _errHandler->sync(this);
     168           0 :     switch (_input->LA(1)) {
     169           0 :       case accparser::C_PREFIX: {
     170           0 :         enterOuterAlt(_localctx, 1);
     171           0 :         setState(311);
     172           0 :         c_prefix();
     173             :         break;
     174             :       }
     175             : 
     176           0 :       case accparser::FORTRAN_PREFIX: {
     177           0 :         enterOuterAlt(_localctx, 2);
     178           0 :         setState(312);
     179           0 :         fortran_prefix();
     180             :         break;
     181             :       }
     182             : 
     183           0 :     default:
     184           0 :       throw NoViableAltException(this);
     185             :     }
     186             :    
     187             :   }
     188           0 :   catch (RecognitionException &e) {
     189           0 :     _errHandler->reportError(this, e);
     190           0 :     _localctx->exception = std::current_exception();
     191           0 :     _errHandler->recover(this, _localctx->exception);
     192             :   }
     193             : 
     194           0 :   return _localctx;
     195             : }
     196             : 
     197             : //----------------- C_prefixContext ------------------------------------------------------------------
     198             : 
     199           0 : accparser::C_prefixContext::C_prefixContext(ParserRuleContext *parent, size_t invokingState)
     200           0 :   : ParserRuleContext(parent, invokingState) {
     201           0 : }
     202             : 
     203           0 : tree::TerminalNode* accparser::C_prefixContext::C_PREFIX() {
     204           0 :   return getToken(accparser::C_PREFIX, 0);
     205             : }
     206             : 
     207             : 
     208           0 : size_t accparser::C_prefixContext::getRuleIndex() const {
     209           0 :   return accparser::RuleC_prefix;
     210             : }
     211             : 
     212           0 : void accparser::C_prefixContext::enterRule(tree::ParseTreeListener *listener) {
     213           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     214           0 :   if (parserListener != nullptr)
     215           0 :     parserListener->enterC_prefix(this);
     216           0 : }
     217             : 
     218           0 : void accparser::C_prefixContext::exitRule(tree::ParseTreeListener *listener) {
     219           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     220           0 :   if (parserListener != nullptr)
     221           0 :     parserListener->exitC_prefix(this);
     222           0 : }
     223             : 
     224             : 
     225           0 : antlrcpp::Any accparser::C_prefixContext::accept(tree::ParseTreeVisitor *visitor) {
     226           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     227           0 :     return parserVisitor->visitC_prefix(this);
     228             :   else
     229           0 :     return visitor->visitChildren(this);
     230             : }
     231             : 
     232           0 : accparser::C_prefixContext* accparser::c_prefix() {
     233           0 :   C_prefixContext *_localctx = _tracker.createInstance<C_prefixContext>(_ctx, getState());
     234           0 :   enterRule(_localctx, 4, accparser::RuleC_prefix);
     235             : 
     236           0 :   auto onExit = finally([=] {
     237           0 :     exitRule();
     238           0 :   });
     239           0 :   try {
     240           0 :     enterOuterAlt(_localctx, 1);
     241           0 :     setState(315);
     242           0 :     match(accparser::C_PREFIX);
     243             :    
     244             :   }
     245           0 :   catch (RecognitionException &e) {
     246           0 :     _errHandler->reportError(this, e);
     247           0 :     _localctx->exception = std::current_exception();
     248           0 :     _errHandler->recover(this, _localctx->exception);
     249             :   }
     250             : 
     251           0 :   return _localctx;
     252             : }
     253             : 
     254             : //----------------- Fortran_prefixContext ------------------------------------------------------------------
     255             : 
     256           0 : accparser::Fortran_prefixContext::Fortran_prefixContext(ParserRuleContext *parent, size_t invokingState)
     257           0 :   : ParserRuleContext(parent, invokingState) {
     258           0 : }
     259             : 
     260           0 : tree::TerminalNode* accparser::Fortran_prefixContext::FORTRAN_PREFIX() {
     261           0 :   return getToken(accparser::FORTRAN_PREFIX, 0);
     262             : }
     263             : 
     264             : 
     265           0 : size_t accparser::Fortran_prefixContext::getRuleIndex() const {
     266           0 :   return accparser::RuleFortran_prefix;
     267             : }
     268             : 
     269           0 : void accparser::Fortran_prefixContext::enterRule(tree::ParseTreeListener *listener) {
     270           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     271           0 :   if (parserListener != nullptr)
     272           0 :     parserListener->enterFortran_prefix(this);
     273           0 : }
     274             : 
     275           0 : void accparser::Fortran_prefixContext::exitRule(tree::ParseTreeListener *listener) {
     276           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     277           0 :   if (parserListener != nullptr)
     278           0 :     parserListener->exitFortran_prefix(this);
     279           0 : }
     280             : 
     281             : 
     282           0 : antlrcpp::Any accparser::Fortran_prefixContext::accept(tree::ParseTreeVisitor *visitor) {
     283           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     284           0 :     return parserVisitor->visitFortran_prefix(this);
     285             :   else
     286           0 :     return visitor->visitChildren(this);
     287             : }
     288             : 
     289           0 : accparser::Fortran_prefixContext* accparser::fortran_prefix() {
     290           0 :   Fortran_prefixContext *_localctx = _tracker.createInstance<Fortran_prefixContext>(_ctx, getState());
     291           0 :   enterRule(_localctx, 6, accparser::RuleFortran_prefix);
     292             : 
     293           0 :   auto onExit = finally([=] {
     294           0 :     exitRule();
     295           0 :   });
     296           0 :   try {
     297           0 :     enterOuterAlt(_localctx, 1);
     298           0 :     setState(317);
     299           0 :     match(accparser::FORTRAN_PREFIX);
     300             :    
     301             :   }
     302           0 :   catch (RecognitionException &e) {
     303           0 :     _errHandler->reportError(this, e);
     304           0 :     _localctx->exception = std::current_exception();
     305           0 :     _errHandler->recover(this, _localctx->exception);
     306             :   }
     307             : 
     308           0 :   return _localctx;
     309             : }
     310             : 
     311             : //----------------- Openacc_directiveContext ------------------------------------------------------------------
     312             : 
     313           0 : accparser::Openacc_directiveContext::Openacc_directiveContext(ParserRuleContext *parent, size_t invokingState)
     314           0 :   : ParserRuleContext(parent, invokingState) {
     315           0 : }
     316             : 
     317           0 : accparser::Atomic_directiveContext* accparser::Openacc_directiveContext::atomic_directive() {
     318           0 :   return getRuleContext<accparser::Atomic_directiveContext>(0);
     319             : }
     320             : 
     321           0 : accparser::Cache_directiveContext* accparser::Openacc_directiveContext::cache_directive() {
     322           0 :   return getRuleContext<accparser::Cache_directiveContext>(0);
     323             : }
     324             : 
     325           0 : accparser::Data_directiveContext* accparser::Openacc_directiveContext::data_directive() {
     326           0 :   return getRuleContext<accparser::Data_directiveContext>(0);
     327             : }
     328             : 
     329           0 : accparser::Declare_directiveContext* accparser::Openacc_directiveContext::declare_directive() {
     330           0 :   return getRuleContext<accparser::Declare_directiveContext>(0);
     331             : }
     332             : 
     333           0 : accparser::End_directiveContext* accparser::Openacc_directiveContext::end_directive() {
     334           0 :   return getRuleContext<accparser::End_directiveContext>(0);
     335             : }
     336             : 
     337           0 : accparser::Enter_data_directiveContext* accparser::Openacc_directiveContext::enter_data_directive() {
     338           0 :   return getRuleContext<accparser::Enter_data_directiveContext>(0);
     339             : }
     340             : 
     341           0 : accparser::Exit_data_directiveContext* accparser::Openacc_directiveContext::exit_data_directive() {
     342           0 :   return getRuleContext<accparser::Exit_data_directiveContext>(0);
     343             : }
     344             : 
     345           0 : accparser::Host_data_directiveContext* accparser::Openacc_directiveContext::host_data_directive() {
     346           0 :   return getRuleContext<accparser::Host_data_directiveContext>(0);
     347             : }
     348             : 
     349           0 : accparser::Init_directiveContext* accparser::Openacc_directiveContext::init_directive() {
     350           0 :   return getRuleContext<accparser::Init_directiveContext>(0);
     351             : }
     352             : 
     353           0 : accparser::Kernels_directiveContext* accparser::Openacc_directiveContext::kernels_directive() {
     354           0 :   return getRuleContext<accparser::Kernels_directiveContext>(0);
     355             : }
     356             : 
     357           0 : accparser::Kernels_loop_directiveContext* accparser::Openacc_directiveContext::kernels_loop_directive() {
     358           0 :   return getRuleContext<accparser::Kernels_loop_directiveContext>(0);
     359             : }
     360             : 
     361           0 : accparser::Loop_directiveContext* accparser::Openacc_directiveContext::loop_directive() {
     362           0 :   return getRuleContext<accparser::Loop_directiveContext>(0);
     363             : }
     364             : 
     365           0 : accparser::Parallel_directiveContext* accparser::Openacc_directiveContext::parallel_directive() {
     366           0 :   return getRuleContext<accparser::Parallel_directiveContext>(0);
     367             : }
     368             : 
     369           0 : accparser::Parallel_loop_directiveContext* accparser::Openacc_directiveContext::parallel_loop_directive() {
     370           0 :   return getRuleContext<accparser::Parallel_loop_directiveContext>(0);
     371             : }
     372             : 
     373           0 : accparser::Routine_directiveContext* accparser::Openacc_directiveContext::routine_directive() {
     374           0 :   return getRuleContext<accparser::Routine_directiveContext>(0);
     375             : }
     376             : 
     377           0 : accparser::Serial_directiveContext* accparser::Openacc_directiveContext::serial_directive() {
     378           0 :   return getRuleContext<accparser::Serial_directiveContext>(0);
     379             : }
     380             : 
     381           0 : accparser::Serial_loop_directiveContext* accparser::Openacc_directiveContext::serial_loop_directive() {
     382           0 :   return getRuleContext<accparser::Serial_loop_directiveContext>(0);
     383             : }
     384             : 
     385           0 : accparser::Set_directiveContext* accparser::Openacc_directiveContext::set_directive() {
     386           0 :   return getRuleContext<accparser::Set_directiveContext>(0);
     387             : }
     388             : 
     389           0 : accparser::Shutdown_directiveContext* accparser::Openacc_directiveContext::shutdown_directive() {
     390           0 :   return getRuleContext<accparser::Shutdown_directiveContext>(0);
     391             : }
     392             : 
     393           0 : accparser::Update_directiveContext* accparser::Openacc_directiveContext::update_directive() {
     394           0 :   return getRuleContext<accparser::Update_directiveContext>(0);
     395             : }
     396             : 
     397           0 : accparser::Wait_directiveContext* accparser::Openacc_directiveContext::wait_directive() {
     398           0 :   return getRuleContext<accparser::Wait_directiveContext>(0);
     399             : }
     400             : 
     401             : 
     402           0 : size_t accparser::Openacc_directiveContext::getRuleIndex() const {
     403           0 :   return accparser::RuleOpenacc_directive;
     404             : }
     405             : 
     406           0 : void accparser::Openacc_directiveContext::enterRule(tree::ParseTreeListener *listener) {
     407           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     408           0 :   if (parserListener != nullptr)
     409           0 :     parserListener->enterOpenacc_directive(this);
     410           0 : }
     411             : 
     412           0 : void accparser::Openacc_directiveContext::exitRule(tree::ParseTreeListener *listener) {
     413           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     414           0 :   if (parserListener != nullptr)
     415           0 :     parserListener->exitOpenacc_directive(this);
     416           0 : }
     417             : 
     418             : 
     419           0 : antlrcpp::Any accparser::Openacc_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
     420           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     421           0 :     return parserVisitor->visitOpenacc_directive(this);
     422             :   else
     423           0 :     return visitor->visitChildren(this);
     424             : }
     425             : 
     426           0 : accparser::Openacc_directiveContext* accparser::openacc_directive() {
     427           0 :   Openacc_directiveContext *_localctx = _tracker.createInstance<Openacc_directiveContext>(_ctx, getState());
     428           0 :   enterRule(_localctx, 8, accparser::RuleOpenacc_directive);
     429             : 
     430           0 :   auto onExit = finally([=] {
     431           0 :     exitRule();
     432           0 :   });
     433           0 :   try {
     434           0 :     setState(340);
     435           0 :     _errHandler->sync(this);
     436           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 1, _ctx)) {
     437           0 :     case 1: {
     438           0 :       enterOuterAlt(_localctx, 1);
     439           0 :       setState(319);
     440           0 :       atomic_directive();
     441             :       break;
     442             :     }
     443             : 
     444           0 :     case 2: {
     445           0 :       enterOuterAlt(_localctx, 2);
     446           0 :       setState(320);
     447           0 :       cache_directive();
     448             :       break;
     449             :     }
     450             : 
     451           0 :     case 3: {
     452           0 :       enterOuterAlt(_localctx, 3);
     453           0 :       setState(321);
     454           0 :       data_directive();
     455             :       break;
     456             :     }
     457             : 
     458           0 :     case 4: {
     459           0 :       enterOuterAlt(_localctx, 4);
     460           0 :       setState(322);
     461           0 :       declare_directive();
     462             :       break;
     463             :     }
     464             : 
     465           0 :     case 5: {
     466           0 :       enterOuterAlt(_localctx, 5);
     467           0 :       setState(323);
     468           0 :       end_directive();
     469             :       break;
     470             :     }
     471             : 
     472           0 :     case 6: {
     473           0 :       enterOuterAlt(_localctx, 6);
     474           0 :       setState(324);
     475           0 :       enter_data_directive();
     476             :       break;
     477             :     }
     478             : 
     479           0 :     case 7: {
     480           0 :       enterOuterAlt(_localctx, 7);
     481           0 :       setState(325);
     482           0 :       exit_data_directive();
     483             :       break;
     484             :     }
     485             : 
     486           0 :     case 8: {
     487           0 :       enterOuterAlt(_localctx, 8);
     488           0 :       setState(326);
     489           0 :       host_data_directive();
     490             :       break;
     491             :     }
     492             : 
     493           0 :     case 9: {
     494           0 :       enterOuterAlt(_localctx, 9);
     495           0 :       setState(327);
     496           0 :       init_directive();
     497             :       break;
     498             :     }
     499             : 
     500           0 :     case 10: {
     501           0 :       enterOuterAlt(_localctx, 10);
     502           0 :       setState(328);
     503           0 :       kernels_directive();
     504             :       break;
     505             :     }
     506             : 
     507           0 :     case 11: {
     508           0 :       enterOuterAlt(_localctx, 11);
     509           0 :       setState(329);
     510           0 :       kernels_loop_directive();
     511             :       break;
     512             :     }
     513             : 
     514           0 :     case 12: {
     515           0 :       enterOuterAlt(_localctx, 12);
     516           0 :       setState(330);
     517           0 :       loop_directive();
     518             :       break;
     519             :     }
     520             : 
     521           0 :     case 13: {
     522           0 :       enterOuterAlt(_localctx, 13);
     523           0 :       setState(331);
     524           0 :       parallel_directive();
     525             :       break;
     526             :     }
     527             : 
     528           0 :     case 14: {
     529           0 :       enterOuterAlt(_localctx, 14);
     530           0 :       setState(332);
     531           0 :       parallel_loop_directive();
     532             :       break;
     533             :     }
     534             : 
     535           0 :     case 15: {
     536           0 :       enterOuterAlt(_localctx, 15);
     537           0 :       setState(333);
     538           0 :       routine_directive();
     539             :       break;
     540             :     }
     541             : 
     542           0 :     case 16: {
     543           0 :       enterOuterAlt(_localctx, 16);
     544           0 :       setState(334);
     545           0 :       serial_directive();
     546             :       break;
     547             :     }
     548             : 
     549           0 :     case 17: {
     550           0 :       enterOuterAlt(_localctx, 17);
     551           0 :       setState(335);
     552           0 :       serial_loop_directive();
     553             :       break;
     554             :     }
     555             : 
     556           0 :     case 18: {
     557           0 :       enterOuterAlt(_localctx, 18);
     558           0 :       setState(336);
     559           0 :       set_directive();
     560             :       break;
     561             :     }
     562             : 
     563           0 :     case 19: {
     564           0 :       enterOuterAlt(_localctx, 19);
     565           0 :       setState(337);
     566           0 :       shutdown_directive();
     567             :       break;
     568             :     }
     569             : 
     570           0 :     case 20: {
     571           0 :       enterOuterAlt(_localctx, 20);
     572           0 :       setState(338);
     573           0 :       update_directive();
     574             :       break;
     575             :     }
     576             : 
     577           0 :     case 21: {
     578           0 :       enterOuterAlt(_localctx, 21);
     579           0 :       setState(339);
     580           0 :       wait_directive();
     581             :       break;
     582             :     }
     583             : 
     584             :     }
     585             :    
     586             :   }
     587           0 :   catch (RecognitionException &e) {
     588           0 :     _errHandler->reportError(this, e);
     589           0 :     _localctx->exception = std::current_exception();
     590           0 :     _errHandler->recover(this, _localctx->exception);
     591             :   }
     592             : 
     593           0 :   return _localctx;
     594             : }
     595             : 
     596             : //----------------- Atomic_directiveContext ------------------------------------------------------------------
     597             : 
     598           0 : accparser::Atomic_directiveContext::Atomic_directiveContext(ParserRuleContext *parent, size_t invokingState)
     599           0 :   : ParserRuleContext(parent, invokingState) {
     600           0 : }
     601             : 
     602           0 : tree::TerminalNode* accparser::Atomic_directiveContext::ATOMIC() {
     603           0 :   return getToken(accparser::ATOMIC, 0);
     604             : }
     605             : 
     606           0 : accparser::Atomic_clauseContext* accparser::Atomic_directiveContext::atomic_clause() {
     607           0 :   return getRuleContext<accparser::Atomic_clauseContext>(0);
     608             : }
     609             : 
     610             : 
     611           0 : size_t accparser::Atomic_directiveContext::getRuleIndex() const {
     612           0 :   return accparser::RuleAtomic_directive;
     613             : }
     614             : 
     615           0 : void accparser::Atomic_directiveContext::enterRule(tree::ParseTreeListener *listener) {
     616           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     617           0 :   if (parserListener != nullptr)
     618           0 :     parserListener->enterAtomic_directive(this);
     619           0 : }
     620             : 
     621           0 : void accparser::Atomic_directiveContext::exitRule(tree::ParseTreeListener *listener) {
     622           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     623           0 :   if (parserListener != nullptr)
     624           0 :     parserListener->exitAtomic_directive(this);
     625           0 : }
     626             : 
     627             : 
     628           0 : antlrcpp::Any accparser::Atomic_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
     629           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     630           0 :     return parserVisitor->visitAtomic_directive(this);
     631             :   else
     632           0 :     return visitor->visitChildren(this);
     633             : }
     634             : 
     635           0 : accparser::Atomic_directiveContext* accparser::atomic_directive() {
     636           0 :   Atomic_directiveContext *_localctx = _tracker.createInstance<Atomic_directiveContext>(_ctx, getState());
     637           0 :   enterRule(_localctx, 10, accparser::RuleAtomic_directive);
     638             : 
     639           0 :   auto onExit = finally([=] {
     640           0 :     exitRule();
     641           0 :   });
     642           0 :   try {
     643           0 :     setState(345);
     644           0 :     _errHandler->sync(this);
     645           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 2, _ctx)) {
     646           0 :     case 1: {
     647           0 :       enterOuterAlt(_localctx, 1);
     648           0 :       setState(342);
     649           0 :       match(accparser::ATOMIC);
     650             :       break;
     651             :     }
     652             : 
     653           0 :     case 2: {
     654           0 :       enterOuterAlt(_localctx, 2);
     655           0 :       setState(343);
     656           0 :       match(accparser::ATOMIC);
     657           0 :       setState(344);
     658           0 :       atomic_clause();
     659             :       break;
     660             :     }
     661             : 
     662             :     }
     663             :    
     664             :   }
     665           0 :   catch (RecognitionException &e) {
     666           0 :     _errHandler->reportError(this, e);
     667           0 :     _localctx->exception = std::current_exception();
     668           0 :     _errHandler->recover(this, _localctx->exception);
     669             :   }
     670             : 
     671           0 :   return _localctx;
     672             : }
     673             : 
     674             : //----------------- Atomic_clauseContext ------------------------------------------------------------------
     675             : 
     676           0 : accparser::Atomic_clauseContext::Atomic_clauseContext(ParserRuleContext *parent, size_t invokingState)
     677           0 :   : ParserRuleContext(parent, invokingState) {
     678           0 : }
     679             : 
     680           0 : accparser::Capture_clauseContext* accparser::Atomic_clauseContext::capture_clause() {
     681           0 :   return getRuleContext<accparser::Capture_clauseContext>(0);
     682             : }
     683             : 
     684           0 : accparser::Read_clauseContext* accparser::Atomic_clauseContext::read_clause() {
     685           0 :   return getRuleContext<accparser::Read_clauseContext>(0);
     686             : }
     687             : 
     688           0 : accparser::Update_clauseContext* accparser::Atomic_clauseContext::update_clause() {
     689           0 :   return getRuleContext<accparser::Update_clauseContext>(0);
     690             : }
     691             : 
     692           0 : accparser::Write_clauseContext* accparser::Atomic_clauseContext::write_clause() {
     693           0 :   return getRuleContext<accparser::Write_clauseContext>(0);
     694             : }
     695             : 
     696             : 
     697           0 : size_t accparser::Atomic_clauseContext::getRuleIndex() const {
     698           0 :   return accparser::RuleAtomic_clause;
     699             : }
     700             : 
     701           0 : void accparser::Atomic_clauseContext::enterRule(tree::ParseTreeListener *listener) {
     702           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     703           0 :   if (parserListener != nullptr)
     704           0 :     parserListener->enterAtomic_clause(this);
     705           0 : }
     706             : 
     707           0 : void accparser::Atomic_clauseContext::exitRule(tree::ParseTreeListener *listener) {
     708           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     709           0 :   if (parserListener != nullptr)
     710           0 :     parserListener->exitAtomic_clause(this);
     711           0 : }
     712             : 
     713             : 
     714           0 : antlrcpp::Any accparser::Atomic_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
     715           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     716           0 :     return parserVisitor->visitAtomic_clause(this);
     717             :   else
     718           0 :     return visitor->visitChildren(this);
     719             : }
     720             : 
     721           0 : accparser::Atomic_clauseContext* accparser::atomic_clause() {
     722           0 :   Atomic_clauseContext *_localctx = _tracker.createInstance<Atomic_clauseContext>(_ctx, getState());
     723           0 :   enterRule(_localctx, 12, accparser::RuleAtomic_clause);
     724             : 
     725           0 :   auto onExit = finally([=] {
     726           0 :     exitRule();
     727           0 :   });
     728           0 :   try {
     729           0 :     setState(351);
     730           0 :     _errHandler->sync(this);
     731           0 :     switch (_input->LA(1)) {
     732           0 :       case accparser::CAPTURE: {
     733           0 :         enterOuterAlt(_localctx, 1);
     734           0 :         setState(347);
     735           0 :         capture_clause();
     736             :         break;
     737             :       }
     738             : 
     739           0 :       case accparser::READ: {
     740           0 :         enterOuterAlt(_localctx, 2);
     741           0 :         setState(348);
     742           0 :         read_clause();
     743             :         break;
     744             :       }
     745             : 
     746           0 :       case accparser::UPDATE: {
     747           0 :         enterOuterAlt(_localctx, 3);
     748           0 :         setState(349);
     749           0 :         update_clause();
     750             :         break;
     751             :       }
     752             : 
     753           0 :       case accparser::WRITE: {
     754           0 :         enterOuterAlt(_localctx, 4);
     755           0 :         setState(350);
     756           0 :         write_clause();
     757             :         break;
     758             :       }
     759             : 
     760           0 :     default:
     761           0 :       throw NoViableAltException(this);
     762             :     }
     763             :    
     764             :   }
     765           0 :   catch (RecognitionException &e) {
     766           0 :     _errHandler->reportError(this, e);
     767           0 :     _localctx->exception = std::current_exception();
     768           0 :     _errHandler->recover(this, _localctx->exception);
     769             :   }
     770             : 
     771           0 :   return _localctx;
     772             : }
     773             : 
     774             : //----------------- Cache_directiveContext ------------------------------------------------------------------
     775             : 
     776           0 : accparser::Cache_directiveContext::Cache_directiveContext(ParserRuleContext *parent, size_t invokingState)
     777           0 :   : ParserRuleContext(parent, invokingState) {
     778           0 : }
     779             : 
     780           0 : tree::TerminalNode* accparser::Cache_directiveContext::CACHE() {
     781           0 :   return getToken(accparser::CACHE, 0);
     782             : }
     783             : 
     784           0 : tree::TerminalNode* accparser::Cache_directiveContext::LEFT_PAREN() {
     785           0 :   return getToken(accparser::LEFT_PAREN, 0);
     786             : }
     787             : 
     788           0 : accparser::Var_listContext* accparser::Cache_directiveContext::var_list() {
     789           0 :   return getRuleContext<accparser::Var_listContext>(0);
     790             : }
     791             : 
     792           0 : tree::TerminalNode* accparser::Cache_directiveContext::RIGHT_PAREN() {
     793           0 :   return getToken(accparser::RIGHT_PAREN, 0);
     794             : }
     795             : 
     796           0 : accparser::Cache_directive_modifierContext* accparser::Cache_directiveContext::cache_directive_modifier() {
     797           0 :   return getRuleContext<accparser::Cache_directive_modifierContext>(0);
     798             : }
     799             : 
     800           0 : tree::TerminalNode* accparser::Cache_directiveContext::COLON() {
     801           0 :   return getToken(accparser::COLON, 0);
     802             : }
     803             : 
     804             : 
     805           0 : size_t accparser::Cache_directiveContext::getRuleIndex() const {
     806           0 :   return accparser::RuleCache_directive;
     807             : }
     808             : 
     809           0 : void accparser::Cache_directiveContext::enterRule(tree::ParseTreeListener *listener) {
     810           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     811           0 :   if (parserListener != nullptr)
     812           0 :     parserListener->enterCache_directive(this);
     813           0 : }
     814             : 
     815           0 : void accparser::Cache_directiveContext::exitRule(tree::ParseTreeListener *listener) {
     816           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     817           0 :   if (parserListener != nullptr)
     818           0 :     parserListener->exitCache_directive(this);
     819           0 : }
     820             : 
     821             : 
     822           0 : antlrcpp::Any accparser::Cache_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
     823           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     824           0 :     return parserVisitor->visitCache_directive(this);
     825             :   else
     826           0 :     return visitor->visitChildren(this);
     827             : }
     828             : 
     829           0 : accparser::Cache_directiveContext* accparser::cache_directive() {
     830           0 :   Cache_directiveContext *_localctx = _tracker.createInstance<Cache_directiveContext>(_ctx, getState());
     831           0 :   enterRule(_localctx, 14, accparser::RuleCache_directive);
     832             : 
     833           0 :   auto onExit = finally([=] {
     834           0 :     exitRule();
     835           0 :   });
     836           0 :   try {
     837           0 :     setState(365);
     838           0 :     _errHandler->sync(this);
     839           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 4, _ctx)) {
     840           0 :     case 1: {
     841           0 :       enterOuterAlt(_localctx, 1);
     842           0 :       setState(353);
     843           0 :       match(accparser::CACHE);
     844           0 :       setState(354);
     845           0 :       match(accparser::LEFT_PAREN);
     846           0 :       setState(355);
     847           0 :       var_list();
     848           0 :       setState(356);
     849           0 :       match(accparser::RIGHT_PAREN);
     850             :       break;
     851             :     }
     852             : 
     853           0 :     case 2: {
     854           0 :       enterOuterAlt(_localctx, 2);
     855           0 :       setState(358);
     856           0 :       match(accparser::CACHE);
     857           0 :       setState(359);
     858           0 :       match(accparser::LEFT_PAREN);
     859           0 :       setState(360);
     860           0 :       cache_directive_modifier();
     861           0 :       setState(361);
     862           0 :       match(accparser::COLON);
     863           0 :       setState(362);
     864           0 :       var_list();
     865           0 :       setState(363);
     866           0 :       match(accparser::RIGHT_PAREN);
     867             :       break;
     868             :     }
     869             : 
     870             :     }
     871             :    
     872             :   }
     873           0 :   catch (RecognitionException &e) {
     874           0 :     _errHandler->reportError(this, e);
     875           0 :     _localctx->exception = std::current_exception();
     876           0 :     _errHandler->recover(this, _localctx->exception);
     877             :   }
     878             : 
     879           0 :   return _localctx;
     880             : }
     881             : 
     882             : //----------------- Cache_directive_modifierContext ------------------------------------------------------------------
     883             : 
     884           0 : accparser::Cache_directive_modifierContext::Cache_directive_modifierContext(ParserRuleContext *parent, size_t invokingState)
     885           0 :   : ParserRuleContext(parent, invokingState) {
     886           0 : }
     887             : 
     888           0 : tree::TerminalNode* accparser::Cache_directive_modifierContext::READONLY() {
     889           0 :   return getToken(accparser::READONLY, 0);
     890             : }
     891             : 
     892             : 
     893           0 : size_t accparser::Cache_directive_modifierContext::getRuleIndex() const {
     894           0 :   return accparser::RuleCache_directive_modifier;
     895             : }
     896             : 
     897           0 : void accparser::Cache_directive_modifierContext::enterRule(tree::ParseTreeListener *listener) {
     898           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     899           0 :   if (parserListener != nullptr)
     900           0 :     parserListener->enterCache_directive_modifier(this);
     901           0 : }
     902             : 
     903           0 : void accparser::Cache_directive_modifierContext::exitRule(tree::ParseTreeListener *listener) {
     904           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     905           0 :   if (parserListener != nullptr)
     906           0 :     parserListener->exitCache_directive_modifier(this);
     907           0 : }
     908             : 
     909             : 
     910           0 : antlrcpp::Any accparser::Cache_directive_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
     911           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     912           0 :     return parserVisitor->visitCache_directive_modifier(this);
     913             :   else
     914           0 :     return visitor->visitChildren(this);
     915             : }
     916             : 
     917           0 : accparser::Cache_directive_modifierContext* accparser::cache_directive_modifier() {
     918           0 :   Cache_directive_modifierContext *_localctx = _tracker.createInstance<Cache_directive_modifierContext>(_ctx, getState());
     919           0 :   enterRule(_localctx, 16, accparser::RuleCache_directive_modifier);
     920             : 
     921           0 :   auto onExit = finally([=] {
     922           0 :     exitRule();
     923           0 :   });
     924           0 :   try {
     925           0 :     enterOuterAlt(_localctx, 1);
     926           0 :     setState(367);
     927           0 :     match(accparser::READONLY);
     928             :    
     929             :   }
     930           0 :   catch (RecognitionException &e) {
     931           0 :     _errHandler->reportError(this, e);
     932           0 :     _localctx->exception = std::current_exception();
     933           0 :     _errHandler->recover(this, _localctx->exception);
     934             :   }
     935             : 
     936           0 :   return _localctx;
     937             : }
     938             : 
     939             : //----------------- Data_directiveContext ------------------------------------------------------------------
     940             : 
     941           0 : accparser::Data_directiveContext::Data_directiveContext(ParserRuleContext *parent, size_t invokingState)
     942           0 :   : ParserRuleContext(parent, invokingState) {
     943           0 : }
     944             : 
     945           0 : tree::TerminalNode* accparser::Data_directiveContext::DATA() {
     946           0 :   return getToken(accparser::DATA, 0);
     947             : }
     948             : 
     949           0 : accparser::Data_clause_listContext* accparser::Data_directiveContext::data_clause_list() {
     950           0 :   return getRuleContext<accparser::Data_clause_listContext>(0);
     951             : }
     952             : 
     953             : 
     954           0 : size_t accparser::Data_directiveContext::getRuleIndex() const {
     955           0 :   return accparser::RuleData_directive;
     956             : }
     957             : 
     958           0 : void accparser::Data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
     959           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     960           0 :   if (parserListener != nullptr)
     961           0 :     parserListener->enterData_directive(this);
     962           0 : }
     963             : 
     964           0 : void accparser::Data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
     965           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
     966           0 :   if (parserListener != nullptr)
     967           0 :     parserListener->exitData_directive(this);
     968           0 : }
     969             : 
     970             : 
     971           0 : antlrcpp::Any accparser::Data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
     972           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
     973           0 :     return parserVisitor->visitData_directive(this);
     974             :   else
     975           0 :     return visitor->visitChildren(this);
     976             : }
     977             : 
     978           0 : accparser::Data_directiveContext* accparser::data_directive() {
     979           0 :   Data_directiveContext *_localctx = _tracker.createInstance<Data_directiveContext>(_ctx, getState());
     980           0 :   enterRule(_localctx, 18, accparser::RuleData_directive);
     981             : 
     982           0 :   auto onExit = finally([=] {
     983           0 :     exitRule();
     984           0 :   });
     985           0 :   try {
     986           0 :     enterOuterAlt(_localctx, 1);
     987           0 :     setState(369);
     988           0 :     match(accparser::DATA);
     989           0 :     setState(370);
     990           0 :     data_clause_list();
     991             :    
     992             :   }
     993           0 :   catch (RecognitionException &e) {
     994           0 :     _errHandler->reportError(this, e);
     995           0 :     _localctx->exception = std::current_exception();
     996           0 :     _errHandler->recover(this, _localctx->exception);
     997             :   }
     998             : 
     999           0 :   return _localctx;
    1000             : }
    1001             : 
    1002             : //----------------- Data_clause_listContext ------------------------------------------------------------------
    1003             : 
    1004           0 : accparser::Data_clause_listContext::Data_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    1005           0 :   : ParserRuleContext(parent, invokingState) {
    1006           0 : }
    1007             : 
    1008           0 : std::vector<accparser::Data_clausesContext *> accparser::Data_clause_listContext::data_clauses() {
    1009           0 :   return getRuleContexts<accparser::Data_clausesContext>();
    1010             : }
    1011             : 
    1012           0 : accparser::Data_clausesContext* accparser::Data_clause_listContext::data_clauses(size_t i) {
    1013           0 :   return getRuleContext<accparser::Data_clausesContext>(i);
    1014             : }
    1015             : 
    1016             : 
    1017           0 : size_t accparser::Data_clause_listContext::getRuleIndex() const {
    1018           0 :   return accparser::RuleData_clause_list;
    1019             : }
    1020             : 
    1021           0 : void accparser::Data_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    1022           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1023           0 :   if (parserListener != nullptr)
    1024           0 :     parserListener->enterData_clause_list(this);
    1025           0 : }
    1026             : 
    1027           0 : void accparser::Data_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    1028           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1029           0 :   if (parserListener != nullptr)
    1030           0 :     parserListener->exitData_clause_list(this);
    1031           0 : }
    1032             : 
    1033             : 
    1034           0 : antlrcpp::Any accparser::Data_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    1035           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1036           0 :     return parserVisitor->visitData_clause_list(this);
    1037             :   else
    1038           0 :     return visitor->visitChildren(this);
    1039             : }
    1040             : 
    1041           0 : accparser::Data_clause_listContext* accparser::data_clause_list() {
    1042           0 :   Data_clause_listContext *_localctx = _tracker.createInstance<Data_clause_listContext>(_ctx, getState());
    1043           0 :   enterRule(_localctx, 20, accparser::RuleData_clause_list);
    1044           0 :   size_t _la = 0;
    1045             : 
    1046           0 :   auto onExit = finally([=] {
    1047           0 :     exitRule();
    1048           0 :   });
    1049           0 :   try {
    1050           0 :     enterOuterAlt(_localctx, 1);
    1051           0 :     setState(375);
    1052           0 :     _errHandler->sync(this);
    1053           0 :     _la = _input->LA(1);
    1054           0 :     while ((((_la & ~ 0x3fULL) == 0) &&
    1055             :       ((1ULL << _la) & ((1ULL << accparser::ATTACH)
    1056             :       | (1ULL << accparser::COPY)
    1057             :       | (1ULL << accparser::COPYIN)
    1058             :       | (1ULL << accparser::COPYOUT)
    1059             :       | (1ULL << accparser::CREATE)
    1060             :       | (1ULL << accparser::DEFAULT)
    1061             :       | (1ULL << accparser::DEVICEPTR)
    1062             :       | (1ULL << accparser::IF)
    1063             :       | (1ULL << accparser::NO_CREATE)
    1064           0 :       | (1ULL << accparser::PRESENT))) != 0)) {
    1065           0 :       setState(372);
    1066           0 :       data_clauses();
    1067           0 :       setState(377);
    1068           0 :       _errHandler->sync(this);
    1069           0 :       _la = _input->LA(1);
    1070             :     }
    1071             :    
    1072             :   }
    1073           0 :   catch (RecognitionException &e) {
    1074           0 :     _errHandler->reportError(this, e);
    1075           0 :     _localctx->exception = std::current_exception();
    1076           0 :     _errHandler->recover(this, _localctx->exception);
    1077             :   }
    1078             : 
    1079           0 :   return _localctx;
    1080             : }
    1081             : 
    1082             : //----------------- Data_clausesContext ------------------------------------------------------------------
    1083             : 
    1084           0 : accparser::Data_clausesContext::Data_clausesContext(ParserRuleContext *parent, size_t invokingState)
    1085           0 :   : ParserRuleContext(parent, invokingState) {
    1086           0 : }
    1087             : 
    1088           0 : accparser::Attach_clauseContext* accparser::Data_clausesContext::attach_clause() {
    1089           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    1090             : }
    1091             : 
    1092           0 : accparser::Copy_clauseContext* accparser::Data_clausesContext::copy_clause() {
    1093           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    1094             : }
    1095             : 
    1096           0 : accparser::Copyin_clauseContext* accparser::Data_clausesContext::copyin_clause() {
    1097           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    1098             : }
    1099             : 
    1100           0 : accparser::Copyout_clauseContext* accparser::Data_clausesContext::copyout_clause() {
    1101           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    1102             : }
    1103             : 
    1104           0 : accparser::Create_clauseContext* accparser::Data_clausesContext::create_clause() {
    1105           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    1106             : }
    1107             : 
    1108           0 : accparser::Default_clauseContext* accparser::Data_clausesContext::default_clause() {
    1109           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    1110             : }
    1111             : 
    1112           0 : accparser::Deviceptr_clauseContext* accparser::Data_clausesContext::deviceptr_clause() {
    1113           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    1114             : }
    1115             : 
    1116           0 : accparser::If_clauseContext* accparser::Data_clausesContext::if_clause() {
    1117           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    1118             : }
    1119             : 
    1120           0 : accparser::No_create_clauseContext* accparser::Data_clausesContext::no_create_clause() {
    1121           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    1122             : }
    1123             : 
    1124           0 : accparser::Present_clauseContext* accparser::Data_clausesContext::present_clause() {
    1125           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    1126             : }
    1127             : 
    1128             : 
    1129           0 : size_t accparser::Data_clausesContext::getRuleIndex() const {
    1130           0 :   return accparser::RuleData_clauses;
    1131             : }
    1132             : 
    1133           0 : void accparser::Data_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    1134           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1135           0 :   if (parserListener != nullptr)
    1136           0 :     parserListener->enterData_clauses(this);
    1137           0 : }
    1138             : 
    1139           0 : void accparser::Data_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    1140           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1141           0 :   if (parserListener != nullptr)
    1142           0 :     parserListener->exitData_clauses(this);
    1143           0 : }
    1144             : 
    1145             : 
    1146           0 : antlrcpp::Any accparser::Data_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    1147           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1148           0 :     return parserVisitor->visitData_clauses(this);
    1149             :   else
    1150           0 :     return visitor->visitChildren(this);
    1151             : }
    1152             : 
    1153           0 : accparser::Data_clausesContext* accparser::data_clauses() {
    1154           0 :   Data_clausesContext *_localctx = _tracker.createInstance<Data_clausesContext>(_ctx, getState());
    1155           0 :   enterRule(_localctx, 22, accparser::RuleData_clauses);
    1156             : 
    1157           0 :   auto onExit = finally([=] {
    1158           0 :     exitRule();
    1159           0 :   });
    1160           0 :   try {
    1161           0 :     setState(388);
    1162           0 :     _errHandler->sync(this);
    1163           0 :     switch (_input->LA(1)) {
    1164           0 :       case accparser::ATTACH: {
    1165           0 :         enterOuterAlt(_localctx, 1);
    1166           0 :         setState(378);
    1167           0 :         attach_clause();
    1168             :         break;
    1169             :       }
    1170             : 
    1171           0 :       case accparser::COPY: {
    1172           0 :         enterOuterAlt(_localctx, 2);
    1173           0 :         setState(379);
    1174           0 :         copy_clause();
    1175             :         break;
    1176             :       }
    1177             : 
    1178           0 :       case accparser::COPYIN: {
    1179           0 :         enterOuterAlt(_localctx, 3);
    1180           0 :         setState(380);
    1181           0 :         copyin_clause();
    1182             :         break;
    1183             :       }
    1184             : 
    1185           0 :       case accparser::COPYOUT: {
    1186           0 :         enterOuterAlt(_localctx, 4);
    1187           0 :         setState(381);
    1188           0 :         copyout_clause();
    1189             :         break;
    1190             :       }
    1191             : 
    1192           0 :       case accparser::CREATE: {
    1193           0 :         enterOuterAlt(_localctx, 5);
    1194           0 :         setState(382);
    1195           0 :         create_clause();
    1196             :         break;
    1197             :       }
    1198             : 
    1199           0 :       case accparser::DEFAULT: {
    1200           0 :         enterOuterAlt(_localctx, 6);
    1201           0 :         setState(383);
    1202           0 :         default_clause();
    1203             :         break;
    1204             :       }
    1205             : 
    1206           0 :       case accparser::DEVICEPTR: {
    1207           0 :         enterOuterAlt(_localctx, 7);
    1208           0 :         setState(384);
    1209           0 :         deviceptr_clause();
    1210             :         break;
    1211             :       }
    1212             : 
    1213           0 :       case accparser::IF: {
    1214           0 :         enterOuterAlt(_localctx, 8);
    1215           0 :         setState(385);
    1216           0 :         if_clause();
    1217             :         break;
    1218             :       }
    1219             : 
    1220           0 :       case accparser::NO_CREATE: {
    1221           0 :         enterOuterAlt(_localctx, 9);
    1222           0 :         setState(386);
    1223           0 :         no_create_clause();
    1224             :         break;
    1225             :       }
    1226             : 
    1227           0 :       case accparser::PRESENT: {
    1228           0 :         enterOuterAlt(_localctx, 10);
    1229           0 :         setState(387);
    1230           0 :         present_clause();
    1231             :         break;
    1232             :       }
    1233             : 
    1234           0 :     default:
    1235           0 :       throw NoViableAltException(this);
    1236             :     }
    1237             :    
    1238             :   }
    1239           0 :   catch (RecognitionException &e) {
    1240           0 :     _errHandler->reportError(this, e);
    1241           0 :     _localctx->exception = std::current_exception();
    1242           0 :     _errHandler->recover(this, _localctx->exception);
    1243             :   }
    1244             : 
    1245           0 :   return _localctx;
    1246             : }
    1247             : 
    1248             : //----------------- Declare_directiveContext ------------------------------------------------------------------
    1249             : 
    1250           0 : accparser::Declare_directiveContext::Declare_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1251           0 :   : ParserRuleContext(parent, invokingState) {
    1252           0 : }
    1253             : 
    1254           0 : tree::TerminalNode* accparser::Declare_directiveContext::DECLARE() {
    1255           0 :   return getToken(accparser::DECLARE, 0);
    1256             : }
    1257             : 
    1258           0 : accparser::Declare_clause_listContext* accparser::Declare_directiveContext::declare_clause_list() {
    1259           0 :   return getRuleContext<accparser::Declare_clause_listContext>(0);
    1260             : }
    1261             : 
    1262             : 
    1263           0 : size_t accparser::Declare_directiveContext::getRuleIndex() const {
    1264           0 :   return accparser::RuleDeclare_directive;
    1265             : }
    1266             : 
    1267           0 : void accparser::Declare_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1268           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1269           0 :   if (parserListener != nullptr)
    1270           0 :     parserListener->enterDeclare_directive(this);
    1271           0 : }
    1272             : 
    1273           0 : void accparser::Declare_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1274           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1275           0 :   if (parserListener != nullptr)
    1276           0 :     parserListener->exitDeclare_directive(this);
    1277           0 : }
    1278             : 
    1279             : 
    1280           0 : antlrcpp::Any accparser::Declare_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1281           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1282           0 :     return parserVisitor->visitDeclare_directive(this);
    1283             :   else
    1284           0 :     return visitor->visitChildren(this);
    1285             : }
    1286             : 
    1287           0 : accparser::Declare_directiveContext* accparser::declare_directive() {
    1288           0 :   Declare_directiveContext *_localctx = _tracker.createInstance<Declare_directiveContext>(_ctx, getState());
    1289           0 :   enterRule(_localctx, 24, accparser::RuleDeclare_directive);
    1290             : 
    1291           0 :   auto onExit = finally([=] {
    1292           0 :     exitRule();
    1293           0 :   });
    1294           0 :   try {
    1295           0 :     enterOuterAlt(_localctx, 1);
    1296           0 :     setState(390);
    1297           0 :     match(accparser::DECLARE);
    1298           0 :     setState(391);
    1299           0 :     declare_clause_list();
    1300             :    
    1301             :   }
    1302           0 :   catch (RecognitionException &e) {
    1303           0 :     _errHandler->reportError(this, e);
    1304           0 :     _localctx->exception = std::current_exception();
    1305           0 :     _errHandler->recover(this, _localctx->exception);
    1306             :   }
    1307             : 
    1308           0 :   return _localctx;
    1309             : }
    1310             : 
    1311             : //----------------- Declare_clause_listContext ------------------------------------------------------------------
    1312             : 
    1313           0 : accparser::Declare_clause_listContext::Declare_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    1314           0 :   : ParserRuleContext(parent, invokingState) {
    1315           0 : }
    1316             : 
    1317           0 : std::vector<accparser::Declare_clausesContext *> accparser::Declare_clause_listContext::declare_clauses() {
    1318           0 :   return getRuleContexts<accparser::Declare_clausesContext>();
    1319             : }
    1320             : 
    1321           0 : accparser::Declare_clausesContext* accparser::Declare_clause_listContext::declare_clauses(size_t i) {
    1322           0 :   return getRuleContext<accparser::Declare_clausesContext>(i);
    1323             : }
    1324             : 
    1325             : 
    1326           0 : size_t accparser::Declare_clause_listContext::getRuleIndex() const {
    1327           0 :   return accparser::RuleDeclare_clause_list;
    1328             : }
    1329             : 
    1330           0 : void accparser::Declare_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    1331           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1332           0 :   if (parserListener != nullptr)
    1333           0 :     parserListener->enterDeclare_clause_list(this);
    1334           0 : }
    1335             : 
    1336           0 : void accparser::Declare_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    1337           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1338           0 :   if (parserListener != nullptr)
    1339           0 :     parserListener->exitDeclare_clause_list(this);
    1340           0 : }
    1341             : 
    1342             : 
    1343           0 : antlrcpp::Any accparser::Declare_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    1344           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1345           0 :     return parserVisitor->visitDeclare_clause_list(this);
    1346             :   else
    1347           0 :     return visitor->visitChildren(this);
    1348             : }
    1349             : 
    1350           0 : accparser::Declare_clause_listContext* accparser::declare_clause_list() {
    1351           0 :   Declare_clause_listContext *_localctx = _tracker.createInstance<Declare_clause_listContext>(_ctx, getState());
    1352           0 :   enterRule(_localctx, 26, accparser::RuleDeclare_clause_list);
    1353           0 :   size_t _la = 0;
    1354             : 
    1355           0 :   auto onExit = finally([=] {
    1356           0 :     exitRule();
    1357           0 :   });
    1358           0 :   try {
    1359           0 :     enterOuterAlt(_localctx, 1);
    1360           0 :     setState(394); 
    1361           0 :     _errHandler->sync(this);
    1362           0 :     _la = _input->LA(1);
    1363           0 :     do {
    1364           0 :       setState(393);
    1365           0 :       declare_clauses();
    1366           0 :       setState(396); 
    1367           0 :       _errHandler->sync(this);
    1368           0 :       _la = _input->LA(1);
    1369           0 :     } while ((((_la & ~ 0x3fULL) == 0) &&
    1370             :       ((1ULL << _la) & ((1ULL << accparser::COPY)
    1371             :       | (1ULL << accparser::COPYIN)
    1372             :       | (1ULL << accparser::COPYOUT)
    1373             :       | (1ULL << accparser::CREATE)
    1374             :       | (1ULL << accparser::DEVICE_RESIDENT)
    1375             :       | (1ULL << accparser::DEVICEPTR)
    1376             :       | (1ULL << accparser::LINK)
    1377           0 :       | (1ULL << accparser::PRESENT))) != 0));
    1378             :    
    1379             :   }
    1380           0 :   catch (RecognitionException &e) {
    1381           0 :     _errHandler->reportError(this, e);
    1382           0 :     _localctx->exception = std::current_exception();
    1383           0 :     _errHandler->recover(this, _localctx->exception);
    1384             :   }
    1385             : 
    1386           0 :   return _localctx;
    1387             : }
    1388             : 
    1389             : //----------------- Declare_clausesContext ------------------------------------------------------------------
    1390             : 
    1391           0 : accparser::Declare_clausesContext::Declare_clausesContext(ParserRuleContext *parent, size_t invokingState)
    1392           0 :   : ParserRuleContext(parent, invokingState) {
    1393           0 : }
    1394             : 
    1395           0 : accparser::Copy_clauseContext* accparser::Declare_clausesContext::copy_clause() {
    1396           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    1397             : }
    1398             : 
    1399           0 : accparser::Copyin_clauseContext* accparser::Declare_clausesContext::copyin_clause() {
    1400           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    1401             : }
    1402             : 
    1403           0 : accparser::Copyout_no_modifier_clauseContext* accparser::Declare_clausesContext::copyout_no_modifier_clause() {
    1404           0 :   return getRuleContext<accparser::Copyout_no_modifier_clauseContext>(0);
    1405             : }
    1406             : 
    1407           0 : accparser::Create_no_modifier_clauseContext* accparser::Declare_clausesContext::create_no_modifier_clause() {
    1408           0 :   return getRuleContext<accparser::Create_no_modifier_clauseContext>(0);
    1409             : }
    1410             : 
    1411           0 : accparser::Device_resident_clauseContext* accparser::Declare_clausesContext::device_resident_clause() {
    1412           0 :   return getRuleContext<accparser::Device_resident_clauseContext>(0);
    1413             : }
    1414             : 
    1415           0 : accparser::Deviceptr_clauseContext* accparser::Declare_clausesContext::deviceptr_clause() {
    1416           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    1417             : }
    1418             : 
    1419           0 : accparser::Link_clauseContext* accparser::Declare_clausesContext::link_clause() {
    1420           0 :   return getRuleContext<accparser::Link_clauseContext>(0);
    1421             : }
    1422             : 
    1423           0 : accparser::Present_clauseContext* accparser::Declare_clausesContext::present_clause() {
    1424           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    1425             : }
    1426             : 
    1427             : 
    1428           0 : size_t accparser::Declare_clausesContext::getRuleIndex() const {
    1429           0 :   return accparser::RuleDeclare_clauses;
    1430             : }
    1431             : 
    1432           0 : void accparser::Declare_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    1433           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1434           0 :   if (parserListener != nullptr)
    1435           0 :     parserListener->enterDeclare_clauses(this);
    1436           0 : }
    1437             : 
    1438           0 : void accparser::Declare_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    1439           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1440           0 :   if (parserListener != nullptr)
    1441           0 :     parserListener->exitDeclare_clauses(this);
    1442           0 : }
    1443             : 
    1444             : 
    1445           0 : antlrcpp::Any accparser::Declare_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    1446           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1447           0 :     return parserVisitor->visitDeclare_clauses(this);
    1448             :   else
    1449           0 :     return visitor->visitChildren(this);
    1450             : }
    1451             : 
    1452           0 : accparser::Declare_clausesContext* accparser::declare_clauses() {
    1453           0 :   Declare_clausesContext *_localctx = _tracker.createInstance<Declare_clausesContext>(_ctx, getState());
    1454           0 :   enterRule(_localctx, 28, accparser::RuleDeclare_clauses);
    1455             : 
    1456           0 :   auto onExit = finally([=] {
    1457           0 :     exitRule();
    1458           0 :   });
    1459           0 :   try {
    1460           0 :     setState(406);
    1461           0 :     _errHandler->sync(this);
    1462           0 :     switch (_input->LA(1)) {
    1463           0 :       case accparser::COPY: {
    1464           0 :         enterOuterAlt(_localctx, 1);
    1465           0 :         setState(398);
    1466           0 :         copy_clause();
    1467             :         break;
    1468             :       }
    1469             : 
    1470           0 :       case accparser::COPYIN: {
    1471           0 :         enterOuterAlt(_localctx, 2);
    1472           0 :         setState(399);
    1473           0 :         copyin_clause();
    1474             :         break;
    1475             :       }
    1476             : 
    1477           0 :       case accparser::COPYOUT: {
    1478           0 :         enterOuterAlt(_localctx, 3);
    1479           0 :         setState(400);
    1480           0 :         copyout_no_modifier_clause();
    1481             :         break;
    1482             :       }
    1483             : 
    1484           0 :       case accparser::CREATE: {
    1485           0 :         enterOuterAlt(_localctx, 4);
    1486           0 :         setState(401);
    1487           0 :         create_no_modifier_clause();
    1488             :         break;
    1489             :       }
    1490             : 
    1491           0 :       case accparser::DEVICE_RESIDENT: {
    1492           0 :         enterOuterAlt(_localctx, 5);
    1493           0 :         setState(402);
    1494           0 :         device_resident_clause();
    1495             :         break;
    1496             :       }
    1497             : 
    1498           0 :       case accparser::DEVICEPTR: {
    1499           0 :         enterOuterAlt(_localctx, 6);
    1500           0 :         setState(403);
    1501           0 :         deviceptr_clause();
    1502             :         break;
    1503             :       }
    1504             : 
    1505           0 :       case accparser::LINK: {
    1506           0 :         enterOuterAlt(_localctx, 7);
    1507           0 :         setState(404);
    1508           0 :         link_clause();
    1509             :         break;
    1510             :       }
    1511             : 
    1512           0 :       case accparser::PRESENT: {
    1513           0 :         enterOuterAlt(_localctx, 8);
    1514           0 :         setState(405);
    1515           0 :         present_clause();
    1516             :         break;
    1517             :       }
    1518             : 
    1519           0 :     default:
    1520           0 :       throw NoViableAltException(this);
    1521             :     }
    1522             :    
    1523             :   }
    1524           0 :   catch (RecognitionException &e) {
    1525           0 :     _errHandler->reportError(this, e);
    1526           0 :     _localctx->exception = std::current_exception();
    1527           0 :     _errHandler->recover(this, _localctx->exception);
    1528             :   }
    1529             : 
    1530           0 :   return _localctx;
    1531             : }
    1532             : 
    1533             : //----------------- End_directiveContext ------------------------------------------------------------------
    1534             : 
    1535           0 : accparser::End_directiveContext::End_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1536           0 :   : ParserRuleContext(parent, invokingState) {
    1537           0 : }
    1538             : 
    1539           0 : tree::TerminalNode* accparser::End_directiveContext::END() {
    1540           0 :   return getToken(accparser::END, 0);
    1541             : }
    1542             : 
    1543           0 : accparser::End_clause_seqContext* accparser::End_directiveContext::end_clause_seq() {
    1544           0 :   return getRuleContext<accparser::End_clause_seqContext>(0);
    1545             : }
    1546             : 
    1547             : 
    1548           0 : size_t accparser::End_directiveContext::getRuleIndex() const {
    1549           0 :   return accparser::RuleEnd_directive;
    1550             : }
    1551             : 
    1552           0 : void accparser::End_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1553           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1554           0 :   if (parserListener != nullptr)
    1555           0 :     parserListener->enterEnd_directive(this);
    1556           0 : }
    1557             : 
    1558           0 : void accparser::End_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1559           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1560           0 :   if (parserListener != nullptr)
    1561           0 :     parserListener->exitEnd_directive(this);
    1562           0 : }
    1563             : 
    1564             : 
    1565           0 : antlrcpp::Any accparser::End_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1566           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1567           0 :     return parserVisitor->visitEnd_directive(this);
    1568             :   else
    1569           0 :     return visitor->visitChildren(this);
    1570             : }
    1571             : 
    1572           0 : accparser::End_directiveContext* accparser::end_directive() {
    1573           0 :   End_directiveContext *_localctx = _tracker.createInstance<End_directiveContext>(_ctx, getState());
    1574           0 :   enterRule(_localctx, 30, accparser::RuleEnd_directive);
    1575             : 
    1576           0 :   auto onExit = finally([=] {
    1577           0 :     exitRule();
    1578           0 :   });
    1579           0 :   try {
    1580           0 :     enterOuterAlt(_localctx, 1);
    1581           0 :     setState(408);
    1582           0 :     match(accparser::END);
    1583           0 :     setState(409);
    1584           0 :     end_clause_seq();
    1585             :    
    1586             :   }
    1587           0 :   catch (RecognitionException &e) {
    1588           0 :     _errHandler->reportError(this, e);
    1589           0 :     _localctx->exception = std::current_exception();
    1590           0 :     _errHandler->recover(this, _localctx->exception);
    1591             :   }
    1592             : 
    1593           0 :   return _localctx;
    1594             : }
    1595             : 
    1596             : //----------------- End_clause_seqContext ------------------------------------------------------------------
    1597             : 
    1598           0 : accparser::End_clause_seqContext::End_clause_seqContext(ParserRuleContext *parent, size_t invokingState)
    1599           0 :   : ParserRuleContext(parent, invokingState) {
    1600           0 : }
    1601             : 
    1602           0 : accparser::Fortran_paired_directiveContext* accparser::End_clause_seqContext::fortran_paired_directive() {
    1603           0 :   return getRuleContext<accparser::Fortran_paired_directiveContext>(0);
    1604             : }
    1605             : 
    1606             : 
    1607           0 : size_t accparser::End_clause_seqContext::getRuleIndex() const {
    1608           0 :   return accparser::RuleEnd_clause_seq;
    1609             : }
    1610             : 
    1611           0 : void accparser::End_clause_seqContext::enterRule(tree::ParseTreeListener *listener) {
    1612           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1613           0 :   if (parserListener != nullptr)
    1614           0 :     parserListener->enterEnd_clause_seq(this);
    1615           0 : }
    1616             : 
    1617           0 : void accparser::End_clause_seqContext::exitRule(tree::ParseTreeListener *listener) {
    1618           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1619           0 :   if (parserListener != nullptr)
    1620           0 :     parserListener->exitEnd_clause_seq(this);
    1621           0 : }
    1622             : 
    1623             : 
    1624           0 : antlrcpp::Any accparser::End_clause_seqContext::accept(tree::ParseTreeVisitor *visitor) {
    1625           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1626           0 :     return parserVisitor->visitEnd_clause_seq(this);
    1627             :   else
    1628           0 :     return visitor->visitChildren(this);
    1629             : }
    1630             : 
    1631           0 : accparser::End_clause_seqContext* accparser::end_clause_seq() {
    1632           0 :   End_clause_seqContext *_localctx = _tracker.createInstance<End_clause_seqContext>(_ctx, getState());
    1633           0 :   enterRule(_localctx, 32, accparser::RuleEnd_clause_seq);
    1634             : 
    1635           0 :   auto onExit = finally([=] {
    1636           0 :     exitRule();
    1637           0 :   });
    1638           0 :   try {
    1639           0 :     enterOuterAlt(_localctx, 1);
    1640           0 :     setState(411);
    1641           0 :     fortran_paired_directive();
    1642             :    
    1643             :   }
    1644           0 :   catch (RecognitionException &e) {
    1645           0 :     _errHandler->reportError(this, e);
    1646           0 :     _localctx->exception = std::current_exception();
    1647           0 :     _errHandler->recover(this, _localctx->exception);
    1648             :   }
    1649             : 
    1650           0 :   return _localctx;
    1651             : }
    1652             : 
    1653             : //----------------- Fortran_paired_directiveContext ------------------------------------------------------------------
    1654             : 
    1655           0 : accparser::Fortran_paired_directiveContext::Fortran_paired_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1656           0 :   : ParserRuleContext(parent, invokingState) {
    1657           0 : }
    1658             : 
    1659           0 : accparser::End_atomic_directiveContext* accparser::Fortran_paired_directiveContext::end_atomic_directive() {
    1660           0 :   return getRuleContext<accparser::End_atomic_directiveContext>(0);
    1661             : }
    1662             : 
    1663           0 : accparser::End_data_directiveContext* accparser::Fortran_paired_directiveContext::end_data_directive() {
    1664           0 :   return getRuleContext<accparser::End_data_directiveContext>(0);
    1665             : }
    1666             : 
    1667           0 : accparser::End_host_data_directiveContext* accparser::Fortran_paired_directiveContext::end_host_data_directive() {
    1668           0 :   return getRuleContext<accparser::End_host_data_directiveContext>(0);
    1669             : }
    1670             : 
    1671           0 : accparser::End_kernels_directiveContext* accparser::Fortran_paired_directiveContext::end_kernels_directive() {
    1672           0 :   return getRuleContext<accparser::End_kernels_directiveContext>(0);
    1673             : }
    1674             : 
    1675           0 : accparser::End_kernels_loop_directiveContext* accparser::Fortran_paired_directiveContext::end_kernels_loop_directive() {
    1676           0 :   return getRuleContext<accparser::End_kernels_loop_directiveContext>(0);
    1677             : }
    1678             : 
    1679           0 : accparser::End_parallel_directiveContext* accparser::Fortran_paired_directiveContext::end_parallel_directive() {
    1680           0 :   return getRuleContext<accparser::End_parallel_directiveContext>(0);
    1681             : }
    1682             : 
    1683           0 : accparser::End_parallel_loop_directiveContext* accparser::Fortran_paired_directiveContext::end_parallel_loop_directive() {
    1684           0 :   return getRuleContext<accparser::End_parallel_loop_directiveContext>(0);
    1685             : }
    1686             : 
    1687           0 : accparser::End_serial_directiveContext* accparser::Fortran_paired_directiveContext::end_serial_directive() {
    1688           0 :   return getRuleContext<accparser::End_serial_directiveContext>(0);
    1689             : }
    1690             : 
    1691           0 : accparser::End_serial_loop_directiveContext* accparser::Fortran_paired_directiveContext::end_serial_loop_directive() {
    1692           0 :   return getRuleContext<accparser::End_serial_loop_directiveContext>(0);
    1693             : }
    1694             : 
    1695             : 
    1696           0 : size_t accparser::Fortran_paired_directiveContext::getRuleIndex() const {
    1697           0 :   return accparser::RuleFortran_paired_directive;
    1698             : }
    1699             : 
    1700           0 : void accparser::Fortran_paired_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1701           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1702           0 :   if (parserListener != nullptr)
    1703           0 :     parserListener->enterFortran_paired_directive(this);
    1704           0 : }
    1705             : 
    1706           0 : void accparser::Fortran_paired_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1707           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1708           0 :   if (parserListener != nullptr)
    1709           0 :     parserListener->exitFortran_paired_directive(this);
    1710           0 : }
    1711             : 
    1712             : 
    1713           0 : antlrcpp::Any accparser::Fortran_paired_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1714           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1715           0 :     return parserVisitor->visitFortran_paired_directive(this);
    1716             :   else
    1717           0 :     return visitor->visitChildren(this);
    1718             : }
    1719             : 
    1720           0 : accparser::Fortran_paired_directiveContext* accparser::fortran_paired_directive() {
    1721           0 :   Fortran_paired_directiveContext *_localctx = _tracker.createInstance<Fortran_paired_directiveContext>(_ctx, getState());
    1722           0 :   enterRule(_localctx, 34, accparser::RuleFortran_paired_directive);
    1723             : 
    1724           0 :   auto onExit = finally([=] {
    1725           0 :     exitRule();
    1726           0 :   });
    1727           0 :   try {
    1728           0 :     setState(422);
    1729           0 :     _errHandler->sync(this);
    1730           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 9, _ctx)) {
    1731           0 :     case 1: {
    1732           0 :       enterOuterAlt(_localctx, 1);
    1733           0 :       setState(413);
    1734           0 :       end_atomic_directive();
    1735             :       break;
    1736             :     }
    1737             : 
    1738           0 :     case 2: {
    1739           0 :       enterOuterAlt(_localctx, 2);
    1740           0 :       setState(414);
    1741           0 :       end_data_directive();
    1742             :       break;
    1743             :     }
    1744             : 
    1745           0 :     case 3: {
    1746           0 :       enterOuterAlt(_localctx, 3);
    1747           0 :       setState(415);
    1748           0 :       end_host_data_directive();
    1749             :       break;
    1750             :     }
    1751             : 
    1752           0 :     case 4: {
    1753           0 :       enterOuterAlt(_localctx, 4);
    1754           0 :       setState(416);
    1755           0 :       end_kernels_directive();
    1756             :       break;
    1757             :     }
    1758             : 
    1759           0 :     case 5: {
    1760           0 :       enterOuterAlt(_localctx, 5);
    1761           0 :       setState(417);
    1762           0 :       end_kernels_loop_directive();
    1763             :       break;
    1764             :     }
    1765             : 
    1766           0 :     case 6: {
    1767           0 :       enterOuterAlt(_localctx, 6);
    1768           0 :       setState(418);
    1769           0 :       end_parallel_directive();
    1770             :       break;
    1771             :     }
    1772             : 
    1773           0 :     case 7: {
    1774           0 :       enterOuterAlt(_localctx, 7);
    1775           0 :       setState(419);
    1776           0 :       end_parallel_loop_directive();
    1777             :       break;
    1778             :     }
    1779             : 
    1780           0 :     case 8: {
    1781           0 :       enterOuterAlt(_localctx, 8);
    1782           0 :       setState(420);
    1783           0 :       end_serial_directive();
    1784             :       break;
    1785             :     }
    1786             : 
    1787           0 :     case 9: {
    1788           0 :       enterOuterAlt(_localctx, 9);
    1789           0 :       setState(421);
    1790           0 :       end_serial_loop_directive();
    1791             :       break;
    1792             :     }
    1793             : 
    1794             :     }
    1795             :    
    1796             :   }
    1797           0 :   catch (RecognitionException &e) {
    1798           0 :     _errHandler->reportError(this, e);
    1799           0 :     _localctx->exception = std::current_exception();
    1800           0 :     _errHandler->recover(this, _localctx->exception);
    1801             :   }
    1802             : 
    1803           0 :   return _localctx;
    1804             : }
    1805             : 
    1806             : //----------------- End_atomic_directiveContext ------------------------------------------------------------------
    1807             : 
    1808           0 : accparser::End_atomic_directiveContext::End_atomic_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1809           0 :   : ParserRuleContext(parent, invokingState) {
    1810           0 : }
    1811             : 
    1812           0 : accparser::Atomic_directiveContext* accparser::End_atomic_directiveContext::atomic_directive() {
    1813           0 :   return getRuleContext<accparser::Atomic_directiveContext>(0);
    1814             : }
    1815             : 
    1816             : 
    1817           0 : size_t accparser::End_atomic_directiveContext::getRuleIndex() const {
    1818           0 :   return accparser::RuleEnd_atomic_directive;
    1819             : }
    1820             : 
    1821           0 : void accparser::End_atomic_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1822           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1823           0 :   if (parserListener != nullptr)
    1824           0 :     parserListener->enterEnd_atomic_directive(this);
    1825           0 : }
    1826             : 
    1827           0 : void accparser::End_atomic_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1828           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1829           0 :   if (parserListener != nullptr)
    1830           0 :     parserListener->exitEnd_atomic_directive(this);
    1831           0 : }
    1832             : 
    1833             : 
    1834           0 : antlrcpp::Any accparser::End_atomic_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1835           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1836           0 :     return parserVisitor->visitEnd_atomic_directive(this);
    1837             :   else
    1838           0 :     return visitor->visitChildren(this);
    1839             : }
    1840             : 
    1841           0 : accparser::End_atomic_directiveContext* accparser::end_atomic_directive() {
    1842           0 :   End_atomic_directiveContext *_localctx = _tracker.createInstance<End_atomic_directiveContext>(_ctx, getState());
    1843           0 :   enterRule(_localctx, 36, accparser::RuleEnd_atomic_directive);
    1844             : 
    1845           0 :   auto onExit = finally([=] {
    1846           0 :     exitRule();
    1847           0 :   });
    1848           0 :   try {
    1849           0 :     enterOuterAlt(_localctx, 1);
    1850           0 :     setState(424);
    1851           0 :     atomic_directive();
    1852             :    
    1853             :   }
    1854           0 :   catch (RecognitionException &e) {
    1855           0 :     _errHandler->reportError(this, e);
    1856           0 :     _localctx->exception = std::current_exception();
    1857           0 :     _errHandler->recover(this, _localctx->exception);
    1858             :   }
    1859             : 
    1860           0 :   return _localctx;
    1861             : }
    1862             : 
    1863             : //----------------- End_data_directiveContext ------------------------------------------------------------------
    1864             : 
    1865           0 : accparser::End_data_directiveContext::End_data_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1866           0 :   : ParserRuleContext(parent, invokingState) {
    1867           0 : }
    1868             : 
    1869           0 : accparser::Data_directiveContext* accparser::End_data_directiveContext::data_directive() {
    1870           0 :   return getRuleContext<accparser::Data_directiveContext>(0);
    1871             : }
    1872             : 
    1873             : 
    1874           0 : size_t accparser::End_data_directiveContext::getRuleIndex() const {
    1875           0 :   return accparser::RuleEnd_data_directive;
    1876             : }
    1877             : 
    1878           0 : void accparser::End_data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1879           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1880           0 :   if (parserListener != nullptr)
    1881           0 :     parserListener->enterEnd_data_directive(this);
    1882           0 : }
    1883             : 
    1884           0 : void accparser::End_data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1885           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1886           0 :   if (parserListener != nullptr)
    1887           0 :     parserListener->exitEnd_data_directive(this);
    1888           0 : }
    1889             : 
    1890             : 
    1891           0 : antlrcpp::Any accparser::End_data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1892           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1893           0 :     return parserVisitor->visitEnd_data_directive(this);
    1894             :   else
    1895           0 :     return visitor->visitChildren(this);
    1896             : }
    1897             : 
    1898           0 : accparser::End_data_directiveContext* accparser::end_data_directive() {
    1899           0 :   End_data_directiveContext *_localctx = _tracker.createInstance<End_data_directiveContext>(_ctx, getState());
    1900           0 :   enterRule(_localctx, 38, accparser::RuleEnd_data_directive);
    1901             : 
    1902           0 :   auto onExit = finally([=] {
    1903           0 :     exitRule();
    1904           0 :   });
    1905           0 :   try {
    1906           0 :     enterOuterAlt(_localctx, 1);
    1907           0 :     setState(426);
    1908           0 :     data_directive();
    1909             :    
    1910             :   }
    1911           0 :   catch (RecognitionException &e) {
    1912           0 :     _errHandler->reportError(this, e);
    1913           0 :     _localctx->exception = std::current_exception();
    1914           0 :     _errHandler->recover(this, _localctx->exception);
    1915             :   }
    1916             : 
    1917           0 :   return _localctx;
    1918             : }
    1919             : 
    1920             : //----------------- End_host_data_directiveContext ------------------------------------------------------------------
    1921             : 
    1922           0 : accparser::End_host_data_directiveContext::End_host_data_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1923           0 :   : ParserRuleContext(parent, invokingState) {
    1924           0 : }
    1925             : 
    1926           0 : tree::TerminalNode* accparser::End_host_data_directiveContext::HOST_DATA() {
    1927           0 :   return getToken(accparser::HOST_DATA, 0);
    1928             : }
    1929             : 
    1930             : 
    1931           0 : size_t accparser::End_host_data_directiveContext::getRuleIndex() const {
    1932           0 :   return accparser::RuleEnd_host_data_directive;
    1933             : }
    1934             : 
    1935           0 : void accparser::End_host_data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1936           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1937           0 :   if (parserListener != nullptr)
    1938           0 :     parserListener->enterEnd_host_data_directive(this);
    1939           0 : }
    1940             : 
    1941           0 : void accparser::End_host_data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1942           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1943           0 :   if (parserListener != nullptr)
    1944           0 :     parserListener->exitEnd_host_data_directive(this);
    1945           0 : }
    1946             : 
    1947             : 
    1948           0 : antlrcpp::Any accparser::End_host_data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    1949           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    1950           0 :     return parserVisitor->visitEnd_host_data_directive(this);
    1951             :   else
    1952           0 :     return visitor->visitChildren(this);
    1953             : }
    1954             : 
    1955           0 : accparser::End_host_data_directiveContext* accparser::end_host_data_directive() {
    1956           0 :   End_host_data_directiveContext *_localctx = _tracker.createInstance<End_host_data_directiveContext>(_ctx, getState());
    1957           0 :   enterRule(_localctx, 40, accparser::RuleEnd_host_data_directive);
    1958             : 
    1959           0 :   auto onExit = finally([=] {
    1960           0 :     exitRule();
    1961           0 :   });
    1962           0 :   try {
    1963           0 :     enterOuterAlt(_localctx, 1);
    1964           0 :     setState(428);
    1965           0 :     match(accparser::HOST_DATA);
    1966             :    
    1967             :   }
    1968           0 :   catch (RecognitionException &e) {
    1969           0 :     _errHandler->reportError(this, e);
    1970           0 :     _localctx->exception = std::current_exception();
    1971           0 :     _errHandler->recover(this, _localctx->exception);
    1972             :   }
    1973             : 
    1974           0 :   return _localctx;
    1975             : }
    1976             : 
    1977             : //----------------- End_kernels_directiveContext ------------------------------------------------------------------
    1978             : 
    1979           0 : accparser::End_kernels_directiveContext::End_kernels_directiveContext(ParserRuleContext *parent, size_t invokingState)
    1980           0 :   : ParserRuleContext(parent, invokingState) {
    1981           0 : }
    1982             : 
    1983           0 : accparser::Kernels_directiveContext* accparser::End_kernels_directiveContext::kernels_directive() {
    1984           0 :   return getRuleContext<accparser::Kernels_directiveContext>(0);
    1985             : }
    1986             : 
    1987             : 
    1988           0 : size_t accparser::End_kernels_directiveContext::getRuleIndex() const {
    1989           0 :   return accparser::RuleEnd_kernels_directive;
    1990             : }
    1991             : 
    1992           0 : void accparser::End_kernels_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    1993           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    1994           0 :   if (parserListener != nullptr)
    1995           0 :     parserListener->enterEnd_kernels_directive(this);
    1996           0 : }
    1997             : 
    1998           0 : void accparser::End_kernels_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    1999           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2000           0 :   if (parserListener != nullptr)
    2001           0 :     parserListener->exitEnd_kernels_directive(this);
    2002           0 : }
    2003             : 
    2004             : 
    2005           0 : antlrcpp::Any accparser::End_kernels_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2006           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2007           0 :     return parserVisitor->visitEnd_kernels_directive(this);
    2008             :   else
    2009           0 :     return visitor->visitChildren(this);
    2010             : }
    2011             : 
    2012           0 : accparser::End_kernels_directiveContext* accparser::end_kernels_directive() {
    2013           0 :   End_kernels_directiveContext *_localctx = _tracker.createInstance<End_kernels_directiveContext>(_ctx, getState());
    2014           0 :   enterRule(_localctx, 42, accparser::RuleEnd_kernels_directive);
    2015             : 
    2016           0 :   auto onExit = finally([=] {
    2017           0 :     exitRule();
    2018           0 :   });
    2019           0 :   try {
    2020           0 :     enterOuterAlt(_localctx, 1);
    2021           0 :     setState(430);
    2022           0 :     kernels_directive();
    2023             :    
    2024             :   }
    2025           0 :   catch (RecognitionException &e) {
    2026           0 :     _errHandler->reportError(this, e);
    2027           0 :     _localctx->exception = std::current_exception();
    2028           0 :     _errHandler->recover(this, _localctx->exception);
    2029             :   }
    2030             : 
    2031           0 :   return _localctx;
    2032             : }
    2033             : 
    2034             : //----------------- End_kernels_loop_directiveContext ------------------------------------------------------------------
    2035             : 
    2036           0 : accparser::End_kernels_loop_directiveContext::End_kernels_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2037           0 :   : ParserRuleContext(parent, invokingState) {
    2038           0 : }
    2039             : 
    2040           0 : accparser::Kernels_loop_directiveContext* accparser::End_kernels_loop_directiveContext::kernels_loop_directive() {
    2041           0 :   return getRuleContext<accparser::Kernels_loop_directiveContext>(0);
    2042             : }
    2043             : 
    2044             : 
    2045           0 : size_t accparser::End_kernels_loop_directiveContext::getRuleIndex() const {
    2046           0 :   return accparser::RuleEnd_kernels_loop_directive;
    2047             : }
    2048             : 
    2049           0 : void accparser::End_kernels_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2050           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2051           0 :   if (parserListener != nullptr)
    2052           0 :     parserListener->enterEnd_kernels_loop_directive(this);
    2053           0 : }
    2054             : 
    2055           0 : void accparser::End_kernels_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2056           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2057           0 :   if (parserListener != nullptr)
    2058           0 :     parserListener->exitEnd_kernels_loop_directive(this);
    2059           0 : }
    2060             : 
    2061             : 
    2062           0 : antlrcpp::Any accparser::End_kernels_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2063           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2064           0 :     return parserVisitor->visitEnd_kernels_loop_directive(this);
    2065             :   else
    2066           0 :     return visitor->visitChildren(this);
    2067             : }
    2068             : 
    2069           0 : accparser::End_kernels_loop_directiveContext* accparser::end_kernels_loop_directive() {
    2070           0 :   End_kernels_loop_directiveContext *_localctx = _tracker.createInstance<End_kernels_loop_directiveContext>(_ctx, getState());
    2071           0 :   enterRule(_localctx, 44, accparser::RuleEnd_kernels_loop_directive);
    2072             : 
    2073           0 :   auto onExit = finally([=] {
    2074           0 :     exitRule();
    2075           0 :   });
    2076           0 :   try {
    2077           0 :     enterOuterAlt(_localctx, 1);
    2078           0 :     setState(432);
    2079           0 :     kernels_loop_directive();
    2080             :    
    2081             :   }
    2082           0 :   catch (RecognitionException &e) {
    2083           0 :     _errHandler->reportError(this, e);
    2084           0 :     _localctx->exception = std::current_exception();
    2085           0 :     _errHandler->recover(this, _localctx->exception);
    2086             :   }
    2087             : 
    2088           0 :   return _localctx;
    2089             : }
    2090             : 
    2091             : //----------------- End_parallel_directiveContext ------------------------------------------------------------------
    2092             : 
    2093           0 : accparser::End_parallel_directiveContext::End_parallel_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2094           0 :   : ParserRuleContext(parent, invokingState) {
    2095           0 : }
    2096             : 
    2097           0 : accparser::Parallel_directiveContext* accparser::End_parallel_directiveContext::parallel_directive() {
    2098           0 :   return getRuleContext<accparser::Parallel_directiveContext>(0);
    2099             : }
    2100             : 
    2101             : 
    2102           0 : size_t accparser::End_parallel_directiveContext::getRuleIndex() const {
    2103           0 :   return accparser::RuleEnd_parallel_directive;
    2104             : }
    2105             : 
    2106           0 : void accparser::End_parallel_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2107           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2108           0 :   if (parserListener != nullptr)
    2109           0 :     parserListener->enterEnd_parallel_directive(this);
    2110           0 : }
    2111             : 
    2112           0 : void accparser::End_parallel_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2113           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2114           0 :   if (parserListener != nullptr)
    2115           0 :     parserListener->exitEnd_parallel_directive(this);
    2116           0 : }
    2117             : 
    2118             : 
    2119           0 : antlrcpp::Any accparser::End_parallel_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2120           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2121           0 :     return parserVisitor->visitEnd_parallel_directive(this);
    2122             :   else
    2123           0 :     return visitor->visitChildren(this);
    2124             : }
    2125             : 
    2126           0 : accparser::End_parallel_directiveContext* accparser::end_parallel_directive() {
    2127           0 :   End_parallel_directiveContext *_localctx = _tracker.createInstance<End_parallel_directiveContext>(_ctx, getState());
    2128           0 :   enterRule(_localctx, 46, accparser::RuleEnd_parallel_directive);
    2129             : 
    2130           0 :   auto onExit = finally([=] {
    2131           0 :     exitRule();
    2132           0 :   });
    2133           0 :   try {
    2134           0 :     enterOuterAlt(_localctx, 1);
    2135           0 :     setState(434);
    2136           0 :     parallel_directive();
    2137             :    
    2138             :   }
    2139           0 :   catch (RecognitionException &e) {
    2140           0 :     _errHandler->reportError(this, e);
    2141           0 :     _localctx->exception = std::current_exception();
    2142           0 :     _errHandler->recover(this, _localctx->exception);
    2143             :   }
    2144             : 
    2145           0 :   return _localctx;
    2146             : }
    2147             : 
    2148             : //----------------- End_parallel_loop_directiveContext ------------------------------------------------------------------
    2149             : 
    2150           0 : accparser::End_parallel_loop_directiveContext::End_parallel_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2151           0 :   : ParserRuleContext(parent, invokingState) {
    2152           0 : }
    2153             : 
    2154           0 : accparser::Parallel_loop_directiveContext* accparser::End_parallel_loop_directiveContext::parallel_loop_directive() {
    2155           0 :   return getRuleContext<accparser::Parallel_loop_directiveContext>(0);
    2156             : }
    2157             : 
    2158             : 
    2159           0 : size_t accparser::End_parallel_loop_directiveContext::getRuleIndex() const {
    2160           0 :   return accparser::RuleEnd_parallel_loop_directive;
    2161             : }
    2162             : 
    2163           0 : void accparser::End_parallel_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2164           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2165           0 :   if (parserListener != nullptr)
    2166           0 :     parserListener->enterEnd_parallel_loop_directive(this);
    2167           0 : }
    2168             : 
    2169           0 : void accparser::End_parallel_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2170           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2171           0 :   if (parserListener != nullptr)
    2172           0 :     parserListener->exitEnd_parallel_loop_directive(this);
    2173           0 : }
    2174             : 
    2175             : 
    2176           0 : antlrcpp::Any accparser::End_parallel_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2177           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2178           0 :     return parserVisitor->visitEnd_parallel_loop_directive(this);
    2179             :   else
    2180           0 :     return visitor->visitChildren(this);
    2181             : }
    2182             : 
    2183           0 : accparser::End_parallel_loop_directiveContext* accparser::end_parallel_loop_directive() {
    2184           0 :   End_parallel_loop_directiveContext *_localctx = _tracker.createInstance<End_parallel_loop_directiveContext>(_ctx, getState());
    2185           0 :   enterRule(_localctx, 48, accparser::RuleEnd_parallel_loop_directive);
    2186             : 
    2187           0 :   auto onExit = finally([=] {
    2188           0 :     exitRule();
    2189           0 :   });
    2190           0 :   try {
    2191           0 :     enterOuterAlt(_localctx, 1);
    2192           0 :     setState(436);
    2193           0 :     parallel_loop_directive();
    2194             :    
    2195             :   }
    2196           0 :   catch (RecognitionException &e) {
    2197           0 :     _errHandler->reportError(this, e);
    2198           0 :     _localctx->exception = std::current_exception();
    2199           0 :     _errHandler->recover(this, _localctx->exception);
    2200             :   }
    2201             : 
    2202           0 :   return _localctx;
    2203             : }
    2204             : 
    2205             : //----------------- End_serial_directiveContext ------------------------------------------------------------------
    2206             : 
    2207           0 : accparser::End_serial_directiveContext::End_serial_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2208           0 :   : ParserRuleContext(parent, invokingState) {
    2209           0 : }
    2210             : 
    2211           0 : accparser::Serial_directiveContext* accparser::End_serial_directiveContext::serial_directive() {
    2212           0 :   return getRuleContext<accparser::Serial_directiveContext>(0);
    2213             : }
    2214             : 
    2215             : 
    2216           0 : size_t accparser::End_serial_directiveContext::getRuleIndex() const {
    2217           0 :   return accparser::RuleEnd_serial_directive;
    2218             : }
    2219             : 
    2220           0 : void accparser::End_serial_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2221           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2222           0 :   if (parserListener != nullptr)
    2223           0 :     parserListener->enterEnd_serial_directive(this);
    2224           0 : }
    2225             : 
    2226           0 : void accparser::End_serial_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2227           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2228           0 :   if (parserListener != nullptr)
    2229           0 :     parserListener->exitEnd_serial_directive(this);
    2230           0 : }
    2231             : 
    2232             : 
    2233           0 : antlrcpp::Any accparser::End_serial_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2234           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2235           0 :     return parserVisitor->visitEnd_serial_directive(this);
    2236             :   else
    2237           0 :     return visitor->visitChildren(this);
    2238             : }
    2239             : 
    2240           0 : accparser::End_serial_directiveContext* accparser::end_serial_directive() {
    2241           0 :   End_serial_directiveContext *_localctx = _tracker.createInstance<End_serial_directiveContext>(_ctx, getState());
    2242           0 :   enterRule(_localctx, 50, accparser::RuleEnd_serial_directive);
    2243             : 
    2244           0 :   auto onExit = finally([=] {
    2245           0 :     exitRule();
    2246           0 :   });
    2247           0 :   try {
    2248           0 :     enterOuterAlt(_localctx, 1);
    2249           0 :     setState(438);
    2250           0 :     serial_directive();
    2251             :    
    2252             :   }
    2253           0 :   catch (RecognitionException &e) {
    2254           0 :     _errHandler->reportError(this, e);
    2255           0 :     _localctx->exception = std::current_exception();
    2256           0 :     _errHandler->recover(this, _localctx->exception);
    2257             :   }
    2258             : 
    2259           0 :   return _localctx;
    2260             : }
    2261             : 
    2262             : //----------------- End_serial_loop_directiveContext ------------------------------------------------------------------
    2263             : 
    2264           0 : accparser::End_serial_loop_directiveContext::End_serial_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2265           0 :   : ParserRuleContext(parent, invokingState) {
    2266           0 : }
    2267             : 
    2268           0 : accparser::Serial_loop_directiveContext* accparser::End_serial_loop_directiveContext::serial_loop_directive() {
    2269           0 :   return getRuleContext<accparser::Serial_loop_directiveContext>(0);
    2270             : }
    2271             : 
    2272             : 
    2273           0 : size_t accparser::End_serial_loop_directiveContext::getRuleIndex() const {
    2274           0 :   return accparser::RuleEnd_serial_loop_directive;
    2275             : }
    2276             : 
    2277           0 : void accparser::End_serial_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2278           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2279           0 :   if (parserListener != nullptr)
    2280           0 :     parserListener->enterEnd_serial_loop_directive(this);
    2281           0 : }
    2282             : 
    2283           0 : void accparser::End_serial_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2284           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2285           0 :   if (parserListener != nullptr)
    2286           0 :     parserListener->exitEnd_serial_loop_directive(this);
    2287           0 : }
    2288             : 
    2289             : 
    2290           0 : antlrcpp::Any accparser::End_serial_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2291           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2292           0 :     return parserVisitor->visitEnd_serial_loop_directive(this);
    2293             :   else
    2294           0 :     return visitor->visitChildren(this);
    2295             : }
    2296             : 
    2297           0 : accparser::End_serial_loop_directiveContext* accparser::end_serial_loop_directive() {
    2298           0 :   End_serial_loop_directiveContext *_localctx = _tracker.createInstance<End_serial_loop_directiveContext>(_ctx, getState());
    2299           0 :   enterRule(_localctx, 52, accparser::RuleEnd_serial_loop_directive);
    2300             : 
    2301           0 :   auto onExit = finally([=] {
    2302           0 :     exitRule();
    2303           0 :   });
    2304           0 :   try {
    2305           0 :     enterOuterAlt(_localctx, 1);
    2306           0 :     setState(440);
    2307           0 :     serial_loop_directive();
    2308             :    
    2309             :   }
    2310           0 :   catch (RecognitionException &e) {
    2311           0 :     _errHandler->reportError(this, e);
    2312           0 :     _localctx->exception = std::current_exception();
    2313           0 :     _errHandler->recover(this, _localctx->exception);
    2314             :   }
    2315             : 
    2316           0 :   return _localctx;
    2317             : }
    2318             : 
    2319             : //----------------- Enter_data_directiveContext ------------------------------------------------------------------
    2320             : 
    2321           0 : accparser::Enter_data_directiveContext::Enter_data_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2322           0 :   : ParserRuleContext(parent, invokingState) {
    2323           0 : }
    2324             : 
    2325           0 : tree::TerminalNode* accparser::Enter_data_directiveContext::ENTER() {
    2326           0 :   return getToken(accparser::ENTER, 0);
    2327             : }
    2328             : 
    2329           0 : tree::TerminalNode* accparser::Enter_data_directiveContext::DATA() {
    2330           0 :   return getToken(accparser::DATA, 0);
    2331             : }
    2332             : 
    2333           0 : accparser::Enter_data_clause_listContext* accparser::Enter_data_directiveContext::enter_data_clause_list() {
    2334           0 :   return getRuleContext<accparser::Enter_data_clause_listContext>(0);
    2335             : }
    2336             : 
    2337             : 
    2338           0 : size_t accparser::Enter_data_directiveContext::getRuleIndex() const {
    2339           0 :   return accparser::RuleEnter_data_directive;
    2340             : }
    2341             : 
    2342           0 : void accparser::Enter_data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2343           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2344           0 :   if (parserListener != nullptr)
    2345           0 :     parserListener->enterEnter_data_directive(this);
    2346           0 : }
    2347             : 
    2348           0 : void accparser::Enter_data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2349           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2350           0 :   if (parserListener != nullptr)
    2351           0 :     parserListener->exitEnter_data_directive(this);
    2352           0 : }
    2353             : 
    2354             : 
    2355           0 : antlrcpp::Any accparser::Enter_data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2356           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2357           0 :     return parserVisitor->visitEnter_data_directive(this);
    2358             :   else
    2359           0 :     return visitor->visitChildren(this);
    2360             : }
    2361             : 
    2362           0 : accparser::Enter_data_directiveContext* accparser::enter_data_directive() {
    2363           0 :   Enter_data_directiveContext *_localctx = _tracker.createInstance<Enter_data_directiveContext>(_ctx, getState());
    2364           0 :   enterRule(_localctx, 54, accparser::RuleEnter_data_directive);
    2365             : 
    2366           0 :   auto onExit = finally([=] {
    2367           0 :     exitRule();
    2368           0 :   });
    2369           0 :   try {
    2370           0 :     enterOuterAlt(_localctx, 1);
    2371           0 :     setState(442);
    2372           0 :     match(accparser::ENTER);
    2373           0 :     setState(443);
    2374           0 :     match(accparser::DATA);
    2375           0 :     setState(444);
    2376           0 :     enter_data_clause_list();
    2377             :    
    2378             :   }
    2379           0 :   catch (RecognitionException &e) {
    2380           0 :     _errHandler->reportError(this, e);
    2381           0 :     _localctx->exception = std::current_exception();
    2382           0 :     _errHandler->recover(this, _localctx->exception);
    2383             :   }
    2384             : 
    2385           0 :   return _localctx;
    2386             : }
    2387             : 
    2388             : //----------------- Enter_data_clause_listContext ------------------------------------------------------------------
    2389             : 
    2390           0 : accparser::Enter_data_clause_listContext::Enter_data_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    2391           0 :   : ParserRuleContext(parent, invokingState) {
    2392           0 : }
    2393             : 
    2394           0 : std::vector<accparser::Enter_data_clausesContext *> accparser::Enter_data_clause_listContext::enter_data_clauses() {
    2395           0 :   return getRuleContexts<accparser::Enter_data_clausesContext>();
    2396             : }
    2397             : 
    2398           0 : accparser::Enter_data_clausesContext* accparser::Enter_data_clause_listContext::enter_data_clauses(size_t i) {
    2399           0 :   return getRuleContext<accparser::Enter_data_clausesContext>(i);
    2400             : }
    2401             : 
    2402             : 
    2403           0 : size_t accparser::Enter_data_clause_listContext::getRuleIndex() const {
    2404           0 :   return accparser::RuleEnter_data_clause_list;
    2405             : }
    2406             : 
    2407           0 : void accparser::Enter_data_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    2408           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2409           0 :   if (parserListener != nullptr)
    2410           0 :     parserListener->enterEnter_data_clause_list(this);
    2411           0 : }
    2412             : 
    2413           0 : void accparser::Enter_data_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    2414           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2415           0 :   if (parserListener != nullptr)
    2416           0 :     parserListener->exitEnter_data_clause_list(this);
    2417           0 : }
    2418             : 
    2419             : 
    2420           0 : antlrcpp::Any accparser::Enter_data_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    2421           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2422           0 :     return parserVisitor->visitEnter_data_clause_list(this);
    2423             :   else
    2424           0 :     return visitor->visitChildren(this);
    2425             : }
    2426             : 
    2427           0 : accparser::Enter_data_clause_listContext* accparser::enter_data_clause_list() {
    2428           0 :   Enter_data_clause_listContext *_localctx = _tracker.createInstance<Enter_data_clause_listContext>(_ctx, getState());
    2429           0 :   enterRule(_localctx, 56, accparser::RuleEnter_data_clause_list);
    2430           0 :   size_t _la = 0;
    2431             : 
    2432           0 :   auto onExit = finally([=] {
    2433           0 :     exitRule();
    2434           0 :   });
    2435           0 :   try {
    2436           0 :     enterOuterAlt(_localctx, 1);
    2437           0 :     setState(447); 
    2438           0 :     _errHandler->sync(this);
    2439           0 :     _la = _input->LA(1);
    2440           0 :     do {
    2441           0 :       setState(446);
    2442           0 :       enter_data_clauses();
    2443           0 :       setState(449); 
    2444           0 :       _errHandler->sync(this);
    2445           0 :       _la = _input->LA(1);
    2446           0 :     } while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    2447           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    2448             :       | (1ULL << (accparser::ATTACH - 27))
    2449             :       | (1ULL << (accparser::COPYIN - 27))
    2450             :       | (1ULL << (accparser::CREATE - 27))
    2451             :       | (1ULL << (accparser::IF - 27))
    2452           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0));
    2453             :    
    2454             :   }
    2455           0 :   catch (RecognitionException &e) {
    2456           0 :     _errHandler->reportError(this, e);
    2457           0 :     _localctx->exception = std::current_exception();
    2458           0 :     _errHandler->recover(this, _localctx->exception);
    2459             :   }
    2460             : 
    2461           0 :   return _localctx;
    2462             : }
    2463             : 
    2464             : //----------------- Enter_data_clausesContext ------------------------------------------------------------------
    2465             : 
    2466           0 : accparser::Enter_data_clausesContext::Enter_data_clausesContext(ParserRuleContext *parent, size_t invokingState)
    2467           0 :   : ParserRuleContext(parent, invokingState) {
    2468           0 : }
    2469             : 
    2470           0 : accparser::Async_clauseContext* accparser::Enter_data_clausesContext::async_clause() {
    2471           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    2472             : }
    2473             : 
    2474           0 : accparser::Attach_clauseContext* accparser::Enter_data_clausesContext::attach_clause() {
    2475           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    2476             : }
    2477             : 
    2478           0 : accparser::Copyin_no_modifier_clauseContext* accparser::Enter_data_clausesContext::copyin_no_modifier_clause() {
    2479           0 :   return getRuleContext<accparser::Copyin_no_modifier_clauseContext>(0);
    2480             : }
    2481             : 
    2482           0 : accparser::Create_clauseContext* accparser::Enter_data_clausesContext::create_clause() {
    2483           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    2484             : }
    2485             : 
    2486           0 : accparser::If_clauseContext* accparser::Enter_data_clausesContext::if_clause() {
    2487           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    2488             : }
    2489             : 
    2490           0 : accparser::Wait_argument_clauseContext* accparser::Enter_data_clausesContext::wait_argument_clause() {
    2491           0 :   return getRuleContext<accparser::Wait_argument_clauseContext>(0);
    2492             : }
    2493             : 
    2494             : 
    2495           0 : size_t accparser::Enter_data_clausesContext::getRuleIndex() const {
    2496           0 :   return accparser::RuleEnter_data_clauses;
    2497             : }
    2498             : 
    2499           0 : void accparser::Enter_data_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    2500           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2501           0 :   if (parserListener != nullptr)
    2502           0 :     parserListener->enterEnter_data_clauses(this);
    2503           0 : }
    2504             : 
    2505           0 : void accparser::Enter_data_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    2506           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2507           0 :   if (parserListener != nullptr)
    2508           0 :     parserListener->exitEnter_data_clauses(this);
    2509           0 : }
    2510             : 
    2511             : 
    2512           0 : antlrcpp::Any accparser::Enter_data_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    2513           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2514           0 :     return parserVisitor->visitEnter_data_clauses(this);
    2515             :   else
    2516           0 :     return visitor->visitChildren(this);
    2517             : }
    2518             : 
    2519           0 : accparser::Enter_data_clausesContext* accparser::enter_data_clauses() {
    2520           0 :   Enter_data_clausesContext *_localctx = _tracker.createInstance<Enter_data_clausesContext>(_ctx, getState());
    2521           0 :   enterRule(_localctx, 58, accparser::RuleEnter_data_clauses);
    2522             : 
    2523           0 :   auto onExit = finally([=] {
    2524           0 :     exitRule();
    2525           0 :   });
    2526           0 :   try {
    2527           0 :     setState(457);
    2528           0 :     _errHandler->sync(this);
    2529           0 :     switch (_input->LA(1)) {
    2530           0 :       case accparser::ASYNC: {
    2531           0 :         enterOuterAlt(_localctx, 1);
    2532           0 :         setState(451);
    2533           0 :         async_clause();
    2534             :         break;
    2535             :       }
    2536             : 
    2537           0 :       case accparser::ATTACH: {
    2538           0 :         enterOuterAlt(_localctx, 2);
    2539           0 :         setState(452);
    2540           0 :         attach_clause();
    2541             :         break;
    2542             :       }
    2543             : 
    2544           0 :       case accparser::COPYIN: {
    2545           0 :         enterOuterAlt(_localctx, 3);
    2546           0 :         setState(453);
    2547           0 :         copyin_no_modifier_clause();
    2548             :         break;
    2549             :       }
    2550             : 
    2551           0 :       case accparser::CREATE: {
    2552           0 :         enterOuterAlt(_localctx, 4);
    2553           0 :         setState(454);
    2554           0 :         create_clause();
    2555             :         break;
    2556             :       }
    2557             : 
    2558           0 :       case accparser::IF: {
    2559           0 :         enterOuterAlt(_localctx, 5);
    2560           0 :         setState(455);
    2561           0 :         if_clause();
    2562             :         break;
    2563             :       }
    2564             : 
    2565           0 :       case accparser::WAIT: {
    2566           0 :         enterOuterAlt(_localctx, 6);
    2567           0 :         setState(456);
    2568           0 :         wait_argument_clause();
    2569             :         break;
    2570             :       }
    2571             : 
    2572           0 :     default:
    2573           0 :       throw NoViableAltException(this);
    2574             :     }
    2575             :    
    2576             :   }
    2577           0 :   catch (RecognitionException &e) {
    2578           0 :     _errHandler->reportError(this, e);
    2579           0 :     _localctx->exception = std::current_exception();
    2580           0 :     _errHandler->recover(this, _localctx->exception);
    2581             :   }
    2582             : 
    2583           0 :   return _localctx;
    2584             : }
    2585             : 
    2586             : //----------------- Exit_data_directiveContext ------------------------------------------------------------------
    2587             : 
    2588           0 : accparser::Exit_data_directiveContext::Exit_data_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2589           0 :   : ParserRuleContext(parent, invokingState) {
    2590           0 : }
    2591             : 
    2592           0 : tree::TerminalNode* accparser::Exit_data_directiveContext::EXIT() {
    2593           0 :   return getToken(accparser::EXIT, 0);
    2594             : }
    2595             : 
    2596           0 : tree::TerminalNode* accparser::Exit_data_directiveContext::DATA() {
    2597           0 :   return getToken(accparser::DATA, 0);
    2598             : }
    2599             : 
    2600           0 : accparser::Exit_data_clause_listContext* accparser::Exit_data_directiveContext::exit_data_clause_list() {
    2601           0 :   return getRuleContext<accparser::Exit_data_clause_listContext>(0);
    2602             : }
    2603             : 
    2604             : 
    2605           0 : size_t accparser::Exit_data_directiveContext::getRuleIndex() const {
    2606           0 :   return accparser::RuleExit_data_directive;
    2607             : }
    2608             : 
    2609           0 : void accparser::Exit_data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2610           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2611           0 :   if (parserListener != nullptr)
    2612           0 :     parserListener->enterExit_data_directive(this);
    2613           0 : }
    2614             : 
    2615           0 : void accparser::Exit_data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2616           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2617           0 :   if (parserListener != nullptr)
    2618           0 :     parserListener->exitExit_data_directive(this);
    2619           0 : }
    2620             : 
    2621             : 
    2622           0 : antlrcpp::Any accparser::Exit_data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2623           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2624           0 :     return parserVisitor->visitExit_data_directive(this);
    2625             :   else
    2626           0 :     return visitor->visitChildren(this);
    2627             : }
    2628             : 
    2629           0 : accparser::Exit_data_directiveContext* accparser::exit_data_directive() {
    2630           0 :   Exit_data_directiveContext *_localctx = _tracker.createInstance<Exit_data_directiveContext>(_ctx, getState());
    2631           0 :   enterRule(_localctx, 60, accparser::RuleExit_data_directive);
    2632             : 
    2633           0 :   auto onExit = finally([=] {
    2634           0 :     exitRule();
    2635           0 :   });
    2636           0 :   try {
    2637           0 :     enterOuterAlt(_localctx, 1);
    2638           0 :     setState(459);
    2639           0 :     match(accparser::EXIT);
    2640           0 :     setState(460);
    2641           0 :     match(accparser::DATA);
    2642           0 :     setState(461);
    2643           0 :     exit_data_clause_list();
    2644             :    
    2645             :   }
    2646           0 :   catch (RecognitionException &e) {
    2647           0 :     _errHandler->reportError(this, e);
    2648           0 :     _localctx->exception = std::current_exception();
    2649           0 :     _errHandler->recover(this, _localctx->exception);
    2650             :   }
    2651             : 
    2652           0 :   return _localctx;
    2653             : }
    2654             : 
    2655             : //----------------- Exit_data_clause_listContext ------------------------------------------------------------------
    2656             : 
    2657           0 : accparser::Exit_data_clause_listContext::Exit_data_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    2658           0 :   : ParserRuleContext(parent, invokingState) {
    2659           0 : }
    2660             : 
    2661           0 : std::vector<accparser::Exit_data_clausesContext *> accparser::Exit_data_clause_listContext::exit_data_clauses() {
    2662           0 :   return getRuleContexts<accparser::Exit_data_clausesContext>();
    2663             : }
    2664             : 
    2665           0 : accparser::Exit_data_clausesContext* accparser::Exit_data_clause_listContext::exit_data_clauses(size_t i) {
    2666           0 :   return getRuleContext<accparser::Exit_data_clausesContext>(i);
    2667             : }
    2668             : 
    2669             : 
    2670           0 : size_t accparser::Exit_data_clause_listContext::getRuleIndex() const {
    2671           0 :   return accparser::RuleExit_data_clause_list;
    2672             : }
    2673             : 
    2674           0 : void accparser::Exit_data_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    2675           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2676           0 :   if (parserListener != nullptr)
    2677           0 :     parserListener->enterExit_data_clause_list(this);
    2678           0 : }
    2679             : 
    2680           0 : void accparser::Exit_data_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    2681           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2682           0 :   if (parserListener != nullptr)
    2683           0 :     parserListener->exitExit_data_clause_list(this);
    2684           0 : }
    2685             : 
    2686             : 
    2687           0 : antlrcpp::Any accparser::Exit_data_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    2688           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2689           0 :     return parserVisitor->visitExit_data_clause_list(this);
    2690             :   else
    2691           0 :     return visitor->visitChildren(this);
    2692             : }
    2693             : 
    2694           0 : accparser::Exit_data_clause_listContext* accparser::exit_data_clause_list() {
    2695           0 :   Exit_data_clause_listContext *_localctx = _tracker.createInstance<Exit_data_clause_listContext>(_ctx, getState());
    2696           0 :   enterRule(_localctx, 62, accparser::RuleExit_data_clause_list);
    2697           0 :   size_t _la = 0;
    2698             : 
    2699           0 :   auto onExit = finally([=] {
    2700           0 :     exitRule();
    2701           0 :   });
    2702           0 :   try {
    2703           0 :     enterOuterAlt(_localctx, 1);
    2704           0 :     setState(464); 
    2705           0 :     _errHandler->sync(this);
    2706           0 :     _la = _input->LA(1);
    2707           0 :     do {
    2708           0 :       setState(463);
    2709           0 :       exit_data_clauses();
    2710           0 :       setState(466); 
    2711           0 :       _errHandler->sync(this);
    2712           0 :       _la = _input->LA(1);
    2713           0 :     } while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    2714           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    2715             :       | (1ULL << (accparser::COPYOUT - 27))
    2716             :       | (1ULL << (accparser::DELETE - 27))
    2717             :       | (1ULL << (accparser::DETACH - 27))
    2718             :       | (1ULL << (accparser::FINALIZE - 27))
    2719             :       | (1ULL << (accparser::IF - 27))
    2720           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0));
    2721             :    
    2722             :   }
    2723           0 :   catch (RecognitionException &e) {
    2724           0 :     _errHandler->reportError(this, e);
    2725           0 :     _localctx->exception = std::current_exception();
    2726           0 :     _errHandler->recover(this, _localctx->exception);
    2727             :   }
    2728             : 
    2729           0 :   return _localctx;
    2730             : }
    2731             : 
    2732             : //----------------- Exit_data_clausesContext ------------------------------------------------------------------
    2733             : 
    2734           0 : accparser::Exit_data_clausesContext::Exit_data_clausesContext(ParserRuleContext *parent, size_t invokingState)
    2735           0 :   : ParserRuleContext(parent, invokingState) {
    2736           0 : }
    2737             : 
    2738           0 : accparser::Async_clauseContext* accparser::Exit_data_clausesContext::async_clause() {
    2739           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    2740             : }
    2741             : 
    2742           0 : accparser::Copyout_no_modifier_clauseContext* accparser::Exit_data_clausesContext::copyout_no_modifier_clause() {
    2743           0 :   return getRuleContext<accparser::Copyout_no_modifier_clauseContext>(0);
    2744             : }
    2745             : 
    2746           0 : accparser::Delete_clauseContext* accparser::Exit_data_clausesContext::delete_clause() {
    2747           0 :   return getRuleContext<accparser::Delete_clauseContext>(0);
    2748             : }
    2749             : 
    2750           0 : accparser::Detach_clauseContext* accparser::Exit_data_clausesContext::detach_clause() {
    2751           0 :   return getRuleContext<accparser::Detach_clauseContext>(0);
    2752             : }
    2753             : 
    2754           0 : accparser::Finalize_clauseContext* accparser::Exit_data_clausesContext::finalize_clause() {
    2755           0 :   return getRuleContext<accparser::Finalize_clauseContext>(0);
    2756             : }
    2757             : 
    2758           0 : accparser::If_clauseContext* accparser::Exit_data_clausesContext::if_clause() {
    2759           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    2760             : }
    2761             : 
    2762           0 : accparser::Wait_argument_clauseContext* accparser::Exit_data_clausesContext::wait_argument_clause() {
    2763           0 :   return getRuleContext<accparser::Wait_argument_clauseContext>(0);
    2764             : }
    2765             : 
    2766             : 
    2767           0 : size_t accparser::Exit_data_clausesContext::getRuleIndex() const {
    2768           0 :   return accparser::RuleExit_data_clauses;
    2769             : }
    2770             : 
    2771           0 : void accparser::Exit_data_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    2772           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2773           0 :   if (parserListener != nullptr)
    2774           0 :     parserListener->enterExit_data_clauses(this);
    2775           0 : }
    2776             : 
    2777           0 : void accparser::Exit_data_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    2778           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2779           0 :   if (parserListener != nullptr)
    2780           0 :     parserListener->exitExit_data_clauses(this);
    2781           0 : }
    2782             : 
    2783             : 
    2784           0 : antlrcpp::Any accparser::Exit_data_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    2785           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2786           0 :     return parserVisitor->visitExit_data_clauses(this);
    2787             :   else
    2788           0 :     return visitor->visitChildren(this);
    2789             : }
    2790             : 
    2791           0 : accparser::Exit_data_clausesContext* accparser::exit_data_clauses() {
    2792           0 :   Exit_data_clausesContext *_localctx = _tracker.createInstance<Exit_data_clausesContext>(_ctx, getState());
    2793           0 :   enterRule(_localctx, 64, accparser::RuleExit_data_clauses);
    2794             : 
    2795           0 :   auto onExit = finally([=] {
    2796           0 :     exitRule();
    2797           0 :   });
    2798           0 :   try {
    2799           0 :     setState(475);
    2800           0 :     _errHandler->sync(this);
    2801           0 :     switch (_input->LA(1)) {
    2802           0 :       case accparser::ASYNC: {
    2803           0 :         enterOuterAlt(_localctx, 1);
    2804           0 :         setState(468);
    2805           0 :         async_clause();
    2806             :         break;
    2807             :       }
    2808             : 
    2809           0 :       case accparser::COPYOUT: {
    2810           0 :         enterOuterAlt(_localctx, 2);
    2811           0 :         setState(469);
    2812           0 :         copyout_no_modifier_clause();
    2813             :         break;
    2814             :       }
    2815             : 
    2816           0 :       case accparser::DELETE: {
    2817           0 :         enterOuterAlt(_localctx, 3);
    2818           0 :         setState(470);
    2819           0 :         delete_clause();
    2820             :         break;
    2821             :       }
    2822             : 
    2823           0 :       case accparser::DETACH: {
    2824           0 :         enterOuterAlt(_localctx, 4);
    2825           0 :         setState(471);
    2826           0 :         detach_clause();
    2827             :         break;
    2828             :       }
    2829             : 
    2830           0 :       case accparser::FINALIZE: {
    2831           0 :         enterOuterAlt(_localctx, 5);
    2832           0 :         setState(472);
    2833           0 :         finalize_clause();
    2834             :         break;
    2835             :       }
    2836             : 
    2837           0 :       case accparser::IF: {
    2838           0 :         enterOuterAlt(_localctx, 6);
    2839           0 :         setState(473);
    2840           0 :         if_clause();
    2841             :         break;
    2842             :       }
    2843             : 
    2844           0 :       case accparser::WAIT: {
    2845           0 :         enterOuterAlt(_localctx, 7);
    2846           0 :         setState(474);
    2847           0 :         wait_argument_clause();
    2848             :         break;
    2849             :       }
    2850             : 
    2851           0 :     default:
    2852           0 :       throw NoViableAltException(this);
    2853             :     }
    2854             :    
    2855             :   }
    2856           0 :   catch (RecognitionException &e) {
    2857           0 :     _errHandler->reportError(this, e);
    2858           0 :     _localctx->exception = std::current_exception();
    2859           0 :     _errHandler->recover(this, _localctx->exception);
    2860             :   }
    2861             : 
    2862           0 :   return _localctx;
    2863             : }
    2864             : 
    2865             : //----------------- Host_data_directiveContext ------------------------------------------------------------------
    2866             : 
    2867           0 : accparser::Host_data_directiveContext::Host_data_directiveContext(ParserRuleContext *parent, size_t invokingState)
    2868           0 :   : ParserRuleContext(parent, invokingState) {
    2869           0 : }
    2870             : 
    2871           0 : tree::TerminalNode* accparser::Host_data_directiveContext::HOST_DATA() {
    2872           0 :   return getToken(accparser::HOST_DATA, 0);
    2873             : }
    2874             : 
    2875           0 : accparser::Host_data_clause_listContext* accparser::Host_data_directiveContext::host_data_clause_list() {
    2876           0 :   return getRuleContext<accparser::Host_data_clause_listContext>(0);
    2877             : }
    2878             : 
    2879             : 
    2880           0 : size_t accparser::Host_data_directiveContext::getRuleIndex() const {
    2881           0 :   return accparser::RuleHost_data_directive;
    2882             : }
    2883             : 
    2884           0 : void accparser::Host_data_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    2885           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2886           0 :   if (parserListener != nullptr)
    2887           0 :     parserListener->enterHost_data_directive(this);
    2888           0 : }
    2889             : 
    2890           0 : void accparser::Host_data_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    2891           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2892           0 :   if (parserListener != nullptr)
    2893           0 :     parserListener->exitHost_data_directive(this);
    2894           0 : }
    2895             : 
    2896             : 
    2897           0 : antlrcpp::Any accparser::Host_data_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    2898           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2899           0 :     return parserVisitor->visitHost_data_directive(this);
    2900             :   else
    2901           0 :     return visitor->visitChildren(this);
    2902             : }
    2903             : 
    2904           0 : accparser::Host_data_directiveContext* accparser::host_data_directive() {
    2905           0 :   Host_data_directiveContext *_localctx = _tracker.createInstance<Host_data_directiveContext>(_ctx, getState());
    2906           0 :   enterRule(_localctx, 66, accparser::RuleHost_data_directive);
    2907             : 
    2908           0 :   auto onExit = finally([=] {
    2909           0 :     exitRule();
    2910           0 :   });
    2911           0 :   try {
    2912           0 :     enterOuterAlt(_localctx, 1);
    2913           0 :     setState(477);
    2914           0 :     match(accparser::HOST_DATA);
    2915           0 :     setState(478);
    2916           0 :     host_data_clause_list();
    2917             :    
    2918             :   }
    2919           0 :   catch (RecognitionException &e) {
    2920           0 :     _errHandler->reportError(this, e);
    2921           0 :     _localctx->exception = std::current_exception();
    2922           0 :     _errHandler->recover(this, _localctx->exception);
    2923             :   }
    2924             : 
    2925           0 :   return _localctx;
    2926             : }
    2927             : 
    2928             : //----------------- Host_data_clause_listContext ------------------------------------------------------------------
    2929             : 
    2930           0 : accparser::Host_data_clause_listContext::Host_data_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    2931           0 :   : ParserRuleContext(parent, invokingState) {
    2932           0 : }
    2933             : 
    2934           0 : std::vector<accparser::Host_data_clausesContext *> accparser::Host_data_clause_listContext::host_data_clauses() {
    2935           0 :   return getRuleContexts<accparser::Host_data_clausesContext>();
    2936             : }
    2937             : 
    2938           0 : accparser::Host_data_clausesContext* accparser::Host_data_clause_listContext::host_data_clauses(size_t i) {
    2939           0 :   return getRuleContext<accparser::Host_data_clausesContext>(i);
    2940             : }
    2941             : 
    2942             : 
    2943           0 : size_t accparser::Host_data_clause_listContext::getRuleIndex() const {
    2944           0 :   return accparser::RuleHost_data_clause_list;
    2945             : }
    2946             : 
    2947           0 : void accparser::Host_data_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    2948           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2949           0 :   if (parserListener != nullptr)
    2950           0 :     parserListener->enterHost_data_clause_list(this);
    2951           0 : }
    2952             : 
    2953           0 : void accparser::Host_data_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    2954           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    2955           0 :   if (parserListener != nullptr)
    2956           0 :     parserListener->exitHost_data_clause_list(this);
    2957           0 : }
    2958             : 
    2959             : 
    2960           0 : antlrcpp::Any accparser::Host_data_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    2961           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    2962           0 :     return parserVisitor->visitHost_data_clause_list(this);
    2963             :   else
    2964           0 :     return visitor->visitChildren(this);
    2965             : }
    2966             : 
    2967           0 : accparser::Host_data_clause_listContext* accparser::host_data_clause_list() {
    2968           0 :   Host_data_clause_listContext *_localctx = _tracker.createInstance<Host_data_clause_listContext>(_ctx, getState());
    2969           0 :   enterRule(_localctx, 68, accparser::RuleHost_data_clause_list);
    2970           0 :   size_t _la = 0;
    2971             : 
    2972           0 :   auto onExit = finally([=] {
    2973           0 :     exitRule();
    2974           0 :   });
    2975           0 :   try {
    2976           0 :     enterOuterAlt(_localctx, 1);
    2977           0 :     setState(481); 
    2978           0 :     _errHandler->sync(this);
    2979           0 :     _la = _input->LA(1);
    2980           0 :     do {
    2981           0 :       setState(480);
    2982           0 :       host_data_clauses();
    2983           0 :       setState(483); 
    2984           0 :       _errHandler->sync(this);
    2985           0 :       _la = _input->LA(1);
    2986           0 :     } while (((((_la - 50) & ~ 0x3fULL) == 0) &&
    2987           0 :       ((1ULL << (_la - 50)) & ((1ULL << (accparser::IF - 50))
    2988             :       | (1ULL << (accparser::IF_PRESENT - 50))
    2989           0 :       | (1ULL << (accparser::USE_DEVICE - 50)))) != 0));
    2990             :    
    2991             :   }
    2992           0 :   catch (RecognitionException &e) {
    2993           0 :     _errHandler->reportError(this, e);
    2994           0 :     _localctx->exception = std::current_exception();
    2995           0 :     _errHandler->recover(this, _localctx->exception);
    2996             :   }
    2997             : 
    2998           0 :   return _localctx;
    2999             : }
    3000             : 
    3001             : //----------------- Host_data_clausesContext ------------------------------------------------------------------
    3002             : 
    3003           0 : accparser::Host_data_clausesContext::Host_data_clausesContext(ParserRuleContext *parent, size_t invokingState)
    3004           0 :   : ParserRuleContext(parent, invokingState) {
    3005           0 : }
    3006             : 
    3007           0 : accparser::If_clauseContext* accparser::Host_data_clausesContext::if_clause() {
    3008           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    3009             : }
    3010             : 
    3011           0 : accparser::If_present_clauseContext* accparser::Host_data_clausesContext::if_present_clause() {
    3012           0 :   return getRuleContext<accparser::If_present_clauseContext>(0);
    3013             : }
    3014             : 
    3015           0 : accparser::Use_device_clauseContext* accparser::Host_data_clausesContext::use_device_clause() {
    3016           0 :   return getRuleContext<accparser::Use_device_clauseContext>(0);
    3017             : }
    3018             : 
    3019             : 
    3020           0 : size_t accparser::Host_data_clausesContext::getRuleIndex() const {
    3021           0 :   return accparser::RuleHost_data_clauses;
    3022             : }
    3023             : 
    3024           0 : void accparser::Host_data_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    3025           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3026           0 :   if (parserListener != nullptr)
    3027           0 :     parserListener->enterHost_data_clauses(this);
    3028           0 : }
    3029             : 
    3030           0 : void accparser::Host_data_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    3031           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3032           0 :   if (parserListener != nullptr)
    3033           0 :     parserListener->exitHost_data_clauses(this);
    3034           0 : }
    3035             : 
    3036             : 
    3037           0 : antlrcpp::Any accparser::Host_data_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    3038           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3039           0 :     return parserVisitor->visitHost_data_clauses(this);
    3040             :   else
    3041           0 :     return visitor->visitChildren(this);
    3042             : }
    3043             : 
    3044           0 : accparser::Host_data_clausesContext* accparser::host_data_clauses() {
    3045           0 :   Host_data_clausesContext *_localctx = _tracker.createInstance<Host_data_clausesContext>(_ctx, getState());
    3046           0 :   enterRule(_localctx, 70, accparser::RuleHost_data_clauses);
    3047             : 
    3048           0 :   auto onExit = finally([=] {
    3049           0 :     exitRule();
    3050           0 :   });
    3051           0 :   try {
    3052           0 :     setState(488);
    3053           0 :     _errHandler->sync(this);
    3054           0 :     switch (_input->LA(1)) {
    3055           0 :       case accparser::IF: {
    3056           0 :         enterOuterAlt(_localctx, 1);
    3057           0 :         setState(485);
    3058           0 :         if_clause();
    3059             :         break;
    3060             :       }
    3061             : 
    3062           0 :       case accparser::IF_PRESENT: {
    3063           0 :         enterOuterAlt(_localctx, 2);
    3064           0 :         setState(486);
    3065           0 :         if_present_clause();
    3066             :         break;
    3067             :       }
    3068             : 
    3069           0 :       case accparser::USE_DEVICE: {
    3070           0 :         enterOuterAlt(_localctx, 3);
    3071           0 :         setState(487);
    3072           0 :         use_device_clause();
    3073             :         break;
    3074             :       }
    3075             : 
    3076           0 :     default:
    3077           0 :       throw NoViableAltException(this);
    3078             :     }
    3079             :    
    3080             :   }
    3081           0 :   catch (RecognitionException &e) {
    3082           0 :     _errHandler->reportError(this, e);
    3083           0 :     _localctx->exception = std::current_exception();
    3084           0 :     _errHandler->recover(this, _localctx->exception);
    3085             :   }
    3086             : 
    3087           0 :   return _localctx;
    3088             : }
    3089             : 
    3090             : //----------------- Init_directiveContext ------------------------------------------------------------------
    3091             : 
    3092           0 : accparser::Init_directiveContext::Init_directiveContext(ParserRuleContext *parent, size_t invokingState)
    3093           0 :   : ParserRuleContext(parent, invokingState) {
    3094           0 : }
    3095             : 
    3096           0 : tree::TerminalNode* accparser::Init_directiveContext::INIT() {
    3097           0 :   return getToken(accparser::INIT, 0);
    3098             : }
    3099             : 
    3100           0 : accparser::Init_clause_listContext* accparser::Init_directiveContext::init_clause_list() {
    3101           0 :   return getRuleContext<accparser::Init_clause_listContext>(0);
    3102             : }
    3103             : 
    3104             : 
    3105           0 : size_t accparser::Init_directiveContext::getRuleIndex() const {
    3106           0 :   return accparser::RuleInit_directive;
    3107             : }
    3108             : 
    3109           0 : void accparser::Init_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    3110           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3111           0 :   if (parserListener != nullptr)
    3112           0 :     parserListener->enterInit_directive(this);
    3113           0 : }
    3114             : 
    3115           0 : void accparser::Init_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    3116           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3117           0 :   if (parserListener != nullptr)
    3118           0 :     parserListener->exitInit_directive(this);
    3119           0 : }
    3120             : 
    3121             : 
    3122           0 : antlrcpp::Any accparser::Init_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    3123           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3124           0 :     return parserVisitor->visitInit_directive(this);
    3125             :   else
    3126           0 :     return visitor->visitChildren(this);
    3127             : }
    3128             : 
    3129           0 : accparser::Init_directiveContext* accparser::init_directive() {
    3130           0 :   Init_directiveContext *_localctx = _tracker.createInstance<Init_directiveContext>(_ctx, getState());
    3131           0 :   enterRule(_localctx, 72, accparser::RuleInit_directive);
    3132             : 
    3133           0 :   auto onExit = finally([=] {
    3134           0 :     exitRule();
    3135           0 :   });
    3136           0 :   try {
    3137           0 :     enterOuterAlt(_localctx, 1);
    3138           0 :     setState(490);
    3139           0 :     match(accparser::INIT);
    3140           0 :     setState(491);
    3141           0 :     init_clause_list();
    3142             :    
    3143             :   }
    3144           0 :   catch (RecognitionException &e) {
    3145           0 :     _errHandler->reportError(this, e);
    3146           0 :     _localctx->exception = std::current_exception();
    3147           0 :     _errHandler->recover(this, _localctx->exception);
    3148             :   }
    3149             : 
    3150           0 :   return _localctx;
    3151             : }
    3152             : 
    3153             : //----------------- Init_clause_listContext ------------------------------------------------------------------
    3154             : 
    3155           0 : accparser::Init_clause_listContext::Init_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    3156           0 :   : ParserRuleContext(parent, invokingState) {
    3157           0 : }
    3158             : 
    3159           0 : std::vector<accparser::Init_clausesContext *> accparser::Init_clause_listContext::init_clauses() {
    3160           0 :   return getRuleContexts<accparser::Init_clausesContext>();
    3161             : }
    3162             : 
    3163           0 : accparser::Init_clausesContext* accparser::Init_clause_listContext::init_clauses(size_t i) {
    3164           0 :   return getRuleContext<accparser::Init_clausesContext>(i);
    3165             : }
    3166             : 
    3167             : 
    3168           0 : size_t accparser::Init_clause_listContext::getRuleIndex() const {
    3169           0 :   return accparser::RuleInit_clause_list;
    3170             : }
    3171             : 
    3172           0 : void accparser::Init_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    3173           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3174           0 :   if (parserListener != nullptr)
    3175           0 :     parserListener->enterInit_clause_list(this);
    3176           0 : }
    3177             : 
    3178           0 : void accparser::Init_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    3179           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3180           0 :   if (parserListener != nullptr)
    3181           0 :     parserListener->exitInit_clause_list(this);
    3182           0 : }
    3183             : 
    3184             : 
    3185           0 : antlrcpp::Any accparser::Init_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    3186           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3187           0 :     return parserVisitor->visitInit_clause_list(this);
    3188             :   else
    3189           0 :     return visitor->visitChildren(this);
    3190             : }
    3191             : 
    3192           0 : accparser::Init_clause_listContext* accparser::init_clause_list() {
    3193           0 :   Init_clause_listContext *_localctx = _tracker.createInstance<Init_clause_listContext>(_ctx, getState());
    3194           0 :   enterRule(_localctx, 74, accparser::RuleInit_clause_list);
    3195           0 :   size_t _la = 0;
    3196             : 
    3197           0 :   auto onExit = finally([=] {
    3198           0 :     exitRule();
    3199           0 :   });
    3200           0 :   try {
    3201           0 :     enterOuterAlt(_localctx, 1);
    3202           0 :     setState(496);
    3203           0 :     _errHandler->sync(this);
    3204           0 :     _la = _input->LA(1);
    3205           0 :     while ((((_la & ~ 0x3fULL) == 0) &&
    3206             :       ((1ULL << _la) & ((1ULL << accparser::DEVICE_NUM)
    3207             :       | (1ULL << accparser::DEVICE_TYPE)
    3208           0 :       | (1ULL << accparser::IF))) != 0)) {
    3209           0 :       setState(493);
    3210           0 :       init_clauses();
    3211           0 :       setState(498);
    3212           0 :       _errHandler->sync(this);
    3213           0 :       _la = _input->LA(1);
    3214             :     }
    3215             :    
    3216             :   }
    3217           0 :   catch (RecognitionException &e) {
    3218           0 :     _errHandler->reportError(this, e);
    3219           0 :     _localctx->exception = std::current_exception();
    3220           0 :     _errHandler->recover(this, _localctx->exception);
    3221             :   }
    3222             : 
    3223           0 :   return _localctx;
    3224             : }
    3225             : 
    3226             : //----------------- Init_clausesContext ------------------------------------------------------------------
    3227             : 
    3228           0 : accparser::Init_clausesContext::Init_clausesContext(ParserRuleContext *parent, size_t invokingState)
    3229           0 :   : ParserRuleContext(parent, invokingState) {
    3230           0 : }
    3231             : 
    3232           0 : accparser::Device_type_clauseContext* accparser::Init_clausesContext::device_type_clause() {
    3233           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    3234             : }
    3235             : 
    3236           0 : accparser::Device_num_clauseContext* accparser::Init_clausesContext::device_num_clause() {
    3237           0 :   return getRuleContext<accparser::Device_num_clauseContext>(0);
    3238             : }
    3239             : 
    3240           0 : accparser::If_clauseContext* accparser::Init_clausesContext::if_clause() {
    3241           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    3242             : }
    3243             : 
    3244             : 
    3245           0 : size_t accparser::Init_clausesContext::getRuleIndex() const {
    3246           0 :   return accparser::RuleInit_clauses;
    3247             : }
    3248             : 
    3249           0 : void accparser::Init_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    3250           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3251           0 :   if (parserListener != nullptr)
    3252           0 :     parserListener->enterInit_clauses(this);
    3253           0 : }
    3254             : 
    3255           0 : void accparser::Init_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    3256           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3257           0 :   if (parserListener != nullptr)
    3258           0 :     parserListener->exitInit_clauses(this);
    3259           0 : }
    3260             : 
    3261             : 
    3262           0 : antlrcpp::Any accparser::Init_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    3263           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3264           0 :     return parserVisitor->visitInit_clauses(this);
    3265             :   else
    3266           0 :     return visitor->visitChildren(this);
    3267             : }
    3268             : 
    3269           0 : accparser::Init_clausesContext* accparser::init_clauses() {
    3270           0 :   Init_clausesContext *_localctx = _tracker.createInstance<Init_clausesContext>(_ctx, getState());
    3271           0 :   enterRule(_localctx, 76, accparser::RuleInit_clauses);
    3272             : 
    3273           0 :   auto onExit = finally([=] {
    3274           0 :     exitRule();
    3275           0 :   });
    3276           0 :   try {
    3277           0 :     setState(502);
    3278           0 :     _errHandler->sync(this);
    3279           0 :     switch (_input->LA(1)) {
    3280           0 :       case accparser::DEVICE_TYPE: {
    3281           0 :         enterOuterAlt(_localctx, 1);
    3282           0 :         setState(499);
    3283           0 :         device_type_clause();
    3284             :         break;
    3285             :       }
    3286             : 
    3287           0 :       case accparser::DEVICE_NUM: {
    3288           0 :         enterOuterAlt(_localctx, 2);
    3289           0 :         setState(500);
    3290           0 :         device_num_clause();
    3291             :         break;
    3292             :       }
    3293             : 
    3294           0 :       case accparser::IF: {
    3295           0 :         enterOuterAlt(_localctx, 3);
    3296           0 :         setState(501);
    3297           0 :         if_clause();
    3298             :         break;
    3299             :       }
    3300             : 
    3301           0 :     default:
    3302           0 :       throw NoViableAltException(this);
    3303             :     }
    3304             :    
    3305             :   }
    3306           0 :   catch (RecognitionException &e) {
    3307           0 :     _errHandler->reportError(this, e);
    3308           0 :     _localctx->exception = std::current_exception();
    3309           0 :     _errHandler->recover(this, _localctx->exception);
    3310             :   }
    3311             : 
    3312           0 :   return _localctx;
    3313             : }
    3314             : 
    3315             : //----------------- Kernels_directiveContext ------------------------------------------------------------------
    3316             : 
    3317           0 : accparser::Kernels_directiveContext::Kernels_directiveContext(ParserRuleContext *parent, size_t invokingState)
    3318           0 :   : ParserRuleContext(parent, invokingState) {
    3319           0 : }
    3320             : 
    3321           0 : tree::TerminalNode* accparser::Kernels_directiveContext::KERNELS() {
    3322           0 :   return getToken(accparser::KERNELS, 0);
    3323             : }
    3324             : 
    3325           0 : accparser::Kernels_clause_listContext* accparser::Kernels_directiveContext::kernels_clause_list() {
    3326           0 :   return getRuleContext<accparser::Kernels_clause_listContext>(0);
    3327             : }
    3328             : 
    3329             : 
    3330           0 : size_t accparser::Kernels_directiveContext::getRuleIndex() const {
    3331           0 :   return accparser::RuleKernels_directive;
    3332             : }
    3333             : 
    3334           0 : void accparser::Kernels_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    3335           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3336           0 :   if (parserListener != nullptr)
    3337           0 :     parserListener->enterKernels_directive(this);
    3338           0 : }
    3339             : 
    3340           0 : void accparser::Kernels_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    3341           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3342           0 :   if (parserListener != nullptr)
    3343           0 :     parserListener->exitKernels_directive(this);
    3344           0 : }
    3345             : 
    3346             : 
    3347           0 : antlrcpp::Any accparser::Kernels_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    3348           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3349           0 :     return parserVisitor->visitKernels_directive(this);
    3350             :   else
    3351           0 :     return visitor->visitChildren(this);
    3352             : }
    3353             : 
    3354           0 : accparser::Kernels_directiveContext* accparser::kernels_directive() {
    3355           0 :   Kernels_directiveContext *_localctx = _tracker.createInstance<Kernels_directiveContext>(_ctx, getState());
    3356           0 :   enterRule(_localctx, 78, accparser::RuleKernels_directive);
    3357             : 
    3358           0 :   auto onExit = finally([=] {
    3359           0 :     exitRule();
    3360           0 :   });
    3361           0 :   try {
    3362           0 :     enterOuterAlt(_localctx, 1);
    3363           0 :     setState(504);
    3364           0 :     match(accparser::KERNELS);
    3365           0 :     setState(505);
    3366           0 :     kernels_clause_list();
    3367             :    
    3368             :   }
    3369           0 :   catch (RecognitionException &e) {
    3370           0 :     _errHandler->reportError(this, e);
    3371           0 :     _localctx->exception = std::current_exception();
    3372           0 :     _errHandler->recover(this, _localctx->exception);
    3373             :   }
    3374             : 
    3375           0 :   return _localctx;
    3376             : }
    3377             : 
    3378             : //----------------- Kernels_clause_listContext ------------------------------------------------------------------
    3379             : 
    3380           0 : accparser::Kernels_clause_listContext::Kernels_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    3381           0 :   : ParserRuleContext(parent, invokingState) {
    3382           0 : }
    3383             : 
    3384           0 : std::vector<accparser::Kernels_clausesContext *> accparser::Kernels_clause_listContext::kernels_clauses() {
    3385           0 :   return getRuleContexts<accparser::Kernels_clausesContext>();
    3386             : }
    3387             : 
    3388           0 : accparser::Kernels_clausesContext* accparser::Kernels_clause_listContext::kernels_clauses(size_t i) {
    3389           0 :   return getRuleContext<accparser::Kernels_clausesContext>(i);
    3390             : }
    3391             : 
    3392             : 
    3393           0 : size_t accparser::Kernels_clause_listContext::getRuleIndex() const {
    3394           0 :   return accparser::RuleKernels_clause_list;
    3395             : }
    3396             : 
    3397           0 : void accparser::Kernels_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    3398           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3399           0 :   if (parserListener != nullptr)
    3400           0 :     parserListener->enterKernels_clause_list(this);
    3401           0 : }
    3402             : 
    3403           0 : void accparser::Kernels_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    3404           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3405           0 :   if (parserListener != nullptr)
    3406           0 :     parserListener->exitKernels_clause_list(this);
    3407           0 : }
    3408             : 
    3409             : 
    3410           0 : antlrcpp::Any accparser::Kernels_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    3411           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3412           0 :     return parserVisitor->visitKernels_clause_list(this);
    3413             :   else
    3414           0 :     return visitor->visitChildren(this);
    3415             : }
    3416             : 
    3417           0 : accparser::Kernels_clause_listContext* accparser::kernels_clause_list() {
    3418           0 :   Kernels_clause_listContext *_localctx = _tracker.createInstance<Kernels_clause_listContext>(_ctx, getState());
    3419           0 :   enterRule(_localctx, 80, accparser::RuleKernels_clause_list);
    3420           0 :   size_t _la = 0;
    3421             : 
    3422           0 :   auto onExit = finally([=] {
    3423           0 :     exitRule();
    3424           0 :   });
    3425           0 :   try {
    3426           0 :     enterOuterAlt(_localctx, 1);
    3427           0 :     setState(510);
    3428           0 :     _errHandler->sync(this);
    3429           0 :     _la = _input->LA(1);
    3430           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    3431           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    3432             :       | (1ULL << (accparser::ATTACH - 27))
    3433             :       | (1ULL << (accparser::COPY - 27))
    3434             :       | (1ULL << (accparser::COPYIN - 27))
    3435             :       | (1ULL << (accparser::COPYOUT - 27))
    3436             :       | (1ULL << (accparser::CREATE - 27))
    3437             :       | (1ULL << (accparser::DEFAULT - 27))
    3438             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    3439             :       | (1ULL << (accparser::DEVICEPTR - 27))
    3440             :       | (1ULL << (accparser::IF - 27))
    3441             :       | (1ULL << (accparser::NO_CREATE - 27))
    3442             :       | (1ULL << (accparser::NUM_GANGS - 27))
    3443             :       | (1ULL << (accparser::NUM_WORKERS - 27))
    3444             :       | (1ULL << (accparser::PRESENT - 27))
    3445             :       | (1ULL << (accparser::SELF - 27))
    3446             :       | (1ULL << (accparser::VECTOR_LENGTH - 27))
    3447           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0)) {
    3448           0 :       setState(507);
    3449           0 :       kernels_clauses();
    3450           0 :       setState(512);
    3451           0 :       _errHandler->sync(this);
    3452           0 :       _la = _input->LA(1);
    3453             :     }
    3454             :    
    3455             :   }
    3456           0 :   catch (RecognitionException &e) {
    3457           0 :     _errHandler->reportError(this, e);
    3458           0 :     _localctx->exception = std::current_exception();
    3459           0 :     _errHandler->recover(this, _localctx->exception);
    3460             :   }
    3461             : 
    3462           0 :   return _localctx;
    3463             : }
    3464             : 
    3465             : //----------------- Kernels_clausesContext ------------------------------------------------------------------
    3466             : 
    3467           0 : accparser::Kernels_clausesContext::Kernels_clausesContext(ParserRuleContext *parent, size_t invokingState)
    3468           0 :   : ParserRuleContext(parent, invokingState) {
    3469           0 : }
    3470             : 
    3471           0 : accparser::Async_clauseContext* accparser::Kernels_clausesContext::async_clause() {
    3472           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    3473             : }
    3474             : 
    3475           0 : accparser::Attach_clauseContext* accparser::Kernels_clausesContext::attach_clause() {
    3476           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    3477             : }
    3478             : 
    3479           0 : accparser::Copy_clauseContext* accparser::Kernels_clausesContext::copy_clause() {
    3480           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    3481             : }
    3482             : 
    3483           0 : accparser::Copyin_clauseContext* accparser::Kernels_clausesContext::copyin_clause() {
    3484           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    3485             : }
    3486             : 
    3487           0 : accparser::Copyout_clauseContext* accparser::Kernels_clausesContext::copyout_clause() {
    3488           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    3489             : }
    3490             : 
    3491           0 : accparser::Create_clauseContext* accparser::Kernels_clausesContext::create_clause() {
    3492           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    3493             : }
    3494             : 
    3495           0 : accparser::Default_clauseContext* accparser::Kernels_clausesContext::default_clause() {
    3496           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    3497             : }
    3498             : 
    3499           0 : accparser::Device_type_clauseContext* accparser::Kernels_clausesContext::device_type_clause() {
    3500           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    3501             : }
    3502             : 
    3503           0 : accparser::Deviceptr_clauseContext* accparser::Kernels_clausesContext::deviceptr_clause() {
    3504           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    3505             : }
    3506             : 
    3507           0 : accparser::If_clauseContext* accparser::Kernels_clausesContext::if_clause() {
    3508           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    3509             : }
    3510             : 
    3511           0 : accparser::No_create_clauseContext* accparser::Kernels_clausesContext::no_create_clause() {
    3512           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    3513             : }
    3514             : 
    3515           0 : accparser::Num_gangs_clauseContext* accparser::Kernels_clausesContext::num_gangs_clause() {
    3516           0 :   return getRuleContext<accparser::Num_gangs_clauseContext>(0);
    3517             : }
    3518             : 
    3519           0 : accparser::Num_workers_clauseContext* accparser::Kernels_clausesContext::num_workers_clause() {
    3520           0 :   return getRuleContext<accparser::Num_workers_clauseContext>(0);
    3521             : }
    3522             : 
    3523           0 : accparser::Present_clauseContext* accparser::Kernels_clausesContext::present_clause() {
    3524           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    3525             : }
    3526             : 
    3527           0 : accparser::Self_clauseContext* accparser::Kernels_clausesContext::self_clause() {
    3528           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    3529             : }
    3530             : 
    3531           0 : accparser::Vector_length_clauseContext* accparser::Kernels_clausesContext::vector_length_clause() {
    3532           0 :   return getRuleContext<accparser::Vector_length_clauseContext>(0);
    3533             : }
    3534             : 
    3535           0 : accparser::Wait_clauseContext* accparser::Kernels_clausesContext::wait_clause() {
    3536           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    3537             : }
    3538             : 
    3539             : 
    3540           0 : size_t accparser::Kernels_clausesContext::getRuleIndex() const {
    3541           0 :   return accparser::RuleKernels_clauses;
    3542             : }
    3543             : 
    3544           0 : void accparser::Kernels_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    3545           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3546           0 :   if (parserListener != nullptr)
    3547           0 :     parserListener->enterKernels_clauses(this);
    3548           0 : }
    3549             : 
    3550           0 : void accparser::Kernels_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    3551           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3552           0 :   if (parserListener != nullptr)
    3553           0 :     parserListener->exitKernels_clauses(this);
    3554           0 : }
    3555             : 
    3556             : 
    3557           0 : antlrcpp::Any accparser::Kernels_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    3558           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3559           0 :     return parserVisitor->visitKernels_clauses(this);
    3560             :   else
    3561           0 :     return visitor->visitChildren(this);
    3562             : }
    3563             : 
    3564           0 : accparser::Kernels_clausesContext* accparser::kernels_clauses() {
    3565           0 :   Kernels_clausesContext *_localctx = _tracker.createInstance<Kernels_clausesContext>(_ctx, getState());
    3566           0 :   enterRule(_localctx, 82, accparser::RuleKernels_clauses);
    3567             : 
    3568           0 :   auto onExit = finally([=] {
    3569           0 :     exitRule();
    3570           0 :   });
    3571           0 :   try {
    3572           0 :     setState(530);
    3573           0 :     _errHandler->sync(this);
    3574           0 :     switch (_input->LA(1)) {
    3575           0 :       case accparser::ASYNC: {
    3576           0 :         enterOuterAlt(_localctx, 1);
    3577           0 :         setState(513);
    3578           0 :         async_clause();
    3579             :         break;
    3580             :       }
    3581             : 
    3582           0 :       case accparser::ATTACH: {
    3583           0 :         enterOuterAlt(_localctx, 2);
    3584           0 :         setState(514);
    3585           0 :         attach_clause();
    3586             :         break;
    3587             :       }
    3588             : 
    3589           0 :       case accparser::COPY: {
    3590           0 :         enterOuterAlt(_localctx, 3);
    3591           0 :         setState(515);
    3592           0 :         copy_clause();
    3593             :         break;
    3594             :       }
    3595             : 
    3596           0 :       case accparser::COPYIN: {
    3597           0 :         enterOuterAlt(_localctx, 4);
    3598           0 :         setState(516);
    3599           0 :         copyin_clause();
    3600             :         break;
    3601             :       }
    3602             : 
    3603           0 :       case accparser::COPYOUT: {
    3604           0 :         enterOuterAlt(_localctx, 5);
    3605           0 :         setState(517);
    3606           0 :         copyout_clause();
    3607             :         break;
    3608             :       }
    3609             : 
    3610           0 :       case accparser::CREATE: {
    3611           0 :         enterOuterAlt(_localctx, 6);
    3612           0 :         setState(518);
    3613           0 :         create_clause();
    3614             :         break;
    3615             :       }
    3616             : 
    3617           0 :       case accparser::DEFAULT: {
    3618           0 :         enterOuterAlt(_localctx, 7);
    3619           0 :         setState(519);
    3620           0 :         default_clause();
    3621             :         break;
    3622             :       }
    3623             : 
    3624           0 :       case accparser::DEVICE_TYPE: {
    3625           0 :         enterOuterAlt(_localctx, 8);
    3626           0 :         setState(520);
    3627           0 :         device_type_clause();
    3628             :         break;
    3629             :       }
    3630             : 
    3631           0 :       case accparser::DEVICEPTR: {
    3632           0 :         enterOuterAlt(_localctx, 9);
    3633           0 :         setState(521);
    3634           0 :         deviceptr_clause();
    3635             :         break;
    3636             :       }
    3637             : 
    3638           0 :       case accparser::IF: {
    3639           0 :         enterOuterAlt(_localctx, 10);
    3640           0 :         setState(522);
    3641           0 :         if_clause();
    3642             :         break;
    3643             :       }
    3644             : 
    3645           0 :       case accparser::NO_CREATE: {
    3646           0 :         enterOuterAlt(_localctx, 11);
    3647           0 :         setState(523);
    3648           0 :         no_create_clause();
    3649             :         break;
    3650             :       }
    3651             : 
    3652           0 :       case accparser::NUM_GANGS: {
    3653           0 :         enterOuterAlt(_localctx, 12);
    3654           0 :         setState(524);
    3655           0 :         num_gangs_clause();
    3656             :         break;
    3657             :       }
    3658             : 
    3659           0 :       case accparser::NUM_WORKERS: {
    3660           0 :         enterOuterAlt(_localctx, 13);
    3661           0 :         setState(525);
    3662           0 :         num_workers_clause();
    3663             :         break;
    3664             :       }
    3665             : 
    3666           0 :       case accparser::PRESENT: {
    3667           0 :         enterOuterAlt(_localctx, 14);
    3668           0 :         setState(526);
    3669           0 :         present_clause();
    3670             :         break;
    3671             :       }
    3672             : 
    3673           0 :       case accparser::SELF: {
    3674           0 :         enterOuterAlt(_localctx, 15);
    3675           0 :         setState(527);
    3676           0 :         self_clause();
    3677             :         break;
    3678             :       }
    3679             : 
    3680           0 :       case accparser::VECTOR_LENGTH: {
    3681           0 :         enterOuterAlt(_localctx, 16);
    3682           0 :         setState(528);
    3683           0 :         vector_length_clause();
    3684             :         break;
    3685             :       }
    3686             : 
    3687           0 :       case accparser::WAIT: {
    3688           0 :         enterOuterAlt(_localctx, 17);
    3689           0 :         setState(529);
    3690           0 :         wait_clause();
    3691             :         break;
    3692             :       }
    3693             : 
    3694           0 :     default:
    3695           0 :       throw NoViableAltException(this);
    3696             :     }
    3697             :    
    3698             :   }
    3699           0 :   catch (RecognitionException &e) {
    3700           0 :     _errHandler->reportError(this, e);
    3701           0 :     _localctx->exception = std::current_exception();
    3702           0 :     _errHandler->recover(this, _localctx->exception);
    3703             :   }
    3704             : 
    3705           0 :   return _localctx;
    3706             : }
    3707             : 
    3708             : //----------------- Kernels_loop_directiveContext ------------------------------------------------------------------
    3709             : 
    3710           0 : accparser::Kernels_loop_directiveContext::Kernels_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    3711           0 :   : ParserRuleContext(parent, invokingState) {
    3712           0 : }
    3713             : 
    3714           0 : tree::TerminalNode* accparser::Kernels_loop_directiveContext::KERNELS() {
    3715           0 :   return getToken(accparser::KERNELS, 0);
    3716             : }
    3717             : 
    3718           0 : tree::TerminalNode* accparser::Kernels_loop_directiveContext::LOOP() {
    3719           0 :   return getToken(accparser::LOOP, 0);
    3720             : }
    3721             : 
    3722           0 : accparser::Kernels_loop_clause_listContext* accparser::Kernels_loop_directiveContext::kernels_loop_clause_list() {
    3723           0 :   return getRuleContext<accparser::Kernels_loop_clause_listContext>(0);
    3724             : }
    3725             : 
    3726             : 
    3727           0 : size_t accparser::Kernels_loop_directiveContext::getRuleIndex() const {
    3728           0 :   return accparser::RuleKernels_loop_directive;
    3729             : }
    3730             : 
    3731           0 : void accparser::Kernels_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    3732           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3733           0 :   if (parserListener != nullptr)
    3734           0 :     parserListener->enterKernels_loop_directive(this);
    3735           0 : }
    3736             : 
    3737           0 : void accparser::Kernels_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    3738           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3739           0 :   if (parserListener != nullptr)
    3740           0 :     parserListener->exitKernels_loop_directive(this);
    3741           0 : }
    3742             : 
    3743             : 
    3744           0 : antlrcpp::Any accparser::Kernels_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    3745           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3746           0 :     return parserVisitor->visitKernels_loop_directive(this);
    3747             :   else
    3748           0 :     return visitor->visitChildren(this);
    3749             : }
    3750             : 
    3751           0 : accparser::Kernels_loop_directiveContext* accparser::kernels_loop_directive() {
    3752           0 :   Kernels_loop_directiveContext *_localctx = _tracker.createInstance<Kernels_loop_directiveContext>(_ctx, getState());
    3753           0 :   enterRule(_localctx, 84, accparser::RuleKernels_loop_directive);
    3754             : 
    3755           0 :   auto onExit = finally([=] {
    3756           0 :     exitRule();
    3757           0 :   });
    3758           0 :   try {
    3759           0 :     enterOuterAlt(_localctx, 1);
    3760           0 :     setState(532);
    3761           0 :     match(accparser::KERNELS);
    3762           0 :     setState(533);
    3763           0 :     match(accparser::LOOP);
    3764           0 :     setState(534);
    3765           0 :     kernels_loop_clause_list();
    3766             :    
    3767             :   }
    3768           0 :   catch (RecognitionException &e) {
    3769           0 :     _errHandler->reportError(this, e);
    3770           0 :     _localctx->exception = std::current_exception();
    3771           0 :     _errHandler->recover(this, _localctx->exception);
    3772             :   }
    3773             : 
    3774           0 :   return _localctx;
    3775             : }
    3776             : 
    3777             : //----------------- Kernels_loop_clause_listContext ------------------------------------------------------------------
    3778             : 
    3779           0 : accparser::Kernels_loop_clause_listContext::Kernels_loop_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    3780           0 :   : ParserRuleContext(parent, invokingState) {
    3781           0 : }
    3782             : 
    3783           0 : std::vector<accparser::Kernels_loop_clausesContext *> accparser::Kernels_loop_clause_listContext::kernels_loop_clauses() {
    3784           0 :   return getRuleContexts<accparser::Kernels_loop_clausesContext>();
    3785             : }
    3786             : 
    3787           0 : accparser::Kernels_loop_clausesContext* accparser::Kernels_loop_clause_listContext::kernels_loop_clauses(size_t i) {
    3788           0 :   return getRuleContext<accparser::Kernels_loop_clausesContext>(i);
    3789             : }
    3790             : 
    3791             : 
    3792           0 : size_t accparser::Kernels_loop_clause_listContext::getRuleIndex() const {
    3793           0 :   return accparser::RuleKernels_loop_clause_list;
    3794             : }
    3795             : 
    3796           0 : void accparser::Kernels_loop_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    3797           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3798           0 :   if (parserListener != nullptr)
    3799           0 :     parserListener->enterKernels_loop_clause_list(this);
    3800           0 : }
    3801             : 
    3802           0 : void accparser::Kernels_loop_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    3803           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3804           0 :   if (parserListener != nullptr)
    3805           0 :     parserListener->exitKernels_loop_clause_list(this);
    3806           0 : }
    3807             : 
    3808             : 
    3809           0 : antlrcpp::Any accparser::Kernels_loop_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    3810           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    3811           0 :     return parserVisitor->visitKernels_loop_clause_list(this);
    3812             :   else
    3813           0 :     return visitor->visitChildren(this);
    3814             : }
    3815             : 
    3816           0 : accparser::Kernels_loop_clause_listContext* accparser::kernels_loop_clause_list() {
    3817           0 :   Kernels_loop_clause_listContext *_localctx = _tracker.createInstance<Kernels_loop_clause_listContext>(_ctx, getState());
    3818           0 :   enterRule(_localctx, 86, accparser::RuleKernels_loop_clause_list);
    3819           0 :   size_t _la = 0;
    3820             : 
    3821           0 :   auto onExit = finally([=] {
    3822           0 :     exitRule();
    3823           0 :   });
    3824           0 :   try {
    3825           0 :     enterOuterAlt(_localctx, 1);
    3826           0 :     setState(539);
    3827           0 :     _errHandler->sync(this);
    3828           0 :     _la = _input->LA(1);
    3829           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    3830           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    3831             :       | (1ULL << (accparser::ATTACH - 27))
    3832             :       | (1ULL << (accparser::AUTO - 27))
    3833             :       | (1ULL << (accparser::COLLAPSE - 27))
    3834             :       | (1ULL << (accparser::COPY - 27))
    3835             :       | (1ULL << (accparser::COPYIN - 27))
    3836             :       | (1ULL << (accparser::COPYOUT - 27))
    3837             :       | (1ULL << (accparser::CREATE - 27))
    3838             :       | (1ULL << (accparser::DEFAULT - 27))
    3839             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    3840             :       | (1ULL << (accparser::DEVICEPTR - 27))
    3841             :       | (1ULL << (accparser::GANG - 27))
    3842             :       | (1ULL << (accparser::IF - 27))
    3843             :       | (1ULL << (accparser::INDEPENDENT - 27))
    3844             :       | (1ULL << (accparser::NO_CREATE - 27))
    3845             :       | (1ULL << (accparser::NUM_GANGS - 27))
    3846             :       | (1ULL << (accparser::NUM_WORKERS - 27))
    3847             :       | (1ULL << (accparser::PRESENT - 27))
    3848             :       | (1ULL << (accparser::PRIVATE - 27))
    3849             :       | (1ULL << (accparser::REDUCTION - 27))
    3850             :       | (1ULL << (accparser::SELF - 27))
    3851             :       | (1ULL << (accparser::SEQ - 27))
    3852             :       | (1ULL << (accparser::TILE - 27))
    3853             :       | (1ULL << (accparser::VECTOR - 27))
    3854             :       | (1ULL << (accparser::VECTOR_LENGTH - 27))
    3855             :       | (1ULL << (accparser::WAIT - 27))
    3856           0 :       | (1ULL << (accparser::WORKER - 27)))) != 0)) {
    3857           0 :       setState(536);
    3858           0 :       kernels_loop_clauses();
    3859           0 :       setState(541);
    3860           0 :       _errHandler->sync(this);
    3861           0 :       _la = _input->LA(1);
    3862             :     }
    3863             :    
    3864             :   }
    3865           0 :   catch (RecognitionException &e) {
    3866           0 :     _errHandler->reportError(this, e);
    3867           0 :     _localctx->exception = std::current_exception();
    3868           0 :     _errHandler->recover(this, _localctx->exception);
    3869             :   }
    3870             : 
    3871           0 :   return _localctx;
    3872             : }
    3873             : 
    3874             : //----------------- Kernels_loop_clausesContext ------------------------------------------------------------------
    3875             : 
    3876           0 : accparser::Kernels_loop_clausesContext::Kernels_loop_clausesContext(ParserRuleContext *parent, size_t invokingState)
    3877           0 :   : ParserRuleContext(parent, invokingState) {
    3878           0 : }
    3879             : 
    3880           0 : accparser::Async_clauseContext* accparser::Kernels_loop_clausesContext::async_clause() {
    3881           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    3882             : }
    3883             : 
    3884           0 : accparser::Attach_clauseContext* accparser::Kernels_loop_clausesContext::attach_clause() {
    3885           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    3886             : }
    3887             : 
    3888           0 : accparser::Auto_clauseContext* accparser::Kernels_loop_clausesContext::auto_clause() {
    3889           0 :   return getRuleContext<accparser::Auto_clauseContext>(0);
    3890             : }
    3891             : 
    3892           0 : accparser::Collapse_clauseContext* accparser::Kernels_loop_clausesContext::collapse_clause() {
    3893           0 :   return getRuleContext<accparser::Collapse_clauseContext>(0);
    3894             : }
    3895             : 
    3896           0 : accparser::Copy_clauseContext* accparser::Kernels_loop_clausesContext::copy_clause() {
    3897           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    3898             : }
    3899             : 
    3900           0 : accparser::Copyin_clauseContext* accparser::Kernels_loop_clausesContext::copyin_clause() {
    3901           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    3902             : }
    3903             : 
    3904           0 : accparser::Copyout_clauseContext* accparser::Kernels_loop_clausesContext::copyout_clause() {
    3905           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    3906             : }
    3907             : 
    3908           0 : accparser::Create_clauseContext* accparser::Kernels_loop_clausesContext::create_clause() {
    3909           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    3910             : }
    3911             : 
    3912           0 : accparser::Default_clauseContext* accparser::Kernels_loop_clausesContext::default_clause() {
    3913           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    3914             : }
    3915             : 
    3916           0 : accparser::Device_type_clauseContext* accparser::Kernels_loop_clausesContext::device_type_clause() {
    3917           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    3918             : }
    3919             : 
    3920           0 : accparser::Deviceptr_clauseContext* accparser::Kernels_loop_clausesContext::deviceptr_clause() {
    3921           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    3922             : }
    3923             : 
    3924           0 : accparser::Gang_clauseContext* accparser::Kernels_loop_clausesContext::gang_clause() {
    3925           0 :   return getRuleContext<accparser::Gang_clauseContext>(0);
    3926             : }
    3927             : 
    3928           0 : accparser::If_clauseContext* accparser::Kernels_loop_clausesContext::if_clause() {
    3929           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    3930             : }
    3931             : 
    3932           0 : accparser::Independent_clauseContext* accparser::Kernels_loop_clausesContext::independent_clause() {
    3933           0 :   return getRuleContext<accparser::Independent_clauseContext>(0);
    3934             : }
    3935             : 
    3936           0 : accparser::No_create_clauseContext* accparser::Kernels_loop_clausesContext::no_create_clause() {
    3937           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    3938             : }
    3939             : 
    3940           0 : accparser::Num_gangs_clauseContext* accparser::Kernels_loop_clausesContext::num_gangs_clause() {
    3941           0 :   return getRuleContext<accparser::Num_gangs_clauseContext>(0);
    3942             : }
    3943             : 
    3944           0 : accparser::Num_workers_clauseContext* accparser::Kernels_loop_clausesContext::num_workers_clause() {
    3945           0 :   return getRuleContext<accparser::Num_workers_clauseContext>(0);
    3946             : }
    3947             : 
    3948           0 : accparser::Present_clauseContext* accparser::Kernels_loop_clausesContext::present_clause() {
    3949           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    3950             : }
    3951             : 
    3952           0 : accparser::Private_clauseContext* accparser::Kernels_loop_clausesContext::private_clause() {
    3953           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    3954             : }
    3955             : 
    3956           0 : accparser::Reduction_clauseContext* accparser::Kernels_loop_clausesContext::reduction_clause() {
    3957           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    3958             : }
    3959             : 
    3960           0 : accparser::Self_clauseContext* accparser::Kernels_loop_clausesContext::self_clause() {
    3961           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    3962             : }
    3963             : 
    3964           0 : accparser::Seq_clauseContext* accparser::Kernels_loop_clausesContext::seq_clause() {
    3965           0 :   return getRuleContext<accparser::Seq_clauseContext>(0);
    3966             : }
    3967             : 
    3968           0 : accparser::Tile_clauseContext* accparser::Kernels_loop_clausesContext::tile_clause() {
    3969           0 :   return getRuleContext<accparser::Tile_clauseContext>(0);
    3970             : }
    3971             : 
    3972           0 : accparser::Vector_clauseContext* accparser::Kernels_loop_clausesContext::vector_clause() {
    3973           0 :   return getRuleContext<accparser::Vector_clauseContext>(0);
    3974             : }
    3975             : 
    3976           0 : accparser::Vector_length_clauseContext* accparser::Kernels_loop_clausesContext::vector_length_clause() {
    3977           0 :   return getRuleContext<accparser::Vector_length_clauseContext>(0);
    3978             : }
    3979             : 
    3980           0 : accparser::Wait_clauseContext* accparser::Kernels_loop_clausesContext::wait_clause() {
    3981           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    3982             : }
    3983             : 
    3984           0 : accparser::Worker_clauseContext* accparser::Kernels_loop_clausesContext::worker_clause() {
    3985           0 :   return getRuleContext<accparser::Worker_clauseContext>(0);
    3986             : }
    3987             : 
    3988             : 
    3989           0 : size_t accparser::Kernels_loop_clausesContext::getRuleIndex() const {
    3990           0 :   return accparser::RuleKernels_loop_clauses;
    3991             : }
    3992             : 
    3993           0 : void accparser::Kernels_loop_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    3994           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    3995           0 :   if (parserListener != nullptr)
    3996           0 :     parserListener->enterKernels_loop_clauses(this);
    3997           0 : }
    3998             : 
    3999           0 : void accparser::Kernels_loop_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    4000           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4001           0 :   if (parserListener != nullptr)
    4002           0 :     parserListener->exitKernels_loop_clauses(this);
    4003           0 : }
    4004             : 
    4005             : 
    4006           0 : antlrcpp::Any accparser::Kernels_loop_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    4007           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4008           0 :     return parserVisitor->visitKernels_loop_clauses(this);
    4009             :   else
    4010           0 :     return visitor->visitChildren(this);
    4011             : }
    4012             : 
    4013           0 : accparser::Kernels_loop_clausesContext* accparser::kernels_loop_clauses() {
    4014           0 :   Kernels_loop_clausesContext *_localctx = _tracker.createInstance<Kernels_loop_clausesContext>(_ctx, getState());
    4015           0 :   enterRule(_localctx, 88, accparser::RuleKernels_loop_clauses);
    4016             : 
    4017           0 :   auto onExit = finally([=] {
    4018           0 :     exitRule();
    4019           0 :   });
    4020           0 :   try {
    4021           0 :     setState(569);
    4022           0 :     _errHandler->sync(this);
    4023           0 :     switch (_input->LA(1)) {
    4024           0 :       case accparser::ASYNC: {
    4025           0 :         enterOuterAlt(_localctx, 1);
    4026           0 :         setState(542);
    4027           0 :         async_clause();
    4028             :         break;
    4029             :       }
    4030             : 
    4031           0 :       case accparser::ATTACH: {
    4032           0 :         enterOuterAlt(_localctx, 2);
    4033           0 :         setState(543);
    4034           0 :         attach_clause();
    4035             :         break;
    4036             :       }
    4037             : 
    4038           0 :       case accparser::AUTO: {
    4039           0 :         enterOuterAlt(_localctx, 3);
    4040           0 :         setState(544);
    4041           0 :         auto_clause();
    4042             :         break;
    4043             :       }
    4044             : 
    4045           0 :       case accparser::COLLAPSE: {
    4046           0 :         enterOuterAlt(_localctx, 4);
    4047           0 :         setState(545);
    4048           0 :         collapse_clause();
    4049             :         break;
    4050             :       }
    4051             : 
    4052           0 :       case accparser::COPY: {
    4053           0 :         enterOuterAlt(_localctx, 5);
    4054           0 :         setState(546);
    4055           0 :         copy_clause();
    4056             :         break;
    4057             :       }
    4058             : 
    4059           0 :       case accparser::COPYIN: {
    4060           0 :         enterOuterAlt(_localctx, 6);
    4061           0 :         setState(547);
    4062           0 :         copyin_clause();
    4063             :         break;
    4064             :       }
    4065             : 
    4066           0 :       case accparser::COPYOUT: {
    4067           0 :         enterOuterAlt(_localctx, 7);
    4068           0 :         setState(548);
    4069           0 :         copyout_clause();
    4070             :         break;
    4071             :       }
    4072             : 
    4073           0 :       case accparser::CREATE: {
    4074           0 :         enterOuterAlt(_localctx, 8);
    4075           0 :         setState(549);
    4076           0 :         create_clause();
    4077             :         break;
    4078             :       }
    4079             : 
    4080           0 :       case accparser::DEFAULT: {
    4081           0 :         enterOuterAlt(_localctx, 9);
    4082           0 :         setState(550);
    4083           0 :         default_clause();
    4084             :         break;
    4085             :       }
    4086             : 
    4087           0 :       case accparser::DEVICE_TYPE: {
    4088           0 :         enterOuterAlt(_localctx, 10);
    4089           0 :         setState(551);
    4090           0 :         device_type_clause();
    4091             :         break;
    4092             :       }
    4093             : 
    4094           0 :       case accparser::DEVICEPTR: {
    4095           0 :         enterOuterAlt(_localctx, 11);
    4096           0 :         setState(552);
    4097           0 :         deviceptr_clause();
    4098             :         break;
    4099             :       }
    4100             : 
    4101           0 :       case accparser::GANG: {
    4102           0 :         enterOuterAlt(_localctx, 12);
    4103           0 :         setState(553);
    4104           0 :         gang_clause();
    4105             :         break;
    4106             :       }
    4107             : 
    4108           0 :       case accparser::IF: {
    4109           0 :         enterOuterAlt(_localctx, 13);
    4110           0 :         setState(554);
    4111           0 :         if_clause();
    4112             :         break;
    4113             :       }
    4114             : 
    4115           0 :       case accparser::INDEPENDENT: {
    4116           0 :         enterOuterAlt(_localctx, 14);
    4117           0 :         setState(555);
    4118           0 :         independent_clause();
    4119             :         break;
    4120             :       }
    4121             : 
    4122           0 :       case accparser::NO_CREATE: {
    4123           0 :         enterOuterAlt(_localctx, 15);
    4124           0 :         setState(556);
    4125           0 :         no_create_clause();
    4126             :         break;
    4127             :       }
    4128             : 
    4129           0 :       case accparser::NUM_GANGS: {
    4130           0 :         enterOuterAlt(_localctx, 16);
    4131           0 :         setState(557);
    4132           0 :         num_gangs_clause();
    4133             :         break;
    4134             :       }
    4135             : 
    4136           0 :       case accparser::NUM_WORKERS: {
    4137           0 :         enterOuterAlt(_localctx, 17);
    4138           0 :         setState(558);
    4139           0 :         num_workers_clause();
    4140             :         break;
    4141             :       }
    4142             : 
    4143           0 :       case accparser::PRESENT: {
    4144           0 :         enterOuterAlt(_localctx, 18);
    4145           0 :         setState(559);
    4146           0 :         present_clause();
    4147             :         break;
    4148             :       }
    4149             : 
    4150           0 :       case accparser::PRIVATE: {
    4151           0 :         enterOuterAlt(_localctx, 19);
    4152           0 :         setState(560);
    4153           0 :         private_clause();
    4154             :         break;
    4155             :       }
    4156             : 
    4157           0 :       case accparser::REDUCTION: {
    4158           0 :         enterOuterAlt(_localctx, 20);
    4159           0 :         setState(561);
    4160           0 :         reduction_clause();
    4161             :         break;
    4162             :       }
    4163             : 
    4164           0 :       case accparser::SELF: {
    4165           0 :         enterOuterAlt(_localctx, 21);
    4166           0 :         setState(562);
    4167           0 :         self_clause();
    4168             :         break;
    4169             :       }
    4170             : 
    4171           0 :       case accparser::SEQ: {
    4172           0 :         enterOuterAlt(_localctx, 22);
    4173           0 :         setState(563);
    4174           0 :         seq_clause();
    4175             :         break;
    4176             :       }
    4177             : 
    4178           0 :       case accparser::TILE: {
    4179           0 :         enterOuterAlt(_localctx, 23);
    4180           0 :         setState(564);
    4181           0 :         tile_clause();
    4182             :         break;
    4183             :       }
    4184             : 
    4185           0 :       case accparser::VECTOR: {
    4186           0 :         enterOuterAlt(_localctx, 24);
    4187           0 :         setState(565);
    4188           0 :         vector_clause();
    4189             :         break;
    4190             :       }
    4191             : 
    4192           0 :       case accparser::VECTOR_LENGTH: {
    4193           0 :         enterOuterAlt(_localctx, 25);
    4194           0 :         setState(566);
    4195           0 :         vector_length_clause();
    4196             :         break;
    4197             :       }
    4198             : 
    4199           0 :       case accparser::WAIT: {
    4200           0 :         enterOuterAlt(_localctx, 26);
    4201           0 :         setState(567);
    4202           0 :         wait_clause();
    4203             :         break;
    4204             :       }
    4205             : 
    4206           0 :       case accparser::WORKER: {
    4207           0 :         enterOuterAlt(_localctx, 27);
    4208           0 :         setState(568);
    4209           0 :         worker_clause();
    4210             :         break;
    4211             :       }
    4212             : 
    4213           0 :     default:
    4214           0 :       throw NoViableAltException(this);
    4215             :     }
    4216             :    
    4217             :   }
    4218           0 :   catch (RecognitionException &e) {
    4219           0 :     _errHandler->reportError(this, e);
    4220           0 :     _localctx->exception = std::current_exception();
    4221           0 :     _errHandler->recover(this, _localctx->exception);
    4222             :   }
    4223             : 
    4224           0 :   return _localctx;
    4225             : }
    4226             : 
    4227             : //----------------- Loop_directiveContext ------------------------------------------------------------------
    4228             : 
    4229           0 : accparser::Loop_directiveContext::Loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    4230           0 :   : ParserRuleContext(parent, invokingState) {
    4231           0 : }
    4232             : 
    4233           0 : tree::TerminalNode* accparser::Loop_directiveContext::LOOP() {
    4234           0 :   return getToken(accparser::LOOP, 0);
    4235             : }
    4236             : 
    4237           0 : accparser::Loop_clause_listContext* accparser::Loop_directiveContext::loop_clause_list() {
    4238           0 :   return getRuleContext<accparser::Loop_clause_listContext>(0);
    4239             : }
    4240             : 
    4241             : 
    4242           0 : size_t accparser::Loop_directiveContext::getRuleIndex() const {
    4243           0 :   return accparser::RuleLoop_directive;
    4244             : }
    4245             : 
    4246           0 : void accparser::Loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    4247           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4248           0 :   if (parserListener != nullptr)
    4249           0 :     parserListener->enterLoop_directive(this);
    4250           0 : }
    4251             : 
    4252           0 : void accparser::Loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    4253           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4254           0 :   if (parserListener != nullptr)
    4255           0 :     parserListener->exitLoop_directive(this);
    4256           0 : }
    4257             : 
    4258             : 
    4259           0 : antlrcpp::Any accparser::Loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    4260           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4261           0 :     return parserVisitor->visitLoop_directive(this);
    4262             :   else
    4263           0 :     return visitor->visitChildren(this);
    4264             : }
    4265             : 
    4266           0 : accparser::Loop_directiveContext* accparser::loop_directive() {
    4267           0 :   Loop_directiveContext *_localctx = _tracker.createInstance<Loop_directiveContext>(_ctx, getState());
    4268           0 :   enterRule(_localctx, 90, accparser::RuleLoop_directive);
    4269             : 
    4270           0 :   auto onExit = finally([=] {
    4271           0 :     exitRule();
    4272           0 :   });
    4273           0 :   try {
    4274           0 :     enterOuterAlt(_localctx, 1);
    4275           0 :     setState(571);
    4276           0 :     match(accparser::LOOP);
    4277           0 :     setState(572);
    4278           0 :     loop_clause_list();
    4279             :    
    4280             :   }
    4281           0 :   catch (RecognitionException &e) {
    4282           0 :     _errHandler->reportError(this, e);
    4283           0 :     _localctx->exception = std::current_exception();
    4284           0 :     _errHandler->recover(this, _localctx->exception);
    4285             :   }
    4286             : 
    4287           0 :   return _localctx;
    4288             : }
    4289             : 
    4290             : //----------------- Loop_clause_listContext ------------------------------------------------------------------
    4291             : 
    4292           0 : accparser::Loop_clause_listContext::Loop_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    4293           0 :   : ParserRuleContext(parent, invokingState) {
    4294           0 : }
    4295             : 
    4296           0 : std::vector<accparser::Loop_clausesContext *> accparser::Loop_clause_listContext::loop_clauses() {
    4297           0 :   return getRuleContexts<accparser::Loop_clausesContext>();
    4298             : }
    4299             : 
    4300           0 : accparser::Loop_clausesContext* accparser::Loop_clause_listContext::loop_clauses(size_t i) {
    4301           0 :   return getRuleContext<accparser::Loop_clausesContext>(i);
    4302             : }
    4303             : 
    4304             : 
    4305           0 : size_t accparser::Loop_clause_listContext::getRuleIndex() const {
    4306           0 :   return accparser::RuleLoop_clause_list;
    4307             : }
    4308             : 
    4309           0 : void accparser::Loop_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    4310           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4311           0 :   if (parserListener != nullptr)
    4312           0 :     parserListener->enterLoop_clause_list(this);
    4313           0 : }
    4314             : 
    4315           0 : void accparser::Loop_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    4316           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4317           0 :   if (parserListener != nullptr)
    4318           0 :     parserListener->exitLoop_clause_list(this);
    4319           0 : }
    4320             : 
    4321             : 
    4322           0 : antlrcpp::Any accparser::Loop_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    4323           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4324           0 :     return parserVisitor->visitLoop_clause_list(this);
    4325             :   else
    4326           0 :     return visitor->visitChildren(this);
    4327             : }
    4328             : 
    4329           0 : accparser::Loop_clause_listContext* accparser::loop_clause_list() {
    4330           0 :   Loop_clause_listContext *_localctx = _tracker.createInstance<Loop_clause_listContext>(_ctx, getState());
    4331           0 :   enterRule(_localctx, 92, accparser::RuleLoop_clause_list);
    4332           0 :   size_t _la = 0;
    4333             : 
    4334           0 :   auto onExit = finally([=] {
    4335           0 :     exitRule();
    4336           0 :   });
    4337           0 :   try {
    4338           0 :     enterOuterAlt(_localctx, 1);
    4339           0 :     setState(577);
    4340           0 :     _errHandler->sync(this);
    4341           0 :     _la = _input->LA(1);
    4342           0 :     while (((((_la - 29) & ~ 0x3fULL) == 0) &&
    4343           0 :       ((1ULL << (_la - 29)) & ((1ULL << (accparser::AUTO - 29))
    4344             :       | (1ULL << (accparser::COLLAPSE - 29))
    4345             :       | (1ULL << (accparser::DEVICE_TYPE - 29))
    4346             :       | (1ULL << (accparser::GANG - 29))
    4347             :       | (1ULL << (accparser::INDEPENDENT - 29))
    4348             :       | (1ULL << (accparser::PRIVATE - 29))
    4349             :       | (1ULL << (accparser::REDUCTION - 29))
    4350             :       | (1ULL << (accparser::SEQ - 29))
    4351             :       | (1ULL << (accparser::TILE - 29))
    4352             :       | (1ULL << (accparser::VECTOR - 29))
    4353           0 :       | (1ULL << (accparser::WORKER - 29)))) != 0)) {
    4354           0 :       setState(574);
    4355           0 :       loop_clauses();
    4356           0 :       setState(579);
    4357           0 :       _errHandler->sync(this);
    4358           0 :       _la = _input->LA(1);
    4359             :     }
    4360             :    
    4361             :   }
    4362           0 :   catch (RecognitionException &e) {
    4363           0 :     _errHandler->reportError(this, e);
    4364           0 :     _localctx->exception = std::current_exception();
    4365           0 :     _errHandler->recover(this, _localctx->exception);
    4366             :   }
    4367             : 
    4368           0 :   return _localctx;
    4369             : }
    4370             : 
    4371             : //----------------- Loop_clausesContext ------------------------------------------------------------------
    4372             : 
    4373           0 : accparser::Loop_clausesContext::Loop_clausesContext(ParserRuleContext *parent, size_t invokingState)
    4374           0 :   : ParserRuleContext(parent, invokingState) {
    4375           0 : }
    4376             : 
    4377           0 : accparser::Auto_clauseContext* accparser::Loop_clausesContext::auto_clause() {
    4378           0 :   return getRuleContext<accparser::Auto_clauseContext>(0);
    4379             : }
    4380             : 
    4381           0 : accparser::Collapse_clauseContext* accparser::Loop_clausesContext::collapse_clause() {
    4382           0 :   return getRuleContext<accparser::Collapse_clauseContext>(0);
    4383             : }
    4384             : 
    4385           0 : accparser::Device_type_clauseContext* accparser::Loop_clausesContext::device_type_clause() {
    4386           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    4387             : }
    4388             : 
    4389           0 : accparser::Gang_clauseContext* accparser::Loop_clausesContext::gang_clause() {
    4390           0 :   return getRuleContext<accparser::Gang_clauseContext>(0);
    4391             : }
    4392             : 
    4393           0 : accparser::Independent_clauseContext* accparser::Loop_clausesContext::independent_clause() {
    4394           0 :   return getRuleContext<accparser::Independent_clauseContext>(0);
    4395             : }
    4396             : 
    4397           0 : accparser::Private_clauseContext* accparser::Loop_clausesContext::private_clause() {
    4398           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    4399             : }
    4400             : 
    4401           0 : accparser::Reduction_clauseContext* accparser::Loop_clausesContext::reduction_clause() {
    4402           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    4403             : }
    4404             : 
    4405           0 : accparser::Seq_clauseContext* accparser::Loop_clausesContext::seq_clause() {
    4406           0 :   return getRuleContext<accparser::Seq_clauseContext>(0);
    4407             : }
    4408             : 
    4409           0 : accparser::Tile_clauseContext* accparser::Loop_clausesContext::tile_clause() {
    4410           0 :   return getRuleContext<accparser::Tile_clauseContext>(0);
    4411             : }
    4412             : 
    4413           0 : accparser::Vector_clauseContext* accparser::Loop_clausesContext::vector_clause() {
    4414           0 :   return getRuleContext<accparser::Vector_clauseContext>(0);
    4415             : }
    4416             : 
    4417           0 : accparser::Worker_clauseContext* accparser::Loop_clausesContext::worker_clause() {
    4418           0 :   return getRuleContext<accparser::Worker_clauseContext>(0);
    4419             : }
    4420             : 
    4421             : 
    4422           0 : size_t accparser::Loop_clausesContext::getRuleIndex() const {
    4423           0 :   return accparser::RuleLoop_clauses;
    4424             : }
    4425             : 
    4426           0 : void accparser::Loop_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    4427           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4428           0 :   if (parserListener != nullptr)
    4429           0 :     parserListener->enterLoop_clauses(this);
    4430           0 : }
    4431             : 
    4432           0 : void accparser::Loop_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    4433           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4434           0 :   if (parserListener != nullptr)
    4435           0 :     parserListener->exitLoop_clauses(this);
    4436           0 : }
    4437             : 
    4438             : 
    4439           0 : antlrcpp::Any accparser::Loop_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    4440           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4441           0 :     return parserVisitor->visitLoop_clauses(this);
    4442             :   else
    4443           0 :     return visitor->visitChildren(this);
    4444             : }
    4445             : 
    4446           0 : accparser::Loop_clausesContext* accparser::loop_clauses() {
    4447           0 :   Loop_clausesContext *_localctx = _tracker.createInstance<Loop_clausesContext>(_ctx, getState());
    4448           0 :   enterRule(_localctx, 94, accparser::RuleLoop_clauses);
    4449             : 
    4450           0 :   auto onExit = finally([=] {
    4451           0 :     exitRule();
    4452           0 :   });
    4453           0 :   try {
    4454           0 :     setState(591);
    4455           0 :     _errHandler->sync(this);
    4456           0 :     switch (_input->LA(1)) {
    4457           0 :       case accparser::AUTO: {
    4458           0 :         enterOuterAlt(_localctx, 1);
    4459           0 :         setState(580);
    4460           0 :         auto_clause();
    4461             :         break;
    4462             :       }
    4463             : 
    4464           0 :       case accparser::COLLAPSE: {
    4465           0 :         enterOuterAlt(_localctx, 2);
    4466           0 :         setState(581);
    4467           0 :         collapse_clause();
    4468             :         break;
    4469             :       }
    4470             : 
    4471           0 :       case accparser::DEVICE_TYPE: {
    4472           0 :         enterOuterAlt(_localctx, 3);
    4473           0 :         setState(582);
    4474           0 :         device_type_clause();
    4475             :         break;
    4476             :       }
    4477             : 
    4478           0 :       case accparser::GANG: {
    4479           0 :         enterOuterAlt(_localctx, 4);
    4480           0 :         setState(583);
    4481           0 :         gang_clause();
    4482             :         break;
    4483             :       }
    4484             : 
    4485           0 :       case accparser::INDEPENDENT: {
    4486           0 :         enterOuterAlt(_localctx, 5);
    4487           0 :         setState(584);
    4488           0 :         independent_clause();
    4489             :         break;
    4490             :       }
    4491             : 
    4492           0 :       case accparser::PRIVATE: {
    4493           0 :         enterOuterAlt(_localctx, 6);
    4494           0 :         setState(585);
    4495           0 :         private_clause();
    4496             :         break;
    4497             :       }
    4498             : 
    4499           0 :       case accparser::REDUCTION: {
    4500           0 :         enterOuterAlt(_localctx, 7);
    4501           0 :         setState(586);
    4502           0 :         reduction_clause();
    4503             :         break;
    4504             :       }
    4505             : 
    4506           0 :       case accparser::SEQ: {
    4507           0 :         enterOuterAlt(_localctx, 8);
    4508           0 :         setState(587);
    4509           0 :         seq_clause();
    4510             :         break;
    4511             :       }
    4512             : 
    4513           0 :       case accparser::TILE: {
    4514           0 :         enterOuterAlt(_localctx, 9);
    4515           0 :         setState(588);
    4516           0 :         tile_clause();
    4517             :         break;
    4518             :       }
    4519             : 
    4520           0 :       case accparser::VECTOR: {
    4521           0 :         enterOuterAlt(_localctx, 10);
    4522           0 :         setState(589);
    4523           0 :         vector_clause();
    4524             :         break;
    4525             :       }
    4526             : 
    4527           0 :       case accparser::WORKER: {
    4528           0 :         enterOuterAlt(_localctx, 11);
    4529           0 :         setState(590);
    4530           0 :         worker_clause();
    4531             :         break;
    4532             :       }
    4533             : 
    4534           0 :     default:
    4535           0 :       throw NoViableAltException(this);
    4536             :     }
    4537             :    
    4538             :   }
    4539           0 :   catch (RecognitionException &e) {
    4540           0 :     _errHandler->reportError(this, e);
    4541           0 :     _localctx->exception = std::current_exception();
    4542           0 :     _errHandler->recover(this, _localctx->exception);
    4543             :   }
    4544             : 
    4545           0 :   return _localctx;
    4546             : }
    4547             : 
    4548             : //----------------- Parallel_directiveContext ------------------------------------------------------------------
    4549             : 
    4550           0 : accparser::Parallel_directiveContext::Parallel_directiveContext(ParserRuleContext *parent, size_t invokingState)
    4551           0 :   : ParserRuleContext(parent, invokingState) {
    4552           0 : }
    4553             : 
    4554           0 : tree::TerminalNode* accparser::Parallel_directiveContext::PARALLEL() {
    4555           0 :   return getToken(accparser::PARALLEL, 0);
    4556             : }
    4557             : 
    4558           0 : accparser::Parallel_clause_listContext* accparser::Parallel_directiveContext::parallel_clause_list() {
    4559           0 :   return getRuleContext<accparser::Parallel_clause_listContext>(0);
    4560             : }
    4561             : 
    4562             : 
    4563           0 : size_t accparser::Parallel_directiveContext::getRuleIndex() const {
    4564           0 :   return accparser::RuleParallel_directive;
    4565             : }
    4566             : 
    4567           0 : void accparser::Parallel_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    4568           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4569           0 :   if (parserListener != nullptr)
    4570           0 :     parserListener->enterParallel_directive(this);
    4571           0 : }
    4572             : 
    4573           0 : void accparser::Parallel_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    4574           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4575           0 :   if (parserListener != nullptr)
    4576           0 :     parserListener->exitParallel_directive(this);
    4577           0 : }
    4578             : 
    4579             : 
    4580           0 : antlrcpp::Any accparser::Parallel_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    4581           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4582           0 :     return parserVisitor->visitParallel_directive(this);
    4583             :   else
    4584           0 :     return visitor->visitChildren(this);
    4585             : }
    4586             : 
    4587           0 : accparser::Parallel_directiveContext* accparser::parallel_directive() {
    4588           0 :   Parallel_directiveContext *_localctx = _tracker.createInstance<Parallel_directiveContext>(_ctx, getState());
    4589           0 :   enterRule(_localctx, 96, accparser::RuleParallel_directive);
    4590             : 
    4591           0 :   auto onExit = finally([=] {
    4592           0 :     exitRule();
    4593           0 :   });
    4594           0 :   try {
    4595           0 :     enterOuterAlt(_localctx, 1);
    4596           0 :     setState(593);
    4597           0 :     match(accparser::PARALLEL);
    4598           0 :     setState(594);
    4599           0 :     parallel_clause_list();
    4600             :    
    4601             :   }
    4602           0 :   catch (RecognitionException &e) {
    4603           0 :     _errHandler->reportError(this, e);
    4604           0 :     _localctx->exception = std::current_exception();
    4605           0 :     _errHandler->recover(this, _localctx->exception);
    4606             :   }
    4607             : 
    4608           0 :   return _localctx;
    4609             : }
    4610             : 
    4611             : //----------------- Parallel_clause_listContext ------------------------------------------------------------------
    4612             : 
    4613           0 : accparser::Parallel_clause_listContext::Parallel_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    4614           0 :   : ParserRuleContext(parent, invokingState) {
    4615           0 : }
    4616             : 
    4617           0 : std::vector<accparser::Parallel_clausesContext *> accparser::Parallel_clause_listContext::parallel_clauses() {
    4618           0 :   return getRuleContexts<accparser::Parallel_clausesContext>();
    4619             : }
    4620             : 
    4621           0 : accparser::Parallel_clausesContext* accparser::Parallel_clause_listContext::parallel_clauses(size_t i) {
    4622           0 :   return getRuleContext<accparser::Parallel_clausesContext>(i);
    4623             : }
    4624             : 
    4625             : 
    4626           0 : size_t accparser::Parallel_clause_listContext::getRuleIndex() const {
    4627           0 :   return accparser::RuleParallel_clause_list;
    4628             : }
    4629             : 
    4630           0 : void accparser::Parallel_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    4631           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4632           0 :   if (parserListener != nullptr)
    4633           0 :     parserListener->enterParallel_clause_list(this);
    4634           0 : }
    4635             : 
    4636           0 : void accparser::Parallel_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    4637           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4638           0 :   if (parserListener != nullptr)
    4639           0 :     parserListener->exitParallel_clause_list(this);
    4640           0 : }
    4641             : 
    4642             : 
    4643           0 : antlrcpp::Any accparser::Parallel_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    4644           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4645           0 :     return parserVisitor->visitParallel_clause_list(this);
    4646             :   else
    4647           0 :     return visitor->visitChildren(this);
    4648             : }
    4649             : 
    4650           0 : accparser::Parallel_clause_listContext* accparser::parallel_clause_list() {
    4651           0 :   Parallel_clause_listContext *_localctx = _tracker.createInstance<Parallel_clause_listContext>(_ctx, getState());
    4652           0 :   enterRule(_localctx, 98, accparser::RuleParallel_clause_list);
    4653           0 :   size_t _la = 0;
    4654             : 
    4655           0 :   auto onExit = finally([=] {
    4656           0 :     exitRule();
    4657           0 :   });
    4658           0 :   try {
    4659           0 :     enterOuterAlt(_localctx, 1);
    4660           0 :     setState(599);
    4661           0 :     _errHandler->sync(this);
    4662           0 :     _la = _input->LA(1);
    4663           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    4664           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    4665             :       | (1ULL << (accparser::ATTACH - 27))
    4666             :       | (1ULL << (accparser::COPY - 27))
    4667             :       | (1ULL << (accparser::COPYIN - 27))
    4668             :       | (1ULL << (accparser::COPYOUT - 27))
    4669             :       | (1ULL << (accparser::CREATE - 27))
    4670             :       | (1ULL << (accparser::DEFAULT - 27))
    4671             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    4672             :       | (1ULL << (accparser::DEVICEPTR - 27))
    4673             :       | (1ULL << (accparser::FIRSTPRIVATE - 27))
    4674             :       | (1ULL << (accparser::IF - 27))
    4675             :       | (1ULL << (accparser::NO_CREATE - 27))
    4676             :       | (1ULL << (accparser::NUM_GANGS - 27))
    4677             :       | (1ULL << (accparser::NUM_WORKERS - 27))
    4678             :       | (1ULL << (accparser::PRESENT - 27))
    4679             :       | (1ULL << (accparser::PRIVATE - 27))
    4680             :       | (1ULL << (accparser::REDUCTION - 27))
    4681             :       | (1ULL << (accparser::SELF - 27))
    4682             :       | (1ULL << (accparser::VECTOR_LENGTH - 27))
    4683           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0)) {
    4684           0 :       setState(596);
    4685           0 :       parallel_clauses();
    4686           0 :       setState(601);
    4687           0 :       _errHandler->sync(this);
    4688           0 :       _la = _input->LA(1);
    4689             :     }
    4690             :    
    4691             :   }
    4692           0 :   catch (RecognitionException &e) {
    4693           0 :     _errHandler->reportError(this, e);
    4694           0 :     _localctx->exception = std::current_exception();
    4695           0 :     _errHandler->recover(this, _localctx->exception);
    4696             :   }
    4697             : 
    4698           0 :   return _localctx;
    4699             : }
    4700             : 
    4701             : //----------------- Parallel_clausesContext ------------------------------------------------------------------
    4702             : 
    4703           0 : accparser::Parallel_clausesContext::Parallel_clausesContext(ParserRuleContext *parent, size_t invokingState)
    4704           0 :   : ParserRuleContext(parent, invokingState) {
    4705           0 : }
    4706             : 
    4707           0 : accparser::Async_clauseContext* accparser::Parallel_clausesContext::async_clause() {
    4708           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    4709             : }
    4710             : 
    4711           0 : accparser::Attach_clauseContext* accparser::Parallel_clausesContext::attach_clause() {
    4712           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    4713             : }
    4714             : 
    4715           0 : accparser::Copy_clauseContext* accparser::Parallel_clausesContext::copy_clause() {
    4716           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    4717             : }
    4718             : 
    4719           0 : accparser::Copyin_clauseContext* accparser::Parallel_clausesContext::copyin_clause() {
    4720           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    4721             : }
    4722             : 
    4723           0 : accparser::Copyout_clauseContext* accparser::Parallel_clausesContext::copyout_clause() {
    4724           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    4725             : }
    4726             : 
    4727           0 : accparser::Create_clauseContext* accparser::Parallel_clausesContext::create_clause() {
    4728           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    4729             : }
    4730             : 
    4731           0 : accparser::Default_clauseContext* accparser::Parallel_clausesContext::default_clause() {
    4732           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    4733             : }
    4734             : 
    4735           0 : accparser::Device_type_clauseContext* accparser::Parallel_clausesContext::device_type_clause() {
    4736           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    4737             : }
    4738             : 
    4739           0 : accparser::Deviceptr_clauseContext* accparser::Parallel_clausesContext::deviceptr_clause() {
    4740           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    4741             : }
    4742             : 
    4743           0 : accparser::Firstprivate_clauseContext* accparser::Parallel_clausesContext::firstprivate_clause() {
    4744           0 :   return getRuleContext<accparser::Firstprivate_clauseContext>(0);
    4745             : }
    4746             : 
    4747           0 : accparser::If_clauseContext* accparser::Parallel_clausesContext::if_clause() {
    4748           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    4749             : }
    4750             : 
    4751           0 : accparser::No_create_clauseContext* accparser::Parallel_clausesContext::no_create_clause() {
    4752           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    4753             : }
    4754             : 
    4755           0 : accparser::Num_gangs_clauseContext* accparser::Parallel_clausesContext::num_gangs_clause() {
    4756           0 :   return getRuleContext<accparser::Num_gangs_clauseContext>(0);
    4757             : }
    4758             : 
    4759           0 : accparser::Num_workers_clauseContext* accparser::Parallel_clausesContext::num_workers_clause() {
    4760           0 :   return getRuleContext<accparser::Num_workers_clauseContext>(0);
    4761             : }
    4762             : 
    4763           0 : accparser::Present_clauseContext* accparser::Parallel_clausesContext::present_clause() {
    4764           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    4765             : }
    4766             : 
    4767           0 : accparser::Private_clauseContext* accparser::Parallel_clausesContext::private_clause() {
    4768           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    4769             : }
    4770             : 
    4771           0 : accparser::Reduction_clauseContext* accparser::Parallel_clausesContext::reduction_clause() {
    4772           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    4773             : }
    4774             : 
    4775           0 : accparser::Self_clauseContext* accparser::Parallel_clausesContext::self_clause() {
    4776           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    4777             : }
    4778             : 
    4779           0 : accparser::Vector_length_clauseContext* accparser::Parallel_clausesContext::vector_length_clause() {
    4780           0 :   return getRuleContext<accparser::Vector_length_clauseContext>(0);
    4781             : }
    4782             : 
    4783           0 : accparser::Wait_clauseContext* accparser::Parallel_clausesContext::wait_clause() {
    4784           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    4785             : }
    4786             : 
    4787             : 
    4788           0 : size_t accparser::Parallel_clausesContext::getRuleIndex() const {
    4789           0 :   return accparser::RuleParallel_clauses;
    4790             : }
    4791             : 
    4792           0 : void accparser::Parallel_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    4793           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4794           0 :   if (parserListener != nullptr)
    4795           0 :     parserListener->enterParallel_clauses(this);
    4796           0 : }
    4797             : 
    4798           0 : void accparser::Parallel_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    4799           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    4800           0 :   if (parserListener != nullptr)
    4801           0 :     parserListener->exitParallel_clauses(this);
    4802           0 : }
    4803             : 
    4804             : 
    4805           0 : antlrcpp::Any accparser::Parallel_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    4806           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    4807           0 :     return parserVisitor->visitParallel_clauses(this);
    4808             :   else
    4809           0 :     return visitor->visitChildren(this);
    4810             : }
    4811             : 
    4812           0 : accparser::Parallel_clausesContext* accparser::parallel_clauses() {
    4813           0 :   Parallel_clausesContext *_localctx = _tracker.createInstance<Parallel_clausesContext>(_ctx, getState());
    4814           0 :   enterRule(_localctx, 100, accparser::RuleParallel_clauses);
    4815             : 
    4816           0 :   auto onExit = finally([=] {
    4817           0 :     exitRule();
    4818           0 :   });
    4819           0 :   try {
    4820           0 :     setState(622);
    4821           0 :     _errHandler->sync(this);
    4822           0 :     switch (_input->LA(1)) {
    4823           0 :       case accparser::ASYNC: {
    4824           0 :         enterOuterAlt(_localctx, 1);
    4825           0 :         setState(602);
    4826           0 :         async_clause();
    4827             :         break;
    4828             :       }
    4829             : 
    4830           0 :       case accparser::ATTACH: {
    4831           0 :         enterOuterAlt(_localctx, 2);
    4832           0 :         setState(603);
    4833           0 :         attach_clause();
    4834             :         break;
    4835             :       }
    4836             : 
    4837           0 :       case accparser::COPY: {
    4838           0 :         enterOuterAlt(_localctx, 3);
    4839           0 :         setState(604);
    4840           0 :         copy_clause();
    4841             :         break;
    4842             :       }
    4843             : 
    4844           0 :       case accparser::COPYIN: {
    4845           0 :         enterOuterAlt(_localctx, 4);
    4846           0 :         setState(605);
    4847           0 :         copyin_clause();
    4848             :         break;
    4849             :       }
    4850             : 
    4851           0 :       case accparser::COPYOUT: {
    4852           0 :         enterOuterAlt(_localctx, 5);
    4853           0 :         setState(606);
    4854           0 :         copyout_clause();
    4855             :         break;
    4856             :       }
    4857             : 
    4858           0 :       case accparser::CREATE: {
    4859           0 :         enterOuterAlt(_localctx, 6);
    4860           0 :         setState(607);
    4861           0 :         create_clause();
    4862             :         break;
    4863             :       }
    4864             : 
    4865           0 :       case accparser::DEFAULT: {
    4866           0 :         enterOuterAlt(_localctx, 7);
    4867           0 :         setState(608);
    4868           0 :         default_clause();
    4869             :         break;
    4870             :       }
    4871             : 
    4872           0 :       case accparser::DEVICE_TYPE: {
    4873           0 :         enterOuterAlt(_localctx, 8);
    4874           0 :         setState(609);
    4875           0 :         device_type_clause();
    4876             :         break;
    4877             :       }
    4878             : 
    4879           0 :       case accparser::DEVICEPTR: {
    4880           0 :         enterOuterAlt(_localctx, 9);
    4881           0 :         setState(610);
    4882           0 :         deviceptr_clause();
    4883             :         break;
    4884             :       }
    4885             : 
    4886           0 :       case accparser::FIRSTPRIVATE: {
    4887           0 :         enterOuterAlt(_localctx, 10);
    4888           0 :         setState(611);
    4889           0 :         firstprivate_clause();
    4890             :         break;
    4891             :       }
    4892             : 
    4893           0 :       case accparser::IF: {
    4894           0 :         enterOuterAlt(_localctx, 11);
    4895           0 :         setState(612);
    4896           0 :         if_clause();
    4897             :         break;
    4898             :       }
    4899             : 
    4900           0 :       case accparser::NO_CREATE: {
    4901           0 :         enterOuterAlt(_localctx, 12);
    4902           0 :         setState(613);
    4903           0 :         no_create_clause();
    4904             :         break;
    4905             :       }
    4906             : 
    4907           0 :       case accparser::NUM_GANGS: {
    4908           0 :         enterOuterAlt(_localctx, 13);
    4909           0 :         setState(614);
    4910           0 :         num_gangs_clause();
    4911             :         break;
    4912             :       }
    4913             : 
    4914           0 :       case accparser::NUM_WORKERS: {
    4915           0 :         enterOuterAlt(_localctx, 14);
    4916           0 :         setState(615);
    4917           0 :         num_workers_clause();
    4918             :         break;
    4919             :       }
    4920             : 
    4921           0 :       case accparser::PRESENT: {
    4922           0 :         enterOuterAlt(_localctx, 15);
    4923           0 :         setState(616);
    4924           0 :         present_clause();
    4925             :         break;
    4926             :       }
    4927             : 
    4928           0 :       case accparser::PRIVATE: {
    4929           0 :         enterOuterAlt(_localctx, 16);
    4930           0 :         setState(617);
    4931           0 :         private_clause();
    4932             :         break;
    4933             :       }
    4934             : 
    4935           0 :       case accparser::REDUCTION: {
    4936           0 :         enterOuterAlt(_localctx, 17);
    4937           0 :         setState(618);
    4938           0 :         reduction_clause();
    4939             :         break;
    4940             :       }
    4941             : 
    4942           0 :       case accparser::SELF: {
    4943           0 :         enterOuterAlt(_localctx, 18);
    4944           0 :         setState(619);
    4945           0 :         self_clause();
    4946             :         break;
    4947             :       }
    4948             : 
    4949           0 :       case accparser::VECTOR_LENGTH: {
    4950           0 :         enterOuterAlt(_localctx, 19);
    4951           0 :         setState(620);
    4952           0 :         vector_length_clause();
    4953             :         break;
    4954             :       }
    4955             : 
    4956           0 :       case accparser::WAIT: {
    4957           0 :         enterOuterAlt(_localctx, 20);
    4958           0 :         setState(621);
    4959           0 :         wait_clause();
    4960             :         break;
    4961             :       }
    4962             : 
    4963           0 :     default:
    4964           0 :       throw NoViableAltException(this);
    4965             :     }
    4966             :    
    4967             :   }
    4968           0 :   catch (RecognitionException &e) {
    4969           0 :     _errHandler->reportError(this, e);
    4970           0 :     _localctx->exception = std::current_exception();
    4971           0 :     _errHandler->recover(this, _localctx->exception);
    4972             :   }
    4973             : 
    4974           0 :   return _localctx;
    4975             : }
    4976             : 
    4977             : //----------------- Parallel_loop_directiveContext ------------------------------------------------------------------
    4978             : 
    4979           0 : accparser::Parallel_loop_directiveContext::Parallel_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    4980           0 :   : ParserRuleContext(parent, invokingState) {
    4981           0 : }
    4982             : 
    4983           0 : tree::TerminalNode* accparser::Parallel_loop_directiveContext::PARALLEL() {
    4984           0 :   return getToken(accparser::PARALLEL, 0);
    4985             : }
    4986             : 
    4987           0 : tree::TerminalNode* accparser::Parallel_loop_directiveContext::LOOP() {
    4988           0 :   return getToken(accparser::LOOP, 0);
    4989             : }
    4990             : 
    4991           0 : accparser::Parallel_loop_clause_listContext* accparser::Parallel_loop_directiveContext::parallel_loop_clause_list() {
    4992           0 :   return getRuleContext<accparser::Parallel_loop_clause_listContext>(0);
    4993             : }
    4994             : 
    4995             : 
    4996           0 : size_t accparser::Parallel_loop_directiveContext::getRuleIndex() const {
    4997           0 :   return accparser::RuleParallel_loop_directive;
    4998             : }
    4999             : 
    5000           0 : void accparser::Parallel_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    5001           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5002           0 :   if (parserListener != nullptr)
    5003           0 :     parserListener->enterParallel_loop_directive(this);
    5004           0 : }
    5005             : 
    5006           0 : void accparser::Parallel_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    5007           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5008           0 :   if (parserListener != nullptr)
    5009           0 :     parserListener->exitParallel_loop_directive(this);
    5010           0 : }
    5011             : 
    5012             : 
    5013           0 : antlrcpp::Any accparser::Parallel_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    5014           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5015           0 :     return parserVisitor->visitParallel_loop_directive(this);
    5016             :   else
    5017           0 :     return visitor->visitChildren(this);
    5018             : }
    5019             : 
    5020           0 : accparser::Parallel_loop_directiveContext* accparser::parallel_loop_directive() {
    5021           0 :   Parallel_loop_directiveContext *_localctx = _tracker.createInstance<Parallel_loop_directiveContext>(_ctx, getState());
    5022           0 :   enterRule(_localctx, 102, accparser::RuleParallel_loop_directive);
    5023             : 
    5024           0 :   auto onExit = finally([=] {
    5025           0 :     exitRule();
    5026           0 :   });
    5027           0 :   try {
    5028           0 :     enterOuterAlt(_localctx, 1);
    5029           0 :     setState(624);
    5030           0 :     match(accparser::PARALLEL);
    5031           0 :     setState(625);
    5032           0 :     match(accparser::LOOP);
    5033           0 :     setState(626);
    5034           0 :     parallel_loop_clause_list();
    5035             :    
    5036             :   }
    5037           0 :   catch (RecognitionException &e) {
    5038           0 :     _errHandler->reportError(this, e);
    5039           0 :     _localctx->exception = std::current_exception();
    5040           0 :     _errHandler->recover(this, _localctx->exception);
    5041             :   }
    5042             : 
    5043           0 :   return _localctx;
    5044             : }
    5045             : 
    5046             : //----------------- Parallel_loop_clause_listContext ------------------------------------------------------------------
    5047             : 
    5048           0 : accparser::Parallel_loop_clause_listContext::Parallel_loop_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    5049           0 :   : ParserRuleContext(parent, invokingState) {
    5050           0 : }
    5051             : 
    5052           0 : std::vector<accparser::Parallel_loop_clausesContext *> accparser::Parallel_loop_clause_listContext::parallel_loop_clauses() {
    5053           0 :   return getRuleContexts<accparser::Parallel_loop_clausesContext>();
    5054             : }
    5055             : 
    5056           0 : accparser::Parallel_loop_clausesContext* accparser::Parallel_loop_clause_listContext::parallel_loop_clauses(size_t i) {
    5057           0 :   return getRuleContext<accparser::Parallel_loop_clausesContext>(i);
    5058             : }
    5059             : 
    5060             : 
    5061           0 : size_t accparser::Parallel_loop_clause_listContext::getRuleIndex() const {
    5062           0 :   return accparser::RuleParallel_loop_clause_list;
    5063             : }
    5064             : 
    5065           0 : void accparser::Parallel_loop_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    5066           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5067           0 :   if (parserListener != nullptr)
    5068           0 :     parserListener->enterParallel_loop_clause_list(this);
    5069           0 : }
    5070             : 
    5071           0 : void accparser::Parallel_loop_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    5072           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5073           0 :   if (parserListener != nullptr)
    5074           0 :     parserListener->exitParallel_loop_clause_list(this);
    5075           0 : }
    5076             : 
    5077             : 
    5078           0 : antlrcpp::Any accparser::Parallel_loop_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    5079           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5080           0 :     return parserVisitor->visitParallel_loop_clause_list(this);
    5081             :   else
    5082           0 :     return visitor->visitChildren(this);
    5083             : }
    5084             : 
    5085           0 : accparser::Parallel_loop_clause_listContext* accparser::parallel_loop_clause_list() {
    5086           0 :   Parallel_loop_clause_listContext *_localctx = _tracker.createInstance<Parallel_loop_clause_listContext>(_ctx, getState());
    5087           0 :   enterRule(_localctx, 104, accparser::RuleParallel_loop_clause_list);
    5088           0 :   size_t _la = 0;
    5089             : 
    5090           0 :   auto onExit = finally([=] {
    5091           0 :     exitRule();
    5092           0 :   });
    5093           0 :   try {
    5094           0 :     enterOuterAlt(_localctx, 1);
    5095           0 :     setState(631);
    5096           0 :     _errHandler->sync(this);
    5097           0 :     _la = _input->LA(1);
    5098           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    5099           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    5100             :       | (1ULL << (accparser::ATTACH - 27))
    5101             :       | (1ULL << (accparser::AUTO - 27))
    5102             :       | (1ULL << (accparser::COLLAPSE - 27))
    5103             :       | (1ULL << (accparser::COPY - 27))
    5104             :       | (1ULL << (accparser::COPYIN - 27))
    5105             :       | (1ULL << (accparser::COPYOUT - 27))
    5106             :       | (1ULL << (accparser::CREATE - 27))
    5107             :       | (1ULL << (accparser::DEFAULT - 27))
    5108             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    5109             :       | (1ULL << (accparser::DEVICEPTR - 27))
    5110             :       | (1ULL << (accparser::FIRSTPRIVATE - 27))
    5111             :       | (1ULL << (accparser::GANG - 27))
    5112             :       | (1ULL << (accparser::IF - 27))
    5113             :       | (1ULL << (accparser::INDEPENDENT - 27))
    5114             :       | (1ULL << (accparser::NO_CREATE - 27))
    5115             :       | (1ULL << (accparser::NUM_GANGS - 27))
    5116             :       | (1ULL << (accparser::NUM_WORKERS - 27))
    5117             :       | (1ULL << (accparser::PRESENT - 27))
    5118             :       | (1ULL << (accparser::PRIVATE - 27))
    5119             :       | (1ULL << (accparser::REDUCTION - 27))
    5120             :       | (1ULL << (accparser::SELF - 27))
    5121             :       | (1ULL << (accparser::SEQ - 27))
    5122             :       | (1ULL << (accparser::TILE - 27))
    5123             :       | (1ULL << (accparser::VECTOR - 27))
    5124             :       | (1ULL << (accparser::VECTOR_LENGTH - 27))
    5125             :       | (1ULL << (accparser::WAIT - 27))
    5126           0 :       | (1ULL << (accparser::WORKER - 27)))) != 0)) {
    5127           0 :       setState(628);
    5128           0 :       parallel_loop_clauses();
    5129           0 :       setState(633);
    5130           0 :       _errHandler->sync(this);
    5131           0 :       _la = _input->LA(1);
    5132             :     }
    5133             :    
    5134             :   }
    5135           0 :   catch (RecognitionException &e) {
    5136           0 :     _errHandler->reportError(this, e);
    5137           0 :     _localctx->exception = std::current_exception();
    5138           0 :     _errHandler->recover(this, _localctx->exception);
    5139             :   }
    5140             : 
    5141           0 :   return _localctx;
    5142             : }
    5143             : 
    5144             : //----------------- Parallel_loop_clausesContext ------------------------------------------------------------------
    5145             : 
    5146           0 : accparser::Parallel_loop_clausesContext::Parallel_loop_clausesContext(ParserRuleContext *parent, size_t invokingState)
    5147           0 :   : ParserRuleContext(parent, invokingState) {
    5148           0 : }
    5149             : 
    5150           0 : accparser::Async_clauseContext* accparser::Parallel_loop_clausesContext::async_clause() {
    5151           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    5152             : }
    5153             : 
    5154           0 : accparser::Attach_clauseContext* accparser::Parallel_loop_clausesContext::attach_clause() {
    5155           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    5156             : }
    5157             : 
    5158           0 : accparser::Auto_clauseContext* accparser::Parallel_loop_clausesContext::auto_clause() {
    5159           0 :   return getRuleContext<accparser::Auto_clauseContext>(0);
    5160             : }
    5161             : 
    5162           0 : accparser::Collapse_clauseContext* accparser::Parallel_loop_clausesContext::collapse_clause() {
    5163           0 :   return getRuleContext<accparser::Collapse_clauseContext>(0);
    5164             : }
    5165             : 
    5166           0 : accparser::Copy_clauseContext* accparser::Parallel_loop_clausesContext::copy_clause() {
    5167           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    5168             : }
    5169             : 
    5170           0 : accparser::Copyin_clauseContext* accparser::Parallel_loop_clausesContext::copyin_clause() {
    5171           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    5172             : }
    5173             : 
    5174           0 : accparser::Copyout_clauseContext* accparser::Parallel_loop_clausesContext::copyout_clause() {
    5175           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    5176             : }
    5177             : 
    5178           0 : accparser::Create_clauseContext* accparser::Parallel_loop_clausesContext::create_clause() {
    5179           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    5180             : }
    5181             : 
    5182           0 : accparser::Default_clauseContext* accparser::Parallel_loop_clausesContext::default_clause() {
    5183           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    5184             : }
    5185             : 
    5186           0 : accparser::Device_type_clauseContext* accparser::Parallel_loop_clausesContext::device_type_clause() {
    5187           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    5188             : }
    5189             : 
    5190           0 : accparser::Deviceptr_clauseContext* accparser::Parallel_loop_clausesContext::deviceptr_clause() {
    5191           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    5192             : }
    5193             : 
    5194           0 : accparser::Firstprivate_clauseContext* accparser::Parallel_loop_clausesContext::firstprivate_clause() {
    5195           0 :   return getRuleContext<accparser::Firstprivate_clauseContext>(0);
    5196             : }
    5197             : 
    5198           0 : accparser::Gang_clauseContext* accparser::Parallel_loop_clausesContext::gang_clause() {
    5199           0 :   return getRuleContext<accparser::Gang_clauseContext>(0);
    5200             : }
    5201             : 
    5202           0 : accparser::If_clauseContext* accparser::Parallel_loop_clausesContext::if_clause() {
    5203           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    5204             : }
    5205             : 
    5206           0 : accparser::Independent_clauseContext* accparser::Parallel_loop_clausesContext::independent_clause() {
    5207           0 :   return getRuleContext<accparser::Independent_clauseContext>(0);
    5208             : }
    5209             : 
    5210           0 : accparser::No_create_clauseContext* accparser::Parallel_loop_clausesContext::no_create_clause() {
    5211           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    5212             : }
    5213             : 
    5214           0 : accparser::Num_gangs_clauseContext* accparser::Parallel_loop_clausesContext::num_gangs_clause() {
    5215           0 :   return getRuleContext<accparser::Num_gangs_clauseContext>(0);
    5216             : }
    5217             : 
    5218           0 : accparser::Num_workers_clauseContext* accparser::Parallel_loop_clausesContext::num_workers_clause() {
    5219           0 :   return getRuleContext<accparser::Num_workers_clauseContext>(0);
    5220             : }
    5221             : 
    5222           0 : accparser::Present_clauseContext* accparser::Parallel_loop_clausesContext::present_clause() {
    5223           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    5224             : }
    5225             : 
    5226           0 : accparser::Private_clauseContext* accparser::Parallel_loop_clausesContext::private_clause() {
    5227           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    5228             : }
    5229             : 
    5230           0 : accparser::Reduction_clauseContext* accparser::Parallel_loop_clausesContext::reduction_clause() {
    5231           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    5232             : }
    5233             : 
    5234           0 : accparser::Self_clauseContext* accparser::Parallel_loop_clausesContext::self_clause() {
    5235           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    5236             : }
    5237             : 
    5238           0 : accparser::Seq_clauseContext* accparser::Parallel_loop_clausesContext::seq_clause() {
    5239           0 :   return getRuleContext<accparser::Seq_clauseContext>(0);
    5240             : }
    5241             : 
    5242           0 : accparser::Tile_clauseContext* accparser::Parallel_loop_clausesContext::tile_clause() {
    5243           0 :   return getRuleContext<accparser::Tile_clauseContext>(0);
    5244             : }
    5245             : 
    5246           0 : accparser::Vector_clauseContext* accparser::Parallel_loop_clausesContext::vector_clause() {
    5247           0 :   return getRuleContext<accparser::Vector_clauseContext>(0);
    5248             : }
    5249             : 
    5250           0 : accparser::Vector_length_clauseContext* accparser::Parallel_loop_clausesContext::vector_length_clause() {
    5251           0 :   return getRuleContext<accparser::Vector_length_clauseContext>(0);
    5252             : }
    5253             : 
    5254           0 : accparser::Wait_clauseContext* accparser::Parallel_loop_clausesContext::wait_clause() {
    5255           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    5256             : }
    5257             : 
    5258           0 : accparser::Worker_clauseContext* accparser::Parallel_loop_clausesContext::worker_clause() {
    5259           0 :   return getRuleContext<accparser::Worker_clauseContext>(0);
    5260             : }
    5261             : 
    5262             : 
    5263           0 : size_t accparser::Parallel_loop_clausesContext::getRuleIndex() const {
    5264           0 :   return accparser::RuleParallel_loop_clauses;
    5265             : }
    5266             : 
    5267           0 : void accparser::Parallel_loop_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    5268           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5269           0 :   if (parserListener != nullptr)
    5270           0 :     parserListener->enterParallel_loop_clauses(this);
    5271           0 : }
    5272             : 
    5273           0 : void accparser::Parallel_loop_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    5274           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5275           0 :   if (parserListener != nullptr)
    5276           0 :     parserListener->exitParallel_loop_clauses(this);
    5277           0 : }
    5278             : 
    5279             : 
    5280           0 : antlrcpp::Any accparser::Parallel_loop_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    5281           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5282           0 :     return parserVisitor->visitParallel_loop_clauses(this);
    5283             :   else
    5284           0 :     return visitor->visitChildren(this);
    5285             : }
    5286             : 
    5287           0 : accparser::Parallel_loop_clausesContext* accparser::parallel_loop_clauses() {
    5288           0 :   Parallel_loop_clausesContext *_localctx = _tracker.createInstance<Parallel_loop_clausesContext>(_ctx, getState());
    5289           0 :   enterRule(_localctx, 106, accparser::RuleParallel_loop_clauses);
    5290             : 
    5291           0 :   auto onExit = finally([=] {
    5292           0 :     exitRule();
    5293           0 :   });
    5294           0 :   try {
    5295           0 :     setState(662);
    5296           0 :     _errHandler->sync(this);
    5297           0 :     switch (_input->LA(1)) {
    5298           0 :       case accparser::ASYNC: {
    5299           0 :         enterOuterAlt(_localctx, 1);
    5300           0 :         setState(634);
    5301           0 :         async_clause();
    5302             :         break;
    5303             :       }
    5304             : 
    5305           0 :       case accparser::ATTACH: {
    5306           0 :         enterOuterAlt(_localctx, 2);
    5307           0 :         setState(635);
    5308           0 :         attach_clause();
    5309             :         break;
    5310             :       }
    5311             : 
    5312           0 :       case accparser::AUTO: {
    5313           0 :         enterOuterAlt(_localctx, 3);
    5314           0 :         setState(636);
    5315           0 :         auto_clause();
    5316             :         break;
    5317             :       }
    5318             : 
    5319           0 :       case accparser::COLLAPSE: {
    5320           0 :         enterOuterAlt(_localctx, 4);
    5321           0 :         setState(637);
    5322           0 :         collapse_clause();
    5323             :         break;
    5324             :       }
    5325             : 
    5326           0 :       case accparser::COPY: {
    5327           0 :         enterOuterAlt(_localctx, 5);
    5328           0 :         setState(638);
    5329           0 :         copy_clause();
    5330             :         break;
    5331             :       }
    5332             : 
    5333           0 :       case accparser::COPYIN: {
    5334           0 :         enterOuterAlt(_localctx, 6);
    5335           0 :         setState(639);
    5336           0 :         copyin_clause();
    5337             :         break;
    5338             :       }
    5339             : 
    5340           0 :       case accparser::COPYOUT: {
    5341           0 :         enterOuterAlt(_localctx, 7);
    5342           0 :         setState(640);
    5343           0 :         copyout_clause();
    5344             :         break;
    5345             :       }
    5346             : 
    5347           0 :       case accparser::CREATE: {
    5348           0 :         enterOuterAlt(_localctx, 8);
    5349           0 :         setState(641);
    5350           0 :         create_clause();
    5351             :         break;
    5352             :       }
    5353             : 
    5354           0 :       case accparser::DEFAULT: {
    5355           0 :         enterOuterAlt(_localctx, 9);
    5356           0 :         setState(642);
    5357           0 :         default_clause();
    5358             :         break;
    5359             :       }
    5360             : 
    5361           0 :       case accparser::DEVICE_TYPE: {
    5362           0 :         enterOuterAlt(_localctx, 10);
    5363           0 :         setState(643);
    5364           0 :         device_type_clause();
    5365             :         break;
    5366             :       }
    5367             : 
    5368           0 :       case accparser::DEVICEPTR: {
    5369           0 :         enterOuterAlt(_localctx, 11);
    5370           0 :         setState(644);
    5371           0 :         deviceptr_clause();
    5372             :         break;
    5373             :       }
    5374             : 
    5375           0 :       case accparser::FIRSTPRIVATE: {
    5376           0 :         enterOuterAlt(_localctx, 12);
    5377           0 :         setState(645);
    5378           0 :         firstprivate_clause();
    5379             :         break;
    5380             :       }
    5381             : 
    5382           0 :       case accparser::GANG: {
    5383           0 :         enterOuterAlt(_localctx, 13);
    5384           0 :         setState(646);
    5385           0 :         gang_clause();
    5386             :         break;
    5387             :       }
    5388             : 
    5389           0 :       case accparser::IF: {
    5390           0 :         enterOuterAlt(_localctx, 14);
    5391           0 :         setState(647);
    5392           0 :         if_clause();
    5393             :         break;
    5394             :       }
    5395             : 
    5396           0 :       case accparser::INDEPENDENT: {
    5397           0 :         enterOuterAlt(_localctx, 15);
    5398           0 :         setState(648);
    5399           0 :         independent_clause();
    5400             :         break;
    5401             :       }
    5402             : 
    5403           0 :       case accparser::NO_CREATE: {
    5404           0 :         enterOuterAlt(_localctx, 16);
    5405           0 :         setState(649);
    5406           0 :         no_create_clause();
    5407             :         break;
    5408             :       }
    5409             : 
    5410           0 :       case accparser::NUM_GANGS: {
    5411           0 :         enterOuterAlt(_localctx, 17);
    5412           0 :         setState(650);
    5413           0 :         num_gangs_clause();
    5414             :         break;
    5415             :       }
    5416             : 
    5417           0 :       case accparser::NUM_WORKERS: {
    5418           0 :         enterOuterAlt(_localctx, 18);
    5419           0 :         setState(651);
    5420           0 :         num_workers_clause();
    5421             :         break;
    5422             :       }
    5423             : 
    5424           0 :       case accparser::PRESENT: {
    5425           0 :         enterOuterAlt(_localctx, 19);
    5426           0 :         setState(652);
    5427           0 :         present_clause();
    5428             :         break;
    5429             :       }
    5430             : 
    5431           0 :       case accparser::PRIVATE: {
    5432           0 :         enterOuterAlt(_localctx, 20);
    5433           0 :         setState(653);
    5434           0 :         private_clause();
    5435             :         break;
    5436             :       }
    5437             : 
    5438           0 :       case accparser::REDUCTION: {
    5439           0 :         enterOuterAlt(_localctx, 21);
    5440           0 :         setState(654);
    5441           0 :         reduction_clause();
    5442             :         break;
    5443             :       }
    5444             : 
    5445           0 :       case accparser::SELF: {
    5446           0 :         enterOuterAlt(_localctx, 22);
    5447           0 :         setState(655);
    5448           0 :         self_clause();
    5449             :         break;
    5450             :       }
    5451             : 
    5452           0 :       case accparser::SEQ: {
    5453           0 :         enterOuterAlt(_localctx, 23);
    5454           0 :         setState(656);
    5455           0 :         seq_clause();
    5456             :         break;
    5457             :       }
    5458             : 
    5459           0 :       case accparser::TILE: {
    5460           0 :         enterOuterAlt(_localctx, 24);
    5461           0 :         setState(657);
    5462           0 :         tile_clause();
    5463             :         break;
    5464             :       }
    5465             : 
    5466           0 :       case accparser::VECTOR: {
    5467           0 :         enterOuterAlt(_localctx, 25);
    5468           0 :         setState(658);
    5469           0 :         vector_clause();
    5470             :         break;
    5471             :       }
    5472             : 
    5473           0 :       case accparser::VECTOR_LENGTH: {
    5474           0 :         enterOuterAlt(_localctx, 26);
    5475           0 :         setState(659);
    5476           0 :         vector_length_clause();
    5477             :         break;
    5478             :       }
    5479             : 
    5480           0 :       case accparser::WAIT: {
    5481           0 :         enterOuterAlt(_localctx, 27);
    5482           0 :         setState(660);
    5483           0 :         wait_clause();
    5484             :         break;
    5485             :       }
    5486             : 
    5487           0 :       case accparser::WORKER: {
    5488           0 :         enterOuterAlt(_localctx, 28);
    5489           0 :         setState(661);
    5490           0 :         worker_clause();
    5491             :         break;
    5492             :       }
    5493             : 
    5494           0 :     default:
    5495           0 :       throw NoViableAltException(this);
    5496             :     }
    5497             :    
    5498             :   }
    5499           0 :   catch (RecognitionException &e) {
    5500           0 :     _errHandler->reportError(this, e);
    5501           0 :     _localctx->exception = std::current_exception();
    5502           0 :     _errHandler->recover(this, _localctx->exception);
    5503             :   }
    5504             : 
    5505           0 :   return _localctx;
    5506             : }
    5507             : 
    5508             : //----------------- Routine_directiveContext ------------------------------------------------------------------
    5509             : 
    5510           0 : accparser::Routine_directiveContext::Routine_directiveContext(ParserRuleContext *parent, size_t invokingState)
    5511           0 :   : ParserRuleContext(parent, invokingState) {
    5512           0 : }
    5513             : 
    5514           0 : tree::TerminalNode* accparser::Routine_directiveContext::ROUTINE() {
    5515           0 :   return getToken(accparser::ROUTINE, 0);
    5516             : }
    5517             : 
    5518           0 : accparser::Routine_clause_listContext* accparser::Routine_directiveContext::routine_clause_list() {
    5519           0 :   return getRuleContext<accparser::Routine_clause_listContext>(0);
    5520             : }
    5521             : 
    5522           0 : tree::TerminalNode* accparser::Routine_directiveContext::LEFT_PAREN() {
    5523           0 :   return getToken(accparser::LEFT_PAREN, 0);
    5524             : }
    5525             : 
    5526           0 : accparser::NameContext* accparser::Routine_directiveContext::name() {
    5527           0 :   return getRuleContext<accparser::NameContext>(0);
    5528             : }
    5529             : 
    5530           0 : tree::TerminalNode* accparser::Routine_directiveContext::RIGHT_PAREN() {
    5531           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    5532             : }
    5533             : 
    5534             : 
    5535           0 : size_t accparser::Routine_directiveContext::getRuleIndex() const {
    5536           0 :   return accparser::RuleRoutine_directive;
    5537             : }
    5538             : 
    5539           0 : void accparser::Routine_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    5540           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5541           0 :   if (parserListener != nullptr)
    5542           0 :     parserListener->enterRoutine_directive(this);
    5543           0 : }
    5544             : 
    5545           0 : void accparser::Routine_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    5546           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5547           0 :   if (parserListener != nullptr)
    5548           0 :     parserListener->exitRoutine_directive(this);
    5549           0 : }
    5550             : 
    5551             : 
    5552           0 : antlrcpp::Any accparser::Routine_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    5553           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5554           0 :     return parserVisitor->visitRoutine_directive(this);
    5555             :   else
    5556           0 :     return visitor->visitChildren(this);
    5557             : }
    5558             : 
    5559           0 : accparser::Routine_directiveContext* accparser::routine_directive() {
    5560           0 :   Routine_directiveContext *_localctx = _tracker.createInstance<Routine_directiveContext>(_ctx, getState());
    5561           0 :   enterRule(_localctx, 108, accparser::RuleRoutine_directive);
    5562             : 
    5563           0 :   auto onExit = finally([=] {
    5564           0 :     exitRule();
    5565           0 :   });
    5566           0 :   try {
    5567           0 :     setState(672);
    5568           0 :     _errHandler->sync(this);
    5569           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 28, _ctx)) {
    5570           0 :     case 1: {
    5571           0 :       enterOuterAlt(_localctx, 1);
    5572           0 :       setState(664);
    5573           0 :       match(accparser::ROUTINE);
    5574           0 :       setState(665);
    5575           0 :       routine_clause_list();
    5576             :       break;
    5577             :     }
    5578             : 
    5579           0 :     case 2: {
    5580           0 :       enterOuterAlt(_localctx, 2);
    5581           0 :       setState(666);
    5582           0 :       match(accparser::ROUTINE);
    5583           0 :       setState(667);
    5584           0 :       match(accparser::LEFT_PAREN);
    5585           0 :       setState(668);
    5586           0 :       name();
    5587           0 :       setState(669);
    5588           0 :       match(accparser::RIGHT_PAREN);
    5589           0 :       setState(670);
    5590           0 :       routine_clause_list();
    5591             :       break;
    5592             :     }
    5593             : 
    5594             :     }
    5595             :    
    5596             :   }
    5597           0 :   catch (RecognitionException &e) {
    5598           0 :     _errHandler->reportError(this, e);
    5599           0 :     _localctx->exception = std::current_exception();
    5600           0 :     _errHandler->recover(this, _localctx->exception);
    5601             :   }
    5602             : 
    5603           0 :   return _localctx;
    5604             : }
    5605             : 
    5606             : //----------------- Routine_clause_listContext ------------------------------------------------------------------
    5607             : 
    5608           0 : accparser::Routine_clause_listContext::Routine_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    5609           0 :   : ParserRuleContext(parent, invokingState) {
    5610           0 : }
    5611             : 
    5612           0 : std::vector<accparser::Routine_clausesContext *> accparser::Routine_clause_listContext::routine_clauses() {
    5613           0 :   return getRuleContexts<accparser::Routine_clausesContext>();
    5614             : }
    5615             : 
    5616           0 : accparser::Routine_clausesContext* accparser::Routine_clause_listContext::routine_clauses(size_t i) {
    5617           0 :   return getRuleContext<accparser::Routine_clausesContext>(i);
    5618             : }
    5619             : 
    5620             : 
    5621           0 : size_t accparser::Routine_clause_listContext::getRuleIndex() const {
    5622           0 :   return accparser::RuleRoutine_clause_list;
    5623             : }
    5624             : 
    5625           0 : void accparser::Routine_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    5626           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5627           0 :   if (parserListener != nullptr)
    5628           0 :     parserListener->enterRoutine_clause_list(this);
    5629           0 : }
    5630             : 
    5631           0 : void accparser::Routine_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    5632           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5633           0 :   if (parserListener != nullptr)
    5634           0 :     parserListener->exitRoutine_clause_list(this);
    5635           0 : }
    5636             : 
    5637             : 
    5638           0 : antlrcpp::Any accparser::Routine_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    5639           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5640           0 :     return parserVisitor->visitRoutine_clause_list(this);
    5641             :   else
    5642           0 :     return visitor->visitChildren(this);
    5643             : }
    5644             : 
    5645           0 : accparser::Routine_clause_listContext* accparser::routine_clause_list() {
    5646           0 :   Routine_clause_listContext *_localctx = _tracker.createInstance<Routine_clause_listContext>(_ctx, getState());
    5647           0 :   enterRule(_localctx, 110, accparser::RuleRoutine_clause_list);
    5648           0 :   size_t _la = 0;
    5649             : 
    5650           0 :   auto onExit = finally([=] {
    5651           0 :     exitRule();
    5652           0 :   });
    5653           0 :   try {
    5654           0 :     enterOuterAlt(_localctx, 1);
    5655           0 :     setState(675); 
    5656           0 :     _errHandler->sync(this);
    5657           0 :     _la = _input->LA(1);
    5658           0 :     do {
    5659           0 :       setState(674);
    5660           0 :       routine_clauses();
    5661           0 :       setState(677); 
    5662           0 :       _errHandler->sync(this);
    5663           0 :       _la = _input->LA(1);
    5664           0 :     } while (((((_la - 30) & ~ 0x3fULL) == 0) &&
    5665           0 :       ((1ULL << (_la - 30)) & ((1ULL << (accparser::BIND - 30))
    5666             :       | (1ULL << (accparser::DEVICE_TYPE - 30))
    5667             :       | (1ULL << (accparser::GANG - 30))
    5668             :       | (1ULL << (accparser::NOHOST - 30))
    5669             :       | (1ULL << (accparser::SEQ - 30))
    5670             :       | (1ULL << (accparser::VECTOR - 30))
    5671           0 :       | (1ULL << (accparser::WORKER - 30)))) != 0));
    5672             :    
    5673             :   }
    5674           0 :   catch (RecognitionException &e) {
    5675           0 :     _errHandler->reportError(this, e);
    5676           0 :     _localctx->exception = std::current_exception();
    5677           0 :     _errHandler->recover(this, _localctx->exception);
    5678             :   }
    5679             : 
    5680           0 :   return _localctx;
    5681             : }
    5682             : 
    5683             : //----------------- Routine_clausesContext ------------------------------------------------------------------
    5684             : 
    5685           0 : accparser::Routine_clausesContext::Routine_clausesContext(ParserRuleContext *parent, size_t invokingState)
    5686           0 :   : ParserRuleContext(parent, invokingState) {
    5687           0 : }
    5688             : 
    5689           0 : accparser::Bind_clauseContext* accparser::Routine_clausesContext::bind_clause() {
    5690           0 :   return getRuleContext<accparser::Bind_clauseContext>(0);
    5691             : }
    5692             : 
    5693           0 : accparser::Device_type_clauseContext* accparser::Routine_clausesContext::device_type_clause() {
    5694           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    5695             : }
    5696             : 
    5697           0 : accparser::Gang_no_list_clauseContext* accparser::Routine_clausesContext::gang_no_list_clause() {
    5698           0 :   return getRuleContext<accparser::Gang_no_list_clauseContext>(0);
    5699             : }
    5700             : 
    5701           0 : accparser::Nohost_clauseContext* accparser::Routine_clausesContext::nohost_clause() {
    5702           0 :   return getRuleContext<accparser::Nohost_clauseContext>(0);
    5703             : }
    5704             : 
    5705           0 : accparser::Seq_clauseContext* accparser::Routine_clausesContext::seq_clause() {
    5706           0 :   return getRuleContext<accparser::Seq_clauseContext>(0);
    5707             : }
    5708             : 
    5709           0 : accparser::Vector_no_modifier_clauseContext* accparser::Routine_clausesContext::vector_no_modifier_clause() {
    5710           0 :   return getRuleContext<accparser::Vector_no_modifier_clauseContext>(0);
    5711             : }
    5712             : 
    5713           0 : accparser::Worker_no_modifier_clauseContext* accparser::Routine_clausesContext::worker_no_modifier_clause() {
    5714           0 :   return getRuleContext<accparser::Worker_no_modifier_clauseContext>(0);
    5715             : }
    5716             : 
    5717             : 
    5718           0 : size_t accparser::Routine_clausesContext::getRuleIndex() const {
    5719           0 :   return accparser::RuleRoutine_clauses;
    5720             : }
    5721             : 
    5722           0 : void accparser::Routine_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    5723           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5724           0 :   if (parserListener != nullptr)
    5725           0 :     parserListener->enterRoutine_clauses(this);
    5726           0 : }
    5727             : 
    5728           0 : void accparser::Routine_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    5729           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5730           0 :   if (parserListener != nullptr)
    5731           0 :     parserListener->exitRoutine_clauses(this);
    5732           0 : }
    5733             : 
    5734             : 
    5735           0 : antlrcpp::Any accparser::Routine_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    5736           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5737           0 :     return parserVisitor->visitRoutine_clauses(this);
    5738             :   else
    5739           0 :     return visitor->visitChildren(this);
    5740             : }
    5741             : 
    5742           0 : accparser::Routine_clausesContext* accparser::routine_clauses() {
    5743           0 :   Routine_clausesContext *_localctx = _tracker.createInstance<Routine_clausesContext>(_ctx, getState());
    5744           0 :   enterRule(_localctx, 112, accparser::RuleRoutine_clauses);
    5745             : 
    5746           0 :   auto onExit = finally([=] {
    5747           0 :     exitRule();
    5748           0 :   });
    5749           0 :   try {
    5750           0 :     setState(686);
    5751           0 :     _errHandler->sync(this);
    5752           0 :     switch (_input->LA(1)) {
    5753           0 :       case accparser::BIND: {
    5754           0 :         enterOuterAlt(_localctx, 1);
    5755           0 :         setState(679);
    5756           0 :         bind_clause();
    5757             :         break;
    5758             :       }
    5759             : 
    5760           0 :       case accparser::DEVICE_TYPE: {
    5761           0 :         enterOuterAlt(_localctx, 2);
    5762           0 :         setState(680);
    5763           0 :         device_type_clause();
    5764             :         break;
    5765             :       }
    5766             : 
    5767           0 :       case accparser::GANG: {
    5768           0 :         enterOuterAlt(_localctx, 3);
    5769           0 :         setState(681);
    5770           0 :         gang_no_list_clause();
    5771             :         break;
    5772             :       }
    5773             : 
    5774           0 :       case accparser::NOHOST: {
    5775           0 :         enterOuterAlt(_localctx, 4);
    5776           0 :         setState(682);
    5777           0 :         nohost_clause();
    5778             :         break;
    5779             :       }
    5780             : 
    5781           0 :       case accparser::SEQ: {
    5782           0 :         enterOuterAlt(_localctx, 5);
    5783           0 :         setState(683);
    5784           0 :         seq_clause();
    5785             :         break;
    5786             :       }
    5787             : 
    5788           0 :       case accparser::VECTOR: {
    5789           0 :         enterOuterAlt(_localctx, 6);
    5790           0 :         setState(684);
    5791           0 :         vector_no_modifier_clause();
    5792             :         break;
    5793             :       }
    5794             : 
    5795           0 :       case accparser::WORKER: {
    5796           0 :         enterOuterAlt(_localctx, 7);
    5797           0 :         setState(685);
    5798           0 :         worker_no_modifier_clause();
    5799             :         break;
    5800             :       }
    5801             : 
    5802           0 :     default:
    5803           0 :       throw NoViableAltException(this);
    5804             :     }
    5805             :    
    5806             :   }
    5807           0 :   catch (RecognitionException &e) {
    5808           0 :     _errHandler->reportError(this, e);
    5809           0 :     _localctx->exception = std::current_exception();
    5810           0 :     _errHandler->recover(this, _localctx->exception);
    5811             :   }
    5812             : 
    5813           0 :   return _localctx;
    5814             : }
    5815             : 
    5816             : //----------------- NameContext ------------------------------------------------------------------
    5817             : 
    5818           0 : accparser::NameContext::NameContext(ParserRuleContext *parent, size_t invokingState)
    5819           0 :   : ParserRuleContext(parent, invokingState) {
    5820           0 : }
    5821             : 
    5822           0 : tree::TerminalNode* accparser::NameContext::EXPR() {
    5823           0 :   return getToken(accparser::EXPR, 0);
    5824             : }
    5825             : 
    5826             : 
    5827           0 : size_t accparser::NameContext::getRuleIndex() const {
    5828           0 :   return accparser::RuleName;
    5829             : }
    5830             : 
    5831           0 : void accparser::NameContext::enterRule(tree::ParseTreeListener *listener) {
    5832           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5833           0 :   if (parserListener != nullptr)
    5834           0 :     parserListener->enterName(this);
    5835           0 : }
    5836             : 
    5837           0 : void accparser::NameContext::exitRule(tree::ParseTreeListener *listener) {
    5838           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5839           0 :   if (parserListener != nullptr)
    5840           0 :     parserListener->exitName(this);
    5841           0 : }
    5842             : 
    5843             : 
    5844           0 : antlrcpp::Any accparser::NameContext::accept(tree::ParseTreeVisitor *visitor) {
    5845           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5846           0 :     return parserVisitor->visitName(this);
    5847             :   else
    5848           0 :     return visitor->visitChildren(this);
    5849             : }
    5850             : 
    5851           0 : accparser::NameContext* accparser::name() {
    5852           0 :   NameContext *_localctx = _tracker.createInstance<NameContext>(_ctx, getState());
    5853           0 :   enterRule(_localctx, 114, accparser::RuleName);
    5854             : 
    5855           0 :   auto onExit = finally([=] {
    5856           0 :     exitRule();
    5857           0 :   });
    5858           0 :   try {
    5859           0 :     enterOuterAlt(_localctx, 1);
    5860           0 :     setState(688);
    5861           0 :     match(accparser::EXPR);
    5862             :    
    5863             :   }
    5864           0 :   catch (RecognitionException &e) {
    5865           0 :     _errHandler->reportError(this, e);
    5866           0 :     _localctx->exception = std::current_exception();
    5867           0 :     _errHandler->recover(this, _localctx->exception);
    5868             :   }
    5869             : 
    5870           0 :   return _localctx;
    5871             : }
    5872             : 
    5873             : //----------------- Serial_directiveContext ------------------------------------------------------------------
    5874             : 
    5875           0 : accparser::Serial_directiveContext::Serial_directiveContext(ParserRuleContext *parent, size_t invokingState)
    5876           0 :   : ParserRuleContext(parent, invokingState) {
    5877           0 : }
    5878             : 
    5879           0 : tree::TerminalNode* accparser::Serial_directiveContext::SERIAL() {
    5880           0 :   return getToken(accparser::SERIAL, 0);
    5881             : }
    5882             : 
    5883           0 : accparser::Serial_clause_listContext* accparser::Serial_directiveContext::serial_clause_list() {
    5884           0 :   return getRuleContext<accparser::Serial_clause_listContext>(0);
    5885             : }
    5886             : 
    5887             : 
    5888           0 : size_t accparser::Serial_directiveContext::getRuleIndex() const {
    5889           0 :   return accparser::RuleSerial_directive;
    5890             : }
    5891             : 
    5892           0 : void accparser::Serial_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    5893           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5894           0 :   if (parserListener != nullptr)
    5895           0 :     parserListener->enterSerial_directive(this);
    5896           0 : }
    5897             : 
    5898           0 : void accparser::Serial_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    5899           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5900           0 :   if (parserListener != nullptr)
    5901           0 :     parserListener->exitSerial_directive(this);
    5902           0 : }
    5903             : 
    5904             : 
    5905           0 : antlrcpp::Any accparser::Serial_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    5906           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5907           0 :     return parserVisitor->visitSerial_directive(this);
    5908             :   else
    5909           0 :     return visitor->visitChildren(this);
    5910             : }
    5911             : 
    5912           0 : accparser::Serial_directiveContext* accparser::serial_directive() {
    5913           0 :   Serial_directiveContext *_localctx = _tracker.createInstance<Serial_directiveContext>(_ctx, getState());
    5914           0 :   enterRule(_localctx, 116, accparser::RuleSerial_directive);
    5915             : 
    5916           0 :   auto onExit = finally([=] {
    5917           0 :     exitRule();
    5918           0 :   });
    5919           0 :   try {
    5920           0 :     enterOuterAlt(_localctx, 1);
    5921           0 :     setState(690);
    5922           0 :     match(accparser::SERIAL);
    5923           0 :     setState(691);
    5924           0 :     serial_clause_list();
    5925             :    
    5926             :   }
    5927           0 :   catch (RecognitionException &e) {
    5928           0 :     _errHandler->reportError(this, e);
    5929           0 :     _localctx->exception = std::current_exception();
    5930           0 :     _errHandler->recover(this, _localctx->exception);
    5931             :   }
    5932             : 
    5933           0 :   return _localctx;
    5934             : }
    5935             : 
    5936             : //----------------- Serial_clause_listContext ------------------------------------------------------------------
    5937             : 
    5938           0 : accparser::Serial_clause_listContext::Serial_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    5939           0 :   : ParserRuleContext(parent, invokingState) {
    5940           0 : }
    5941             : 
    5942           0 : std::vector<accparser::Serial_clausesContext *> accparser::Serial_clause_listContext::serial_clauses() {
    5943           0 :   return getRuleContexts<accparser::Serial_clausesContext>();
    5944             : }
    5945             : 
    5946           0 : accparser::Serial_clausesContext* accparser::Serial_clause_listContext::serial_clauses(size_t i) {
    5947           0 :   return getRuleContext<accparser::Serial_clausesContext>(i);
    5948             : }
    5949             : 
    5950             : 
    5951           0 : size_t accparser::Serial_clause_listContext::getRuleIndex() const {
    5952           0 :   return accparser::RuleSerial_clause_list;
    5953             : }
    5954             : 
    5955           0 : void accparser::Serial_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    5956           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5957           0 :   if (parserListener != nullptr)
    5958           0 :     parserListener->enterSerial_clause_list(this);
    5959           0 : }
    5960             : 
    5961           0 : void accparser::Serial_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    5962           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    5963           0 :   if (parserListener != nullptr)
    5964           0 :     parserListener->exitSerial_clause_list(this);
    5965           0 : }
    5966             : 
    5967             : 
    5968           0 : antlrcpp::Any accparser::Serial_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    5969           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    5970           0 :     return parserVisitor->visitSerial_clause_list(this);
    5971             :   else
    5972           0 :     return visitor->visitChildren(this);
    5973             : }
    5974             : 
    5975           0 : accparser::Serial_clause_listContext* accparser::serial_clause_list() {
    5976           0 :   Serial_clause_listContext *_localctx = _tracker.createInstance<Serial_clause_listContext>(_ctx, getState());
    5977           0 :   enterRule(_localctx, 118, accparser::RuleSerial_clause_list);
    5978           0 :   size_t _la = 0;
    5979             : 
    5980           0 :   auto onExit = finally([=] {
    5981           0 :     exitRule();
    5982           0 :   });
    5983           0 :   try {
    5984           0 :     enterOuterAlt(_localctx, 1);
    5985           0 :     setState(696);
    5986           0 :     _errHandler->sync(this);
    5987           0 :     _la = _input->LA(1);
    5988           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    5989           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    5990             :       | (1ULL << (accparser::ATTACH - 27))
    5991             :       | (1ULL << (accparser::COPY - 27))
    5992             :       | (1ULL << (accparser::COPYIN - 27))
    5993             :       | (1ULL << (accparser::COPYOUT - 27))
    5994             :       | (1ULL << (accparser::CREATE - 27))
    5995             :       | (1ULL << (accparser::DEFAULT - 27))
    5996             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    5997             :       | (1ULL << (accparser::DEVICEPTR - 27))
    5998             :       | (1ULL << (accparser::FIRSTPRIVATE - 27))
    5999             :       | (1ULL << (accparser::IF - 27))
    6000             :       | (1ULL << (accparser::NO_CREATE - 27))
    6001             :       | (1ULL << (accparser::PRESENT - 27))
    6002             :       | (1ULL << (accparser::PRIVATE - 27))
    6003             :       | (1ULL << (accparser::REDUCTION - 27))
    6004             :       | (1ULL << (accparser::SELF - 27))
    6005           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0)) {
    6006           0 :       setState(693);
    6007           0 :       serial_clauses();
    6008           0 :       setState(698);
    6009           0 :       _errHandler->sync(this);
    6010           0 :       _la = _input->LA(1);
    6011             :     }
    6012             :    
    6013             :   }
    6014           0 :   catch (RecognitionException &e) {
    6015           0 :     _errHandler->reportError(this, e);
    6016           0 :     _localctx->exception = std::current_exception();
    6017           0 :     _errHandler->recover(this, _localctx->exception);
    6018             :   }
    6019             : 
    6020           0 :   return _localctx;
    6021             : }
    6022             : 
    6023             : //----------------- Serial_clausesContext ------------------------------------------------------------------
    6024             : 
    6025           0 : accparser::Serial_clausesContext::Serial_clausesContext(ParserRuleContext *parent, size_t invokingState)
    6026           0 :   : ParserRuleContext(parent, invokingState) {
    6027           0 : }
    6028             : 
    6029           0 : accparser::Async_clauseContext* accparser::Serial_clausesContext::async_clause() {
    6030           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    6031             : }
    6032             : 
    6033           0 : accparser::Attach_clauseContext* accparser::Serial_clausesContext::attach_clause() {
    6034           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    6035             : }
    6036             : 
    6037           0 : accparser::Copy_clauseContext* accparser::Serial_clausesContext::copy_clause() {
    6038           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    6039             : }
    6040             : 
    6041           0 : accparser::Copyin_clauseContext* accparser::Serial_clausesContext::copyin_clause() {
    6042           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    6043             : }
    6044             : 
    6045           0 : accparser::Copyout_clauseContext* accparser::Serial_clausesContext::copyout_clause() {
    6046           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    6047             : }
    6048             : 
    6049           0 : accparser::Create_clauseContext* accparser::Serial_clausesContext::create_clause() {
    6050           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    6051             : }
    6052             : 
    6053           0 : accparser::Default_clauseContext* accparser::Serial_clausesContext::default_clause() {
    6054           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    6055             : }
    6056             : 
    6057           0 : accparser::Device_type_clauseContext* accparser::Serial_clausesContext::device_type_clause() {
    6058           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    6059             : }
    6060             : 
    6061           0 : accparser::Deviceptr_clauseContext* accparser::Serial_clausesContext::deviceptr_clause() {
    6062           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    6063             : }
    6064             : 
    6065           0 : accparser::Firstprivate_clauseContext* accparser::Serial_clausesContext::firstprivate_clause() {
    6066           0 :   return getRuleContext<accparser::Firstprivate_clauseContext>(0);
    6067             : }
    6068             : 
    6069           0 : accparser::If_clauseContext* accparser::Serial_clausesContext::if_clause() {
    6070           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    6071             : }
    6072             : 
    6073           0 : accparser::No_create_clauseContext* accparser::Serial_clausesContext::no_create_clause() {
    6074           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    6075             : }
    6076             : 
    6077           0 : accparser::Present_clauseContext* accparser::Serial_clausesContext::present_clause() {
    6078           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    6079             : }
    6080             : 
    6081           0 : accparser::Private_clauseContext* accparser::Serial_clausesContext::private_clause() {
    6082           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    6083             : }
    6084             : 
    6085           0 : accparser::Reduction_clauseContext* accparser::Serial_clausesContext::reduction_clause() {
    6086           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    6087             : }
    6088             : 
    6089           0 : accparser::Self_clauseContext* accparser::Serial_clausesContext::self_clause() {
    6090           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    6091             : }
    6092             : 
    6093           0 : accparser::Wait_clauseContext* accparser::Serial_clausesContext::wait_clause() {
    6094           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    6095             : }
    6096             : 
    6097             : 
    6098           0 : size_t accparser::Serial_clausesContext::getRuleIndex() const {
    6099           0 :   return accparser::RuleSerial_clauses;
    6100             : }
    6101             : 
    6102           0 : void accparser::Serial_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    6103           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6104           0 :   if (parserListener != nullptr)
    6105           0 :     parserListener->enterSerial_clauses(this);
    6106           0 : }
    6107             : 
    6108           0 : void accparser::Serial_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    6109           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6110           0 :   if (parserListener != nullptr)
    6111           0 :     parserListener->exitSerial_clauses(this);
    6112           0 : }
    6113             : 
    6114             : 
    6115           0 : antlrcpp::Any accparser::Serial_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    6116           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6117           0 :     return parserVisitor->visitSerial_clauses(this);
    6118             :   else
    6119           0 :     return visitor->visitChildren(this);
    6120             : }
    6121             : 
    6122           0 : accparser::Serial_clausesContext* accparser::serial_clauses() {
    6123           0 :   Serial_clausesContext *_localctx = _tracker.createInstance<Serial_clausesContext>(_ctx, getState());
    6124           0 :   enterRule(_localctx, 120, accparser::RuleSerial_clauses);
    6125             : 
    6126           0 :   auto onExit = finally([=] {
    6127           0 :     exitRule();
    6128           0 :   });
    6129           0 :   try {
    6130           0 :     setState(716);
    6131           0 :     _errHandler->sync(this);
    6132           0 :     switch (_input->LA(1)) {
    6133           0 :       case accparser::ASYNC: {
    6134           0 :         enterOuterAlt(_localctx, 1);
    6135           0 :         setState(699);
    6136           0 :         async_clause();
    6137             :         break;
    6138             :       }
    6139             : 
    6140           0 :       case accparser::ATTACH: {
    6141           0 :         enterOuterAlt(_localctx, 2);
    6142           0 :         setState(700);
    6143           0 :         attach_clause();
    6144             :         break;
    6145             :       }
    6146             : 
    6147           0 :       case accparser::COPY: {
    6148           0 :         enterOuterAlt(_localctx, 3);
    6149           0 :         setState(701);
    6150           0 :         copy_clause();
    6151             :         break;
    6152             :       }
    6153             : 
    6154           0 :       case accparser::COPYIN: {
    6155           0 :         enterOuterAlt(_localctx, 4);
    6156           0 :         setState(702);
    6157           0 :         copyin_clause();
    6158             :         break;
    6159             :       }
    6160             : 
    6161           0 :       case accparser::COPYOUT: {
    6162           0 :         enterOuterAlt(_localctx, 5);
    6163           0 :         setState(703);
    6164           0 :         copyout_clause();
    6165             :         break;
    6166             :       }
    6167             : 
    6168           0 :       case accparser::CREATE: {
    6169           0 :         enterOuterAlt(_localctx, 6);
    6170           0 :         setState(704);
    6171           0 :         create_clause();
    6172             :         break;
    6173             :       }
    6174             : 
    6175           0 :       case accparser::DEFAULT: {
    6176           0 :         enterOuterAlt(_localctx, 7);
    6177           0 :         setState(705);
    6178           0 :         default_clause();
    6179             :         break;
    6180             :       }
    6181             : 
    6182           0 :       case accparser::DEVICE_TYPE: {
    6183           0 :         enterOuterAlt(_localctx, 8);
    6184           0 :         setState(706);
    6185           0 :         device_type_clause();
    6186             :         break;
    6187             :       }
    6188             : 
    6189           0 :       case accparser::DEVICEPTR: {
    6190           0 :         enterOuterAlt(_localctx, 9);
    6191           0 :         setState(707);
    6192           0 :         deviceptr_clause();
    6193             :         break;
    6194             :       }
    6195             : 
    6196           0 :       case accparser::FIRSTPRIVATE: {
    6197           0 :         enterOuterAlt(_localctx, 10);
    6198           0 :         setState(708);
    6199           0 :         firstprivate_clause();
    6200             :         break;
    6201             :       }
    6202             : 
    6203           0 :       case accparser::IF: {
    6204           0 :         enterOuterAlt(_localctx, 11);
    6205           0 :         setState(709);
    6206           0 :         if_clause();
    6207             :         break;
    6208             :       }
    6209             : 
    6210           0 :       case accparser::NO_CREATE: {
    6211           0 :         enterOuterAlt(_localctx, 12);
    6212           0 :         setState(710);
    6213           0 :         no_create_clause();
    6214             :         break;
    6215             :       }
    6216             : 
    6217           0 :       case accparser::PRESENT: {
    6218           0 :         enterOuterAlt(_localctx, 13);
    6219           0 :         setState(711);
    6220           0 :         present_clause();
    6221             :         break;
    6222             :       }
    6223             : 
    6224           0 :       case accparser::PRIVATE: {
    6225           0 :         enterOuterAlt(_localctx, 14);
    6226           0 :         setState(712);
    6227           0 :         private_clause();
    6228             :         break;
    6229             :       }
    6230             : 
    6231           0 :       case accparser::REDUCTION: {
    6232           0 :         enterOuterAlt(_localctx, 15);
    6233           0 :         setState(713);
    6234           0 :         reduction_clause();
    6235             :         break;
    6236             :       }
    6237             : 
    6238           0 :       case accparser::SELF: {
    6239           0 :         enterOuterAlt(_localctx, 16);
    6240           0 :         setState(714);
    6241           0 :         self_clause();
    6242             :         break;
    6243             :       }
    6244             : 
    6245           0 :       case accparser::WAIT: {
    6246           0 :         enterOuterAlt(_localctx, 17);
    6247           0 :         setState(715);
    6248           0 :         wait_clause();
    6249             :         break;
    6250             :       }
    6251             : 
    6252           0 :     default:
    6253           0 :       throw NoViableAltException(this);
    6254             :     }
    6255             :    
    6256             :   }
    6257           0 :   catch (RecognitionException &e) {
    6258           0 :     _errHandler->reportError(this, e);
    6259           0 :     _localctx->exception = std::current_exception();
    6260           0 :     _errHandler->recover(this, _localctx->exception);
    6261             :   }
    6262             : 
    6263           0 :   return _localctx;
    6264             : }
    6265             : 
    6266             : //----------------- Serial_loop_directiveContext ------------------------------------------------------------------
    6267             : 
    6268           0 : accparser::Serial_loop_directiveContext::Serial_loop_directiveContext(ParserRuleContext *parent, size_t invokingState)
    6269           0 :   : ParserRuleContext(parent, invokingState) {
    6270           0 : }
    6271             : 
    6272           0 : tree::TerminalNode* accparser::Serial_loop_directiveContext::SERIAL() {
    6273           0 :   return getToken(accparser::SERIAL, 0);
    6274             : }
    6275             : 
    6276           0 : tree::TerminalNode* accparser::Serial_loop_directiveContext::LOOP() {
    6277           0 :   return getToken(accparser::LOOP, 0);
    6278             : }
    6279             : 
    6280           0 : accparser::Serial_loop_clause_listContext* accparser::Serial_loop_directiveContext::serial_loop_clause_list() {
    6281           0 :   return getRuleContext<accparser::Serial_loop_clause_listContext>(0);
    6282             : }
    6283             : 
    6284             : 
    6285           0 : size_t accparser::Serial_loop_directiveContext::getRuleIndex() const {
    6286           0 :   return accparser::RuleSerial_loop_directive;
    6287             : }
    6288             : 
    6289           0 : void accparser::Serial_loop_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    6290           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6291           0 :   if (parserListener != nullptr)
    6292           0 :     parserListener->enterSerial_loop_directive(this);
    6293           0 : }
    6294             : 
    6295           0 : void accparser::Serial_loop_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    6296           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6297           0 :   if (parserListener != nullptr)
    6298           0 :     parserListener->exitSerial_loop_directive(this);
    6299           0 : }
    6300             : 
    6301             : 
    6302           0 : antlrcpp::Any accparser::Serial_loop_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    6303           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6304           0 :     return parserVisitor->visitSerial_loop_directive(this);
    6305             :   else
    6306           0 :     return visitor->visitChildren(this);
    6307             : }
    6308             : 
    6309           0 : accparser::Serial_loop_directiveContext* accparser::serial_loop_directive() {
    6310           0 :   Serial_loop_directiveContext *_localctx = _tracker.createInstance<Serial_loop_directiveContext>(_ctx, getState());
    6311           0 :   enterRule(_localctx, 122, accparser::RuleSerial_loop_directive);
    6312             : 
    6313           0 :   auto onExit = finally([=] {
    6314           0 :     exitRule();
    6315           0 :   });
    6316           0 :   try {
    6317           0 :     enterOuterAlt(_localctx, 1);
    6318           0 :     setState(718);
    6319           0 :     match(accparser::SERIAL);
    6320           0 :     setState(719);
    6321           0 :     match(accparser::LOOP);
    6322           0 :     setState(720);
    6323           0 :     serial_loop_clause_list();
    6324             :    
    6325             :   }
    6326           0 :   catch (RecognitionException &e) {
    6327           0 :     _errHandler->reportError(this, e);
    6328           0 :     _localctx->exception = std::current_exception();
    6329           0 :     _errHandler->recover(this, _localctx->exception);
    6330             :   }
    6331             : 
    6332           0 :   return _localctx;
    6333             : }
    6334             : 
    6335             : //----------------- Serial_loop_clause_listContext ------------------------------------------------------------------
    6336             : 
    6337           0 : accparser::Serial_loop_clause_listContext::Serial_loop_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    6338           0 :   : ParserRuleContext(parent, invokingState) {
    6339           0 : }
    6340             : 
    6341           0 : std::vector<accparser::Serial_loop_clausesContext *> accparser::Serial_loop_clause_listContext::serial_loop_clauses() {
    6342           0 :   return getRuleContexts<accparser::Serial_loop_clausesContext>();
    6343             : }
    6344             : 
    6345           0 : accparser::Serial_loop_clausesContext* accparser::Serial_loop_clause_listContext::serial_loop_clauses(size_t i) {
    6346           0 :   return getRuleContext<accparser::Serial_loop_clausesContext>(i);
    6347             : }
    6348             : 
    6349             : 
    6350           0 : size_t accparser::Serial_loop_clause_listContext::getRuleIndex() const {
    6351           0 :   return accparser::RuleSerial_loop_clause_list;
    6352             : }
    6353             : 
    6354           0 : void accparser::Serial_loop_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    6355           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6356           0 :   if (parserListener != nullptr)
    6357           0 :     parserListener->enterSerial_loop_clause_list(this);
    6358           0 : }
    6359             : 
    6360           0 : void accparser::Serial_loop_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    6361           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6362           0 :   if (parserListener != nullptr)
    6363           0 :     parserListener->exitSerial_loop_clause_list(this);
    6364           0 : }
    6365             : 
    6366             : 
    6367           0 : antlrcpp::Any accparser::Serial_loop_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    6368           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6369           0 :     return parserVisitor->visitSerial_loop_clause_list(this);
    6370             :   else
    6371           0 :     return visitor->visitChildren(this);
    6372             : }
    6373             : 
    6374           0 : accparser::Serial_loop_clause_listContext* accparser::serial_loop_clause_list() {
    6375           0 :   Serial_loop_clause_listContext *_localctx = _tracker.createInstance<Serial_loop_clause_listContext>(_ctx, getState());
    6376           0 :   enterRule(_localctx, 124, accparser::RuleSerial_loop_clause_list);
    6377           0 :   size_t _la = 0;
    6378             : 
    6379           0 :   auto onExit = finally([=] {
    6380           0 :     exitRule();
    6381           0 :   });
    6382           0 :   try {
    6383           0 :     enterOuterAlt(_localctx, 1);
    6384           0 :     setState(725);
    6385           0 :     _errHandler->sync(this);
    6386           0 :     _la = _input->LA(1);
    6387           0 :     while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    6388           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    6389             :       | (1ULL << (accparser::ATTACH - 27))
    6390             :       | (1ULL << (accparser::AUTO - 27))
    6391             :       | (1ULL << (accparser::COLLAPSE - 27))
    6392             :       | (1ULL << (accparser::COPY - 27))
    6393             :       | (1ULL << (accparser::COPYIN - 27))
    6394             :       | (1ULL << (accparser::COPYOUT - 27))
    6395             :       | (1ULL << (accparser::CREATE - 27))
    6396             :       | (1ULL << (accparser::DEFAULT - 27))
    6397             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    6398             :       | (1ULL << (accparser::DEVICEPTR - 27))
    6399             :       | (1ULL << (accparser::FIRSTPRIVATE - 27))
    6400             :       | (1ULL << (accparser::GANG - 27))
    6401             :       | (1ULL << (accparser::IF - 27))
    6402             :       | (1ULL << (accparser::INDEPENDENT - 27))
    6403             :       | (1ULL << (accparser::NO_CREATE - 27))
    6404             :       | (1ULL << (accparser::PRESENT - 27))
    6405             :       | (1ULL << (accparser::PRIVATE - 27))
    6406             :       | (1ULL << (accparser::REDUCTION - 27))
    6407             :       | (1ULL << (accparser::SELF - 27))
    6408             :       | (1ULL << (accparser::SEQ - 27))
    6409             :       | (1ULL << (accparser::TILE - 27))
    6410             :       | (1ULL << (accparser::VECTOR - 27))
    6411             :       | (1ULL << (accparser::WAIT - 27))
    6412           0 :       | (1ULL << (accparser::WORKER - 27)))) != 0)) {
    6413           0 :       setState(722);
    6414           0 :       serial_loop_clauses();
    6415           0 :       setState(727);
    6416           0 :       _errHandler->sync(this);
    6417           0 :       _la = _input->LA(1);
    6418             :     }
    6419             :    
    6420             :   }
    6421           0 :   catch (RecognitionException &e) {
    6422           0 :     _errHandler->reportError(this, e);
    6423           0 :     _localctx->exception = std::current_exception();
    6424           0 :     _errHandler->recover(this, _localctx->exception);
    6425             :   }
    6426             : 
    6427           0 :   return _localctx;
    6428             : }
    6429             : 
    6430             : //----------------- Serial_loop_clausesContext ------------------------------------------------------------------
    6431             : 
    6432           0 : accparser::Serial_loop_clausesContext::Serial_loop_clausesContext(ParserRuleContext *parent, size_t invokingState)
    6433           0 :   : ParserRuleContext(parent, invokingState) {
    6434           0 : }
    6435             : 
    6436           0 : accparser::Async_clauseContext* accparser::Serial_loop_clausesContext::async_clause() {
    6437           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    6438             : }
    6439             : 
    6440           0 : accparser::Attach_clauseContext* accparser::Serial_loop_clausesContext::attach_clause() {
    6441           0 :   return getRuleContext<accparser::Attach_clauseContext>(0);
    6442             : }
    6443             : 
    6444           0 : accparser::Auto_clauseContext* accparser::Serial_loop_clausesContext::auto_clause() {
    6445           0 :   return getRuleContext<accparser::Auto_clauseContext>(0);
    6446             : }
    6447             : 
    6448           0 : accparser::Collapse_clauseContext* accparser::Serial_loop_clausesContext::collapse_clause() {
    6449           0 :   return getRuleContext<accparser::Collapse_clauseContext>(0);
    6450             : }
    6451             : 
    6452           0 : accparser::Copy_clauseContext* accparser::Serial_loop_clausesContext::copy_clause() {
    6453           0 :   return getRuleContext<accparser::Copy_clauseContext>(0);
    6454             : }
    6455             : 
    6456           0 : accparser::Copyin_clauseContext* accparser::Serial_loop_clausesContext::copyin_clause() {
    6457           0 :   return getRuleContext<accparser::Copyin_clauseContext>(0);
    6458             : }
    6459             : 
    6460           0 : accparser::Copyout_clauseContext* accparser::Serial_loop_clausesContext::copyout_clause() {
    6461           0 :   return getRuleContext<accparser::Copyout_clauseContext>(0);
    6462             : }
    6463             : 
    6464           0 : accparser::Create_clauseContext* accparser::Serial_loop_clausesContext::create_clause() {
    6465           0 :   return getRuleContext<accparser::Create_clauseContext>(0);
    6466             : }
    6467             : 
    6468           0 : accparser::Default_clauseContext* accparser::Serial_loop_clausesContext::default_clause() {
    6469           0 :   return getRuleContext<accparser::Default_clauseContext>(0);
    6470             : }
    6471             : 
    6472           0 : accparser::Device_type_clauseContext* accparser::Serial_loop_clausesContext::device_type_clause() {
    6473           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    6474             : }
    6475             : 
    6476           0 : accparser::Deviceptr_clauseContext* accparser::Serial_loop_clausesContext::deviceptr_clause() {
    6477           0 :   return getRuleContext<accparser::Deviceptr_clauseContext>(0);
    6478             : }
    6479             : 
    6480           0 : accparser::Firstprivate_clauseContext* accparser::Serial_loop_clausesContext::firstprivate_clause() {
    6481           0 :   return getRuleContext<accparser::Firstprivate_clauseContext>(0);
    6482             : }
    6483             : 
    6484           0 : accparser::Gang_clauseContext* accparser::Serial_loop_clausesContext::gang_clause() {
    6485           0 :   return getRuleContext<accparser::Gang_clauseContext>(0);
    6486             : }
    6487             : 
    6488           0 : accparser::If_clauseContext* accparser::Serial_loop_clausesContext::if_clause() {
    6489           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    6490             : }
    6491             : 
    6492           0 : accparser::Independent_clauseContext* accparser::Serial_loop_clausesContext::independent_clause() {
    6493           0 :   return getRuleContext<accparser::Independent_clauseContext>(0);
    6494             : }
    6495             : 
    6496           0 : accparser::No_create_clauseContext* accparser::Serial_loop_clausesContext::no_create_clause() {
    6497           0 :   return getRuleContext<accparser::No_create_clauseContext>(0);
    6498             : }
    6499             : 
    6500           0 : accparser::Present_clauseContext* accparser::Serial_loop_clausesContext::present_clause() {
    6501           0 :   return getRuleContext<accparser::Present_clauseContext>(0);
    6502             : }
    6503             : 
    6504           0 : accparser::Private_clauseContext* accparser::Serial_loop_clausesContext::private_clause() {
    6505           0 :   return getRuleContext<accparser::Private_clauseContext>(0);
    6506             : }
    6507             : 
    6508           0 : accparser::Reduction_clauseContext* accparser::Serial_loop_clausesContext::reduction_clause() {
    6509           0 :   return getRuleContext<accparser::Reduction_clauseContext>(0);
    6510             : }
    6511             : 
    6512           0 : accparser::Self_clauseContext* accparser::Serial_loop_clausesContext::self_clause() {
    6513           0 :   return getRuleContext<accparser::Self_clauseContext>(0);
    6514             : }
    6515             : 
    6516           0 : accparser::Seq_clauseContext* accparser::Serial_loop_clausesContext::seq_clause() {
    6517           0 :   return getRuleContext<accparser::Seq_clauseContext>(0);
    6518             : }
    6519             : 
    6520           0 : accparser::Tile_clauseContext* accparser::Serial_loop_clausesContext::tile_clause() {
    6521           0 :   return getRuleContext<accparser::Tile_clauseContext>(0);
    6522             : }
    6523             : 
    6524           0 : accparser::Vector_clauseContext* accparser::Serial_loop_clausesContext::vector_clause() {
    6525           0 :   return getRuleContext<accparser::Vector_clauseContext>(0);
    6526             : }
    6527             : 
    6528           0 : accparser::Wait_clauseContext* accparser::Serial_loop_clausesContext::wait_clause() {
    6529           0 :   return getRuleContext<accparser::Wait_clauseContext>(0);
    6530             : }
    6531             : 
    6532           0 : accparser::Worker_clauseContext* accparser::Serial_loop_clausesContext::worker_clause() {
    6533           0 :   return getRuleContext<accparser::Worker_clauseContext>(0);
    6534             : }
    6535             : 
    6536             : 
    6537           0 : size_t accparser::Serial_loop_clausesContext::getRuleIndex() const {
    6538           0 :   return accparser::RuleSerial_loop_clauses;
    6539             : }
    6540             : 
    6541           0 : void accparser::Serial_loop_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    6542           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6543           0 :   if (parserListener != nullptr)
    6544           0 :     parserListener->enterSerial_loop_clauses(this);
    6545           0 : }
    6546             : 
    6547           0 : void accparser::Serial_loop_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    6548           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6549           0 :   if (parserListener != nullptr)
    6550           0 :     parserListener->exitSerial_loop_clauses(this);
    6551           0 : }
    6552             : 
    6553             : 
    6554           0 : antlrcpp::Any accparser::Serial_loop_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    6555           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6556           0 :     return parserVisitor->visitSerial_loop_clauses(this);
    6557             :   else
    6558           0 :     return visitor->visitChildren(this);
    6559             : }
    6560             : 
    6561           0 : accparser::Serial_loop_clausesContext* accparser::serial_loop_clauses() {
    6562           0 :   Serial_loop_clausesContext *_localctx = _tracker.createInstance<Serial_loop_clausesContext>(_ctx, getState());
    6563           0 :   enterRule(_localctx, 126, accparser::RuleSerial_loop_clauses);
    6564             : 
    6565           0 :   auto onExit = finally([=] {
    6566           0 :     exitRule();
    6567           0 :   });
    6568           0 :   try {
    6569           0 :     setState(753);
    6570           0 :     _errHandler->sync(this);
    6571           0 :     switch (_input->LA(1)) {
    6572           0 :       case accparser::ASYNC: {
    6573           0 :         enterOuterAlt(_localctx, 1);
    6574           0 :         setState(728);
    6575           0 :         async_clause();
    6576             :         break;
    6577             :       }
    6578             : 
    6579           0 :       case accparser::ATTACH: {
    6580           0 :         enterOuterAlt(_localctx, 2);
    6581           0 :         setState(729);
    6582           0 :         attach_clause();
    6583             :         break;
    6584             :       }
    6585             : 
    6586           0 :       case accparser::AUTO: {
    6587           0 :         enterOuterAlt(_localctx, 3);
    6588           0 :         setState(730);
    6589           0 :         auto_clause();
    6590             :         break;
    6591             :       }
    6592             : 
    6593           0 :       case accparser::COLLAPSE: {
    6594           0 :         enterOuterAlt(_localctx, 4);
    6595           0 :         setState(731);
    6596           0 :         collapse_clause();
    6597             :         break;
    6598             :       }
    6599             : 
    6600           0 :       case accparser::COPY: {
    6601           0 :         enterOuterAlt(_localctx, 5);
    6602           0 :         setState(732);
    6603           0 :         copy_clause();
    6604             :         break;
    6605             :       }
    6606             : 
    6607           0 :       case accparser::COPYIN: {
    6608           0 :         enterOuterAlt(_localctx, 6);
    6609           0 :         setState(733);
    6610           0 :         copyin_clause();
    6611             :         break;
    6612             :       }
    6613             : 
    6614           0 :       case accparser::COPYOUT: {
    6615           0 :         enterOuterAlt(_localctx, 7);
    6616           0 :         setState(734);
    6617           0 :         copyout_clause();
    6618             :         break;
    6619             :       }
    6620             : 
    6621           0 :       case accparser::CREATE: {
    6622           0 :         enterOuterAlt(_localctx, 8);
    6623           0 :         setState(735);
    6624           0 :         create_clause();
    6625             :         break;
    6626             :       }
    6627             : 
    6628           0 :       case accparser::DEFAULT: {
    6629           0 :         enterOuterAlt(_localctx, 9);
    6630           0 :         setState(736);
    6631           0 :         default_clause();
    6632             :         break;
    6633             :       }
    6634             : 
    6635           0 :       case accparser::DEVICE_TYPE: {
    6636           0 :         enterOuterAlt(_localctx, 10);
    6637           0 :         setState(737);
    6638           0 :         device_type_clause();
    6639             :         break;
    6640             :       }
    6641             : 
    6642           0 :       case accparser::DEVICEPTR: {
    6643           0 :         enterOuterAlt(_localctx, 11);
    6644           0 :         setState(738);
    6645           0 :         deviceptr_clause();
    6646             :         break;
    6647             :       }
    6648             : 
    6649           0 :       case accparser::FIRSTPRIVATE: {
    6650           0 :         enterOuterAlt(_localctx, 12);
    6651           0 :         setState(739);
    6652           0 :         firstprivate_clause();
    6653             :         break;
    6654             :       }
    6655             : 
    6656           0 :       case accparser::GANG: {
    6657           0 :         enterOuterAlt(_localctx, 13);
    6658           0 :         setState(740);
    6659           0 :         gang_clause();
    6660             :         break;
    6661             :       }
    6662             : 
    6663           0 :       case accparser::IF: {
    6664           0 :         enterOuterAlt(_localctx, 14);
    6665           0 :         setState(741);
    6666           0 :         if_clause();
    6667             :         break;
    6668             :       }
    6669             : 
    6670           0 :       case accparser::INDEPENDENT: {
    6671           0 :         enterOuterAlt(_localctx, 15);
    6672           0 :         setState(742);
    6673           0 :         independent_clause();
    6674             :         break;
    6675             :       }
    6676             : 
    6677           0 :       case accparser::NO_CREATE: {
    6678           0 :         enterOuterAlt(_localctx, 16);
    6679           0 :         setState(743);
    6680           0 :         no_create_clause();
    6681             :         break;
    6682             :       }
    6683             : 
    6684           0 :       case accparser::PRESENT: {
    6685           0 :         enterOuterAlt(_localctx, 17);
    6686           0 :         setState(744);
    6687           0 :         present_clause();
    6688             :         break;
    6689             :       }
    6690             : 
    6691           0 :       case accparser::PRIVATE: {
    6692           0 :         enterOuterAlt(_localctx, 18);
    6693           0 :         setState(745);
    6694           0 :         private_clause();
    6695             :         break;
    6696             :       }
    6697             : 
    6698           0 :       case accparser::REDUCTION: {
    6699           0 :         enterOuterAlt(_localctx, 19);
    6700           0 :         setState(746);
    6701           0 :         reduction_clause();
    6702             :         break;
    6703             :       }
    6704             : 
    6705           0 :       case accparser::SELF: {
    6706           0 :         enterOuterAlt(_localctx, 20);
    6707           0 :         setState(747);
    6708           0 :         self_clause();
    6709             :         break;
    6710             :       }
    6711             : 
    6712           0 :       case accparser::SEQ: {
    6713           0 :         enterOuterAlt(_localctx, 21);
    6714           0 :         setState(748);
    6715           0 :         seq_clause();
    6716             :         break;
    6717             :       }
    6718             : 
    6719           0 :       case accparser::TILE: {
    6720           0 :         enterOuterAlt(_localctx, 22);
    6721           0 :         setState(749);
    6722           0 :         tile_clause();
    6723             :         break;
    6724             :       }
    6725             : 
    6726           0 :       case accparser::VECTOR: {
    6727           0 :         enterOuterAlt(_localctx, 23);
    6728           0 :         setState(750);
    6729           0 :         vector_clause();
    6730             :         break;
    6731             :       }
    6732             : 
    6733           0 :       case accparser::WAIT: {
    6734           0 :         enterOuterAlt(_localctx, 24);
    6735           0 :         setState(751);
    6736           0 :         wait_clause();
    6737             :         break;
    6738             :       }
    6739             : 
    6740           0 :       case accparser::WORKER: {
    6741           0 :         enterOuterAlt(_localctx, 25);
    6742           0 :         setState(752);
    6743           0 :         worker_clause();
    6744             :         break;
    6745             :       }
    6746             : 
    6747           0 :     default:
    6748           0 :       throw NoViableAltException(this);
    6749             :     }
    6750             :    
    6751             :   }
    6752           0 :   catch (RecognitionException &e) {
    6753           0 :     _errHandler->reportError(this, e);
    6754           0 :     _localctx->exception = std::current_exception();
    6755           0 :     _errHandler->recover(this, _localctx->exception);
    6756             :   }
    6757             : 
    6758           0 :   return _localctx;
    6759             : }
    6760             : 
    6761             : //----------------- Set_directiveContext ------------------------------------------------------------------
    6762             : 
    6763           0 : accparser::Set_directiveContext::Set_directiveContext(ParserRuleContext *parent, size_t invokingState)
    6764           0 :   : ParserRuleContext(parent, invokingState) {
    6765           0 : }
    6766             : 
    6767           0 : tree::TerminalNode* accparser::Set_directiveContext::SET() {
    6768           0 :   return getToken(accparser::SET, 0);
    6769             : }
    6770             : 
    6771           0 : accparser::Set_clause_listContext* accparser::Set_directiveContext::set_clause_list() {
    6772           0 :   return getRuleContext<accparser::Set_clause_listContext>(0);
    6773             : }
    6774             : 
    6775             : 
    6776           0 : size_t accparser::Set_directiveContext::getRuleIndex() const {
    6777           0 :   return accparser::RuleSet_directive;
    6778             : }
    6779             : 
    6780           0 : void accparser::Set_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    6781           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6782           0 :   if (parserListener != nullptr)
    6783           0 :     parserListener->enterSet_directive(this);
    6784           0 : }
    6785             : 
    6786           0 : void accparser::Set_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    6787           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6788           0 :   if (parserListener != nullptr)
    6789           0 :     parserListener->exitSet_directive(this);
    6790           0 : }
    6791             : 
    6792             : 
    6793           0 : antlrcpp::Any accparser::Set_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    6794           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6795           0 :     return parserVisitor->visitSet_directive(this);
    6796             :   else
    6797           0 :     return visitor->visitChildren(this);
    6798             : }
    6799             : 
    6800           0 : accparser::Set_directiveContext* accparser::set_directive() {
    6801           0 :   Set_directiveContext *_localctx = _tracker.createInstance<Set_directiveContext>(_ctx, getState());
    6802           0 :   enterRule(_localctx, 128, accparser::RuleSet_directive);
    6803             : 
    6804           0 :   auto onExit = finally([=] {
    6805           0 :     exitRule();
    6806           0 :   });
    6807           0 :   try {
    6808           0 :     enterOuterAlt(_localctx, 1);
    6809           0 :     setState(755);
    6810           0 :     match(accparser::SET);
    6811           0 :     setState(756);
    6812           0 :     set_clause_list();
    6813             :    
    6814             :   }
    6815           0 :   catch (RecognitionException &e) {
    6816           0 :     _errHandler->reportError(this, e);
    6817           0 :     _localctx->exception = std::current_exception();
    6818           0 :     _errHandler->recover(this, _localctx->exception);
    6819             :   }
    6820             : 
    6821           0 :   return _localctx;
    6822             : }
    6823             : 
    6824             : //----------------- Set_clause_listContext ------------------------------------------------------------------
    6825             : 
    6826           0 : accparser::Set_clause_listContext::Set_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    6827           0 :   : ParserRuleContext(parent, invokingState) {
    6828           0 : }
    6829             : 
    6830           0 : std::vector<accparser::Set_clausesContext *> accparser::Set_clause_listContext::set_clauses() {
    6831           0 :   return getRuleContexts<accparser::Set_clausesContext>();
    6832             : }
    6833             : 
    6834           0 : accparser::Set_clausesContext* accparser::Set_clause_listContext::set_clauses(size_t i) {
    6835           0 :   return getRuleContext<accparser::Set_clausesContext>(i);
    6836             : }
    6837             : 
    6838             : 
    6839           0 : size_t accparser::Set_clause_listContext::getRuleIndex() const {
    6840           0 :   return accparser::RuleSet_clause_list;
    6841             : }
    6842             : 
    6843           0 : void accparser::Set_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    6844           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6845           0 :   if (parserListener != nullptr)
    6846           0 :     parserListener->enterSet_clause_list(this);
    6847           0 : }
    6848             : 
    6849           0 : void accparser::Set_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    6850           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6851           0 :   if (parserListener != nullptr)
    6852           0 :     parserListener->exitSet_clause_list(this);
    6853           0 : }
    6854             : 
    6855             : 
    6856           0 : antlrcpp::Any accparser::Set_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    6857           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6858           0 :     return parserVisitor->visitSet_clause_list(this);
    6859             :   else
    6860           0 :     return visitor->visitChildren(this);
    6861             : }
    6862             : 
    6863           0 : accparser::Set_clause_listContext* accparser::set_clause_list() {
    6864           0 :   Set_clause_listContext *_localctx = _tracker.createInstance<Set_clause_listContext>(_ctx, getState());
    6865           0 :   enterRule(_localctx, 130, accparser::RuleSet_clause_list);
    6866           0 :   size_t _la = 0;
    6867             : 
    6868           0 :   auto onExit = finally([=] {
    6869           0 :     exitRule();
    6870           0 :   });
    6871           0 :   try {
    6872           0 :     enterOuterAlt(_localctx, 1);
    6873           0 :     setState(761);
    6874           0 :     _errHandler->sync(this);
    6875           0 :     _la = _input->LA(1);
    6876           0 :     while ((((_la & ~ 0x3fULL) == 0) &&
    6877             :       ((1ULL << _la) & ((1ULL << accparser::DEFAULT_ASYNC)
    6878             :       | (1ULL << accparser::DEVICE_NUM)
    6879             :       | (1ULL << accparser::DEVICE_TYPE)
    6880           0 :       | (1ULL << accparser::IF))) != 0)) {
    6881           0 :       setState(758);
    6882           0 :       set_clauses();
    6883           0 :       setState(763);
    6884           0 :       _errHandler->sync(this);
    6885           0 :       _la = _input->LA(1);
    6886             :     }
    6887             :    
    6888             :   }
    6889           0 :   catch (RecognitionException &e) {
    6890           0 :     _errHandler->reportError(this, e);
    6891           0 :     _localctx->exception = std::current_exception();
    6892           0 :     _errHandler->recover(this, _localctx->exception);
    6893             :   }
    6894             : 
    6895           0 :   return _localctx;
    6896             : }
    6897             : 
    6898             : //----------------- Set_clausesContext ------------------------------------------------------------------
    6899             : 
    6900           0 : accparser::Set_clausesContext::Set_clausesContext(ParserRuleContext *parent, size_t invokingState)
    6901           0 :   : ParserRuleContext(parent, invokingState) {
    6902           0 : }
    6903             : 
    6904           0 : accparser::Default_async_clauseContext* accparser::Set_clausesContext::default_async_clause() {
    6905           0 :   return getRuleContext<accparser::Default_async_clauseContext>(0);
    6906             : }
    6907             : 
    6908           0 : accparser::Device_type_clauseContext* accparser::Set_clausesContext::device_type_clause() {
    6909           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    6910             : }
    6911             : 
    6912           0 : accparser::Device_num_clauseContext* accparser::Set_clausesContext::device_num_clause() {
    6913           0 :   return getRuleContext<accparser::Device_num_clauseContext>(0);
    6914             : }
    6915             : 
    6916           0 : accparser::If_clauseContext* accparser::Set_clausesContext::if_clause() {
    6917           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    6918             : }
    6919             : 
    6920             : 
    6921           0 : size_t accparser::Set_clausesContext::getRuleIndex() const {
    6922           0 :   return accparser::RuleSet_clauses;
    6923             : }
    6924             : 
    6925           0 : void accparser::Set_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    6926           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6927           0 :   if (parserListener != nullptr)
    6928           0 :     parserListener->enterSet_clauses(this);
    6929           0 : }
    6930             : 
    6931           0 : void accparser::Set_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    6932           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    6933           0 :   if (parserListener != nullptr)
    6934           0 :     parserListener->exitSet_clauses(this);
    6935           0 : }
    6936             : 
    6937             : 
    6938           0 : antlrcpp::Any accparser::Set_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    6939           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    6940           0 :     return parserVisitor->visitSet_clauses(this);
    6941             :   else
    6942           0 :     return visitor->visitChildren(this);
    6943             : }
    6944             : 
    6945           0 : accparser::Set_clausesContext* accparser::set_clauses() {
    6946           0 :   Set_clausesContext *_localctx = _tracker.createInstance<Set_clausesContext>(_ctx, getState());
    6947           0 :   enterRule(_localctx, 132, accparser::RuleSet_clauses);
    6948             : 
    6949           0 :   auto onExit = finally([=] {
    6950           0 :     exitRule();
    6951           0 :   });
    6952           0 :   try {
    6953           0 :     setState(768);
    6954           0 :     _errHandler->sync(this);
    6955           0 :     switch (_input->LA(1)) {
    6956           0 :       case accparser::DEFAULT_ASYNC: {
    6957           0 :         enterOuterAlt(_localctx, 1);
    6958           0 :         setState(764);
    6959           0 :         default_async_clause();
    6960             :         break;
    6961             :       }
    6962             : 
    6963           0 :       case accparser::DEVICE_TYPE: {
    6964           0 :         enterOuterAlt(_localctx, 2);
    6965           0 :         setState(765);
    6966           0 :         device_type_clause();
    6967             :         break;
    6968             :       }
    6969             : 
    6970           0 :       case accparser::DEVICE_NUM: {
    6971           0 :         enterOuterAlt(_localctx, 3);
    6972           0 :         setState(766);
    6973           0 :         device_num_clause();
    6974             :         break;
    6975             :       }
    6976             : 
    6977           0 :       case accparser::IF: {
    6978           0 :         enterOuterAlt(_localctx, 4);
    6979           0 :         setState(767);
    6980           0 :         if_clause();
    6981             :         break;
    6982             :       }
    6983             : 
    6984           0 :     default:
    6985           0 :       throw NoViableAltException(this);
    6986             :     }
    6987             :    
    6988             :   }
    6989           0 :   catch (RecognitionException &e) {
    6990           0 :     _errHandler->reportError(this, e);
    6991           0 :     _localctx->exception = std::current_exception();
    6992           0 :     _errHandler->recover(this, _localctx->exception);
    6993             :   }
    6994             : 
    6995           0 :   return _localctx;
    6996             : }
    6997             : 
    6998             : //----------------- Shutdown_directiveContext ------------------------------------------------------------------
    6999             : 
    7000           0 : accparser::Shutdown_directiveContext::Shutdown_directiveContext(ParserRuleContext *parent, size_t invokingState)
    7001           0 :   : ParserRuleContext(parent, invokingState) {
    7002           0 : }
    7003             : 
    7004           0 : tree::TerminalNode* accparser::Shutdown_directiveContext::SHUTDOWN() {
    7005           0 :   return getToken(accparser::SHUTDOWN, 0);
    7006             : }
    7007             : 
    7008           0 : accparser::Shutdown_clause_listContext* accparser::Shutdown_directiveContext::shutdown_clause_list() {
    7009           0 :   return getRuleContext<accparser::Shutdown_clause_listContext>(0);
    7010             : }
    7011             : 
    7012             : 
    7013           0 : size_t accparser::Shutdown_directiveContext::getRuleIndex() const {
    7014           0 :   return accparser::RuleShutdown_directive;
    7015             : }
    7016             : 
    7017           0 : void accparser::Shutdown_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    7018           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7019           0 :   if (parserListener != nullptr)
    7020           0 :     parserListener->enterShutdown_directive(this);
    7021           0 : }
    7022             : 
    7023           0 : void accparser::Shutdown_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    7024           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7025           0 :   if (parserListener != nullptr)
    7026           0 :     parserListener->exitShutdown_directive(this);
    7027           0 : }
    7028             : 
    7029             : 
    7030           0 : antlrcpp::Any accparser::Shutdown_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    7031           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7032           0 :     return parserVisitor->visitShutdown_directive(this);
    7033             :   else
    7034           0 :     return visitor->visitChildren(this);
    7035             : }
    7036             : 
    7037           0 : accparser::Shutdown_directiveContext* accparser::shutdown_directive() {
    7038           0 :   Shutdown_directiveContext *_localctx = _tracker.createInstance<Shutdown_directiveContext>(_ctx, getState());
    7039           0 :   enterRule(_localctx, 134, accparser::RuleShutdown_directive);
    7040             : 
    7041           0 :   auto onExit = finally([=] {
    7042           0 :     exitRule();
    7043           0 :   });
    7044           0 :   try {
    7045           0 :     enterOuterAlt(_localctx, 1);
    7046           0 :     setState(770);
    7047           0 :     match(accparser::SHUTDOWN);
    7048           0 :     setState(771);
    7049           0 :     shutdown_clause_list();
    7050             :    
    7051             :   }
    7052           0 :   catch (RecognitionException &e) {
    7053           0 :     _errHandler->reportError(this, e);
    7054           0 :     _localctx->exception = std::current_exception();
    7055           0 :     _errHandler->recover(this, _localctx->exception);
    7056             :   }
    7057             : 
    7058           0 :   return _localctx;
    7059             : }
    7060             : 
    7061             : //----------------- Shutdown_clause_listContext ------------------------------------------------------------------
    7062             : 
    7063           0 : accparser::Shutdown_clause_listContext::Shutdown_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    7064           0 :   : ParserRuleContext(parent, invokingState) {
    7065           0 : }
    7066             : 
    7067           0 : std::vector<accparser::Shutdown_clausesContext *> accparser::Shutdown_clause_listContext::shutdown_clauses() {
    7068           0 :   return getRuleContexts<accparser::Shutdown_clausesContext>();
    7069             : }
    7070             : 
    7071           0 : accparser::Shutdown_clausesContext* accparser::Shutdown_clause_listContext::shutdown_clauses(size_t i) {
    7072           0 :   return getRuleContext<accparser::Shutdown_clausesContext>(i);
    7073             : }
    7074             : 
    7075             : 
    7076           0 : size_t accparser::Shutdown_clause_listContext::getRuleIndex() const {
    7077           0 :   return accparser::RuleShutdown_clause_list;
    7078             : }
    7079             : 
    7080           0 : void accparser::Shutdown_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    7081           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7082           0 :   if (parserListener != nullptr)
    7083           0 :     parserListener->enterShutdown_clause_list(this);
    7084           0 : }
    7085             : 
    7086           0 : void accparser::Shutdown_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    7087           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7088           0 :   if (parserListener != nullptr)
    7089           0 :     parserListener->exitShutdown_clause_list(this);
    7090           0 : }
    7091             : 
    7092             : 
    7093           0 : antlrcpp::Any accparser::Shutdown_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    7094           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7095           0 :     return parserVisitor->visitShutdown_clause_list(this);
    7096             :   else
    7097           0 :     return visitor->visitChildren(this);
    7098             : }
    7099             : 
    7100           0 : accparser::Shutdown_clause_listContext* accparser::shutdown_clause_list() {
    7101           0 :   Shutdown_clause_listContext *_localctx = _tracker.createInstance<Shutdown_clause_listContext>(_ctx, getState());
    7102           0 :   enterRule(_localctx, 136, accparser::RuleShutdown_clause_list);
    7103           0 :   size_t _la = 0;
    7104             : 
    7105           0 :   auto onExit = finally([=] {
    7106           0 :     exitRule();
    7107           0 :   });
    7108           0 :   try {
    7109           0 :     enterOuterAlt(_localctx, 1);
    7110           0 :     setState(776);
    7111           0 :     _errHandler->sync(this);
    7112           0 :     _la = _input->LA(1);
    7113           0 :     while ((((_la & ~ 0x3fULL) == 0) &&
    7114             :       ((1ULL << _la) & ((1ULL << accparser::DEVICE_NUM)
    7115             :       | (1ULL << accparser::DEVICE_TYPE)
    7116           0 :       | (1ULL << accparser::IF))) != 0)) {
    7117           0 :       setState(773);
    7118           0 :       shutdown_clauses();
    7119           0 :       setState(778);
    7120           0 :       _errHandler->sync(this);
    7121           0 :       _la = _input->LA(1);
    7122             :     }
    7123             :    
    7124             :   }
    7125           0 :   catch (RecognitionException &e) {
    7126           0 :     _errHandler->reportError(this, e);
    7127           0 :     _localctx->exception = std::current_exception();
    7128           0 :     _errHandler->recover(this, _localctx->exception);
    7129             :   }
    7130             : 
    7131           0 :   return _localctx;
    7132             : }
    7133             : 
    7134             : //----------------- Shutdown_clausesContext ------------------------------------------------------------------
    7135             : 
    7136           0 : accparser::Shutdown_clausesContext::Shutdown_clausesContext(ParserRuleContext *parent, size_t invokingState)
    7137           0 :   : ParserRuleContext(parent, invokingState) {
    7138           0 : }
    7139             : 
    7140           0 : accparser::Device_type_clauseContext* accparser::Shutdown_clausesContext::device_type_clause() {
    7141           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    7142             : }
    7143             : 
    7144           0 : accparser::Device_num_clauseContext* accparser::Shutdown_clausesContext::device_num_clause() {
    7145           0 :   return getRuleContext<accparser::Device_num_clauseContext>(0);
    7146             : }
    7147             : 
    7148           0 : accparser::If_clauseContext* accparser::Shutdown_clausesContext::if_clause() {
    7149           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    7150             : }
    7151             : 
    7152             : 
    7153           0 : size_t accparser::Shutdown_clausesContext::getRuleIndex() const {
    7154           0 :   return accparser::RuleShutdown_clauses;
    7155             : }
    7156             : 
    7157           0 : void accparser::Shutdown_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    7158           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7159           0 :   if (parserListener != nullptr)
    7160           0 :     parserListener->enterShutdown_clauses(this);
    7161           0 : }
    7162             : 
    7163           0 : void accparser::Shutdown_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    7164           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7165           0 :   if (parserListener != nullptr)
    7166           0 :     parserListener->exitShutdown_clauses(this);
    7167           0 : }
    7168             : 
    7169             : 
    7170           0 : antlrcpp::Any accparser::Shutdown_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    7171           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7172           0 :     return parserVisitor->visitShutdown_clauses(this);
    7173             :   else
    7174           0 :     return visitor->visitChildren(this);
    7175             : }
    7176             : 
    7177           0 : accparser::Shutdown_clausesContext* accparser::shutdown_clauses() {
    7178           0 :   Shutdown_clausesContext *_localctx = _tracker.createInstance<Shutdown_clausesContext>(_ctx, getState());
    7179           0 :   enterRule(_localctx, 138, accparser::RuleShutdown_clauses);
    7180             : 
    7181           0 :   auto onExit = finally([=] {
    7182           0 :     exitRule();
    7183           0 :   });
    7184           0 :   try {
    7185           0 :     setState(782);
    7186           0 :     _errHandler->sync(this);
    7187           0 :     switch (_input->LA(1)) {
    7188           0 :       case accparser::DEVICE_TYPE: {
    7189           0 :         enterOuterAlt(_localctx, 1);
    7190           0 :         setState(779);
    7191           0 :         device_type_clause();
    7192             :         break;
    7193             :       }
    7194             : 
    7195           0 :       case accparser::DEVICE_NUM: {
    7196           0 :         enterOuterAlt(_localctx, 2);
    7197           0 :         setState(780);
    7198           0 :         device_num_clause();
    7199             :         break;
    7200             :       }
    7201             : 
    7202           0 :       case accparser::IF: {
    7203           0 :         enterOuterAlt(_localctx, 3);
    7204           0 :         setState(781);
    7205           0 :         if_clause();
    7206             :         break;
    7207             :       }
    7208             : 
    7209           0 :     default:
    7210           0 :       throw NoViableAltException(this);
    7211             :     }
    7212             :    
    7213             :   }
    7214           0 :   catch (RecognitionException &e) {
    7215           0 :     _errHandler->reportError(this, e);
    7216           0 :     _localctx->exception = std::current_exception();
    7217           0 :     _errHandler->recover(this, _localctx->exception);
    7218             :   }
    7219             : 
    7220           0 :   return _localctx;
    7221             : }
    7222             : 
    7223             : //----------------- Update_directiveContext ------------------------------------------------------------------
    7224             : 
    7225           0 : accparser::Update_directiveContext::Update_directiveContext(ParserRuleContext *parent, size_t invokingState)
    7226           0 :   : ParserRuleContext(parent, invokingState) {
    7227           0 : }
    7228             : 
    7229           0 : tree::TerminalNode* accparser::Update_directiveContext::UPDATE() {
    7230           0 :   return getToken(accparser::UPDATE, 0);
    7231             : }
    7232             : 
    7233           0 : accparser::Update_clause_listContext* accparser::Update_directiveContext::update_clause_list() {
    7234           0 :   return getRuleContext<accparser::Update_clause_listContext>(0);
    7235             : }
    7236             : 
    7237             : 
    7238           0 : size_t accparser::Update_directiveContext::getRuleIndex() const {
    7239           0 :   return accparser::RuleUpdate_directive;
    7240             : }
    7241             : 
    7242           0 : void accparser::Update_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    7243           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7244           0 :   if (parserListener != nullptr)
    7245           0 :     parserListener->enterUpdate_directive(this);
    7246           0 : }
    7247             : 
    7248           0 : void accparser::Update_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    7249           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7250           0 :   if (parserListener != nullptr)
    7251           0 :     parserListener->exitUpdate_directive(this);
    7252           0 : }
    7253             : 
    7254             : 
    7255           0 : antlrcpp::Any accparser::Update_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    7256           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7257           0 :     return parserVisitor->visitUpdate_directive(this);
    7258             :   else
    7259           0 :     return visitor->visitChildren(this);
    7260             : }
    7261             : 
    7262           0 : accparser::Update_directiveContext* accparser::update_directive() {
    7263           0 :   Update_directiveContext *_localctx = _tracker.createInstance<Update_directiveContext>(_ctx, getState());
    7264           0 :   enterRule(_localctx, 140, accparser::RuleUpdate_directive);
    7265             : 
    7266           0 :   auto onExit = finally([=] {
    7267           0 :     exitRule();
    7268           0 :   });
    7269           0 :   try {
    7270           0 :     enterOuterAlt(_localctx, 1);
    7271           0 :     setState(784);
    7272           0 :     match(accparser::UPDATE);
    7273           0 :     setState(785);
    7274           0 :     update_clause_list();
    7275             :    
    7276             :   }
    7277           0 :   catch (RecognitionException &e) {
    7278           0 :     _errHandler->reportError(this, e);
    7279           0 :     _localctx->exception = std::current_exception();
    7280           0 :     _errHandler->recover(this, _localctx->exception);
    7281             :   }
    7282             : 
    7283           0 :   return _localctx;
    7284             : }
    7285             : 
    7286             : //----------------- Update_clause_listContext ------------------------------------------------------------------
    7287             : 
    7288           0 : accparser::Update_clause_listContext::Update_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    7289           0 :   : ParserRuleContext(parent, invokingState) {
    7290           0 : }
    7291             : 
    7292           0 : std::vector<accparser::Update_clausesContext *> accparser::Update_clause_listContext::update_clauses() {
    7293           0 :   return getRuleContexts<accparser::Update_clausesContext>();
    7294             : }
    7295             : 
    7296           0 : accparser::Update_clausesContext* accparser::Update_clause_listContext::update_clauses(size_t i) {
    7297           0 :   return getRuleContext<accparser::Update_clausesContext>(i);
    7298             : }
    7299             : 
    7300             : 
    7301           0 : size_t accparser::Update_clause_listContext::getRuleIndex() const {
    7302           0 :   return accparser::RuleUpdate_clause_list;
    7303             : }
    7304             : 
    7305           0 : void accparser::Update_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    7306           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7307           0 :   if (parserListener != nullptr)
    7308           0 :     parserListener->enterUpdate_clause_list(this);
    7309           0 : }
    7310             : 
    7311           0 : void accparser::Update_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    7312           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7313           0 :   if (parserListener != nullptr)
    7314           0 :     parserListener->exitUpdate_clause_list(this);
    7315           0 : }
    7316             : 
    7317             : 
    7318           0 : antlrcpp::Any accparser::Update_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    7319           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7320           0 :     return parserVisitor->visitUpdate_clause_list(this);
    7321             :   else
    7322           0 :     return visitor->visitChildren(this);
    7323             : }
    7324             : 
    7325           0 : accparser::Update_clause_listContext* accparser::update_clause_list() {
    7326           0 :   Update_clause_listContext *_localctx = _tracker.createInstance<Update_clause_listContext>(_ctx, getState());
    7327           0 :   enterRule(_localctx, 142, accparser::RuleUpdate_clause_list);
    7328           0 :   size_t _la = 0;
    7329             : 
    7330           0 :   auto onExit = finally([=] {
    7331           0 :     exitRule();
    7332           0 :   });
    7333           0 :   try {
    7334           0 :     enterOuterAlt(_localctx, 1);
    7335           0 :     setState(788); 
    7336           0 :     _errHandler->sync(this);
    7337           0 :     _la = _input->LA(1);
    7338           0 :     do {
    7339           0 :       setState(787);
    7340           0 :       update_clauses();
    7341           0 :       setState(790); 
    7342           0 :       _errHandler->sync(this);
    7343           0 :       _la = _input->LA(1);
    7344           0 :     } while (((((_la - 27) & ~ 0x3fULL) == 0) &&
    7345           0 :       ((1ULL << (_la - 27)) & ((1ULL << (accparser::ASYNC - 27))
    7346             :       | (1ULL << (accparser::DEVICE - 27))
    7347             :       | (1ULL << (accparser::DEVICE_TYPE - 27))
    7348             :       | (1ULL << (accparser::HOST - 27))
    7349             :       | (1ULL << (accparser::IF - 27))
    7350             :       | (1ULL << (accparser::IF_PRESENT - 27))
    7351             :       | (1ULL << (accparser::SELF - 27))
    7352           0 :       | (1ULL << (accparser::WAIT - 27)))) != 0));
    7353             :    
    7354             :   }
    7355           0 :   catch (RecognitionException &e) {
    7356           0 :     _errHandler->reportError(this, e);
    7357           0 :     _localctx->exception = std::current_exception();
    7358           0 :     _errHandler->recover(this, _localctx->exception);
    7359             :   }
    7360             : 
    7361           0 :   return _localctx;
    7362             : }
    7363             : 
    7364             : //----------------- Update_clausesContext ------------------------------------------------------------------
    7365             : 
    7366           0 : accparser::Update_clausesContext::Update_clausesContext(ParserRuleContext *parent, size_t invokingState)
    7367           0 :   : ParserRuleContext(parent, invokingState) {
    7368           0 : }
    7369             : 
    7370           0 : accparser::Async_clauseContext* accparser::Update_clausesContext::async_clause() {
    7371           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    7372             : }
    7373             : 
    7374           0 : accparser::Device_clauseContext* accparser::Update_clausesContext::device_clause() {
    7375           0 :   return getRuleContext<accparser::Device_clauseContext>(0);
    7376             : }
    7377             : 
    7378           0 : accparser::Device_type_clauseContext* accparser::Update_clausesContext::device_type_clause() {
    7379           0 :   return getRuleContext<accparser::Device_type_clauseContext>(0);
    7380             : }
    7381             : 
    7382           0 : accparser::Host_clauseContext* accparser::Update_clausesContext::host_clause() {
    7383           0 :   return getRuleContext<accparser::Host_clauseContext>(0);
    7384             : }
    7385             : 
    7386           0 : accparser::If_clauseContext* accparser::Update_clausesContext::if_clause() {
    7387           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    7388             : }
    7389             : 
    7390           0 : accparser::If_present_clauseContext* accparser::Update_clausesContext::if_present_clause() {
    7391           0 :   return getRuleContext<accparser::If_present_clauseContext>(0);
    7392             : }
    7393             : 
    7394           0 : accparser::Self_list_clauseContext* accparser::Update_clausesContext::self_list_clause() {
    7395           0 :   return getRuleContext<accparser::Self_list_clauseContext>(0);
    7396             : }
    7397             : 
    7398           0 : accparser::Wait_argument_clauseContext* accparser::Update_clausesContext::wait_argument_clause() {
    7399           0 :   return getRuleContext<accparser::Wait_argument_clauseContext>(0);
    7400             : }
    7401             : 
    7402             : 
    7403           0 : size_t accparser::Update_clausesContext::getRuleIndex() const {
    7404           0 :   return accparser::RuleUpdate_clauses;
    7405             : }
    7406             : 
    7407           0 : void accparser::Update_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    7408           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7409           0 :   if (parserListener != nullptr)
    7410           0 :     parserListener->enterUpdate_clauses(this);
    7411           0 : }
    7412             : 
    7413           0 : void accparser::Update_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    7414           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7415           0 :   if (parserListener != nullptr)
    7416           0 :     parserListener->exitUpdate_clauses(this);
    7417           0 : }
    7418             : 
    7419             : 
    7420           0 : antlrcpp::Any accparser::Update_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    7421           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7422           0 :     return parserVisitor->visitUpdate_clauses(this);
    7423             :   else
    7424           0 :     return visitor->visitChildren(this);
    7425             : }
    7426             : 
    7427           0 : accparser::Update_clausesContext* accparser::update_clauses() {
    7428           0 :   Update_clausesContext *_localctx = _tracker.createInstance<Update_clausesContext>(_ctx, getState());
    7429           0 :   enterRule(_localctx, 144, accparser::RuleUpdate_clauses);
    7430             : 
    7431           0 :   auto onExit = finally([=] {
    7432           0 :     exitRule();
    7433           0 :   });
    7434           0 :   try {
    7435           0 :     setState(800);
    7436           0 :     _errHandler->sync(this);
    7437           0 :     switch (_input->LA(1)) {
    7438           0 :       case accparser::ASYNC: {
    7439           0 :         enterOuterAlt(_localctx, 1);
    7440           0 :         setState(792);
    7441           0 :         async_clause();
    7442             :         break;
    7443             :       }
    7444             : 
    7445           0 :       case accparser::DEVICE: {
    7446           0 :         enterOuterAlt(_localctx, 2);
    7447           0 :         setState(793);
    7448           0 :         device_clause();
    7449             :         break;
    7450             :       }
    7451             : 
    7452           0 :       case accparser::DEVICE_TYPE: {
    7453           0 :         enterOuterAlt(_localctx, 3);
    7454           0 :         setState(794);
    7455           0 :         device_type_clause();
    7456             :         break;
    7457             :       }
    7458             : 
    7459           0 :       case accparser::HOST: {
    7460           0 :         enterOuterAlt(_localctx, 4);
    7461           0 :         setState(795);
    7462           0 :         host_clause();
    7463             :         break;
    7464             :       }
    7465             : 
    7466           0 :       case accparser::IF: {
    7467           0 :         enterOuterAlt(_localctx, 5);
    7468           0 :         setState(796);
    7469           0 :         if_clause();
    7470             :         break;
    7471             :       }
    7472             : 
    7473           0 :       case accparser::IF_PRESENT: {
    7474           0 :         enterOuterAlt(_localctx, 6);
    7475           0 :         setState(797);
    7476           0 :         if_present_clause();
    7477             :         break;
    7478             :       }
    7479             : 
    7480           0 :       case accparser::SELF: {
    7481           0 :         enterOuterAlt(_localctx, 7);
    7482           0 :         setState(798);
    7483           0 :         self_list_clause();
    7484             :         break;
    7485             :       }
    7486             : 
    7487           0 :       case accparser::WAIT: {
    7488           0 :         enterOuterAlt(_localctx, 8);
    7489           0 :         setState(799);
    7490           0 :         wait_argument_clause();
    7491             :         break;
    7492             :       }
    7493             : 
    7494           0 :     default:
    7495           0 :       throw NoViableAltException(this);
    7496             :     }
    7497             :    
    7498             :   }
    7499           0 :   catch (RecognitionException &e) {
    7500           0 :     _errHandler->reportError(this, e);
    7501           0 :     _localctx->exception = std::current_exception();
    7502           0 :     _errHandler->recover(this, _localctx->exception);
    7503             :   }
    7504             : 
    7505           0 :   return _localctx;
    7506             : }
    7507             : 
    7508             : //----------------- Wait_directiveContext ------------------------------------------------------------------
    7509             : 
    7510           0 : accparser::Wait_directiveContext::Wait_directiveContext(ParserRuleContext *parent, size_t invokingState)
    7511           0 :   : ParserRuleContext(parent, invokingState) {
    7512           0 : }
    7513             : 
    7514           0 : tree::TerminalNode* accparser::Wait_directiveContext::WAIT() {
    7515           0 :   return getToken(accparser::WAIT, 0);
    7516             : }
    7517             : 
    7518           0 : accparser::Wait_clause_listContext* accparser::Wait_directiveContext::wait_clause_list() {
    7519           0 :   return getRuleContext<accparser::Wait_clause_listContext>(0);
    7520             : }
    7521             : 
    7522           0 : tree::TerminalNode* accparser::Wait_directiveContext::LEFT_PAREN() {
    7523           0 :   return getToken(accparser::LEFT_PAREN, 0);
    7524             : }
    7525             : 
    7526           0 : accparser::Wait_argumentContext* accparser::Wait_directiveContext::wait_argument() {
    7527           0 :   return getRuleContext<accparser::Wait_argumentContext>(0);
    7528             : }
    7529             : 
    7530           0 : tree::TerminalNode* accparser::Wait_directiveContext::RIGHT_PAREN() {
    7531           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    7532             : }
    7533             : 
    7534             : 
    7535           0 : size_t accparser::Wait_directiveContext::getRuleIndex() const {
    7536           0 :   return accparser::RuleWait_directive;
    7537             : }
    7538             : 
    7539           0 : void accparser::Wait_directiveContext::enterRule(tree::ParseTreeListener *listener) {
    7540           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7541           0 :   if (parserListener != nullptr)
    7542           0 :     parserListener->enterWait_directive(this);
    7543           0 : }
    7544             : 
    7545           0 : void accparser::Wait_directiveContext::exitRule(tree::ParseTreeListener *listener) {
    7546           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7547           0 :   if (parserListener != nullptr)
    7548           0 :     parserListener->exitWait_directive(this);
    7549           0 : }
    7550             : 
    7551             : 
    7552           0 : antlrcpp::Any accparser::Wait_directiveContext::accept(tree::ParseTreeVisitor *visitor) {
    7553           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7554           0 :     return parserVisitor->visitWait_directive(this);
    7555             :   else
    7556           0 :     return visitor->visitChildren(this);
    7557             : }
    7558             : 
    7559           0 : accparser::Wait_directiveContext* accparser::wait_directive() {
    7560           0 :   Wait_directiveContext *_localctx = _tracker.createInstance<Wait_directiveContext>(_ctx, getState());
    7561           0 :   enterRule(_localctx, 146, accparser::RuleWait_directive);
    7562             : 
    7563           0 :   auto onExit = finally([=] {
    7564           0 :     exitRule();
    7565           0 :   });
    7566           0 :   try {
    7567           0 :     setState(810);
    7568           0 :     _errHandler->sync(this);
    7569           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 41, _ctx)) {
    7570           0 :     case 1: {
    7571           0 :       enterOuterAlt(_localctx, 1);
    7572           0 :       setState(802);
    7573           0 :       match(accparser::WAIT);
    7574           0 :       setState(803);
    7575           0 :       wait_clause_list();
    7576             :       break;
    7577             :     }
    7578             : 
    7579           0 :     case 2: {
    7580           0 :       enterOuterAlt(_localctx, 2);
    7581           0 :       setState(804);
    7582           0 :       match(accparser::WAIT);
    7583           0 :       setState(805);
    7584           0 :       match(accparser::LEFT_PAREN);
    7585           0 :       setState(806);
    7586           0 :       wait_argument();
    7587           0 :       setState(807);
    7588           0 :       match(accparser::RIGHT_PAREN);
    7589           0 :       setState(808);
    7590           0 :       wait_clause_list();
    7591             :       break;
    7592             :     }
    7593             : 
    7594             :     }
    7595             :    
    7596             :   }
    7597           0 :   catch (RecognitionException &e) {
    7598           0 :     _errHandler->reportError(this, e);
    7599           0 :     _localctx->exception = std::current_exception();
    7600           0 :     _errHandler->recover(this, _localctx->exception);
    7601             :   }
    7602             : 
    7603           0 :   return _localctx;
    7604             : }
    7605             : 
    7606             : //----------------- Wait_clause_listContext ------------------------------------------------------------------
    7607             : 
    7608           0 : accparser::Wait_clause_listContext::Wait_clause_listContext(ParserRuleContext *parent, size_t invokingState)
    7609           0 :   : ParserRuleContext(parent, invokingState) {
    7610           0 : }
    7611             : 
    7612           0 : std::vector<accparser::Wait_clausesContext *> accparser::Wait_clause_listContext::wait_clauses() {
    7613           0 :   return getRuleContexts<accparser::Wait_clausesContext>();
    7614             : }
    7615             : 
    7616           0 : accparser::Wait_clausesContext* accparser::Wait_clause_listContext::wait_clauses(size_t i) {
    7617           0 :   return getRuleContext<accparser::Wait_clausesContext>(i);
    7618             : }
    7619             : 
    7620             : 
    7621           0 : size_t accparser::Wait_clause_listContext::getRuleIndex() const {
    7622           0 :   return accparser::RuleWait_clause_list;
    7623             : }
    7624             : 
    7625           0 : void accparser::Wait_clause_listContext::enterRule(tree::ParseTreeListener *listener) {
    7626           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7627           0 :   if (parserListener != nullptr)
    7628           0 :     parserListener->enterWait_clause_list(this);
    7629           0 : }
    7630             : 
    7631           0 : void accparser::Wait_clause_listContext::exitRule(tree::ParseTreeListener *listener) {
    7632           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7633           0 :   if (parserListener != nullptr)
    7634           0 :     parserListener->exitWait_clause_list(this);
    7635           0 : }
    7636             : 
    7637             : 
    7638           0 : antlrcpp::Any accparser::Wait_clause_listContext::accept(tree::ParseTreeVisitor *visitor) {
    7639           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7640           0 :     return parserVisitor->visitWait_clause_list(this);
    7641             :   else
    7642           0 :     return visitor->visitChildren(this);
    7643             : }
    7644             : 
    7645           0 : accparser::Wait_clause_listContext* accparser::wait_clause_list() {
    7646           0 :   Wait_clause_listContext *_localctx = _tracker.createInstance<Wait_clause_listContext>(_ctx, getState());
    7647           0 :   enterRule(_localctx, 148, accparser::RuleWait_clause_list);
    7648           0 :   size_t _la = 0;
    7649             : 
    7650           0 :   auto onExit = finally([=] {
    7651           0 :     exitRule();
    7652           0 :   });
    7653           0 :   try {
    7654           0 :     enterOuterAlt(_localctx, 1);
    7655           0 :     setState(815);
    7656           0 :     _errHandler->sync(this);
    7657           0 :     _la = _input->LA(1);
    7658           0 :     while (_la == accparser::ASYNC
    7659             : 
    7660           0 :     || _la == accparser::IF) {
    7661           0 :       setState(812);
    7662           0 :       wait_clauses();
    7663           0 :       setState(817);
    7664           0 :       _errHandler->sync(this);
    7665           0 :       _la = _input->LA(1);
    7666             :     }
    7667             :    
    7668             :   }
    7669           0 :   catch (RecognitionException &e) {
    7670           0 :     _errHandler->reportError(this, e);
    7671           0 :     _localctx->exception = std::current_exception();
    7672           0 :     _errHandler->recover(this, _localctx->exception);
    7673             :   }
    7674             : 
    7675           0 :   return _localctx;
    7676             : }
    7677             : 
    7678             : //----------------- Wait_clausesContext ------------------------------------------------------------------
    7679             : 
    7680           0 : accparser::Wait_clausesContext::Wait_clausesContext(ParserRuleContext *parent, size_t invokingState)
    7681           0 :   : ParserRuleContext(parent, invokingState) {
    7682           0 : }
    7683             : 
    7684           0 : accparser::Async_clauseContext* accparser::Wait_clausesContext::async_clause() {
    7685           0 :   return getRuleContext<accparser::Async_clauseContext>(0);
    7686             : }
    7687             : 
    7688           0 : accparser::If_clauseContext* accparser::Wait_clausesContext::if_clause() {
    7689           0 :   return getRuleContext<accparser::If_clauseContext>(0);
    7690             : }
    7691             : 
    7692             : 
    7693           0 : size_t accparser::Wait_clausesContext::getRuleIndex() const {
    7694           0 :   return accparser::RuleWait_clauses;
    7695             : }
    7696             : 
    7697           0 : void accparser::Wait_clausesContext::enterRule(tree::ParseTreeListener *listener) {
    7698           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7699           0 :   if (parserListener != nullptr)
    7700           0 :     parserListener->enterWait_clauses(this);
    7701           0 : }
    7702             : 
    7703           0 : void accparser::Wait_clausesContext::exitRule(tree::ParseTreeListener *listener) {
    7704           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7705           0 :   if (parserListener != nullptr)
    7706           0 :     parserListener->exitWait_clauses(this);
    7707           0 : }
    7708             : 
    7709             : 
    7710           0 : antlrcpp::Any accparser::Wait_clausesContext::accept(tree::ParseTreeVisitor *visitor) {
    7711           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7712           0 :     return parserVisitor->visitWait_clauses(this);
    7713             :   else
    7714           0 :     return visitor->visitChildren(this);
    7715             : }
    7716             : 
    7717           0 : accparser::Wait_clausesContext* accparser::wait_clauses() {
    7718           0 :   Wait_clausesContext *_localctx = _tracker.createInstance<Wait_clausesContext>(_ctx, getState());
    7719           0 :   enterRule(_localctx, 150, accparser::RuleWait_clauses);
    7720             : 
    7721           0 :   auto onExit = finally([=] {
    7722           0 :     exitRule();
    7723           0 :   });
    7724           0 :   try {
    7725           0 :     setState(820);
    7726           0 :     _errHandler->sync(this);
    7727           0 :     switch (_input->LA(1)) {
    7728           0 :       case accparser::ASYNC: {
    7729           0 :         enterOuterAlt(_localctx, 1);
    7730           0 :         setState(818);
    7731           0 :         async_clause();
    7732             :         break;
    7733             :       }
    7734             : 
    7735           0 :       case accparser::IF: {
    7736           0 :         enterOuterAlt(_localctx, 2);
    7737           0 :         setState(819);
    7738           0 :         if_clause();
    7739             :         break;
    7740             :       }
    7741             : 
    7742           0 :     default:
    7743           0 :       throw NoViableAltException(this);
    7744             :     }
    7745             :    
    7746             :   }
    7747           0 :   catch (RecognitionException &e) {
    7748           0 :     _errHandler->reportError(this, e);
    7749           0 :     _localctx->exception = std::current_exception();
    7750           0 :     _errHandler->recover(this, _localctx->exception);
    7751             :   }
    7752             : 
    7753           0 :   return _localctx;
    7754             : }
    7755             : 
    7756             : //----------------- Async_clauseContext ------------------------------------------------------------------
    7757             : 
    7758           0 : accparser::Async_clauseContext::Async_clauseContext(ParserRuleContext *parent, size_t invokingState)
    7759           0 :   : ParserRuleContext(parent, invokingState) {
    7760           0 : }
    7761             : 
    7762           0 : tree::TerminalNode* accparser::Async_clauseContext::ASYNC() {
    7763           0 :   return getToken(accparser::ASYNC, 0);
    7764             : }
    7765             : 
    7766           0 : tree::TerminalNode* accparser::Async_clauseContext::LEFT_PAREN() {
    7767           0 :   return getToken(accparser::LEFT_PAREN, 0);
    7768             : }
    7769             : 
    7770           0 : accparser::Int_exprContext* accparser::Async_clauseContext::int_expr() {
    7771           0 :   return getRuleContext<accparser::Int_exprContext>(0);
    7772             : }
    7773             : 
    7774           0 : tree::TerminalNode* accparser::Async_clauseContext::RIGHT_PAREN() {
    7775           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    7776             : }
    7777             : 
    7778             : 
    7779           0 : size_t accparser::Async_clauseContext::getRuleIndex() const {
    7780           0 :   return accparser::RuleAsync_clause;
    7781             : }
    7782             : 
    7783           0 : void accparser::Async_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    7784           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7785           0 :   if (parserListener != nullptr)
    7786           0 :     parserListener->enterAsync_clause(this);
    7787           0 : }
    7788             : 
    7789           0 : void accparser::Async_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    7790           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7791           0 :   if (parserListener != nullptr)
    7792           0 :     parserListener->exitAsync_clause(this);
    7793           0 : }
    7794             : 
    7795             : 
    7796           0 : antlrcpp::Any accparser::Async_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    7797           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7798           0 :     return parserVisitor->visitAsync_clause(this);
    7799             :   else
    7800           0 :     return visitor->visitChildren(this);
    7801             : }
    7802             : 
    7803           0 : accparser::Async_clauseContext* accparser::async_clause() {
    7804           0 :   Async_clauseContext *_localctx = _tracker.createInstance<Async_clauseContext>(_ctx, getState());
    7805           0 :   enterRule(_localctx, 152, accparser::RuleAsync_clause);
    7806             : 
    7807           0 :   auto onExit = finally([=] {
    7808           0 :     exitRule();
    7809           0 :   });
    7810           0 :   try {
    7811           0 :     setState(828);
    7812           0 :     _errHandler->sync(this);
    7813           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 44, _ctx)) {
    7814           0 :     case 1: {
    7815           0 :       enterOuterAlt(_localctx, 1);
    7816           0 :       setState(822);
    7817           0 :       match(accparser::ASYNC);
    7818             :       break;
    7819             :     }
    7820             : 
    7821           0 :     case 2: {
    7822           0 :       enterOuterAlt(_localctx, 2);
    7823           0 :       setState(823);
    7824           0 :       match(accparser::ASYNC);
    7825           0 :       setState(824);
    7826           0 :       match(accparser::LEFT_PAREN);
    7827           0 :       setState(825);
    7828           0 :       int_expr();
    7829           0 :       setState(826);
    7830           0 :       match(accparser::RIGHT_PAREN);
    7831             :       break;
    7832             :     }
    7833             : 
    7834             :     }
    7835             :    
    7836             :   }
    7837           0 :   catch (RecognitionException &e) {
    7838           0 :     _errHandler->reportError(this, e);
    7839           0 :     _localctx->exception = std::current_exception();
    7840           0 :     _errHandler->recover(this, _localctx->exception);
    7841             :   }
    7842             : 
    7843           0 :   return _localctx;
    7844             : }
    7845             : 
    7846             : //----------------- Attach_clauseContext ------------------------------------------------------------------
    7847             : 
    7848           0 : accparser::Attach_clauseContext::Attach_clauseContext(ParserRuleContext *parent, size_t invokingState)
    7849           0 :   : ParserRuleContext(parent, invokingState) {
    7850           0 : }
    7851             : 
    7852           0 : tree::TerminalNode* accparser::Attach_clauseContext::ATTACH() {
    7853           0 :   return getToken(accparser::ATTACH, 0);
    7854             : }
    7855             : 
    7856           0 : tree::TerminalNode* accparser::Attach_clauseContext::LEFT_PAREN() {
    7857           0 :   return getToken(accparser::LEFT_PAREN, 0);
    7858             : }
    7859             : 
    7860           0 : accparser::Var_listContext* accparser::Attach_clauseContext::var_list() {
    7861           0 :   return getRuleContext<accparser::Var_listContext>(0);
    7862             : }
    7863             : 
    7864           0 : tree::TerminalNode* accparser::Attach_clauseContext::RIGHT_PAREN() {
    7865           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    7866             : }
    7867             : 
    7868             : 
    7869           0 : size_t accparser::Attach_clauseContext::getRuleIndex() const {
    7870           0 :   return accparser::RuleAttach_clause;
    7871             : }
    7872             : 
    7873           0 : void accparser::Attach_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    7874           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7875           0 :   if (parserListener != nullptr)
    7876           0 :     parserListener->enterAttach_clause(this);
    7877           0 : }
    7878             : 
    7879           0 : void accparser::Attach_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    7880           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7881           0 :   if (parserListener != nullptr)
    7882           0 :     parserListener->exitAttach_clause(this);
    7883           0 : }
    7884             : 
    7885             : 
    7886           0 : antlrcpp::Any accparser::Attach_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    7887           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7888           0 :     return parserVisitor->visitAttach_clause(this);
    7889             :   else
    7890           0 :     return visitor->visitChildren(this);
    7891             : }
    7892             : 
    7893           0 : accparser::Attach_clauseContext* accparser::attach_clause() {
    7894           0 :   Attach_clauseContext *_localctx = _tracker.createInstance<Attach_clauseContext>(_ctx, getState());
    7895           0 :   enterRule(_localctx, 154, accparser::RuleAttach_clause);
    7896             : 
    7897           0 :   auto onExit = finally([=] {
    7898           0 :     exitRule();
    7899           0 :   });
    7900           0 :   try {
    7901           0 :     enterOuterAlt(_localctx, 1);
    7902           0 :     setState(830);
    7903           0 :     match(accparser::ATTACH);
    7904           0 :     setState(831);
    7905           0 :     match(accparser::LEFT_PAREN);
    7906           0 :     setState(832);
    7907           0 :     var_list();
    7908           0 :     setState(833);
    7909           0 :     match(accparser::RIGHT_PAREN);
    7910             :    
    7911             :   }
    7912           0 :   catch (RecognitionException &e) {
    7913           0 :     _errHandler->reportError(this, e);
    7914           0 :     _localctx->exception = std::current_exception();
    7915           0 :     _errHandler->recover(this, _localctx->exception);
    7916             :   }
    7917             : 
    7918           0 :   return _localctx;
    7919             : }
    7920             : 
    7921             : //----------------- Auto_clauseContext ------------------------------------------------------------------
    7922             : 
    7923           0 : accparser::Auto_clauseContext::Auto_clauseContext(ParserRuleContext *parent, size_t invokingState)
    7924           0 :   : ParserRuleContext(parent, invokingState) {
    7925           0 : }
    7926             : 
    7927           0 : tree::TerminalNode* accparser::Auto_clauseContext::AUTO() {
    7928           0 :   return getToken(accparser::AUTO, 0);
    7929             : }
    7930             : 
    7931             : 
    7932           0 : size_t accparser::Auto_clauseContext::getRuleIndex() const {
    7933           0 :   return accparser::RuleAuto_clause;
    7934             : }
    7935             : 
    7936           0 : void accparser::Auto_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    7937           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7938           0 :   if (parserListener != nullptr)
    7939           0 :     parserListener->enterAuto_clause(this);
    7940           0 : }
    7941             : 
    7942           0 : void accparser::Auto_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    7943           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    7944           0 :   if (parserListener != nullptr)
    7945           0 :     parserListener->exitAuto_clause(this);
    7946           0 : }
    7947             : 
    7948             : 
    7949           0 : antlrcpp::Any accparser::Auto_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    7950           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    7951           0 :     return parserVisitor->visitAuto_clause(this);
    7952             :   else
    7953           0 :     return visitor->visitChildren(this);
    7954             : }
    7955             : 
    7956           0 : accparser::Auto_clauseContext* accparser::auto_clause() {
    7957           0 :   Auto_clauseContext *_localctx = _tracker.createInstance<Auto_clauseContext>(_ctx, getState());
    7958           0 :   enterRule(_localctx, 156, accparser::RuleAuto_clause);
    7959             : 
    7960           0 :   auto onExit = finally([=] {
    7961           0 :     exitRule();
    7962           0 :   });
    7963           0 :   try {
    7964           0 :     enterOuterAlt(_localctx, 1);
    7965           0 :     setState(835);
    7966           0 :     match(accparser::AUTO);
    7967             :    
    7968             :   }
    7969           0 :   catch (RecognitionException &e) {
    7970           0 :     _errHandler->reportError(this, e);
    7971           0 :     _localctx->exception = std::current_exception();
    7972           0 :     _errHandler->recover(this, _localctx->exception);
    7973             :   }
    7974             : 
    7975           0 :   return _localctx;
    7976             : }
    7977             : 
    7978             : //----------------- Bind_clauseContext ------------------------------------------------------------------
    7979             : 
    7980           0 : accparser::Bind_clauseContext::Bind_clauseContext(ParserRuleContext *parent, size_t invokingState)
    7981           0 :   : ParserRuleContext(parent, invokingState) {
    7982           0 : }
    7983             : 
    7984           0 : tree::TerminalNode* accparser::Bind_clauseContext::BIND() {
    7985           0 :   return getToken(accparser::BIND, 0);
    7986             : }
    7987             : 
    7988           0 : tree::TerminalNode* accparser::Bind_clauseContext::LEFT_PAREN() {
    7989           0 :   return getToken(accparser::LEFT_PAREN, 0);
    7990             : }
    7991             : 
    7992           0 : accparser::Name_or_stringContext* accparser::Bind_clauseContext::name_or_string() {
    7993           0 :   return getRuleContext<accparser::Name_or_stringContext>(0);
    7994             : }
    7995             : 
    7996           0 : tree::TerminalNode* accparser::Bind_clauseContext::RIGHT_PAREN() {
    7997           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    7998             : }
    7999             : 
    8000             : 
    8001           0 : size_t accparser::Bind_clauseContext::getRuleIndex() const {
    8002           0 :   return accparser::RuleBind_clause;
    8003             : }
    8004             : 
    8005           0 : void accparser::Bind_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8006           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8007           0 :   if (parserListener != nullptr)
    8008           0 :     parserListener->enterBind_clause(this);
    8009           0 : }
    8010             : 
    8011           0 : void accparser::Bind_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8012           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8013           0 :   if (parserListener != nullptr)
    8014           0 :     parserListener->exitBind_clause(this);
    8015           0 : }
    8016             : 
    8017             : 
    8018           0 : antlrcpp::Any accparser::Bind_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8019           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8020           0 :     return parserVisitor->visitBind_clause(this);
    8021             :   else
    8022           0 :     return visitor->visitChildren(this);
    8023             : }
    8024             : 
    8025           0 : accparser::Bind_clauseContext* accparser::bind_clause() {
    8026           0 :   Bind_clauseContext *_localctx = _tracker.createInstance<Bind_clauseContext>(_ctx, getState());
    8027           0 :   enterRule(_localctx, 158, accparser::RuleBind_clause);
    8028             : 
    8029           0 :   auto onExit = finally([=] {
    8030           0 :     exitRule();
    8031           0 :   });
    8032           0 :   try {
    8033           0 :     enterOuterAlt(_localctx, 1);
    8034           0 :     setState(837);
    8035           0 :     match(accparser::BIND);
    8036           0 :     setState(838);
    8037           0 :     match(accparser::LEFT_PAREN);
    8038           0 :     setState(839);
    8039           0 :     name_or_string();
    8040           0 :     setState(840);
    8041           0 :     match(accparser::RIGHT_PAREN);
    8042             :    
    8043             :   }
    8044           0 :   catch (RecognitionException &e) {
    8045           0 :     _errHandler->reportError(this, e);
    8046           0 :     _localctx->exception = std::current_exception();
    8047           0 :     _errHandler->recover(this, _localctx->exception);
    8048             :   }
    8049             : 
    8050           0 :   return _localctx;
    8051             : }
    8052             : 
    8053             : //----------------- Name_or_stringContext ------------------------------------------------------------------
    8054             : 
    8055           0 : accparser::Name_or_stringContext::Name_or_stringContext(ParserRuleContext *parent, size_t invokingState)
    8056           0 :   : ParserRuleContext(parent, invokingState) {
    8057           0 : }
    8058             : 
    8059           0 : tree::TerminalNode* accparser::Name_or_stringContext::EXPR() {
    8060           0 :   return getToken(accparser::EXPR, 0);
    8061             : }
    8062             : 
    8063             : 
    8064           0 : size_t accparser::Name_or_stringContext::getRuleIndex() const {
    8065           0 :   return accparser::RuleName_or_string;
    8066             : }
    8067             : 
    8068           0 : void accparser::Name_or_stringContext::enterRule(tree::ParseTreeListener *listener) {
    8069           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8070           0 :   if (parserListener != nullptr)
    8071           0 :     parserListener->enterName_or_string(this);
    8072           0 : }
    8073             : 
    8074           0 : void accparser::Name_or_stringContext::exitRule(tree::ParseTreeListener *listener) {
    8075           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8076           0 :   if (parserListener != nullptr)
    8077           0 :     parserListener->exitName_or_string(this);
    8078           0 : }
    8079             : 
    8080             : 
    8081           0 : antlrcpp::Any accparser::Name_or_stringContext::accept(tree::ParseTreeVisitor *visitor) {
    8082           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8083           0 :     return parserVisitor->visitName_or_string(this);
    8084             :   else
    8085           0 :     return visitor->visitChildren(this);
    8086             : }
    8087             : 
    8088           0 : accparser::Name_or_stringContext* accparser::name_or_string() {
    8089           0 :   Name_or_stringContext *_localctx = _tracker.createInstance<Name_or_stringContext>(_ctx, getState());
    8090           0 :   enterRule(_localctx, 160, accparser::RuleName_or_string);
    8091             : 
    8092           0 :   auto onExit = finally([=] {
    8093           0 :     exitRule();
    8094           0 :   });
    8095           0 :   try {
    8096           0 :     enterOuterAlt(_localctx, 1);
    8097           0 :     setState(842);
    8098           0 :     match(accparser::EXPR);
    8099             :    
    8100             :   }
    8101           0 :   catch (RecognitionException &e) {
    8102           0 :     _errHandler->reportError(this, e);
    8103           0 :     _localctx->exception = std::current_exception();
    8104           0 :     _errHandler->recover(this, _localctx->exception);
    8105             :   }
    8106             : 
    8107           0 :   return _localctx;
    8108             : }
    8109             : 
    8110             : //----------------- Capture_clauseContext ------------------------------------------------------------------
    8111             : 
    8112           0 : accparser::Capture_clauseContext::Capture_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8113           0 :   : ParserRuleContext(parent, invokingState) {
    8114           0 : }
    8115             : 
    8116           0 : tree::TerminalNode* accparser::Capture_clauseContext::CAPTURE() {
    8117           0 :   return getToken(accparser::CAPTURE, 0);
    8118             : }
    8119             : 
    8120             : 
    8121           0 : size_t accparser::Capture_clauseContext::getRuleIndex() const {
    8122           0 :   return accparser::RuleCapture_clause;
    8123             : }
    8124             : 
    8125           0 : void accparser::Capture_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8126           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8127           0 :   if (parserListener != nullptr)
    8128           0 :     parserListener->enterCapture_clause(this);
    8129           0 : }
    8130             : 
    8131           0 : void accparser::Capture_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8132           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8133           0 :   if (parserListener != nullptr)
    8134           0 :     parserListener->exitCapture_clause(this);
    8135           0 : }
    8136             : 
    8137             : 
    8138           0 : antlrcpp::Any accparser::Capture_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8139           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8140           0 :     return parserVisitor->visitCapture_clause(this);
    8141             :   else
    8142           0 :     return visitor->visitChildren(this);
    8143             : }
    8144             : 
    8145           0 : accparser::Capture_clauseContext* accparser::capture_clause() {
    8146           0 :   Capture_clauseContext *_localctx = _tracker.createInstance<Capture_clauseContext>(_ctx, getState());
    8147           0 :   enterRule(_localctx, 162, accparser::RuleCapture_clause);
    8148             : 
    8149           0 :   auto onExit = finally([=] {
    8150           0 :     exitRule();
    8151           0 :   });
    8152           0 :   try {
    8153           0 :     enterOuterAlt(_localctx, 1);
    8154           0 :     setState(844);
    8155           0 :     match(accparser::CAPTURE);
    8156             :    
    8157             :   }
    8158           0 :   catch (RecognitionException &e) {
    8159           0 :     _errHandler->reportError(this, e);
    8160           0 :     _localctx->exception = std::current_exception();
    8161           0 :     _errHandler->recover(this, _localctx->exception);
    8162             :   }
    8163             : 
    8164           0 :   return _localctx;
    8165             : }
    8166             : 
    8167             : //----------------- Collapse_clauseContext ------------------------------------------------------------------
    8168             : 
    8169           0 : accparser::Collapse_clauseContext::Collapse_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8170           0 :   : ParserRuleContext(parent, invokingState) {
    8171           0 : }
    8172             : 
    8173           0 : tree::TerminalNode* accparser::Collapse_clauseContext::COLLAPSE() {
    8174           0 :   return getToken(accparser::COLLAPSE, 0);
    8175             : }
    8176             : 
    8177           0 : tree::TerminalNode* accparser::Collapse_clauseContext::LEFT_PAREN() {
    8178           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8179             : }
    8180             : 
    8181           0 : accparser::Const_intContext* accparser::Collapse_clauseContext::const_int() {
    8182           0 :   return getRuleContext<accparser::Const_intContext>(0);
    8183             : }
    8184             : 
    8185           0 : tree::TerminalNode* accparser::Collapse_clauseContext::RIGHT_PAREN() {
    8186           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8187             : }
    8188             : 
    8189             : 
    8190           0 : size_t accparser::Collapse_clauseContext::getRuleIndex() const {
    8191           0 :   return accparser::RuleCollapse_clause;
    8192             : }
    8193             : 
    8194           0 : void accparser::Collapse_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8195           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8196           0 :   if (parserListener != nullptr)
    8197           0 :     parserListener->enterCollapse_clause(this);
    8198           0 : }
    8199             : 
    8200           0 : void accparser::Collapse_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8201           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8202           0 :   if (parserListener != nullptr)
    8203           0 :     parserListener->exitCollapse_clause(this);
    8204           0 : }
    8205             : 
    8206             : 
    8207           0 : antlrcpp::Any accparser::Collapse_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8208           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8209           0 :     return parserVisitor->visitCollapse_clause(this);
    8210             :   else
    8211           0 :     return visitor->visitChildren(this);
    8212             : }
    8213             : 
    8214           0 : accparser::Collapse_clauseContext* accparser::collapse_clause() {
    8215           0 :   Collapse_clauseContext *_localctx = _tracker.createInstance<Collapse_clauseContext>(_ctx, getState());
    8216           0 :   enterRule(_localctx, 164, accparser::RuleCollapse_clause);
    8217             : 
    8218           0 :   auto onExit = finally([=] {
    8219           0 :     exitRule();
    8220           0 :   });
    8221           0 :   try {
    8222           0 :     enterOuterAlt(_localctx, 1);
    8223           0 :     setState(846);
    8224           0 :     match(accparser::COLLAPSE);
    8225           0 :     setState(847);
    8226           0 :     match(accparser::LEFT_PAREN);
    8227           0 :     setState(848);
    8228           0 :     const_int();
    8229           0 :     setState(849);
    8230           0 :     match(accparser::RIGHT_PAREN);
    8231             :    
    8232             :   }
    8233           0 :   catch (RecognitionException &e) {
    8234           0 :     _errHandler->reportError(this, e);
    8235           0 :     _localctx->exception = std::current_exception();
    8236           0 :     _errHandler->recover(this, _localctx->exception);
    8237             :   }
    8238             : 
    8239           0 :   return _localctx;
    8240             : }
    8241             : 
    8242             : //----------------- Copy_clauseContext ------------------------------------------------------------------
    8243             : 
    8244           0 : accparser::Copy_clauseContext::Copy_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8245           0 :   : ParserRuleContext(parent, invokingState) {
    8246           0 : }
    8247             : 
    8248           0 : tree::TerminalNode* accparser::Copy_clauseContext::COPY() {
    8249           0 :   return getToken(accparser::COPY, 0);
    8250             : }
    8251             : 
    8252           0 : tree::TerminalNode* accparser::Copy_clauseContext::LEFT_PAREN() {
    8253           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8254             : }
    8255             : 
    8256           0 : accparser::Var_listContext* accparser::Copy_clauseContext::var_list() {
    8257           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8258             : }
    8259             : 
    8260           0 : tree::TerminalNode* accparser::Copy_clauseContext::RIGHT_PAREN() {
    8261           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8262             : }
    8263             : 
    8264             : 
    8265           0 : size_t accparser::Copy_clauseContext::getRuleIndex() const {
    8266           0 :   return accparser::RuleCopy_clause;
    8267             : }
    8268             : 
    8269           0 : void accparser::Copy_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8270           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8271           0 :   if (parserListener != nullptr)
    8272           0 :     parserListener->enterCopy_clause(this);
    8273           0 : }
    8274             : 
    8275           0 : void accparser::Copy_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8276           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8277           0 :   if (parserListener != nullptr)
    8278           0 :     parserListener->exitCopy_clause(this);
    8279           0 : }
    8280             : 
    8281             : 
    8282           0 : antlrcpp::Any accparser::Copy_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8283           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8284           0 :     return parserVisitor->visitCopy_clause(this);
    8285             :   else
    8286           0 :     return visitor->visitChildren(this);
    8287             : }
    8288             : 
    8289           0 : accparser::Copy_clauseContext* accparser::copy_clause() {
    8290           0 :   Copy_clauseContext *_localctx = _tracker.createInstance<Copy_clauseContext>(_ctx, getState());
    8291           0 :   enterRule(_localctx, 166, accparser::RuleCopy_clause);
    8292             : 
    8293           0 :   auto onExit = finally([=] {
    8294           0 :     exitRule();
    8295           0 :   });
    8296           0 :   try {
    8297           0 :     enterOuterAlt(_localctx, 1);
    8298           0 :     setState(851);
    8299           0 :     match(accparser::COPY);
    8300           0 :     setState(852);
    8301           0 :     match(accparser::LEFT_PAREN);
    8302           0 :     setState(853);
    8303           0 :     var_list();
    8304           0 :     setState(854);
    8305           0 :     match(accparser::RIGHT_PAREN);
    8306             :    
    8307             :   }
    8308           0 :   catch (RecognitionException &e) {
    8309           0 :     _errHandler->reportError(this, e);
    8310           0 :     _localctx->exception = std::current_exception();
    8311           0 :     _errHandler->recover(this, _localctx->exception);
    8312             :   }
    8313             : 
    8314           0 :   return _localctx;
    8315             : }
    8316             : 
    8317             : //----------------- Copyin_clauseContext ------------------------------------------------------------------
    8318             : 
    8319           0 : accparser::Copyin_clauseContext::Copyin_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8320           0 :   : ParserRuleContext(parent, invokingState) {
    8321           0 : }
    8322             : 
    8323           0 : tree::TerminalNode* accparser::Copyin_clauseContext::COPYIN() {
    8324           0 :   return getToken(accparser::COPYIN, 0);
    8325             : }
    8326             : 
    8327           0 : tree::TerminalNode* accparser::Copyin_clauseContext::LEFT_PAREN() {
    8328           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8329             : }
    8330             : 
    8331           0 : accparser::Var_listContext* accparser::Copyin_clauseContext::var_list() {
    8332           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8333             : }
    8334             : 
    8335           0 : tree::TerminalNode* accparser::Copyin_clauseContext::RIGHT_PAREN() {
    8336           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8337             : }
    8338             : 
    8339           0 : accparser::Copyin_clause_modifierContext* accparser::Copyin_clauseContext::copyin_clause_modifier() {
    8340           0 :   return getRuleContext<accparser::Copyin_clause_modifierContext>(0);
    8341             : }
    8342             : 
    8343           0 : tree::TerminalNode* accparser::Copyin_clauseContext::COLON() {
    8344           0 :   return getToken(accparser::COLON, 0);
    8345             : }
    8346             : 
    8347             : 
    8348           0 : size_t accparser::Copyin_clauseContext::getRuleIndex() const {
    8349           0 :   return accparser::RuleCopyin_clause;
    8350             : }
    8351             : 
    8352           0 : void accparser::Copyin_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8353           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8354           0 :   if (parserListener != nullptr)
    8355           0 :     parserListener->enterCopyin_clause(this);
    8356           0 : }
    8357             : 
    8358           0 : void accparser::Copyin_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8359           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8360           0 :   if (parserListener != nullptr)
    8361           0 :     parserListener->exitCopyin_clause(this);
    8362           0 : }
    8363             : 
    8364             : 
    8365           0 : antlrcpp::Any accparser::Copyin_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8366           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8367           0 :     return parserVisitor->visitCopyin_clause(this);
    8368             :   else
    8369           0 :     return visitor->visitChildren(this);
    8370             : }
    8371             : 
    8372           0 : accparser::Copyin_clauseContext* accparser::copyin_clause() {
    8373           0 :   Copyin_clauseContext *_localctx = _tracker.createInstance<Copyin_clauseContext>(_ctx, getState());
    8374           0 :   enterRule(_localctx, 168, accparser::RuleCopyin_clause);
    8375             : 
    8376           0 :   auto onExit = finally([=] {
    8377           0 :     exitRule();
    8378           0 :   });
    8379           0 :   try {
    8380           0 :     setState(868);
    8381           0 :     _errHandler->sync(this);
    8382           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 45, _ctx)) {
    8383           0 :     case 1: {
    8384           0 :       enterOuterAlt(_localctx, 1);
    8385           0 :       setState(856);
    8386           0 :       match(accparser::COPYIN);
    8387           0 :       setState(857);
    8388           0 :       match(accparser::LEFT_PAREN);
    8389           0 :       setState(858);
    8390           0 :       var_list();
    8391           0 :       setState(859);
    8392           0 :       match(accparser::RIGHT_PAREN);
    8393             :       break;
    8394             :     }
    8395             : 
    8396           0 :     case 2: {
    8397           0 :       enterOuterAlt(_localctx, 2);
    8398           0 :       setState(861);
    8399           0 :       match(accparser::COPYIN);
    8400           0 :       setState(862);
    8401           0 :       match(accparser::LEFT_PAREN);
    8402           0 :       setState(863);
    8403           0 :       copyin_clause_modifier();
    8404           0 :       setState(864);
    8405           0 :       match(accparser::COLON);
    8406           0 :       setState(865);
    8407           0 :       var_list();
    8408           0 :       setState(866);
    8409           0 :       match(accparser::RIGHT_PAREN);
    8410             :       break;
    8411             :     }
    8412             : 
    8413             :     }
    8414             :    
    8415             :   }
    8416           0 :   catch (RecognitionException &e) {
    8417           0 :     _errHandler->reportError(this, e);
    8418           0 :     _localctx->exception = std::current_exception();
    8419           0 :     _errHandler->recover(this, _localctx->exception);
    8420             :   }
    8421             : 
    8422           0 :   return _localctx;
    8423             : }
    8424             : 
    8425             : //----------------- Copyin_clause_modifierContext ------------------------------------------------------------------
    8426             : 
    8427           0 : accparser::Copyin_clause_modifierContext::Copyin_clause_modifierContext(ParserRuleContext *parent, size_t invokingState)
    8428           0 :   : ParserRuleContext(parent, invokingState) {
    8429           0 : }
    8430             : 
    8431           0 : tree::TerminalNode* accparser::Copyin_clause_modifierContext::READONLY() {
    8432           0 :   return getToken(accparser::READONLY, 0);
    8433             : }
    8434             : 
    8435             : 
    8436           0 : size_t accparser::Copyin_clause_modifierContext::getRuleIndex() const {
    8437           0 :   return accparser::RuleCopyin_clause_modifier;
    8438             : }
    8439             : 
    8440           0 : void accparser::Copyin_clause_modifierContext::enterRule(tree::ParseTreeListener *listener) {
    8441           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8442           0 :   if (parserListener != nullptr)
    8443           0 :     parserListener->enterCopyin_clause_modifier(this);
    8444           0 : }
    8445             : 
    8446           0 : void accparser::Copyin_clause_modifierContext::exitRule(tree::ParseTreeListener *listener) {
    8447           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8448           0 :   if (parserListener != nullptr)
    8449           0 :     parserListener->exitCopyin_clause_modifier(this);
    8450           0 : }
    8451             : 
    8452             : 
    8453           0 : antlrcpp::Any accparser::Copyin_clause_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
    8454           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8455           0 :     return parserVisitor->visitCopyin_clause_modifier(this);
    8456             :   else
    8457           0 :     return visitor->visitChildren(this);
    8458             : }
    8459             : 
    8460           0 : accparser::Copyin_clause_modifierContext* accparser::copyin_clause_modifier() {
    8461           0 :   Copyin_clause_modifierContext *_localctx = _tracker.createInstance<Copyin_clause_modifierContext>(_ctx, getState());
    8462           0 :   enterRule(_localctx, 170, accparser::RuleCopyin_clause_modifier);
    8463             : 
    8464           0 :   auto onExit = finally([=] {
    8465           0 :     exitRule();
    8466           0 :   });
    8467           0 :   try {
    8468           0 :     enterOuterAlt(_localctx, 1);
    8469           0 :     setState(870);
    8470           0 :     match(accparser::READONLY);
    8471             :    
    8472             :   }
    8473           0 :   catch (RecognitionException &e) {
    8474           0 :     _errHandler->reportError(this, e);
    8475           0 :     _localctx->exception = std::current_exception();
    8476           0 :     _errHandler->recover(this, _localctx->exception);
    8477             :   }
    8478             : 
    8479           0 :   return _localctx;
    8480             : }
    8481             : 
    8482             : //----------------- Copyin_no_modifier_clauseContext ------------------------------------------------------------------
    8483             : 
    8484           0 : accparser::Copyin_no_modifier_clauseContext::Copyin_no_modifier_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8485           0 :   : ParserRuleContext(parent, invokingState) {
    8486           0 : }
    8487             : 
    8488           0 : tree::TerminalNode* accparser::Copyin_no_modifier_clauseContext::COPYIN() {
    8489           0 :   return getToken(accparser::COPYIN, 0);
    8490             : }
    8491             : 
    8492           0 : tree::TerminalNode* accparser::Copyin_no_modifier_clauseContext::LEFT_PAREN() {
    8493           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8494             : }
    8495             : 
    8496           0 : accparser::Var_listContext* accparser::Copyin_no_modifier_clauseContext::var_list() {
    8497           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8498             : }
    8499             : 
    8500           0 : tree::TerminalNode* accparser::Copyin_no_modifier_clauseContext::RIGHT_PAREN() {
    8501           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8502             : }
    8503             : 
    8504             : 
    8505           0 : size_t accparser::Copyin_no_modifier_clauseContext::getRuleIndex() const {
    8506           0 :   return accparser::RuleCopyin_no_modifier_clause;
    8507             : }
    8508             : 
    8509           0 : void accparser::Copyin_no_modifier_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8510           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8511           0 :   if (parserListener != nullptr)
    8512           0 :     parserListener->enterCopyin_no_modifier_clause(this);
    8513           0 : }
    8514             : 
    8515           0 : void accparser::Copyin_no_modifier_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8516           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8517           0 :   if (parserListener != nullptr)
    8518           0 :     parserListener->exitCopyin_no_modifier_clause(this);
    8519           0 : }
    8520             : 
    8521             : 
    8522           0 : antlrcpp::Any accparser::Copyin_no_modifier_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8523           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8524           0 :     return parserVisitor->visitCopyin_no_modifier_clause(this);
    8525             :   else
    8526           0 :     return visitor->visitChildren(this);
    8527             : }
    8528             : 
    8529           0 : accparser::Copyin_no_modifier_clauseContext* accparser::copyin_no_modifier_clause() {
    8530           0 :   Copyin_no_modifier_clauseContext *_localctx = _tracker.createInstance<Copyin_no_modifier_clauseContext>(_ctx, getState());
    8531           0 :   enterRule(_localctx, 172, accparser::RuleCopyin_no_modifier_clause);
    8532             : 
    8533           0 :   auto onExit = finally([=] {
    8534           0 :     exitRule();
    8535           0 :   });
    8536           0 :   try {
    8537           0 :     enterOuterAlt(_localctx, 1);
    8538           0 :     setState(872);
    8539           0 :     match(accparser::COPYIN);
    8540           0 :     setState(873);
    8541           0 :     match(accparser::LEFT_PAREN);
    8542           0 :     setState(874);
    8543           0 :     var_list();
    8544           0 :     setState(875);
    8545           0 :     match(accparser::RIGHT_PAREN);
    8546             :    
    8547             :   }
    8548           0 :   catch (RecognitionException &e) {
    8549           0 :     _errHandler->reportError(this, e);
    8550           0 :     _localctx->exception = std::current_exception();
    8551           0 :     _errHandler->recover(this, _localctx->exception);
    8552             :   }
    8553             : 
    8554           0 :   return _localctx;
    8555             : }
    8556             : 
    8557             : //----------------- Copyout_clauseContext ------------------------------------------------------------------
    8558             : 
    8559           0 : accparser::Copyout_clauseContext::Copyout_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8560           0 :   : ParserRuleContext(parent, invokingState) {
    8561           0 : }
    8562             : 
    8563           0 : tree::TerminalNode* accparser::Copyout_clauseContext::COPYOUT() {
    8564           0 :   return getToken(accparser::COPYOUT, 0);
    8565             : }
    8566             : 
    8567           0 : tree::TerminalNode* accparser::Copyout_clauseContext::LEFT_PAREN() {
    8568           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8569             : }
    8570             : 
    8571           0 : accparser::Var_listContext* accparser::Copyout_clauseContext::var_list() {
    8572           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8573             : }
    8574             : 
    8575           0 : tree::TerminalNode* accparser::Copyout_clauseContext::RIGHT_PAREN() {
    8576           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8577             : }
    8578             : 
    8579           0 : accparser::Copyout_clause_modifierContext* accparser::Copyout_clauseContext::copyout_clause_modifier() {
    8580           0 :   return getRuleContext<accparser::Copyout_clause_modifierContext>(0);
    8581             : }
    8582             : 
    8583           0 : tree::TerminalNode* accparser::Copyout_clauseContext::COLON() {
    8584           0 :   return getToken(accparser::COLON, 0);
    8585             : }
    8586             : 
    8587             : 
    8588           0 : size_t accparser::Copyout_clauseContext::getRuleIndex() const {
    8589           0 :   return accparser::RuleCopyout_clause;
    8590             : }
    8591             : 
    8592           0 : void accparser::Copyout_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8593           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8594           0 :   if (parserListener != nullptr)
    8595           0 :     parserListener->enterCopyout_clause(this);
    8596           0 : }
    8597             : 
    8598           0 : void accparser::Copyout_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8599           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8600           0 :   if (parserListener != nullptr)
    8601           0 :     parserListener->exitCopyout_clause(this);
    8602           0 : }
    8603             : 
    8604             : 
    8605           0 : antlrcpp::Any accparser::Copyout_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8606           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8607           0 :     return parserVisitor->visitCopyout_clause(this);
    8608             :   else
    8609           0 :     return visitor->visitChildren(this);
    8610             : }
    8611             : 
    8612           0 : accparser::Copyout_clauseContext* accparser::copyout_clause() {
    8613           0 :   Copyout_clauseContext *_localctx = _tracker.createInstance<Copyout_clauseContext>(_ctx, getState());
    8614           0 :   enterRule(_localctx, 174, accparser::RuleCopyout_clause);
    8615             : 
    8616           0 :   auto onExit = finally([=] {
    8617           0 :     exitRule();
    8618           0 :   });
    8619           0 :   try {
    8620           0 :     setState(889);
    8621           0 :     _errHandler->sync(this);
    8622           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 46, _ctx)) {
    8623           0 :     case 1: {
    8624           0 :       enterOuterAlt(_localctx, 1);
    8625           0 :       setState(877);
    8626           0 :       match(accparser::COPYOUT);
    8627           0 :       setState(878);
    8628           0 :       match(accparser::LEFT_PAREN);
    8629           0 :       setState(879);
    8630           0 :       var_list();
    8631           0 :       setState(880);
    8632           0 :       match(accparser::RIGHT_PAREN);
    8633             :       break;
    8634             :     }
    8635             : 
    8636           0 :     case 2: {
    8637           0 :       enterOuterAlt(_localctx, 2);
    8638           0 :       setState(882);
    8639           0 :       match(accparser::COPYOUT);
    8640           0 :       setState(883);
    8641           0 :       match(accparser::LEFT_PAREN);
    8642           0 :       setState(884);
    8643           0 :       copyout_clause_modifier();
    8644           0 :       setState(885);
    8645           0 :       match(accparser::COLON);
    8646           0 :       setState(886);
    8647           0 :       var_list();
    8648           0 :       setState(887);
    8649           0 :       match(accparser::RIGHT_PAREN);
    8650             :       break;
    8651             :     }
    8652             : 
    8653             :     }
    8654             :    
    8655             :   }
    8656           0 :   catch (RecognitionException &e) {
    8657           0 :     _errHandler->reportError(this, e);
    8658           0 :     _localctx->exception = std::current_exception();
    8659           0 :     _errHandler->recover(this, _localctx->exception);
    8660             :   }
    8661             : 
    8662           0 :   return _localctx;
    8663             : }
    8664             : 
    8665             : //----------------- Copyout_clause_modifierContext ------------------------------------------------------------------
    8666             : 
    8667           0 : accparser::Copyout_clause_modifierContext::Copyout_clause_modifierContext(ParserRuleContext *parent, size_t invokingState)
    8668           0 :   : ParserRuleContext(parent, invokingState) {
    8669           0 : }
    8670             : 
    8671           0 : tree::TerminalNode* accparser::Copyout_clause_modifierContext::ZERO() {
    8672           0 :   return getToken(accparser::ZERO, 0);
    8673             : }
    8674             : 
    8675             : 
    8676           0 : size_t accparser::Copyout_clause_modifierContext::getRuleIndex() const {
    8677           0 :   return accparser::RuleCopyout_clause_modifier;
    8678             : }
    8679             : 
    8680           0 : void accparser::Copyout_clause_modifierContext::enterRule(tree::ParseTreeListener *listener) {
    8681           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8682           0 :   if (parserListener != nullptr)
    8683           0 :     parserListener->enterCopyout_clause_modifier(this);
    8684           0 : }
    8685             : 
    8686           0 : void accparser::Copyout_clause_modifierContext::exitRule(tree::ParseTreeListener *listener) {
    8687           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8688           0 :   if (parserListener != nullptr)
    8689           0 :     parserListener->exitCopyout_clause_modifier(this);
    8690           0 : }
    8691             : 
    8692             : 
    8693           0 : antlrcpp::Any accparser::Copyout_clause_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
    8694           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8695           0 :     return parserVisitor->visitCopyout_clause_modifier(this);
    8696             :   else
    8697           0 :     return visitor->visitChildren(this);
    8698             : }
    8699             : 
    8700           0 : accparser::Copyout_clause_modifierContext* accparser::copyout_clause_modifier() {
    8701           0 :   Copyout_clause_modifierContext *_localctx = _tracker.createInstance<Copyout_clause_modifierContext>(_ctx, getState());
    8702           0 :   enterRule(_localctx, 176, accparser::RuleCopyout_clause_modifier);
    8703             : 
    8704           0 :   auto onExit = finally([=] {
    8705           0 :     exitRule();
    8706           0 :   });
    8707           0 :   try {
    8708           0 :     enterOuterAlt(_localctx, 1);
    8709           0 :     setState(891);
    8710           0 :     match(accparser::ZERO);
    8711             :    
    8712             :   }
    8713           0 :   catch (RecognitionException &e) {
    8714           0 :     _errHandler->reportError(this, e);
    8715           0 :     _localctx->exception = std::current_exception();
    8716           0 :     _errHandler->recover(this, _localctx->exception);
    8717             :   }
    8718             : 
    8719           0 :   return _localctx;
    8720             : }
    8721             : 
    8722             : //----------------- Copyout_no_modifier_clauseContext ------------------------------------------------------------------
    8723             : 
    8724           0 : accparser::Copyout_no_modifier_clauseContext::Copyout_no_modifier_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8725           0 :   : ParserRuleContext(parent, invokingState) {
    8726           0 : }
    8727             : 
    8728           0 : tree::TerminalNode* accparser::Copyout_no_modifier_clauseContext::COPYOUT() {
    8729           0 :   return getToken(accparser::COPYOUT, 0);
    8730             : }
    8731             : 
    8732           0 : tree::TerminalNode* accparser::Copyout_no_modifier_clauseContext::LEFT_PAREN() {
    8733           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8734             : }
    8735             : 
    8736           0 : accparser::Var_listContext* accparser::Copyout_no_modifier_clauseContext::var_list() {
    8737           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8738             : }
    8739             : 
    8740           0 : tree::TerminalNode* accparser::Copyout_no_modifier_clauseContext::RIGHT_PAREN() {
    8741           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8742             : }
    8743             : 
    8744             : 
    8745           0 : size_t accparser::Copyout_no_modifier_clauseContext::getRuleIndex() const {
    8746           0 :   return accparser::RuleCopyout_no_modifier_clause;
    8747             : }
    8748             : 
    8749           0 : void accparser::Copyout_no_modifier_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8750           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8751           0 :   if (parserListener != nullptr)
    8752           0 :     parserListener->enterCopyout_no_modifier_clause(this);
    8753           0 : }
    8754             : 
    8755           0 : void accparser::Copyout_no_modifier_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8756           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8757           0 :   if (parserListener != nullptr)
    8758           0 :     parserListener->exitCopyout_no_modifier_clause(this);
    8759           0 : }
    8760             : 
    8761             : 
    8762           0 : antlrcpp::Any accparser::Copyout_no_modifier_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8763           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8764           0 :     return parserVisitor->visitCopyout_no_modifier_clause(this);
    8765             :   else
    8766           0 :     return visitor->visitChildren(this);
    8767             : }
    8768             : 
    8769           0 : accparser::Copyout_no_modifier_clauseContext* accparser::copyout_no_modifier_clause() {
    8770           0 :   Copyout_no_modifier_clauseContext *_localctx = _tracker.createInstance<Copyout_no_modifier_clauseContext>(_ctx, getState());
    8771           0 :   enterRule(_localctx, 178, accparser::RuleCopyout_no_modifier_clause);
    8772             : 
    8773           0 :   auto onExit = finally([=] {
    8774           0 :     exitRule();
    8775           0 :   });
    8776           0 :   try {
    8777           0 :     enterOuterAlt(_localctx, 1);
    8778           0 :     setState(893);
    8779           0 :     match(accparser::COPYOUT);
    8780           0 :     setState(894);
    8781           0 :     match(accparser::LEFT_PAREN);
    8782           0 :     setState(895);
    8783           0 :     var_list();
    8784           0 :     setState(896);
    8785           0 :     match(accparser::RIGHT_PAREN);
    8786             :    
    8787             :   }
    8788           0 :   catch (RecognitionException &e) {
    8789           0 :     _errHandler->reportError(this, e);
    8790           0 :     _localctx->exception = std::current_exception();
    8791           0 :     _errHandler->recover(this, _localctx->exception);
    8792             :   }
    8793             : 
    8794           0 :   return _localctx;
    8795             : }
    8796             : 
    8797             : //----------------- Create_clauseContext ------------------------------------------------------------------
    8798             : 
    8799           0 : accparser::Create_clauseContext::Create_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8800           0 :   : ParserRuleContext(parent, invokingState) {
    8801           0 : }
    8802             : 
    8803           0 : tree::TerminalNode* accparser::Create_clauseContext::CREATE() {
    8804           0 :   return getToken(accparser::CREATE, 0);
    8805             : }
    8806             : 
    8807           0 : tree::TerminalNode* accparser::Create_clauseContext::LEFT_PAREN() {
    8808           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8809             : }
    8810             : 
    8811           0 : accparser::Var_listContext* accparser::Create_clauseContext::var_list() {
    8812           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8813             : }
    8814             : 
    8815           0 : tree::TerminalNode* accparser::Create_clauseContext::RIGHT_PAREN() {
    8816           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8817             : }
    8818             : 
    8819           0 : accparser::Create_clause_modifierContext* accparser::Create_clauseContext::create_clause_modifier() {
    8820           0 :   return getRuleContext<accparser::Create_clause_modifierContext>(0);
    8821             : }
    8822             : 
    8823           0 : tree::TerminalNode* accparser::Create_clauseContext::COLON() {
    8824           0 :   return getToken(accparser::COLON, 0);
    8825             : }
    8826             : 
    8827             : 
    8828           0 : size_t accparser::Create_clauseContext::getRuleIndex() const {
    8829           0 :   return accparser::RuleCreate_clause;
    8830             : }
    8831             : 
    8832           0 : void accparser::Create_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8833           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8834           0 :   if (parserListener != nullptr)
    8835           0 :     parserListener->enterCreate_clause(this);
    8836           0 : }
    8837             : 
    8838           0 : void accparser::Create_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8839           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8840           0 :   if (parserListener != nullptr)
    8841           0 :     parserListener->exitCreate_clause(this);
    8842           0 : }
    8843             : 
    8844             : 
    8845           0 : antlrcpp::Any accparser::Create_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    8846           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8847           0 :     return parserVisitor->visitCreate_clause(this);
    8848             :   else
    8849           0 :     return visitor->visitChildren(this);
    8850             : }
    8851             : 
    8852           0 : accparser::Create_clauseContext* accparser::create_clause() {
    8853           0 :   Create_clauseContext *_localctx = _tracker.createInstance<Create_clauseContext>(_ctx, getState());
    8854           0 :   enterRule(_localctx, 180, accparser::RuleCreate_clause);
    8855             : 
    8856           0 :   auto onExit = finally([=] {
    8857           0 :     exitRule();
    8858           0 :   });
    8859           0 :   try {
    8860           0 :     setState(910);
    8861           0 :     _errHandler->sync(this);
    8862           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 47, _ctx)) {
    8863           0 :     case 1: {
    8864           0 :       enterOuterAlt(_localctx, 1);
    8865           0 :       setState(898);
    8866           0 :       match(accparser::CREATE);
    8867           0 :       setState(899);
    8868           0 :       match(accparser::LEFT_PAREN);
    8869           0 :       setState(900);
    8870           0 :       var_list();
    8871           0 :       setState(901);
    8872           0 :       match(accparser::RIGHT_PAREN);
    8873             :       break;
    8874             :     }
    8875             : 
    8876           0 :     case 2: {
    8877           0 :       enterOuterAlt(_localctx, 2);
    8878           0 :       setState(903);
    8879           0 :       match(accparser::CREATE);
    8880           0 :       setState(904);
    8881           0 :       match(accparser::LEFT_PAREN);
    8882           0 :       setState(905);
    8883           0 :       create_clause_modifier();
    8884           0 :       setState(906);
    8885           0 :       match(accparser::COLON);
    8886           0 :       setState(907);
    8887           0 :       var_list();
    8888           0 :       setState(908);
    8889           0 :       match(accparser::RIGHT_PAREN);
    8890             :       break;
    8891             :     }
    8892             : 
    8893             :     }
    8894             :    
    8895             :   }
    8896           0 :   catch (RecognitionException &e) {
    8897           0 :     _errHandler->reportError(this, e);
    8898           0 :     _localctx->exception = std::current_exception();
    8899           0 :     _errHandler->recover(this, _localctx->exception);
    8900             :   }
    8901             : 
    8902           0 :   return _localctx;
    8903             : }
    8904             : 
    8905             : //----------------- Create_clause_modifierContext ------------------------------------------------------------------
    8906             : 
    8907           0 : accparser::Create_clause_modifierContext::Create_clause_modifierContext(ParserRuleContext *parent, size_t invokingState)
    8908           0 :   : ParserRuleContext(parent, invokingState) {
    8909           0 : }
    8910             : 
    8911           0 : tree::TerminalNode* accparser::Create_clause_modifierContext::ZERO() {
    8912           0 :   return getToken(accparser::ZERO, 0);
    8913             : }
    8914             : 
    8915             : 
    8916           0 : size_t accparser::Create_clause_modifierContext::getRuleIndex() const {
    8917           0 :   return accparser::RuleCreate_clause_modifier;
    8918             : }
    8919             : 
    8920           0 : void accparser::Create_clause_modifierContext::enterRule(tree::ParseTreeListener *listener) {
    8921           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8922           0 :   if (parserListener != nullptr)
    8923           0 :     parserListener->enterCreate_clause_modifier(this);
    8924           0 : }
    8925             : 
    8926           0 : void accparser::Create_clause_modifierContext::exitRule(tree::ParseTreeListener *listener) {
    8927           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8928           0 :   if (parserListener != nullptr)
    8929           0 :     parserListener->exitCreate_clause_modifier(this);
    8930           0 : }
    8931             : 
    8932             : 
    8933           0 : antlrcpp::Any accparser::Create_clause_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
    8934           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    8935           0 :     return parserVisitor->visitCreate_clause_modifier(this);
    8936             :   else
    8937           0 :     return visitor->visitChildren(this);
    8938             : }
    8939             : 
    8940           0 : accparser::Create_clause_modifierContext* accparser::create_clause_modifier() {
    8941           0 :   Create_clause_modifierContext *_localctx = _tracker.createInstance<Create_clause_modifierContext>(_ctx, getState());
    8942           0 :   enterRule(_localctx, 182, accparser::RuleCreate_clause_modifier);
    8943             : 
    8944           0 :   auto onExit = finally([=] {
    8945           0 :     exitRule();
    8946           0 :   });
    8947           0 :   try {
    8948           0 :     enterOuterAlt(_localctx, 1);
    8949           0 :     setState(912);
    8950           0 :     match(accparser::ZERO);
    8951             :    
    8952             :   }
    8953           0 :   catch (RecognitionException &e) {
    8954           0 :     _errHandler->reportError(this, e);
    8955           0 :     _localctx->exception = std::current_exception();
    8956           0 :     _errHandler->recover(this, _localctx->exception);
    8957             :   }
    8958             : 
    8959           0 :   return _localctx;
    8960             : }
    8961             : 
    8962             : //----------------- Create_no_modifier_clauseContext ------------------------------------------------------------------
    8963             : 
    8964           0 : accparser::Create_no_modifier_clauseContext::Create_no_modifier_clauseContext(ParserRuleContext *parent, size_t invokingState)
    8965           0 :   : ParserRuleContext(parent, invokingState) {
    8966           0 : }
    8967             : 
    8968           0 : tree::TerminalNode* accparser::Create_no_modifier_clauseContext::CREATE() {
    8969           0 :   return getToken(accparser::CREATE, 0);
    8970             : }
    8971             : 
    8972           0 : tree::TerminalNode* accparser::Create_no_modifier_clauseContext::LEFT_PAREN() {
    8973           0 :   return getToken(accparser::LEFT_PAREN, 0);
    8974             : }
    8975             : 
    8976           0 : accparser::Var_listContext* accparser::Create_no_modifier_clauseContext::var_list() {
    8977           0 :   return getRuleContext<accparser::Var_listContext>(0);
    8978             : }
    8979             : 
    8980           0 : tree::TerminalNode* accparser::Create_no_modifier_clauseContext::RIGHT_PAREN() {
    8981           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    8982             : }
    8983             : 
    8984             : 
    8985           0 : size_t accparser::Create_no_modifier_clauseContext::getRuleIndex() const {
    8986           0 :   return accparser::RuleCreate_no_modifier_clause;
    8987             : }
    8988             : 
    8989           0 : void accparser::Create_no_modifier_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    8990           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8991           0 :   if (parserListener != nullptr)
    8992           0 :     parserListener->enterCreate_no_modifier_clause(this);
    8993           0 : }
    8994             : 
    8995           0 : void accparser::Create_no_modifier_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    8996           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    8997           0 :   if (parserListener != nullptr)
    8998           0 :     parserListener->exitCreate_no_modifier_clause(this);
    8999           0 : }
    9000             : 
    9001             : 
    9002           0 : antlrcpp::Any accparser::Create_no_modifier_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9003           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9004           0 :     return parserVisitor->visitCreate_no_modifier_clause(this);
    9005             :   else
    9006           0 :     return visitor->visitChildren(this);
    9007             : }
    9008             : 
    9009           0 : accparser::Create_no_modifier_clauseContext* accparser::create_no_modifier_clause() {
    9010           0 :   Create_no_modifier_clauseContext *_localctx = _tracker.createInstance<Create_no_modifier_clauseContext>(_ctx, getState());
    9011           0 :   enterRule(_localctx, 184, accparser::RuleCreate_no_modifier_clause);
    9012             : 
    9013           0 :   auto onExit = finally([=] {
    9014           0 :     exitRule();
    9015           0 :   });
    9016           0 :   try {
    9017           0 :     enterOuterAlt(_localctx, 1);
    9018           0 :     setState(914);
    9019           0 :     match(accparser::CREATE);
    9020           0 :     setState(915);
    9021           0 :     match(accparser::LEFT_PAREN);
    9022           0 :     setState(916);
    9023           0 :     var_list();
    9024           0 :     setState(917);
    9025           0 :     match(accparser::RIGHT_PAREN);
    9026             :    
    9027             :   }
    9028           0 :   catch (RecognitionException &e) {
    9029           0 :     _errHandler->reportError(this, e);
    9030           0 :     _localctx->exception = std::current_exception();
    9031           0 :     _errHandler->recover(this, _localctx->exception);
    9032             :   }
    9033             : 
    9034           0 :   return _localctx;
    9035             : }
    9036             : 
    9037             : //----------------- Default_clauseContext ------------------------------------------------------------------
    9038             : 
    9039           0 : accparser::Default_clauseContext::Default_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9040           0 :   : ParserRuleContext(parent, invokingState) {
    9041           0 : }
    9042             : 
    9043           0 : tree::TerminalNode* accparser::Default_clauseContext::DEFAULT() {
    9044           0 :   return getToken(accparser::DEFAULT, 0);
    9045             : }
    9046             : 
    9047           0 : tree::TerminalNode* accparser::Default_clauseContext::LEFT_PAREN() {
    9048           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9049             : }
    9050             : 
    9051           0 : accparser::Default_kindContext* accparser::Default_clauseContext::default_kind() {
    9052           0 :   return getRuleContext<accparser::Default_kindContext>(0);
    9053             : }
    9054             : 
    9055           0 : tree::TerminalNode* accparser::Default_clauseContext::RIGHT_PAREN() {
    9056           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9057             : }
    9058             : 
    9059             : 
    9060           0 : size_t accparser::Default_clauseContext::getRuleIndex() const {
    9061           0 :   return accparser::RuleDefault_clause;
    9062             : }
    9063             : 
    9064           0 : void accparser::Default_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9065           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9066           0 :   if (parserListener != nullptr)
    9067           0 :     parserListener->enterDefault_clause(this);
    9068           0 : }
    9069             : 
    9070           0 : void accparser::Default_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9071           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9072           0 :   if (parserListener != nullptr)
    9073           0 :     parserListener->exitDefault_clause(this);
    9074           0 : }
    9075             : 
    9076             : 
    9077           0 : antlrcpp::Any accparser::Default_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9078           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9079           0 :     return parserVisitor->visitDefault_clause(this);
    9080             :   else
    9081           0 :     return visitor->visitChildren(this);
    9082             : }
    9083             : 
    9084           0 : accparser::Default_clauseContext* accparser::default_clause() {
    9085           0 :   Default_clauseContext *_localctx = _tracker.createInstance<Default_clauseContext>(_ctx, getState());
    9086           0 :   enterRule(_localctx, 186, accparser::RuleDefault_clause);
    9087             : 
    9088           0 :   auto onExit = finally([=] {
    9089           0 :     exitRule();
    9090           0 :   });
    9091           0 :   try {
    9092           0 :     enterOuterAlt(_localctx, 1);
    9093           0 :     setState(919);
    9094           0 :     match(accparser::DEFAULT);
    9095           0 :     setState(920);
    9096           0 :     match(accparser::LEFT_PAREN);
    9097           0 :     setState(921);
    9098           0 :     default_kind();
    9099           0 :     setState(922);
    9100           0 :     match(accparser::RIGHT_PAREN);
    9101             :    
    9102             :   }
    9103           0 :   catch (RecognitionException &e) {
    9104           0 :     _errHandler->reportError(this, e);
    9105           0 :     _localctx->exception = std::current_exception();
    9106           0 :     _errHandler->recover(this, _localctx->exception);
    9107             :   }
    9108             : 
    9109           0 :   return _localctx;
    9110             : }
    9111             : 
    9112             : //----------------- Default_kindContext ------------------------------------------------------------------
    9113             : 
    9114           0 : accparser::Default_kindContext::Default_kindContext(ParserRuleContext *parent, size_t invokingState)
    9115           0 :   : ParserRuleContext(parent, invokingState) {
    9116           0 : }
    9117             : 
    9118           0 : tree::TerminalNode* accparser::Default_kindContext::NONE() {
    9119           0 :   return getToken(accparser::NONE, 0);
    9120             : }
    9121             : 
    9122           0 : tree::TerminalNode* accparser::Default_kindContext::PRESENT() {
    9123           0 :   return getToken(accparser::PRESENT, 0);
    9124             : }
    9125             : 
    9126             : 
    9127           0 : size_t accparser::Default_kindContext::getRuleIndex() const {
    9128           0 :   return accparser::RuleDefault_kind;
    9129             : }
    9130             : 
    9131           0 : void accparser::Default_kindContext::enterRule(tree::ParseTreeListener *listener) {
    9132           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9133           0 :   if (parserListener != nullptr)
    9134           0 :     parserListener->enterDefault_kind(this);
    9135           0 : }
    9136             : 
    9137           0 : void accparser::Default_kindContext::exitRule(tree::ParseTreeListener *listener) {
    9138           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9139           0 :   if (parserListener != nullptr)
    9140           0 :     parserListener->exitDefault_kind(this);
    9141           0 : }
    9142             : 
    9143             : 
    9144           0 : antlrcpp::Any accparser::Default_kindContext::accept(tree::ParseTreeVisitor *visitor) {
    9145           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9146           0 :     return parserVisitor->visitDefault_kind(this);
    9147             :   else
    9148           0 :     return visitor->visitChildren(this);
    9149             : }
    9150             : 
    9151           0 : accparser::Default_kindContext* accparser::default_kind() {
    9152           0 :   Default_kindContext *_localctx = _tracker.createInstance<Default_kindContext>(_ctx, getState());
    9153           0 :   enterRule(_localctx, 188, accparser::RuleDefault_kind);
    9154           0 :   size_t _la = 0;
    9155             : 
    9156           0 :   auto onExit = finally([=] {
    9157           0 :     exitRule();
    9158           0 :   });
    9159           0 :   try {
    9160           0 :     enterOuterAlt(_localctx, 1);
    9161           0 :     setState(924);
    9162           0 :     _la = _input->LA(1);
    9163           0 :     if (!(_la == accparser::PRESENT
    9164             : 
    9165           0 :     || _la == accparser::NONE)) {
    9166           0 :     _errHandler->recoverInline(this);
    9167             :     }
    9168             :     else {
    9169           0 :       _errHandler->reportMatch(this);
    9170           0 :       consume();
    9171             :     }
    9172             :    
    9173             :   }
    9174           0 :   catch (RecognitionException &e) {
    9175           0 :     _errHandler->reportError(this, e);
    9176           0 :     _localctx->exception = std::current_exception();
    9177           0 :     _errHandler->recover(this, _localctx->exception);
    9178             :   }
    9179             : 
    9180           0 :   return _localctx;
    9181             : }
    9182             : 
    9183             : //----------------- Default_async_clauseContext ------------------------------------------------------------------
    9184             : 
    9185           0 : accparser::Default_async_clauseContext::Default_async_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9186           0 :   : ParserRuleContext(parent, invokingState) {
    9187           0 : }
    9188             : 
    9189           0 : tree::TerminalNode* accparser::Default_async_clauseContext::DEFAULT_ASYNC() {
    9190           0 :   return getToken(accparser::DEFAULT_ASYNC, 0);
    9191             : }
    9192             : 
    9193           0 : tree::TerminalNode* accparser::Default_async_clauseContext::LEFT_PAREN() {
    9194           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9195             : }
    9196             : 
    9197           0 : accparser::Int_exprContext* accparser::Default_async_clauseContext::int_expr() {
    9198           0 :   return getRuleContext<accparser::Int_exprContext>(0);
    9199             : }
    9200             : 
    9201           0 : tree::TerminalNode* accparser::Default_async_clauseContext::RIGHT_PAREN() {
    9202           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9203             : }
    9204             : 
    9205             : 
    9206           0 : size_t accparser::Default_async_clauseContext::getRuleIndex() const {
    9207           0 :   return accparser::RuleDefault_async_clause;
    9208             : }
    9209             : 
    9210           0 : void accparser::Default_async_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9211           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9212           0 :   if (parserListener != nullptr)
    9213           0 :     parserListener->enterDefault_async_clause(this);
    9214           0 : }
    9215             : 
    9216           0 : void accparser::Default_async_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9217           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9218           0 :   if (parserListener != nullptr)
    9219           0 :     parserListener->exitDefault_async_clause(this);
    9220           0 : }
    9221             : 
    9222             : 
    9223           0 : antlrcpp::Any accparser::Default_async_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9224           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9225           0 :     return parserVisitor->visitDefault_async_clause(this);
    9226             :   else
    9227           0 :     return visitor->visitChildren(this);
    9228             : }
    9229             : 
    9230           0 : accparser::Default_async_clauseContext* accparser::default_async_clause() {
    9231           0 :   Default_async_clauseContext *_localctx = _tracker.createInstance<Default_async_clauseContext>(_ctx, getState());
    9232           0 :   enterRule(_localctx, 190, accparser::RuleDefault_async_clause);
    9233             : 
    9234           0 :   auto onExit = finally([=] {
    9235           0 :     exitRule();
    9236           0 :   });
    9237           0 :   try {
    9238           0 :     enterOuterAlt(_localctx, 1);
    9239           0 :     setState(926);
    9240           0 :     match(accparser::DEFAULT_ASYNC);
    9241           0 :     setState(927);
    9242           0 :     match(accparser::LEFT_PAREN);
    9243           0 :     setState(928);
    9244           0 :     int_expr();
    9245           0 :     setState(929);
    9246           0 :     match(accparser::RIGHT_PAREN);
    9247             :    
    9248             :   }
    9249           0 :   catch (RecognitionException &e) {
    9250           0 :     _errHandler->reportError(this, e);
    9251           0 :     _localctx->exception = std::current_exception();
    9252           0 :     _errHandler->recover(this, _localctx->exception);
    9253             :   }
    9254             : 
    9255           0 :   return _localctx;
    9256             : }
    9257             : 
    9258             : //----------------- Delete_clauseContext ------------------------------------------------------------------
    9259             : 
    9260           0 : accparser::Delete_clauseContext::Delete_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9261           0 :   : ParserRuleContext(parent, invokingState) {
    9262           0 : }
    9263             : 
    9264           0 : tree::TerminalNode* accparser::Delete_clauseContext::DELETE() {
    9265           0 :   return getToken(accparser::DELETE, 0);
    9266             : }
    9267             : 
    9268           0 : tree::TerminalNode* accparser::Delete_clauseContext::LEFT_PAREN() {
    9269           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9270             : }
    9271             : 
    9272           0 : accparser::Var_listContext* accparser::Delete_clauseContext::var_list() {
    9273           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9274             : }
    9275             : 
    9276           0 : tree::TerminalNode* accparser::Delete_clauseContext::RIGHT_PAREN() {
    9277           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9278             : }
    9279             : 
    9280             : 
    9281           0 : size_t accparser::Delete_clauseContext::getRuleIndex() const {
    9282           0 :   return accparser::RuleDelete_clause;
    9283             : }
    9284             : 
    9285           0 : void accparser::Delete_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9286           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9287           0 :   if (parserListener != nullptr)
    9288           0 :     parserListener->enterDelete_clause(this);
    9289           0 : }
    9290             : 
    9291           0 : void accparser::Delete_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9292           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9293           0 :   if (parserListener != nullptr)
    9294           0 :     parserListener->exitDelete_clause(this);
    9295           0 : }
    9296             : 
    9297             : 
    9298           0 : antlrcpp::Any accparser::Delete_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9299           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9300           0 :     return parserVisitor->visitDelete_clause(this);
    9301             :   else
    9302           0 :     return visitor->visitChildren(this);
    9303             : }
    9304             : 
    9305           0 : accparser::Delete_clauseContext* accparser::delete_clause() {
    9306           0 :   Delete_clauseContext *_localctx = _tracker.createInstance<Delete_clauseContext>(_ctx, getState());
    9307           0 :   enterRule(_localctx, 192, accparser::RuleDelete_clause);
    9308             : 
    9309           0 :   auto onExit = finally([=] {
    9310           0 :     exitRule();
    9311           0 :   });
    9312           0 :   try {
    9313           0 :     enterOuterAlt(_localctx, 1);
    9314           0 :     setState(931);
    9315           0 :     match(accparser::DELETE);
    9316           0 :     setState(932);
    9317           0 :     match(accparser::LEFT_PAREN);
    9318           0 :     setState(933);
    9319           0 :     var_list();
    9320           0 :     setState(934);
    9321           0 :     match(accparser::RIGHT_PAREN);
    9322             :    
    9323             :   }
    9324           0 :   catch (RecognitionException &e) {
    9325           0 :     _errHandler->reportError(this, e);
    9326           0 :     _localctx->exception = std::current_exception();
    9327           0 :     _errHandler->recover(this, _localctx->exception);
    9328             :   }
    9329             : 
    9330           0 :   return _localctx;
    9331             : }
    9332             : 
    9333             : //----------------- Detach_clauseContext ------------------------------------------------------------------
    9334             : 
    9335           0 : accparser::Detach_clauseContext::Detach_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9336           0 :   : ParserRuleContext(parent, invokingState) {
    9337           0 : }
    9338             : 
    9339           0 : tree::TerminalNode* accparser::Detach_clauseContext::DETACH() {
    9340           0 :   return getToken(accparser::DETACH, 0);
    9341             : }
    9342             : 
    9343           0 : tree::TerminalNode* accparser::Detach_clauseContext::LEFT_PAREN() {
    9344           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9345             : }
    9346             : 
    9347           0 : accparser::Var_listContext* accparser::Detach_clauseContext::var_list() {
    9348           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9349             : }
    9350             : 
    9351           0 : tree::TerminalNode* accparser::Detach_clauseContext::RIGHT_PAREN() {
    9352           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9353             : }
    9354             : 
    9355             : 
    9356           0 : size_t accparser::Detach_clauseContext::getRuleIndex() const {
    9357           0 :   return accparser::RuleDetach_clause;
    9358             : }
    9359             : 
    9360           0 : void accparser::Detach_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9361           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9362           0 :   if (parserListener != nullptr)
    9363           0 :     parserListener->enterDetach_clause(this);
    9364           0 : }
    9365             : 
    9366           0 : void accparser::Detach_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9367           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9368           0 :   if (parserListener != nullptr)
    9369           0 :     parserListener->exitDetach_clause(this);
    9370           0 : }
    9371             : 
    9372             : 
    9373           0 : antlrcpp::Any accparser::Detach_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9374           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9375           0 :     return parserVisitor->visitDetach_clause(this);
    9376             :   else
    9377           0 :     return visitor->visitChildren(this);
    9378             : }
    9379             : 
    9380           0 : accparser::Detach_clauseContext* accparser::detach_clause() {
    9381           0 :   Detach_clauseContext *_localctx = _tracker.createInstance<Detach_clauseContext>(_ctx, getState());
    9382           0 :   enterRule(_localctx, 194, accparser::RuleDetach_clause);
    9383             : 
    9384           0 :   auto onExit = finally([=] {
    9385           0 :     exitRule();
    9386           0 :   });
    9387           0 :   try {
    9388           0 :     enterOuterAlt(_localctx, 1);
    9389           0 :     setState(936);
    9390           0 :     match(accparser::DETACH);
    9391           0 :     setState(937);
    9392           0 :     match(accparser::LEFT_PAREN);
    9393           0 :     setState(938);
    9394           0 :     var_list();
    9395           0 :     setState(939);
    9396           0 :     match(accparser::RIGHT_PAREN);
    9397             :    
    9398             :   }
    9399           0 :   catch (RecognitionException &e) {
    9400           0 :     _errHandler->reportError(this, e);
    9401           0 :     _localctx->exception = std::current_exception();
    9402           0 :     _errHandler->recover(this, _localctx->exception);
    9403             :   }
    9404             : 
    9405           0 :   return _localctx;
    9406             : }
    9407             : 
    9408             : //----------------- Device_clauseContext ------------------------------------------------------------------
    9409             : 
    9410           0 : accparser::Device_clauseContext::Device_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9411           0 :   : ParserRuleContext(parent, invokingState) {
    9412           0 : }
    9413             : 
    9414           0 : tree::TerminalNode* accparser::Device_clauseContext::DEVICE() {
    9415           0 :   return getToken(accparser::DEVICE, 0);
    9416             : }
    9417             : 
    9418           0 : tree::TerminalNode* accparser::Device_clauseContext::LEFT_PAREN() {
    9419           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9420             : }
    9421             : 
    9422           0 : accparser::Var_listContext* accparser::Device_clauseContext::var_list() {
    9423           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9424             : }
    9425             : 
    9426           0 : tree::TerminalNode* accparser::Device_clauseContext::RIGHT_PAREN() {
    9427           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9428             : }
    9429             : 
    9430             : 
    9431           0 : size_t accparser::Device_clauseContext::getRuleIndex() const {
    9432           0 :   return accparser::RuleDevice_clause;
    9433             : }
    9434             : 
    9435           0 : void accparser::Device_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9436           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9437           0 :   if (parserListener != nullptr)
    9438           0 :     parserListener->enterDevice_clause(this);
    9439           0 : }
    9440             : 
    9441           0 : void accparser::Device_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9442           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9443           0 :   if (parserListener != nullptr)
    9444           0 :     parserListener->exitDevice_clause(this);
    9445           0 : }
    9446             : 
    9447             : 
    9448           0 : antlrcpp::Any accparser::Device_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9449           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9450           0 :     return parserVisitor->visitDevice_clause(this);
    9451             :   else
    9452           0 :     return visitor->visitChildren(this);
    9453             : }
    9454             : 
    9455           0 : accparser::Device_clauseContext* accparser::device_clause() {
    9456           0 :   Device_clauseContext *_localctx = _tracker.createInstance<Device_clauseContext>(_ctx, getState());
    9457           0 :   enterRule(_localctx, 196, accparser::RuleDevice_clause);
    9458             : 
    9459           0 :   auto onExit = finally([=] {
    9460           0 :     exitRule();
    9461           0 :   });
    9462           0 :   try {
    9463           0 :     enterOuterAlt(_localctx, 1);
    9464           0 :     setState(941);
    9465           0 :     match(accparser::DEVICE);
    9466           0 :     setState(942);
    9467           0 :     match(accparser::LEFT_PAREN);
    9468           0 :     setState(943);
    9469           0 :     var_list();
    9470           0 :     setState(944);
    9471           0 :     match(accparser::RIGHT_PAREN);
    9472             :    
    9473             :   }
    9474           0 :   catch (RecognitionException &e) {
    9475           0 :     _errHandler->reportError(this, e);
    9476           0 :     _localctx->exception = std::current_exception();
    9477           0 :     _errHandler->recover(this, _localctx->exception);
    9478             :   }
    9479             : 
    9480           0 :   return _localctx;
    9481             : }
    9482             : 
    9483             : //----------------- Device_num_clauseContext ------------------------------------------------------------------
    9484             : 
    9485           0 : accparser::Device_num_clauseContext::Device_num_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9486           0 :   : ParserRuleContext(parent, invokingState) {
    9487           0 : }
    9488             : 
    9489           0 : tree::TerminalNode* accparser::Device_num_clauseContext::DEVICE_NUM() {
    9490           0 :   return getToken(accparser::DEVICE_NUM, 0);
    9491             : }
    9492             : 
    9493           0 : tree::TerminalNode* accparser::Device_num_clauseContext::LEFT_PAREN() {
    9494           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9495             : }
    9496             : 
    9497           0 : accparser::Int_exprContext* accparser::Device_num_clauseContext::int_expr() {
    9498           0 :   return getRuleContext<accparser::Int_exprContext>(0);
    9499             : }
    9500             : 
    9501           0 : tree::TerminalNode* accparser::Device_num_clauseContext::RIGHT_PAREN() {
    9502           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9503             : }
    9504             : 
    9505             : 
    9506           0 : size_t accparser::Device_num_clauseContext::getRuleIndex() const {
    9507           0 :   return accparser::RuleDevice_num_clause;
    9508             : }
    9509             : 
    9510           0 : void accparser::Device_num_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9511           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9512           0 :   if (parserListener != nullptr)
    9513           0 :     parserListener->enterDevice_num_clause(this);
    9514           0 : }
    9515             : 
    9516           0 : void accparser::Device_num_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9517           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9518           0 :   if (parserListener != nullptr)
    9519           0 :     parserListener->exitDevice_num_clause(this);
    9520           0 : }
    9521             : 
    9522             : 
    9523           0 : antlrcpp::Any accparser::Device_num_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9524           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9525           0 :     return parserVisitor->visitDevice_num_clause(this);
    9526             :   else
    9527           0 :     return visitor->visitChildren(this);
    9528             : }
    9529             : 
    9530           0 : accparser::Device_num_clauseContext* accparser::device_num_clause() {
    9531           0 :   Device_num_clauseContext *_localctx = _tracker.createInstance<Device_num_clauseContext>(_ctx, getState());
    9532           0 :   enterRule(_localctx, 198, accparser::RuleDevice_num_clause);
    9533             : 
    9534           0 :   auto onExit = finally([=] {
    9535           0 :     exitRule();
    9536           0 :   });
    9537           0 :   try {
    9538           0 :     enterOuterAlt(_localctx, 1);
    9539           0 :     setState(946);
    9540           0 :     match(accparser::DEVICE_NUM);
    9541           0 :     setState(947);
    9542           0 :     match(accparser::LEFT_PAREN);
    9543           0 :     setState(948);
    9544           0 :     int_expr();
    9545           0 :     setState(949);
    9546           0 :     match(accparser::RIGHT_PAREN);
    9547             :    
    9548             :   }
    9549           0 :   catch (RecognitionException &e) {
    9550           0 :     _errHandler->reportError(this, e);
    9551           0 :     _localctx->exception = std::current_exception();
    9552           0 :     _errHandler->recover(this, _localctx->exception);
    9553             :   }
    9554             : 
    9555           0 :   return _localctx;
    9556             : }
    9557             : 
    9558             : //----------------- Device_resident_clauseContext ------------------------------------------------------------------
    9559             : 
    9560           0 : accparser::Device_resident_clauseContext::Device_resident_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9561           0 :   : ParserRuleContext(parent, invokingState) {
    9562           0 : }
    9563             : 
    9564           0 : tree::TerminalNode* accparser::Device_resident_clauseContext::DEVICE_RESIDENT() {
    9565           0 :   return getToken(accparser::DEVICE_RESIDENT, 0);
    9566             : }
    9567             : 
    9568           0 : tree::TerminalNode* accparser::Device_resident_clauseContext::LEFT_PAREN() {
    9569           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9570             : }
    9571             : 
    9572           0 : accparser::Var_listContext* accparser::Device_resident_clauseContext::var_list() {
    9573           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9574             : }
    9575             : 
    9576           0 : tree::TerminalNode* accparser::Device_resident_clauseContext::RIGHT_PAREN() {
    9577           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9578             : }
    9579             : 
    9580             : 
    9581           0 : size_t accparser::Device_resident_clauseContext::getRuleIndex() const {
    9582           0 :   return accparser::RuleDevice_resident_clause;
    9583             : }
    9584             : 
    9585           0 : void accparser::Device_resident_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9586           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9587           0 :   if (parserListener != nullptr)
    9588           0 :     parserListener->enterDevice_resident_clause(this);
    9589           0 : }
    9590             : 
    9591           0 : void accparser::Device_resident_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9592           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9593           0 :   if (parserListener != nullptr)
    9594           0 :     parserListener->exitDevice_resident_clause(this);
    9595           0 : }
    9596             : 
    9597             : 
    9598           0 : antlrcpp::Any accparser::Device_resident_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9599           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9600           0 :     return parserVisitor->visitDevice_resident_clause(this);
    9601             :   else
    9602           0 :     return visitor->visitChildren(this);
    9603             : }
    9604             : 
    9605           0 : accparser::Device_resident_clauseContext* accparser::device_resident_clause() {
    9606           0 :   Device_resident_clauseContext *_localctx = _tracker.createInstance<Device_resident_clauseContext>(_ctx, getState());
    9607           0 :   enterRule(_localctx, 200, accparser::RuleDevice_resident_clause);
    9608             : 
    9609           0 :   auto onExit = finally([=] {
    9610           0 :     exitRule();
    9611           0 :   });
    9612           0 :   try {
    9613           0 :     enterOuterAlt(_localctx, 1);
    9614           0 :     setState(951);
    9615           0 :     match(accparser::DEVICE_RESIDENT);
    9616           0 :     setState(952);
    9617           0 :     match(accparser::LEFT_PAREN);
    9618           0 :     setState(953);
    9619           0 :     var_list();
    9620           0 :     setState(954);
    9621           0 :     match(accparser::RIGHT_PAREN);
    9622             :    
    9623             :   }
    9624           0 :   catch (RecognitionException &e) {
    9625           0 :     _errHandler->reportError(this, e);
    9626           0 :     _localctx->exception = std::current_exception();
    9627           0 :     _errHandler->recover(this, _localctx->exception);
    9628             :   }
    9629             : 
    9630           0 :   return _localctx;
    9631             : }
    9632             : 
    9633             : //----------------- Device_type_clauseContext ------------------------------------------------------------------
    9634             : 
    9635           0 : accparser::Device_type_clauseContext::Device_type_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9636           0 :   : ParserRuleContext(parent, invokingState) {
    9637           0 : }
    9638             : 
    9639           0 : tree::TerminalNode* accparser::Device_type_clauseContext::DEVICE_TYPE() {
    9640           0 :   return getToken(accparser::DEVICE_TYPE, 0);
    9641             : }
    9642             : 
    9643           0 : tree::TerminalNode* accparser::Device_type_clauseContext::LEFT_PAREN() {
    9644           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9645             : }
    9646             : 
    9647           0 : accparser::Device_type_listContext* accparser::Device_type_clauseContext::device_type_list() {
    9648           0 :   return getRuleContext<accparser::Device_type_listContext>(0);
    9649             : }
    9650             : 
    9651           0 : tree::TerminalNode* accparser::Device_type_clauseContext::RIGHT_PAREN() {
    9652           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9653             : }
    9654             : 
    9655             : 
    9656           0 : size_t accparser::Device_type_clauseContext::getRuleIndex() const {
    9657           0 :   return accparser::RuleDevice_type_clause;
    9658             : }
    9659             : 
    9660           0 : void accparser::Device_type_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9661           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9662           0 :   if (parserListener != nullptr)
    9663           0 :     parserListener->enterDevice_type_clause(this);
    9664           0 : }
    9665             : 
    9666           0 : void accparser::Device_type_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9667           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9668           0 :   if (parserListener != nullptr)
    9669           0 :     parserListener->exitDevice_type_clause(this);
    9670           0 : }
    9671             : 
    9672             : 
    9673           0 : antlrcpp::Any accparser::Device_type_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9674           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9675           0 :     return parserVisitor->visitDevice_type_clause(this);
    9676             :   else
    9677           0 :     return visitor->visitChildren(this);
    9678             : }
    9679             : 
    9680           0 : accparser::Device_type_clauseContext* accparser::device_type_clause() {
    9681           0 :   Device_type_clauseContext *_localctx = _tracker.createInstance<Device_type_clauseContext>(_ctx, getState());
    9682           0 :   enterRule(_localctx, 202, accparser::RuleDevice_type_clause);
    9683             : 
    9684           0 :   auto onExit = finally([=] {
    9685           0 :     exitRule();
    9686           0 :   });
    9687           0 :   try {
    9688           0 :     enterOuterAlt(_localctx, 1);
    9689           0 :     setState(956);
    9690           0 :     match(accparser::DEVICE_TYPE);
    9691           0 :     setState(957);
    9692           0 :     match(accparser::LEFT_PAREN);
    9693           0 :     setState(958);
    9694           0 :     device_type_list();
    9695           0 :     setState(959);
    9696           0 :     match(accparser::RIGHT_PAREN);
    9697             :    
    9698             :   }
    9699           0 :   catch (RecognitionException &e) {
    9700           0 :     _errHandler->reportError(this, e);
    9701           0 :     _localctx->exception = std::current_exception();
    9702           0 :     _errHandler->recover(this, _localctx->exception);
    9703             :   }
    9704             : 
    9705           0 :   return _localctx;
    9706             : }
    9707             : 
    9708             : //----------------- Device_type_listContext ------------------------------------------------------------------
    9709             : 
    9710           0 : accparser::Device_type_listContext::Device_type_listContext(ParserRuleContext *parent, size_t invokingState)
    9711           0 :   : ParserRuleContext(parent, invokingState) {
    9712           0 : }
    9713             : 
    9714           0 : std::vector<accparser::VarContext *> accparser::Device_type_listContext::var() {
    9715           0 :   return getRuleContexts<accparser::VarContext>();
    9716             : }
    9717             : 
    9718           0 : accparser::VarContext* accparser::Device_type_listContext::var(size_t i) {
    9719           0 :   return getRuleContext<accparser::VarContext>(i);
    9720             : }
    9721             : 
    9722           0 : std::vector<tree::TerminalNode *> accparser::Device_type_listContext::COMMA() {
    9723           0 :   return getTokens(accparser::COMMA);
    9724             : }
    9725             : 
    9726           0 : tree::TerminalNode* accparser::Device_type_listContext::COMMA(size_t i) {
    9727           0 :   return getToken(accparser::COMMA, i);
    9728             : }
    9729             : 
    9730             : 
    9731           0 : size_t accparser::Device_type_listContext::getRuleIndex() const {
    9732           0 :   return accparser::RuleDevice_type_list;
    9733             : }
    9734             : 
    9735           0 : void accparser::Device_type_listContext::enterRule(tree::ParseTreeListener *listener) {
    9736           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9737           0 :   if (parserListener != nullptr)
    9738           0 :     parserListener->enterDevice_type_list(this);
    9739           0 : }
    9740             : 
    9741           0 : void accparser::Device_type_listContext::exitRule(tree::ParseTreeListener *listener) {
    9742           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9743           0 :   if (parserListener != nullptr)
    9744           0 :     parserListener->exitDevice_type_list(this);
    9745           0 : }
    9746             : 
    9747             : 
    9748           0 : antlrcpp::Any accparser::Device_type_listContext::accept(tree::ParseTreeVisitor *visitor) {
    9749           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9750           0 :     return parserVisitor->visitDevice_type_list(this);
    9751             :   else
    9752           0 :     return visitor->visitChildren(this);
    9753             : }
    9754             : 
    9755           0 : accparser::Device_type_listContext* accparser::device_type_list() {
    9756           0 :   Device_type_listContext *_localctx = _tracker.createInstance<Device_type_listContext>(_ctx, getState());
    9757           0 :   enterRule(_localctx, 204, accparser::RuleDevice_type_list);
    9758           0 :   size_t _la = 0;
    9759             : 
    9760           0 :   auto onExit = finally([=] {
    9761           0 :     exitRule();
    9762           0 :   });
    9763           0 :   try {
    9764           0 :     enterOuterAlt(_localctx, 1);
    9765           0 :     setState(965); 
    9766           0 :     _errHandler->sync(this);
    9767           0 :     _la = _input->LA(1);
    9768           0 :     do {
    9769           0 :       setState(965);
    9770           0 :       _errHandler->sync(this);
    9771           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 48, _ctx)) {
    9772           0 :       case 1: {
    9773           0 :         setState(961);
    9774           0 :         var();
    9775           0 :         setState(962);
    9776           0 :         match(accparser::COMMA);
    9777             :         break;
    9778             :       }
    9779             : 
    9780           0 :       case 2: {
    9781           0 :         setState(964);
    9782           0 :         var();
    9783             :         break;
    9784             :       }
    9785             : 
    9786             :       }
    9787           0 :       setState(967); 
    9788           0 :       _errHandler->sync(this);
    9789           0 :       _la = _input->LA(1);
    9790           0 :     } while (_la == accparser::EXPR);
    9791             :    
    9792             :   }
    9793           0 :   catch (RecognitionException &e) {
    9794           0 :     _errHandler->reportError(this, e);
    9795           0 :     _localctx->exception = std::current_exception();
    9796           0 :     _errHandler->recover(this, _localctx->exception);
    9797             :   }
    9798             : 
    9799           0 :   return _localctx;
    9800             : }
    9801             : 
    9802             : //----------------- Deviceptr_clauseContext ------------------------------------------------------------------
    9803             : 
    9804           0 : accparser::Deviceptr_clauseContext::Deviceptr_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9805           0 :   : ParserRuleContext(parent, invokingState) {
    9806           0 : }
    9807             : 
    9808           0 : tree::TerminalNode* accparser::Deviceptr_clauseContext::DEVICEPTR() {
    9809           0 :   return getToken(accparser::DEVICEPTR, 0);
    9810             : }
    9811             : 
    9812           0 : tree::TerminalNode* accparser::Deviceptr_clauseContext::LEFT_PAREN() {
    9813           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9814             : }
    9815             : 
    9816           0 : accparser::Var_listContext* accparser::Deviceptr_clauseContext::var_list() {
    9817           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9818             : }
    9819             : 
    9820           0 : tree::TerminalNode* accparser::Deviceptr_clauseContext::RIGHT_PAREN() {
    9821           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9822             : }
    9823             : 
    9824             : 
    9825           0 : size_t accparser::Deviceptr_clauseContext::getRuleIndex() const {
    9826           0 :   return accparser::RuleDeviceptr_clause;
    9827             : }
    9828             : 
    9829           0 : void accparser::Deviceptr_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9830           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9831           0 :   if (parserListener != nullptr)
    9832           0 :     parserListener->enterDeviceptr_clause(this);
    9833           0 : }
    9834             : 
    9835           0 : void accparser::Deviceptr_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9836           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9837           0 :   if (parserListener != nullptr)
    9838           0 :     parserListener->exitDeviceptr_clause(this);
    9839           0 : }
    9840             : 
    9841             : 
    9842           0 : antlrcpp::Any accparser::Deviceptr_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9843           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9844           0 :     return parserVisitor->visitDeviceptr_clause(this);
    9845             :   else
    9846           0 :     return visitor->visitChildren(this);
    9847             : }
    9848             : 
    9849           0 : accparser::Deviceptr_clauseContext* accparser::deviceptr_clause() {
    9850           0 :   Deviceptr_clauseContext *_localctx = _tracker.createInstance<Deviceptr_clauseContext>(_ctx, getState());
    9851           0 :   enterRule(_localctx, 206, accparser::RuleDeviceptr_clause);
    9852             : 
    9853           0 :   auto onExit = finally([=] {
    9854           0 :     exitRule();
    9855           0 :   });
    9856           0 :   try {
    9857           0 :     enterOuterAlt(_localctx, 1);
    9858           0 :     setState(969);
    9859           0 :     match(accparser::DEVICEPTR);
    9860           0 :     setState(970);
    9861           0 :     match(accparser::LEFT_PAREN);
    9862           0 :     setState(971);
    9863           0 :     var_list();
    9864           0 :     setState(972);
    9865           0 :     match(accparser::RIGHT_PAREN);
    9866             :    
    9867             :   }
    9868           0 :   catch (RecognitionException &e) {
    9869           0 :     _errHandler->reportError(this, e);
    9870           0 :     _localctx->exception = std::current_exception();
    9871           0 :     _errHandler->recover(this, _localctx->exception);
    9872             :   }
    9873             : 
    9874           0 :   return _localctx;
    9875             : }
    9876             : 
    9877             : //----------------- Finalize_clauseContext ------------------------------------------------------------------
    9878             : 
    9879           0 : accparser::Finalize_clauseContext::Finalize_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9880           0 :   : ParserRuleContext(parent, invokingState) {
    9881           0 : }
    9882             : 
    9883           0 : tree::TerminalNode* accparser::Finalize_clauseContext::FINALIZE() {
    9884           0 :   return getToken(accparser::FINALIZE, 0);
    9885             : }
    9886             : 
    9887             : 
    9888           0 : size_t accparser::Finalize_clauseContext::getRuleIndex() const {
    9889           0 :   return accparser::RuleFinalize_clause;
    9890             : }
    9891             : 
    9892           0 : void accparser::Finalize_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9893           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9894           0 :   if (parserListener != nullptr)
    9895           0 :     parserListener->enterFinalize_clause(this);
    9896           0 : }
    9897             : 
    9898           0 : void accparser::Finalize_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9899           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9900           0 :   if (parserListener != nullptr)
    9901           0 :     parserListener->exitFinalize_clause(this);
    9902           0 : }
    9903             : 
    9904             : 
    9905           0 : antlrcpp::Any accparser::Finalize_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9906           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9907           0 :     return parserVisitor->visitFinalize_clause(this);
    9908             :   else
    9909           0 :     return visitor->visitChildren(this);
    9910             : }
    9911             : 
    9912           0 : accparser::Finalize_clauseContext* accparser::finalize_clause() {
    9913           0 :   Finalize_clauseContext *_localctx = _tracker.createInstance<Finalize_clauseContext>(_ctx, getState());
    9914           0 :   enterRule(_localctx, 208, accparser::RuleFinalize_clause);
    9915             : 
    9916           0 :   auto onExit = finally([=] {
    9917           0 :     exitRule();
    9918           0 :   });
    9919           0 :   try {
    9920           0 :     enterOuterAlt(_localctx, 1);
    9921           0 :     setState(974);
    9922           0 :     match(accparser::FINALIZE);
    9923             :    
    9924             :   }
    9925           0 :   catch (RecognitionException &e) {
    9926           0 :     _errHandler->reportError(this, e);
    9927           0 :     _localctx->exception = std::current_exception();
    9928           0 :     _errHandler->recover(this, _localctx->exception);
    9929             :   }
    9930             : 
    9931           0 :   return _localctx;
    9932             : }
    9933             : 
    9934             : //----------------- Firstprivate_clauseContext ------------------------------------------------------------------
    9935             : 
    9936           0 : accparser::Firstprivate_clauseContext::Firstprivate_clauseContext(ParserRuleContext *parent, size_t invokingState)
    9937           0 :   : ParserRuleContext(parent, invokingState) {
    9938           0 : }
    9939             : 
    9940           0 : tree::TerminalNode* accparser::Firstprivate_clauseContext::FIRSTPRIVATE() {
    9941           0 :   return getToken(accparser::FIRSTPRIVATE, 0);
    9942             : }
    9943             : 
    9944           0 : tree::TerminalNode* accparser::Firstprivate_clauseContext::LEFT_PAREN() {
    9945           0 :   return getToken(accparser::LEFT_PAREN, 0);
    9946             : }
    9947             : 
    9948           0 : accparser::Var_listContext* accparser::Firstprivate_clauseContext::var_list() {
    9949           0 :   return getRuleContext<accparser::Var_listContext>(0);
    9950             : }
    9951             : 
    9952           0 : tree::TerminalNode* accparser::Firstprivate_clauseContext::RIGHT_PAREN() {
    9953           0 :   return getToken(accparser::RIGHT_PAREN, 0);
    9954             : }
    9955             : 
    9956             : 
    9957           0 : size_t accparser::Firstprivate_clauseContext::getRuleIndex() const {
    9958           0 :   return accparser::RuleFirstprivate_clause;
    9959             : }
    9960             : 
    9961           0 : void accparser::Firstprivate_clauseContext::enterRule(tree::ParseTreeListener *listener) {
    9962           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9963           0 :   if (parserListener != nullptr)
    9964           0 :     parserListener->enterFirstprivate_clause(this);
    9965           0 : }
    9966             : 
    9967           0 : void accparser::Firstprivate_clauseContext::exitRule(tree::ParseTreeListener *listener) {
    9968           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
    9969           0 :   if (parserListener != nullptr)
    9970           0 :     parserListener->exitFirstprivate_clause(this);
    9971           0 : }
    9972             : 
    9973             : 
    9974           0 : antlrcpp::Any accparser::Firstprivate_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
    9975           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
    9976           0 :     return parserVisitor->visitFirstprivate_clause(this);
    9977             :   else
    9978           0 :     return visitor->visitChildren(this);
    9979             : }
    9980             : 
    9981           0 : accparser::Firstprivate_clauseContext* accparser::firstprivate_clause() {
    9982           0 :   Firstprivate_clauseContext *_localctx = _tracker.createInstance<Firstprivate_clauseContext>(_ctx, getState());
    9983           0 :   enterRule(_localctx, 210, accparser::RuleFirstprivate_clause);
    9984             : 
    9985           0 :   auto onExit = finally([=] {
    9986           0 :     exitRule();
    9987           0 :   });
    9988           0 :   try {
    9989           0 :     enterOuterAlt(_localctx, 1);
    9990           0 :     setState(976);
    9991           0 :     match(accparser::FIRSTPRIVATE);
    9992           0 :     setState(977);
    9993           0 :     match(accparser::LEFT_PAREN);
    9994           0 :     setState(978);
    9995           0 :     var_list();
    9996           0 :     setState(979);
    9997           0 :     match(accparser::RIGHT_PAREN);
    9998             :    
    9999             :   }
   10000           0 :   catch (RecognitionException &e) {
   10001           0 :     _errHandler->reportError(this, e);
   10002           0 :     _localctx->exception = std::current_exception();
   10003           0 :     _errHandler->recover(this, _localctx->exception);
   10004             :   }
   10005             : 
   10006           0 :   return _localctx;
   10007             : }
   10008             : 
   10009             : //----------------- Gang_clauseContext ------------------------------------------------------------------
   10010             : 
   10011           0 : accparser::Gang_clauseContext::Gang_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10012           0 :   : ParserRuleContext(parent, invokingState) {
   10013           0 : }
   10014             : 
   10015           0 : tree::TerminalNode* accparser::Gang_clauseContext::GANG() {
   10016           0 :   return getToken(accparser::GANG, 0);
   10017             : }
   10018             : 
   10019           0 : tree::TerminalNode* accparser::Gang_clauseContext::LEFT_PAREN() {
   10020           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10021             : }
   10022             : 
   10023           0 : accparser::Gang_arg_listContext* accparser::Gang_clauseContext::gang_arg_list() {
   10024           0 :   return getRuleContext<accparser::Gang_arg_listContext>(0);
   10025             : }
   10026             : 
   10027           0 : tree::TerminalNode* accparser::Gang_clauseContext::RIGHT_PAREN() {
   10028           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10029             : }
   10030             : 
   10031             : 
   10032           0 : size_t accparser::Gang_clauseContext::getRuleIndex() const {
   10033           0 :   return accparser::RuleGang_clause;
   10034             : }
   10035             : 
   10036           0 : void accparser::Gang_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10037           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10038           0 :   if (parserListener != nullptr)
   10039           0 :     parserListener->enterGang_clause(this);
   10040           0 : }
   10041             : 
   10042           0 : void accparser::Gang_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10043           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10044           0 :   if (parserListener != nullptr)
   10045           0 :     parserListener->exitGang_clause(this);
   10046           0 : }
   10047             : 
   10048             : 
   10049           0 : antlrcpp::Any accparser::Gang_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10050           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10051           0 :     return parserVisitor->visitGang_clause(this);
   10052             :   else
   10053           0 :     return visitor->visitChildren(this);
   10054             : }
   10055             : 
   10056           0 : accparser::Gang_clauseContext* accparser::gang_clause() {
   10057           0 :   Gang_clauseContext *_localctx = _tracker.createInstance<Gang_clauseContext>(_ctx, getState());
   10058           0 :   enterRule(_localctx, 212, accparser::RuleGang_clause);
   10059             : 
   10060           0 :   auto onExit = finally([=] {
   10061           0 :     exitRule();
   10062           0 :   });
   10063           0 :   try {
   10064           0 :     setState(987);
   10065           0 :     _errHandler->sync(this);
   10066           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 50, _ctx)) {
   10067           0 :     case 1: {
   10068           0 :       enterOuterAlt(_localctx, 1);
   10069           0 :       setState(981);
   10070           0 :       match(accparser::GANG);
   10071             :       break;
   10072             :     }
   10073             : 
   10074           0 :     case 2: {
   10075           0 :       enterOuterAlt(_localctx, 2);
   10076           0 :       setState(982);
   10077           0 :       match(accparser::GANG);
   10078           0 :       setState(983);
   10079           0 :       match(accparser::LEFT_PAREN);
   10080           0 :       setState(984);
   10081           0 :       gang_arg_list();
   10082           0 :       setState(985);
   10083           0 :       match(accparser::RIGHT_PAREN);
   10084             :       break;
   10085             :     }
   10086             : 
   10087             :     }
   10088             :    
   10089             :   }
   10090           0 :   catch (RecognitionException &e) {
   10091           0 :     _errHandler->reportError(this, e);
   10092           0 :     _localctx->exception = std::current_exception();
   10093           0 :     _errHandler->recover(this, _localctx->exception);
   10094             :   }
   10095             : 
   10096           0 :   return _localctx;
   10097             : }
   10098             : 
   10099             : //----------------- Gang_arg_listContext ------------------------------------------------------------------
   10100             : 
   10101           0 : accparser::Gang_arg_listContext::Gang_arg_listContext(ParserRuleContext *parent, size_t invokingState)
   10102           0 :   : ParserRuleContext(parent, invokingState) {
   10103           0 : }
   10104             : 
   10105           0 : std::vector<accparser::VarContext *> accparser::Gang_arg_listContext::var() {
   10106           0 :   return getRuleContexts<accparser::VarContext>();
   10107             : }
   10108             : 
   10109           0 : accparser::VarContext* accparser::Gang_arg_listContext::var(size_t i) {
   10110           0 :   return getRuleContext<accparser::VarContext>(i);
   10111             : }
   10112             : 
   10113           0 : std::vector<tree::TerminalNode *> accparser::Gang_arg_listContext::COMMA() {
   10114           0 :   return getTokens(accparser::COMMA);
   10115             : }
   10116             : 
   10117           0 : tree::TerminalNode* accparser::Gang_arg_listContext::COMMA(size_t i) {
   10118           0 :   return getToken(accparser::COMMA, i);
   10119             : }
   10120             : 
   10121             : 
   10122           0 : size_t accparser::Gang_arg_listContext::getRuleIndex() const {
   10123           0 :   return accparser::RuleGang_arg_list;
   10124             : }
   10125             : 
   10126           0 : void accparser::Gang_arg_listContext::enterRule(tree::ParseTreeListener *listener) {
   10127           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10128           0 :   if (parserListener != nullptr)
   10129           0 :     parserListener->enterGang_arg_list(this);
   10130           0 : }
   10131             : 
   10132           0 : void accparser::Gang_arg_listContext::exitRule(tree::ParseTreeListener *listener) {
   10133           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10134           0 :   if (parserListener != nullptr)
   10135           0 :     parserListener->exitGang_arg_list(this);
   10136           0 : }
   10137             : 
   10138             : 
   10139           0 : antlrcpp::Any accparser::Gang_arg_listContext::accept(tree::ParseTreeVisitor *visitor) {
   10140           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10141           0 :     return parserVisitor->visitGang_arg_list(this);
   10142             :   else
   10143           0 :     return visitor->visitChildren(this);
   10144             : }
   10145             : 
   10146           0 : accparser::Gang_arg_listContext* accparser::gang_arg_list() {
   10147           0 :   Gang_arg_listContext *_localctx = _tracker.createInstance<Gang_arg_listContext>(_ctx, getState());
   10148           0 :   enterRule(_localctx, 214, accparser::RuleGang_arg_list);
   10149           0 :   size_t _la = 0;
   10150             : 
   10151           0 :   auto onExit = finally([=] {
   10152           0 :     exitRule();
   10153           0 :   });
   10154           0 :   try {
   10155           0 :     enterOuterAlt(_localctx, 1);
   10156           0 :     setState(993); 
   10157           0 :     _errHandler->sync(this);
   10158           0 :     _la = _input->LA(1);
   10159           0 :     do {
   10160           0 :       setState(993);
   10161           0 :       _errHandler->sync(this);
   10162           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 51, _ctx)) {
   10163           0 :       case 1: {
   10164           0 :         setState(989);
   10165           0 :         var();
   10166           0 :         setState(990);
   10167           0 :         match(accparser::COMMA);
   10168             :         break;
   10169             :       }
   10170             : 
   10171           0 :       case 2: {
   10172           0 :         setState(992);
   10173           0 :         var();
   10174             :         break;
   10175             :       }
   10176             : 
   10177             :       }
   10178           0 :       setState(995); 
   10179           0 :       _errHandler->sync(this);
   10180           0 :       _la = _input->LA(1);
   10181           0 :     } while (_la == accparser::EXPR);
   10182             :    
   10183             :   }
   10184           0 :   catch (RecognitionException &e) {
   10185           0 :     _errHandler->reportError(this, e);
   10186           0 :     _localctx->exception = std::current_exception();
   10187           0 :     _errHandler->recover(this, _localctx->exception);
   10188             :   }
   10189             : 
   10190           0 :   return _localctx;
   10191             : }
   10192             : 
   10193             : //----------------- Gang_no_list_clauseContext ------------------------------------------------------------------
   10194             : 
   10195           0 : accparser::Gang_no_list_clauseContext::Gang_no_list_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10196           0 :   : ParserRuleContext(parent, invokingState) {
   10197           0 : }
   10198             : 
   10199           0 : tree::TerminalNode* accparser::Gang_no_list_clauseContext::GANG() {
   10200           0 :   return getToken(accparser::GANG, 0);
   10201             : }
   10202             : 
   10203             : 
   10204           0 : size_t accparser::Gang_no_list_clauseContext::getRuleIndex() const {
   10205           0 :   return accparser::RuleGang_no_list_clause;
   10206             : }
   10207             : 
   10208           0 : void accparser::Gang_no_list_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10209           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10210           0 :   if (parserListener != nullptr)
   10211           0 :     parserListener->enterGang_no_list_clause(this);
   10212           0 : }
   10213             : 
   10214           0 : void accparser::Gang_no_list_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10215           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10216           0 :   if (parserListener != nullptr)
   10217           0 :     parserListener->exitGang_no_list_clause(this);
   10218           0 : }
   10219             : 
   10220             : 
   10221           0 : antlrcpp::Any accparser::Gang_no_list_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10222           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10223           0 :     return parserVisitor->visitGang_no_list_clause(this);
   10224             :   else
   10225           0 :     return visitor->visitChildren(this);
   10226             : }
   10227             : 
   10228           0 : accparser::Gang_no_list_clauseContext* accparser::gang_no_list_clause() {
   10229           0 :   Gang_no_list_clauseContext *_localctx = _tracker.createInstance<Gang_no_list_clauseContext>(_ctx, getState());
   10230           0 :   enterRule(_localctx, 216, accparser::RuleGang_no_list_clause);
   10231             : 
   10232           0 :   auto onExit = finally([=] {
   10233           0 :     exitRule();
   10234           0 :   });
   10235           0 :   try {
   10236           0 :     enterOuterAlt(_localctx, 1);
   10237           0 :     setState(997);
   10238           0 :     match(accparser::GANG);
   10239             :    
   10240             :   }
   10241           0 :   catch (RecognitionException &e) {
   10242           0 :     _errHandler->reportError(this, e);
   10243           0 :     _localctx->exception = std::current_exception();
   10244           0 :     _errHandler->recover(this, _localctx->exception);
   10245             :   }
   10246             : 
   10247           0 :   return _localctx;
   10248             : }
   10249             : 
   10250             : //----------------- Host_clauseContext ------------------------------------------------------------------
   10251             : 
   10252           0 : accparser::Host_clauseContext::Host_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10253           0 :   : ParserRuleContext(parent, invokingState) {
   10254           0 : }
   10255             : 
   10256           0 : tree::TerminalNode* accparser::Host_clauseContext::HOST() {
   10257           0 :   return getToken(accparser::HOST, 0);
   10258             : }
   10259             : 
   10260           0 : tree::TerminalNode* accparser::Host_clauseContext::LEFT_PAREN() {
   10261           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10262             : }
   10263             : 
   10264           0 : accparser::Var_listContext* accparser::Host_clauseContext::var_list() {
   10265           0 :   return getRuleContext<accparser::Var_listContext>(0);
   10266             : }
   10267             : 
   10268           0 : tree::TerminalNode* accparser::Host_clauseContext::RIGHT_PAREN() {
   10269           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10270             : }
   10271             : 
   10272             : 
   10273           0 : size_t accparser::Host_clauseContext::getRuleIndex() const {
   10274           0 :   return accparser::RuleHost_clause;
   10275             : }
   10276             : 
   10277           0 : void accparser::Host_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10278           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10279           0 :   if (parserListener != nullptr)
   10280           0 :     parserListener->enterHost_clause(this);
   10281           0 : }
   10282             : 
   10283           0 : void accparser::Host_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10284           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10285           0 :   if (parserListener != nullptr)
   10286           0 :     parserListener->exitHost_clause(this);
   10287           0 : }
   10288             : 
   10289             : 
   10290           0 : antlrcpp::Any accparser::Host_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10291           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10292           0 :     return parserVisitor->visitHost_clause(this);
   10293             :   else
   10294           0 :     return visitor->visitChildren(this);
   10295             : }
   10296             : 
   10297           0 : accparser::Host_clauseContext* accparser::host_clause() {
   10298           0 :   Host_clauseContext *_localctx = _tracker.createInstance<Host_clauseContext>(_ctx, getState());
   10299           0 :   enterRule(_localctx, 218, accparser::RuleHost_clause);
   10300             : 
   10301           0 :   auto onExit = finally([=] {
   10302           0 :     exitRule();
   10303           0 :   });
   10304           0 :   try {
   10305           0 :     enterOuterAlt(_localctx, 1);
   10306           0 :     setState(999);
   10307           0 :     match(accparser::HOST);
   10308           0 :     setState(1000);
   10309           0 :     match(accparser::LEFT_PAREN);
   10310           0 :     setState(1001);
   10311           0 :     var_list();
   10312           0 :     setState(1002);
   10313           0 :     match(accparser::RIGHT_PAREN);
   10314             :    
   10315             :   }
   10316           0 :   catch (RecognitionException &e) {
   10317           0 :     _errHandler->reportError(this, e);
   10318           0 :     _localctx->exception = std::current_exception();
   10319           0 :     _errHandler->recover(this, _localctx->exception);
   10320             :   }
   10321             : 
   10322           0 :   return _localctx;
   10323             : }
   10324             : 
   10325             : //----------------- If_clauseContext ------------------------------------------------------------------
   10326             : 
   10327           0 : accparser::If_clauseContext::If_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10328           0 :   : ParserRuleContext(parent, invokingState) {
   10329           0 : }
   10330             : 
   10331           0 : tree::TerminalNode* accparser::If_clauseContext::IF() {
   10332           0 :   return getToken(accparser::IF, 0);
   10333             : }
   10334             : 
   10335           0 : tree::TerminalNode* accparser::If_clauseContext::LEFT_PAREN() {
   10336           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10337             : }
   10338             : 
   10339           0 : accparser::ConditionContext* accparser::If_clauseContext::condition() {
   10340           0 :   return getRuleContext<accparser::ConditionContext>(0);
   10341             : }
   10342             : 
   10343           0 : tree::TerminalNode* accparser::If_clauseContext::RIGHT_PAREN() {
   10344           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10345             : }
   10346             : 
   10347             : 
   10348           0 : size_t accparser::If_clauseContext::getRuleIndex() const {
   10349           0 :   return accparser::RuleIf_clause;
   10350             : }
   10351             : 
   10352           0 : void accparser::If_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10353           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10354           0 :   if (parserListener != nullptr)
   10355           0 :     parserListener->enterIf_clause(this);
   10356           0 : }
   10357             : 
   10358           0 : void accparser::If_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10359           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10360           0 :   if (parserListener != nullptr)
   10361           0 :     parserListener->exitIf_clause(this);
   10362           0 : }
   10363             : 
   10364             : 
   10365           0 : antlrcpp::Any accparser::If_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10366           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10367           0 :     return parserVisitor->visitIf_clause(this);
   10368             :   else
   10369           0 :     return visitor->visitChildren(this);
   10370             : }
   10371             : 
   10372           0 : accparser::If_clauseContext* accparser::if_clause() {
   10373           0 :   If_clauseContext *_localctx = _tracker.createInstance<If_clauseContext>(_ctx, getState());
   10374           0 :   enterRule(_localctx, 220, accparser::RuleIf_clause);
   10375             : 
   10376           0 :   auto onExit = finally([=] {
   10377           0 :     exitRule();
   10378           0 :   });
   10379           0 :   try {
   10380           0 :     enterOuterAlt(_localctx, 1);
   10381           0 :     setState(1004);
   10382           0 :     match(accparser::IF);
   10383           0 :     setState(1005);
   10384           0 :     match(accparser::LEFT_PAREN);
   10385           0 :     setState(1006);
   10386           0 :     condition();
   10387           0 :     setState(1007);
   10388           0 :     match(accparser::RIGHT_PAREN);
   10389             :    
   10390             :   }
   10391           0 :   catch (RecognitionException &e) {
   10392           0 :     _errHandler->reportError(this, e);
   10393           0 :     _localctx->exception = std::current_exception();
   10394           0 :     _errHandler->recover(this, _localctx->exception);
   10395             :   }
   10396             : 
   10397           0 :   return _localctx;
   10398             : }
   10399             : 
   10400             : //----------------- If_present_clauseContext ------------------------------------------------------------------
   10401             : 
   10402           0 : accparser::If_present_clauseContext::If_present_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10403           0 :   : ParserRuleContext(parent, invokingState) {
   10404           0 : }
   10405             : 
   10406           0 : tree::TerminalNode* accparser::If_present_clauseContext::IF_PRESENT() {
   10407           0 :   return getToken(accparser::IF_PRESENT, 0);
   10408             : }
   10409             : 
   10410             : 
   10411           0 : size_t accparser::If_present_clauseContext::getRuleIndex() const {
   10412           0 :   return accparser::RuleIf_present_clause;
   10413             : }
   10414             : 
   10415           0 : void accparser::If_present_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10416           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10417           0 :   if (parserListener != nullptr)
   10418           0 :     parserListener->enterIf_present_clause(this);
   10419           0 : }
   10420             : 
   10421           0 : void accparser::If_present_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10422           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10423           0 :   if (parserListener != nullptr)
   10424           0 :     parserListener->exitIf_present_clause(this);
   10425           0 : }
   10426             : 
   10427             : 
   10428           0 : antlrcpp::Any accparser::If_present_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10429           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10430           0 :     return parserVisitor->visitIf_present_clause(this);
   10431             :   else
   10432           0 :     return visitor->visitChildren(this);
   10433             : }
   10434             : 
   10435           0 : accparser::If_present_clauseContext* accparser::if_present_clause() {
   10436           0 :   If_present_clauseContext *_localctx = _tracker.createInstance<If_present_clauseContext>(_ctx, getState());
   10437           0 :   enterRule(_localctx, 222, accparser::RuleIf_present_clause);
   10438             : 
   10439           0 :   auto onExit = finally([=] {
   10440           0 :     exitRule();
   10441           0 :   });
   10442           0 :   try {
   10443           0 :     enterOuterAlt(_localctx, 1);
   10444           0 :     setState(1009);
   10445           0 :     match(accparser::IF_PRESENT);
   10446             :    
   10447             :   }
   10448           0 :   catch (RecognitionException &e) {
   10449           0 :     _errHandler->reportError(this, e);
   10450           0 :     _localctx->exception = std::current_exception();
   10451           0 :     _errHandler->recover(this, _localctx->exception);
   10452             :   }
   10453             : 
   10454           0 :   return _localctx;
   10455             : }
   10456             : 
   10457             : //----------------- Independent_clauseContext ------------------------------------------------------------------
   10458             : 
   10459           0 : accparser::Independent_clauseContext::Independent_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10460           0 :   : ParserRuleContext(parent, invokingState) {
   10461           0 : }
   10462             : 
   10463           0 : tree::TerminalNode* accparser::Independent_clauseContext::INDEPENDENT() {
   10464           0 :   return getToken(accparser::INDEPENDENT, 0);
   10465             : }
   10466             : 
   10467             : 
   10468           0 : size_t accparser::Independent_clauseContext::getRuleIndex() const {
   10469           0 :   return accparser::RuleIndependent_clause;
   10470             : }
   10471             : 
   10472           0 : void accparser::Independent_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10473           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10474           0 :   if (parserListener != nullptr)
   10475           0 :     parserListener->enterIndependent_clause(this);
   10476           0 : }
   10477             : 
   10478           0 : void accparser::Independent_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10479           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10480           0 :   if (parserListener != nullptr)
   10481           0 :     parserListener->exitIndependent_clause(this);
   10482           0 : }
   10483             : 
   10484             : 
   10485           0 : antlrcpp::Any accparser::Independent_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10486           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10487           0 :     return parserVisitor->visitIndependent_clause(this);
   10488             :   else
   10489           0 :     return visitor->visitChildren(this);
   10490             : }
   10491             : 
   10492           0 : accparser::Independent_clauseContext* accparser::independent_clause() {
   10493           0 :   Independent_clauseContext *_localctx = _tracker.createInstance<Independent_clauseContext>(_ctx, getState());
   10494           0 :   enterRule(_localctx, 224, accparser::RuleIndependent_clause);
   10495             : 
   10496           0 :   auto onExit = finally([=] {
   10497           0 :     exitRule();
   10498           0 :   });
   10499           0 :   try {
   10500           0 :     enterOuterAlt(_localctx, 1);
   10501           0 :     setState(1011);
   10502           0 :     match(accparser::INDEPENDENT);
   10503             :    
   10504             :   }
   10505           0 :   catch (RecognitionException &e) {
   10506           0 :     _errHandler->reportError(this, e);
   10507           0 :     _localctx->exception = std::current_exception();
   10508           0 :     _errHandler->recover(this, _localctx->exception);
   10509             :   }
   10510             : 
   10511           0 :   return _localctx;
   10512             : }
   10513             : 
   10514             : //----------------- Link_clauseContext ------------------------------------------------------------------
   10515             : 
   10516           0 : accparser::Link_clauseContext::Link_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10517           0 :   : ParserRuleContext(parent, invokingState) {
   10518           0 : }
   10519             : 
   10520           0 : tree::TerminalNode* accparser::Link_clauseContext::LINK() {
   10521           0 :   return getToken(accparser::LINK, 0);
   10522             : }
   10523             : 
   10524           0 : tree::TerminalNode* accparser::Link_clauseContext::LEFT_PAREN() {
   10525           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10526             : }
   10527             : 
   10528           0 : accparser::Var_listContext* accparser::Link_clauseContext::var_list() {
   10529           0 :   return getRuleContext<accparser::Var_listContext>(0);
   10530             : }
   10531             : 
   10532           0 : tree::TerminalNode* accparser::Link_clauseContext::RIGHT_PAREN() {
   10533           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10534             : }
   10535             : 
   10536             : 
   10537           0 : size_t accparser::Link_clauseContext::getRuleIndex() const {
   10538           0 :   return accparser::RuleLink_clause;
   10539             : }
   10540             : 
   10541           0 : void accparser::Link_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10542           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10543           0 :   if (parserListener != nullptr)
   10544           0 :     parserListener->enterLink_clause(this);
   10545           0 : }
   10546             : 
   10547           0 : void accparser::Link_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10548           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10549           0 :   if (parserListener != nullptr)
   10550           0 :     parserListener->exitLink_clause(this);
   10551           0 : }
   10552             : 
   10553             : 
   10554           0 : antlrcpp::Any accparser::Link_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10555           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10556           0 :     return parserVisitor->visitLink_clause(this);
   10557             :   else
   10558           0 :     return visitor->visitChildren(this);
   10559             : }
   10560             : 
   10561           0 : accparser::Link_clauseContext* accparser::link_clause() {
   10562           0 :   Link_clauseContext *_localctx = _tracker.createInstance<Link_clauseContext>(_ctx, getState());
   10563           0 :   enterRule(_localctx, 226, accparser::RuleLink_clause);
   10564             : 
   10565           0 :   auto onExit = finally([=] {
   10566           0 :     exitRule();
   10567           0 :   });
   10568           0 :   try {
   10569           0 :     enterOuterAlt(_localctx, 1);
   10570           0 :     setState(1013);
   10571           0 :     match(accparser::LINK);
   10572           0 :     setState(1014);
   10573           0 :     match(accparser::LEFT_PAREN);
   10574           0 :     setState(1015);
   10575           0 :     var_list();
   10576           0 :     setState(1016);
   10577           0 :     match(accparser::RIGHT_PAREN);
   10578             :    
   10579             :   }
   10580           0 :   catch (RecognitionException &e) {
   10581           0 :     _errHandler->reportError(this, e);
   10582           0 :     _localctx->exception = std::current_exception();
   10583           0 :     _errHandler->recover(this, _localctx->exception);
   10584             :   }
   10585             : 
   10586           0 :   return _localctx;
   10587             : }
   10588             : 
   10589             : //----------------- Nohost_clauseContext ------------------------------------------------------------------
   10590             : 
   10591           0 : accparser::Nohost_clauseContext::Nohost_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10592           0 :   : ParserRuleContext(parent, invokingState) {
   10593           0 : }
   10594             : 
   10595           0 : tree::TerminalNode* accparser::Nohost_clauseContext::NOHOST() {
   10596           0 :   return getToken(accparser::NOHOST, 0);
   10597             : }
   10598             : 
   10599             : 
   10600           0 : size_t accparser::Nohost_clauseContext::getRuleIndex() const {
   10601           0 :   return accparser::RuleNohost_clause;
   10602             : }
   10603             : 
   10604           0 : void accparser::Nohost_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10605           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10606           0 :   if (parserListener != nullptr)
   10607           0 :     parserListener->enterNohost_clause(this);
   10608           0 : }
   10609             : 
   10610           0 : void accparser::Nohost_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10611           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10612           0 :   if (parserListener != nullptr)
   10613           0 :     parserListener->exitNohost_clause(this);
   10614           0 : }
   10615             : 
   10616             : 
   10617           0 : antlrcpp::Any accparser::Nohost_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10618           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10619           0 :     return parserVisitor->visitNohost_clause(this);
   10620             :   else
   10621           0 :     return visitor->visitChildren(this);
   10622             : }
   10623             : 
   10624           0 : accparser::Nohost_clauseContext* accparser::nohost_clause() {
   10625           0 :   Nohost_clauseContext *_localctx = _tracker.createInstance<Nohost_clauseContext>(_ctx, getState());
   10626           0 :   enterRule(_localctx, 228, accparser::RuleNohost_clause);
   10627             : 
   10628           0 :   auto onExit = finally([=] {
   10629           0 :     exitRule();
   10630           0 :   });
   10631           0 :   try {
   10632           0 :     enterOuterAlt(_localctx, 1);
   10633           0 :     setState(1018);
   10634           0 :     match(accparser::NOHOST);
   10635             :    
   10636             :   }
   10637           0 :   catch (RecognitionException &e) {
   10638           0 :     _errHandler->reportError(this, e);
   10639           0 :     _localctx->exception = std::current_exception();
   10640           0 :     _errHandler->recover(this, _localctx->exception);
   10641             :   }
   10642             : 
   10643           0 :   return _localctx;
   10644             : }
   10645             : 
   10646             : //----------------- No_create_clauseContext ------------------------------------------------------------------
   10647             : 
   10648           0 : accparser::No_create_clauseContext::No_create_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10649           0 :   : ParserRuleContext(parent, invokingState) {
   10650           0 : }
   10651             : 
   10652           0 : tree::TerminalNode* accparser::No_create_clauseContext::NO_CREATE() {
   10653           0 :   return getToken(accparser::NO_CREATE, 0);
   10654             : }
   10655             : 
   10656           0 : tree::TerminalNode* accparser::No_create_clauseContext::LEFT_PAREN() {
   10657           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10658             : }
   10659             : 
   10660           0 : accparser::Var_listContext* accparser::No_create_clauseContext::var_list() {
   10661           0 :   return getRuleContext<accparser::Var_listContext>(0);
   10662             : }
   10663             : 
   10664           0 : tree::TerminalNode* accparser::No_create_clauseContext::RIGHT_PAREN() {
   10665           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10666             : }
   10667             : 
   10668             : 
   10669           0 : size_t accparser::No_create_clauseContext::getRuleIndex() const {
   10670           0 :   return accparser::RuleNo_create_clause;
   10671             : }
   10672             : 
   10673           0 : void accparser::No_create_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10674           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10675           0 :   if (parserListener != nullptr)
   10676           0 :     parserListener->enterNo_create_clause(this);
   10677           0 : }
   10678             : 
   10679           0 : void accparser::No_create_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10680           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10681           0 :   if (parserListener != nullptr)
   10682           0 :     parserListener->exitNo_create_clause(this);
   10683           0 : }
   10684             : 
   10685             : 
   10686           0 : antlrcpp::Any accparser::No_create_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10687           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10688           0 :     return parserVisitor->visitNo_create_clause(this);
   10689             :   else
   10690           0 :     return visitor->visitChildren(this);
   10691             : }
   10692             : 
   10693           0 : accparser::No_create_clauseContext* accparser::no_create_clause() {
   10694           0 :   No_create_clauseContext *_localctx = _tracker.createInstance<No_create_clauseContext>(_ctx, getState());
   10695           0 :   enterRule(_localctx, 230, accparser::RuleNo_create_clause);
   10696             : 
   10697           0 :   auto onExit = finally([=] {
   10698           0 :     exitRule();
   10699           0 :   });
   10700           0 :   try {
   10701           0 :     enterOuterAlt(_localctx, 1);
   10702           0 :     setState(1020);
   10703           0 :     match(accparser::NO_CREATE);
   10704           0 :     setState(1021);
   10705           0 :     match(accparser::LEFT_PAREN);
   10706           0 :     setState(1022);
   10707           0 :     var_list();
   10708           0 :     setState(1023);
   10709           0 :     match(accparser::RIGHT_PAREN);
   10710             :    
   10711             :   }
   10712           0 :   catch (RecognitionException &e) {
   10713           0 :     _errHandler->reportError(this, e);
   10714           0 :     _localctx->exception = std::current_exception();
   10715           0 :     _errHandler->recover(this, _localctx->exception);
   10716             :   }
   10717             : 
   10718           0 :   return _localctx;
   10719             : }
   10720             : 
   10721             : //----------------- Num_gangs_clauseContext ------------------------------------------------------------------
   10722             : 
   10723           0 : accparser::Num_gangs_clauseContext::Num_gangs_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10724           0 :   : ParserRuleContext(parent, invokingState) {
   10725           0 : }
   10726             : 
   10727           0 : tree::TerminalNode* accparser::Num_gangs_clauseContext::NUM_GANGS() {
   10728           0 :   return getToken(accparser::NUM_GANGS, 0);
   10729             : }
   10730             : 
   10731           0 : tree::TerminalNode* accparser::Num_gangs_clauseContext::LEFT_PAREN() {
   10732           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10733             : }
   10734             : 
   10735           0 : accparser::Int_exprContext* accparser::Num_gangs_clauseContext::int_expr() {
   10736           0 :   return getRuleContext<accparser::Int_exprContext>(0);
   10737             : }
   10738             : 
   10739           0 : tree::TerminalNode* accparser::Num_gangs_clauseContext::RIGHT_PAREN() {
   10740           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10741             : }
   10742             : 
   10743             : 
   10744           0 : size_t accparser::Num_gangs_clauseContext::getRuleIndex() const {
   10745           0 :   return accparser::RuleNum_gangs_clause;
   10746             : }
   10747             : 
   10748           0 : void accparser::Num_gangs_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10749           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10750           0 :   if (parserListener != nullptr)
   10751           0 :     parserListener->enterNum_gangs_clause(this);
   10752           0 : }
   10753             : 
   10754           0 : void accparser::Num_gangs_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10755           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10756           0 :   if (parserListener != nullptr)
   10757           0 :     parserListener->exitNum_gangs_clause(this);
   10758           0 : }
   10759             : 
   10760             : 
   10761           0 : antlrcpp::Any accparser::Num_gangs_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10762           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10763           0 :     return parserVisitor->visitNum_gangs_clause(this);
   10764             :   else
   10765           0 :     return visitor->visitChildren(this);
   10766             : }
   10767             : 
   10768           0 : accparser::Num_gangs_clauseContext* accparser::num_gangs_clause() {
   10769           0 :   Num_gangs_clauseContext *_localctx = _tracker.createInstance<Num_gangs_clauseContext>(_ctx, getState());
   10770           0 :   enterRule(_localctx, 232, accparser::RuleNum_gangs_clause);
   10771             : 
   10772           0 :   auto onExit = finally([=] {
   10773           0 :     exitRule();
   10774           0 :   });
   10775           0 :   try {
   10776           0 :     enterOuterAlt(_localctx, 1);
   10777           0 :     setState(1025);
   10778           0 :     match(accparser::NUM_GANGS);
   10779           0 :     setState(1026);
   10780           0 :     match(accparser::LEFT_PAREN);
   10781           0 :     setState(1027);
   10782           0 :     int_expr();
   10783           0 :     setState(1028);
   10784           0 :     match(accparser::RIGHT_PAREN);
   10785             :    
   10786             :   }
   10787           0 :   catch (RecognitionException &e) {
   10788           0 :     _errHandler->reportError(this, e);
   10789           0 :     _localctx->exception = std::current_exception();
   10790           0 :     _errHandler->recover(this, _localctx->exception);
   10791             :   }
   10792             : 
   10793           0 :   return _localctx;
   10794             : }
   10795             : 
   10796             : //----------------- Num_workers_clauseContext ------------------------------------------------------------------
   10797             : 
   10798           0 : accparser::Num_workers_clauseContext::Num_workers_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10799           0 :   : ParserRuleContext(parent, invokingState) {
   10800           0 : }
   10801             : 
   10802           0 : tree::TerminalNode* accparser::Num_workers_clauseContext::NUM_WORKERS() {
   10803           0 :   return getToken(accparser::NUM_WORKERS, 0);
   10804             : }
   10805             : 
   10806           0 : tree::TerminalNode* accparser::Num_workers_clauseContext::LEFT_PAREN() {
   10807           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10808             : }
   10809             : 
   10810           0 : accparser::Int_exprContext* accparser::Num_workers_clauseContext::int_expr() {
   10811           0 :   return getRuleContext<accparser::Int_exprContext>(0);
   10812             : }
   10813             : 
   10814           0 : tree::TerminalNode* accparser::Num_workers_clauseContext::RIGHT_PAREN() {
   10815           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10816             : }
   10817             : 
   10818             : 
   10819           0 : size_t accparser::Num_workers_clauseContext::getRuleIndex() const {
   10820           0 :   return accparser::RuleNum_workers_clause;
   10821             : }
   10822             : 
   10823           0 : void accparser::Num_workers_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10824           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10825           0 :   if (parserListener != nullptr)
   10826           0 :     parserListener->enterNum_workers_clause(this);
   10827           0 : }
   10828             : 
   10829           0 : void accparser::Num_workers_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10830           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10831           0 :   if (parserListener != nullptr)
   10832           0 :     parserListener->exitNum_workers_clause(this);
   10833           0 : }
   10834             : 
   10835             : 
   10836           0 : antlrcpp::Any accparser::Num_workers_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10837           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10838           0 :     return parserVisitor->visitNum_workers_clause(this);
   10839             :   else
   10840           0 :     return visitor->visitChildren(this);
   10841             : }
   10842             : 
   10843           0 : accparser::Num_workers_clauseContext* accparser::num_workers_clause() {
   10844           0 :   Num_workers_clauseContext *_localctx = _tracker.createInstance<Num_workers_clauseContext>(_ctx, getState());
   10845           0 :   enterRule(_localctx, 234, accparser::RuleNum_workers_clause);
   10846             : 
   10847           0 :   auto onExit = finally([=] {
   10848           0 :     exitRule();
   10849           0 :   });
   10850           0 :   try {
   10851           0 :     enterOuterAlt(_localctx, 1);
   10852           0 :     setState(1030);
   10853           0 :     match(accparser::NUM_WORKERS);
   10854           0 :     setState(1031);
   10855           0 :     match(accparser::LEFT_PAREN);
   10856           0 :     setState(1032);
   10857           0 :     int_expr();
   10858           0 :     setState(1033);
   10859           0 :     match(accparser::RIGHT_PAREN);
   10860             :    
   10861             :   }
   10862           0 :   catch (RecognitionException &e) {
   10863           0 :     _errHandler->reportError(this, e);
   10864           0 :     _localctx->exception = std::current_exception();
   10865           0 :     _errHandler->recover(this, _localctx->exception);
   10866             :   }
   10867             : 
   10868           0 :   return _localctx;
   10869             : }
   10870             : 
   10871             : //----------------- Present_clauseContext ------------------------------------------------------------------
   10872             : 
   10873           0 : accparser::Present_clauseContext::Present_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10874           0 :   : ParserRuleContext(parent, invokingState) {
   10875           0 : }
   10876             : 
   10877           0 : tree::TerminalNode* accparser::Present_clauseContext::PRESENT() {
   10878           0 :   return getToken(accparser::PRESENT, 0);
   10879             : }
   10880             : 
   10881           0 : tree::TerminalNode* accparser::Present_clauseContext::LEFT_PAREN() {
   10882           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10883             : }
   10884             : 
   10885           0 : accparser::Var_listContext* accparser::Present_clauseContext::var_list() {
   10886           0 :   return getRuleContext<accparser::Var_listContext>(0);
   10887             : }
   10888             : 
   10889           0 : tree::TerminalNode* accparser::Present_clauseContext::RIGHT_PAREN() {
   10890           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10891             : }
   10892             : 
   10893             : 
   10894           0 : size_t accparser::Present_clauseContext::getRuleIndex() const {
   10895           0 :   return accparser::RulePresent_clause;
   10896             : }
   10897             : 
   10898           0 : void accparser::Present_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10899           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10900           0 :   if (parserListener != nullptr)
   10901           0 :     parserListener->enterPresent_clause(this);
   10902           0 : }
   10903             : 
   10904           0 : void accparser::Present_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10905           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10906           0 :   if (parserListener != nullptr)
   10907           0 :     parserListener->exitPresent_clause(this);
   10908           0 : }
   10909             : 
   10910             : 
   10911           0 : antlrcpp::Any accparser::Present_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10912           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10913           0 :     return parserVisitor->visitPresent_clause(this);
   10914             :   else
   10915           0 :     return visitor->visitChildren(this);
   10916             : }
   10917             : 
   10918           0 : accparser::Present_clauseContext* accparser::present_clause() {
   10919           0 :   Present_clauseContext *_localctx = _tracker.createInstance<Present_clauseContext>(_ctx, getState());
   10920           0 :   enterRule(_localctx, 236, accparser::RulePresent_clause);
   10921             : 
   10922           0 :   auto onExit = finally([=] {
   10923           0 :     exitRule();
   10924           0 :   });
   10925           0 :   try {
   10926           0 :     enterOuterAlt(_localctx, 1);
   10927           0 :     setState(1035);
   10928           0 :     match(accparser::PRESENT);
   10929           0 :     setState(1036);
   10930           0 :     match(accparser::LEFT_PAREN);
   10931           0 :     setState(1037);
   10932           0 :     var_list();
   10933           0 :     setState(1038);
   10934           0 :     match(accparser::RIGHT_PAREN);
   10935             :    
   10936             :   }
   10937           0 :   catch (RecognitionException &e) {
   10938           0 :     _errHandler->reportError(this, e);
   10939           0 :     _localctx->exception = std::current_exception();
   10940           0 :     _errHandler->recover(this, _localctx->exception);
   10941             :   }
   10942             : 
   10943           0 :   return _localctx;
   10944             : }
   10945             : 
   10946             : //----------------- Private_clauseContext ------------------------------------------------------------------
   10947             : 
   10948           0 : accparser::Private_clauseContext::Private_clauseContext(ParserRuleContext *parent, size_t invokingState)
   10949           0 :   : ParserRuleContext(parent, invokingState) {
   10950           0 : }
   10951             : 
   10952           0 : tree::TerminalNode* accparser::Private_clauseContext::PRIVATE() {
   10953           0 :   return getToken(accparser::PRIVATE, 0);
   10954             : }
   10955             : 
   10956           0 : tree::TerminalNode* accparser::Private_clauseContext::LEFT_PAREN() {
   10957           0 :   return getToken(accparser::LEFT_PAREN, 0);
   10958             : }
   10959             : 
   10960           0 : accparser::Var_listContext* accparser::Private_clauseContext::var_list() {
   10961           0 :   return getRuleContext<accparser::Var_listContext>(0);
   10962             : }
   10963             : 
   10964           0 : tree::TerminalNode* accparser::Private_clauseContext::RIGHT_PAREN() {
   10965           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   10966             : }
   10967             : 
   10968             : 
   10969           0 : size_t accparser::Private_clauseContext::getRuleIndex() const {
   10970           0 :   return accparser::RulePrivate_clause;
   10971             : }
   10972             : 
   10973           0 : void accparser::Private_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   10974           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10975           0 :   if (parserListener != nullptr)
   10976           0 :     parserListener->enterPrivate_clause(this);
   10977           0 : }
   10978             : 
   10979           0 : void accparser::Private_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   10980           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   10981           0 :   if (parserListener != nullptr)
   10982           0 :     parserListener->exitPrivate_clause(this);
   10983           0 : }
   10984             : 
   10985             : 
   10986           0 : antlrcpp::Any accparser::Private_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   10987           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   10988           0 :     return parserVisitor->visitPrivate_clause(this);
   10989             :   else
   10990           0 :     return visitor->visitChildren(this);
   10991             : }
   10992             : 
   10993           0 : accparser::Private_clauseContext* accparser::private_clause() {
   10994           0 :   Private_clauseContext *_localctx = _tracker.createInstance<Private_clauseContext>(_ctx, getState());
   10995           0 :   enterRule(_localctx, 238, accparser::RulePrivate_clause);
   10996             : 
   10997           0 :   auto onExit = finally([=] {
   10998           0 :     exitRule();
   10999           0 :   });
   11000           0 :   try {
   11001           0 :     enterOuterAlt(_localctx, 1);
   11002           0 :     setState(1040);
   11003           0 :     match(accparser::PRIVATE);
   11004           0 :     setState(1041);
   11005           0 :     match(accparser::LEFT_PAREN);
   11006           0 :     setState(1042);
   11007           0 :     var_list();
   11008           0 :     setState(1043);
   11009           0 :     match(accparser::RIGHT_PAREN);
   11010             :    
   11011             :   }
   11012           0 :   catch (RecognitionException &e) {
   11013           0 :     _errHandler->reportError(this, e);
   11014           0 :     _localctx->exception = std::current_exception();
   11015           0 :     _errHandler->recover(this, _localctx->exception);
   11016             :   }
   11017             : 
   11018           0 :   return _localctx;
   11019             : }
   11020             : 
   11021             : //----------------- Read_clauseContext ------------------------------------------------------------------
   11022             : 
   11023           0 : accparser::Read_clauseContext::Read_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11024           0 :   : ParserRuleContext(parent, invokingState) {
   11025           0 : }
   11026             : 
   11027           0 : tree::TerminalNode* accparser::Read_clauseContext::READ() {
   11028           0 :   return getToken(accparser::READ, 0);
   11029             : }
   11030             : 
   11031             : 
   11032           0 : size_t accparser::Read_clauseContext::getRuleIndex() const {
   11033           0 :   return accparser::RuleRead_clause;
   11034             : }
   11035             : 
   11036           0 : void accparser::Read_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11037           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11038           0 :   if (parserListener != nullptr)
   11039           0 :     parserListener->enterRead_clause(this);
   11040           0 : }
   11041             : 
   11042           0 : void accparser::Read_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11043           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11044           0 :   if (parserListener != nullptr)
   11045           0 :     parserListener->exitRead_clause(this);
   11046           0 : }
   11047             : 
   11048             : 
   11049           0 : antlrcpp::Any accparser::Read_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11050           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11051           0 :     return parserVisitor->visitRead_clause(this);
   11052             :   else
   11053           0 :     return visitor->visitChildren(this);
   11054             : }
   11055             : 
   11056           0 : accparser::Read_clauseContext* accparser::read_clause() {
   11057           0 :   Read_clauseContext *_localctx = _tracker.createInstance<Read_clauseContext>(_ctx, getState());
   11058           0 :   enterRule(_localctx, 240, accparser::RuleRead_clause);
   11059             : 
   11060           0 :   auto onExit = finally([=] {
   11061           0 :     exitRule();
   11062           0 :   });
   11063           0 :   try {
   11064           0 :     enterOuterAlt(_localctx, 1);
   11065           0 :     setState(1045);
   11066           0 :     match(accparser::READ);
   11067             :    
   11068             :   }
   11069           0 :   catch (RecognitionException &e) {
   11070           0 :     _errHandler->reportError(this, e);
   11071           0 :     _localctx->exception = std::current_exception();
   11072           0 :     _errHandler->recover(this, _localctx->exception);
   11073             :   }
   11074             : 
   11075           0 :   return _localctx;
   11076             : }
   11077             : 
   11078             : //----------------- Reduction_clauseContext ------------------------------------------------------------------
   11079             : 
   11080           0 : accparser::Reduction_clauseContext::Reduction_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11081           0 :   : ParserRuleContext(parent, invokingState) {
   11082           0 : }
   11083             : 
   11084           0 : tree::TerminalNode* accparser::Reduction_clauseContext::REDUCTION() {
   11085           0 :   return getToken(accparser::REDUCTION, 0);
   11086             : }
   11087             : 
   11088           0 : tree::TerminalNode* accparser::Reduction_clauseContext::LEFT_PAREN() {
   11089           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11090             : }
   11091             : 
   11092           0 : accparser::Reduction_operatorContext* accparser::Reduction_clauseContext::reduction_operator() {
   11093           0 :   return getRuleContext<accparser::Reduction_operatorContext>(0);
   11094             : }
   11095             : 
   11096           0 : tree::TerminalNode* accparser::Reduction_clauseContext::COLON() {
   11097           0 :   return getToken(accparser::COLON, 0);
   11098             : }
   11099             : 
   11100           0 : accparser::Var_listContext* accparser::Reduction_clauseContext::var_list() {
   11101           0 :   return getRuleContext<accparser::Var_listContext>(0);
   11102             : }
   11103             : 
   11104           0 : tree::TerminalNode* accparser::Reduction_clauseContext::RIGHT_PAREN() {
   11105           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11106             : }
   11107             : 
   11108             : 
   11109           0 : size_t accparser::Reduction_clauseContext::getRuleIndex() const {
   11110           0 :   return accparser::RuleReduction_clause;
   11111             : }
   11112             : 
   11113           0 : void accparser::Reduction_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11114           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11115           0 :   if (parserListener != nullptr)
   11116           0 :     parserListener->enterReduction_clause(this);
   11117           0 : }
   11118             : 
   11119           0 : void accparser::Reduction_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11120           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11121           0 :   if (parserListener != nullptr)
   11122           0 :     parserListener->exitReduction_clause(this);
   11123           0 : }
   11124             : 
   11125             : 
   11126           0 : antlrcpp::Any accparser::Reduction_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11127           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11128           0 :     return parserVisitor->visitReduction_clause(this);
   11129             :   else
   11130           0 :     return visitor->visitChildren(this);
   11131             : }
   11132             : 
   11133           0 : accparser::Reduction_clauseContext* accparser::reduction_clause() {
   11134           0 :   Reduction_clauseContext *_localctx = _tracker.createInstance<Reduction_clauseContext>(_ctx, getState());
   11135           0 :   enterRule(_localctx, 242, accparser::RuleReduction_clause);
   11136             : 
   11137           0 :   auto onExit = finally([=] {
   11138           0 :     exitRule();
   11139           0 :   });
   11140           0 :   try {
   11141           0 :     enterOuterAlt(_localctx, 1);
   11142           0 :     setState(1047);
   11143           0 :     match(accparser::REDUCTION);
   11144           0 :     setState(1048);
   11145           0 :     match(accparser::LEFT_PAREN);
   11146           0 :     setState(1049);
   11147           0 :     reduction_operator();
   11148           0 :     setState(1050);
   11149           0 :     match(accparser::COLON);
   11150           0 :     setState(1051);
   11151           0 :     var_list();
   11152           0 :     setState(1052);
   11153           0 :     match(accparser::RIGHT_PAREN);
   11154             :    
   11155             :   }
   11156           0 :   catch (RecognitionException &e) {
   11157           0 :     _errHandler->reportError(this, e);
   11158           0 :     _localctx->exception = std::current_exception();
   11159           0 :     _errHandler->recover(this, _localctx->exception);
   11160             :   }
   11161             : 
   11162           0 :   return _localctx;
   11163             : }
   11164             : 
   11165             : //----------------- Reduction_operatorContext ------------------------------------------------------------------
   11166             : 
   11167           0 : accparser::Reduction_operatorContext::Reduction_operatorContext(ParserRuleContext *parent, size_t invokingState)
   11168           0 :   : ParserRuleContext(parent, invokingState) {
   11169           0 : }
   11170             : 
   11171           0 : tree::TerminalNode* accparser::Reduction_operatorContext::ADD() {
   11172           0 :   return getToken(accparser::ADD, 0);
   11173             : }
   11174             : 
   11175           0 : tree::TerminalNode* accparser::Reduction_operatorContext::MUL() {
   11176           0 :   return getToken(accparser::MUL, 0);
   11177             : }
   11178             : 
   11179           0 : tree::TerminalNode* accparser::Reduction_operatorContext::MAX() {
   11180           0 :   return getToken(accparser::MAX, 0);
   11181             : }
   11182             : 
   11183           0 : tree::TerminalNode* accparser::Reduction_operatorContext::MIN() {
   11184           0 :   return getToken(accparser::MIN, 0);
   11185             : }
   11186             : 
   11187           0 : tree::TerminalNode* accparser::Reduction_operatorContext::BITAND() {
   11188           0 :   return getToken(accparser::BITAND, 0);
   11189             : }
   11190             : 
   11191           0 : tree::TerminalNode* accparser::Reduction_operatorContext::BITOR() {
   11192           0 :   return getToken(accparser::BITOR, 0);
   11193             : }
   11194             : 
   11195           0 : tree::TerminalNode* accparser::Reduction_operatorContext::BITXOR() {
   11196           0 :   return getToken(accparser::BITXOR, 0);
   11197             : }
   11198             : 
   11199           0 : tree::TerminalNode* accparser::Reduction_operatorContext::LOGAND() {
   11200           0 :   return getToken(accparser::LOGAND, 0);
   11201             : }
   11202             : 
   11203           0 : tree::TerminalNode* accparser::Reduction_operatorContext::LOGOR() {
   11204           0 :   return getToken(accparser::LOGOR, 0);
   11205             : }
   11206             : 
   11207             : 
   11208           0 : size_t accparser::Reduction_operatorContext::getRuleIndex() const {
   11209           0 :   return accparser::RuleReduction_operator;
   11210             : }
   11211             : 
   11212           0 : void accparser::Reduction_operatorContext::enterRule(tree::ParseTreeListener *listener) {
   11213           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11214           0 :   if (parserListener != nullptr)
   11215           0 :     parserListener->enterReduction_operator(this);
   11216           0 : }
   11217             : 
   11218           0 : void accparser::Reduction_operatorContext::exitRule(tree::ParseTreeListener *listener) {
   11219           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11220           0 :   if (parserListener != nullptr)
   11221           0 :     parserListener->exitReduction_operator(this);
   11222           0 : }
   11223             : 
   11224             : 
   11225           0 : antlrcpp::Any accparser::Reduction_operatorContext::accept(tree::ParseTreeVisitor *visitor) {
   11226           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11227           0 :     return parserVisitor->visitReduction_operator(this);
   11228             :   else
   11229           0 :     return visitor->visitChildren(this);
   11230             : }
   11231             : 
   11232           0 : accparser::Reduction_operatorContext* accparser::reduction_operator() {
   11233           0 :   Reduction_operatorContext *_localctx = _tracker.createInstance<Reduction_operatorContext>(_ctx, getState());
   11234           0 :   enterRule(_localctx, 244, accparser::RuleReduction_operator);
   11235           0 :   size_t _la = 0;
   11236             : 
   11237           0 :   auto onExit = finally([=] {
   11238           0 :     exitRule();
   11239           0 :   });
   11240           0 :   try {
   11241           0 :     enterOuterAlt(_localctx, 1);
   11242           0 :     setState(1054);
   11243           0 :     _la = _input->LA(1);
   11244           0 :     if (!(((((_la - 109) & ~ 0x3fULL) == 0) &&
   11245           0 :       ((1ULL << (_la - 109)) & ((1ULL << (accparser::ADD - 109))
   11246             :       | (1ULL << (accparser::MUL - 109))
   11247             :       | (1ULL << (accparser::MAX - 109))
   11248             :       | (1ULL << (accparser::MIN - 109))
   11249             :       | (1ULL << (accparser::BITAND - 109))
   11250             :       | (1ULL << (accparser::BITOR - 109))
   11251             :       | (1ULL << (accparser::BITXOR - 109))
   11252             :       | (1ULL << (accparser::LOGAND - 109))
   11253           0 :       | (1ULL << (accparser::LOGOR - 109)))) != 0))) {
   11254           0 :     _errHandler->recoverInline(this);
   11255             :     }
   11256             :     else {
   11257           0 :       _errHandler->reportMatch(this);
   11258           0 :       consume();
   11259             :     }
   11260             :    
   11261             :   }
   11262           0 :   catch (RecognitionException &e) {
   11263           0 :     _errHandler->reportError(this, e);
   11264           0 :     _localctx->exception = std::current_exception();
   11265           0 :     _errHandler->recover(this, _localctx->exception);
   11266             :   }
   11267             : 
   11268           0 :   return _localctx;
   11269             : }
   11270             : 
   11271             : //----------------- Self_clauseContext ------------------------------------------------------------------
   11272             : 
   11273           0 : accparser::Self_clauseContext::Self_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11274           0 :   : ParserRuleContext(parent, invokingState) {
   11275           0 : }
   11276             : 
   11277           0 : tree::TerminalNode* accparser::Self_clauseContext::SELF() {
   11278           0 :   return getToken(accparser::SELF, 0);
   11279             : }
   11280             : 
   11281           0 : tree::TerminalNode* accparser::Self_clauseContext::LEFT_PAREN() {
   11282           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11283             : }
   11284             : 
   11285           0 : accparser::ConditionContext* accparser::Self_clauseContext::condition() {
   11286           0 :   return getRuleContext<accparser::ConditionContext>(0);
   11287             : }
   11288             : 
   11289           0 : tree::TerminalNode* accparser::Self_clauseContext::RIGHT_PAREN() {
   11290           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11291             : }
   11292             : 
   11293             : 
   11294           0 : size_t accparser::Self_clauseContext::getRuleIndex() const {
   11295           0 :   return accparser::RuleSelf_clause;
   11296             : }
   11297             : 
   11298           0 : void accparser::Self_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11299           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11300           0 :   if (parserListener != nullptr)
   11301           0 :     parserListener->enterSelf_clause(this);
   11302           0 : }
   11303             : 
   11304           0 : void accparser::Self_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11305           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11306           0 :   if (parserListener != nullptr)
   11307           0 :     parserListener->exitSelf_clause(this);
   11308           0 : }
   11309             : 
   11310             : 
   11311           0 : antlrcpp::Any accparser::Self_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11312           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11313           0 :     return parserVisitor->visitSelf_clause(this);
   11314             :   else
   11315           0 :     return visitor->visitChildren(this);
   11316             : }
   11317             : 
   11318           0 : accparser::Self_clauseContext* accparser::self_clause() {
   11319           0 :   Self_clauseContext *_localctx = _tracker.createInstance<Self_clauseContext>(_ctx, getState());
   11320           0 :   enterRule(_localctx, 246, accparser::RuleSelf_clause);
   11321             : 
   11322           0 :   auto onExit = finally([=] {
   11323           0 :     exitRule();
   11324           0 :   });
   11325           0 :   try {
   11326           0 :     setState(1062);
   11327           0 :     _errHandler->sync(this);
   11328           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 53, _ctx)) {
   11329           0 :     case 1: {
   11330           0 :       enterOuterAlt(_localctx, 1);
   11331           0 :       setState(1056);
   11332           0 :       match(accparser::SELF);
   11333             :       break;
   11334             :     }
   11335             : 
   11336           0 :     case 2: {
   11337           0 :       enterOuterAlt(_localctx, 2);
   11338           0 :       setState(1057);
   11339           0 :       match(accparser::SELF);
   11340           0 :       setState(1058);
   11341           0 :       match(accparser::LEFT_PAREN);
   11342           0 :       setState(1059);
   11343           0 :       condition();
   11344           0 :       setState(1060);
   11345           0 :       match(accparser::RIGHT_PAREN);
   11346             :       break;
   11347             :     }
   11348             : 
   11349             :     }
   11350             :    
   11351             :   }
   11352           0 :   catch (RecognitionException &e) {
   11353           0 :     _errHandler->reportError(this, e);
   11354           0 :     _localctx->exception = std::current_exception();
   11355           0 :     _errHandler->recover(this, _localctx->exception);
   11356             :   }
   11357             : 
   11358           0 :   return _localctx;
   11359             : }
   11360             : 
   11361             : //----------------- Self_list_clauseContext ------------------------------------------------------------------
   11362             : 
   11363           0 : accparser::Self_list_clauseContext::Self_list_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11364           0 :   : ParserRuleContext(parent, invokingState) {
   11365           0 : }
   11366             : 
   11367           0 : tree::TerminalNode* accparser::Self_list_clauseContext::SELF() {
   11368           0 :   return getToken(accparser::SELF, 0);
   11369             : }
   11370             : 
   11371           0 : tree::TerminalNode* accparser::Self_list_clauseContext::LEFT_PAREN() {
   11372           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11373             : }
   11374             : 
   11375           0 : accparser::Var_listContext* accparser::Self_list_clauseContext::var_list() {
   11376           0 :   return getRuleContext<accparser::Var_listContext>(0);
   11377             : }
   11378             : 
   11379           0 : tree::TerminalNode* accparser::Self_list_clauseContext::RIGHT_PAREN() {
   11380           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11381             : }
   11382             : 
   11383             : 
   11384           0 : size_t accparser::Self_list_clauseContext::getRuleIndex() const {
   11385           0 :   return accparser::RuleSelf_list_clause;
   11386             : }
   11387             : 
   11388           0 : void accparser::Self_list_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11389           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11390           0 :   if (parserListener != nullptr)
   11391           0 :     parserListener->enterSelf_list_clause(this);
   11392           0 : }
   11393             : 
   11394           0 : void accparser::Self_list_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11395           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11396           0 :   if (parserListener != nullptr)
   11397           0 :     parserListener->exitSelf_list_clause(this);
   11398           0 : }
   11399             : 
   11400             : 
   11401           0 : antlrcpp::Any accparser::Self_list_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11402           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11403           0 :     return parserVisitor->visitSelf_list_clause(this);
   11404             :   else
   11405           0 :     return visitor->visitChildren(this);
   11406             : }
   11407             : 
   11408           0 : accparser::Self_list_clauseContext* accparser::self_list_clause() {
   11409           0 :   Self_list_clauseContext *_localctx = _tracker.createInstance<Self_list_clauseContext>(_ctx, getState());
   11410           0 :   enterRule(_localctx, 248, accparser::RuleSelf_list_clause);
   11411             : 
   11412           0 :   auto onExit = finally([=] {
   11413           0 :     exitRule();
   11414           0 :   });
   11415           0 :   try {
   11416           0 :     enterOuterAlt(_localctx, 1);
   11417           0 :     setState(1064);
   11418           0 :     match(accparser::SELF);
   11419           0 :     setState(1065);
   11420           0 :     match(accparser::LEFT_PAREN);
   11421           0 :     setState(1066);
   11422           0 :     var_list();
   11423           0 :     setState(1067);
   11424           0 :     match(accparser::RIGHT_PAREN);
   11425             :    
   11426             :   }
   11427           0 :   catch (RecognitionException &e) {
   11428           0 :     _errHandler->reportError(this, e);
   11429           0 :     _localctx->exception = std::current_exception();
   11430           0 :     _errHandler->recover(this, _localctx->exception);
   11431             :   }
   11432             : 
   11433           0 :   return _localctx;
   11434             : }
   11435             : 
   11436             : //----------------- ConditionContext ------------------------------------------------------------------
   11437             : 
   11438           0 : accparser::ConditionContext::ConditionContext(ParserRuleContext *parent, size_t invokingState)
   11439           0 :   : ParserRuleContext(parent, invokingState) {
   11440           0 : }
   11441             : 
   11442           0 : tree::TerminalNode* accparser::ConditionContext::EXPR() {
   11443           0 :   return getToken(accparser::EXPR, 0);
   11444             : }
   11445             : 
   11446             : 
   11447           0 : size_t accparser::ConditionContext::getRuleIndex() const {
   11448           0 :   return accparser::RuleCondition;
   11449             : }
   11450             : 
   11451           0 : void accparser::ConditionContext::enterRule(tree::ParseTreeListener *listener) {
   11452           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11453           0 :   if (parserListener != nullptr)
   11454           0 :     parserListener->enterCondition(this);
   11455           0 : }
   11456             : 
   11457           0 : void accparser::ConditionContext::exitRule(tree::ParseTreeListener *listener) {
   11458           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11459           0 :   if (parserListener != nullptr)
   11460           0 :     parserListener->exitCondition(this);
   11461           0 : }
   11462             : 
   11463             : 
   11464           0 : antlrcpp::Any accparser::ConditionContext::accept(tree::ParseTreeVisitor *visitor) {
   11465           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11466           0 :     return parserVisitor->visitCondition(this);
   11467             :   else
   11468           0 :     return visitor->visitChildren(this);
   11469             : }
   11470             : 
   11471           0 : accparser::ConditionContext* accparser::condition() {
   11472           0 :   ConditionContext *_localctx = _tracker.createInstance<ConditionContext>(_ctx, getState());
   11473           0 :   enterRule(_localctx, 250, accparser::RuleCondition);
   11474             : 
   11475           0 :   auto onExit = finally([=] {
   11476           0 :     exitRule();
   11477           0 :   });
   11478           0 :   try {
   11479           0 :     enterOuterAlt(_localctx, 1);
   11480           0 :     setState(1069);
   11481           0 :     match(accparser::EXPR);
   11482             :    
   11483             :   }
   11484           0 :   catch (RecognitionException &e) {
   11485           0 :     _errHandler->reportError(this, e);
   11486           0 :     _localctx->exception = std::current_exception();
   11487           0 :     _errHandler->recover(this, _localctx->exception);
   11488             :   }
   11489             : 
   11490           0 :   return _localctx;
   11491             : }
   11492             : 
   11493             : //----------------- Seq_clauseContext ------------------------------------------------------------------
   11494             : 
   11495           0 : accparser::Seq_clauseContext::Seq_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11496           0 :   : ParserRuleContext(parent, invokingState) {
   11497           0 : }
   11498             : 
   11499           0 : tree::TerminalNode* accparser::Seq_clauseContext::SEQ() {
   11500           0 :   return getToken(accparser::SEQ, 0);
   11501             : }
   11502             : 
   11503             : 
   11504           0 : size_t accparser::Seq_clauseContext::getRuleIndex() const {
   11505           0 :   return accparser::RuleSeq_clause;
   11506             : }
   11507             : 
   11508           0 : void accparser::Seq_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11509           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11510           0 :   if (parserListener != nullptr)
   11511           0 :     parserListener->enterSeq_clause(this);
   11512           0 : }
   11513             : 
   11514           0 : void accparser::Seq_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11515           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11516           0 :   if (parserListener != nullptr)
   11517           0 :     parserListener->exitSeq_clause(this);
   11518           0 : }
   11519             : 
   11520             : 
   11521           0 : antlrcpp::Any accparser::Seq_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11522           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11523           0 :     return parserVisitor->visitSeq_clause(this);
   11524             :   else
   11525           0 :     return visitor->visitChildren(this);
   11526             : }
   11527             : 
   11528           0 : accparser::Seq_clauseContext* accparser::seq_clause() {
   11529           0 :   Seq_clauseContext *_localctx = _tracker.createInstance<Seq_clauseContext>(_ctx, getState());
   11530           0 :   enterRule(_localctx, 252, accparser::RuleSeq_clause);
   11531             : 
   11532           0 :   auto onExit = finally([=] {
   11533           0 :     exitRule();
   11534           0 :   });
   11535           0 :   try {
   11536           0 :     enterOuterAlt(_localctx, 1);
   11537           0 :     setState(1071);
   11538           0 :     match(accparser::SEQ);
   11539             :    
   11540             :   }
   11541           0 :   catch (RecognitionException &e) {
   11542           0 :     _errHandler->reportError(this, e);
   11543           0 :     _localctx->exception = std::current_exception();
   11544           0 :     _errHandler->recover(this, _localctx->exception);
   11545             :   }
   11546             : 
   11547           0 :   return _localctx;
   11548             : }
   11549             : 
   11550             : //----------------- Tile_clauseContext ------------------------------------------------------------------
   11551             : 
   11552           0 : accparser::Tile_clauseContext::Tile_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11553           0 :   : ParserRuleContext(parent, invokingState) {
   11554           0 : }
   11555             : 
   11556           0 : tree::TerminalNode* accparser::Tile_clauseContext::TILE() {
   11557           0 :   return getToken(accparser::TILE, 0);
   11558             : }
   11559             : 
   11560           0 : tree::TerminalNode* accparser::Tile_clauseContext::LEFT_PAREN() {
   11561           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11562             : }
   11563             : 
   11564           0 : accparser::Size_expr_listContext* accparser::Tile_clauseContext::size_expr_list() {
   11565           0 :   return getRuleContext<accparser::Size_expr_listContext>(0);
   11566             : }
   11567             : 
   11568           0 : tree::TerminalNode* accparser::Tile_clauseContext::RIGHT_PAREN() {
   11569           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11570             : }
   11571             : 
   11572             : 
   11573           0 : size_t accparser::Tile_clauseContext::getRuleIndex() const {
   11574           0 :   return accparser::RuleTile_clause;
   11575             : }
   11576             : 
   11577           0 : void accparser::Tile_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11578           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11579           0 :   if (parserListener != nullptr)
   11580           0 :     parserListener->enterTile_clause(this);
   11581           0 : }
   11582             : 
   11583           0 : void accparser::Tile_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11584           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11585           0 :   if (parserListener != nullptr)
   11586           0 :     parserListener->exitTile_clause(this);
   11587           0 : }
   11588             : 
   11589             : 
   11590           0 : antlrcpp::Any accparser::Tile_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11591           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11592           0 :     return parserVisitor->visitTile_clause(this);
   11593             :   else
   11594           0 :     return visitor->visitChildren(this);
   11595             : }
   11596             : 
   11597           0 : accparser::Tile_clauseContext* accparser::tile_clause() {
   11598           0 :   Tile_clauseContext *_localctx = _tracker.createInstance<Tile_clauseContext>(_ctx, getState());
   11599           0 :   enterRule(_localctx, 254, accparser::RuleTile_clause);
   11600             : 
   11601           0 :   auto onExit = finally([=] {
   11602           0 :     exitRule();
   11603           0 :   });
   11604           0 :   try {
   11605           0 :     enterOuterAlt(_localctx, 1);
   11606           0 :     setState(1073);
   11607           0 :     match(accparser::TILE);
   11608           0 :     setState(1074);
   11609           0 :     match(accparser::LEFT_PAREN);
   11610           0 :     setState(1075);
   11611           0 :     size_expr_list();
   11612           0 :     setState(1076);
   11613           0 :     match(accparser::RIGHT_PAREN);
   11614             :    
   11615             :   }
   11616           0 :   catch (RecognitionException &e) {
   11617           0 :     _errHandler->reportError(this, e);
   11618           0 :     _localctx->exception = std::current_exception();
   11619           0 :     _errHandler->recover(this, _localctx->exception);
   11620             :   }
   11621             : 
   11622           0 :   return _localctx;
   11623             : }
   11624             : 
   11625             : //----------------- Update_clauseContext ------------------------------------------------------------------
   11626             : 
   11627           0 : accparser::Update_clauseContext::Update_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11628           0 :   : ParserRuleContext(parent, invokingState) {
   11629           0 : }
   11630             : 
   11631           0 : tree::TerminalNode* accparser::Update_clauseContext::UPDATE() {
   11632           0 :   return getToken(accparser::UPDATE, 0);
   11633             : }
   11634             : 
   11635             : 
   11636           0 : size_t accparser::Update_clauseContext::getRuleIndex() const {
   11637           0 :   return accparser::RuleUpdate_clause;
   11638             : }
   11639             : 
   11640           0 : void accparser::Update_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11641           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11642           0 :   if (parserListener != nullptr)
   11643           0 :     parserListener->enterUpdate_clause(this);
   11644           0 : }
   11645             : 
   11646           0 : void accparser::Update_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11647           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11648           0 :   if (parserListener != nullptr)
   11649           0 :     parserListener->exitUpdate_clause(this);
   11650           0 : }
   11651             : 
   11652             : 
   11653           0 : antlrcpp::Any accparser::Update_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11654           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11655           0 :     return parserVisitor->visitUpdate_clause(this);
   11656             :   else
   11657           0 :     return visitor->visitChildren(this);
   11658             : }
   11659             : 
   11660           0 : accparser::Update_clauseContext* accparser::update_clause() {
   11661           0 :   Update_clauseContext *_localctx = _tracker.createInstance<Update_clauseContext>(_ctx, getState());
   11662           0 :   enterRule(_localctx, 256, accparser::RuleUpdate_clause);
   11663             : 
   11664           0 :   auto onExit = finally([=] {
   11665           0 :     exitRule();
   11666           0 :   });
   11667           0 :   try {
   11668           0 :     enterOuterAlt(_localctx, 1);
   11669           0 :     setState(1078);
   11670           0 :     match(accparser::UPDATE);
   11671             :    
   11672             :   }
   11673           0 :   catch (RecognitionException &e) {
   11674           0 :     _errHandler->reportError(this, e);
   11675           0 :     _localctx->exception = std::current_exception();
   11676           0 :     _errHandler->recover(this, _localctx->exception);
   11677             :   }
   11678             : 
   11679           0 :   return _localctx;
   11680             : }
   11681             : 
   11682             : //----------------- Size_expr_listContext ------------------------------------------------------------------
   11683             : 
   11684           0 : accparser::Size_expr_listContext::Size_expr_listContext(ParserRuleContext *parent, size_t invokingState)
   11685           0 :   : ParserRuleContext(parent, invokingState) {
   11686           0 : }
   11687             : 
   11688           0 : std::vector<accparser::VarContext *> accparser::Size_expr_listContext::var() {
   11689           0 :   return getRuleContexts<accparser::VarContext>();
   11690             : }
   11691             : 
   11692           0 : accparser::VarContext* accparser::Size_expr_listContext::var(size_t i) {
   11693           0 :   return getRuleContext<accparser::VarContext>(i);
   11694             : }
   11695             : 
   11696           0 : std::vector<tree::TerminalNode *> accparser::Size_expr_listContext::COMMA() {
   11697           0 :   return getTokens(accparser::COMMA);
   11698             : }
   11699             : 
   11700           0 : tree::TerminalNode* accparser::Size_expr_listContext::COMMA(size_t i) {
   11701           0 :   return getToken(accparser::COMMA, i);
   11702             : }
   11703             : 
   11704             : 
   11705           0 : size_t accparser::Size_expr_listContext::getRuleIndex() const {
   11706           0 :   return accparser::RuleSize_expr_list;
   11707             : }
   11708             : 
   11709           0 : void accparser::Size_expr_listContext::enterRule(tree::ParseTreeListener *listener) {
   11710           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11711           0 :   if (parserListener != nullptr)
   11712           0 :     parserListener->enterSize_expr_list(this);
   11713           0 : }
   11714             : 
   11715           0 : void accparser::Size_expr_listContext::exitRule(tree::ParseTreeListener *listener) {
   11716           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11717           0 :   if (parserListener != nullptr)
   11718           0 :     parserListener->exitSize_expr_list(this);
   11719           0 : }
   11720             : 
   11721             : 
   11722           0 : antlrcpp::Any accparser::Size_expr_listContext::accept(tree::ParseTreeVisitor *visitor) {
   11723           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11724           0 :     return parserVisitor->visitSize_expr_list(this);
   11725             :   else
   11726           0 :     return visitor->visitChildren(this);
   11727             : }
   11728             : 
   11729           0 : accparser::Size_expr_listContext* accparser::size_expr_list() {
   11730           0 :   Size_expr_listContext *_localctx = _tracker.createInstance<Size_expr_listContext>(_ctx, getState());
   11731           0 :   enterRule(_localctx, 258, accparser::RuleSize_expr_list);
   11732           0 :   size_t _la = 0;
   11733             : 
   11734           0 :   auto onExit = finally([=] {
   11735           0 :     exitRule();
   11736           0 :   });
   11737           0 :   try {
   11738           0 :     enterOuterAlt(_localctx, 1);
   11739           0 :     setState(1084); 
   11740           0 :     _errHandler->sync(this);
   11741           0 :     _la = _input->LA(1);
   11742           0 :     do {
   11743           0 :       setState(1084);
   11744           0 :       _errHandler->sync(this);
   11745           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 54, _ctx)) {
   11746           0 :       case 1: {
   11747           0 :         setState(1080);
   11748           0 :         var();
   11749           0 :         setState(1081);
   11750           0 :         match(accparser::COMMA);
   11751             :         break;
   11752             :       }
   11753             : 
   11754           0 :       case 2: {
   11755           0 :         setState(1083);
   11756           0 :         var();
   11757             :         break;
   11758             :       }
   11759             : 
   11760             :       }
   11761           0 :       setState(1086); 
   11762           0 :       _errHandler->sync(this);
   11763           0 :       _la = _input->LA(1);
   11764           0 :     } while (_la == accparser::EXPR);
   11765             :    
   11766             :   }
   11767           0 :   catch (RecognitionException &e) {
   11768           0 :     _errHandler->reportError(this, e);
   11769           0 :     _localctx->exception = std::current_exception();
   11770           0 :     _errHandler->recover(this, _localctx->exception);
   11771             :   }
   11772             : 
   11773           0 :   return _localctx;
   11774             : }
   11775             : 
   11776             : //----------------- Use_device_clauseContext ------------------------------------------------------------------
   11777             : 
   11778           0 : accparser::Use_device_clauseContext::Use_device_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11779           0 :   : ParserRuleContext(parent, invokingState) {
   11780           0 : }
   11781             : 
   11782           0 : tree::TerminalNode* accparser::Use_device_clauseContext::USE_DEVICE() {
   11783           0 :   return getToken(accparser::USE_DEVICE, 0);
   11784             : }
   11785             : 
   11786           0 : tree::TerminalNode* accparser::Use_device_clauseContext::LEFT_PAREN() {
   11787           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11788             : }
   11789             : 
   11790           0 : accparser::Var_listContext* accparser::Use_device_clauseContext::var_list() {
   11791           0 :   return getRuleContext<accparser::Var_listContext>(0);
   11792             : }
   11793             : 
   11794           0 : tree::TerminalNode* accparser::Use_device_clauseContext::RIGHT_PAREN() {
   11795           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11796             : }
   11797             : 
   11798             : 
   11799           0 : size_t accparser::Use_device_clauseContext::getRuleIndex() const {
   11800           0 :   return accparser::RuleUse_device_clause;
   11801             : }
   11802             : 
   11803           0 : void accparser::Use_device_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11804           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11805           0 :   if (parserListener != nullptr)
   11806           0 :     parserListener->enterUse_device_clause(this);
   11807           0 : }
   11808             : 
   11809           0 : void accparser::Use_device_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11810           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11811           0 :   if (parserListener != nullptr)
   11812           0 :     parserListener->exitUse_device_clause(this);
   11813           0 : }
   11814             : 
   11815             : 
   11816           0 : antlrcpp::Any accparser::Use_device_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11817           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11818           0 :     return parserVisitor->visitUse_device_clause(this);
   11819             :   else
   11820           0 :     return visitor->visitChildren(this);
   11821             : }
   11822             : 
   11823           0 : accparser::Use_device_clauseContext* accparser::use_device_clause() {
   11824           0 :   Use_device_clauseContext *_localctx = _tracker.createInstance<Use_device_clauseContext>(_ctx, getState());
   11825           0 :   enterRule(_localctx, 260, accparser::RuleUse_device_clause);
   11826             : 
   11827           0 :   auto onExit = finally([=] {
   11828           0 :     exitRule();
   11829           0 :   });
   11830           0 :   try {
   11831           0 :     enterOuterAlt(_localctx, 1);
   11832           0 :     setState(1088);
   11833           0 :     match(accparser::USE_DEVICE);
   11834           0 :     setState(1089);
   11835           0 :     match(accparser::LEFT_PAREN);
   11836           0 :     setState(1090);
   11837           0 :     var_list();
   11838           0 :     setState(1091);
   11839           0 :     match(accparser::RIGHT_PAREN);
   11840             :    
   11841             :   }
   11842           0 :   catch (RecognitionException &e) {
   11843           0 :     _errHandler->reportError(this, e);
   11844           0 :     _localctx->exception = std::current_exception();
   11845           0 :     _errHandler->recover(this, _localctx->exception);
   11846             :   }
   11847             : 
   11848           0 :   return _localctx;
   11849             : }
   11850             : 
   11851             : //----------------- Vector_clauseContext ------------------------------------------------------------------
   11852             : 
   11853           0 : accparser::Vector_clauseContext::Vector_clauseContext(ParserRuleContext *parent, size_t invokingState)
   11854           0 :   : ParserRuleContext(parent, invokingState) {
   11855           0 : }
   11856             : 
   11857           0 : tree::TerminalNode* accparser::Vector_clauseContext::VECTOR() {
   11858           0 :   return getToken(accparser::VECTOR, 0);
   11859             : }
   11860             : 
   11861           0 : accparser::Vector_clause_argsContext* accparser::Vector_clauseContext::vector_clause_args() {
   11862           0 :   return getRuleContext<accparser::Vector_clause_argsContext>(0);
   11863             : }
   11864             : 
   11865             : 
   11866           0 : size_t accparser::Vector_clauseContext::getRuleIndex() const {
   11867           0 :   return accparser::RuleVector_clause;
   11868             : }
   11869             : 
   11870           0 : void accparser::Vector_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   11871           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11872           0 :   if (parserListener != nullptr)
   11873           0 :     parserListener->enterVector_clause(this);
   11874           0 : }
   11875             : 
   11876           0 : void accparser::Vector_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   11877           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11878           0 :   if (parserListener != nullptr)
   11879           0 :     parserListener->exitVector_clause(this);
   11880           0 : }
   11881             : 
   11882             : 
   11883           0 : antlrcpp::Any accparser::Vector_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   11884           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11885           0 :     return parserVisitor->visitVector_clause(this);
   11886             :   else
   11887           0 :     return visitor->visitChildren(this);
   11888             : }
   11889             : 
   11890           0 : accparser::Vector_clauseContext* accparser::vector_clause() {
   11891           0 :   Vector_clauseContext *_localctx = _tracker.createInstance<Vector_clauseContext>(_ctx, getState());
   11892           0 :   enterRule(_localctx, 262, accparser::RuleVector_clause);
   11893             : 
   11894           0 :   auto onExit = finally([=] {
   11895           0 :     exitRule();
   11896           0 :   });
   11897           0 :   try {
   11898           0 :     setState(1096);
   11899           0 :     _errHandler->sync(this);
   11900           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 56, _ctx)) {
   11901           0 :     case 1: {
   11902           0 :       enterOuterAlt(_localctx, 1);
   11903           0 :       setState(1093);
   11904           0 :       match(accparser::VECTOR);
   11905             :       break;
   11906             :     }
   11907             : 
   11908           0 :     case 2: {
   11909           0 :       enterOuterAlt(_localctx, 2);
   11910           0 :       setState(1094);
   11911           0 :       match(accparser::VECTOR);
   11912           0 :       setState(1095);
   11913           0 :       vector_clause_args();
   11914             :       break;
   11915             :     }
   11916             : 
   11917             :     }
   11918             :    
   11919             :   }
   11920           0 :   catch (RecognitionException &e) {
   11921           0 :     _errHandler->reportError(this, e);
   11922           0 :     _localctx->exception = std::current_exception();
   11923           0 :     _errHandler->recover(this, _localctx->exception);
   11924             :   }
   11925             : 
   11926           0 :   return _localctx;
   11927             : }
   11928             : 
   11929             : //----------------- Vector_clause_argsContext ------------------------------------------------------------------
   11930             : 
   11931           0 : accparser::Vector_clause_argsContext::Vector_clause_argsContext(ParserRuleContext *parent, size_t invokingState)
   11932           0 :   : ParserRuleContext(parent, invokingState) {
   11933           0 : }
   11934             : 
   11935           0 : tree::TerminalNode* accparser::Vector_clause_argsContext::LEFT_PAREN() {
   11936           0 :   return getToken(accparser::LEFT_PAREN, 0);
   11937             : }
   11938             : 
   11939           0 : accparser::Vector_clause_modifierContext* accparser::Vector_clause_argsContext::vector_clause_modifier() {
   11940           0 :   return getRuleContext<accparser::Vector_clause_modifierContext>(0);
   11941             : }
   11942             : 
   11943           0 : tree::TerminalNode* accparser::Vector_clause_argsContext::COLON() {
   11944           0 :   return getToken(accparser::COLON, 0);
   11945             : }
   11946             : 
   11947           0 : accparser::Int_exprContext* accparser::Vector_clause_argsContext::int_expr() {
   11948           0 :   return getRuleContext<accparser::Int_exprContext>(0);
   11949             : }
   11950             : 
   11951           0 : tree::TerminalNode* accparser::Vector_clause_argsContext::RIGHT_PAREN() {
   11952           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   11953             : }
   11954             : 
   11955             : 
   11956           0 : size_t accparser::Vector_clause_argsContext::getRuleIndex() const {
   11957           0 :   return accparser::RuleVector_clause_args;
   11958             : }
   11959             : 
   11960           0 : void accparser::Vector_clause_argsContext::enterRule(tree::ParseTreeListener *listener) {
   11961           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11962           0 :   if (parserListener != nullptr)
   11963           0 :     parserListener->enterVector_clause_args(this);
   11964           0 : }
   11965             : 
   11966           0 : void accparser::Vector_clause_argsContext::exitRule(tree::ParseTreeListener *listener) {
   11967           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   11968           0 :   if (parserListener != nullptr)
   11969           0 :     parserListener->exitVector_clause_args(this);
   11970           0 : }
   11971             : 
   11972             : 
   11973           0 : antlrcpp::Any accparser::Vector_clause_argsContext::accept(tree::ParseTreeVisitor *visitor) {
   11974           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   11975           0 :     return parserVisitor->visitVector_clause_args(this);
   11976             :   else
   11977           0 :     return visitor->visitChildren(this);
   11978             : }
   11979             : 
   11980           0 : accparser::Vector_clause_argsContext* accparser::vector_clause_args() {
   11981           0 :   Vector_clause_argsContext *_localctx = _tracker.createInstance<Vector_clause_argsContext>(_ctx, getState());
   11982           0 :   enterRule(_localctx, 264, accparser::RuleVector_clause_args);
   11983             : 
   11984           0 :   auto onExit = finally([=] {
   11985           0 :     exitRule();
   11986           0 :   });
   11987           0 :   try {
   11988           0 :     setState(1108);
   11989           0 :     _errHandler->sync(this);
   11990           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 57, _ctx)) {
   11991           0 :     case 1: {
   11992           0 :       enterOuterAlt(_localctx, 1);
   11993           0 :       setState(1098);
   11994           0 :       match(accparser::LEFT_PAREN);
   11995           0 :       setState(1099);
   11996           0 :       vector_clause_modifier();
   11997           0 :       setState(1100);
   11998           0 :       match(accparser::COLON);
   11999           0 :       setState(1101);
   12000           0 :       int_expr();
   12001           0 :       setState(1102);
   12002           0 :       match(accparser::RIGHT_PAREN);
   12003             :       break;
   12004             :     }
   12005             : 
   12006           0 :     case 2: {
   12007           0 :       enterOuterAlt(_localctx, 2);
   12008           0 :       setState(1104);
   12009           0 :       match(accparser::LEFT_PAREN);
   12010           0 :       setState(1105);
   12011           0 :       int_expr();
   12012           0 :       setState(1106);
   12013           0 :       match(accparser::RIGHT_PAREN);
   12014             :       break;
   12015             :     }
   12016             : 
   12017             :     }
   12018             :    
   12019             :   }
   12020           0 :   catch (RecognitionException &e) {
   12021           0 :     _errHandler->reportError(this, e);
   12022           0 :     _localctx->exception = std::current_exception();
   12023           0 :     _errHandler->recover(this, _localctx->exception);
   12024             :   }
   12025             : 
   12026           0 :   return _localctx;
   12027             : }
   12028             : 
   12029             : //----------------- Vector_clause_modifierContext ------------------------------------------------------------------
   12030             : 
   12031           0 : accparser::Vector_clause_modifierContext::Vector_clause_modifierContext(ParserRuleContext *parent, size_t invokingState)
   12032           0 :   : ParserRuleContext(parent, invokingState) {
   12033           0 : }
   12034             : 
   12035           0 : tree::TerminalNode* accparser::Vector_clause_modifierContext::LENGTH() {
   12036           0 :   return getToken(accparser::LENGTH, 0);
   12037             : }
   12038             : 
   12039             : 
   12040           0 : size_t accparser::Vector_clause_modifierContext::getRuleIndex() const {
   12041           0 :   return accparser::RuleVector_clause_modifier;
   12042             : }
   12043             : 
   12044           0 : void accparser::Vector_clause_modifierContext::enterRule(tree::ParseTreeListener *listener) {
   12045           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12046           0 :   if (parserListener != nullptr)
   12047           0 :     parserListener->enterVector_clause_modifier(this);
   12048           0 : }
   12049             : 
   12050           0 : void accparser::Vector_clause_modifierContext::exitRule(tree::ParseTreeListener *listener) {
   12051           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12052           0 :   if (parserListener != nullptr)
   12053           0 :     parserListener->exitVector_clause_modifier(this);
   12054           0 : }
   12055             : 
   12056             : 
   12057           0 : antlrcpp::Any accparser::Vector_clause_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
   12058           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12059           0 :     return parserVisitor->visitVector_clause_modifier(this);
   12060             :   else
   12061           0 :     return visitor->visitChildren(this);
   12062             : }
   12063             : 
   12064           0 : accparser::Vector_clause_modifierContext* accparser::vector_clause_modifier() {
   12065           0 :   Vector_clause_modifierContext *_localctx = _tracker.createInstance<Vector_clause_modifierContext>(_ctx, getState());
   12066           0 :   enterRule(_localctx, 266, accparser::RuleVector_clause_modifier);
   12067             : 
   12068           0 :   auto onExit = finally([=] {
   12069           0 :     exitRule();
   12070           0 :   });
   12071           0 :   try {
   12072           0 :     enterOuterAlt(_localctx, 1);
   12073           0 :     setState(1110);
   12074           0 :     match(accparser::LENGTH);
   12075             :    
   12076             :   }
   12077           0 :   catch (RecognitionException &e) {
   12078           0 :     _errHandler->reportError(this, e);
   12079           0 :     _localctx->exception = std::current_exception();
   12080           0 :     _errHandler->recover(this, _localctx->exception);
   12081             :   }
   12082             : 
   12083           0 :   return _localctx;
   12084             : }
   12085             : 
   12086             : //----------------- Vector_no_modifier_clauseContext ------------------------------------------------------------------
   12087             : 
   12088           0 : accparser::Vector_no_modifier_clauseContext::Vector_no_modifier_clauseContext(ParserRuleContext *parent, size_t invokingState)
   12089           0 :   : ParserRuleContext(parent, invokingState) {
   12090           0 : }
   12091             : 
   12092           0 : tree::TerminalNode* accparser::Vector_no_modifier_clauseContext::VECTOR() {
   12093           0 :   return getToken(accparser::VECTOR, 0);
   12094             : }
   12095             : 
   12096             : 
   12097           0 : size_t accparser::Vector_no_modifier_clauseContext::getRuleIndex() const {
   12098           0 :   return accparser::RuleVector_no_modifier_clause;
   12099             : }
   12100             : 
   12101           0 : void accparser::Vector_no_modifier_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   12102           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12103           0 :   if (parserListener != nullptr)
   12104           0 :     parserListener->enterVector_no_modifier_clause(this);
   12105           0 : }
   12106             : 
   12107           0 : void accparser::Vector_no_modifier_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   12108           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12109           0 :   if (parserListener != nullptr)
   12110           0 :     parserListener->exitVector_no_modifier_clause(this);
   12111           0 : }
   12112             : 
   12113             : 
   12114           0 : antlrcpp::Any accparser::Vector_no_modifier_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   12115           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12116           0 :     return parserVisitor->visitVector_no_modifier_clause(this);
   12117             :   else
   12118           0 :     return visitor->visitChildren(this);
   12119             : }
   12120             : 
   12121           0 : accparser::Vector_no_modifier_clauseContext* accparser::vector_no_modifier_clause() {
   12122           0 :   Vector_no_modifier_clauseContext *_localctx = _tracker.createInstance<Vector_no_modifier_clauseContext>(_ctx, getState());
   12123           0 :   enterRule(_localctx, 268, accparser::RuleVector_no_modifier_clause);
   12124             : 
   12125           0 :   auto onExit = finally([=] {
   12126           0 :     exitRule();
   12127           0 :   });
   12128           0 :   try {
   12129           0 :     enterOuterAlt(_localctx, 1);
   12130           0 :     setState(1112);
   12131           0 :     match(accparser::VECTOR);
   12132             :    
   12133             :   }
   12134           0 :   catch (RecognitionException &e) {
   12135           0 :     _errHandler->reportError(this, e);
   12136           0 :     _localctx->exception = std::current_exception();
   12137           0 :     _errHandler->recover(this, _localctx->exception);
   12138             :   }
   12139             : 
   12140           0 :   return _localctx;
   12141             : }
   12142             : 
   12143             : //----------------- Vector_length_clauseContext ------------------------------------------------------------------
   12144             : 
   12145           0 : accparser::Vector_length_clauseContext::Vector_length_clauseContext(ParserRuleContext *parent, size_t invokingState)
   12146           0 :   : ParserRuleContext(parent, invokingState) {
   12147           0 : }
   12148             : 
   12149           0 : tree::TerminalNode* accparser::Vector_length_clauseContext::VECTOR_LENGTH() {
   12150           0 :   return getToken(accparser::VECTOR_LENGTH, 0);
   12151             : }
   12152             : 
   12153           0 : tree::TerminalNode* accparser::Vector_length_clauseContext::LEFT_PAREN() {
   12154           0 :   return getToken(accparser::LEFT_PAREN, 0);
   12155             : }
   12156             : 
   12157           0 : accparser::Int_exprContext* accparser::Vector_length_clauseContext::int_expr() {
   12158           0 :   return getRuleContext<accparser::Int_exprContext>(0);
   12159             : }
   12160             : 
   12161           0 : tree::TerminalNode* accparser::Vector_length_clauseContext::RIGHT_PAREN() {
   12162           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   12163             : }
   12164             : 
   12165             : 
   12166           0 : size_t accparser::Vector_length_clauseContext::getRuleIndex() const {
   12167           0 :   return accparser::RuleVector_length_clause;
   12168             : }
   12169             : 
   12170           0 : void accparser::Vector_length_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   12171           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12172           0 :   if (parserListener != nullptr)
   12173           0 :     parserListener->enterVector_length_clause(this);
   12174           0 : }
   12175             : 
   12176           0 : void accparser::Vector_length_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   12177           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12178           0 :   if (parserListener != nullptr)
   12179           0 :     parserListener->exitVector_length_clause(this);
   12180           0 : }
   12181             : 
   12182             : 
   12183           0 : antlrcpp::Any accparser::Vector_length_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   12184           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12185           0 :     return parserVisitor->visitVector_length_clause(this);
   12186             :   else
   12187           0 :     return visitor->visitChildren(this);
   12188             : }
   12189             : 
   12190           0 : accparser::Vector_length_clauseContext* accparser::vector_length_clause() {
   12191           0 :   Vector_length_clauseContext *_localctx = _tracker.createInstance<Vector_length_clauseContext>(_ctx, getState());
   12192           0 :   enterRule(_localctx, 270, accparser::RuleVector_length_clause);
   12193             : 
   12194           0 :   auto onExit = finally([=] {
   12195           0 :     exitRule();
   12196           0 :   });
   12197           0 :   try {
   12198           0 :     enterOuterAlt(_localctx, 1);
   12199           0 :     setState(1114);
   12200           0 :     match(accparser::VECTOR_LENGTH);
   12201           0 :     setState(1115);
   12202           0 :     match(accparser::LEFT_PAREN);
   12203           0 :     setState(1116);
   12204           0 :     int_expr();
   12205           0 :     setState(1117);
   12206           0 :     match(accparser::RIGHT_PAREN);
   12207             :    
   12208             :   }
   12209           0 :   catch (RecognitionException &e) {
   12210           0 :     _errHandler->reportError(this, e);
   12211           0 :     _localctx->exception = std::current_exception();
   12212           0 :     _errHandler->recover(this, _localctx->exception);
   12213             :   }
   12214             : 
   12215           0 :   return _localctx;
   12216             : }
   12217             : 
   12218             : //----------------- Wait_clauseContext ------------------------------------------------------------------
   12219             : 
   12220           0 : accparser::Wait_clauseContext::Wait_clauseContext(ParserRuleContext *parent, size_t invokingState)
   12221           0 :   : ParserRuleContext(parent, invokingState) {
   12222           0 : }
   12223             : 
   12224           0 : tree::TerminalNode* accparser::Wait_clauseContext::WAIT() {
   12225           0 :   return getToken(accparser::WAIT, 0);
   12226             : }
   12227             : 
   12228           0 : tree::TerminalNode* accparser::Wait_clauseContext::LEFT_PAREN() {
   12229           0 :   return getToken(accparser::LEFT_PAREN, 0);
   12230             : }
   12231             : 
   12232           0 : accparser::Int_expr_listContext* accparser::Wait_clauseContext::int_expr_list() {
   12233           0 :   return getRuleContext<accparser::Int_expr_listContext>(0);
   12234             : }
   12235             : 
   12236           0 : tree::TerminalNode* accparser::Wait_clauseContext::RIGHT_PAREN() {
   12237           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   12238             : }
   12239             : 
   12240             : 
   12241           0 : size_t accparser::Wait_clauseContext::getRuleIndex() const {
   12242           0 :   return accparser::RuleWait_clause;
   12243             : }
   12244             : 
   12245           0 : void accparser::Wait_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   12246           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12247           0 :   if (parserListener != nullptr)
   12248           0 :     parserListener->enterWait_clause(this);
   12249           0 : }
   12250             : 
   12251           0 : void accparser::Wait_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   12252           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12253           0 :   if (parserListener != nullptr)
   12254           0 :     parserListener->exitWait_clause(this);
   12255           0 : }
   12256             : 
   12257             : 
   12258           0 : antlrcpp::Any accparser::Wait_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   12259           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12260           0 :     return parserVisitor->visitWait_clause(this);
   12261             :   else
   12262           0 :     return visitor->visitChildren(this);
   12263             : }
   12264             : 
   12265           0 : accparser::Wait_clauseContext* accparser::wait_clause() {
   12266           0 :   Wait_clauseContext *_localctx = _tracker.createInstance<Wait_clauseContext>(_ctx, getState());
   12267           0 :   enterRule(_localctx, 272, accparser::RuleWait_clause);
   12268             : 
   12269           0 :   auto onExit = finally([=] {
   12270           0 :     exitRule();
   12271           0 :   });
   12272           0 :   try {
   12273           0 :     setState(1125);
   12274           0 :     _errHandler->sync(this);
   12275           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 58, _ctx)) {
   12276           0 :     case 1: {
   12277           0 :       enterOuterAlt(_localctx, 1);
   12278           0 :       setState(1119);
   12279           0 :       match(accparser::WAIT);
   12280             :       break;
   12281             :     }
   12282             : 
   12283           0 :     case 2: {
   12284           0 :       enterOuterAlt(_localctx, 2);
   12285           0 :       setState(1120);
   12286           0 :       match(accparser::WAIT);
   12287           0 :       setState(1121);
   12288           0 :       match(accparser::LEFT_PAREN);
   12289           0 :       setState(1122);
   12290           0 :       int_expr_list();
   12291           0 :       setState(1123);
   12292           0 :       match(accparser::RIGHT_PAREN);
   12293             :       break;
   12294             :     }
   12295             : 
   12296             :     }
   12297             :    
   12298             :   }
   12299           0 :   catch (RecognitionException &e) {
   12300           0 :     _errHandler->reportError(this, e);
   12301           0 :     _localctx->exception = std::current_exception();
   12302           0 :     _errHandler->recover(this, _localctx->exception);
   12303             :   }
   12304             : 
   12305           0 :   return _localctx;
   12306             : }
   12307             : 
   12308             : //----------------- Wait_argument_clauseContext ------------------------------------------------------------------
   12309             : 
   12310           0 : accparser::Wait_argument_clauseContext::Wait_argument_clauseContext(ParserRuleContext *parent, size_t invokingState)
   12311           0 :   : ParserRuleContext(parent, invokingState) {
   12312           0 : }
   12313             : 
   12314           0 : tree::TerminalNode* accparser::Wait_argument_clauseContext::WAIT() {
   12315           0 :   return getToken(accparser::WAIT, 0);
   12316             : }
   12317             : 
   12318           0 : tree::TerminalNode* accparser::Wait_argument_clauseContext::LEFT_PAREN() {
   12319           0 :   return getToken(accparser::LEFT_PAREN, 0);
   12320             : }
   12321             : 
   12322           0 : accparser::Wait_argumentContext* accparser::Wait_argument_clauseContext::wait_argument() {
   12323           0 :   return getRuleContext<accparser::Wait_argumentContext>(0);
   12324             : }
   12325             : 
   12326           0 : tree::TerminalNode* accparser::Wait_argument_clauseContext::RIGHT_PAREN() {
   12327           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   12328             : }
   12329             : 
   12330             : 
   12331           0 : size_t accparser::Wait_argument_clauseContext::getRuleIndex() const {
   12332           0 :   return accparser::RuleWait_argument_clause;
   12333             : }
   12334             : 
   12335           0 : void accparser::Wait_argument_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   12336           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12337           0 :   if (parserListener != nullptr)
   12338           0 :     parserListener->enterWait_argument_clause(this);
   12339           0 : }
   12340             : 
   12341           0 : void accparser::Wait_argument_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   12342           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12343           0 :   if (parserListener != nullptr)
   12344           0 :     parserListener->exitWait_argument_clause(this);
   12345           0 : }
   12346             : 
   12347             : 
   12348           0 : antlrcpp::Any accparser::Wait_argument_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   12349           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12350           0 :     return parserVisitor->visitWait_argument_clause(this);
   12351             :   else
   12352           0 :     return visitor->visitChildren(this);
   12353             : }
   12354             : 
   12355           0 : accparser::Wait_argument_clauseContext* accparser::wait_argument_clause() {
   12356           0 :   Wait_argument_clauseContext *_localctx = _tracker.createInstance<Wait_argument_clauseContext>(_ctx, getState());
   12357           0 :   enterRule(_localctx, 274, accparser::RuleWait_argument_clause);
   12358             : 
   12359           0 :   auto onExit = finally([=] {
   12360           0 :     exitRule();
   12361           0 :   });
   12362           0 :   try {
   12363           0 :     setState(1133);
   12364           0 :     _errHandler->sync(this);
   12365           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 59, _ctx)) {
   12366           0 :     case 1: {
   12367           0 :       enterOuterAlt(_localctx, 1);
   12368           0 :       setState(1127);
   12369           0 :       match(accparser::WAIT);
   12370             :       break;
   12371             :     }
   12372             : 
   12373           0 :     case 2: {
   12374           0 :       enterOuterAlt(_localctx, 2);
   12375           0 :       setState(1128);
   12376           0 :       match(accparser::WAIT);
   12377           0 :       setState(1129);
   12378           0 :       match(accparser::LEFT_PAREN);
   12379           0 :       setState(1130);
   12380           0 :       wait_argument();
   12381           0 :       setState(1131);
   12382           0 :       match(accparser::RIGHT_PAREN);
   12383             :       break;
   12384             :     }
   12385             : 
   12386             :     }
   12387             :    
   12388             :   }
   12389           0 :   catch (RecognitionException &e) {
   12390           0 :     _errHandler->reportError(this, e);
   12391           0 :     _localctx->exception = std::current_exception();
   12392           0 :     _errHandler->recover(this, _localctx->exception);
   12393             :   }
   12394             : 
   12395           0 :   return _localctx;
   12396             : }
   12397             : 
   12398             : //----------------- Wait_argumentContext ------------------------------------------------------------------
   12399             : 
   12400           0 : accparser::Wait_argumentContext::Wait_argumentContext(ParserRuleContext *parent, size_t invokingState)
   12401           0 :   : ParserRuleContext(parent, invokingState) {
   12402           0 : }
   12403             : 
   12404           0 : tree::TerminalNode* accparser::Wait_argumentContext::DEVNUM() {
   12405           0 :   return getToken(accparser::DEVNUM, 0);
   12406             : }
   12407             : 
   12408           0 : std::vector<tree::TerminalNode *> accparser::Wait_argumentContext::COLON() {
   12409           0 :   return getTokens(accparser::COLON);
   12410             : }
   12411             : 
   12412           0 : tree::TerminalNode* accparser::Wait_argumentContext::COLON(size_t i) {
   12413           0 :   return getToken(accparser::COLON, i);
   12414             : }
   12415             : 
   12416           0 : accparser::Wait_argument_int_exprContext* accparser::Wait_argumentContext::wait_argument_int_expr() {
   12417           0 :   return getRuleContext<accparser::Wait_argument_int_exprContext>(0);
   12418             : }
   12419             : 
   12420           0 : accparser::Wait_argument_queuesContext* accparser::Wait_argumentContext::wait_argument_queues() {
   12421           0 :   return getRuleContext<accparser::Wait_argument_queuesContext>(0);
   12422             : }
   12423             : 
   12424           0 : accparser::Wait_int_expr_listContext* accparser::Wait_argumentContext::wait_int_expr_list() {
   12425           0 :   return getRuleContext<accparser::Wait_int_expr_listContext>(0);
   12426             : }
   12427             : 
   12428             : 
   12429           0 : size_t accparser::Wait_argumentContext::getRuleIndex() const {
   12430           0 :   return accparser::RuleWait_argument;
   12431             : }
   12432             : 
   12433           0 : void accparser::Wait_argumentContext::enterRule(tree::ParseTreeListener *listener) {
   12434           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12435           0 :   if (parserListener != nullptr)
   12436           0 :     parserListener->enterWait_argument(this);
   12437           0 : }
   12438             : 
   12439           0 : void accparser::Wait_argumentContext::exitRule(tree::ParseTreeListener *listener) {
   12440           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12441           0 :   if (parserListener != nullptr)
   12442           0 :     parserListener->exitWait_argument(this);
   12443           0 : }
   12444             : 
   12445             : 
   12446           0 : antlrcpp::Any accparser::Wait_argumentContext::accept(tree::ParseTreeVisitor *visitor) {
   12447           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12448           0 :     return parserVisitor->visitWait_argument(this);
   12449             :   else
   12450           0 :     return visitor->visitChildren(this);
   12451             : }
   12452             : 
   12453           0 : accparser::Wait_argumentContext* accparser::wait_argument() {
   12454           0 :   Wait_argumentContext *_localctx = _tracker.createInstance<Wait_argumentContext>(_ctx, getState());
   12455           0 :   enterRule(_localctx, 276, accparser::RuleWait_argument);
   12456             : 
   12457           0 :   auto onExit = finally([=] {
   12458           0 :     exitRule();
   12459           0 :   });
   12460           0 :   try {
   12461           0 :     setState(1154);
   12462           0 :     _errHandler->sync(this);
   12463           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 60, _ctx)) {
   12464           0 :     case 1: {
   12465           0 :       enterOuterAlt(_localctx, 1);
   12466           0 :       setState(1135);
   12467           0 :       match(accparser::DEVNUM);
   12468           0 :       setState(1136);
   12469           0 :       match(accparser::COLON);
   12470           0 :       setState(1137);
   12471           0 :       wait_argument_int_expr();
   12472           0 :       setState(1138);
   12473           0 :       match(accparser::COLON);
   12474           0 :       setState(1139);
   12475           0 :       wait_argument_queues();
   12476           0 :       setState(1140);
   12477           0 :       match(accparser::COLON);
   12478           0 :       setState(1141);
   12479           0 :       wait_int_expr_list();
   12480             :       break;
   12481             :     }
   12482             : 
   12483           0 :     case 2: {
   12484           0 :       enterOuterAlt(_localctx, 2);
   12485           0 :       setState(1143);
   12486           0 :       match(accparser::DEVNUM);
   12487           0 :       setState(1144);
   12488           0 :       match(accparser::COLON);
   12489           0 :       setState(1145);
   12490           0 :       wait_argument_int_expr();
   12491           0 :       setState(1146);
   12492           0 :       match(accparser::COLON);
   12493           0 :       setState(1147);
   12494           0 :       wait_int_expr_list();
   12495             :       break;
   12496             :     }
   12497             : 
   12498           0 :     case 3: {
   12499           0 :       enterOuterAlt(_localctx, 3);
   12500           0 :       setState(1149);
   12501           0 :       wait_argument_queues();
   12502           0 :       setState(1150);
   12503           0 :       match(accparser::COLON);
   12504           0 :       setState(1151);
   12505           0 :       wait_int_expr_list();
   12506             :       break;
   12507             :     }
   12508             : 
   12509           0 :     case 4: {
   12510           0 :       enterOuterAlt(_localctx, 4);
   12511           0 :       setState(1153);
   12512           0 :       wait_int_expr_list();
   12513             :       break;
   12514             :     }
   12515             : 
   12516             :     }
   12517             :    
   12518             :   }
   12519           0 :   catch (RecognitionException &e) {
   12520           0 :     _errHandler->reportError(this, e);
   12521           0 :     _localctx->exception = std::current_exception();
   12522           0 :     _errHandler->recover(this, _localctx->exception);
   12523             :   }
   12524             : 
   12525           0 :   return _localctx;
   12526             : }
   12527             : 
   12528             : //----------------- Wait_int_expr_listContext ------------------------------------------------------------------
   12529             : 
   12530           0 : accparser::Wait_int_expr_listContext::Wait_int_expr_listContext(ParserRuleContext *parent, size_t invokingState)
   12531           0 :   : ParserRuleContext(parent, invokingState) {
   12532           0 : }
   12533             : 
   12534           0 : std::vector<accparser::Wait_int_exprContext *> accparser::Wait_int_expr_listContext::wait_int_expr() {
   12535           0 :   return getRuleContexts<accparser::Wait_int_exprContext>();
   12536             : }
   12537             : 
   12538           0 : accparser::Wait_int_exprContext* accparser::Wait_int_expr_listContext::wait_int_expr(size_t i) {
   12539           0 :   return getRuleContext<accparser::Wait_int_exprContext>(i);
   12540             : }
   12541             : 
   12542           0 : std::vector<tree::TerminalNode *> accparser::Wait_int_expr_listContext::COMMA() {
   12543           0 :   return getTokens(accparser::COMMA);
   12544             : }
   12545             : 
   12546           0 : tree::TerminalNode* accparser::Wait_int_expr_listContext::COMMA(size_t i) {
   12547           0 :   return getToken(accparser::COMMA, i);
   12548             : }
   12549             : 
   12550             : 
   12551           0 : size_t accparser::Wait_int_expr_listContext::getRuleIndex() const {
   12552           0 :   return accparser::RuleWait_int_expr_list;
   12553             : }
   12554             : 
   12555           0 : void accparser::Wait_int_expr_listContext::enterRule(tree::ParseTreeListener *listener) {
   12556           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12557           0 :   if (parserListener != nullptr)
   12558           0 :     parserListener->enterWait_int_expr_list(this);
   12559           0 : }
   12560             : 
   12561           0 : void accparser::Wait_int_expr_listContext::exitRule(tree::ParseTreeListener *listener) {
   12562           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12563           0 :   if (parserListener != nullptr)
   12564           0 :     parserListener->exitWait_int_expr_list(this);
   12565           0 : }
   12566             : 
   12567             : 
   12568           0 : antlrcpp::Any accparser::Wait_int_expr_listContext::accept(tree::ParseTreeVisitor *visitor) {
   12569           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12570           0 :     return parserVisitor->visitWait_int_expr_list(this);
   12571             :   else
   12572           0 :     return visitor->visitChildren(this);
   12573             : }
   12574             : 
   12575           0 : accparser::Wait_int_expr_listContext* accparser::wait_int_expr_list() {
   12576           0 :   Wait_int_expr_listContext *_localctx = _tracker.createInstance<Wait_int_expr_listContext>(_ctx, getState());
   12577           0 :   enterRule(_localctx, 278, accparser::RuleWait_int_expr_list);
   12578           0 :   size_t _la = 0;
   12579             : 
   12580           0 :   auto onExit = finally([=] {
   12581           0 :     exitRule();
   12582           0 :   });
   12583           0 :   try {
   12584           0 :     enterOuterAlt(_localctx, 1);
   12585           0 :     setState(1160); 
   12586           0 :     _errHandler->sync(this);
   12587           0 :     _la = _input->LA(1);
   12588           0 :     do {
   12589           0 :       setState(1160);
   12590           0 :       _errHandler->sync(this);
   12591           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 61, _ctx)) {
   12592           0 :       case 1: {
   12593           0 :         setState(1156);
   12594           0 :         wait_int_expr();
   12595           0 :         setState(1157);
   12596           0 :         match(accparser::COMMA);
   12597             :         break;
   12598             :       }
   12599             : 
   12600           0 :       case 2: {
   12601           0 :         setState(1159);
   12602           0 :         wait_int_expr();
   12603             :         break;
   12604             :       }
   12605             : 
   12606             :       }
   12607           0 :       setState(1162); 
   12608           0 :       _errHandler->sync(this);
   12609           0 :       _la = _input->LA(1);
   12610           0 :     } while (_la == accparser::EXPR);
   12611             :    
   12612             :   }
   12613           0 :   catch (RecognitionException &e) {
   12614           0 :     _errHandler->reportError(this, e);
   12615           0 :     _localctx->exception = std::current_exception();
   12616           0 :     _errHandler->recover(this, _localctx->exception);
   12617             :   }
   12618             : 
   12619           0 :   return _localctx;
   12620             : }
   12621             : 
   12622             : //----------------- Wait_int_exprContext ------------------------------------------------------------------
   12623             : 
   12624           0 : accparser::Wait_int_exprContext::Wait_int_exprContext(ParserRuleContext *parent, size_t invokingState)
   12625           0 :   : ParserRuleContext(parent, invokingState) {
   12626           0 : }
   12627             : 
   12628           0 : tree::TerminalNode* accparser::Wait_int_exprContext::EXPR() {
   12629           0 :   return getToken(accparser::EXPR, 0);
   12630             : }
   12631             : 
   12632             : 
   12633           0 : size_t accparser::Wait_int_exprContext::getRuleIndex() const {
   12634           0 :   return accparser::RuleWait_int_expr;
   12635             : }
   12636             : 
   12637           0 : void accparser::Wait_int_exprContext::enterRule(tree::ParseTreeListener *listener) {
   12638           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12639           0 :   if (parserListener != nullptr)
   12640           0 :     parserListener->enterWait_int_expr(this);
   12641           0 : }
   12642             : 
   12643           0 : void accparser::Wait_int_exprContext::exitRule(tree::ParseTreeListener *listener) {
   12644           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12645           0 :   if (parserListener != nullptr)
   12646           0 :     parserListener->exitWait_int_expr(this);
   12647           0 : }
   12648             : 
   12649             : 
   12650           0 : antlrcpp::Any accparser::Wait_int_exprContext::accept(tree::ParseTreeVisitor *visitor) {
   12651           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12652           0 :     return parserVisitor->visitWait_int_expr(this);
   12653             :   else
   12654           0 :     return visitor->visitChildren(this);
   12655             : }
   12656             : 
   12657           0 : accparser::Wait_int_exprContext* accparser::wait_int_expr() {
   12658           0 :   Wait_int_exprContext *_localctx = _tracker.createInstance<Wait_int_exprContext>(_ctx, getState());
   12659           0 :   enterRule(_localctx, 280, accparser::RuleWait_int_expr);
   12660             : 
   12661           0 :   auto onExit = finally([=] {
   12662           0 :     exitRule();
   12663           0 :   });
   12664           0 :   try {
   12665           0 :     enterOuterAlt(_localctx, 1);
   12666           0 :     setState(1164);
   12667           0 :     match(accparser::EXPR);
   12668             :    
   12669             :   }
   12670           0 :   catch (RecognitionException &e) {
   12671           0 :     _errHandler->reportError(this, e);
   12672           0 :     _localctx->exception = std::current_exception();
   12673           0 :     _errHandler->recover(this, _localctx->exception);
   12674             :   }
   12675             : 
   12676           0 :   return _localctx;
   12677             : }
   12678             : 
   12679             : //----------------- Wait_argument_queuesContext ------------------------------------------------------------------
   12680             : 
   12681           0 : accparser::Wait_argument_queuesContext::Wait_argument_queuesContext(ParserRuleContext *parent, size_t invokingState)
   12682           0 :   : ParserRuleContext(parent, invokingState) {
   12683           0 : }
   12684             : 
   12685           0 : tree::TerminalNode* accparser::Wait_argument_queuesContext::QUEUES() {
   12686           0 :   return getToken(accparser::QUEUES, 0);
   12687             : }
   12688             : 
   12689             : 
   12690           0 : size_t accparser::Wait_argument_queuesContext::getRuleIndex() const {
   12691           0 :   return accparser::RuleWait_argument_queues;
   12692             : }
   12693             : 
   12694           0 : void accparser::Wait_argument_queuesContext::enterRule(tree::ParseTreeListener *listener) {
   12695           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12696           0 :   if (parserListener != nullptr)
   12697           0 :     parserListener->enterWait_argument_queues(this);
   12698           0 : }
   12699             : 
   12700           0 : void accparser::Wait_argument_queuesContext::exitRule(tree::ParseTreeListener *listener) {
   12701           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12702           0 :   if (parserListener != nullptr)
   12703           0 :     parserListener->exitWait_argument_queues(this);
   12704           0 : }
   12705             : 
   12706             : 
   12707           0 : antlrcpp::Any accparser::Wait_argument_queuesContext::accept(tree::ParseTreeVisitor *visitor) {
   12708           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12709           0 :     return parserVisitor->visitWait_argument_queues(this);
   12710             :   else
   12711           0 :     return visitor->visitChildren(this);
   12712             : }
   12713             : 
   12714           0 : accparser::Wait_argument_queuesContext* accparser::wait_argument_queues() {
   12715           0 :   Wait_argument_queuesContext *_localctx = _tracker.createInstance<Wait_argument_queuesContext>(_ctx, getState());
   12716           0 :   enterRule(_localctx, 282, accparser::RuleWait_argument_queues);
   12717             : 
   12718           0 :   auto onExit = finally([=] {
   12719           0 :     exitRule();
   12720           0 :   });
   12721           0 :   try {
   12722           0 :     enterOuterAlt(_localctx, 1);
   12723           0 :     setState(1166);
   12724           0 :     match(accparser::QUEUES);
   12725             :    
   12726             :   }
   12727           0 :   catch (RecognitionException &e) {
   12728           0 :     _errHandler->reportError(this, e);
   12729           0 :     _localctx->exception = std::current_exception();
   12730           0 :     _errHandler->recover(this, _localctx->exception);
   12731             :   }
   12732             : 
   12733           0 :   return _localctx;
   12734             : }
   12735             : 
   12736             : //----------------- Wait_argument_int_exprContext ------------------------------------------------------------------
   12737             : 
   12738           0 : accparser::Wait_argument_int_exprContext::Wait_argument_int_exprContext(ParserRuleContext *parent, size_t invokingState)
   12739           0 :   : ParserRuleContext(parent, invokingState) {
   12740           0 : }
   12741             : 
   12742           0 : tree::TerminalNode* accparser::Wait_argument_int_exprContext::EXPR() {
   12743           0 :   return getToken(accparser::EXPR, 0);
   12744             : }
   12745             : 
   12746             : 
   12747           0 : size_t accparser::Wait_argument_int_exprContext::getRuleIndex() const {
   12748           0 :   return accparser::RuleWait_argument_int_expr;
   12749             : }
   12750             : 
   12751           0 : void accparser::Wait_argument_int_exprContext::enterRule(tree::ParseTreeListener *listener) {
   12752           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12753           0 :   if (parserListener != nullptr)
   12754           0 :     parserListener->enterWait_argument_int_expr(this);
   12755           0 : }
   12756             : 
   12757           0 : void accparser::Wait_argument_int_exprContext::exitRule(tree::ParseTreeListener *listener) {
   12758           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12759           0 :   if (parserListener != nullptr)
   12760           0 :     parserListener->exitWait_argument_int_expr(this);
   12761           0 : }
   12762             : 
   12763             : 
   12764           0 : antlrcpp::Any accparser::Wait_argument_int_exprContext::accept(tree::ParseTreeVisitor *visitor) {
   12765           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12766           0 :     return parserVisitor->visitWait_argument_int_expr(this);
   12767             :   else
   12768           0 :     return visitor->visitChildren(this);
   12769             : }
   12770             : 
   12771           0 : accparser::Wait_argument_int_exprContext* accparser::wait_argument_int_expr() {
   12772           0 :   Wait_argument_int_exprContext *_localctx = _tracker.createInstance<Wait_argument_int_exprContext>(_ctx, getState());
   12773           0 :   enterRule(_localctx, 284, accparser::RuleWait_argument_int_expr);
   12774             : 
   12775           0 :   auto onExit = finally([=] {
   12776           0 :     exitRule();
   12777           0 :   });
   12778           0 :   try {
   12779           0 :     enterOuterAlt(_localctx, 1);
   12780           0 :     setState(1168);
   12781           0 :     match(accparser::EXPR);
   12782             :    
   12783             :   }
   12784           0 :   catch (RecognitionException &e) {
   12785           0 :     _errHandler->reportError(this, e);
   12786           0 :     _localctx->exception = std::current_exception();
   12787           0 :     _errHandler->recover(this, _localctx->exception);
   12788             :   }
   12789             : 
   12790           0 :   return _localctx;
   12791             : }
   12792             : 
   12793             : //----------------- Worker_clauseContext ------------------------------------------------------------------
   12794             : 
   12795           0 : accparser::Worker_clauseContext::Worker_clauseContext(ParserRuleContext *parent, size_t invokingState)
   12796           0 :   : ParserRuleContext(parent, invokingState) {
   12797           0 : }
   12798             : 
   12799           0 : tree::TerminalNode* accparser::Worker_clauseContext::WORKER() {
   12800           0 :   return getToken(accparser::WORKER, 0);
   12801             : }
   12802             : 
   12803           0 : accparser::Worker_clause_argsContext* accparser::Worker_clauseContext::worker_clause_args() {
   12804           0 :   return getRuleContext<accparser::Worker_clause_argsContext>(0);
   12805             : }
   12806             : 
   12807             : 
   12808           0 : size_t accparser::Worker_clauseContext::getRuleIndex() const {
   12809           0 :   return accparser::RuleWorker_clause;
   12810             : }
   12811             : 
   12812           0 : void accparser::Worker_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   12813           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12814           0 :   if (parserListener != nullptr)
   12815           0 :     parserListener->enterWorker_clause(this);
   12816           0 : }
   12817             : 
   12818           0 : void accparser::Worker_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   12819           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12820           0 :   if (parserListener != nullptr)
   12821           0 :     parserListener->exitWorker_clause(this);
   12822           0 : }
   12823             : 
   12824             : 
   12825           0 : antlrcpp::Any accparser::Worker_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   12826           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12827           0 :     return parserVisitor->visitWorker_clause(this);
   12828             :   else
   12829           0 :     return visitor->visitChildren(this);
   12830             : }
   12831             : 
   12832           0 : accparser::Worker_clauseContext* accparser::worker_clause() {
   12833           0 :   Worker_clauseContext *_localctx = _tracker.createInstance<Worker_clauseContext>(_ctx, getState());
   12834           0 :   enterRule(_localctx, 286, accparser::RuleWorker_clause);
   12835             : 
   12836           0 :   auto onExit = finally([=] {
   12837           0 :     exitRule();
   12838           0 :   });
   12839           0 :   try {
   12840           0 :     setState(1173);
   12841           0 :     _errHandler->sync(this);
   12842           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 63, _ctx)) {
   12843           0 :     case 1: {
   12844           0 :       enterOuterAlt(_localctx, 1);
   12845           0 :       setState(1170);
   12846           0 :       match(accparser::WORKER);
   12847             :       break;
   12848             :     }
   12849             : 
   12850           0 :     case 2: {
   12851           0 :       enterOuterAlt(_localctx, 2);
   12852           0 :       setState(1171);
   12853           0 :       match(accparser::WORKER);
   12854           0 :       setState(1172);
   12855           0 :       worker_clause_args();
   12856             :       break;
   12857             :     }
   12858             : 
   12859             :     }
   12860             :    
   12861             :   }
   12862           0 :   catch (RecognitionException &e) {
   12863           0 :     _errHandler->reportError(this, e);
   12864           0 :     _localctx->exception = std::current_exception();
   12865           0 :     _errHandler->recover(this, _localctx->exception);
   12866             :   }
   12867             : 
   12868           0 :   return _localctx;
   12869             : }
   12870             : 
   12871             : //----------------- Worker_clause_argsContext ------------------------------------------------------------------
   12872             : 
   12873           0 : accparser::Worker_clause_argsContext::Worker_clause_argsContext(ParserRuleContext *parent, size_t invokingState)
   12874           0 :   : ParserRuleContext(parent, invokingState) {
   12875           0 : }
   12876             : 
   12877           0 : tree::TerminalNode* accparser::Worker_clause_argsContext::LEFT_PAREN() {
   12878           0 :   return getToken(accparser::LEFT_PAREN, 0);
   12879             : }
   12880             : 
   12881           0 : accparser::Worker_clause_modifierContext* accparser::Worker_clause_argsContext::worker_clause_modifier() {
   12882           0 :   return getRuleContext<accparser::Worker_clause_modifierContext>(0);
   12883             : }
   12884             : 
   12885           0 : tree::TerminalNode* accparser::Worker_clause_argsContext::COLON() {
   12886           0 :   return getToken(accparser::COLON, 0);
   12887             : }
   12888             : 
   12889           0 : accparser::Int_exprContext* accparser::Worker_clause_argsContext::int_expr() {
   12890           0 :   return getRuleContext<accparser::Int_exprContext>(0);
   12891             : }
   12892             : 
   12893           0 : tree::TerminalNode* accparser::Worker_clause_argsContext::RIGHT_PAREN() {
   12894           0 :   return getToken(accparser::RIGHT_PAREN, 0);
   12895             : }
   12896             : 
   12897             : 
   12898           0 : size_t accparser::Worker_clause_argsContext::getRuleIndex() const {
   12899           0 :   return accparser::RuleWorker_clause_args;
   12900             : }
   12901             : 
   12902           0 : void accparser::Worker_clause_argsContext::enterRule(tree::ParseTreeListener *listener) {
   12903           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12904           0 :   if (parserListener != nullptr)
   12905           0 :     parserListener->enterWorker_clause_args(this);
   12906           0 : }
   12907             : 
   12908           0 : void accparser::Worker_clause_argsContext::exitRule(tree::ParseTreeListener *listener) {
   12909           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12910           0 :   if (parserListener != nullptr)
   12911           0 :     parserListener->exitWorker_clause_args(this);
   12912           0 : }
   12913             : 
   12914             : 
   12915           0 : antlrcpp::Any accparser::Worker_clause_argsContext::accept(tree::ParseTreeVisitor *visitor) {
   12916           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   12917           0 :     return parserVisitor->visitWorker_clause_args(this);
   12918             :   else
   12919           0 :     return visitor->visitChildren(this);
   12920             : }
   12921             : 
   12922           0 : accparser::Worker_clause_argsContext* accparser::worker_clause_args() {
   12923           0 :   Worker_clause_argsContext *_localctx = _tracker.createInstance<Worker_clause_argsContext>(_ctx, getState());
   12924           0 :   enterRule(_localctx, 288, accparser::RuleWorker_clause_args);
   12925             : 
   12926           0 :   auto onExit = finally([=] {
   12927           0 :     exitRule();
   12928           0 :   });
   12929           0 :   try {
   12930           0 :     setState(1185);
   12931           0 :     _errHandler->sync(this);
   12932           0 :     switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 64, _ctx)) {
   12933           0 :     case 1: {
   12934           0 :       enterOuterAlt(_localctx, 1);
   12935           0 :       setState(1175);
   12936           0 :       match(accparser::LEFT_PAREN);
   12937           0 :       setState(1176);
   12938           0 :       worker_clause_modifier();
   12939           0 :       setState(1177);
   12940           0 :       match(accparser::COLON);
   12941           0 :       setState(1178);
   12942           0 :       int_expr();
   12943           0 :       setState(1179);
   12944           0 :       match(accparser::RIGHT_PAREN);
   12945             :       break;
   12946             :     }
   12947             : 
   12948           0 :     case 2: {
   12949           0 :       enterOuterAlt(_localctx, 2);
   12950           0 :       setState(1181);
   12951           0 :       match(accparser::LEFT_PAREN);
   12952           0 :       setState(1182);
   12953           0 :       int_expr();
   12954           0 :       setState(1183);
   12955           0 :       match(accparser::RIGHT_PAREN);
   12956             :       break;
   12957             :     }
   12958             : 
   12959             :     }
   12960             :    
   12961             :   }
   12962           0 :   catch (RecognitionException &e) {
   12963           0 :     _errHandler->reportError(this, e);
   12964           0 :     _localctx->exception = std::current_exception();
   12965           0 :     _errHandler->recover(this, _localctx->exception);
   12966             :   }
   12967             : 
   12968           0 :   return _localctx;
   12969             : }
   12970             : 
   12971             : //----------------- Worker_clause_modifierContext ------------------------------------------------------------------
   12972             : 
   12973           0 : accparser::Worker_clause_modifierContext::Worker_clause_modifierContext(ParserRuleContext *parent, size_t invokingState)
   12974           0 :   : ParserRuleContext(parent, invokingState) {
   12975           0 : }
   12976             : 
   12977           0 : tree::TerminalNode* accparser::Worker_clause_modifierContext::NUM() {
   12978           0 :   return getToken(accparser::NUM, 0);
   12979             : }
   12980             : 
   12981             : 
   12982           0 : size_t accparser::Worker_clause_modifierContext::getRuleIndex() const {
   12983           0 :   return accparser::RuleWorker_clause_modifier;
   12984             : }
   12985             : 
   12986           0 : void accparser::Worker_clause_modifierContext::enterRule(tree::ParseTreeListener *listener) {
   12987           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12988           0 :   if (parserListener != nullptr)
   12989           0 :     parserListener->enterWorker_clause_modifier(this);
   12990           0 : }
   12991             : 
   12992           0 : void accparser::Worker_clause_modifierContext::exitRule(tree::ParseTreeListener *listener) {
   12993           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   12994           0 :   if (parserListener != nullptr)
   12995           0 :     parserListener->exitWorker_clause_modifier(this);
   12996           0 : }
   12997             : 
   12998             : 
   12999           0 : antlrcpp::Any accparser::Worker_clause_modifierContext::accept(tree::ParseTreeVisitor *visitor) {
   13000           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13001           0 :     return parserVisitor->visitWorker_clause_modifier(this);
   13002             :   else
   13003           0 :     return visitor->visitChildren(this);
   13004             : }
   13005             : 
   13006           0 : accparser::Worker_clause_modifierContext* accparser::worker_clause_modifier() {
   13007           0 :   Worker_clause_modifierContext *_localctx = _tracker.createInstance<Worker_clause_modifierContext>(_ctx, getState());
   13008           0 :   enterRule(_localctx, 290, accparser::RuleWorker_clause_modifier);
   13009             : 
   13010           0 :   auto onExit = finally([=] {
   13011           0 :     exitRule();
   13012           0 :   });
   13013           0 :   try {
   13014           0 :     enterOuterAlt(_localctx, 1);
   13015           0 :     setState(1187);
   13016           0 :     match(accparser::NUM);
   13017             :    
   13018             :   }
   13019           0 :   catch (RecognitionException &e) {
   13020           0 :     _errHandler->reportError(this, e);
   13021           0 :     _localctx->exception = std::current_exception();
   13022           0 :     _errHandler->recover(this, _localctx->exception);
   13023             :   }
   13024             : 
   13025           0 :   return _localctx;
   13026             : }
   13027             : 
   13028             : //----------------- Worker_no_modifier_clauseContext ------------------------------------------------------------------
   13029             : 
   13030           0 : accparser::Worker_no_modifier_clauseContext::Worker_no_modifier_clauseContext(ParserRuleContext *parent, size_t invokingState)
   13031           0 :   : ParserRuleContext(parent, invokingState) {
   13032           0 : }
   13033             : 
   13034           0 : tree::TerminalNode* accparser::Worker_no_modifier_clauseContext::WORKER() {
   13035           0 :   return getToken(accparser::WORKER, 0);
   13036             : }
   13037             : 
   13038             : 
   13039           0 : size_t accparser::Worker_no_modifier_clauseContext::getRuleIndex() const {
   13040           0 :   return accparser::RuleWorker_no_modifier_clause;
   13041             : }
   13042             : 
   13043           0 : void accparser::Worker_no_modifier_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   13044           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13045           0 :   if (parserListener != nullptr)
   13046           0 :     parserListener->enterWorker_no_modifier_clause(this);
   13047           0 : }
   13048             : 
   13049           0 : void accparser::Worker_no_modifier_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   13050           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13051           0 :   if (parserListener != nullptr)
   13052           0 :     parserListener->exitWorker_no_modifier_clause(this);
   13053           0 : }
   13054             : 
   13055             : 
   13056           0 : antlrcpp::Any accparser::Worker_no_modifier_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   13057           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13058           0 :     return parserVisitor->visitWorker_no_modifier_clause(this);
   13059             :   else
   13060           0 :     return visitor->visitChildren(this);
   13061             : }
   13062             : 
   13063           0 : accparser::Worker_no_modifier_clauseContext* accparser::worker_no_modifier_clause() {
   13064           0 :   Worker_no_modifier_clauseContext *_localctx = _tracker.createInstance<Worker_no_modifier_clauseContext>(_ctx, getState());
   13065           0 :   enterRule(_localctx, 292, accparser::RuleWorker_no_modifier_clause);
   13066             : 
   13067           0 :   auto onExit = finally([=] {
   13068           0 :     exitRule();
   13069           0 :   });
   13070           0 :   try {
   13071           0 :     enterOuterAlt(_localctx, 1);
   13072           0 :     setState(1189);
   13073           0 :     match(accparser::WORKER);
   13074             :    
   13075             :   }
   13076           0 :   catch (RecognitionException &e) {
   13077           0 :     _errHandler->reportError(this, e);
   13078           0 :     _localctx->exception = std::current_exception();
   13079           0 :     _errHandler->recover(this, _localctx->exception);
   13080             :   }
   13081             : 
   13082           0 :   return _localctx;
   13083             : }
   13084             : 
   13085             : //----------------- Write_clauseContext ------------------------------------------------------------------
   13086             : 
   13087           0 : accparser::Write_clauseContext::Write_clauseContext(ParserRuleContext *parent, size_t invokingState)
   13088           0 :   : ParserRuleContext(parent, invokingState) {
   13089           0 : }
   13090             : 
   13091           0 : tree::TerminalNode* accparser::Write_clauseContext::WRITE() {
   13092           0 :   return getToken(accparser::WRITE, 0);
   13093             : }
   13094             : 
   13095             : 
   13096           0 : size_t accparser::Write_clauseContext::getRuleIndex() const {
   13097           0 :   return accparser::RuleWrite_clause;
   13098             : }
   13099             : 
   13100           0 : void accparser::Write_clauseContext::enterRule(tree::ParseTreeListener *listener) {
   13101           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13102           0 :   if (parserListener != nullptr)
   13103           0 :     parserListener->enterWrite_clause(this);
   13104           0 : }
   13105             : 
   13106           0 : void accparser::Write_clauseContext::exitRule(tree::ParseTreeListener *listener) {
   13107           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13108           0 :   if (parserListener != nullptr)
   13109           0 :     parserListener->exitWrite_clause(this);
   13110           0 : }
   13111             : 
   13112             : 
   13113           0 : antlrcpp::Any accparser::Write_clauseContext::accept(tree::ParseTreeVisitor *visitor) {
   13114           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13115           0 :     return parserVisitor->visitWrite_clause(this);
   13116             :   else
   13117           0 :     return visitor->visitChildren(this);
   13118             : }
   13119             : 
   13120           0 : accparser::Write_clauseContext* accparser::write_clause() {
   13121           0 :   Write_clauseContext *_localctx = _tracker.createInstance<Write_clauseContext>(_ctx, getState());
   13122           0 :   enterRule(_localctx, 294, accparser::RuleWrite_clause);
   13123             : 
   13124           0 :   auto onExit = finally([=] {
   13125           0 :     exitRule();
   13126           0 :   });
   13127           0 :   try {
   13128           0 :     enterOuterAlt(_localctx, 1);
   13129           0 :     setState(1191);
   13130           0 :     match(accparser::WRITE);
   13131             :    
   13132             :   }
   13133           0 :   catch (RecognitionException &e) {
   13134           0 :     _errHandler->reportError(this, e);
   13135           0 :     _localctx->exception = std::current_exception();
   13136           0 :     _errHandler->recover(this, _localctx->exception);
   13137             :   }
   13138             : 
   13139           0 :   return _localctx;
   13140             : }
   13141             : 
   13142             : //----------------- Const_intContext ------------------------------------------------------------------
   13143             : 
   13144           0 : accparser::Const_intContext::Const_intContext(ParserRuleContext *parent, size_t invokingState)
   13145           0 :   : ParserRuleContext(parent, invokingState) {
   13146           0 : }
   13147             : 
   13148           0 : tree::TerminalNode* accparser::Const_intContext::EXPR() {
   13149           0 :   return getToken(accparser::EXPR, 0);
   13150             : }
   13151             : 
   13152             : 
   13153           0 : size_t accparser::Const_intContext::getRuleIndex() const {
   13154           0 :   return accparser::RuleConst_int;
   13155             : }
   13156             : 
   13157           0 : void accparser::Const_intContext::enterRule(tree::ParseTreeListener *listener) {
   13158           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13159           0 :   if (parserListener != nullptr)
   13160           0 :     parserListener->enterConst_int(this);
   13161           0 : }
   13162             : 
   13163           0 : void accparser::Const_intContext::exitRule(tree::ParseTreeListener *listener) {
   13164           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13165           0 :   if (parserListener != nullptr)
   13166           0 :     parserListener->exitConst_int(this);
   13167           0 : }
   13168             : 
   13169             : 
   13170           0 : antlrcpp::Any accparser::Const_intContext::accept(tree::ParseTreeVisitor *visitor) {
   13171           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13172           0 :     return parserVisitor->visitConst_int(this);
   13173             :   else
   13174           0 :     return visitor->visitChildren(this);
   13175             : }
   13176             : 
   13177           0 : accparser::Const_intContext* accparser::const_int() {
   13178           0 :   Const_intContext *_localctx = _tracker.createInstance<Const_intContext>(_ctx, getState());
   13179           0 :   enterRule(_localctx, 296, accparser::RuleConst_int);
   13180             : 
   13181           0 :   auto onExit = finally([=] {
   13182           0 :     exitRule();
   13183           0 :   });
   13184           0 :   try {
   13185           0 :     enterOuterAlt(_localctx, 1);
   13186           0 :     setState(1193);
   13187           0 :     match(accparser::EXPR);
   13188             :    
   13189             :   }
   13190           0 :   catch (RecognitionException &e) {
   13191           0 :     _errHandler->reportError(this, e);
   13192           0 :     _localctx->exception = std::current_exception();
   13193           0 :     _errHandler->recover(this, _localctx->exception);
   13194             :   }
   13195             : 
   13196           0 :   return _localctx;
   13197             : }
   13198             : 
   13199             : //----------------- Int_expr_listContext ------------------------------------------------------------------
   13200             : 
   13201           0 : accparser::Int_expr_listContext::Int_expr_listContext(ParserRuleContext *parent, size_t invokingState)
   13202           0 :   : ParserRuleContext(parent, invokingState) {
   13203           0 : }
   13204             : 
   13205           0 : std::vector<accparser::Int_exprContext *> accparser::Int_expr_listContext::int_expr() {
   13206           0 :   return getRuleContexts<accparser::Int_exprContext>();
   13207             : }
   13208             : 
   13209           0 : accparser::Int_exprContext* accparser::Int_expr_listContext::int_expr(size_t i) {
   13210           0 :   return getRuleContext<accparser::Int_exprContext>(i);
   13211             : }
   13212             : 
   13213           0 : std::vector<tree::TerminalNode *> accparser::Int_expr_listContext::COMMA() {
   13214           0 :   return getTokens(accparser::COMMA);
   13215             : }
   13216             : 
   13217           0 : tree::TerminalNode* accparser::Int_expr_listContext::COMMA(size_t i) {
   13218           0 :   return getToken(accparser::COMMA, i);
   13219             : }
   13220             : 
   13221             : 
   13222           0 : size_t accparser::Int_expr_listContext::getRuleIndex() const {
   13223           0 :   return accparser::RuleInt_expr_list;
   13224             : }
   13225             : 
   13226           0 : void accparser::Int_expr_listContext::enterRule(tree::ParseTreeListener *listener) {
   13227           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13228           0 :   if (parserListener != nullptr)
   13229           0 :     parserListener->enterInt_expr_list(this);
   13230           0 : }
   13231             : 
   13232           0 : void accparser::Int_expr_listContext::exitRule(tree::ParseTreeListener *listener) {
   13233           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13234           0 :   if (parserListener != nullptr)
   13235           0 :     parserListener->exitInt_expr_list(this);
   13236           0 : }
   13237             : 
   13238             : 
   13239           0 : antlrcpp::Any accparser::Int_expr_listContext::accept(tree::ParseTreeVisitor *visitor) {
   13240           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13241           0 :     return parserVisitor->visitInt_expr_list(this);
   13242             :   else
   13243           0 :     return visitor->visitChildren(this);
   13244             : }
   13245             : 
   13246           0 : accparser::Int_expr_listContext* accparser::int_expr_list() {
   13247           0 :   Int_expr_listContext *_localctx = _tracker.createInstance<Int_expr_listContext>(_ctx, getState());
   13248           0 :   enterRule(_localctx, 298, accparser::RuleInt_expr_list);
   13249           0 :   size_t _la = 0;
   13250             : 
   13251           0 :   auto onExit = finally([=] {
   13252           0 :     exitRule();
   13253           0 :   });
   13254           0 :   try {
   13255           0 :     enterOuterAlt(_localctx, 1);
   13256           0 :     setState(1199); 
   13257           0 :     _errHandler->sync(this);
   13258           0 :     _la = _input->LA(1);
   13259           0 :     do {
   13260           0 :       setState(1199);
   13261           0 :       _errHandler->sync(this);
   13262           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 65, _ctx)) {
   13263           0 :       case 1: {
   13264           0 :         setState(1195);
   13265           0 :         int_expr();
   13266           0 :         setState(1196);
   13267           0 :         match(accparser::COMMA);
   13268             :         break;
   13269             :       }
   13270             : 
   13271           0 :       case 2: {
   13272           0 :         setState(1198);
   13273           0 :         int_expr();
   13274             :         break;
   13275             :       }
   13276             : 
   13277             :       }
   13278           0 :       setState(1201); 
   13279           0 :       _errHandler->sync(this);
   13280           0 :       _la = _input->LA(1);
   13281           0 :     } while (_la == accparser::EXPR);
   13282             :    
   13283             :   }
   13284           0 :   catch (RecognitionException &e) {
   13285           0 :     _errHandler->reportError(this, e);
   13286           0 :     _localctx->exception = std::current_exception();
   13287           0 :     _errHandler->recover(this, _localctx->exception);
   13288             :   }
   13289             : 
   13290           0 :   return _localctx;
   13291             : }
   13292             : 
   13293             : //----------------- Int_exprContext ------------------------------------------------------------------
   13294             : 
   13295           0 : accparser::Int_exprContext::Int_exprContext(ParserRuleContext *parent, size_t invokingState)
   13296           0 :   : ParserRuleContext(parent, invokingState) {
   13297           0 : }
   13298             : 
   13299           0 : tree::TerminalNode* accparser::Int_exprContext::EXPR() {
   13300           0 :   return getToken(accparser::EXPR, 0);
   13301             : }
   13302             : 
   13303             : 
   13304           0 : size_t accparser::Int_exprContext::getRuleIndex() const {
   13305           0 :   return accparser::RuleInt_expr;
   13306             : }
   13307             : 
   13308           0 : void accparser::Int_exprContext::enterRule(tree::ParseTreeListener *listener) {
   13309           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13310           0 :   if (parserListener != nullptr)
   13311           0 :     parserListener->enterInt_expr(this);
   13312           0 : }
   13313             : 
   13314           0 : void accparser::Int_exprContext::exitRule(tree::ParseTreeListener *listener) {
   13315           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13316           0 :   if (parserListener != nullptr)
   13317           0 :     parserListener->exitInt_expr(this);
   13318           0 : }
   13319             : 
   13320             : 
   13321           0 : antlrcpp::Any accparser::Int_exprContext::accept(tree::ParseTreeVisitor *visitor) {
   13322           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13323           0 :     return parserVisitor->visitInt_expr(this);
   13324             :   else
   13325           0 :     return visitor->visitChildren(this);
   13326             : }
   13327             : 
   13328           0 : accparser::Int_exprContext* accparser::int_expr() {
   13329           0 :   Int_exprContext *_localctx = _tracker.createInstance<Int_exprContext>(_ctx, getState());
   13330           0 :   enterRule(_localctx, 300, accparser::RuleInt_expr);
   13331             : 
   13332           0 :   auto onExit = finally([=] {
   13333           0 :     exitRule();
   13334           0 :   });
   13335           0 :   try {
   13336           0 :     enterOuterAlt(_localctx, 1);
   13337           0 :     setState(1203);
   13338           0 :     match(accparser::EXPR);
   13339             :    
   13340             :   }
   13341           0 :   catch (RecognitionException &e) {
   13342           0 :     _errHandler->reportError(this, e);
   13343           0 :     _localctx->exception = std::current_exception();
   13344           0 :     _errHandler->recover(this, _localctx->exception);
   13345             :   }
   13346             : 
   13347           0 :   return _localctx;
   13348             : }
   13349             : 
   13350             : //----------------- Var_listContext ------------------------------------------------------------------
   13351             : 
   13352           0 : accparser::Var_listContext::Var_listContext(ParserRuleContext *parent, size_t invokingState)
   13353           0 :   : ParserRuleContext(parent, invokingState) {
   13354           0 : }
   13355             : 
   13356           0 : std::vector<accparser::VarContext *> accparser::Var_listContext::var() {
   13357           0 :   return getRuleContexts<accparser::VarContext>();
   13358             : }
   13359             : 
   13360           0 : accparser::VarContext* accparser::Var_listContext::var(size_t i) {
   13361           0 :   return getRuleContext<accparser::VarContext>(i);
   13362             : }
   13363             : 
   13364           0 : std::vector<tree::TerminalNode *> accparser::Var_listContext::COMMA() {
   13365           0 :   return getTokens(accparser::COMMA);
   13366             : }
   13367             : 
   13368           0 : tree::TerminalNode* accparser::Var_listContext::COMMA(size_t i) {
   13369           0 :   return getToken(accparser::COMMA, i);
   13370             : }
   13371             : 
   13372             : 
   13373           0 : size_t accparser::Var_listContext::getRuleIndex() const {
   13374           0 :   return accparser::RuleVar_list;
   13375             : }
   13376             : 
   13377           0 : void accparser::Var_listContext::enterRule(tree::ParseTreeListener *listener) {
   13378           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13379           0 :   if (parserListener != nullptr)
   13380           0 :     parserListener->enterVar_list(this);
   13381           0 : }
   13382             : 
   13383           0 : void accparser::Var_listContext::exitRule(tree::ParseTreeListener *listener) {
   13384           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13385           0 :   if (parserListener != nullptr)
   13386           0 :     parserListener->exitVar_list(this);
   13387           0 : }
   13388             : 
   13389             : 
   13390           0 : antlrcpp::Any accparser::Var_listContext::accept(tree::ParseTreeVisitor *visitor) {
   13391           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13392           0 :     return parserVisitor->visitVar_list(this);
   13393             :   else
   13394           0 :     return visitor->visitChildren(this);
   13395             : }
   13396             : 
   13397           0 : accparser::Var_listContext* accparser::var_list() {
   13398           0 :   Var_listContext *_localctx = _tracker.createInstance<Var_listContext>(_ctx, getState());
   13399           0 :   enterRule(_localctx, 302, accparser::RuleVar_list);
   13400           0 :   size_t _la = 0;
   13401             : 
   13402           0 :   auto onExit = finally([=] {
   13403           0 :     exitRule();
   13404           0 :   });
   13405           0 :   try {
   13406           0 :     enterOuterAlt(_localctx, 1);
   13407           0 :     setState(1209); 
   13408           0 :     _errHandler->sync(this);
   13409           0 :     _la = _input->LA(1);
   13410           0 :     do {
   13411           0 :       setState(1209);
   13412           0 :       _errHandler->sync(this);
   13413           0 :       switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 67, _ctx)) {
   13414           0 :       case 1: {
   13415           0 :         setState(1205);
   13416           0 :         var();
   13417           0 :         setState(1206);
   13418           0 :         match(accparser::COMMA);
   13419             :         break;
   13420             :       }
   13421             : 
   13422           0 :       case 2: {
   13423           0 :         setState(1208);
   13424           0 :         var();
   13425             :         break;
   13426             :       }
   13427             : 
   13428             :       }
   13429           0 :       setState(1211); 
   13430           0 :       _errHandler->sync(this);
   13431           0 :       _la = _input->LA(1);
   13432           0 :     } while (_la == accparser::EXPR);
   13433             :    
   13434             :   }
   13435           0 :   catch (RecognitionException &e) {
   13436           0 :     _errHandler->reportError(this, e);
   13437           0 :     _localctx->exception = std::current_exception();
   13438           0 :     _errHandler->recover(this, _localctx->exception);
   13439             :   }
   13440             : 
   13441           0 :   return _localctx;
   13442             : }
   13443             : 
   13444             : //----------------- VarContext ------------------------------------------------------------------
   13445             : 
   13446           0 : accparser::VarContext::VarContext(ParserRuleContext *parent, size_t invokingState)
   13447           0 :   : ParserRuleContext(parent, invokingState) {
   13448           0 : }
   13449             : 
   13450           0 : tree::TerminalNode* accparser::VarContext::EXPR() {
   13451           0 :   return getToken(accparser::EXPR, 0);
   13452             : }
   13453             : 
   13454             : 
   13455           0 : size_t accparser::VarContext::getRuleIndex() const {
   13456           0 :   return accparser::RuleVar;
   13457             : }
   13458             : 
   13459           0 : void accparser::VarContext::enterRule(tree::ParseTreeListener *listener) {
   13460           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13461           0 :   if (parserListener != nullptr)
   13462           0 :     parserListener->enterVar(this);
   13463           0 : }
   13464             : 
   13465           0 : void accparser::VarContext::exitRule(tree::ParseTreeListener *listener) {
   13466           0 :   auto parserListener = dynamic_cast<accparserListener *>(listener);
   13467           0 :   if (parserListener != nullptr)
   13468           0 :     parserListener->exitVar(this);
   13469           0 : }
   13470             : 
   13471             : 
   13472           0 : antlrcpp::Any accparser::VarContext::accept(tree::ParseTreeVisitor *visitor) {
   13473           0 :   if (auto parserVisitor = dynamic_cast<accparserVisitor*>(visitor))
   13474           0 :     return parserVisitor->visitVar(this);
   13475             :   else
   13476           0 :     return visitor->visitChildren(this);
   13477             : }
   13478             : 
   13479           0 : accparser::VarContext* accparser::var() {
   13480           0 :   VarContext *_localctx = _tracker.createInstance<VarContext>(_ctx, getState());
   13481           0 :   enterRule(_localctx, 304, accparser::RuleVar);
   13482             : 
   13483           0 :   auto onExit = finally([=] {
   13484             : 
   13485           0 :     cleanUp();
   13486             : 
   13487           0 :     exitRule();
   13488           0 :   });
   13489           0 :   try {
   13490           0 :     enterOuterAlt(_localctx, 1);
   13491           0 :     setState(1213);
   13492           0 :     match(accparser::EXPR);
   13493             :    
   13494             :   }
   13495           0 :   catch (RecognitionException &e) {
   13496           0 :     _errHandler->reportError(this, e);
   13497           0 :     _localctx->exception = std::current_exception();
   13498           0 :     _errHandler->recover(this, _localctx->exception);
   13499             :   }
   13500             : 
   13501           0 :   return _localctx;
   13502             : }
   13503             : 
   13504             : // Static vars and initialization.
   13505             : std::vector<dfa::DFA> accparser::_decisionToDFA;
   13506             : atn::PredictionContextCache accparser::_sharedContextCache;
   13507             : 
   13508             : // We own the ATN which in turn owns the ATN states.
   13509             : atn::ATN accparser::_atn;
   13510             : std::vector<uint16_t> accparser::_serializedATN;
   13511             : 
   13512             : std::vector<std::string> accparser::_ruleNames = {
   13513             :   "acc", "prefix", "c_prefix", "fortran_prefix", "openacc_directive", "atomic_directive", 
   13514             :   "atomic_clause", "cache_directive", "cache_directive_modifier", "data_directive", 
   13515             :   "data_clause_list", "data_clauses", "declare_directive", "declare_clause_list", 
   13516             :   "declare_clauses", "end_directive", "end_clause_seq", "fortran_paired_directive", 
   13517             :   "end_atomic_directive", "end_data_directive", "end_host_data_directive", 
   13518             :   "end_kernels_directive", "end_kernels_loop_directive", "end_parallel_directive", 
   13519             :   "end_parallel_loop_directive", "end_serial_directive", "end_serial_loop_directive", 
   13520             :   "enter_data_directive", "enter_data_clause_list", "enter_data_clauses", 
   13521             :   "exit_data_directive", "exit_data_clause_list", "exit_data_clauses", "host_data_directive", 
   13522             :   "host_data_clause_list", "host_data_clauses", "init_directive", "init_clause_list", 
   13523             :   "init_clauses", "kernels_directive", "kernels_clause_list", "kernels_clauses", 
   13524             :   "kernels_loop_directive", "kernels_loop_clause_list", "kernels_loop_clauses", 
   13525             :   "loop_directive", "loop_clause_list", "loop_clauses", "parallel_directive", 
   13526             :   "parallel_clause_list", "parallel_clauses", "parallel_loop_directive", 
   13527             :   "parallel_loop_clause_list", "parallel_loop_clauses", "routine_directive", 
   13528             :   "routine_clause_list", "routine_clauses", "name", "serial_directive", 
   13529             :   "serial_clause_list", "serial_clauses", "serial_loop_directive", "serial_loop_clause_list", 
   13530             :   "serial_loop_clauses", "set_directive", "set_clause_list", "set_clauses", 
   13531             :   "shutdown_directive", "shutdown_clause_list", "shutdown_clauses", "update_directive", 
   13532             :   "update_clause_list", "update_clauses", "wait_directive", "wait_clause_list", 
   13533             :   "wait_clauses", "async_clause", "attach_clause", "auto_clause", "bind_clause", 
   13534             :   "name_or_string", "capture_clause", "collapse_clause", "copy_clause", 
   13535             :   "copyin_clause", "copyin_clause_modifier", "copyin_no_modifier_clause", 
   13536             :   "copyout_clause", "copyout_clause_modifier", "copyout_no_modifier_clause", 
   13537             :   "create_clause", "create_clause_modifier", "create_no_modifier_clause", 
   13538             :   "default_clause", "default_kind", "default_async_clause", "delete_clause", 
   13539             :   "detach_clause", "device_clause", "device_num_clause", "device_resident_clause", 
   13540             :   "device_type_clause", "device_type_list", "deviceptr_clause", "finalize_clause", 
   13541             :   "firstprivate_clause", "gang_clause", "gang_arg_list", "gang_no_list_clause", 
   13542             :   "host_clause", "if_clause", "if_present_clause", "independent_clause", 
   13543             :   "link_clause", "nohost_clause", "no_create_clause", "num_gangs_clause", 
   13544             :   "num_workers_clause", "present_clause", "private_clause", "read_clause", 
   13545             :   "reduction_clause", "reduction_operator", "self_clause", "self_list_clause", 
   13546             :   "condition", "seq_clause", "tile_clause", "update_clause", "size_expr_list", 
   13547             :   "use_device_clause", "vector_clause", "vector_clause_args", "vector_clause_modifier", 
   13548             :   "vector_no_modifier_clause", "vector_length_clause", "wait_clause", "wait_argument_clause", 
   13549             :   "wait_argument", "wait_int_expr_list", "wait_int_expr", "wait_argument_queues", 
   13550             :   "wait_argument_int_expr", "worker_clause", "worker_clause_args", "worker_clause_modifier", 
   13551             :   "worker_no_modifier_clause", "write_clause", "const_int", "int_expr_list", 
   13552             :   "int_expr", "var_list", "var"
   13553             : };
   13554             : 
   13555             : std::vector<std::string> accparser::_literalNames = {
   13556             :   "", "", "", "", "'acc'", "'atomic'", "'cache'", "'data'", "'end'", "'declare'", 
   13557             :   "'enter'", "'exit'", "'host_data'", "'init'", "'kernels'", "'loop'", "'parallel'", 
   13558             :   "", "'serial'", "'set'", "'shutdown'", "'update'", "", "", "", "':'", 
   13559             :   "", "", "'attach'", "'auto'", "", "'capture'", "'collapse'", "'copy'", 
   13560             :   "'copyin'", "'copyout'", "'create'", "'default'", "'default_async'", "'delete'", 
   13561             :   "'detach'", "'device'", "'device_num'", "'device_resident'", "'device_type'", 
   13562             :   "'deviceptr'", "'finalize'", "'firstprivate'", "", "'host'", "", "'if_present'", 
   13563             :   "'independent'", "'link'", "'nohost'", "'no_create'", "'num'", "'num_gangs'", 
   13564             :   "'num_workers'", "", "'private'", "'read'", "'reduction'", "", "'seq'", 
   13565             :   "'tile'", "'use_device'", "", "'vector_length'", "", "", "'write'", "", 
   13566             :   "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 
   13567             :   "", "", "", "", "", "", "", "", "", "'none'"
   13568             : };
   13569             : 
   13570             : std::vector<std::string> accparser::_symbolicNames = {
   13571             :   "", "EXPR", "C_PREFIX", "FORTRAN_PREFIX", "ACC", "ATOMIC", "CACHE", "DATA", 
   13572             :   "END", "DECLARE", "ENTER", "EXIT", "HOST_DATA", "INIT", "KERNELS", "LOOP", 
   13573             :   "PARALLEL", "ROUTINE", "SERIAL", "SET", "SHUTDOWN", "UPDATE", "LEFT_PAREN", 
   13574             :   "RIGHT_PAREN", "D_BLANK", "COLON", "LINE_END", "ASYNC", "ATTACH", "AUTO", 
   13575             :   "BIND", "CAPTURE", "COLLAPSE", "COPY", "COPYIN", "COPYOUT", "CREATE", 
   13576             :   "DEFAULT", "DEFAULT_ASYNC", "DELETE", "DETACH", "DEVICE", "DEVICE_NUM", 
   13577             :   "DEVICE_RESIDENT", "DEVICE_TYPE", "DEVICEPTR", "FINALIZE", "FIRSTPRIVATE", 
   13578             :   "GANG", "HOST", "IF", "IF_PRESENT", "INDEPENDENT", "LINK", "NOHOST", "NO_CREATE", 
   13579             :   "NUM", "NUM_GANGS", "NUM_WORKERS", "PRESENT", "PRIVATE", "READ", "REDUCTION", 
   13580             :   "SELF", "SEQ", "TILE", "USE_DEVICE", "VECTOR", "VECTOR_LENGTH", "WAIT", 
   13581             :   "WORKER", "WRITE", "COMMENT", "CACHE_LEFT_PAREN", "CACHE_READONLY", "CACHE_COLON", 
   13582             :   "CACHE_COMMA", "CACHE_BLANK", "CACHE_LINE_END", "ROUTINE_LEFT_PAREN", 
   13583             :   "ROUTINE_BLANK", "ROUTINE_LINE_END", "COPYIN_LEFT_PAREN", "READONLY", 
   13584             :   "COPYIN_COLON", "COPYIN_COMMA", "COPYIN_BLANK", "COPYIN_LINE_END", "COPYOUT_LEFT_PAREN", 
   13585             :   "ZERO", "COPYOUT_COLON", "COPYOUT_COMMA", "COPYOUT_BLANK", "COPYOUT_LINE_END", 
   13586             :   "CREATE_LEFT_PAREN", "CREATE_ZERO", "CREATE_COLON", "CREATE_COMMA", "CREATE_BLANK", 
   13587             :   "CREATE_LINE_END", "NONE", "BLANK", "EXPR_LINE_END", "VECTOR_LEFT_PAREN", 
   13588             :   "LENGTH", "VECTOR_COLON", "VECTOR_BLANK", "VECTOR_LINE_END", "REDUCTION_LEFT_PAREN", 
   13589             :   "ADD", "MUL", "MAX", "MIN", "BITAND", "BITOR", "BITXOR", "LOGAND", "LOGOR", 
   13590             :   "REDUCTION_COLON", "REDUCTION_COMMA", "REDUCTION_BLANK", "REDUCTION_LINE_END", 
   13591             :   "WAIT_LEFT_PAREN", "DEVNUM", "QUEUES", "WAIT_COLON", "WAIT_COMMA", "WAIT_BLANK", 
   13592             :   "WAIT_LINE_END", "WORKER_LEFT_PAREN", "WORKER_NUM", "WORKER_COLON", "WORKER_BLANK", 
   13593             :   "WORKER_LINE_END", "EXPR_LEFT_PAREN", "COMMA", "EXPRESSION_LEFT_PAREN", 
   13594             :   "EXPRESSION_RIGHT_PAREN", "EXPRESSION_CHAR"
   13595             : };
   13596             : 
   13597             : dfa::Vocabulary accparser::_vocabulary(_literalNames, _symbolicNames);
   13598             : 
   13599             : std::vector<std::string> accparser::_tokenNames;
   13600             : 
   13601         356 : accparser::Initializer::Initializer() {
   13602       49840 :         for (size_t i = 0; i < _symbolicNames.size(); ++i) {
   13603       98968 :                 std::string name = _vocabulary.getLiteralName(i);
   13604       49484 :                 if (name.empty()) {
   13605       29904 :                         name = _vocabulary.getSymbolicName(i);
   13606             :                 }
   13607             : 
   13608       49484 :                 if (name.empty()) {
   13609         712 :                         _tokenNames.push_back("<INVALID>");
   13610             :                 } else {
   13611       49128 :       _tokenNames.push_back(name);
   13612             :     }
   13613             :         }
   13614             : 
   13615         356 :   _serializedATN = {
   13616             :     0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964, 
   13617             :     0x3, 0x8c, 0x4c2, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4, 
   13618             :     0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9, 0x7, 
   13619             :     0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa, 0x4, 0xb, 
   13620             :     0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4, 0xe, 0x9, 0xe, 
   13621             :     0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11, 0x9, 0x11, 0x4, 
   13622             :     0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14, 0x9, 0x14, 0x4, 0x15, 
   13623             :     0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17, 0x9, 0x17, 0x4, 0x18, 0x9, 
   13624             :     0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a, 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 
   13625             :     0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d, 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 
   13626             :     0x1f, 0x9, 0x1f, 0x4, 0x20, 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 
   13627             :     0x9, 0x22, 0x4, 0x23, 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 
   13628             :     0x25, 0x4, 0x26, 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28, 
   13629             :     0x4, 0x29, 0x9, 0x29, 0x4, 0x2a, 0x9, 0x2a, 0x4, 0x2b, 0x9, 0x2b, 0x4, 
   13630             :     0x2c, 0x9, 0x2c, 0x4, 0x2d, 0x9, 0x2d, 0x4, 0x2e, 0x9, 0x2e, 0x4, 0x2f, 
   13631             :     0x9, 0x2f, 0x4, 0x30, 0x9, 0x30, 0x4, 0x31, 0x9, 0x31, 0x4, 0x32, 0x9, 
   13632             :     0x32, 0x4, 0x33, 0x9, 0x33, 0x4, 0x34, 0x9, 0x34, 0x4, 0x35, 0x9, 0x35, 
   13633             :     0x4, 0x36, 0x9, 0x36, 0x4, 0x37, 0x9, 0x37, 0x4, 0x38, 0x9, 0x38, 0x4, 
   13634             :     0x39, 0x9, 0x39, 0x4, 0x3a, 0x9, 0x3a, 0x4, 0x3b, 0x9, 0x3b, 0x4, 0x3c, 
   13635             :     0x9, 0x3c, 0x4, 0x3d, 0x9, 0x3d, 0x4, 0x3e, 0x9, 0x3e, 0x4, 0x3f, 0x9, 
   13636             :     0x3f, 0x4, 0x40, 0x9, 0x40, 0x4, 0x41, 0x9, 0x41, 0x4, 0x42, 0x9, 0x42, 
   13637             :     0x4, 0x43, 0x9, 0x43, 0x4, 0x44, 0x9, 0x44, 0x4, 0x45, 0x9, 0x45, 0x4, 
   13638             :     0x46, 0x9, 0x46, 0x4, 0x47, 0x9, 0x47, 0x4, 0x48, 0x9, 0x48, 0x4, 0x49, 
   13639             :     0x9, 0x49, 0x4, 0x4a, 0x9, 0x4a, 0x4, 0x4b, 0x9, 0x4b, 0x4, 0x4c, 0x9, 
   13640             :     0x4c, 0x4, 0x4d, 0x9, 0x4d, 0x4, 0x4e, 0x9, 0x4e, 0x4, 0x4f, 0x9, 0x4f, 
   13641             :     0x4, 0x50, 0x9, 0x50, 0x4, 0x51, 0x9, 0x51, 0x4, 0x52, 0x9, 0x52, 0x4, 
   13642             :     0x53, 0x9, 0x53, 0x4, 0x54, 0x9, 0x54, 0x4, 0x55, 0x9, 0x55, 0x4, 0x56, 
   13643             :     0x9, 0x56, 0x4, 0x57, 0x9, 0x57, 0x4, 0x58, 0x9, 0x58, 0x4, 0x59, 0x9, 
   13644             :     0x59, 0x4, 0x5a, 0x9, 0x5a, 0x4, 0x5b, 0x9, 0x5b, 0x4, 0x5c, 0x9, 0x5c, 
   13645             :     0x4, 0x5d, 0x9, 0x5d, 0x4, 0x5e, 0x9, 0x5e, 0x4, 0x5f, 0x9, 0x5f, 0x4, 
   13646             :     0x60, 0x9, 0x60, 0x4, 0x61, 0x9, 0x61, 0x4, 0x62, 0x9, 0x62, 0x4, 0x63, 
   13647             :     0x9, 0x63, 0x4, 0x64, 0x9, 0x64, 0x4, 0x65, 0x9, 0x65, 0x4, 0x66, 0x9, 
   13648             :     0x66, 0x4, 0x67, 0x9, 0x67, 0x4, 0x68, 0x9, 0x68, 0x4, 0x69, 0x9, 0x69, 
   13649             :     0x4, 0x6a, 0x9, 0x6a, 0x4, 0x6b, 0x9, 0x6b, 0x4, 0x6c, 0x9, 0x6c, 0x4, 
   13650             :     0x6d, 0x9, 0x6d, 0x4, 0x6e, 0x9, 0x6e, 0x4, 0x6f, 0x9, 0x6f, 0x4, 0x70, 
   13651             :     0x9, 0x70, 0x4, 0x71, 0x9, 0x71, 0x4, 0x72, 0x9, 0x72, 0x4, 0x73, 0x9, 
   13652             :     0x73, 0x4, 0x74, 0x9, 0x74, 0x4, 0x75, 0x9, 0x75, 0x4, 0x76, 0x9, 0x76, 
   13653             :     0x4, 0x77, 0x9, 0x77, 0x4, 0x78, 0x9, 0x78, 0x4, 0x79, 0x9, 0x79, 0x4, 
   13654             :     0x7a, 0x9, 0x7a, 0x4, 0x7b, 0x9, 0x7b, 0x4, 0x7c, 0x9, 0x7c, 0x4, 0x7d, 
   13655             :     0x9, 0x7d, 0x4, 0x7e, 0x9, 0x7e, 0x4, 0x7f, 0x9, 0x7f, 0x4, 0x80, 0x9, 
   13656             :     0x80, 0x4, 0x81, 0x9, 0x81, 0x4, 0x82, 0x9, 0x82, 0x4, 0x83, 0x9, 0x83, 
   13657             :     0x4, 0x84, 0x9, 0x84, 0x4, 0x85, 0x9, 0x85, 0x4, 0x86, 0x9, 0x86, 0x4, 
   13658             :     0x87, 0x9, 0x87, 0x4, 0x88, 0x9, 0x88, 0x4, 0x89, 0x9, 0x89, 0x4, 0x8a, 
   13659             :     0x9, 0x8a, 0x4, 0x8b, 0x9, 0x8b, 0x4, 0x8c, 0x9, 0x8c, 0x4, 0x8d, 0x9, 
   13660             :     0x8d, 0x4, 0x8e, 0x9, 0x8e, 0x4, 0x8f, 0x9, 0x8f, 0x4, 0x90, 0x9, 0x90, 
   13661             :     0x4, 0x91, 0x9, 0x91, 0x4, 0x92, 0x9, 0x92, 0x4, 0x93, 0x9, 0x93, 0x4, 
   13662             :     0x94, 0x9, 0x94, 0x4, 0x95, 0x9, 0x95, 0x4, 0x96, 0x9, 0x96, 0x4, 0x97, 
   13663             :     0x9, 0x97, 0x4, 0x98, 0x9, 0x98, 0x4, 0x99, 0x9, 0x99, 0x4, 0x9a, 0x9, 
   13664             :     0x9a, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 
   13665             :     0x3, 0x5, 0x3, 0x13c, 0xa, 0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 
   13666             :     0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 
   13667             :     0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 
   13668             :     0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 
   13669             :     0x5, 0x6, 0x157, 0xa, 0x6, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x5, 0x7, 0x15c, 
   13670             :     0xa, 0x7, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x5, 0x8, 0x162, 0xa, 
   13671             :     0x8, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 
   13672             :     0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x5, 0x9, 0x170, 
   13673             :     0xa, 0x9, 0x3, 0xa, 0x3, 0xa, 0x3, 0xb, 0x3, 0xb, 0x3, 0xb, 0x3, 0xc, 
   13674             :     0x7, 0xc, 0x178, 0xa, 0xc, 0xc, 0xc, 0xe, 0xc, 0x17b, 0xb, 0xc, 0x3, 
   13675             :     0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 
   13676             :     0xd, 0x3, 0xd, 0x3, 0xd, 0x5, 0xd, 0x187, 0xa, 0xd, 0x3, 0xe, 0x3, 0xe, 
   13677             :     0x3, 0xe, 0x3, 0xf, 0x6, 0xf, 0x18d, 0xa, 0xf, 0xd, 0xf, 0xe, 0xf, 0x18e, 
   13678             :     0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 
   13679             :     0x10, 0x3, 0x10, 0x5, 0x10, 0x199, 0xa, 0x10, 0x3, 0x11, 0x3, 0x11, 
   13680             :     0x3, 0x11, 0x3, 0x12, 0x3, 0x12, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 
   13681             :     0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x5, 0x13, 
   13682             :     0x1a9, 0xa, 0x13, 0x3, 0x14, 0x3, 0x14, 0x3, 0x15, 0x3, 0x15, 0x3, 0x16, 
   13683             :     0x3, 0x16, 0x3, 0x17, 0x3, 0x17, 0x3, 0x18, 0x3, 0x18, 0x3, 0x19, 0x3, 
   13684             :     0x19, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3, 0x1c, 
   13685             :     0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1e, 0x6, 0x1e, 0x1c2, 
   13686             :     0xa, 0x1e, 0xd, 0x1e, 0xe, 0x1e, 0x1c3, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 
   13687             :     0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x5, 0x1f, 0x1cc, 0xa, 0x1f, 0x3, 0x20, 
   13688             :     0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x21, 0x6, 0x21, 0x1d3, 0xa, 0x21, 
   13689             :     0xd, 0x21, 0xe, 0x21, 0x1d4, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 
   13690             :     0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x5, 0x22, 0x1de, 0xa, 0x22, 0x3, 0x23, 
   13691             :     0x3, 0x23, 0x3, 0x23, 0x3, 0x24, 0x6, 0x24, 0x1e4, 0xa, 0x24, 0xd, 0x24, 
   13692             :     0xe, 0x24, 0x1e5, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x5, 0x25, 0x1eb, 
   13693             :     0xa, 0x25, 0x3, 0x26, 0x3, 0x26, 0x3, 0x26, 0x3, 0x27, 0x7, 0x27, 0x1f1, 
   13694             :     0xa, 0x27, 0xc, 0x27, 0xe, 0x27, 0x1f4, 0xb, 0x27, 0x3, 0x28, 0x3, 0x28, 
   13695             :     0x3, 0x28, 0x5, 0x28, 0x1f9, 0xa, 0x28, 0x3, 0x29, 0x3, 0x29, 0x3, 0x29, 
   13696             :     0x3, 0x2a, 0x7, 0x2a, 0x1ff, 0xa, 0x2a, 0xc, 0x2a, 0xe, 0x2a, 0x202, 
   13697             :     0xb, 0x2a, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 
   13698             :     0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 
   13699             :     0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2b, 0x5, 0x2b, 0x215, 
   13700             :     0xa, 0x2b, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2d, 0x7, 
   13701             :     0x2d, 0x21c, 0xa, 0x2d, 0xc, 0x2d, 0xe, 0x2d, 0x21f, 0xb, 0x2d, 0x3, 
   13702             :     0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 
   13703             :     0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 
   13704             :     0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 
   13705             :     0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2e, 0x3, 
   13706             :     0x2e, 0x5, 0x2e, 0x23c, 0xa, 0x2e, 0x3, 0x2f, 0x3, 0x2f, 0x3, 0x2f, 
   13707             :     0x3, 0x30, 0x7, 0x30, 0x242, 0xa, 0x30, 0xc, 0x30, 0xe, 0x30, 0x245, 
   13708             :     0xb, 0x30, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 
   13709             :     0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31, 0x5, 0x31, 
   13710             :     0x252, 0xa, 0x31, 0x3, 0x32, 0x3, 0x32, 0x3, 0x32, 0x3, 0x33, 0x7, 0x33, 
   13711             :     0x258, 0xa, 0x33, 0xc, 0x33, 0xe, 0x33, 0x25b, 0xb, 0x33, 0x3, 0x34, 
   13712             :     0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 
   13713             :     0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 
   13714             :     0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x3, 0x34, 0x5, 
   13715             :     0x34, 0x271, 0xa, 0x34, 0x3, 0x35, 0x3, 0x35, 0x3, 0x35, 0x3, 0x35, 
   13716             :     0x3, 0x36, 0x7, 0x36, 0x278, 0xa, 0x36, 0xc, 0x36, 0xe, 0x36, 0x27b, 
   13717             :     0xb, 0x36, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 
   13718             :     0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 
   13719             :     0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 
   13720             :     0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 
   13721             :     0x3, 0x37, 0x3, 0x37, 0x3, 0x37, 0x5, 0x37, 0x299, 0xa, 0x37, 0x3, 0x38, 
   13722             :     0x3, 0x38, 0x3, 0x38, 0x3, 0x38, 0x3, 0x38, 0x3, 0x38, 0x3, 0x38, 0x3, 
   13723             :     0x38, 0x5, 0x38, 0x2a3, 0xa, 0x38, 0x3, 0x39, 0x6, 0x39, 0x2a6, 0xa, 
   13724             :     0x39, 0xd, 0x39, 0xe, 0x39, 0x2a7, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 
   13725             :     0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 0x5, 0x3a, 0x2b1, 0xa, 0x3a, 
   13726             :     0x3, 0x3b, 0x3, 0x3b, 0x3, 0x3c, 0x3, 0x3c, 0x3, 0x3c, 0x3, 0x3d, 0x7, 
   13727             :     0x3d, 0x2b9, 0xa, 0x3d, 0xc, 0x3d, 0xe, 0x3d, 0x2bc, 0xb, 0x3d, 0x3, 
   13728             :     0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 
   13729             :     0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 
   13730             :     0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x3, 0x3e, 0x5, 0x3e, 0x2cf, 0xa, 0x3e, 
   13731             :     0x3, 0x3f, 0x3, 0x3f, 0x3, 0x3f, 0x3, 0x3f, 0x3, 0x40, 0x7, 0x40, 0x2d6, 
   13732             :     0xa, 0x40, 0xc, 0x40, 0xe, 0x40, 0x2d9, 0xb, 0x40, 0x3, 0x41, 0x3, 0x41, 
   13733             :     0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 
   13734             :     0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 
   13735             :     0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 
   13736             :     0x41, 0x3, 0x41, 0x3, 0x41, 0x3, 0x41, 0x5, 0x41, 0x2f4, 0xa, 0x41, 
   13737             :     0x3, 0x42, 0x3, 0x42, 0x3, 0x42, 0x3, 0x43, 0x7, 0x43, 0x2fa, 0xa, 0x43, 
   13738             :     0xc, 0x43, 0xe, 0x43, 0x2fd, 0xb, 0x43, 0x3, 0x44, 0x3, 0x44, 0x3, 0x44, 
   13739             :     0x3, 0x44, 0x5, 0x44, 0x303, 0xa, 0x44, 0x3, 0x45, 0x3, 0x45, 0x3, 0x45, 
   13740             :     0x3, 0x46, 0x7, 0x46, 0x309, 0xa, 0x46, 0xc, 0x46, 0xe, 0x46, 0x30c, 
   13741             :     0xb, 0x46, 0x3, 0x47, 0x3, 0x47, 0x3, 0x47, 0x5, 0x47, 0x311, 0xa, 0x47, 
   13742             :     0x3, 0x48, 0x3, 0x48, 0x3, 0x48, 0x3, 0x49, 0x6, 0x49, 0x317, 0xa, 0x49, 
   13743             :     0xd, 0x49, 0xe, 0x49, 0x318, 0x3, 0x4a, 0x3, 0x4a, 0x3, 0x4a, 0x3, 0x4a, 
   13744             :     0x3, 0x4a, 0x3, 0x4a, 0x3, 0x4a, 0x3, 0x4a, 0x5, 0x4a, 0x323, 0xa, 0x4a, 
   13745             :     0x3, 0x4b, 0x3, 0x4b, 0x3, 0x4b, 0x3, 0x4b, 0x3, 0x4b, 0x3, 0x4b, 0x3, 
   13746             :     0x4b, 0x3, 0x4b, 0x5, 0x4b, 0x32d, 0xa, 0x4b, 0x3, 0x4c, 0x7, 0x4c, 
   13747             :     0x330, 0xa, 0x4c, 0xc, 0x4c, 0xe, 0x4c, 0x333, 0xb, 0x4c, 0x3, 0x4d, 
   13748             :     0x3, 0x4d, 0x5, 0x4d, 0x337, 0xa, 0x4d, 0x3, 0x4e, 0x3, 0x4e, 0x3, 0x4e, 
   13749             :     0x3, 0x4e, 0x3, 0x4e, 0x3, 0x4e, 0x5, 0x4e, 0x33f, 0xa, 0x4e, 0x3, 0x4f, 
   13750             :     0x3, 0x4f, 0x3, 0x4f, 0x3, 0x4f, 0x3, 0x4f, 0x3, 0x50, 0x3, 0x50, 0x3, 
   13751             :     0x51, 0x3, 0x51, 0x3, 0x51, 0x3, 0x51, 0x3, 0x51, 0x3, 0x52, 0x3, 0x52, 
   13752             :     0x3, 0x53, 0x3, 0x53, 0x3, 0x54, 0x3, 0x54, 0x3, 0x54, 0x3, 0x54, 0x3, 
   13753             :     0x54, 0x3, 0x55, 0x3, 0x55, 0x3, 0x55, 0x3, 0x55, 0x3, 0x55, 0x3, 0x56, 
   13754             :     0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 
   13755             :     0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x3, 0x56, 0x5, 0x56, 0x367, 
   13756             :     0xa, 0x56, 0x3, 0x57, 0x3, 0x57, 0x3, 0x58, 0x3, 0x58, 0x3, 0x58, 0x3, 
   13757             :     0x58, 0x3, 0x58, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 
   13758             :     0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 0x59, 0x3, 
   13759             :     0x59, 0x5, 0x59, 0x37c, 0xa, 0x59, 0x3, 0x5a, 0x3, 0x5a, 0x3, 0x5b, 
   13760             :     0x3, 0x5b, 0x3, 0x5b, 0x3, 0x5b, 0x3, 0x5b, 0x3, 0x5c, 0x3, 0x5c, 0x3, 
   13761             :     0x5c, 0x3, 0x5c, 0x3, 0x5c, 0x3, 0x5c, 0x3, 0x5c, 0x3, 0x5c, 0x3, 0x5c, 
   13762             :     0x3, 0x5c, 0x3, 0x5c, 0x3, 0x5c, 0x5, 0x5c, 0x391, 0xa, 0x5c, 0x3, 0x5d, 
   13763             :     0x3, 0x5d, 0x3, 0x5e, 0x3, 0x5e, 0x3, 0x5e, 0x3, 0x5e, 0x3, 0x5e, 0x3, 
   13764             :     0x5f, 0x3, 0x5f, 0x3, 0x5f, 0x3, 0x5f, 0x3, 0x5f, 0x3, 0x60, 0x3, 0x60, 
   13765             :     0x3, 0x61, 0x3, 0x61, 0x3, 0x61, 0x3, 0x61, 0x3, 0x61, 0x3, 0x62, 0x3, 
   13766             :     0x62, 0x3, 0x62, 0x3, 0x62, 0x3, 0x62, 0x3, 0x63, 0x3, 0x63, 0x3, 0x63, 
   13767             :     0x3, 0x63, 0x3, 0x63, 0x3, 0x64, 0x3, 0x64, 0x3, 0x64, 0x3, 0x64, 0x3, 
   13768             :     0x64, 0x3, 0x65, 0x3, 0x65, 0x3, 0x65, 0x3, 0x65, 0x3, 0x65, 0x3, 0x66, 
   13769             :     0x3, 0x66, 0x3, 0x66, 0x3, 0x66, 0x3, 0x66, 0x3, 0x67, 0x3, 0x67, 0x3, 
   13770             :     0x67, 0x3, 0x67, 0x3, 0x67, 0x3, 0x68, 0x3, 0x68, 0x3, 0x68, 0x3, 0x68, 
   13771             :     0x6, 0x68, 0x3c8, 0xa, 0x68, 0xd, 0x68, 0xe, 0x68, 0x3c9, 0x3, 0x69, 
   13772             :     0x3, 0x69, 0x3, 0x69, 0x3, 0x69, 0x3, 0x69, 0x3, 0x6a, 0x3, 0x6a, 0x3, 
   13773             :     0x6b, 0x3, 0x6b, 0x3, 0x6b, 0x3, 0x6b, 0x3, 0x6b, 0x3, 0x6c, 0x3, 0x6c, 
   13774             :     0x3, 0x6c, 0x3, 0x6c, 0x3, 0x6c, 0x3, 0x6c, 0x5, 0x6c, 0x3de, 0xa, 0x6c, 
   13775             :     0x3, 0x6d, 0x3, 0x6d, 0x3, 0x6d, 0x3, 0x6d, 0x6, 0x6d, 0x3e4, 0xa, 0x6d, 
   13776             :     0xd, 0x6d, 0xe, 0x6d, 0x3e5, 0x3, 0x6e, 0x3, 0x6e, 0x3, 0x6f, 0x3, 0x6f, 
   13777             :     0x3, 0x6f, 0x3, 0x6f, 0x3, 0x6f, 0x3, 0x70, 0x3, 0x70, 0x3, 0x70, 0x3, 
   13778             :     0x70, 0x3, 0x70, 0x3, 0x71, 0x3, 0x71, 0x3, 0x72, 0x3, 0x72, 0x3, 0x73, 
   13779             :     0x3, 0x73, 0x3, 0x73, 0x3, 0x73, 0x3, 0x73, 0x3, 0x74, 0x3, 0x74, 0x3, 
   13780             :     0x75, 0x3, 0x75, 0x3, 0x75, 0x3, 0x75, 0x3, 0x75, 0x3, 0x76, 0x3, 0x76, 
   13781             :     0x3, 0x76, 0x3, 0x76, 0x3, 0x76, 0x3, 0x77, 0x3, 0x77, 0x3, 0x77, 0x3, 
   13782             :     0x77, 0x3, 0x77, 0x3, 0x78, 0x3, 0x78, 0x3, 0x78, 0x3, 0x78, 0x3, 0x78, 
   13783             :     0x3, 0x79, 0x3, 0x79, 0x3, 0x79, 0x3, 0x79, 0x3, 0x79, 0x3, 0x7a, 0x3, 
   13784             :     0x7a, 0x3, 0x7b, 0x3, 0x7b, 0x3, 0x7b, 0x3, 0x7b, 0x3, 0x7b, 0x3, 0x7b, 
   13785             :     0x3, 0x7b, 0x3, 0x7c, 0x3, 0x7c, 0x3, 0x7d, 0x3, 0x7d, 0x3, 0x7d, 0x3, 
   13786             :     0x7d, 0x3, 0x7d, 0x3, 0x7d, 0x5, 0x7d, 0x429, 0xa, 0x7d, 0x3, 0x7e, 
   13787             :     0x3, 0x7e, 0x3, 0x7e, 0x3, 0x7e, 0x3, 0x7e, 0x3, 0x7f, 0x3, 0x7f, 0x3, 
   13788             :     0x80, 0x3, 0x80, 0x3, 0x81, 0x3, 0x81, 0x3, 0x81, 0x3, 0x81, 0x3, 0x81, 
   13789             :     0x3, 0x82, 0x3, 0x82, 0x3, 0x83, 0x3, 0x83, 0x3, 0x83, 0x3, 0x83, 0x6, 
   13790             :     0x83, 0x43f, 0xa, 0x83, 0xd, 0x83, 0xe, 0x83, 0x440, 0x3, 0x84, 0x3, 
   13791             :     0x84, 0x3, 0x84, 0x3, 0x84, 0x3, 0x84, 0x3, 0x85, 0x3, 0x85, 0x3, 0x85, 
   13792             :     0x5, 0x85, 0x44b, 0xa, 0x85, 0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 
   13793             :     0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 0x3, 0x86, 0x5, 
   13794             :     0x86, 0x457, 0xa, 0x86, 0x3, 0x87, 0x3, 0x87, 0x3, 0x88, 0x3, 0x88, 
   13795             :     0x3, 0x89, 0x3, 0x89, 0x3, 0x89, 0x3, 0x89, 0x3, 0x89, 0x3, 0x8a, 0x3, 
   13796             :     0x8a, 0x3, 0x8a, 0x3, 0x8a, 0x3, 0x8a, 0x3, 0x8a, 0x5, 0x8a, 0x468, 
   13797             :     0xa, 0x8a, 0x3, 0x8b, 0x3, 0x8b, 0x3, 0x8b, 0x3, 0x8b, 0x3, 0x8b, 0x3, 
   13798             :     0x8b, 0x5, 0x8b, 0x470, 0xa, 0x8b, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 
   13799             :     0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 
   13800             :     0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 
   13801             :     0x3, 0x8c, 0x3, 0x8c, 0x3, 0x8c, 0x5, 0x8c, 0x485, 0xa, 0x8c, 0x3, 0x8d, 
   13802             :     0x3, 0x8d, 0x3, 0x8d, 0x3, 0x8d, 0x6, 0x8d, 0x48b, 0xa, 0x8d, 0xd, 0x8d, 
   13803             :     0xe, 0x8d, 0x48c, 0x3, 0x8e, 0x3, 0x8e, 0x3, 0x8f, 0x3, 0x8f, 0x3, 0x90, 
   13804             :     0x3, 0x90, 0x3, 0x91, 0x3, 0x91, 0x3, 0x91, 0x5, 0x91, 0x498, 0xa, 0x91, 
   13805             :     0x3, 0x92, 0x3, 0x92, 0x3, 0x92, 0x3, 0x92, 0x3, 0x92, 0x3, 0x92, 0x3, 
   13806             :     0x92, 0x3, 0x92, 0x3, 0x92, 0x3, 0x92, 0x5, 0x92, 0x4a4, 0xa, 0x92, 
   13807             :     0x3, 0x93, 0x3, 0x93, 0x3, 0x94, 0x3, 0x94, 0x3, 0x95, 0x3, 0x95, 0x3, 
   13808             :     0x96, 0x3, 0x96, 0x3, 0x97, 0x3, 0x97, 0x3, 0x97, 0x3, 0x97, 0x6, 0x97, 
   13809             :     0x4b2, 0xa, 0x97, 0xd, 0x97, 0xe, 0x97, 0x4b3, 0x3, 0x98, 0x3, 0x98, 
   13810             :     0x3, 0x99, 0x3, 0x99, 0x3, 0x99, 0x3, 0x99, 0x6, 0x99, 0x4bc, 0xa, 0x99, 
   13811             :     0xd, 0x99, 0xe, 0x99, 0x4bd, 0x3, 0x9a, 0x3, 0x9a, 0x3, 0x9a, 0x2, 0x2, 
   13812             :     0x9b, 0x2, 0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 
   13813             :     0x1a, 0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30, 
   13814             :     0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x44, 0x46, 0x48, 
   13815             :     0x4a, 0x4c, 0x4e, 0x50, 0x52, 0x54, 0x56, 0x58, 0x5a, 0x5c, 0x5e, 0x60, 
   13816             :     0x62, 0x64, 0x66, 0x68, 0x6a, 0x6c, 0x6e, 0x70, 0x72, 0x74, 0x76, 0x78, 
   13817             :     0x7a, 0x7c, 0x7e, 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c, 0x8e, 0x90, 
   13818             :     0x92, 0x94, 0x96, 0x98, 0x9a, 0x9c, 0x9e, 0xa0, 0xa2, 0xa4, 0xa6, 0xa8, 
   13819             :     0xaa, 0xac, 0xae, 0xb0, 0xb2, 0xb4, 0xb6, 0xb8, 0xba, 0xbc, 0xbe, 0xc0, 
   13820             :     0xc2, 0xc4, 0xc6, 0xc8, 0xca, 0xcc, 0xce, 0xd0, 0xd2, 0xd4, 0xd6, 0xd8, 
   13821             :     0xda, 0xdc, 0xde, 0xe0, 0xe2, 0xe4, 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 
   13822             :     0xf2, 0xf4, 0xf6, 0xf8, 0xfa, 0xfc, 0xfe, 0x100, 0x102, 0x104, 0x106, 
   13823             :     0x108, 0x10a, 0x10c, 0x10e, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11a, 
   13824             :     0x11c, 0x11e, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12a, 0x12c, 0x12e, 
   13825             :     0x130, 0x132, 0x2, 0x4, 0x4, 0x2, 0x3d, 0x3d, 0x66, 0x66, 0x3, 0x2, 
   13826             :     0x6f, 0x77, 0x2, 0x535, 0x2, 0x134, 0x3, 0x2, 0x2, 0x2, 0x4, 0x13b, 
   13827             :     0x3, 0x2, 0x2, 0x2, 0x6, 0x13d, 0x3, 0x2, 0x2, 0x2, 0x8, 0x13f, 0x3, 
   13828             :     0x2, 0x2, 0x2, 0xa, 0x156, 0x3, 0x2, 0x2, 0x2, 0xc, 0x15b, 0x3, 0x2, 
   13829             :     0x2, 0x2, 0xe, 0x161, 0x3, 0x2, 0x2, 0x2, 0x10, 0x16f, 0x3, 0x2, 0x2, 
   13830             :     0x2, 0x12, 0x171, 0x3, 0x2, 0x2, 0x2, 0x14, 0x173, 0x3, 0x2, 0x2, 0x2, 
   13831             :     0x16, 0x179, 0x3, 0x2, 0x2, 0x2, 0x18, 0x186, 0x3, 0x2, 0x2, 0x2, 0x1a, 
   13832             :     0x188, 0x3, 0x2, 0x2, 0x2, 0x1c, 0x18c, 0x3, 0x2, 0x2, 0x2, 0x1e, 0x198, 
   13833             :     0x3, 0x2, 0x2, 0x2, 0x20, 0x19a, 0x3, 0x2, 0x2, 0x2, 0x22, 0x19d, 0x3, 
   13834             :     0x2, 0x2, 0x2, 0x24, 0x1a8, 0x3, 0x2, 0x2, 0x2, 0x26, 0x1aa, 0x3, 0x2, 
   13835             :     0x2, 0x2, 0x28, 0x1ac, 0x3, 0x2, 0x2, 0x2, 0x2a, 0x1ae, 0x3, 0x2, 0x2, 
   13836             :     0x2, 0x2c, 0x1b0, 0x3, 0x2, 0x2, 0x2, 0x2e, 0x1b2, 0x3, 0x2, 0x2, 0x2, 
   13837             :     0x30, 0x1b4, 0x3, 0x2, 0x2, 0x2, 0x32, 0x1b6, 0x3, 0x2, 0x2, 0x2, 0x34, 
   13838             :     0x1b8, 0x3, 0x2, 0x2, 0x2, 0x36, 0x1ba, 0x3, 0x2, 0x2, 0x2, 0x38, 0x1bc, 
   13839             :     0x3, 0x2, 0x2, 0x2, 0x3a, 0x1c1, 0x3, 0x2, 0x2, 0x2, 0x3c, 0x1cb, 0x3, 
   13840             :     0x2, 0x2, 0x2, 0x3e, 0x1cd, 0x3, 0x2, 0x2, 0x2, 0x40, 0x1d2, 0x3, 0x2, 
   13841             :     0x2, 0x2, 0x42, 0x1dd, 0x3, 0x2, 0x2, 0x2, 0x44, 0x1df, 0x3, 0x2, 0x2, 
   13842             :     0x2, 0x46, 0x1e3, 0x3, 0x2, 0x2, 0x2, 0x48, 0x1ea, 0x3, 0x2, 0x2, 0x2, 
   13843             :     0x4a, 0x1ec, 0x3, 0x2, 0x2, 0x2, 0x4c, 0x1f2, 0x3, 0x2, 0x2, 0x2, 0x4e, 
   13844             :     0x1f8, 0x3, 0x2, 0x2, 0x2, 0x50, 0x1fa, 0x3, 0x2, 0x2, 0x2, 0x52, 0x200, 
   13845             :     0x3, 0x2, 0x2, 0x2, 0x54, 0x214, 0x3, 0x2, 0x2, 0x2, 0x56, 0x216, 0x3, 
   13846             :     0x2, 0x2, 0x2, 0x58, 0x21d, 0x3, 0x2, 0x2, 0x2, 0x5a, 0x23b, 0x3, 0x2, 
   13847             :     0x2, 0x2, 0x5c, 0x23d, 0x3, 0x2, 0x2, 0x2, 0x5e, 0x243, 0x3, 0x2, 0x2, 
   13848             :     0x2, 0x60, 0x251, 0x3, 0x2, 0x2, 0x2, 0x62, 0x253, 0x3, 0x2, 0x2, 0x2, 
   13849             :     0x64, 0x259, 0x3, 0x2, 0x2, 0x2, 0x66, 0x270, 0x3, 0x2, 0x2, 0x2, 0x68, 
   13850             :     0x272, 0x3, 0x2, 0x2, 0x2, 0x6a, 0x279, 0x3, 0x2, 0x2, 0x2, 0x6c, 0x298, 
   13851             :     0x3, 0x2, 0x2, 0x2, 0x6e, 0x2a2, 0x3, 0x2, 0x2, 0x2, 0x70, 0x2a5, 0x3, 
   13852             :     0x2, 0x2, 0x2, 0x72, 0x2b0, 0x3, 0x2, 0x2, 0x2, 0x74, 0x2b2, 0x3, 0x2, 
   13853             :     0x2, 0x2, 0x76, 0x2b4, 0x3, 0x2, 0x2, 0x2, 0x78, 0x2ba, 0x3, 0x2, 0x2, 
   13854             :     0x2, 0x7a, 0x2ce, 0x3, 0x2, 0x2, 0x2, 0x7c, 0x2d0, 0x3, 0x2, 0x2, 0x2, 
   13855             :     0x7e, 0x2d7, 0x3, 0x2, 0x2, 0x2, 0x80, 0x2f3, 0x3, 0x2, 0x2, 0x2, 0x82, 
   13856             :     0x2f5, 0x3, 0x2, 0x2, 0x2, 0x84, 0x2fb, 0x3, 0x2, 0x2, 0x2, 0x86, 0x302, 
   13857             :     0x3, 0x2, 0x2, 0x2, 0x88, 0x304, 0x3, 0x2, 0x2, 0x2, 0x8a, 0x30a, 0x3, 
   13858             :     0x2, 0x2, 0x2, 0x8c, 0x310, 0x3, 0x2, 0x2, 0x2, 0x8e, 0x312, 0x3, 0x2, 
   13859             :     0x2, 0x2, 0x90, 0x316, 0x3, 0x2, 0x2, 0x2, 0x92, 0x322, 0x3, 0x2, 0x2, 
   13860             :     0x2, 0x94, 0x32c, 0x3, 0x2, 0x2, 0x2, 0x96, 0x331, 0x3, 0x2, 0x2, 0x2, 
   13861             :     0x98, 0x336, 0x3, 0x2, 0x2, 0x2, 0x9a, 0x33e, 0x3, 0x2, 0x2, 0x2, 0x9c, 
   13862             :     0x340, 0x3, 0x2, 0x2, 0x2, 0x9e, 0x345, 0x3, 0x2, 0x2, 0x2, 0xa0, 0x347, 
   13863             :     0x3, 0x2, 0x2, 0x2, 0xa2, 0x34c, 0x3, 0x2, 0x2, 0x2, 0xa4, 0x34e, 0x3, 
   13864             :     0x2, 0x2, 0x2, 0xa6, 0x350, 0x3, 0x2, 0x2, 0x2, 0xa8, 0x355, 0x3, 0x2, 
   13865             :     0x2, 0x2, 0xaa, 0x366, 0x3, 0x2, 0x2, 0x2, 0xac, 0x368, 0x3, 0x2, 0x2, 
   13866             :     0x2, 0xae, 0x36a, 0x3, 0x2, 0x2, 0x2, 0xb0, 0x37b, 0x3, 0x2, 0x2, 0x2, 
   13867             :     0xb2, 0x37d, 0x3, 0x2, 0x2, 0x2, 0xb4, 0x37f, 0x3, 0x2, 0x2, 0x2, 0xb6, 
   13868             :     0x390, 0x3, 0x2, 0x2, 0x2, 0xb8, 0x392, 0x3, 0x2, 0x2, 0x2, 0xba, 0x394, 
   13869             :     0x3, 0x2, 0x2, 0x2, 0xbc, 0x399, 0x3, 0x2, 0x2, 0x2, 0xbe, 0x39e, 0x3, 
   13870             :     0x2, 0x2, 0x2, 0xc0, 0x3a0, 0x3, 0x2, 0x2, 0x2, 0xc2, 0x3a5, 0x3, 0x2, 
   13871             :     0x2, 0x2, 0xc4, 0x3aa, 0x3, 0x2, 0x2, 0x2, 0xc6, 0x3af, 0x3, 0x2, 0x2, 
   13872             :     0x2, 0xc8, 0x3b4, 0x3, 0x2, 0x2, 0x2, 0xca, 0x3b9, 0x3, 0x2, 0x2, 0x2, 
   13873             :     0xcc, 0x3be, 0x3, 0x2, 0x2, 0x2, 0xce, 0x3c7, 0x3, 0x2, 0x2, 0x2, 0xd0, 
   13874             :     0x3cb, 0x3, 0x2, 0x2, 0x2, 0xd2, 0x3d0, 0x3, 0x2, 0x2, 0x2, 0xd4, 0x3d2, 
   13875             :     0x3, 0x2, 0x2, 0x2, 0xd6, 0x3dd, 0x3, 0x2, 0x2, 0x2, 0xd8, 0x3e3, 0x3, 
   13876             :     0x2, 0x2, 0x2, 0xda, 0x3e7, 0x3, 0x2, 0x2, 0x2, 0xdc, 0x3e9, 0x3, 0x2, 
   13877             :     0x2, 0x2, 0xde, 0x3ee, 0x3, 0x2, 0x2, 0x2, 0xe0, 0x3f3, 0x3, 0x2, 0x2, 
   13878             :     0x2, 0xe2, 0x3f5, 0x3, 0x2, 0x2, 0x2, 0xe4, 0x3f7, 0x3, 0x2, 0x2, 0x2, 
   13879             :     0xe6, 0x3fc, 0x3, 0x2, 0x2, 0x2, 0xe8, 0x3fe, 0x3, 0x2, 0x2, 0x2, 0xea, 
   13880             :     0x403, 0x3, 0x2, 0x2, 0x2, 0xec, 0x408, 0x3, 0x2, 0x2, 0x2, 0xee, 0x40d, 
   13881             :     0x3, 0x2, 0x2, 0x2, 0xf0, 0x412, 0x3, 0x2, 0x2, 0x2, 0xf2, 0x417, 0x3, 
   13882             :     0x2, 0x2, 0x2, 0xf4, 0x419, 0x3, 0x2, 0x2, 0x2, 0xf6, 0x420, 0x3, 0x2, 
   13883             :     0x2, 0x2, 0xf8, 0x428, 0x3, 0x2, 0x2, 0x2, 0xfa, 0x42a, 0x3, 0x2, 0x2, 
   13884             :     0x2, 0xfc, 0x42f, 0x3, 0x2, 0x2, 0x2, 0xfe, 0x431, 0x3, 0x2, 0x2, 0x2, 
   13885             :     0x100, 0x433, 0x3, 0x2, 0x2, 0x2, 0x102, 0x438, 0x3, 0x2, 0x2, 0x2, 
   13886             :     0x104, 0x43e, 0x3, 0x2, 0x2, 0x2, 0x106, 0x442, 0x3, 0x2, 0x2, 0x2, 
   13887             :     0x108, 0x44a, 0x3, 0x2, 0x2, 0x2, 0x10a, 0x456, 0x3, 0x2, 0x2, 0x2, 
   13888             :     0x10c, 0x458, 0x3, 0x2, 0x2, 0x2, 0x10e, 0x45a, 0x3, 0x2, 0x2, 0x2, 
   13889             :     0x110, 0x45c, 0x3, 0x2, 0x2, 0x2, 0x112, 0x467, 0x3, 0x2, 0x2, 0x2, 
   13890             :     0x114, 0x46f, 0x3, 0x2, 0x2, 0x2, 0x116, 0x484, 0x3, 0x2, 0x2, 0x2, 
   13891             :     0x118, 0x48a, 0x3, 0x2, 0x2, 0x2, 0x11a, 0x48e, 0x3, 0x2, 0x2, 0x2, 
   13892             :     0x11c, 0x490, 0x3, 0x2, 0x2, 0x2, 0x11e, 0x492, 0x3, 0x2, 0x2, 0x2, 
   13893             :     0x120, 0x497, 0x3, 0x2, 0x2, 0x2, 0x122, 0x4a3, 0x3, 0x2, 0x2, 0x2, 
   13894             :     0x124, 0x4a5, 0x3, 0x2, 0x2, 0x2, 0x126, 0x4a7, 0x3, 0x2, 0x2, 0x2, 
   13895             :     0x128, 0x4a9, 0x3, 0x2, 0x2, 0x2, 0x12a, 0x4ab, 0x3, 0x2, 0x2, 0x2, 
   13896             :     0x12c, 0x4b1, 0x3, 0x2, 0x2, 0x2, 0x12e, 0x4b5, 0x3, 0x2, 0x2, 0x2, 
   13897             :     0x130, 0x4bb, 0x3, 0x2, 0x2, 0x2, 0x132, 0x4bf, 0x3, 0x2, 0x2, 0x2, 
   13898             :     0x134, 0x135, 0x5, 0x4, 0x3, 0x2, 0x135, 0x136, 0x7, 0x6, 0x2, 0x2, 
   13899             :     0x136, 0x137, 0x5, 0xa, 0x6, 0x2, 0x137, 0x138, 0x7, 0x2, 0x2, 0x3, 
   13900             :     0x138, 0x3, 0x3, 0x2, 0x2, 0x2, 0x139, 0x13c, 0x5, 0x6, 0x4, 0x2, 0x13a, 
   13901             :     0x13c, 0x5, 0x8, 0x5, 0x2, 0x13b, 0x139, 0x3, 0x2, 0x2, 0x2, 0x13b, 
   13902             :     0x13a, 0x3, 0x2, 0x2, 0x2, 0x13c, 0x5, 0x3, 0x2, 0x2, 0x2, 0x13d, 0x13e, 
   13903             :     0x7, 0x4, 0x2, 0x2, 0x13e, 0x7, 0x3, 0x2, 0x2, 0x2, 0x13f, 0x140, 0x7, 
   13904             :     0x5, 0x2, 0x2, 0x140, 0x9, 0x3, 0x2, 0x2, 0x2, 0x141, 0x157, 0x5, 0xc, 
   13905             :     0x7, 0x2, 0x142, 0x157, 0x5, 0x10, 0x9, 0x2, 0x143, 0x157, 0x5, 0x14, 
   13906             :     0xb, 0x2, 0x144, 0x157, 0x5, 0x1a, 0xe, 0x2, 0x145, 0x157, 0x5, 0x20, 
   13907             :     0x11, 0x2, 0x146, 0x157, 0x5, 0x38, 0x1d, 0x2, 0x147, 0x157, 0x5, 0x3e, 
   13908             :     0x20, 0x2, 0x148, 0x157, 0x5, 0x44, 0x23, 0x2, 0x149, 0x157, 0x5, 0x4a, 
   13909             :     0x26, 0x2, 0x14a, 0x157, 0x5, 0x50, 0x29, 0x2, 0x14b, 0x157, 0x5, 0x56, 
   13910             :     0x2c, 0x2, 0x14c, 0x157, 0x5, 0x5c, 0x2f, 0x2, 0x14d, 0x157, 0x5, 0x62, 
   13911             :     0x32, 0x2, 0x14e, 0x157, 0x5, 0x68, 0x35, 0x2, 0x14f, 0x157, 0x5, 0x6e, 
   13912             :     0x38, 0x2, 0x150, 0x157, 0x5, 0x76, 0x3c, 0x2, 0x151, 0x157, 0x5, 0x7c, 
   13913             :     0x3f, 0x2, 0x152, 0x157, 0x5, 0x82, 0x42, 0x2, 0x153, 0x157, 0x5, 0x88, 
   13914             :     0x45, 0x2, 0x154, 0x157, 0x5, 0x8e, 0x48, 0x2, 0x155, 0x157, 0x5, 0x94, 
   13915             :     0x4b, 0x2, 0x156, 0x141, 0x3, 0x2, 0x2, 0x2, 0x156, 0x142, 0x3, 0x2, 
   13916             :     0x2, 0x2, 0x156, 0x143, 0x3, 0x2, 0x2, 0x2, 0x156, 0x144, 0x3, 0x2, 
   13917             :     0x2, 0x2, 0x156, 0x145, 0x3, 0x2, 0x2, 0x2, 0x156, 0x146, 0x3, 0x2, 
   13918             :     0x2, 0x2, 0x156, 0x147, 0x3, 0x2, 0x2, 0x2, 0x156, 0x148, 0x3, 0x2, 
   13919             :     0x2, 0x2, 0x156, 0x149, 0x3, 0x2, 0x2, 0x2, 0x156, 0x14a, 0x3, 0x2, 
   13920             :     0x2, 0x2, 0x156, 0x14b, 0x3, 0x2, 0x2, 0x2, 0x156, 0x14c, 0x3, 0x2, 
   13921             :     0x2, 0x2, 0x156, 0x14d, 0x3, 0x2, 0x2, 0x2, 0x156, 0x14e, 0x3, 0x2, 
   13922             :     0x2, 0x2, 0x156, 0x14f, 0x3, 0x2, 0x2, 0x2, 0x156, 0x150, 0x3, 0x2, 
   13923             :     0x2, 0x2, 0x156, 0x151, 0x3, 0x2, 0x2, 0x2, 0x156, 0x152, 0x3, 0x2, 
   13924             :     0x2, 0x2, 0x156, 0x153, 0x3, 0x2, 0x2, 0x2, 0x156, 0x154, 0x3, 0x2, 
   13925             :     0x2, 0x2, 0x156, 0x155, 0x3, 0x2, 0x2, 0x2, 0x157, 0xb, 0x3, 0x2, 0x2, 
   13926             :     0x2, 0x158, 0x15c, 0x7, 0x7, 0x2, 0x2, 0x159, 0x15a, 0x7, 0x7, 0x2, 
   13927             :     0x2, 0x15a, 0x15c, 0x5, 0xe, 0x8, 0x2, 0x15b, 0x158, 0x3, 0x2, 0x2, 
   13928             :     0x2, 0x15b, 0x159, 0x3, 0x2, 0x2, 0x2, 0x15c, 0xd, 0x3, 0x2, 0x2, 0x2, 
   13929             :     0x15d, 0x162, 0x5, 0xa4, 0x53, 0x2, 0x15e, 0x162, 0x5, 0xf2, 0x7a, 0x2, 
   13930             :     0x15f, 0x162, 0x5, 0x102, 0x82, 0x2, 0x160, 0x162, 0x5, 0x128, 0x95, 
   13931             :     0x2, 0x161, 0x15d, 0x3, 0x2, 0x2, 0x2, 0x161, 0x15e, 0x3, 0x2, 0x2, 
   13932             :     0x2, 0x161, 0x15f, 0x3, 0x2, 0x2, 0x2, 0x161, 0x160, 0x3, 0x2, 0x2, 
   13933             :     0x2, 0x162, 0xf, 0x3, 0x2, 0x2, 0x2, 0x163, 0x164, 0x7, 0x8, 0x2, 0x2, 
   13934             :     0x164, 0x165, 0x7, 0x18, 0x2, 0x2, 0x165, 0x166, 0x5, 0x130, 0x99, 0x2, 
   13935             :     0x166, 0x167, 0x7, 0x19, 0x2, 0x2, 0x167, 0x170, 0x3, 0x2, 0x2, 0x2, 
   13936             :     0x168, 0x169, 0x7, 0x8, 0x2, 0x2, 0x169, 0x16a, 0x7, 0x18, 0x2, 0x2, 
   13937             :     0x16a, 0x16b, 0x5, 0x12, 0xa, 0x2, 0x16b, 0x16c, 0x7, 0x1b, 0x2, 0x2, 
   13938             :     0x16c, 0x16d, 0x5, 0x130, 0x99, 0x2, 0x16d, 0x16e, 0x7, 0x19, 0x2, 0x2, 
   13939             :     0x16e, 0x170, 0x3, 0x2, 0x2, 0x2, 0x16f, 0x163, 0x3, 0x2, 0x2, 0x2, 
   13940             :     0x16f, 0x168, 0x3, 0x2, 0x2, 0x2, 0x170, 0x11, 0x3, 0x2, 0x2, 0x2, 0x171, 
   13941             :     0x172, 0x7, 0x55, 0x2, 0x2, 0x172, 0x13, 0x3, 0x2, 0x2, 0x2, 0x173, 
   13942             :     0x174, 0x7, 0x9, 0x2, 0x2, 0x174, 0x175, 0x5, 0x16, 0xc, 0x2, 0x175, 
   13943             :     0x15, 0x3, 0x2, 0x2, 0x2, 0x176, 0x178, 0x5, 0x18, 0xd, 0x2, 0x177, 
   13944             :     0x176, 0x3, 0x2, 0x2, 0x2, 0x178, 0x17b, 0x3, 0x2, 0x2, 0x2, 0x179, 
   13945             :     0x177, 0x3, 0x2, 0x2, 0x2, 0x179, 0x17a, 0x3, 0x2, 0x2, 0x2, 0x17a, 
   13946             :     0x17, 0x3, 0x2, 0x2, 0x2, 0x17b, 0x179, 0x3, 0x2, 0x2, 0x2, 0x17c, 0x187, 
   13947             :     0x5, 0x9c, 0x4f, 0x2, 0x17d, 0x187, 0x5, 0xa8, 0x55, 0x2, 0x17e, 0x187, 
   13948             :     0x5, 0xaa, 0x56, 0x2, 0x17f, 0x187, 0x5, 0xb0, 0x59, 0x2, 0x180, 0x187, 
   13949             :     0x5, 0xb6, 0x5c, 0x2, 0x181, 0x187, 0x5, 0xbc, 0x5f, 0x2, 0x182, 0x187, 
   13950             :     0x5, 0xd0, 0x69, 0x2, 0x183, 0x187, 0x5, 0xde, 0x70, 0x2, 0x184, 0x187, 
   13951             :     0x5, 0xe8, 0x75, 0x2, 0x185, 0x187, 0x5, 0xee, 0x78, 0x2, 0x186, 0x17c, 
   13952             :     0x3, 0x2, 0x2, 0x2, 0x186, 0x17d, 0x3, 0x2, 0x2, 0x2, 0x186, 0x17e, 
   13953             :     0x3, 0x2, 0x2, 0x2, 0x186, 0x17f, 0x3, 0x2, 0x2, 0x2, 0x186, 0x180, 
   13954             :     0x3, 0x2, 0x2, 0x2, 0x186, 0x181, 0x3, 0x2, 0x2, 0x2, 0x186, 0x182, 
   13955             :     0x3, 0x2, 0x2, 0x2, 0x186, 0x183, 0x3, 0x2, 0x2, 0x2, 0x186, 0x184, 
   13956             :     0x3, 0x2, 0x2, 0x2, 0x186, 0x185, 0x3, 0x2, 0x2, 0x2, 0x187, 0x19, 0x3, 
   13957             :     0x2, 0x2, 0x2, 0x188, 0x189, 0x7, 0xb, 0x2, 0x2, 0x189, 0x18a, 0x5, 
   13958             :     0x1c, 0xf, 0x2, 0x18a, 0x1b, 0x3, 0x2, 0x2, 0x2, 0x18b, 0x18d, 0x5, 
   13959             :     0x1e, 0x10, 0x2, 0x18c, 0x18b, 0x3, 0x2, 0x2, 0x2, 0x18d, 0x18e, 0x3, 
   13960             :     0x2, 0x2, 0x2, 0x18e, 0x18c, 0x3, 0x2, 0x2, 0x2, 0x18e, 0x18f, 0x3, 
   13961             :     0x2, 0x2, 0x2, 0x18f, 0x1d, 0x3, 0x2, 0x2, 0x2, 0x190, 0x199, 0x5, 0xa8, 
   13962             :     0x55, 0x2, 0x191, 0x199, 0x5, 0xaa, 0x56, 0x2, 0x192, 0x199, 0x5, 0xb4, 
   13963             :     0x5b, 0x2, 0x193, 0x199, 0x5, 0xba, 0x5e, 0x2, 0x194, 0x199, 0x5, 0xca, 
   13964             :     0x66, 0x2, 0x195, 0x199, 0x5, 0xd0, 0x69, 0x2, 0x196, 0x199, 0x5, 0xe4, 
   13965             :     0x73, 0x2, 0x197, 0x199, 0x5, 0xee, 0x78, 0x2, 0x198, 0x190, 0x3, 0x2, 
   13966             :     0x2, 0x2, 0x198, 0x191, 0x3, 0x2, 0x2, 0x2, 0x198, 0x192, 0x3, 0x2, 
   13967             :     0x2, 0x2, 0x198, 0x193, 0x3, 0x2, 0x2, 0x2, 0x198, 0x194, 0x3, 0x2, 
   13968             :     0x2, 0x2, 0x198, 0x195, 0x3, 0x2, 0x2, 0x2, 0x198, 0x196, 0x3, 0x2, 
   13969             :     0x2, 0x2, 0x198, 0x197, 0x3, 0x2, 0x2, 0x2, 0x199, 0x1f, 0x3, 0x2, 0x2, 
   13970             :     0x2, 0x19a, 0x19b, 0x7, 0xa, 0x2, 0x2, 0x19b, 0x19c, 0x5, 0x22, 0x12, 
   13971             :     0x2, 0x19c, 0x21, 0x3, 0x2, 0x2, 0x2, 0x19d, 0x19e, 0x5, 0x24, 0x13, 
   13972             :     0x2, 0x19e, 0x23, 0x3, 0x2, 0x2, 0x2, 0x19f, 0x1a9, 0x5, 0x26, 0x14, 
   13973             :     0x2, 0x1a0, 0x1a9, 0x5, 0x28, 0x15, 0x2, 0x1a1, 0x1a9, 0x5, 0x2a, 0x16, 
   13974             :     0x2, 0x1a2, 0x1a9, 0x5, 0x2c, 0x17, 0x2, 0x1a3, 0x1a9, 0x5, 0x2e, 0x18, 
   13975             :     0x2, 0x1a4, 0x1a9, 0x5, 0x30, 0x19, 0x2, 0x1a5, 0x1a9, 0x5, 0x32, 0x1a, 
   13976             :     0x2, 0x1a6, 0x1a9, 0x5, 0x34, 0x1b, 0x2, 0x1a7, 0x1a9, 0x5, 0x36, 0x1c, 
   13977             :     0x2, 0x1a8, 0x19f, 0x3, 0x2, 0x2, 0x2, 0x1a8, 0x1a0, 0x3, 0x2, 0x2, 
   13978             :     0x2, 0x1a8, 0x1a1, 0x3, 0x2, 0x2, 0x2, 0x1a8, 0x1a2, 0x3, 0x2, 0x2, 
   13979             :     0x2, 0x1a8, 0x1a3, 0x3, 0x2, 0x2, 0x2, 0x1a8, 0x1a4, 0x3, 0x2, 0x2, 
   13980             :     0x2, 0x1a8, 0x1a5, 0x3, 0x2, 0x2, 0x2, 0x1a8, 0x1a6, 0x3, 0x2, 0x2, 
   13981             :     0x2, 0x1a8, 0x1a7, 0x3, 0x2, 0x2, 0x2, 0x1a9, 0x25, 0x3, 0x2, 0x2, 0x2, 
   13982             :     0x1aa, 0x1ab, 0x5, 0xc, 0x7, 0x2, 0x1ab, 0x27, 0x3, 0x2, 0x2, 0x2, 0x1ac, 
   13983             :     0x1ad, 0x5, 0x14, 0xb, 0x2, 0x1ad, 0x29, 0x3, 0x2, 0x2, 0x2, 0x1ae, 
   13984             :     0x1af, 0x7, 0xe, 0x2, 0x2, 0x1af, 0x2b, 0x3, 0x2, 0x2, 0x2, 0x1b0, 0x1b1, 
   13985             :     0x5, 0x50, 0x29, 0x2, 0x1b1, 0x2d, 0x3, 0x2, 0x2, 0x2, 0x1b2, 0x1b3, 
   13986             :     0x5, 0x56, 0x2c, 0x2, 0x1b3, 0x2f, 0x3, 0x2, 0x2, 0x2, 0x1b4, 0x1b5, 
   13987             :     0x5, 0x62, 0x32, 0x2, 0x1b5, 0x31, 0x3, 0x2, 0x2, 0x2, 0x1b6, 0x1b7, 
   13988             :     0x5, 0x68, 0x35, 0x2, 0x1b7, 0x33, 0x3, 0x2, 0x2, 0x2, 0x1b8, 0x1b9, 
   13989             :     0x5, 0x76, 0x3c, 0x2, 0x1b9, 0x35, 0x3, 0x2, 0x2, 0x2, 0x1ba, 0x1bb, 
   13990             :     0x5, 0x7c, 0x3f, 0x2, 0x1bb, 0x37, 0x3, 0x2, 0x2, 0x2, 0x1bc, 0x1bd, 
   13991             :     0x7, 0xc, 0x2, 0x2, 0x1bd, 0x1be, 0x7, 0x9, 0x2, 0x2, 0x1be, 0x1bf, 
   13992             :     0x5, 0x3a, 0x1e, 0x2, 0x1bf, 0x39, 0x3, 0x2, 0x2, 0x2, 0x1c0, 0x1c2, 
   13993             :     0x5, 0x3c, 0x1f, 0x2, 0x1c1, 0x1c0, 0x3, 0x2, 0x2, 0x2, 0x1c2, 0x1c3, 
   13994             :     0x3, 0x2, 0x2, 0x2, 0x1c3, 0x1c1, 0x3, 0x2, 0x2, 0x2, 0x1c3, 0x1c4, 
   13995             :     0x3, 0x2, 0x2, 0x2, 0x1c4, 0x3b, 0x3, 0x2, 0x2, 0x2, 0x1c5, 0x1cc, 0x5, 
   13996             :     0x9a, 0x4e, 0x2, 0x1c6, 0x1cc, 0x5, 0x9c, 0x4f, 0x2, 0x1c7, 0x1cc, 0x5, 
   13997             :     0xae, 0x58, 0x2, 0x1c8, 0x1cc, 0x5, 0xb6, 0x5c, 0x2, 0x1c9, 0x1cc, 0x5, 
   13998             :     0xde, 0x70, 0x2, 0x1ca, 0x1cc, 0x5, 0x114, 0x8b, 0x2, 0x1cb, 0x1c5, 
   13999             :     0x3, 0x2, 0x2, 0x2, 0x1cb, 0x1c6, 0x3, 0x2, 0x2, 0x2, 0x1cb, 0x1c7, 
   14000             :     0x3, 0x2, 0x2, 0x2, 0x1cb, 0x1c8, 0x3, 0x2, 0x2, 0x2, 0x1cb, 0x1c9, 
   14001             :     0x3, 0x2, 0x2, 0x2, 0x1cb, 0x1ca, 0x3, 0x2, 0x2, 0x2, 0x1cc, 0x3d, 0x3, 
   14002             :     0x2, 0x2, 0x2, 0x1cd, 0x1ce, 0x7, 0xd, 0x2, 0x2, 0x1ce, 0x1cf, 0x7, 
   14003             :     0x9, 0x2, 0x2, 0x1cf, 0x1d0, 0x5, 0x40, 0x21, 0x2, 0x1d0, 0x3f, 0x3, 
   14004             :     0x2, 0x2, 0x2, 0x1d1, 0x1d3, 0x5, 0x42, 0x22, 0x2, 0x1d2, 0x1d1, 0x3, 
   14005             :     0x2, 0x2, 0x2, 0x1d3, 0x1d4, 0x3, 0x2, 0x2, 0x2, 0x1d4, 0x1d2, 0x3, 
   14006             :     0x2, 0x2, 0x2, 0x1d4, 0x1d5, 0x3, 0x2, 0x2, 0x2, 0x1d5, 0x41, 0x3, 0x2, 
   14007             :     0x2, 0x2, 0x1d6, 0x1de, 0x5, 0x9a, 0x4e, 0x2, 0x1d7, 0x1de, 0x5, 0xb4, 
   14008             :     0x5b, 0x2, 0x1d8, 0x1de, 0x5, 0xc2, 0x62, 0x2, 0x1d9, 0x1de, 0x5, 0xc4, 
   14009             :     0x63, 0x2, 0x1da, 0x1de, 0x5, 0xd2, 0x6a, 0x2, 0x1db, 0x1de, 0x5, 0xde, 
   14010             :     0x70, 0x2, 0x1dc, 0x1de, 0x5, 0x114, 0x8b, 0x2, 0x1dd, 0x1d6, 0x3, 0x2, 
   14011             :     0x2, 0x2, 0x1dd, 0x1d7, 0x3, 0x2, 0x2, 0x2, 0x1dd, 0x1d8, 0x3, 0x2, 
   14012             :     0x2, 0x2, 0x1dd, 0x1d9, 0x3, 0x2, 0x2, 0x2, 0x1dd, 0x1da, 0x3, 0x2, 
   14013             :     0x2, 0x2, 0x1dd, 0x1db, 0x3, 0x2, 0x2, 0x2, 0x1dd, 0x1dc, 0x3, 0x2, 
   14014             :     0x2, 0x2, 0x1de, 0x43, 0x3, 0x2, 0x2, 0x2, 0x1df, 0x1e0, 0x7, 0xe, 0x2, 
   14015             :     0x2, 0x1e0, 0x1e1, 0x5, 0x46, 0x24, 0x2, 0x1e1, 0x45, 0x3, 0x2, 0x2, 
   14016             :     0x2, 0x1e2, 0x1e4, 0x5, 0x48, 0x25, 0x2, 0x1e3, 0x1e2, 0x3, 0x2, 0x2, 
   14017             :     0x2, 0x1e4, 0x1e5, 0x3, 0x2, 0x2, 0x2, 0x1e5, 0x1e3, 0x3, 0x2, 0x2, 
   14018             :     0x2, 0x1e5, 0x1e6, 0x3, 0x2, 0x2, 0x2, 0x1e6, 0x47, 0x3, 0x2, 0x2, 0x2, 
   14019             :     0x1e7, 0x1eb, 0x5, 0xde, 0x70, 0x2, 0x1e8, 0x1eb, 0x5, 0xe0, 0x71, 0x2, 
   14020             :     0x1e9, 0x1eb, 0x5, 0x106, 0x84, 0x2, 0x1ea, 0x1e7, 0x3, 0x2, 0x2, 0x2, 
   14021             :     0x1ea, 0x1e8, 0x3, 0x2, 0x2, 0x2, 0x1ea, 0x1e9, 0x3, 0x2, 0x2, 0x2, 
   14022             :     0x1eb, 0x49, 0x3, 0x2, 0x2, 0x2, 0x1ec, 0x1ed, 0x7, 0xf, 0x2, 0x2, 0x1ed, 
   14023             :     0x1ee, 0x5, 0x4c, 0x27, 0x2, 0x1ee, 0x4b, 0x3, 0x2, 0x2, 0x2, 0x1ef, 
   14024             :     0x1f1, 0x5, 0x4e, 0x28, 0x2, 0x1f0, 0x1ef, 0x3, 0x2, 0x2, 0x2, 0x1f1, 
   14025             :     0x1f4, 0x3, 0x2, 0x2, 0x2, 0x1f2, 0x1f0, 0x3, 0x2, 0x2, 0x2, 0x1f2, 
   14026             :     0x1f3, 0x3, 0x2, 0x2, 0x2, 0x1f3, 0x4d, 0x3, 0x2, 0x2, 0x2, 0x1f4, 0x1f2, 
   14027             :     0x3, 0x2, 0x2, 0x2, 0x1f5, 0x1f9, 0x5, 0xcc, 0x67, 0x2, 0x1f6, 0x1f9, 
   14028             :     0x5, 0xc8, 0x65, 0x2, 0x1f7, 0x1f9, 0x5, 0xde, 0x70, 0x2, 0x1f8, 0x1f5, 
   14029             :     0x3, 0x2, 0x2, 0x2, 0x1f8, 0x1f6, 0x3, 0x2, 0x2, 0x2, 0x1f8, 0x1f7, 
   14030             :     0x3, 0x2, 0x2, 0x2, 0x1f9, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x1fa, 0x1fb, 0x7, 
   14031             :     0x10, 0x2, 0x2, 0x1fb, 0x1fc, 0x5, 0x52, 0x2a, 0x2, 0x1fc, 0x51, 0x3, 
   14032             :     0x2, 0x2, 0x2, 0x1fd, 0x1ff, 0x5, 0x54, 0x2b, 0x2, 0x1fe, 0x1fd, 0x3, 
   14033             :     0x2, 0x2, 0x2, 0x1ff, 0x202, 0x3, 0x2, 0x2, 0x2, 0x200, 0x1fe, 0x3, 
   14034             :     0x2, 0x2, 0x2, 0x200, 0x201, 0x3, 0x2, 0x2, 0x2, 0x201, 0x53, 0x3, 0x2, 
   14035             :     0x2, 0x2, 0x202, 0x200, 0x3, 0x2, 0x2, 0x2, 0x203, 0x215, 0x5, 0x9a, 
   14036             :     0x4e, 0x2, 0x204, 0x215, 0x5, 0x9c, 0x4f, 0x2, 0x205, 0x215, 0x5, 0xa8, 
   14037             :     0x55, 0x2, 0x206, 0x215, 0x5, 0xaa, 0x56, 0x2, 0x207, 0x215, 0x5, 0xb0, 
   14038             :     0x59, 0x2, 0x208, 0x215, 0x5, 0xb6, 0x5c, 0x2, 0x209, 0x215, 0x5, 0xbc, 
   14039             :     0x5f, 0x2, 0x20a, 0x215, 0x5, 0xcc, 0x67, 0x2, 0x20b, 0x215, 0x5, 0xd0, 
   14040             :     0x69, 0x2, 0x20c, 0x215, 0x5, 0xde, 0x70, 0x2, 0x20d, 0x215, 0x5, 0xe8, 
   14041             :     0x75, 0x2, 0x20e, 0x215, 0x5, 0xea, 0x76, 0x2, 0x20f, 0x215, 0x5, 0xec, 
   14042             :     0x77, 0x2, 0x210, 0x215, 0x5, 0xee, 0x78, 0x2, 0x211, 0x215, 0x5, 0xf8, 
   14043             :     0x7d, 0x2, 0x212, 0x215, 0x5, 0x110, 0x89, 0x2, 0x213, 0x215, 0x5, 0x112, 
   14044             :     0x8a, 0x2, 0x214, 0x203, 0x3, 0x2, 0x2, 0x2, 0x214, 0x204, 0x3, 0x2, 
   14045             :     0x2, 0x2, 0x214, 0x205, 0x3, 0x2, 0x2, 0x2, 0x214, 0x206, 0x3, 0x2, 
   14046             :     0x2, 0x2, 0x214, 0x207, 0x3, 0x2, 0x2, 0x2, 0x214, 0x208, 0x3, 0x2, 
   14047             :     0x2, 0x2, 0x214, 0x209, 0x3, 0x2, 0x2, 0x2, 0x214, 0x20a, 0x3, 0x2, 
   14048             :     0x2, 0x2, 0x214, 0x20b, 0x3, 0x2, 0x2, 0x2, 0x214, 0x20c, 0x3, 0x2, 
   14049             :     0x2, 0x2, 0x214, 0x20d, 0x3, 0x2, 0x2, 0x2, 0x214, 0x20e, 0x3, 0x2, 
   14050             :     0x2, 0x2, 0x214, 0x20f, 0x3, 0x2, 0x2, 0x2, 0x214, 0x210, 0x3, 0x2, 
   14051             :     0x2, 0x2, 0x214, 0x211, 0x3, 0x2, 0x2, 0x2, 0x214, 0x212, 0x3, 0x2, 
   14052             :     0x2, 0x2, 0x214, 0x213, 0x3, 0x2, 0x2, 0x2, 0x215, 0x55, 0x3, 0x2, 0x2, 
   14053             :     0x2, 0x216, 0x217, 0x7, 0x10, 0x2, 0x2, 0x217, 0x218, 0x7, 0x11, 0x2, 
   14054             :     0x2, 0x218, 0x219, 0x5, 0x58, 0x2d, 0x2, 0x219, 0x57, 0x3, 0x2, 0x2, 
   14055             :     0x2, 0x21a, 0x21c, 0x5, 0x5a, 0x2e, 0x2, 0x21b, 0x21a, 0x3, 0x2, 0x2, 
   14056             :     0x2, 0x21c, 0x21f, 0x3, 0x2, 0x2, 0x2, 0x21d, 0x21b, 0x3, 0x2, 0x2, 
   14057             :     0x2, 0x21d, 0x21e, 0x3, 0x2, 0x2, 0x2, 0x21e, 0x59, 0x3, 0x2, 0x2, 0x2, 
   14058             :     0x21f, 0x21d, 0x3, 0x2, 0x2, 0x2, 0x220, 0x23c, 0x5, 0x9a, 0x4e, 0x2, 
   14059             :     0x221, 0x23c, 0x5, 0x9c, 0x4f, 0x2, 0x222, 0x23c, 0x5, 0x9e, 0x50, 0x2, 
   14060             :     0x223, 0x23c, 0x5, 0xa6, 0x54, 0x2, 0x224, 0x23c, 0x5, 0xa8, 0x55, 0x2, 
   14061             :     0x225, 0x23c, 0x5, 0xaa, 0x56, 0x2, 0x226, 0x23c, 0x5, 0xb0, 0x59, 0x2, 
   14062             :     0x227, 0x23c, 0x5, 0xb6, 0x5c, 0x2, 0x228, 0x23c, 0x5, 0xbc, 0x5f, 0x2, 
   14063             :     0x229, 0x23c, 0x5, 0xcc, 0x67, 0x2, 0x22a, 0x23c, 0x5, 0xd0, 0x69, 0x2, 
   14064             :     0x22b, 0x23c, 0x5, 0xd6, 0x6c, 0x2, 0x22c, 0x23c, 0x5, 0xde, 0x70, 0x2, 
   14065             :     0x22d, 0x23c, 0x5, 0xe2, 0x72, 0x2, 0x22e, 0x23c, 0x5, 0xe8, 0x75, 0x2, 
   14066             :     0x22f, 0x23c, 0x5, 0xea, 0x76, 0x2, 0x230, 0x23c, 0x5, 0xec, 0x77, 0x2, 
   14067             :     0x231, 0x23c, 0x5, 0xee, 0x78, 0x2, 0x232, 0x23c, 0x5, 0xf0, 0x79, 0x2, 
   14068             :     0x233, 0x23c, 0x5, 0xf4, 0x7b, 0x2, 0x234, 0x23c, 0x5, 0xf8, 0x7d, 0x2, 
   14069             :     0x235, 0x23c, 0x5, 0xfe, 0x80, 0x2, 0x236, 0x23c, 0x5, 0x100, 0x81, 
   14070             :     0x2, 0x237, 0x23c, 0x5, 0x108, 0x85, 0x2, 0x238, 0x23c, 0x5, 0x110, 
   14071             :     0x89, 0x2, 0x239, 0x23c, 0x5, 0x112, 0x8a, 0x2, 0x23a, 0x23c, 0x5, 0x120, 
   14072             :     0x91, 0x2, 0x23b, 0x220, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x221, 0x3, 0x2, 
   14073             :     0x2, 0x2, 0x23b, 0x222, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x223, 0x3, 0x2, 
   14074             :     0x2, 0x2, 0x23b, 0x224, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x225, 0x3, 0x2, 
   14075             :     0x2, 0x2, 0x23b, 0x226, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x227, 0x3, 0x2, 
   14076             :     0x2, 0x2, 0x23b, 0x228, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x229, 0x3, 0x2, 
   14077             :     0x2, 0x2, 0x23b, 0x22a, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x22b, 0x3, 0x2, 
   14078             :     0x2, 0x2, 0x23b, 0x22c, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x22d, 0x3, 0x2, 
   14079             :     0x2, 0x2, 0x23b, 0x22e, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x22f, 0x3, 0x2, 
   14080             :     0x2, 0x2, 0x23b, 0x230, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x231, 0x3, 0x2, 
   14081             :     0x2, 0x2, 0x23b, 0x232, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x233, 0x3, 0x2, 
   14082             :     0x2, 0x2, 0x23b, 0x234, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x235, 0x3, 0x2, 
   14083             :     0x2, 0x2, 0x23b, 0x236, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x237, 0x3, 0x2, 
   14084             :     0x2, 0x2, 0x23b, 0x238, 0x3, 0x2, 0x2, 0x2, 0x23b, 0x239, 0x3, 0x2, 
   14085             :     0x2, 0x2, 0x23b, 0x23a, 0x3, 0x2, 0x2, 0x2, 0x23c, 0x5b, 0x3, 0x2, 0x2, 
   14086             :     0x2, 0x23d, 0x23e, 0x7, 0x11, 0x2, 0x2, 0x23e, 0x23f, 0x5, 0x5e, 0x30, 
   14087             :     0x2, 0x23f, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x240, 0x242, 0x5, 0x60, 0x31, 
   14088             :     0x2, 0x241, 0x240, 0x3, 0x2, 0x2, 0x2, 0x242, 0x245, 0x3, 0x2, 0x2, 
   14089             :     0x2, 0x243, 0x241, 0x3, 0x2, 0x2, 0x2, 0x243, 0x244, 0x3, 0x2, 0x2, 
   14090             :     0x2, 0x244, 0x5f, 0x3, 0x2, 0x2, 0x2, 0x245, 0x243, 0x3, 0x2, 0x2, 0x2, 
   14091             :     0x246, 0x252, 0x5, 0x9e, 0x50, 0x2, 0x247, 0x252, 0x5, 0xa6, 0x54, 0x2, 
   14092             :     0x248, 0x252, 0x5, 0xcc, 0x67, 0x2, 0x249, 0x252, 0x5, 0xd6, 0x6c, 0x2, 
   14093             :     0x24a, 0x252, 0x5, 0xe2, 0x72, 0x2, 0x24b, 0x252, 0x5, 0xf0, 0x79, 0x2, 
   14094             :     0x24c, 0x252, 0x5, 0xf4, 0x7b, 0x2, 0x24d, 0x252, 0x5, 0xfe, 0x80, 0x2, 
   14095             :     0x24e, 0x252, 0x5, 0x100, 0x81, 0x2, 0x24f, 0x252, 0x5, 0x108, 0x85, 
   14096             :     0x2, 0x250, 0x252, 0x5, 0x120, 0x91, 0x2, 0x251, 0x246, 0x3, 0x2, 0x2, 
   14097             :     0x2, 0x251, 0x247, 0x3, 0x2, 0x2, 0x2, 0x251, 0x248, 0x3, 0x2, 0x2, 
   14098             :     0x2, 0x251, 0x249, 0x3, 0x2, 0x2, 0x2, 0x251, 0x24a, 0x3, 0x2, 0x2, 
   14099             :     0x2, 0x251, 0x24b, 0x3, 0x2, 0x2, 0x2, 0x251, 0x24c, 0x3, 0x2, 0x2, 
   14100             :     0x2, 0x251, 0x24d, 0x3, 0x2, 0x2, 0x2, 0x251, 0x24e, 0x3, 0x2, 0x2, 
   14101             :     0x2, 0x251, 0x24f, 0x3, 0x2, 0x2, 0x2, 0x251, 0x250, 0x3, 0x2, 0x2, 
   14102             :     0x2, 0x252, 0x61, 0x3, 0x2, 0x2, 0x2, 0x253, 0x254, 0x7, 0x12, 0x2, 
   14103             :     0x2, 0x254, 0x255, 0x5, 0x64, 0x33, 0x2, 0x255, 0x63, 0x3, 0x2, 0x2, 
   14104             :     0x2, 0x256, 0x258, 0x5, 0x66, 0x34, 0x2, 0x257, 0x256, 0x3, 0x2, 0x2, 
   14105             :     0x2, 0x258, 0x25b, 0x3, 0x2, 0x2, 0x2, 0x259, 0x257, 0x3, 0x2, 0x2, 
   14106             :     0x2, 0x259, 0x25a, 0x3, 0x2, 0x2, 0x2, 0x25a, 0x65, 0x3, 0x2, 0x2, 0x2, 
   14107             :     0x25b, 0x259, 0x3, 0x2, 0x2, 0x2, 0x25c, 0x271, 0x5, 0x9a, 0x4e, 0x2, 
   14108             :     0x25d, 0x271, 0x5, 0x9c, 0x4f, 0x2, 0x25e, 0x271, 0x5, 0xa8, 0x55, 0x2, 
   14109             :     0x25f, 0x271, 0x5, 0xaa, 0x56, 0x2, 0x260, 0x271, 0x5, 0xb0, 0x59, 0x2, 
   14110             :     0x261, 0x271, 0x5, 0xb6, 0x5c, 0x2, 0x262, 0x271, 0x5, 0xbc, 0x5f, 0x2, 
   14111             :     0x263, 0x271, 0x5, 0xcc, 0x67, 0x2, 0x264, 0x271, 0x5, 0xd0, 0x69, 0x2, 
   14112             :     0x265, 0x271, 0x5, 0xd4, 0x6b, 0x2, 0x266, 0x271, 0x5, 0xde, 0x70, 0x2, 
   14113             :     0x267, 0x271, 0x5, 0xe8, 0x75, 0x2, 0x268, 0x271, 0x5, 0xea, 0x76, 0x2, 
   14114             :     0x269, 0x271, 0x5, 0xec, 0x77, 0x2, 0x26a, 0x271, 0x5, 0xee, 0x78, 0x2, 
   14115             :     0x26b, 0x271, 0x5, 0xf0, 0x79, 0x2, 0x26c, 0x271, 0x5, 0xf4, 0x7b, 0x2, 
   14116             :     0x26d, 0x271, 0x5, 0xf8, 0x7d, 0x2, 0x26e, 0x271, 0x5, 0x110, 0x89, 
   14117             :     0x2, 0x26f, 0x271, 0x5, 0x112, 0x8a, 0x2, 0x270, 0x25c, 0x3, 0x2, 0x2, 
   14118             :     0x2, 0x270, 0x25d, 0x3, 0x2, 0x2, 0x2, 0x270, 0x25e, 0x3, 0x2, 0x2, 
   14119             :     0x2, 0x270, 0x25f, 0x3, 0x2, 0x2, 0x2, 0x270, 0x260, 0x3, 0x2, 0x2, 
   14120             :     0x2, 0x270, 0x261, 0x3, 0x2, 0x2, 0x2, 0x270, 0x262, 0x3, 0x2, 0x2, 
   14121             :     0x2, 0x270, 0x263, 0x3, 0x2, 0x2, 0x2, 0x270, 0x264, 0x3, 0x2, 0x2, 
   14122             :     0x2, 0x270, 0x265, 0x3, 0x2, 0x2, 0x2, 0x270, 0x266, 0x3, 0x2, 0x2, 
   14123             :     0x2, 0x270, 0x267, 0x3, 0x2, 0x2, 0x2, 0x270, 0x268, 0x3, 0x2, 0x2, 
   14124             :     0x2, 0x270, 0x269, 0x3, 0x2, 0x2, 0x2, 0x270, 0x26a, 0x3, 0x2, 0x2, 
   14125             :     0x2, 0x270, 0x26b, 0x3, 0x2, 0x2, 0x2, 0x270, 0x26c, 0x3, 0x2, 0x2, 
   14126             :     0x2, 0x270, 0x26d, 0x3, 0x2, 0x2, 0x2, 0x270, 0x26e, 0x3, 0x2, 0x2, 
   14127             :     0x2, 0x270, 0x26f, 0x3, 0x2, 0x2, 0x2, 0x271, 0x67, 0x3, 0x2, 0x2, 0x2, 
   14128             :     0x272, 0x273, 0x7, 0x12, 0x2, 0x2, 0x273, 0x274, 0x7, 0x11, 0x2, 0x2, 
   14129             :     0x274, 0x275, 0x5, 0x6a, 0x36, 0x2, 0x275, 0x69, 0x3, 0x2, 0x2, 0x2, 
   14130             :     0x276, 0x278, 0x5, 0x6c, 0x37, 0x2, 0x277, 0x276, 0x3, 0x2, 0x2, 0x2, 
   14131             :     0x278, 0x27b, 0x3, 0x2, 0x2, 0x2, 0x279, 0x277, 0x3, 0x2, 0x2, 0x2, 
   14132             :     0x279, 0x27a, 0x3, 0x2, 0x2, 0x2, 0x27a, 0x6b, 0x3, 0x2, 0x2, 0x2, 0x27b, 
   14133             :     0x279, 0x3, 0x2, 0x2, 0x2, 0x27c, 0x299, 0x5, 0x9a, 0x4e, 0x2, 0x27d, 
   14134             :     0x299, 0x5, 0x9c, 0x4f, 0x2, 0x27e, 0x299, 0x5, 0x9e, 0x50, 0x2, 0x27f, 
   14135             :     0x299, 0x5, 0xa6, 0x54, 0x2, 0x280, 0x299, 0x5, 0xa8, 0x55, 0x2, 0x281, 
   14136             :     0x299, 0x5, 0xaa, 0x56, 0x2, 0x282, 0x299, 0x5, 0xb0, 0x59, 0x2, 0x283, 
   14137             :     0x299, 0x5, 0xb6, 0x5c, 0x2, 0x284, 0x299, 0x5, 0xbc, 0x5f, 0x2, 0x285, 
   14138             :     0x299, 0x5, 0xcc, 0x67, 0x2, 0x286, 0x299, 0x5, 0xd0, 0x69, 0x2, 0x287, 
   14139             :     0x299, 0x5, 0xd4, 0x6b, 0x2, 0x288, 0x299, 0x5, 0xd6, 0x6c, 0x2, 0x289, 
   14140             :     0x299, 0x5, 0xde, 0x70, 0x2, 0x28a, 0x299, 0x5, 0xe2, 0x72, 0x2, 0x28b, 
   14141             :     0x299, 0x5, 0xe8, 0x75, 0x2, 0x28c, 0x299, 0x5, 0xea, 0x76, 0x2, 0x28d, 
   14142             :     0x299, 0x5, 0xec, 0x77, 0x2, 0x28e, 0x299, 0x5, 0xee, 0x78, 0x2, 0x28f, 
   14143             :     0x299, 0x5, 0xf0, 0x79, 0x2, 0x290, 0x299, 0x5, 0xf4, 0x7b, 0x2, 0x291, 
   14144             :     0x299, 0x5, 0xf8, 0x7d, 0x2, 0x292, 0x299, 0x5, 0xfe, 0x80, 0x2, 0x293, 
   14145             :     0x299, 0x5, 0x100, 0x81, 0x2, 0x294, 0x299, 0x5, 0x108, 0x85, 0x2, 0x295, 
   14146             :     0x299, 0x5, 0x110, 0x89, 0x2, 0x296, 0x299, 0x5, 0x112, 0x8a, 0x2, 0x297, 
   14147             :     0x299, 0x5, 0x120, 0x91, 0x2, 0x298, 0x27c, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14148             :     0x27d, 0x3, 0x2, 0x2, 0x2, 0x298, 0x27e, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14149             :     0x27f, 0x3, 0x2, 0x2, 0x2, 0x298, 0x280, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14150             :     0x281, 0x3, 0x2, 0x2, 0x2, 0x298, 0x282, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14151             :     0x283, 0x3, 0x2, 0x2, 0x2, 0x298, 0x284, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14152             :     0x285, 0x3, 0x2, 0x2, 0x2, 0x298, 0x286, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14153             :     0x287, 0x3, 0x2, 0x2, 0x2, 0x298, 0x288, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14154             :     0x289, 0x3, 0x2, 0x2, 0x2, 0x298, 0x28a, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14155             :     0x28b, 0x3, 0x2, 0x2, 0x2, 0x298, 0x28c, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14156             :     0x28d, 0x3, 0x2, 0x2, 0x2, 0x298, 0x28e, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14157             :     0x28f, 0x3, 0x2, 0x2, 0x2, 0x298, 0x290, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14158             :     0x291, 0x3, 0x2, 0x2, 0x2, 0x298, 0x292, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14159             :     0x293, 0x3, 0x2, 0x2, 0x2, 0x298, 0x294, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14160             :     0x295, 0x3, 0x2, 0x2, 0x2, 0x298, 0x296, 0x3, 0x2, 0x2, 0x2, 0x298, 
   14161             :     0x297, 0x3, 0x2, 0x2, 0x2, 0x299, 0x6d, 0x3, 0x2, 0x2, 0x2, 0x29a, 0x29b, 
   14162             :     0x7, 0x13, 0x2, 0x2, 0x29b, 0x2a3, 0x5, 0x70, 0x39, 0x2, 0x29c, 0x29d, 
   14163             :     0x7, 0x13, 0x2, 0x2, 0x29d, 0x29e, 0x7, 0x18, 0x2, 0x2, 0x29e, 0x29f, 
   14164             :     0x5, 0x74, 0x3b, 0x2, 0x29f, 0x2a0, 0x7, 0x19, 0x2, 0x2, 0x2a0, 0x2a1, 
   14165             :     0x5, 0x70, 0x39, 0x2, 0x2a1, 0x2a3, 0x3, 0x2, 0x2, 0x2, 0x2a2, 0x29a, 
   14166             :     0x3, 0x2, 0x2, 0x2, 0x2a2, 0x29c, 0x3, 0x2, 0x2, 0x2, 0x2a3, 0x6f, 0x3, 
   14167             :     0x2, 0x2, 0x2, 0x2a4, 0x2a6, 0x5, 0x72, 0x3a, 0x2, 0x2a5, 0x2a4, 0x3, 
   14168             :     0x2, 0x2, 0x2, 0x2a6, 0x2a7, 0x3, 0x2, 0x2, 0x2, 0x2a7, 0x2a5, 0x3, 
   14169             :     0x2, 0x2, 0x2, 0x2a7, 0x2a8, 0x3, 0x2, 0x2, 0x2, 0x2a8, 0x71, 0x3, 0x2, 
   14170             :     0x2, 0x2, 0x2a9, 0x2b1, 0x5, 0xa0, 0x51, 0x2, 0x2aa, 0x2b1, 0x5, 0xcc, 
   14171             :     0x67, 0x2, 0x2ab, 0x2b1, 0x5, 0xda, 0x6e, 0x2, 0x2ac, 0x2b1, 0x5, 0xe6, 
   14172             :     0x74, 0x2, 0x2ad, 0x2b1, 0x5, 0xfe, 0x80, 0x2, 0x2ae, 0x2b1, 0x5, 0x10e, 
   14173             :     0x88, 0x2, 0x2af, 0x2b1, 0x5, 0x126, 0x94, 0x2, 0x2b0, 0x2a9, 0x3, 0x2, 
   14174             :     0x2, 0x2, 0x2b0, 0x2aa, 0x3, 0x2, 0x2, 0x2, 0x2b0, 0x2ab, 0x3, 0x2, 
   14175             :     0x2, 0x2, 0x2b0, 0x2ac, 0x3, 0x2, 0x2, 0x2, 0x2b0, 0x2ad, 0x3, 0x2, 
   14176             :     0x2, 0x2, 0x2b0, 0x2ae, 0x3, 0x2, 0x2, 0x2, 0x2b0, 0x2af, 0x3, 0x2, 
   14177             :     0x2, 0x2, 0x2b1, 0x73, 0x3, 0x2, 0x2, 0x2, 0x2b2, 0x2b3, 0x7, 0x3, 0x2, 
   14178             :     0x2, 0x2b3, 0x75, 0x3, 0x2, 0x2, 0x2, 0x2b4, 0x2b5, 0x7, 0x14, 0x2, 
   14179             :     0x2, 0x2b5, 0x2b6, 0x5, 0x78, 0x3d, 0x2, 0x2b6, 0x77, 0x3, 0x2, 0x2, 
   14180             :     0x2, 0x2b7, 0x2b9, 0x5, 0x7a, 0x3e, 0x2, 0x2b8, 0x2b7, 0x3, 0x2, 0x2, 
   14181             :     0x2, 0x2b9, 0x2bc, 0x3, 0x2, 0x2, 0x2, 0x2ba, 0x2b8, 0x3, 0x2, 0x2, 
   14182             :     0x2, 0x2ba, 0x2bb, 0x3, 0x2, 0x2, 0x2, 0x2bb, 0x79, 0x3, 0x2, 0x2, 0x2, 
   14183             :     0x2bc, 0x2ba, 0x3, 0x2, 0x2, 0x2, 0x2bd, 0x2cf, 0x5, 0x9a, 0x4e, 0x2, 
   14184             :     0x2be, 0x2cf, 0x5, 0x9c, 0x4f, 0x2, 0x2bf, 0x2cf, 0x5, 0xa8, 0x55, 0x2, 
   14185             :     0x2c0, 0x2cf, 0x5, 0xaa, 0x56, 0x2, 0x2c1, 0x2cf, 0x5, 0xb0, 0x59, 0x2, 
   14186             :     0x2c2, 0x2cf, 0x5, 0xb6, 0x5c, 0x2, 0x2c3, 0x2cf, 0x5, 0xbc, 0x5f, 0x2, 
   14187             :     0x2c4, 0x2cf, 0x5, 0xcc, 0x67, 0x2, 0x2c5, 0x2cf, 0x5, 0xd0, 0x69, 0x2, 
   14188             :     0x2c6, 0x2cf, 0x5, 0xd4, 0x6b, 0x2, 0x2c7, 0x2cf, 0x5, 0xde, 0x70, 0x2, 
   14189             :     0x2c8, 0x2cf, 0x5, 0xe8, 0x75, 0x2, 0x2c9, 0x2cf, 0x5, 0xee, 0x78, 0x2, 
   14190             :     0x2ca, 0x2cf, 0x5, 0xf0, 0x79, 0x2, 0x2cb, 0x2cf, 0x5, 0xf4, 0x7b, 0x2, 
   14191             :     0x2cc, 0x2cf, 0x5, 0xf8, 0x7d, 0x2, 0x2cd, 0x2cf, 0x5, 0x112, 0x8a, 
   14192             :     0x2, 0x2ce, 0x2bd, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2be, 0x3, 0x2, 0x2, 
   14193             :     0x2, 0x2ce, 0x2bf, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2c0, 0x3, 0x2, 0x2, 
   14194             :     0x2, 0x2ce, 0x2c1, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2c2, 0x3, 0x2, 0x2, 
   14195             :     0x2, 0x2ce, 0x2c3, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2c4, 0x3, 0x2, 0x2, 
   14196             :     0x2, 0x2ce, 0x2c5, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2c6, 0x3, 0x2, 0x2, 
   14197             :     0x2, 0x2ce, 0x2c7, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2c8, 0x3, 0x2, 0x2, 
   14198             :     0x2, 0x2ce, 0x2c9, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2ca, 0x3, 0x2, 0x2, 
   14199             :     0x2, 0x2ce, 0x2cb, 0x3, 0x2, 0x2, 0x2, 0x2ce, 0x2cc, 0x3, 0x2, 0x2, 
   14200             :     0x2, 0x2ce, 0x2cd, 0x3, 0x2, 0x2, 0x2, 0x2cf, 0x7b, 0x3, 0x2, 0x2, 0x2, 
   14201             :     0x2d0, 0x2d1, 0x7, 0x14, 0x2, 0x2, 0x2d1, 0x2d2, 0x7, 0x11, 0x2, 0x2, 
   14202             :     0x2d2, 0x2d3, 0x5, 0x7e, 0x40, 0x2, 0x2d3, 0x7d, 0x3, 0x2, 0x2, 0x2, 
   14203             :     0x2d4, 0x2d6, 0x5, 0x80, 0x41, 0x2, 0x2d5, 0x2d4, 0x3, 0x2, 0x2, 0x2, 
   14204             :     0x2d6, 0x2d9, 0x3, 0x2, 0x2, 0x2, 0x2d7, 0x2d5, 0x3, 0x2, 0x2, 0x2, 
   14205             :     0x2d7, 0x2d8, 0x3, 0x2, 0x2, 0x2, 0x2d8, 0x7f, 0x3, 0x2, 0x2, 0x2, 0x2d9, 
   14206             :     0x2d7, 0x3, 0x2, 0x2, 0x2, 0x2da, 0x2f4, 0x5, 0x9a, 0x4e, 0x2, 0x2db, 
   14207             :     0x2f4, 0x5, 0x9c, 0x4f, 0x2, 0x2dc, 0x2f4, 0x5, 0x9e, 0x50, 0x2, 0x2dd, 
   14208             :     0x2f4, 0x5, 0xa6, 0x54, 0x2, 0x2de, 0x2f4, 0x5, 0xa8, 0x55, 0x2, 0x2df, 
   14209             :     0x2f4, 0x5, 0xaa, 0x56, 0x2, 0x2e0, 0x2f4, 0x5, 0xb0, 0x59, 0x2, 0x2e1, 
   14210             :     0x2f4, 0x5, 0xb6, 0x5c, 0x2, 0x2e2, 0x2f4, 0x5, 0xbc, 0x5f, 0x2, 0x2e3, 
   14211             :     0x2f4, 0x5, 0xcc, 0x67, 0x2, 0x2e4, 0x2f4, 0x5, 0xd0, 0x69, 0x2, 0x2e5, 
   14212             :     0x2f4, 0x5, 0xd4, 0x6b, 0x2, 0x2e6, 0x2f4, 0x5, 0xd6, 0x6c, 0x2, 0x2e7, 
   14213             :     0x2f4, 0x5, 0xde, 0x70, 0x2, 0x2e8, 0x2f4, 0x5, 0xe2, 0x72, 0x2, 0x2e9, 
   14214             :     0x2f4, 0x5, 0xe8, 0x75, 0x2, 0x2ea, 0x2f4, 0x5, 0xee, 0x78, 0x2, 0x2eb, 
   14215             :     0x2f4, 0x5, 0xf0, 0x79, 0x2, 0x2ec, 0x2f4, 0x5, 0xf4, 0x7b, 0x2, 0x2ed, 
   14216             :     0x2f4, 0x5, 0xf8, 0x7d, 0x2, 0x2ee, 0x2f4, 0x5, 0xfe, 0x80, 0x2, 0x2ef, 
   14217             :     0x2f4, 0x5, 0x100, 0x81, 0x2, 0x2f0, 0x2f4, 0x5, 0x108, 0x85, 0x2, 0x2f1, 
   14218             :     0x2f4, 0x5, 0x112, 0x8a, 0x2, 0x2f2, 0x2f4, 0x5, 0x120, 0x91, 0x2, 0x2f3, 
   14219             :     0x2da, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2db, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14220             :     0x2dc, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2dd, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14221             :     0x2de, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2df, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14222             :     0x2e0, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2e1, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14223             :     0x2e2, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2e3, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14224             :     0x2e4, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2e5, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14225             :     0x2e6, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2e7, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14226             :     0x2e8, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2e9, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14227             :     0x2ea, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2eb, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14228             :     0x2ec, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2ed, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14229             :     0x2ee, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2ef, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14230             :     0x2f0, 0x3, 0x2, 0x2, 0x2, 0x2f3, 0x2f1, 0x3, 0x2, 0x2, 0x2, 0x2f3, 
   14231             :     0x2f2, 0x3, 0x2, 0x2, 0x2, 0x2f4, 0x81, 0x3, 0x2, 0x2, 0x2, 0x2f5, 0x2f6, 
   14232             :     0x7, 0x15, 0x2, 0x2, 0x2f6, 0x2f7, 0x5, 0x84, 0x43, 0x2, 0x2f7, 0x83, 
   14233             :     0x3, 0x2, 0x2, 0x2, 0x2f8, 0x2fa, 0x5, 0x86, 0x44, 0x2, 0x2f9, 0x2f8, 
   14234             :     0x3, 0x2, 0x2, 0x2, 0x2fa, 0x2fd, 0x3, 0x2, 0x2, 0x2, 0x2fb, 0x2f9, 
   14235             :     0x3, 0x2, 0x2, 0x2, 0x2fb, 0x2fc, 0x3, 0x2, 0x2, 0x2, 0x2fc, 0x85, 0x3, 
   14236             :     0x2, 0x2, 0x2, 0x2fd, 0x2fb, 0x3, 0x2, 0x2, 0x2, 0x2fe, 0x303, 0x5, 
   14237             :     0xc0, 0x61, 0x2, 0x2ff, 0x303, 0x5, 0xcc, 0x67, 0x2, 0x300, 0x303, 0x5, 
   14238             :     0xc8, 0x65, 0x2, 0x301, 0x303, 0x5, 0xde, 0x70, 0x2, 0x302, 0x2fe, 0x3, 
   14239             :     0x2, 0x2, 0x2, 0x302, 0x2ff, 0x3, 0x2, 0x2, 0x2, 0x302, 0x300, 0x3, 
   14240             :     0x2, 0x2, 0x2, 0x302, 0x301, 0x3, 0x2, 0x2, 0x2, 0x303, 0x87, 0x3, 0x2, 
   14241             :     0x2, 0x2, 0x304, 0x305, 0x7, 0x16, 0x2, 0x2, 0x305, 0x306, 0x5, 0x8a, 
   14242             :     0x46, 0x2, 0x306, 0x89, 0x3, 0x2, 0x2, 0x2, 0x307, 0x309, 0x5, 0x8c, 
   14243             :     0x47, 0x2, 0x308, 0x307, 0x3, 0x2, 0x2, 0x2, 0x309, 0x30c, 0x3, 0x2, 
   14244             :     0x2, 0x2, 0x30a, 0x308, 0x3, 0x2, 0x2, 0x2, 0x30a, 0x30b, 0x3, 0x2, 
   14245             :     0x2, 0x2, 0x30b, 0x8b, 0x3, 0x2, 0x2, 0x2, 0x30c, 0x30a, 0x3, 0x2, 0x2, 
   14246             :     0x2, 0x30d, 0x311, 0x5, 0xcc, 0x67, 0x2, 0x30e, 0x311, 0x5, 0xc8, 0x65, 
   14247             :     0x2, 0x30f, 0x311, 0x5, 0xde, 0x70, 0x2, 0x310, 0x30d, 0x3, 0x2, 0x2, 
   14248             :     0x2, 0x310, 0x30e, 0x3, 0x2, 0x2, 0x2, 0x310, 0x30f, 0x3, 0x2, 0x2, 
   14249             :     0x2, 0x311, 0x8d, 0x3, 0x2, 0x2, 0x2, 0x312, 0x313, 0x7, 0x17, 0x2, 
   14250             :     0x2, 0x313, 0x314, 0x5, 0x90, 0x49, 0x2, 0x314, 0x8f, 0x3, 0x2, 0x2, 
   14251             :     0x2, 0x315, 0x317, 0x5, 0x92, 0x4a, 0x2, 0x316, 0x315, 0x3, 0x2, 0x2, 
   14252             :     0x2, 0x317, 0x318, 0x3, 0x2, 0x2, 0x2, 0x318, 0x316, 0x3, 0x2, 0x2, 
   14253             :     0x2, 0x318, 0x319, 0x3, 0x2, 0x2, 0x2, 0x319, 0x91, 0x3, 0x2, 0x2, 0x2, 
   14254             :     0x31a, 0x323, 0x5, 0x9a, 0x4e, 0x2, 0x31b, 0x323, 0x5, 0xc6, 0x64, 0x2, 
   14255             :     0x31c, 0x323, 0x5, 0xcc, 0x67, 0x2, 0x31d, 0x323, 0x5, 0xdc, 0x6f, 0x2, 
   14256             :     0x31e, 0x323, 0x5, 0xde, 0x70, 0x2, 0x31f, 0x323, 0x5, 0xe0, 0x71, 0x2, 
   14257             :     0x320, 0x323, 0x5, 0xfa, 0x7e, 0x2, 0x321, 0x323, 0x5, 0x114, 0x8b, 
   14258             :     0x2, 0x322, 0x31a, 0x3, 0x2, 0x2, 0x2, 0x322, 0x31b, 0x3, 0x2, 0x2, 
   14259             :     0x2, 0x322, 0x31c, 0x3, 0x2, 0x2, 0x2, 0x322, 0x31d, 0x3, 0x2, 0x2, 
   14260             :     0x2, 0x322, 0x31e, 0x3, 0x2, 0x2, 0x2, 0x322, 0x31f, 0x3, 0x2, 0x2, 
   14261             :     0x2, 0x322, 0x320, 0x3, 0x2, 0x2, 0x2, 0x322, 0x321, 0x3, 0x2, 0x2, 
   14262             :     0x2, 0x323, 0x93, 0x3, 0x2, 0x2, 0x2, 0x324, 0x325, 0x7, 0x47, 0x2, 
   14263             :     0x2, 0x325, 0x32d, 0x5, 0x96, 0x4c, 0x2, 0x326, 0x327, 0x7, 0x47, 0x2, 
   14264             :     0x2, 0x327, 0x328, 0x7, 0x18, 0x2, 0x2, 0x328, 0x329, 0x5, 0x116, 0x8c, 
   14265             :     0x2, 0x329, 0x32a, 0x7, 0x19, 0x2, 0x2, 0x32a, 0x32b, 0x5, 0x96, 0x4c, 
   14266             :     0x2, 0x32b, 0x32d, 0x3, 0x2, 0x2, 0x2, 0x32c, 0x324, 0x3, 0x2, 0x2, 
   14267             :     0x2, 0x32c, 0x326, 0x3, 0x2, 0x2, 0x2, 0x32d, 0x95, 0x3, 0x2, 0x2, 0x2, 
   14268             :     0x32e, 0x330, 0x5, 0x98, 0x4d, 0x2, 0x32f, 0x32e, 0x3, 0x2, 0x2, 0x2, 
   14269             :     0x330, 0x333, 0x3, 0x2, 0x2, 0x2, 0x331, 0x32f, 0x3, 0x2, 0x2, 0x2, 
   14270             :     0x331, 0x332, 0x3, 0x2, 0x2, 0x2, 0x332, 0x97, 0x3, 0x2, 0x2, 0x2, 0x333, 
   14271             :     0x331, 0x3, 0x2, 0x2, 0x2, 0x334, 0x337, 0x5, 0x9a, 0x4e, 0x2, 0x335, 
   14272             :     0x337, 0x5, 0xde, 0x70, 0x2, 0x336, 0x334, 0x3, 0x2, 0x2, 0x2, 0x336, 
   14273             :     0x335, 0x3, 0x2, 0x2, 0x2, 0x337, 0x99, 0x3, 0x2, 0x2, 0x2, 0x338, 0x33f, 
   14274             :     0x7, 0x1d, 0x2, 0x2, 0x339, 0x33a, 0x7, 0x1d, 0x2, 0x2, 0x33a, 0x33b, 
   14275             :     0x7, 0x18, 0x2, 0x2, 0x33b, 0x33c, 0x5, 0x12e, 0x98, 0x2, 0x33c, 0x33d, 
   14276             :     0x7, 0x19, 0x2, 0x2, 0x33d, 0x33f, 0x3, 0x2, 0x2, 0x2, 0x33e, 0x338, 
   14277             :     0x3, 0x2, 0x2, 0x2, 0x33e, 0x339, 0x3, 0x2, 0x2, 0x2, 0x33f, 0x9b, 0x3, 
   14278             :     0x2, 0x2, 0x2, 0x340, 0x341, 0x7, 0x1e, 0x2, 0x2, 0x341, 0x342, 0x7, 
   14279             :     0x18, 0x2, 0x2, 0x342, 0x343, 0x5, 0x130, 0x99, 0x2, 0x343, 0x344, 0x7, 
   14280             :     0x19, 0x2, 0x2, 0x344, 0x9d, 0x3, 0x2, 0x2, 0x2, 0x345, 0x346, 0x7, 
   14281             :     0x1f, 0x2, 0x2, 0x346, 0x9f, 0x3, 0x2, 0x2, 0x2, 0x347, 0x348, 0x7, 
   14282             :     0x20, 0x2, 0x2, 0x348, 0x349, 0x7, 0x18, 0x2, 0x2, 0x349, 0x34a, 0x5, 
   14283             :     0xa2, 0x52, 0x2, 0x34a, 0x34b, 0x7, 0x19, 0x2, 0x2, 0x34b, 0xa1, 0x3, 
   14284             :     0x2, 0x2, 0x2, 0x34c, 0x34d, 0x7, 0x3, 0x2, 0x2, 0x34d, 0xa3, 0x3, 0x2, 
   14285             :     0x2, 0x2, 0x34e, 0x34f, 0x7, 0x21, 0x2, 0x2, 0x34f, 0xa5, 0x3, 0x2, 
   14286             :     0x2, 0x2, 0x350, 0x351, 0x7, 0x22, 0x2, 0x2, 0x351, 0x352, 0x7, 0x18, 
   14287             :     0x2, 0x2, 0x352, 0x353, 0x5, 0x12a, 0x96, 0x2, 0x353, 0x354, 0x7, 0x19, 
   14288             :     0x2, 0x2, 0x354, 0xa7, 0x3, 0x2, 0x2, 0x2, 0x355, 0x356, 0x7, 0x23, 
   14289             :     0x2, 0x2, 0x356, 0x357, 0x7, 0x18, 0x2, 0x2, 0x357, 0x358, 0x5, 0x130, 
   14290             :     0x99, 0x2, 0x358, 0x359, 0x7, 0x19, 0x2, 0x2, 0x359, 0xa9, 0x3, 0x2, 
   14291             :     0x2, 0x2, 0x35a, 0x35b, 0x7, 0x24, 0x2, 0x2, 0x35b, 0x35c, 0x7, 0x18, 
   14292             :     0x2, 0x2, 0x35c, 0x35d, 0x5, 0x130, 0x99, 0x2, 0x35d, 0x35e, 0x7, 0x19, 
   14293             :     0x2, 0x2, 0x35e, 0x367, 0x3, 0x2, 0x2, 0x2, 0x35f, 0x360, 0x7, 0x24, 
   14294             :     0x2, 0x2, 0x360, 0x361, 0x7, 0x18, 0x2, 0x2, 0x361, 0x362, 0x5, 0xac, 
   14295             :     0x57, 0x2, 0x362, 0x363, 0x7, 0x1b, 0x2, 0x2, 0x363, 0x364, 0x5, 0x130, 
   14296             :     0x99, 0x2, 0x364, 0x365, 0x7, 0x19, 0x2, 0x2, 0x365, 0x367, 0x3, 0x2, 
   14297             :     0x2, 0x2, 0x366, 0x35a, 0x3, 0x2, 0x2, 0x2, 0x366, 0x35f, 0x3, 0x2, 
   14298             :     0x2, 0x2, 0x367, 0xab, 0x3, 0x2, 0x2, 0x2, 0x368, 0x369, 0x7, 0x55, 
   14299             :     0x2, 0x2, 0x369, 0xad, 0x3, 0x2, 0x2, 0x2, 0x36a, 0x36b, 0x7, 0x24, 
   14300             :     0x2, 0x2, 0x36b, 0x36c, 0x7, 0x18, 0x2, 0x2, 0x36c, 0x36d, 0x5, 0x130, 
   14301             :     0x99, 0x2, 0x36d, 0x36e, 0x7, 0x19, 0x2, 0x2, 0x36e, 0xaf, 0x3, 0x2, 
   14302             :     0x2, 0x2, 0x36f, 0x370, 0x7, 0x25, 0x2, 0x2, 0x370, 0x371, 0x7, 0x18, 
   14303             :     0x2, 0x2, 0x371, 0x372, 0x5, 0x130, 0x99, 0x2, 0x372, 0x373, 0x7, 0x19, 
   14304             :     0x2, 0x2, 0x373, 0x37c, 0x3, 0x2, 0x2, 0x2, 0x374, 0x375, 0x7, 0x25, 
   14305             :     0x2, 0x2, 0x375, 0x376, 0x7, 0x18, 0x2, 0x2, 0x376, 0x377, 0x5, 0xb2, 
   14306             :     0x5a, 0x2, 0x377, 0x378, 0x7, 0x1b, 0x2, 0x2, 0x378, 0x379, 0x5, 0x130, 
   14307             :     0x99, 0x2, 0x379, 0x37a, 0x7, 0x19, 0x2, 0x2, 0x37a, 0x37c, 0x3, 0x2, 
   14308             :     0x2, 0x2, 0x37b, 0x36f, 0x3, 0x2, 0x2, 0x2, 0x37b, 0x374, 0x3, 0x2, 
   14309             :     0x2, 0x2, 0x37c, 0xb1, 0x3, 0x2, 0x2, 0x2, 0x37d, 0x37e, 0x7, 0x5b, 
   14310             :     0x2, 0x2, 0x37e, 0xb3, 0x3, 0x2, 0x2, 0x2, 0x37f, 0x380, 0x7, 0x25, 
   14311             :     0x2, 0x2, 0x380, 0x381, 0x7, 0x18, 0x2, 0x2, 0x381, 0x382, 0x5, 0x130, 
   14312             :     0x99, 0x2, 0x382, 0x383, 0x7, 0x19, 0x2, 0x2, 0x383, 0xb5, 0x3, 0x2, 
   14313             :     0x2, 0x2, 0x384, 0x385, 0x7, 0x26, 0x2, 0x2, 0x385, 0x386, 0x7, 0x18, 
   14314             :     0x2, 0x2, 0x386, 0x387, 0x5, 0x130, 0x99, 0x2, 0x387, 0x388, 0x7, 0x19, 
   14315             :     0x2, 0x2, 0x388, 0x391, 0x3, 0x2, 0x2, 0x2, 0x389, 0x38a, 0x7, 0x26, 
   14316             :     0x2, 0x2, 0x38a, 0x38b, 0x7, 0x18, 0x2, 0x2, 0x38b, 0x38c, 0x5, 0xb8, 
   14317             :     0x5d, 0x2, 0x38c, 0x38d, 0x7, 0x1b, 0x2, 0x2, 0x38d, 0x38e, 0x5, 0x130, 
   14318             :     0x99, 0x2, 0x38e, 0x38f, 0x7, 0x19, 0x2, 0x2, 0x38f, 0x391, 0x3, 0x2, 
   14319             :     0x2, 0x2, 0x390, 0x384, 0x3, 0x2, 0x2, 0x2, 0x390, 0x389, 0x3, 0x2, 
   14320             :     0x2, 0x2, 0x391, 0xb7, 0x3, 0x2, 0x2, 0x2, 0x392, 0x393, 0x7, 0x5b, 
   14321             :     0x2, 0x2, 0x393, 0xb9, 0x3, 0x2, 0x2, 0x2, 0x394, 0x395, 0x7, 0x26, 
   14322             :     0x2, 0x2, 0x395, 0x396, 0x7, 0x18, 0x2, 0x2, 0x396, 0x397, 0x5, 0x130, 
   14323             :     0x99, 0x2, 0x397, 0x398, 0x7, 0x19, 0x2, 0x2, 0x398, 0xbb, 0x3, 0x2, 
   14324             :     0x2, 0x2, 0x399, 0x39a, 0x7, 0x27, 0x2, 0x2, 0x39a, 0x39b, 0x7, 0x18, 
   14325             :     0x2, 0x2, 0x39b, 0x39c, 0x5, 0xbe, 0x60, 0x2, 0x39c, 0x39d, 0x7, 0x19, 
   14326             :     0x2, 0x2, 0x39d, 0xbd, 0x3, 0x2, 0x2, 0x2, 0x39e, 0x39f, 0x9, 0x2, 0x2, 
   14327             :     0x2, 0x39f, 0xbf, 0x3, 0x2, 0x2, 0x2, 0x3a0, 0x3a1, 0x7, 0x28, 0x2, 
   14328             :     0x2, 0x3a1, 0x3a2, 0x7, 0x18, 0x2, 0x2, 0x3a2, 0x3a3, 0x5, 0x12e, 0x98, 
   14329             :     0x2, 0x3a3, 0x3a4, 0x7, 0x19, 0x2, 0x2, 0x3a4, 0xc1, 0x3, 0x2, 0x2, 
   14330             :     0x2, 0x3a5, 0x3a6, 0x7, 0x29, 0x2, 0x2, 0x3a6, 0x3a7, 0x7, 0x18, 0x2, 
   14331             :     0x2, 0x3a7, 0x3a8, 0x5, 0x130, 0x99, 0x2, 0x3a8, 0x3a9, 0x7, 0x19, 0x2, 
   14332             :     0x2, 0x3a9, 0xc3, 0x3, 0x2, 0x2, 0x2, 0x3aa, 0x3ab, 0x7, 0x2a, 0x2, 
   14333             :     0x2, 0x3ab, 0x3ac, 0x7, 0x18, 0x2, 0x2, 0x3ac, 0x3ad, 0x5, 0x130, 0x99, 
   14334             :     0x2, 0x3ad, 0x3ae, 0x7, 0x19, 0x2, 0x2, 0x3ae, 0xc5, 0x3, 0x2, 0x2, 
   14335             :     0x2, 0x3af, 0x3b0, 0x7, 0x2b, 0x2, 0x2, 0x3b0, 0x3b1, 0x7, 0x18, 0x2, 
   14336             :     0x2, 0x3b1, 0x3b2, 0x5, 0x130, 0x99, 0x2, 0x3b2, 0x3b3, 0x7, 0x19, 0x2, 
   14337             :     0x2, 0x3b3, 0xc7, 0x3, 0x2, 0x2, 0x2, 0x3b4, 0x3b5, 0x7, 0x2c, 0x2, 
   14338             :     0x2, 0x3b5, 0x3b6, 0x7, 0x18, 0x2, 0x2, 0x3b6, 0x3b7, 0x5, 0x12e, 0x98, 
   14339             :     0x2, 0x3b7, 0x3b8, 0x7, 0x19, 0x2, 0x2, 0x3b8, 0xc9, 0x3, 0x2, 0x2, 
   14340             :     0x2, 0x3b9, 0x3ba, 0x7, 0x2d, 0x2, 0x2, 0x3ba, 0x3bb, 0x7, 0x18, 0x2, 
   14341             :     0x2, 0x3bb, 0x3bc, 0x5, 0x130, 0x99, 0x2, 0x3bc, 0x3bd, 0x7, 0x19, 0x2, 
   14342             :     0x2, 0x3bd, 0xcb, 0x3, 0x2, 0x2, 0x2, 0x3be, 0x3bf, 0x7, 0x2e, 0x2, 
   14343             :     0x2, 0x3bf, 0x3c0, 0x7, 0x18, 0x2, 0x2, 0x3c0, 0x3c1, 0x5, 0xce, 0x68, 
   14344             :     0x2, 0x3c1, 0x3c2, 0x7, 0x19, 0x2, 0x2, 0x3c2, 0xcd, 0x3, 0x2, 0x2, 
   14345             :     0x2, 0x3c3, 0x3c4, 0x5, 0x132, 0x9a, 0x2, 0x3c4, 0x3c5, 0x7, 0x89, 0x2, 
   14346             :     0x2, 0x3c5, 0x3c8, 0x3, 0x2, 0x2, 0x2, 0x3c6, 0x3c8, 0x5, 0x132, 0x9a, 
   14347             :     0x2, 0x3c7, 0x3c3, 0x3, 0x2, 0x2, 0x2, 0x3c7, 0x3c6, 0x3, 0x2, 0x2, 
   14348             :     0x2, 0x3c8, 0x3c9, 0x3, 0x2, 0x2, 0x2, 0x3c9, 0x3c7, 0x3, 0x2, 0x2, 
   14349             :     0x2, 0x3c9, 0x3ca, 0x3, 0x2, 0x2, 0x2, 0x3ca, 0xcf, 0x3, 0x2, 0x2, 0x2, 
   14350             :     0x3cb, 0x3cc, 0x7, 0x2f, 0x2, 0x2, 0x3cc, 0x3cd, 0x7, 0x18, 0x2, 0x2, 
   14351             :     0x3cd, 0x3ce, 0x5, 0x130, 0x99, 0x2, 0x3ce, 0x3cf, 0x7, 0x19, 0x2, 0x2, 
   14352             :     0x3cf, 0xd1, 0x3, 0x2, 0x2, 0x2, 0x3d0, 0x3d1, 0x7, 0x30, 0x2, 0x2, 
   14353             :     0x3d1, 0xd3, 0x3, 0x2, 0x2, 0x2, 0x3d2, 0x3d3, 0x7, 0x31, 0x2, 0x2, 
   14354             :     0x3d3, 0x3d4, 0x7, 0x18, 0x2, 0x2, 0x3d4, 0x3d5, 0x5, 0x130, 0x99, 0x2, 
   14355             :     0x3d5, 0x3d6, 0x7, 0x19, 0x2, 0x2, 0x3d6, 0xd5, 0x3, 0x2, 0x2, 0x2, 
   14356             :     0x3d7, 0x3de, 0x7, 0x32, 0x2, 0x2, 0x3d8, 0x3d9, 0x7, 0x32, 0x2, 0x2, 
   14357             :     0x3d9, 0x3da, 0x7, 0x18, 0x2, 0x2, 0x3da, 0x3db, 0x5, 0xd8, 0x6d, 0x2, 
   14358             :     0x3db, 0x3dc, 0x7, 0x19, 0x2, 0x2, 0x3dc, 0x3de, 0x3, 0x2, 0x2, 0x2, 
   14359             :     0x3dd, 0x3d7, 0x3, 0x2, 0x2, 0x2, 0x3dd, 0x3d8, 0x3, 0x2, 0x2, 0x2, 
   14360             :     0x3de, 0xd7, 0x3, 0x2, 0x2, 0x2, 0x3df, 0x3e0, 0x5, 0x132, 0x9a, 0x2, 
   14361             :     0x3e0, 0x3e1, 0x7, 0x89, 0x2, 0x2, 0x3e1, 0x3e4, 0x3, 0x2, 0x2, 0x2, 
   14362             :     0x3e2, 0x3e4, 0x5, 0x132, 0x9a, 0x2, 0x3e3, 0x3df, 0x3, 0x2, 0x2, 0x2, 
   14363             :     0x3e3, 0x3e2, 0x3, 0x2, 0x2, 0x2, 0x3e4, 0x3e5, 0x3, 0x2, 0x2, 0x2, 
   14364             :     0x3e5, 0x3e3, 0x3, 0x2, 0x2, 0x2, 0x3e5, 0x3e6, 0x3, 0x2, 0x2, 0x2, 
   14365             :     0x3e6, 0xd9, 0x3, 0x2, 0x2, 0x2, 0x3e7, 0x3e8, 0x7, 0x32, 0x2, 0x2, 
   14366             :     0x3e8, 0xdb, 0x3, 0x2, 0x2, 0x2, 0x3e9, 0x3ea, 0x7, 0x33, 0x2, 0x2, 
   14367             :     0x3ea, 0x3eb, 0x7, 0x18, 0x2, 0x2, 0x3eb, 0x3ec, 0x5, 0x130, 0x99, 0x2, 
   14368             :     0x3ec, 0x3ed, 0x7, 0x19, 0x2, 0x2, 0x3ed, 0xdd, 0x3, 0x2, 0x2, 0x2, 
   14369             :     0x3ee, 0x3ef, 0x7, 0x34, 0x2, 0x2, 0x3ef, 0x3f0, 0x7, 0x18, 0x2, 0x2, 
   14370             :     0x3f0, 0x3f1, 0x5, 0xfc, 0x7f, 0x2, 0x3f1, 0x3f2, 0x7, 0x19, 0x2, 0x2, 
   14371             :     0x3f2, 0xdf, 0x3, 0x2, 0x2, 0x2, 0x3f3, 0x3f4, 0x7, 0x35, 0x2, 0x2, 
   14372             :     0x3f4, 0xe1, 0x3, 0x2, 0x2, 0x2, 0x3f5, 0x3f6, 0x7, 0x36, 0x2, 0x2, 
   14373             :     0x3f6, 0xe3, 0x3, 0x2, 0x2, 0x2, 0x3f7, 0x3f8, 0x7, 0x37, 0x2, 0x2, 
   14374             :     0x3f8, 0x3f9, 0x7, 0x18, 0x2, 0x2, 0x3f9, 0x3fa, 0x5, 0x130, 0x99, 0x2, 
   14375             :     0x3fa, 0x3fb, 0x7, 0x19, 0x2, 0x2, 0x3fb, 0xe5, 0x3, 0x2, 0x2, 0x2, 
   14376             :     0x3fc, 0x3fd, 0x7, 0x38, 0x2, 0x2, 0x3fd, 0xe7, 0x3, 0x2, 0x2, 0x2, 
   14377             :     0x3fe, 0x3ff, 0x7, 0x39, 0x2, 0x2, 0x3ff, 0x400, 0x7, 0x18, 0x2, 0x2, 
   14378             :     0x400, 0x401, 0x5, 0x130, 0x99, 0x2, 0x401, 0x402, 0x7, 0x19, 0x2, 0x2, 
   14379             :     0x402, 0xe9, 0x3, 0x2, 0x2, 0x2, 0x403, 0x404, 0x7, 0x3b, 0x2, 0x2, 
   14380             :     0x404, 0x405, 0x7, 0x18, 0x2, 0x2, 0x405, 0x406, 0x5, 0x12e, 0x98, 0x2, 
   14381             :     0x406, 0x407, 0x7, 0x19, 0x2, 0x2, 0x407, 0xeb, 0x3, 0x2, 0x2, 0x2, 
   14382             :     0x408, 0x409, 0x7, 0x3c, 0x2, 0x2, 0x409, 0x40a, 0x7, 0x18, 0x2, 0x2, 
   14383             :     0x40a, 0x40b, 0x5, 0x12e, 0x98, 0x2, 0x40b, 0x40c, 0x7, 0x19, 0x2, 0x2, 
   14384             :     0x40c, 0xed, 0x3, 0x2, 0x2, 0x2, 0x40d, 0x40e, 0x7, 0x3d, 0x2, 0x2, 
   14385             :     0x40e, 0x40f, 0x7, 0x18, 0x2, 0x2, 0x40f, 0x410, 0x5, 0x130, 0x99, 0x2, 
   14386             :     0x410, 0x411, 0x7, 0x19, 0x2, 0x2, 0x411, 0xef, 0x3, 0x2, 0x2, 0x2, 
   14387             :     0x412, 0x413, 0x7, 0x3e, 0x2, 0x2, 0x413, 0x414, 0x7, 0x18, 0x2, 0x2, 
   14388             :     0x414, 0x415, 0x5, 0x130, 0x99, 0x2, 0x415, 0x416, 0x7, 0x19, 0x2, 0x2, 
   14389             :     0x416, 0xf1, 0x3, 0x2, 0x2, 0x2, 0x417, 0x418, 0x7, 0x3f, 0x2, 0x2, 
   14390             :     0x418, 0xf3, 0x3, 0x2, 0x2, 0x2, 0x419, 0x41a, 0x7, 0x40, 0x2, 0x2, 
   14391             :     0x41a, 0x41b, 0x7, 0x18, 0x2, 0x2, 0x41b, 0x41c, 0x5, 0xf6, 0x7c, 0x2, 
   14392             :     0x41c, 0x41d, 0x7, 0x1b, 0x2, 0x2, 0x41d, 0x41e, 0x5, 0x130, 0x99, 0x2, 
   14393             :     0x41e, 0x41f, 0x7, 0x19, 0x2, 0x2, 0x41f, 0xf5, 0x3, 0x2, 0x2, 0x2, 
   14394             :     0x420, 0x421, 0x9, 0x3, 0x2, 0x2, 0x421, 0xf7, 0x3, 0x2, 0x2, 0x2, 0x422, 
   14395             :     0x429, 0x7, 0x41, 0x2, 0x2, 0x423, 0x424, 0x7, 0x41, 0x2, 0x2, 0x424, 
   14396             :     0x425, 0x7, 0x18, 0x2, 0x2, 0x425, 0x426, 0x5, 0xfc, 0x7f, 0x2, 0x426, 
   14397             :     0x427, 0x7, 0x19, 0x2, 0x2, 0x427, 0x429, 0x3, 0x2, 0x2, 0x2, 0x428, 
   14398             :     0x422, 0x3, 0x2, 0x2, 0x2, 0x428, 0x423, 0x3, 0x2, 0x2, 0x2, 0x429, 
   14399             :     0xf9, 0x3, 0x2, 0x2, 0x2, 0x42a, 0x42b, 0x7, 0x41, 0x2, 0x2, 0x42b, 
   14400             :     0x42c, 0x7, 0x18, 0x2, 0x2, 0x42c, 0x42d, 0x5, 0x130, 0x99, 0x2, 0x42d, 
   14401             :     0x42e, 0x7, 0x19, 0x2, 0x2, 0x42e, 0xfb, 0x3, 0x2, 0x2, 0x2, 0x42f, 
   14402             :     0x430, 0x7, 0x3, 0x2, 0x2, 0x430, 0xfd, 0x3, 0x2, 0x2, 0x2, 0x431, 0x432, 
   14403             :     0x7, 0x42, 0x2, 0x2, 0x432, 0xff, 0x3, 0x2, 0x2, 0x2, 0x433, 0x434, 
   14404             :     0x7, 0x43, 0x2, 0x2, 0x434, 0x435, 0x7, 0x18, 0x2, 0x2, 0x435, 0x436, 
   14405             :     0x5, 0x104, 0x83, 0x2, 0x436, 0x437, 0x7, 0x19, 0x2, 0x2, 0x437, 0x101, 
   14406             :     0x3, 0x2, 0x2, 0x2, 0x438, 0x439, 0x7, 0x17, 0x2, 0x2, 0x439, 0x103, 
   14407             :     0x3, 0x2, 0x2, 0x2, 0x43a, 0x43b, 0x5, 0x132, 0x9a, 0x2, 0x43b, 0x43c, 
   14408             :     0x7, 0x89, 0x2, 0x2, 0x43c, 0x43f, 0x3, 0x2, 0x2, 0x2, 0x43d, 0x43f, 
   14409             :     0x5, 0x132, 0x9a, 0x2, 0x43e, 0x43a, 0x3, 0x2, 0x2, 0x2, 0x43e, 0x43d, 
   14410             :     0x3, 0x2, 0x2, 0x2, 0x43f, 0x440, 0x3, 0x2, 0x2, 0x2, 0x440, 0x43e, 
   14411             :     0x3, 0x2, 0x2, 0x2, 0x440, 0x441, 0x3, 0x2, 0x2, 0x2, 0x441, 0x105, 
   14412             :     0x3, 0x2, 0x2, 0x2, 0x442, 0x443, 0x7, 0x44, 0x2, 0x2, 0x443, 0x444, 
   14413             :     0x7, 0x18, 0x2, 0x2, 0x444, 0x445, 0x5, 0x130, 0x99, 0x2, 0x445, 0x446, 
   14414             :     0x7, 0x19, 0x2, 0x2, 0x446, 0x107, 0x3, 0x2, 0x2, 0x2, 0x447, 0x44b, 
   14415             :     0x7, 0x45, 0x2, 0x2, 0x448, 0x449, 0x7, 0x45, 0x2, 0x2, 0x449, 0x44b, 
   14416             :     0x5, 0x10a, 0x86, 0x2, 0x44a, 0x447, 0x3, 0x2, 0x2, 0x2, 0x44a, 0x448, 
   14417             :     0x3, 0x2, 0x2, 0x2, 0x44b, 0x109, 0x3, 0x2, 0x2, 0x2, 0x44c, 0x44d, 
   14418             :     0x7, 0x18, 0x2, 0x2, 0x44d, 0x44e, 0x5, 0x10c, 0x87, 0x2, 0x44e, 0x44f, 
   14419             :     0x7, 0x1b, 0x2, 0x2, 0x44f, 0x450, 0x5, 0x12e, 0x98, 0x2, 0x450, 0x451, 
   14420             :     0x7, 0x19, 0x2, 0x2, 0x451, 0x457, 0x3, 0x2, 0x2, 0x2, 0x452, 0x453, 
   14421             :     0x7, 0x18, 0x2, 0x2, 0x453, 0x454, 0x5, 0x12e, 0x98, 0x2, 0x454, 0x455, 
   14422             :     0x7, 0x19, 0x2, 0x2, 0x455, 0x457, 0x3, 0x2, 0x2, 0x2, 0x456, 0x44c, 
   14423             :     0x3, 0x2, 0x2, 0x2, 0x456, 0x452, 0x3, 0x2, 0x2, 0x2, 0x457, 0x10b, 
   14424             :     0x3, 0x2, 0x2, 0x2, 0x458, 0x459, 0x7, 0x6a, 0x2, 0x2, 0x459, 0x10d, 
   14425             :     0x3, 0x2, 0x2, 0x2, 0x45a, 0x45b, 0x7, 0x45, 0x2, 0x2, 0x45b, 0x10f, 
   14426             :     0x3, 0x2, 0x2, 0x2, 0x45c, 0x45d, 0x7, 0x46, 0x2, 0x2, 0x45d, 0x45e, 
   14427             :     0x7, 0x18, 0x2, 0x2, 0x45e, 0x45f, 0x5, 0x12e, 0x98, 0x2, 0x45f, 0x460, 
   14428             :     0x7, 0x19, 0x2, 0x2, 0x460, 0x111, 0x3, 0x2, 0x2, 0x2, 0x461, 0x468, 
   14429             :     0x7, 0x47, 0x2, 0x2, 0x462, 0x463, 0x7, 0x47, 0x2, 0x2, 0x463, 0x464, 
   14430             :     0x7, 0x18, 0x2, 0x2, 0x464, 0x465, 0x5, 0x12c, 0x97, 0x2, 0x465, 0x466, 
   14431             :     0x7, 0x19, 0x2, 0x2, 0x466, 0x468, 0x3, 0x2, 0x2, 0x2, 0x467, 0x461, 
   14432             :     0x3, 0x2, 0x2, 0x2, 0x467, 0x462, 0x3, 0x2, 0x2, 0x2, 0x468, 0x113, 
   14433             :     0x3, 0x2, 0x2, 0x2, 0x469, 0x470, 0x7, 0x47, 0x2, 0x2, 0x46a, 0x46b, 
   14434             :     0x7, 0x47, 0x2, 0x2, 0x46b, 0x46c, 0x7, 0x18, 0x2, 0x2, 0x46c, 0x46d, 
   14435             :     0x5, 0x116, 0x8c, 0x2, 0x46d, 0x46e, 0x7, 0x19, 0x2, 0x2, 0x46e, 0x470, 
   14436             :     0x3, 0x2, 0x2, 0x2, 0x46f, 0x469, 0x3, 0x2, 0x2, 0x2, 0x46f, 0x46a, 
   14437             :     0x3, 0x2, 0x2, 0x2, 0x470, 0x115, 0x3, 0x2, 0x2, 0x2, 0x471, 0x472, 
   14438             :     0x7, 0x7d, 0x2, 0x2, 0x472, 0x473, 0x7, 0x1b, 0x2, 0x2, 0x473, 0x474, 
   14439             :     0x5, 0x11e, 0x90, 0x2, 0x474, 0x475, 0x7, 0x1b, 0x2, 0x2, 0x475, 0x476, 
   14440             :     0x5, 0x11c, 0x8f, 0x2, 0x476, 0x477, 0x7, 0x1b, 0x2, 0x2, 0x477, 0x478, 
   14441             :     0x5, 0x118, 0x8d, 0x2, 0x478, 0x485, 0x3, 0x2, 0x2, 0x2, 0x479, 0x47a, 
   14442             :     0x7, 0x7d, 0x2, 0x2, 0x47a, 0x47b, 0x7, 0x1b, 0x2, 0x2, 0x47b, 0x47c, 
   14443             :     0x5, 0x11e, 0x90, 0x2, 0x47c, 0x47d, 0x7, 0x1b, 0x2, 0x2, 0x47d, 0x47e, 
   14444             :     0x5, 0x118, 0x8d, 0x2, 0x47e, 0x485, 0x3, 0x2, 0x2, 0x2, 0x47f, 0x480, 
   14445             :     0x5, 0x11c, 0x8f, 0x2, 0x480, 0x481, 0x7, 0x1b, 0x2, 0x2, 0x481, 0x482, 
   14446             :     0x5, 0x118, 0x8d, 0x2, 0x482, 0x485, 0x3, 0x2, 0x2, 0x2, 0x483, 0x485, 
   14447             :     0x5, 0x118, 0x8d, 0x2, 0x484, 0x471, 0x3, 0x2, 0x2, 0x2, 0x484, 0x479, 
   14448             :     0x3, 0x2, 0x2, 0x2, 0x484, 0x47f, 0x3, 0x2, 0x2, 0x2, 0x484, 0x483, 
   14449             :     0x3, 0x2, 0x2, 0x2, 0x485, 0x117, 0x3, 0x2, 0x2, 0x2, 0x486, 0x487, 
   14450             :     0x5, 0x11a, 0x8e, 0x2, 0x487, 0x488, 0x7, 0x89, 0x2, 0x2, 0x488, 0x48b, 
   14451             :     0x3, 0x2, 0x2, 0x2, 0x489, 0x48b, 0x5, 0x11a, 0x8e, 0x2, 0x48a, 0x486, 
   14452             :     0x3, 0x2, 0x2, 0x2, 0x48a, 0x489, 0x3, 0x2, 0x2, 0x2, 0x48b, 0x48c, 
   14453             :     0x3, 0x2, 0x2, 0x2, 0x48c, 0x48a, 0x3, 0x2, 0x2, 0x2, 0x48c, 0x48d, 
   14454             :     0x3, 0x2, 0x2, 0x2, 0x48d, 0x119, 0x3, 0x2, 0x2, 0x2, 0x48e, 0x48f, 
   14455             :     0x7, 0x3, 0x2, 0x2, 0x48f, 0x11b, 0x3, 0x2, 0x2, 0x2, 0x490, 0x491, 
   14456             :     0x7, 0x7e, 0x2, 0x2, 0x491, 0x11d, 0x3, 0x2, 0x2, 0x2, 0x492, 0x493, 
   14457             :     0x7, 0x3, 0x2, 0x2, 0x493, 0x11f, 0x3, 0x2, 0x2, 0x2, 0x494, 0x498, 
   14458             :     0x7, 0x48, 0x2, 0x2, 0x495, 0x496, 0x7, 0x48, 0x2, 0x2, 0x496, 0x498, 
   14459             :     0x5, 0x122, 0x92, 0x2, 0x497, 0x494, 0x3, 0x2, 0x2, 0x2, 0x497, 0x495, 
   14460             :     0x3, 0x2, 0x2, 0x2, 0x498, 0x121, 0x3, 0x2, 0x2, 0x2, 0x499, 0x49a, 
   14461             :     0x7, 0x18, 0x2, 0x2, 0x49a, 0x49b, 0x5, 0x124, 0x93, 0x2, 0x49b, 0x49c, 
   14462             :     0x7, 0x1b, 0x2, 0x2, 0x49c, 0x49d, 0x5, 0x12e, 0x98, 0x2, 0x49d, 0x49e, 
   14463             :     0x7, 0x19, 0x2, 0x2, 0x49e, 0x4a4, 0x3, 0x2, 0x2, 0x2, 0x49f, 0x4a0, 
   14464             :     0x7, 0x18, 0x2, 0x2, 0x4a0, 0x4a1, 0x5, 0x12e, 0x98, 0x2, 0x4a1, 0x4a2, 
   14465             :     0x7, 0x19, 0x2, 0x2, 0x4a2, 0x4a4, 0x3, 0x2, 0x2, 0x2, 0x4a3, 0x499, 
   14466             :     0x3, 0x2, 0x2, 0x2, 0x4a3, 0x49f, 0x3, 0x2, 0x2, 0x2, 0x4a4, 0x123, 
   14467             :     0x3, 0x2, 0x2, 0x2, 0x4a5, 0x4a6, 0x7, 0x3a, 0x2, 0x2, 0x4a6, 0x125, 
   14468             :     0x3, 0x2, 0x2, 0x2, 0x4a7, 0x4a8, 0x7, 0x48, 0x2, 0x2, 0x4a8, 0x127, 
   14469             :     0x3, 0x2, 0x2, 0x2, 0x4a9, 0x4aa, 0x7, 0x49, 0x2, 0x2, 0x4aa, 0x129, 
   14470             :     0x3, 0x2, 0x2, 0x2, 0x4ab, 0x4ac, 0x7, 0x3, 0x2, 0x2, 0x4ac, 0x12b, 
   14471             :     0x3, 0x2, 0x2, 0x2, 0x4ad, 0x4ae, 0x5, 0x12e, 0x98, 0x2, 0x4ae, 0x4af, 
   14472             :     0x7, 0x89, 0x2, 0x2, 0x4af, 0x4b2, 0x3, 0x2, 0x2, 0x2, 0x4b0, 0x4b2, 
   14473             :     0x5, 0x12e, 0x98, 0x2, 0x4b1, 0x4ad, 0x3, 0x2, 0x2, 0x2, 0x4b1, 0x4b0, 
   14474             :     0x3, 0x2, 0x2, 0x2, 0x4b2, 0x4b3, 0x3, 0x2, 0x2, 0x2, 0x4b3, 0x4b1, 
   14475             :     0x3, 0x2, 0x2, 0x2, 0x4b3, 0x4b4, 0x3, 0x2, 0x2, 0x2, 0x4b4, 0x12d, 
   14476             :     0x3, 0x2, 0x2, 0x2, 0x4b5, 0x4b6, 0x7, 0x3, 0x2, 0x2, 0x4b6, 0x12f, 
   14477             :     0x3, 0x2, 0x2, 0x2, 0x4b7, 0x4b8, 0x5, 0x132, 0x9a, 0x2, 0x4b8, 0x4b9, 
   14478             :     0x7, 0x89, 0x2, 0x2, 0x4b9, 0x4bc, 0x3, 0x2, 0x2, 0x2, 0x4ba, 0x4bc, 
   14479             :     0x5, 0x132, 0x9a, 0x2, 0x4bb, 0x4b7, 0x3, 0x2, 0x2, 0x2, 0x4bb, 0x4ba, 
   14480             :     0x3, 0x2, 0x2, 0x2, 0x4bc, 0x4bd, 0x3, 0x2, 0x2, 0x2, 0x4bd, 0x4bb, 
   14481             :     0x3, 0x2, 0x2, 0x2, 0x4bd, 0x4be, 0x3, 0x2, 0x2, 0x2, 0x4be, 0x131, 
   14482             :     0x3, 0x2, 0x2, 0x2, 0x4bf, 0x4c0, 0x7, 0x3, 0x2, 0x2, 0x4c0, 0x133, 
   14483             :     0x3, 0x2, 0x2, 0x2, 0x47, 0x13b, 0x156, 0x15b, 0x161, 0x16f, 0x179, 
   14484             :     0x186, 0x18e, 0x198, 0x1a8, 0x1c3, 0x1cb, 0x1d4, 0x1dd, 0x1e5, 0x1ea, 
   14485             :     0x1f2, 0x1f8, 0x200, 0x214, 0x21d, 0x23b, 0x243, 0x251, 0x259, 0x270, 
   14486             :     0x279, 0x298, 0x2a2, 0x2a7, 0x2b0, 0x2ba, 0x2ce, 0x2d7, 0x2f3, 0x2fb, 
   14487             :     0x302, 0x30a, 0x310, 0x318, 0x322, 0x32c, 0x331, 0x336, 0x33e, 0x366, 
   14488             :     0x37b, 0x390, 0x3c7, 0x3c9, 0x3dd, 0x3e3, 0x3e5, 0x428, 0x43e, 0x440, 
   14489             :     0x44a, 0x456, 0x467, 0x46f, 0x484, 0x48a, 0x48c, 0x497, 0x4a3, 0x4b1, 
   14490             :     0x4b3, 0x4bb, 0x4bd, 
   14491         356 :   };
   14492             : 
   14493         712 :   atn::ATNDeserializer deserializer;
   14494         356 :   _atn = deserializer.deserialize(_serializedATN);
   14495             : 
   14496         356 :   size_t count = _atn.getNumberOfDecisions();
   14497         356 :   _decisionToDFA.reserve(count);
   14498       24920 :   for (size_t i = 0; i < count; i++) { 
   14499       24564 :     _decisionToDFA.emplace_back(_atn.getDecisionState(i), i);
   14500             :   }
   14501         356 : }
   14502             : 
   14503             : accparser::Initializer accparser::_init;

Generated by: LCOV version 1.14