int32 FUNC_TERM(qbs*_FUNC_TERM_STRING_EXP,void*_FUNC_TERM_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 "data219.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_39492:;
if (( 0ll )||is_error_pending()){
if(qbevent){evnt(28169,487,"const_eval.bas");if(r)goto S_39492;}
do{
sub__echo(qbs_new_txt_len("Term",4));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,487,"const_eval.bas");}while(r);
}
S_39495:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_PARSEMOD(_FUNC_TERM_STRING_EXP,(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(28169,488,"const_eval.bas");if(r)goto S_39495;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,488,"const_eval.bas");}while(r);
}
do{
if(!qbevent)break;evnt(28169,490,"const_eval.bas");}while(r);
do{
memcpy((((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 0),(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 0), 32);
memcpy((((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 32),(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 32), 8);
memcpy((((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 40),(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 40), 8);
qbs_set(*(qbs**)(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 48), *(qbs**)(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 48));
memcpy((((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 56),(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 56), 4);
if(!qbevent)break;evnt(28169,491,"const_eval.bas");}while(r);
S_39500:;
do{
if(qbevent){evnt(28169,493,"const_eval.bas");if(r)goto S_39500;}
do{
qbs_set(_FUNC_TERM_STRING_ELE,FUNC_PEEKNEXTELEMENT(_FUNC_TERM_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+4)) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,494,"const_eval.bas");}while(r);
S_39502:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_TERM_STRING_ELE,qbs_new_txt_len("+",1))))||is_error_pending()){
if(qbevent){evnt(28169,495,"const_eval.bas");if(r)goto S_39502;}
do{
qbs_set(_FUNC_TERM_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_TERM_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+4)) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,496,"const_eval.bas");}while(r);
S_39504:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_PARSEMOD(_FUNC_TERM_STRING_EXP,(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(28169,497,"const_eval.bas");if(r)goto S_39504;}
do{
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ),qbs_new_txt_len("+",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,497,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,497,"const_eval.bas");}while(r);
}
S_39508:;
if (((*(int32*)(((char*)_FUNC_TERM_UDT_NUM)+((0+56)))&*__LONG_ISFLOAT)|(*(int32*)(((char*)_FUNC_TERM_UDT_STATE)+((0+64)))&*__LONG_ISFLOAT))||is_error_pending()){
if(qbevent){evnt(28169,499,"const_eval.bas");if(r)goto S_39508;}
do{
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4795=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4796=*(long double*)(((char*)_FUNC_TERM_UDT_NUM)+((0+0)))+*(long double*)(((char*)_FUNC_TERM_UDT_STATE)+((0+8)))));
if(!qbevent)break;evnt(28169,500,"const_eval.bas");}while(r);
S_39510:;
}else{
if ((*(int32*)(((char*)_FUNC_TERM_UDT_NUM)+((0+56)))&*__LONG_ISUNSIGNED)|(*(int32*)(((char*)_FUNC_TERM_UDT_STATE)+((0+64)))&*__LONG_ISUNSIGNED)){
if(qbevent){evnt(28169,501,"const_eval.bas");if(r)goto S_39510;}
do{
SUB_PARSENUMSETUI((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4797=*__LONG_UINTEGER64TYPE-*__LONG_ISPOINTER),&(pass4798=*(uint64*)(((char*)_FUNC_TERM_UDT_NUM)+((0+40)))+*(uint64*)(((char*)_FUNC_TERM_UDT_STATE)+((0+48)))));
if(!qbevent)break;evnt(28169,502,"const_eval.bas");}while(r);
}else{
do{
SUB_PARSENUMSETI((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4799=*__LONG_INTEGER64TYPE-*__LONG_ISPOINTER),&(pass4800=*(int64*)(((char*)_FUNC_TERM_UDT_NUM)+((0+32)))+*(int64*)(((char*)_FUNC_TERM_UDT_STATE)+((0+40)))));
if(!qbevent)break;evnt(28169,504,"const_eval.bas");}while(r);
}
}
S_39515:;
}else{
if (qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_TERM_STRING_ELE,qbs_new_txt_len("-",1)))){
if(qbevent){evnt(28169,506,"const_eval.bas");if(r)goto S_39515;}
do{
qbs_set(_FUNC_TERM_STRING_ELE,FUNC_GETNEXTELEMENT(_FUNC_TERM_STRING_EXP,(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ),(int32*)(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+4)) )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,507,"const_eval.bas");}while(r);
S_39517:;
if ((qbs_cleanup(qbs_tmp_base,-(FUNC_PARSEMOD(_FUNC_TERM_STRING_EXP,(void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ))== 0 )))||is_error_pending()){
if(qbevent){evnt(28169,508,"const_eval.bas");if(r)goto S_39517;}
do{
SUB_FIXUPERRORMESSAGE((void*)( ((char*)(_FUNC_TERM_UDT_STATE)) + ((0+0)) ),qbs_new_txt_len("-",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(28169,508,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,508,"const_eval.bas");}while(r);
}
S_39521:;
if (((*(int32*)(((char*)_FUNC_TERM_UDT_NUM)+((0+56)))&*__LONG_ISFLOAT)|(*(int32*)(((char*)_FUNC_TERM_UDT_STATE)+((0+64)))&*__LONG_ISFLOAT))||is_error_pending()){
if(qbevent){evnt(28169,510,"const_eval.bas");if(r)goto S_39521;}
do{
SUB_PARSENUMSETF((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4801=*__LONG_FLOATTYPE-*__LONG_ISPOINTER),&(pass4802=*(long double*)(((char*)_FUNC_TERM_UDT_NUM)+((0+0)))-*(long double*)(((char*)_FUNC_TERM_UDT_STATE)+((0+8)))));
if(!qbevent)break;evnt(28169,511,"const_eval.bas");}while(r);
S_39523:;
}else{
if ((*(int32*)(((char*)_FUNC_TERM_UDT_NUM)+((0+56)))&*__LONG_ISUNSIGNED)|(*(int32*)(((char*)_FUNC_TERM_UDT_STATE)+((0+64)))&*__LONG_ISUNSIGNED)){
if(qbevent){evnt(28169,512,"const_eval.bas");if(r)goto S_39523;}
do{
SUB_PARSENUMSETUI((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4803=*__LONG_UINTEGER64TYPE-*__LONG_ISPOINTER),&(pass4804=*(uint64*)(((char*)_FUNC_TERM_UDT_NUM)+((0+40)))-*(uint64*)(((char*)_FUNC_TERM_UDT_STATE)+((0+48)))));
if(!qbevent)break;evnt(28169,513,"const_eval.bas");}while(r);
}else{
do{
SUB_PARSENUMSETI((void*)( ((char*)(_FUNC_TERM_UDT_NUM)) + ((0+0)) ),&(pass4805=*__LONG_INTEGER64TYPE-*__LONG_ISPOINTER),&(pass4806=*(int64*)(((char*)_FUNC_TERM_UDT_NUM)+((0+32)))-*(int64*)(((char*)_FUNC_TERM_UDT_STATE)+((0+40)))));
if(!qbevent)break;evnt(28169,515,"const_eval.bas");}while(r);
}
}
}else{
do{
memcpy((((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 0),(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 0), 32);
memcpy((((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 32),(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 32), 8);
memcpy((((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 40),(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 40), 8);
qbs_set(*(qbs**)(((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 48), *(qbs**)(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 48));
memcpy((((char*)_FUNC_TERM_UDT_STATE)+((0+8))+ 56),(((char*)_FUNC_TERM_UDT_NUM)+((0+0))+ 56), 4);
if(!qbevent)break;evnt(28169,518,"const_eval.bas");}while(r);
do{
*_FUNC_TERM_LONG_TERM= -1 ;
if(!qbevent)break;evnt(28169,519,"const_eval.bas");}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(28169,520,"const_eval.bas");}while(r);
}
}
dl_continue_4794:;
}while(1);
dl_exit_4794:;
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free219.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_TERM_LONG_TERM;
}
