qbs* FUNC_UDTDYNARRAYINDEXEXPR(qbs*_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,int32*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DIMENSION_COUNT,qbs*_FUNC_UDTDYNARRAYINDEXEXPR_STRING_DESC_EXPR){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data29.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
libqb_check_stack();
if (is_error_pending()) goto exit_subfunc;
do{
if(!qbevent)break;evnt(16185);}while(r);
do{
if(!qbevent)break;evnt(16186);}while(r);
do{
if(!qbevent)break;evnt(16187);}while(r);
do{
if(!qbevent)break;evnt(16188);}while(r);
do{
if(!qbevent)break;evnt(16189);}while(r);
do{
if(!qbevent)break;evnt(16190);}while(r);
do{
if(!qbevent)break;evnt(16191);}while(r);
do{
if(!qbevent)break;evnt(16192);}while(r);
do{
if(!qbevent)break;evnt(16193);}while(r);
do{
if(!qbevent)break;evnt(16194);}while(r);
do{
if(!qbevent)break;evnt(16195);}while(r);
do{
if(!qbevent)break;evnt(16196);}while(r);
do{
if(!qbevent)break;evnt(16197);}while(r);
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS=FUNC_NUMELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16199);}while(r);
S_18720:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS== 0 ))||is_error_pending()){
if(qbevent){evnt(16200);if(r)goto S_18720;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16200);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16200);}while(r);
}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DIMENSION_COUNT;
if(!qbevent)break;evnt(16202);}while(r);
S_18725:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS<= 0 ))||is_error_pending()){
if(qbevent){evnt(16203);if(r)goto S_18725;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS= 1 ;
if(!qbevent)break;evnt(16204);}while(r);
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH= 0 ;
if(!qbevent)break;evnt(16205);}while(r);
S_18728:;
fornext_value2755= 1 ;
fornext_finalvalue2755=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS;
fornext_step2755= 1 ;
if (fornext_step2755<0) fornext_step_negative2755=1; else fornext_step_negative2755=0;
if (is_error_pending()) goto fornext_error2755;
goto fornext_entrylabel2755;
while(1){
fornext_value2755=fornext_step2755+(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX);
fornext_entrylabel2755:
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX=fornext_value2755;
if (fornext_step_negative2755){
if (fornext_value2755<fornext_finalvalue2755) break;
}else{
if (fornext_value2755>fornext_finalvalue2755) break;
}
fornext_error2755:;
if(qbevent){evnt(16206);if(r)goto S_18728;}
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,FUNC_GETELEMENT(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16207);}while(r);
S_18730:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len("(",1))))||is_error_pending()){
if(qbevent){evnt(16208);if(r)goto S_18730;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH+ 1 ;
if(!qbevent)break;evnt(16208);}while(r);
}
S_18733:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(")",1))))||is_error_pending()){
if(qbevent){evnt(16209);if(r)goto S_18733;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH- 1 ;
if(!qbevent)break;evnt(16209);}while(r);
}
S_18736:;
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()){
if(qbevent){evnt(16210);if(r)goto S_18736;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS+ 1 ;
if(!qbevent)break;evnt(16210);}while(r);
}
fornext_continue_2754:;
}
fornext_exit_2754:;
}
S_18741:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS<= 0 ))||is_error_pending()){
if(qbevent){evnt(16213);if(r)goto S_18741;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("TYPE member is not an array",27));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16213);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16213);}while(r);
}
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16215);}while(r);
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS= 0 ;
if(!qbevent)break;evnt(16216);}while(r);
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH= 0 ;
if(!qbevent)break;evnt(16217);}while(r);
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX= 1 ;
if(!qbevent)break;evnt(16218);}while(r);
S_18749:;
fornext_value2757= 1 ;
fornext_finalvalue2757=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS;
fornext_step2757= 1 ;
if (fornext_step2757<0) fornext_step_negative2757=1; else fornext_step_negative2757=0;
if (is_error_pending()) goto fornext_error2757;
goto fornext_entrylabel2757;
while(1){
fornext_value2757=fornext_step2757+(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX);
fornext_entrylabel2757:
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX=fornext_value2757;
if (fornext_step_negative2757){
if (fornext_value2757<fornext_finalvalue2757) break;
}else{
if (fornext_value2757>fornext_finalvalue2757) break;
}
fornext_error2757:;
if(qbevent){evnt(16220);if(r)goto S_18749;}
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,FUNC_GETELEMENT(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16221);}while(r);
S_18751:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len("(",1))))||is_error_pending()){
if(qbevent){evnt(16222);if(r)goto S_18751;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH+ 1 ;
if(!qbevent)break;evnt(16222);}while(r);
}
S_18754:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_TOKEN,qbs_new_txt_len(")",1))))||is_error_pending()){
if(qbevent){evnt(16223);if(r)goto S_18754;}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_BRACKET_DEPTH- 1 ;
if(!qbevent)break;evnt(16223);}while(r);
}
S_18757:;
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()){
if(qbevent){evnt(16224);if(r)goto S_18757;}
S_18758:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX==*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_NTOKENS))||is_error_pending()){
if(qbevent){evnt(16225);if(r)goto S_18758;}
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_GETELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16226);}while(r);
}else{
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_GETELEMENTS(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_INDEXES,_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX,&(pass2758=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX- 1 )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16228);}while(r);
}
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,FUNC_EVALUATETOTYP(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,&(pass2759= 64 )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16230);}while(r);
S_18764:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(16231);if(r)goto S_18764;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16231);}while(r);
}
S_18767:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_IDX_SRC,qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(16232);if(r)goto S_18767;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16232);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16232);}while(r);
}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS+ 1 ;
if(!qbevent)break;evnt(16234);}while(r);
S_18772:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS>*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS))||is_error_pending()){
if(qbevent){evnt(16235);if(r)goto S_18772;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Cannot change the number of elements an array has!",50));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16235);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16235);}while(r);
}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_DESC_INDEX=((*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS-*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS)* 4 )+( 4 );
if(!qbevent)break;evnt(16237);}while(r);
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16238);}while(r);
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16239);}while(r);
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16240);}while(r);
S_18780:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS== 1 ))||is_error_pending()){
if(qbevent){evnt(16242);if(r)goto S_18780;}
S_18781:;
if ((*__LONG_CHECKINGON)||is_error_pending()){
if(qbevent){evnt(16243);if(r)goto S_18781;}
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16244);}while(r);
}else{
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16246);}while(r);
}
}else{
S_18787:;
if ((*__LONG_CHECKINGON)||is_error_pending()){
if(qbevent){evnt(16249);if(r)goto S_18787;}
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16250);}while(r);
}else{
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16252);}while(r);
}
}
do{
*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FIRST_INDEX=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_TOKEN_INDEX+ 1 ;
if(!qbevent)break;evnt(16256);}while(r);
}
fornext_continue_2756:;
}
fornext_exit_2756:;
S_18796:;
if ((-(*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_FOUND_DIMENSIONS!=*_FUNC_UDTDYNARRAYINDEXEXPR_LONG_ACTUAL_DIMENSIONS))||is_error_pending()){
if(qbevent){evnt(16260);if(r)goto S_18796;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Cannot change the number of elements an array has!",50));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16260);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16260);}while(r);
}
S_18800:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR,qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(16261);if(r)goto S_18800;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16261);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(16261);}while(r);
}
do{
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)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16263);}while(r);
do{
qbs_set(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR,_FUNC_UDTDYNARRAYINDEXEXPR_STRING_RESULT_EXPR);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(16265);}while(r);
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free29.txt"
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;
cmem_sp=tmp_cmem_sp;
qbs_maketmp(_FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR);return _FUNC_UDTDYNARRAYINDEXEXPR_STRING_UDTDYNARRAYINDEXEXPR;
}
