int32 FUNC_COMMAEXPRESSION(qbs*_FUNC_COMMAEXPRESSION_STRING_EXP,void*_FUNC_COMMAEXPRESSION_UDT_STATE){
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 "data208.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;
S_39165:;
if (( 0ll )||is_error_pending()){
if(qbevent){evnt(28169,166,"const_eval.bas");if(r)goto S_39165;}
do{
sub__echo(qbs_new_txt_len("CommaExpression",15));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,166,"const_eval.bas");}while(r);
}
S_39168:;
do{
if(qbevent){evnt(28169,167,"const_eval.bas");if(r)goto S_39168;}
do{
qbs_set(_FUNC_COMMAEXPRESSION_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_COMMAEXPRESSION_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+4)) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,168,"const_eval.bas");}while(r);
do{
if(!qbevent)break;evnt(28169,170,"const_eval.bas");}while(r);
do{
*_FUNC_COMMAEXPRESSION_LONG_TMPINDEX=*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+0)));
if(!qbevent)break;evnt(28169,171,"const_eval.bas");}while(r);
S_39172:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_STREXPRESSION(_FUNC_COMMAEXPRESSION_STRING_EXP,(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(28169,173,"const_eval.bas");if(r)goto S_39172;}
S_39173:;
if ((-(*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+0)))!=*_FUNC_COMMAEXPRESSION_LONG_TMPINDEX))||is_error_pending()){
if(qbevent){evnt(28169,175,"const_eval.bas");if(r)goto S_39173;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,175,"const_eval.bas");}while(r);
}
S_39176:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_NUMERICEXPRESSION(_FUNC_COMMAEXPRESSION_STRING_EXP,(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(28169,176,"const_eval.bas");if(r)goto S_39176;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,176,"const_eval.bas");}while(r);
}
}
S_39180:;
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(28169,179,"const_eval.bas");if(r)goto S_39180;}
do{
SUB_PUSHELEMENT(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),qbs_new_txt_len(",",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,179,"const_eval.bas");}while(r);
}
S_39183:;
if (((*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+64)))&*__LONG_ISSTRING))||is_error_pending()){
if(qbevent){evnt(28169,181,"const_eval.bas");if(r)goto S_39183;}
do{
SUB_PUSHELEMENT(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+56)))));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,182,"const_eval.bas");}while(r);
S_39185:;
}else{
if ((*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+64)))&*__LONG_ISFLOAT)){
if(qbevent){evnt(28169,183,"const_eval.bas");if(r)goto S_39185;}
do{
SUB_PUSHELEMENT(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),qbs__tostr((long double)(*(long double*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+8)))),NULL,0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,184,"const_eval.bas");}while(r);
S_39187:;
}else{
if ((*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+64)))&*__LONG_ISUNSIGNED)){
if(qbevent){evnt(28169,185,"const_eval.bas");if(r)goto S_39187;}
do{
SUB_PUSHELEMENT(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),qbs_add(qbs__tostr((uint64)(*(uint64*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+48)))),NULL,0),qbs_new_txt_len("~&&",3)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,186,"const_eval.bas");}while(r);
}else{
do{
SUB_PUSHELEMENT(*((qbs**)((char*)_FUNC_COMMAEXPRESSION_UDT_STATE+((0+76)))),qbs_add(qbs__tostr((int64)(*(int64*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+40)))),NULL,0),qbs_new_txt_len("&&",2)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,188,"const_eval.bas");}while(r);
}
}
}
do{
qbs_set(_FUNC_COMMAEXPRESSION_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_COMMAEXPRESSION_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)) + ((0+4)) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,191,"const_eval.bas");}while(r);
S_39193:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_COMMAEXPRESSION_STRING_ELE,qbs_new_txt_len(",",1))))||is_error_pending()){
if(qbevent){evnt(28169,192,"const_eval.bas");if(r)goto S_39193;}
do{
goto dl_continue_4715;
if(!qbevent)break;evnt(28169,192,"const_eval.bas");}while(r);
}
S_39196:;
if ((-(*(int32*)(((char*)_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+0)))== -1 ))||is_error_pending()){
if(qbevent){evnt(28169,198,"const_eval.bas");if(r)goto S_39196;}
do{
*_FUNC_COMMAEXPRESSION_LONG_COMMAEXPRESSION= -1 ;
if(!qbevent)break;evnt(28169,199,"const_eval.bas");}while(r);
}else{
do{
qbs_set(*((qbs**)((char*)(_FUNC_COMMAEXPRESSION_UDT_STATE)+((0+68)))),qbs_add(qbs_add(qbs_new_txt_len("ERROR - Unexpected element '",28),_FUNC_COMMAEXPRESSION_STRING_ELE),qbs_new_txt_len("'",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,201,"const_eval.bas");}while(r);
}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,203,"const_eval.bas");}while(r);
dl_continue_4715:;
}while(1);
dl_exit_4715:;
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free208.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;
return *_FUNC_COMMAEXPRESSION_LONG_COMMAEXPRESSION;
}
