#line 16278 "qb64pe.bas"
qbs* FUNC_UDTDYNARRAYINDEXEXPR(qbs*_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,int32*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DIMENSION_COUNT,qbs*_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR){
#line 16278 "qb64pe.bas"
qbs *tqbs;
#line 16278 "qb64pe.bas"
ptrszint tmp_long;
#line 16278 "qb64pe.bas"
int32 tmp_fileno;
#line 16278 "qb64pe.bas"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 16278 "qb64pe.bas"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 16278 "qb64pe.bas"
uint32 tmp_cmem_sp=cmem_sp;
#line 16278 "qb64pe.bas"
#include "data32.txt"
#line 16278 "qb64pe.bas"
mem_lock *sf_mem_lock;
#line 16278 "qb64pe.bas"
new_mem_lock();
#line 16278 "qb64pe.bas"
sf_mem_lock=mem_lock_tmp;
#line 16278 "qb64pe.bas"
sf_mem_lock->type=3;
#line 16278 "qb64pe.bas"
libqb_check_stack();
#line 16278 "qb64pe.bas"
if (is_error_pending()) goto exit_subfunc;
#line 16279 "qb64pe.bas"
do{
#line 16279 "qb64pe.bas"
if(!qbevent)break;evnt(16279);}while(r);
#line 16280 "qb64pe.bas"
do{
#line 16280 "qb64pe.bas"
if(!qbevent)break;evnt(16280);}while(r);
#line 16281 "qb64pe.bas"
do{
#line 16281 "qb64pe.bas"
if(!qbevent)break;evnt(16281);}while(r);
#line 16282 "qb64pe.bas"
do{
#line 16282 "qb64pe.bas"
if(!qbevent)break;evnt(16282);}while(r);
#line 16283 "qb64pe.bas"
do{
#line 16283 "qb64pe.bas"
if(!qbevent)break;evnt(16283);}while(r);
#line 16284 "qb64pe.bas"
do{
#line 16284 "qb64pe.bas"
if(!qbevent)break;evnt(16284);}while(r);
#line 16285 "qb64pe.bas"
do{
#line 16285 "qb64pe.bas"
if(!qbevent)break;evnt(16285);}while(r);
#line 16286 "qb64pe.bas"
do{
#line 16286 "qb64pe.bas"
if(!qbevent)break;evnt(16286);}while(r);
#line 16287 "qb64pe.bas"
do{
#line 16287 "qb64pe.bas"
if(!qbevent)break;evnt(16287);}while(r);
#line 16288 "qb64pe.bas"
do{
#line 16288 "qb64pe.bas"
if(!qbevent)break;evnt(16288);}while(r);
#line 16289 "qb64pe.bas"
do{
#line 16289 "qb64pe.bas"
if(!qbevent)break;evnt(16289);}while(r);
#line 16290 "qb64pe.bas"
do{
#line 16290 "qb64pe.bas"
if(!qbevent)break;evnt(16290);}while(r);
#line 16291 "qb64pe.bas"
do{
#line 16291 "qb64pe.bas"
if(!qbevent)break;evnt(16291);}while(r);
#line 16293 "qb64pe.bas"
do{
#line 16293 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS=FUNC_NUMELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES);
#line 16293 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16293 "qb64pe.bas"
if(!qbevent)break;evnt(16293);}while(r);
#line 16294 "qb64pe.bas"
S_18753:;
#line 16294 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS== 0 ))||is_error_pending()){
#line 16294 "qb64pe.bas"
if(qbevent){evnt(16294);if(r)goto S_18753;}
#line 16294 "qb64pe.bas"
do{
#line 16294 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
#line 16294 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16294 "qb64pe.bas"
if(!qbevent)break;evnt(16294);}while(r);
#line 16294 "qb64pe.bas"
do{
#line 16294 "qb64pe.bas"
goto exit_subfunc;
#line 16294 "qb64pe.bas"
if(!qbevent)break;evnt(16294);}while(r);
#line 16294 "qb64pe.bas"
}
#line 16296 "qb64pe.bas"
do{
#line 16296 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DIMENSION_COUNT;
#line 16296 "qb64pe.bas"
if(!qbevent)break;evnt(16296);}while(r);
#line 16297 "qb64pe.bas"
S_18758:;
#line 16297 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS<= 0 ))||is_error_pending()){
#line 16297 "qb64pe.bas"
if(qbevent){evnt(16297);if(r)goto S_18758;}
#line 16298 "qb64pe.bas"
do{
#line 16298 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS= 1 ;
#line 16298 "qb64pe.bas"
if(!qbevent)break;evnt(16298);}while(r);
#line 16299 "qb64pe.bas"
do{
#line 16299 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH= 0 ;
#line 16299 "qb64pe.bas"
if(!qbevent)break;evnt(16299);}while(r);
#line 16300 "qb64pe.bas"
S_18761:;
#line 16300 "qb64pe.bas"
fornext_value2208= 1 ;
#line 16300 "qb64pe.bas"
fornext_finalvalue2208=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS;
#line 16300 "qb64pe.bas"
fornext_step2208= 1 ;
#line 16300 "qb64pe.bas"
if (fornext_step2208<0) fornext_step_negative2208=1; else fornext_step_negative2208=0;
#line 16300 "qb64pe.bas"
if (is_error_pending()) goto fornext_error2208;
#line 16300 "qb64pe.bas"
goto fornext_entrylabel2208;
#line 16300 "qb64pe.bas"
while(1){
#line 16300 "qb64pe.bas"
fornext_value2208=fornext_step2208+(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX);
#line 16300 "qb64pe.bas"
fornext_entrylabel2208:
#line 16300 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX=fornext_value2208;
#line 16300 "qb64pe.bas"
if (fornext_step_negative2208){
#line 16300 "qb64pe.bas"
if (fornext_value2208<fornext_finalvalue2208) break;
#line 16300 "qb64pe.bas"
}else{
#line 16300 "qb64pe.bas"
if (fornext_value2208>fornext_finalvalue2208) break;
#line 16300 "qb64pe.bas"
}
#line 16300 "qb64pe.bas"
fornext_error2208:;
#line 16300 "qb64pe.bas"
if(qbevent){evnt(16300);if(r)goto S_18761;}
#line 16301 "qb64pe.bas"
do{
#line 16301 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,FUNC_GETELEMENT(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
#line 16301 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16301 "qb64pe.bas"
if(!qbevent)break;evnt(16301);}while(r);
#line 16302 "qb64pe.bas"
S_18763:;
#line 16302 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len("(",1))))||is_error_pending()){
#line 16302 "qb64pe.bas"
if(qbevent){evnt(16302);if(r)goto S_18763;}
#line 16302 "qb64pe.bas"
do{
#line 16302 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH+ 1 ;
#line 16302 "qb64pe.bas"
if(!qbevent)break;evnt(16302);}while(r);
#line 16302 "qb64pe.bas"
}
#line 16303 "qb64pe.bas"
S_18766:;
#line 16303 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(")",1))))||is_error_pending()){
#line 16303 "qb64pe.bas"
if(qbevent){evnt(16303);if(r)goto S_18766;}
#line 16303 "qb64pe.bas"
do{
#line 16303 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH- 1 ;
#line 16303 "qb64pe.bas"
if(!qbevent)break;evnt(16303);}while(r);
#line 16303 "qb64pe.bas"
}
#line 16304 "qb64pe.bas"
S_18769:;
#line 16304 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,(-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH== 0 ))&(qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(",",1)))))||is_error_pending()){
#line 16304 "qb64pe.bas"
if(qbevent){evnt(16304);if(r)goto S_18769;}
#line 16304 "qb64pe.bas"
do{
#line 16304 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS+ 1 ;
#line 16304 "qb64pe.bas"
if(!qbevent)break;evnt(16304);}while(r);
#line 16304 "qb64pe.bas"
}
#line 16305 "qb64pe.bas"
fornext_continue_2207:;
#line 16305 "qb64pe.bas"
}
#line 16305 "qb64pe.bas"
fornext_exit_2207:;
#line 16306 "qb64pe.bas"
}
#line 16307 "qb64pe.bas"
S_18774:;
#line 16307 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS<= 0 ))||is_error_pending()){
#line 16307 "qb64pe.bas"
if(qbevent){evnt(16307);if(r)goto S_18774;}
#line 16307 "qb64pe.bas"
do{
#line 16307 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("TYPE member is not an array",27));
#line 16307 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16307 "qb64pe.bas"
if(!qbevent)break;evnt(16307);}while(r);
#line 16307 "qb64pe.bas"
do{
#line 16307 "qb64pe.bas"
goto exit_subfunc;
#line 16307 "qb64pe.bas"
if(!qbevent)break;evnt(16307);}while(r);
#line 16307 "qb64pe.bas"
}
#line 16309 "qb64pe.bas"
do{
#line 16309 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("",0));
#line 16309 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16309 "qb64pe.bas"
if(!qbevent)break;evnt(16309);}while(r);
#line 16310 "qb64pe.bas"
do{
#line 16310 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS= 0 ;
#line 16310 "qb64pe.bas"
if(!qbevent)break;evnt(16310);}while(r);
#line 16311 "qb64pe.bas"
do{
#line 16311 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH= 0 ;
#line 16311 "qb64pe.bas"
if(!qbevent)break;evnt(16311);}while(r);
#line 16312 "qb64pe.bas"
do{
#line 16312 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX= 1 ;
#line 16312 "qb64pe.bas"
if(!qbevent)break;evnt(16312);}while(r);
#line 16314 "qb64pe.bas"
S_18782:;
#line 16314 "qb64pe.bas"
fornext_value2210= 1 ;
#line 16314 "qb64pe.bas"
fornext_finalvalue2210=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS;
#line 16314 "qb64pe.bas"
fornext_step2210= 1 ;
#line 16314 "qb64pe.bas"
if (fornext_step2210<0) fornext_step_negative2210=1; else fornext_step_negative2210=0;
#line 16314 "qb64pe.bas"
if (is_error_pending()) goto fornext_error2210;
#line 16314 "qb64pe.bas"
goto fornext_entrylabel2210;
#line 16314 "qb64pe.bas"
while(1){
#line 16314 "qb64pe.bas"
fornext_value2210=fornext_step2210+(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX);
#line 16314 "qb64pe.bas"
fornext_entrylabel2210:
#line 16314 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX=fornext_value2210;
#line 16314 "qb64pe.bas"
if (fornext_step_negative2210){
#line 16314 "qb64pe.bas"
if (fornext_value2210<fornext_finalvalue2210) break;
#line 16314 "qb64pe.bas"
}else{
#line 16314 "qb64pe.bas"
if (fornext_value2210>fornext_finalvalue2210) break;
#line 16314 "qb64pe.bas"
}
#line 16314 "qb64pe.bas"
fornext_error2210:;
#line 16314 "qb64pe.bas"
if(qbevent){evnt(16314);if(r)goto S_18782;}
#line 16315 "qb64pe.bas"
do{
#line 16315 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,FUNC_GETELEMENT(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
#line 16315 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16315 "qb64pe.bas"
if(!qbevent)break;evnt(16315);}while(r);
#line 16316 "qb64pe.bas"
S_18784:;
#line 16316 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len("(",1))))||is_error_pending()){
#line 16316 "qb64pe.bas"
if(qbevent){evnt(16316);if(r)goto S_18784;}
#line 16316 "qb64pe.bas"
do{
#line 16316 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH+ 1 ;
#line 16316 "qb64pe.bas"
if(!qbevent)break;evnt(16316);}while(r);
#line 16316 "qb64pe.bas"
}
#line 16317 "qb64pe.bas"
S_18787:;
#line 16317 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(")",1))))||is_error_pending()){
#line 16317 "qb64pe.bas"
if(qbevent){evnt(16317);if(r)goto S_18787;}
#line 16317 "qb64pe.bas"
do{
#line 16317 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH- 1 ;
#line 16317 "qb64pe.bas"
if(!qbevent)break;evnt(16317);}while(r);
#line 16317 "qb64pe.bas"
}
#line 16318 "qb64pe.bas"
S_18790:;
#line 16318 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,(((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH== 0 ))&(qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(",",1)))))|(-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX==*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS))))||is_error_pending()){
#line 16318 "qb64pe.bas"
if(qbevent){evnt(16318);if(r)goto S_18790;}
#line 16319 "qb64pe.bas"
S_18791:;
#line 16319 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX==*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS))||is_error_pending()){
#line 16319 "qb64pe.bas"
if(qbevent){evnt(16319);if(r)goto S_18791;}
#line 16320 "qb64pe.bas"
do{
#line 16320 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_GETELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
#line 16320 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16320 "qb64pe.bas"
if(!qbevent)break;evnt(16320);}while(r);
#line 16321 "qb64pe.bas"
}else{
#line 16322 "qb64pe.bas"
do{
#line 16322 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_GETELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX,&(pass2211=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX- 1 )));
#line 16322 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16322 "qb64pe.bas"
if(!qbevent)break;evnt(16322);}while(r);
#line 16323 "qb64pe.bas"
}
#line 16324 "qb64pe.bas"
do{
#line 16324 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_EVALUATETOTYP(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,&(pass2212= 64 )));
#line 16324 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16324 "qb64pe.bas"
if(!qbevent)break;evnt(16324);}while(r);
#line 16325 "qb64pe.bas"
S_18797:;
#line 16325 "qb64pe.bas"
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
#line 16325 "qb64pe.bas"
if(qbevent){evnt(16325);if(r)goto S_18797;}
#line 16325 "qb64pe.bas"
do{
#line 16325 "qb64pe.bas"
goto exit_subfunc;
#line 16325 "qb64pe.bas"
if(!qbevent)break;evnt(16325);}while(r);
#line 16325 "qb64pe.bas"
}
#line 16326 "qb64pe.bas"
S_18800:;
#line 16326 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,qbs_new_txt_len("",0))))||is_error_pending()){
#line 16326 "qb64pe.bas"
if(qbevent){evnt(16326);if(r)goto S_18800;}
#line 16326 "qb64pe.bas"
do{
#line 16326 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
#line 16326 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16326 "qb64pe.bas"
if(!qbevent)break;evnt(16326);}while(r);
#line 16326 "qb64pe.bas"
do{
#line 16326 "qb64pe.bas"
goto exit_subfunc;
#line 16326 "qb64pe.bas"
if(!qbevent)break;evnt(16326);}while(r);
#line 16326 "qb64pe.bas"
}
#line 16328 "qb64pe.bas"
do{
#line 16328 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS+ 1 ;
#line 16328 "qb64pe.bas"
if(!qbevent)break;evnt(16328);}while(r);
#line 16329 "qb64pe.bas"
S_18805:;
#line 16329 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS>*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS))||is_error_pending()){
#line 16329 "qb64pe.bas"
if(qbevent){evnt(16329);if(r)goto S_18805;}
#line 16329 "qb64pe.bas"
do{
#line 16329 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Cannot change the number of elements an array has!",50));
#line 16329 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16329 "qb64pe.bas"
if(!qbevent)break;evnt(16329);}while(r);
#line 16329 "qb64pe.bas"
do{
#line 16329 "qb64pe.bas"
goto exit_subfunc;
#line 16329 "qb64pe.bas"
if(!qbevent)break;evnt(16329);}while(r);
#line 16329 "qb64pe.bas"
}
#line 16331 "qb64pe.bas"
do{
#line 16331 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DESC_INDEX=((*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS-*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS)* 4 )+( 4 );
#line 16331 "qb64pe.bas"
if(!qbevent)break;evnt(16331);}while(r);
#line 16332 "qb64pe.bas"
do{
#line 16332 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_BASE,qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR,qbs_new_txt_len("[",1)),qbs_ltrim(qbs_str((int32)(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DESC_INDEX)))),qbs_new_txt_len("]",1)));
#line 16332 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16332 "qb64pe.bas"
if(!qbevent)break;evnt(16332);}while(r);
#line 16333 "qb64pe.bas"
do{
#line 16333 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_COUNT,qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR,qbs_new_txt_len("[",1)),qbs_ltrim(qbs_str((int64)(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DESC_INDEX+ 1 )))),qbs_new_txt_len("]",1)));
#line 16333 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16333 "qb64pe.bas"
if(!qbevent)break;evnt(16333);}while(r);
#line 16334 "qb64pe.bas"
do{
#line 16334 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_STRIDE,qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR,qbs_new_txt_len("[",1)),qbs_ltrim(qbs_str((int64)(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DESC_INDEX+ 2 )))),qbs_new_txt_len("]",1)));
#line 16334 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16334 "qb64pe.bas"
if(!qbevent)break;evnt(16334);}while(r);
#line 16336 "qb64pe.bas"
S_18813:;
#line 16336 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS== 1 ))||is_error_pending()){
#line 16336 "qb64pe.bas"
if(qbevent){evnt(16336);if(r)goto S_18813;}
#line 16337 "qb64pe.bas"
S_18814:;
#line 16337 "qb64pe.bas"
if ((*__LONG_CHECKINGON)||is_error_pending()){
#line 16337 "qb64pe.bas"
if(qbevent){evnt(16337);if(r)goto S_18814;}
#line 16338 "qb64pe.bas"
do{
#line 16338 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("array_check((",13)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC),qbs_new_txt_len(")-(",3)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_BASE),qbs_new_txt_len("),",2)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_COUNT),qbs_new_txt_len(")+",2)));
#line 16338 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16338 "qb64pe.bas"
if(!qbevent)break;evnt(16338);}while(r);
#line 16339 "qb64pe.bas"
}else{
#line 16340 "qb64pe.bas"
do{
#line 16340 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("((",2)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC),qbs_new_txt_len(")-(",3)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_BASE),qbs_new_txt_len("))+",3)));
#line 16340 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16340 "qb64pe.bas"
if(!qbevent)break;evnt(16340);}while(r);
#line 16341 "qb64pe.bas"
}
#line 16342 "qb64pe.bas"
}else{
#line 16343 "qb64pe.bas"
S_18820:;
#line 16343 "qb64pe.bas"
if ((*__LONG_CHECKINGON)||is_error_pending()){
#line 16343 "qb64pe.bas"
if(qbevent){evnt(16343);if(r)goto S_18820;}
#line 16344 "qb64pe.bas"
do{
#line 16344 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("array_check((",13)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC),qbs_new_txt_len(")-(",3)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_BASE),qbs_new_txt_len("),",2)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_COUNT),qbs_new_txt_len(")*(",3)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_STRIDE),qbs_new_txt_len(")+",2)));
#line 16344 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16344 "qb64pe.bas"
if(!qbevent)break;evnt(16344);}while(r);
#line 16345 "qb64pe.bas"
}else{
#line 16346 "qb64pe.bas"
do{
#line 16346 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("((",2)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC),qbs_new_txt_len(")-(",3)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_BASE),qbs_new_txt_len("))*(",4)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DIM_STRIDE),qbs_new_txt_len(")+",2)));
#line 16346 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16346 "qb64pe.bas"
if(!qbevent)break;evnt(16346);}while(r);
#line 16347 "qb64pe.bas"
}
#line 16348 "qb64pe.bas"
}
#line 16350 "qb64pe.bas"
do{
#line 16350 "qb64pe.bas"
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX+ 1 ;
#line 16350 "qb64pe.bas"
if(!qbevent)break;evnt(16350);}while(r);
#line 16351 "qb64pe.bas"
}
#line 16352 "qb64pe.bas"
fornext_continue_2209:;
#line 16352 "qb64pe.bas"
}
#line 16352 "qb64pe.bas"
fornext_exit_2209:;
#line 16354 "qb64pe.bas"
S_18829:;
#line 16354 "qb64pe.bas"
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS!=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS))||is_error_pending()){
#line 16354 "qb64pe.bas"
if(qbevent){evnt(16354);if(r)goto S_18829;}
#line 16354 "qb64pe.bas"
do{
#line 16354 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Cannot change the number of elements an array has!",50));
#line 16354 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16354 "qb64pe.bas"
if(!qbevent)break;evnt(16354);}while(r);
#line 16354 "qb64pe.bas"
do{
#line 16354 "qb64pe.bas"
goto exit_subfunc;
#line 16354 "qb64pe.bas"
if(!qbevent)break;evnt(16354);}while(r);
#line 16354 "qb64pe.bas"
}
#line 16355 "qb64pe.bas"
S_18833:;
#line 16355 "qb64pe.bas"
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("",0))))||is_error_pending()){
#line 16355 "qb64pe.bas"
if(qbevent){evnt(16355);if(r)goto S_18833;}
#line 16355 "qb64pe.bas"
do{
#line 16355 "qb64pe.bas"
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
#line 16355 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16355 "qb64pe.bas"
if(!qbevent)break;evnt(16355);}while(r);
#line 16355 "qb64pe.bas"
do{
#line 16355 "qb64pe.bas"
goto exit_subfunc;
#line 16355 "qb64pe.bas"
if(!qbevent)break;evnt(16355);}while(r);
#line 16355 "qb64pe.bas"
}
#line 16357 "qb64pe.bas"
do{
#line 16357 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("array_check(",12),qbs_ltrim(qbs_str((int32)(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS)))),qbs_new_txt_len("-(",2)),_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR),qbs_new_txt_len("[3]),1)+(",9)),qbs_left(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR->len- 1 )),qbs_new_txt_len(")",1)));
#line 16357 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16357 "qb64pe.bas"
if(!qbevent)break;evnt(16357);}while(r);
#line 16359 "qb64pe.bas"
do{
#line 16359 "qb64pe.bas"
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR,_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR);
#line 16359 "qb64pe.bas"
qbs_cleanup(qbs_tmp_base,0);
#line 16359 "qb64pe.bas"
if(!qbevent)break;evnt(16359);}while(r);
#line 16360 "qb64pe.bas"
exit_subfunc:;
#line 16360 "qb64pe.bas"
free_mem_lock(sf_mem_lock);
#line 16360 "qb64pe.bas"
#include "free32.txt"
#line 16360 "qb64pe.bas"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
#line 16360 "qb64pe.bas"
cmem_sp=tmp_cmem_sp;
#line 16360 "qb64pe.bas"
qbs_maketmp(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR);return _FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR;
#line 16360 "qb64pe.bas"
}
