This is compile_to_c12.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.95) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "compile_to_c.h" int rT123is_omitted(T123 *C){ int R=0; R=!((C)->_start_position); return R; } int rT123gives_permission_to_any(T123 *C){ int R=0; R=rT123gives_permission_to(C,((T50*)/*(IRF4*/rT123class_with((T0 *)ms177)/*)*/)->_base_class_name); return R; } int rT123gives_permission_to(T123 *C,T0* a1){ int R=0; /*IF*/if (rT123is_omitted(C)) { R=1; } else if (!((C)->_list)) { } else { R=rT126gives_permission_to((T126*)(C)->_list,a1); } /*FI*//*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)a1)->_to_string); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms466); } /*FI*/return R; } void rT123make(T123 *C,T0* a1,T0* a2){ C->_start_position=a1; /*IF*/if (((int)a2)) { {T126 *n=((T126*)se_new(126)); rT126make(n,a2); C->_list=(T0 *)n;} } /*FI*/} T0* rT139name(T139 *C,int a1){ T0* R=NULL; R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_name; return R; } T0* rT139twin(T139 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT139copy((T139*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT139type(T139 *C,int a1){ T0* R=NULL; /*IF*/if (((int)(C)->_run_types)) { R=rT106item((T106*)(C)->_run_types,a1); } else { R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_type; } /*FI*/return R; } T0*oRBC139c2c_mem; T0* rT139to_runnable(T139 *C,T0* a1){ T0* R=NULL; T0* _t2=NULL; T0* _t1=NULL; int _i=0; /*IF*/if (!((C)->_run_types)) { R=(T0 *)C; {T106 *n=((T106*)se_new(106)); rT106make(n,1,((T96*)(C)->_flat_list)->_upper); C->_run_types=(T0 *)n;} _i=1; while (!((_i)>(((T106*)(C)->_run_types)->_upper))) { _t1=((T94*)rT96item((T96*)(C)->_flat_list,_i))->_type; _t2=XrT58to_runnable(_t1,a1); /*IF*/if (!(_t2)) { rT139error(XrT58start_position(_t1),(T0 *)ms510); } else { rT106put((T106*)(C)->_run_types,_t2,_i); } /*FI*/_i=(_i)+(1); } } else { R=rT139to_runnable((T139*)rT139twin(C),a1); } /*FI*/return R; } int rT139count(T139 *C){ int R=0; R=((T96*)(C)->_flat_list)->_upper; return R; } void rT139error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT139rank_of(T139 *C,T0* a1){ int R=0; T0* _ns=NULL; _ns=XrT49to_string(a1); R=rT139count(C); while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT49to_string(rT139name(C,R)))))) { R=(R)-(1); } return R; } void rT139compile_to_c(T139 *C){ T0* _t=NULL; int _i=0; _i=rT139count(C); while (!((_i)==(0))) { _t=XrT58run_type(rT139type(C,_i)); /*(IRF3*/(((T7*)oRBC139c2c_mem)->_count)=(0); /*)*/XrT58c_type_in(_t,oRBC139c2c_mem); rT7append((T7*)oRBC139c2c_mem,(T0 *)ms856); rT7append((T7*)oRBC139c2c_mem,XrT49to_string(rT139name(C,_i))); rT7extend((T7*)oRBC139c2c_mem,'\75'); rT43put_string((T43*)oRBC27cpp,oRBC139c2c_mem); XrT58c_initialize(_t); rT43put_string((T43*)oRBC27cpp,(T0 *)ms858); _i=(_i)-(1); } } void rT139copy(T139 *C,T0* a1){ C->_start_position=((T139*)a1)->_start_position; C->_list=((T139*)a1)->_list; C->_flat_list=((T139*)a1)->_flat_list; } void rT139initialize_expanded(T139 *C){ T0* _rf=NULL; T0* _t=NULL; int _i=0; _i=rT139count(C); while (!((_i)==(0))) { _t=XrT58run_type(rT139type(C,_i)); /*IF*/if (XrT58is_expanded(_t)) { /*IF*/if (!(XrT58fast_mapping_c(_t))) { _rf=rT50expanded_initializer((T50*)XrT58base_class(_t),_t); /*IF*/if (((int)_rf)) { rT43push_local_expanded((T43*)oRBC27cpp,XrT49to_string(rT139name(C,_i))); XrT262mapping_c(_rf); rT43pop((T43*)oRBC27cpp); /*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,XrT262current_type(_rf))) { rT43put_character((T43*)oRBC27cpp,'\46'); rT43put_local_name((T43*)oRBC27cpp,XrT49to_string(rT139name(C,_i))); rT43call_invariant_end((T43*)oRBC27cpp); rT43put_semicolon((T43*)oRBC27cpp); } /*FI*/} /*FI*/} /*FI*/} /*FI*/_i=(_i)-(1); } } void rT139make(T139 *C,T0* a1,T0* a2){ int _actual_count=0; int _ifl=0; int _il=0; C->_start_position=a1; C->_list=a2; _il=1; while (!((_il)>(XrT143upper((C)->_list)))) { _actual_count=(_actual_count)+(XrT95count(XrT143item((C)->_list,_il))); _il=(_il)+(1); } {T96 *n=((T96*)se_new(96)); rT96make(n,1,_actual_count); C->_flat_list=(T0 *)n;} _ifl=1; _il=1; while (!((_il)>(XrT143upper((C)->_list)))) { _ifl=XrT95put_into(XrT143item((C)->_list,_il),(C)->_flat_list,_ifl); _il=(_il)+(1); } } T0* rT160type_any(/*C*/void){ if (ofBC27type_any==0){ T0* R=NULL; ofBC27type_any=1; {T87 *n=((T87*)se_new(87)); rT87make(n,NULL); R=(T0 *)n;} oRBC27type_any=R;} return oRBC27type_any;} int rT160static_value(T160 *C){ int R=0; R=(C)->_static_value_mem; return R; } T0* rT160to_runnable(T160 *C,T0* a1){ T0* R=NULL; T0* _t=NULL; T0* _e=NULL; int _i=0; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (!((C)->_list)) { _t=rT160type_any(); } else { _i=1; while (!((_i)>(XrT81upper((C)->_list)))) { _e=XrT68to_runnable(XrT81item((C)->_list,_i),a1); /*IF*/if (!(_e)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT160error(XrT68start_position(XrT81item((C)->_list,_i)),(T0 *)ms1132); _i=(XrT81upper((C)->_list))+(1); } else { XrT81put((C)->_list,_e,_i); /*IF*/if (!(_t)) { _t=XrT68result_type(_e); } else { _t=XrT58smallest_ancestor(_t,XrT68result_type(_e)); } /*FI*/_i=(_i)+(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { {T105 *n=((T105*)se_new(105)); rT105make(n,NULL,_t); C->_result_type=(T0 *)n;} C->_result_type=rT105to_runnable((T105*)(C)->_result_type,(C)->_current_type); rT261set_at_run_time((T261*)rT105run_class((T105*)(C)->_result_type)); R=(T0 *)C; } /*FI*/} else { /*IF*/if (!((C)->_list)) { {T160 *n=((T160*)se_new(160)); rT160make(n,(C)->_start_position,NULL); R=(T0 *)n;} } else { {T160 *n=((T160*)se_new(160)); rT160make(n,(C)->_start_position,XrT81twin((C)->_list)); R=(T0 *)n;} } /*FI*/R=rT160to_runnable((T160*)R,a1); } /*FI*/return R; } void rT160error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT160add_comment(T160 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } else { {T221 *n=((T221*)se_new(221)); rT221make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int rT160use_current(T160 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!(((_i)>(XrT81upper((C)->_list)))||(R))) { R=XrT68use_current(XrT81item((C)->_list,_i)); _i=(_i)+(1); } } /*FI*/return R; } void rT160compile_to_c_old(T160 *C){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!((_i)>(XrT81upper((C)->_list)))) { XrT68compile_to_c_old(XrT81item((C)->_list,_i)); _i=(_i)+(1); } } /*FI*/} void rT160compile_to_c(T160 *C){ int _adr=0; T0* _elt_type=NULL; int _i=0; _elt_type=XrT58run_type(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list)); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1176); rT43put_integer((T43*)oRBC27cpp,rT105id((T105*)(C)->_result_type)); rT43put_character((T43*)oRBC27cpp,'\54'); /*IF*/if (XrT58is_reference(_elt_type)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1177); } else { rT43put_integer((T43*)oRBC27cpp,XrT58id(_elt_type)); rT43put_character((T43*)oRBC27cpp,'\54'); } /*FI*//*IF*/if (!((C)->_list)) { rT43put_character((T43*)oRBC27cpp,'0'); } else { _adr=((XrT58is_expanded(_elt_type))&&(!(XrT58fast_mapping_c(_elt_type)))); rT43put_integer((T43*)oRBC27cpp,XrT81upper((C)->_list)); _i=1; while (!((_i)>(XrT81upper((C)->_list)))) { rT43put_character((T43*)oRBC27cpp,'\54'); /*IF*/if (_adr) { rT43put_character((T43*)oRBC27cpp,'\46'); } /*FI*/XrT68compile_to_c(XrT81item((C)->_list,_i)); _i=(_i)+(1); } } /*FI*/rT43put_character((T43*)oRBC27cpp,'\51'); } int rT160to_integer(T160 *C){ int R=0; rT160error((C)->_start_position,(T0 *)ms169); return R; } T0* rT160written_in(T160 *C){ T0* R=NULL; T0* _sp=NULL; _sp=(C)->_start_position; /*IF*/if (((int)_sp)) { R=((T46*)_sp)->_base_class_name; } /*FI*/return R; } int rT160is_a(T160 *C,T0* a1){ int R=0; R=rT105is_a((T105*)((T105*)(C)->_result_type)->_run_type,XrT58run_type(XrT68result_type(a1))); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT160error(XrT68start_position(a1),(T0 *)ms1289); } /*FI*/return R; } int rT160is_pre_computable(T160 *C){ int R=0; T0* _e=NULL; int _i=0; /*IF*/if (!((C)->_list)) { R=1; } else if (XrT58is_string(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list))) { R=1; _i=XrT81upper((C)->_list); while (!(((!(R))||((_i)==(0))))) { _e=XrT81item((C)->_list,_i); R=XrT68is_pre_computable(_e); _i=(_i)-(1); } } /*FI*/return R; } void rT160make(T160 *C,T0* a1,T0* a2){ C->_start_position=a1; C->_list=a2; } void rT265forth(T265 *C){ int _i=0; /*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) { C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j); } else { _i=((C)->_item_mem_i)+(1); while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); } /*FI*/C->_item_mem=((C)->_item_mem)+(1); } void rT265first(T265 *C){ int _i=0; _i=0; while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); C->_item_mem=1; } void rT265resize(T265 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT55item((T55*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT55item((T55*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n); rT55put((T55*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT265item(T265 *C,int a1){ T0* R=NULL; /*IF*/if (((C)->_item_mem)==(0)) { rT265first(C); while (!((a1)==((C)->_item_mem))) { rT265forth(C); } R=XrT266item((C)->_store,(C)->_item_mem_j); } else if (((C)->_item_mem)<=(a1)) { while (!((a1)==((C)->_item_mem))) { rT265forth(C); } R=XrT266item((C)->_store,(C)->_item_mem_j); } else { C->_item_mem=0; R=rT265item(C,a1); } /*FI*/return R; } T0* rT265at(T265 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT265has(C,a1); R=XrT266item((C)->_store,(C)->_has_mem); return R; } void rT265put(T265 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(XrT266count((C)->_store))) { rT265expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); XrT266put((C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT55item((T55*)(C)->_chain,(C)->_free); rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem); rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT265resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { XrT266put((C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } int rT265has(T265 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT265expand(T265 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=XrT266count((C)->_store); rT55resize((T55*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); XrT266resize((C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } void rT265make(T265 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T55 *n=((T55*)se_new(55)); rT55make(n,1,16); C->_chain=(T0 *)n;} {T266 *n=((T266*)se_new(266)); rT266make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT55put((T55*)(C)->_buckets,0,_i); _i=(_i)+(1); } } void rT263forth(T263 *C){ int _i=0; /*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) { C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j); } else { _i=((C)->_item_mem_i)+(1); while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); } /*FI*/C->_item_mem=((C)->_item_mem)+(1); } void rT263first(T263 *C){ int _i=0; _i=0; while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); C->_item_mem=1; } void rT263resize(T263 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT55item((T55*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT55item((T55*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n); rT55put((T55*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT263item(T263 *C,int a1){ T0* R=NULL; /*IF*/if (((C)->_item_mem)==(0)) { rT263first(C); while (!((a1)==((C)->_item_mem))) { rT263forth(C); } R=rT264item((T264*)(C)->_store,(C)->_item_mem_j); } else if (((C)->_item_mem)<=(a1)) { while (!((a1)==((C)->_item_mem))) { rT263forth(C); } R=rT264item((T264*)(C)->_store,(C)->_item_mem_j); } else { C->_item_mem=0; R=rT263item(C,a1); } /*FI*/return R; } T0* rT263at(T263 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT263has(C,a1); R=rT264item((T264*)(C)->_store,(C)->_has_mem); return R; } void rT263put(T263 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT264count((T264*)(C)->_store))) { rT263expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); rT264put((T264*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT55item((T55*)(C)->_chain,(C)->_free); rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem); rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT263resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT264put((T264*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } void rT263expand(T263 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT264count((T264*)(C)->_store); rT55resize((T55*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); rT264resize((T264*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } int rT263has(T263 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT263make(T263 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T55 *n=((T55*)se_new(55)); rT55make(n,1,16); C->_chain=(T0 *)n;} {T264 *n=((T264*)se_new(264)); rT264make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT55put((T55*)(C)->_buckets,0,_i); _i=(_i)+(1); } } void rT61resize(T61 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT55item((T55*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT55item((T55*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n); rT55put((T55*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT61at(T61 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT61has(C,a1); R=XrT63item((C)->_store,(C)->_has_mem); return R; } void rT61put(T61 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(XrT63count((C)->_store))) { rT61expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); XrT63put((C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT55item((T55*)(C)->_chain,(C)->_free); rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem); rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT61resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { XrT63put((C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } void rT61expand(T61 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=XrT63count((C)->_store); rT55resize((T55*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); XrT63resize((C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } int rT61has(T61 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT61make(T61 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T55 *n=((T55*)se_new(55)); rT55make(n,1,16); C->_chain=(T0 *)n;} {T63 *n=((T63*)se_new(63)); rT63make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT55put((T55*)(C)->_buckets,0,_i); _i=(_i)+(1); } } void rT57resize(T57 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT55item((T55*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT55item((T55*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n); rT55put((T55*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT57at(T57 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT57has(C,a1); R=rT34item((T34*)(C)->_store,(C)->_has_mem); return R; } void rT57put(T57 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT34count((T34*)(C)->_store))) { rT57expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); rT34put((T34*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT55item((T55*)(C)->_chain,(C)->_free); rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem); rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT57resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT34put((T34*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } void rT57expand(T57 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT34count((T34*)(C)->_store); rT55resize((T55*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); rT34resize((T34*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } int rT57has(T57 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT57make(T57 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T55 *n=((T55*)se_new(55)); rT55make(n,1,16); C->_chain=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT55put((T55*)(C)->_buckets,0,_i); _i=(_i)+(1); } } void rT54forth(T54 *C){ int _i=0; /*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) { C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j); } else { _i=((C)->_item_mem_i)+(1); while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); } /*FI*/C->_item_mem=((C)->_item_mem)+(1); } void rT54first(T54 *C){ int _i=0; _i=0; while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i); C->_item_mem=1; } void rT54resize(T54 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT55item((T55*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT55item((T55*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n); rT55put((T55*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT54item(T54 *C,int a1){ T0* R=NULL; /*IF*/if (((C)->_item_mem)==(0)) { rT54first(C); while (!((a1)==((C)->_item_mem))) { rT54forth(C); } R=rT56item((T56*)(C)->_store,(C)->_item_mem_j); } else if (((C)->_item_mem)<=(a1)) { while (!((a1)==((C)->_item_mem))) { rT54forth(C); } R=rT56item((T56*)(C)->_store,(C)->_item_mem_j); } else { C->_item_mem=0; R=rT54item(C,a1); } /*FI*/return R; } T0* rT54at(T54 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT54has(C,a1); R=rT56item((T56*)(C)->_store,(C)->_has_mem); return R; } void rT54put(T54 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT56count((T56*)(C)->_store))) { rT54expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); rT56put((T56*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT55item((T55*)(C)->_chain,(C)->_free); rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem); rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT54resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT56put((T56*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } void rT54expand(T54 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT56count((T56*)(C)->_store); rT55resize((T55*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); rT56resize((T56*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } int rT54has(T54 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT54make(T54 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T55 *n=((T55*)se_new(55)); rT55make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T55 *n=((T55*)se_new(55)); rT55make(n,1,16); C->_chain=(T0 *)n;} {T56 *n=((T56*)se_new(56)); rT56make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT55count((T55*)(C)->_chain)))) { rT55put((T55*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT55put((T55*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT55put((T55*)(C)->_buckets,0,_i); _i=(_i)+(1); } } T0* rT248current_type(T248 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT248fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT248to_runnable(T248 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_run_compound)) { rT248check_writable(C,a1); rT248check_explicit_type(C); rT248check_created_type(C,(C)->_type); rT248check_creation_clause(C,(C)->_type); R=(T0 *)C; } else { {T248 *n=((T248*)se_new(248)); rT248make(n,(C)->_start_position,(C)->_type,(C)->_writable,(C)->_call); R=(T0 *)n;} R=rT248to_runnable((T248*)R,a1); } /*FI*/return R; } void rT248error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT248add_comment(T248 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } /*AF*/else { {T217 *n=((T217*)se_new(217)); rT217make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int rT248use_current(T248 *C){ int R=0; /*IF*/if (((int)(C)->_run_args)) { R=rT171use_current((T171*)(C)->_run_args); } /*FI*/R=(R)||(XrT68use_current((C)->_writable)); return R; } void rT248compile_to_c(T248 *C){ int _id=0; _id=XrT58id((C)->_type); rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1351); rT43put_integer((T43*)oRBC27cpp,_id); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1352); rT43put_new_id((T43*)oRBC27cpp,_id); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1353); rT43expanded_attributes((T43*)oRBC27cpp,(T0 *)ms1354,NULL,(C)->_type); rT43push_new((T43*)oRBC27cpp,(C)->_run_feature,(C)->_run_args); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); XrT68compile_to_c((C)->_writable); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1355); rT248call_invariant(C,(C)->_type); rT43rs_pop_position((T43*)oRBC27cpp); } void rT248call_invariant(T248 *C,T0* a1){ /*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) { XrT58mapping_cast(a1); XrT68compile_to_c((C)->_writable); rT43call_invariant_end((T43*)oRBC27cpp); rT43put_character((T43*)oRBC27cpp,'\73'); } /*FI*/} int rT248arg_count(T248 *C){ int R=0; /*IF*/if (((int)(C)->_call)) { R=XrT178arg_count((C)->_call); } /*FI*/return R; } int rT248is_pre_computable(T248 *C){ int R=0; T0* _rfctn=NULL; T0* _rfct=NULL; int _i=0; /*IF*/if (XrT68is_result((C)->_writable)) { /*IF*/if (!((C)->_run_args)) { R=1; } else { R=1; _i=rT171count((T171*)(C)->_run_args); while (!((!(R))||((_i)==(0)))) { R=XrT68is_pre_computable(rT171expression((T171*)(C)->_run_args,_i)); _i=(_i)-(1); } } /*FI*//*IF*/if (R) { /*IF*/if (XrT262is_pre_computable((C)->_run_feature)) { R=1; } else if (rT7is_equal(ms1602,XrT67to_string(XrT262name((C)->_run_feature)))) { _rfct=XrT262current_type((C)->_run_feature); R=(XrT58is_array(_rfct))||(XrT58is_string(_rfct)); /*IF*/if (!(R)) { _rfctn=XrT58run_time_mark(_rfct); R=(rT7has_prefix((T7*)_rfctn,(T0 *)ms1603))||(rT7has_prefix((T7*)_rfctn,(T0 *)ms1604)); } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } void rT248check_creation_clause(T248 *C,T0* a1){ T0* _proc_name=NULL; _proc_name=XrT178feature_name((C)->_call); /*IF*/if (!(XrT58has_creation(a1,_proc_name))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position(_proc_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string(_proc_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1282); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { C->_run_feature=rT261get_feature((T261*)XrT58run_class(a1),_proc_name); /*IF*/if (!((C)->_run_feature)) { rT248error(XrT67start_position(_proc_name),(T0 *)ms1283); } else { XrT262add_clients((C)->_run_feature,rT140run_class((T140*)(C)->_run_compound)); /*IF*/if (((int)XrT262result_type((C)->_run_feature))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); rT248error(XrT67start_position(_proc_name),(T0 *)ms1284); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((rT248arg_count(C))==(0))&&(((int)XrT262arguments((C)->_run_feature)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); rT248error((C)->_start_position,(T0 *)ms1285); } /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((rT248arg_count(C))>(0))) { C->_run_args=rT171to_runnable((T171*)XrT178arguments((C)->_call),rT248current_type(C)); /*IF*/if (!((C)->_run_args)) { rT248error(rT171start_position((T171*)XrT178arguments((C)->_call)),(T0 *)ms1286); } else { rT171match_with((T171*)(C)->_run_args,(C)->_run_feature); } /*FI*/} /*FI*/} /*FI*/} void rT248check_created_type(T248 *C,T0* a1){ T0* _rt=NULL; _rt=XrT58run_type(a1); /*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(_rt,(T0 *)ms1271); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT248fatal_error((T0 *)ms1272); } /*FI*//*IF*/if (XrT58is_expanded(_rt)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1273); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1274); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*//*IF*/if (XrT58is_formal_generic(a1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1275); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1276); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt)); } void rT248check_explicit_type(T248 *C){ T0* _t=NULL; _t=XrT58to_runnable((C)->_type,rT248current_type(C)); /*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT58start_position((C)->_type)); rT248fatal_error((T0 *)ms1280); } /*FI*//*IF*/if (!(XrT58is_a((C)->_type,XrT68result_type((C)->_writable)))) { rT248fatal_error((T0 *)ms1281); } /*FI*/} void rT248check_writable(T248 *C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=XrT68to_runnable((C)->_writable,rT248current_type(C)); /*IF*/if (!(_w)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_writable)); rT248fatal_error((T0 *)ms1270); } else { C->_writable=_w; } /*FI*/} void rT248make(T248 *C,T0* a1,T0* a2,T0* a3,T0* a4){ C->_start_position=a1; C->_type=a2; C->_writable=a3; C->_call=a4; } T0* rT246current_type(T246 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT246fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT246to_runnable(T246 *C,T0* a1){ T0* R=NULL; T0* _t=NULL; /*IF*/if (!((C)->_run_compound)) { rT246check_writable(C,a1); _t=XrT68result_type((C)->_writable); rT246check_created_type(C,_t); rT246check_creation_clause(C,_t); R=(T0 *)C; } else { {T246 *n=((T246*)se_new(246)); rT246make(n,(C)->_start_position,(C)->_writable,(C)->_call); R=(T0 *)n;} R=rT246to_runnable((T246*)R,a1); } /*FI*/return R; } void rT246error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT246add_comment(T246 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } /*AF*/else { {T217 *n=((T217*)se_new(217)); rT217make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int rT246use_current(T246 *C){ int R=0; /*IF*/if (((int)(C)->_run_args)) { R=rT171use_current((T171*)(C)->_run_args); } /*FI*/R=(R)||(XrT68use_current((C)->_writable)); return R; } void rT246compile_to_c(T246 *C){ int _id=0; T0* _t=NULL; rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position); _t=XrT58run_type(XrT68result_type((C)->_writable)); _id=XrT58id(_t); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1346); rT43put_integer((T43*)oRBC27cpp,_id); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1347); rT43put_new_id((T43*)oRBC27cpp,_id); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1348); rT43expanded_attributes((T43*)oRBC27cpp,(T0 *)ms1349,NULL,_t); rT43push_new((T43*)oRBC27cpp,(C)->_run_feature,(C)->_run_args); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); XrT68compile_to_c((C)->_writable); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1350); rT246call_invariant(C,_t); rT43rs_pop_position((T43*)oRBC27cpp); } void rT246call_invariant(T246 *C,T0* a1){ /*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) { XrT58mapping_cast(a1); XrT68compile_to_c((C)->_writable); rT43call_invariant_end((T43*)oRBC27cpp); rT43put_character((T43*)oRBC27cpp,'\73'); } /*FI*/} int rT246arg_count(T246 *C){ int R=0; /*IF*/if (((int)(C)->_call)) { R=XrT178arg_count((C)->_call); } /*FI*/return R; } int rT246is_pre_computable(T246 *C){ int R=0; T0* _rfctn=NULL; T0* _rfct=NULL; int _i=0; /*IF*/if (XrT68is_result((C)->_writable)) { /*IF*/if (!((C)->_run_args)) { R=1; } else { R=1; _i=rT171count((T171*)(C)->_run_args); while (!((!(R))||((_i)==(0)))) { R=XrT68is_pre_computable(rT171expression((T171*)(C)->_run_args,_i)); _i=(_i)-(1); } } /*FI*//*IF*/if (R) { /*IF*/if (XrT262is_pre_computable((C)->_run_feature)) { R=1; } else if (rT7is_equal(ms1602,XrT67to_string(XrT262name((C)->_run_feature)))) { _rfct=XrT262current_type((C)->_run_feature); R=(XrT58is_array(_rfct))||(XrT58is_string(_rfct)); /*IF*/if (!(R)) { _rfctn=XrT58run_time_mark(_rfct); R=(rT7has_prefix((T7*)_rfctn,(T0 *)ms1603))||(rT7has_prefix((T7*)_rfctn,(T0 *)ms1604)); } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } void rT246check_creation_clause(T246 *C,T0* a1){ T0* _proc_name=NULL; _proc_name=XrT178feature_name((C)->_call); /*IF*/if (!(XrT58has_creation(a1,_proc_name))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position(_proc_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string(_proc_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1282); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { C->_run_feature=rT261get_feature((T261*)XrT58run_class(a1),_proc_name); /*IF*/if (!((C)->_run_feature)) { rT246error(XrT67start_position(_proc_name),(T0 *)ms1283); } else { XrT262add_clients((C)->_run_feature,rT140run_class((T140*)(C)->_run_compound)); /*IF*/if (((int)XrT262result_type((C)->_run_feature))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); rT246error(XrT67start_position(_proc_name),(T0 *)ms1284); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((rT246arg_count(C))==(0))&&(((int)XrT262arguments((C)->_run_feature)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); rT246error((C)->_start_position,(T0 *)ms1285); } /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((rT246arg_count(C))>(0))) { C->_run_args=rT171to_runnable((T171*)XrT178arguments((C)->_call),rT246current_type(C)); /*IF*/if (!((C)->_run_args)) { rT246error(rT171start_position((T171*)XrT178arguments((C)->_call)),(T0 *)ms1286); } else { rT171match_with((T171*)(C)->_run_args,(C)->_run_feature); } /*FI*/} /*FI*/} /*FI*/} void rT246check_created_type(T246 *C,T0* a1){ T0* _rt=NULL; _rt=XrT58run_type(a1); /*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(_rt,(T0 *)ms1271); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT246fatal_error((T0 *)ms1272); } /*FI*//*IF*/if (XrT58is_expanded(_rt)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1273); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1274); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*//*IF*/if (XrT58is_formal_generic(a1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1275); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1276); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt)); } void rT246check_writable(T246 *C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=XrT68to_runnable((C)->_writable,rT246current_type(C)); /*IF*/if (!(_w)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_writable)); rT246fatal_error((T0 *)ms1270); } else { C->_writable=_w; } /*FI*/} void rT246make(T246 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_writable=a2; C->_call=a3; } T0* rT244current_type(T244 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT244fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT244to_runnable(T244 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_run_compound)) { rT244check_writable(C,a1); rT244check_explicit_type(C); rT244check_created_type(C,(C)->_type); rT244check_creation_clause(C,(C)->_type); R=(T0 *)C; } else { {T244 *n=((T244*)se_new(244)); rT244make(n,(C)->_start_position,(C)->_type,(C)->_writable); R=(T0 *)n;} R=rT244to_runnable((T244*)R,a1); } /*FI*/return R; } void rT244error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT244add_comment(T244 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } /*AF*/else { {T217 *n=((T217*)se_new(217)); rT217make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int rT244use_current(T244 *C){ int R=0; R=XrT68use_current((C)->_writable); return R; } void rT244compile_to_c(T244 *C){ rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position); XrT68compile_to_c((C)->_writable); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1344); rT43put_new((T43*)oRBC27cpp,(C)->_type); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1345); rT43expanded_attributes((T43*)oRBC27cpp,NULL,(C)->_writable,(C)->_type); rT244call_invariant(C,(C)->_type); rT43rs_pop_position((T43*)oRBC27cpp); } void rT244call_invariant(T244 *C,T0* a1){ /*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) { XrT58mapping_cast(a1); XrT68compile_to_c((C)->_writable); rT43call_invariant_end((T43*)oRBC27cpp); rT43put_character((T43*)oRBC27cpp,'\73'); } /*FI*/} int rT244is_pre_computable(T244 *C){ int R=0; T0* _args=NULL; int _i=0; R=XrT68is_result((C)->_writable); return R; } void rT244check_creation_clause(T244 *C,T0* a1){ /*IF*/if (rT50has_creation_clause((T50*)XrT58base_class(a1))) { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1277); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1278); rT244error((C)->_start_position,(T0 *)ms1279); } /*FI*/} void rT244check_created_type(T244 *C,T0* a1){ T0* _rt=NULL; _rt=XrT58run_type(a1); /*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(_rt,(T0 *)ms1271); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT244fatal_error((T0 *)ms1272); } /*FI*//*IF*/if (XrT58is_expanded(_rt)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1273); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1274); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*//*IF*/if (XrT58is_formal_generic(a1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1275); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1276); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt)); } void rT244check_explicit_type(T244 *C){ T0* _t=NULL; _t=XrT58to_runnable((C)->_type,rT244current_type(C)); /*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT58start_position((C)->_type)); rT244fatal_error((T0 *)ms1280); } /*FI*//*IF*/if (!(XrT58is_a((C)->_type,XrT68result_type((C)->_writable)))) { rT244fatal_error((T0 *)ms1281); } /*FI*/} void rT244check_writable(T244 *C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=XrT68to_runnable((C)->_writable,rT244current_type(C)); /*IF*/if (!(_w)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_writable)); rT244fatal_error((T0 *)ms1270); } else { C->_writable=_w; } /*FI*/} void rT244make(T244 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_type=a2; C->_writable=a3; } T0* rT241current_type(T241 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT241fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT241to_runnable(T241 *C,T0* a1){ T0* R=NULL; T0* _t=NULL; /*IF*/if (!((C)->_run_compound)) { rT241check_writable(C,a1); _t=XrT68result_type((C)->_writable); rT241check_created_type(C,_t); rT241check_creation_clause(C,_t); R=(T0 *)C; } else { {T241 *n=((T241*)se_new(241)); rT241make(n,(C)->_start_position,(C)->_writable); R=(T0 *)n;} R=rT241to_runnable((T241*)R,a1); } /*FI*/return R; } void rT241error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT241add_comment(T241 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } /*AF*/else { {T217 *n=((T217*)se_new(217)); rT217make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int rT241use_current(T241 *C){ int R=0; R=XrT68use_current((C)->_writable); return R; } void rT241compile_to_c(T241 *C){ T0* _t=NULL; rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position); _t=XrT58run_type(XrT68result_type((C)->_writable)); XrT68compile_to_c((C)->_writable); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1342); rT43put_new((T43*)oRBC27cpp,_t); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1343); rT43expanded_attributes((T43*)oRBC27cpp,NULL,(C)->_writable,_t); rT241call_invariant(C,_t); rT43rs_pop_position((T43*)oRBC27cpp); } void rT241call_invariant(T241 *C,T0* a1){ /*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) { XrT58mapping_cast(a1); XrT68compile_to_c((C)->_writable); rT43call_invariant_end((T43*)oRBC27cpp); rT43put_character((T43*)oRBC27cpp,'\73'); } /*FI*/} int rT241is_pre_computable(T241 *C){ int R=0; T0* _args=NULL; int _i=0; R=XrT68is_result((C)->_writable); return R; } void rT241check_creation_clause(T241 *C,T0* a1){ /*IF*/if (rT50has_creation_clause((T50*)XrT58base_class(a1))) { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1277); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1278); rT241error((C)->_start_position,(T0 *)ms1279); } /*FI*/} void rT241check_created_type(T241 *C,T0* a1){ T0* _rt=NULL; _rt=XrT58run_type(a1); /*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(_rt,(T0 *)ms1271); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT241fatal_error((T0 *)ms1272); } /*FI*//*IF*/if (XrT58is_expanded(_rt)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1273); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1274); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*//*IF*/if (XrT58is_formal_generic(a1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1275); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1276); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt)); } void rT241check_writable(T241 *C,T0* a1){ T0* _w=NULL; C->_run_compound=a1; _w=XrT68to_runnable((C)->_writable,rT241current_type(C)); /*IF*/if (!(_w)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_writable)); rT241fatal_error((T0 *)ms1270); } else { C->_writable=_w; } /*FI*/} void rT241make(T241 *C,T0* a1,T0* a2){ C->_start_position=a1; C->_writable=a2; } T0* rT216current_type(T216 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } T0* rT216to_runnable(T216 *C,T0* a1){ T0* R=NULL; /*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) { C->_run_compound=a1; R=(T0 *)C; } else if (!((C)->_run_compound)) { C->_run_compound=a1; /*IF*/if (((int)(C)->_compound)) { C->_compound=rT140to_runnable((T140*)(C)->_compound,rT216current_type(C)); } /*FI*/R=(T0 *)C; } else if (((T0 *)(C)->_run_compound)==((T0 *)a1)) { R=(T0 *)C; } else { {T216 *n=((T216*)se_new(216)); rT216make(n,(C)->_start_position,(C)->_list,(C)->_compound); R=(T0 *)n;} R=rT216to_runnable((T216*)R,a1); } /*FI*/return R; } T0* rT216add_comment(T216 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } else {/*AT*//*IF*/if ((rT59count((T59*)a1))==(1)) { R=(T0 *)C; } else { {T217 *n=((T217*)se_new(217)); rT217make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/} /*FI*/return R; } int rT216use_current(T216 *C){ int R=0; /*IF*/if (rT44all_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_compound)) { R=rT140use_current((T140*)(C)->_compound); } /*FI*/} /*FI*/return R; } void rT216compile_to_c(T216 *C){ /*IF*/if (rT44all_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_compound)) { rT140compile_to_c((T140*)(C)->_compound); } /*FI*/} /*FI*/} void rT216make(T216 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_list=a2; C->_compound=a3; } void rT132fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT132start_position(T132 *C){ T0* R=NULL; R=XrT67start_position(rT128item((T128*)(C)->_procedure_list,1)); return R; } T0* rT132expanded_initializer(T132 *C,T0* a1){ T0* R=NULL; R=rT261get_feature((T261*)XrT58run_class(a1),rT128item((T128*)(C)->_procedure_list,1)); return R; } int rT132has(T132 *C,T0* a1){ int R=0; R=rT128has((T128*)(C)->_procedure_list,a1); return R; } void rT132check_expanded_with(T132 *C,T0* a1){ T0* _rf3=NULL; T0* _rf=NULL; /*IF*/if ((rT128count((T128*)(C)->_procedure_list))>(1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1440); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position(C)); /*(IRF3*/rT132fatal_error((T0 *)ms1439); /*)*/} /*FI*/_rf=rT261get_feature((T261*)XrT58run_class(a1),rT128item((T128*)(C)->_procedure_list,1)); /*IF*/if (!(_rf)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position(C)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1441); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1442); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/_rf3=_rf; if ((int)_rf3) switch (((T0 *)_rf3)->id) { case 267: break; default: _rf3 = NULL; };/*IF*/if (!(_rf3)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position(C)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position(_rf)); rT132fatal_error((T0 *)ms1443); } /*FI*//*IF*/if ((rT267arg_count((T267*)_rf3))>(0)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1444); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position(C)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT267start_position((T267*)_rf3)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1445); /*(IRF3*/rT132fatal_error((T0 *)ms1439); /*)*/} /*FI*/} void rT132make(T132 *C,T0* a1,T0* a2,T0* a3){ C->_clients=a1; C->_comment=a2; {T128 *n=((T128*)se_new(128)); rT128make(n,a3); C->_procedure_list=(T0 *)n;} } T0* rT133get_clause(T133 *C,T0* a1){ T0* R=NULL; int _i=0; _i=1; while (!(((_i)>(((T134*)(C)->_list)->_upper))||(rT132has((T132*)rT134item((T134*)(C)->_list,_i),a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)<=(((T134*)(C)->_list)->_upper)) { R=rT134item((T134*)(C)->_list,_i); } /*FI*/return R; } void rT133fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } void rT133add_last(T133 *C,T0* a1){ rT134add_last((T134*)(C)->_list,a1); } T0* rT133expanded_initializer(T133 *C,T0* a1){ T0* R=NULL; R=rT132expanded_initializer((T132*)rT134item((T134*)(C)->_list,1),a1); return R; } void rT133check_expanded_with(T133 *C,T0* a1){ /*IF*/if ((((T134*)(C)->_list)->_upper)>(1)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1438); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position((T132*)rT134item((T134*)(C)->_list,1))); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT132start_position((T132*)rT134item((T134*)(C)->_list,2))); /*(IRF3*/rT133fatal_error((T0 *)ms1439); /*)*/} /*FI*/rT132check_expanded_with((T132*)rT134item((T134*)(C)->_list,1),a1); } T0* rT223to_runnable(T223 *C,T0* a1){ T0* R=NULL; int _i=0; int _ne=0; /*IF*/if (((int)(C)->_run_compound)) { {T223 *n=((T223*)se_new(223)); /*(IRF3*/((n)->_list)=(rT224twin((T224*)(C)->_list)); /*)*/R=(T0 *)n;} R=rT223to_runnable((T223*)R,a1); } else { C->_run_compound=a1; _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; _i=1; while (!((((_i)>(((T224*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0))))) { rT224put((T224*)(C)->_list,rT222to_runnable((T222*)rT224item((T224*)(C)->_list,_i),a1),_i); _i=(_i)+(1); } R=(T0 *)C; } /*FI*/return R; } int rT223use_current(T223 *C){ int R=0; int _i=0; _i=1; while (!(((_i)>(((T224*)(C)->_list)->_upper))||(R))) { R=rT222use_current((T222*)rT224item((T224*)(C)->_list,_i)); _i=(_i)+(1); } return R; } void rT223add_last(T223 *C,T0* a1){ rT224add_last((T224*)(C)->_list,a1); } int rT223compile_to_c(T223 *C){ int R=0; int _i=0; int _previous=0; int _state=0; _i=1; while (!((_state)==(2))) { {int iv1=_state; if (0 == iv1) goto l476; goto l477; l476: ; /*IF*/if ((_i)>(((T224*)(C)->_list)->_upper)) { _state=2; R=_previous; } else { _previous=rT222compile_to_c((T222*)rT224item((T224*)(C)->_list,_i),0); {int iv2=_previous; if (1012 == iv2) goto l479; goto l480; l479: ; _state=1; goto l478; l480: ; if (1011 == iv2) goto l481; goto l482; l481: ; goto l478; l482: ; if (1010 == iv2) goto l483; goto l484; l483: ; R=1010; _state=2; goto l478; l484: ; l478: ; } } /*FI*/goto l475; l477: ; /*IF*/if ((_i)>(((T224*)(C)->_list)->_upper)) { _state=2; {int iv2=_previous; if (1010 == iv2) goto l486; goto l487; l486: ; R=1010; goto l485; l487: ; R=1012; l485: ; } } else { _previous=rT222compile_to_c((T222*)rT224item((T224*)(C)->_list,_i),1); {int iv2=_previous; if (1012 == iv2) goto l489; goto l490; l489: ; goto l488; l490: ; if (1011 == iv2) goto l491; goto l492; l491: ; goto l488; l492: ; if (1010 == iv2) goto l493; goto l494; l493: ; _state=2; R=1010; goto l488; l494: ; l488: ; } } /*FI*/ l475: ; } _i=(_i)+(1); } return R; } T0* rT222current_type(T222 *C){ T0* R=NULL; R=((T140*)(C)->_run_compound)->_current_type; return R; } T0* rT222to_runnable(T222 *C,T0* a1){ T0* R=NULL; T0* _t=NULL; T0* _tc=NULL; T0* _e=NULL; /*IF*/if (!((C)->_run_compound)) { C->_run_compound=a1; _e=XrT68to_runnable((C)->_expression,rT222current_type(C)); /*IF*/if (!(_e)) { rT222error(XrT68start_position((C)->_expression),(T0 *)ms1256); } else { C->_expression=_e; _t=XrT68result_type((C)->_expression); /*IF*/if (!(XrT58is_boolean(_t))) { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1257); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(XrT68result_type((C)->_expression),(T0 *)ms475); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_expression)); rT45print_as_error((T45*)oRBC27eh); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_then_compound)) { _tc=rT140to_runnable((T140*)(C)->_then_compound,rT222current_type(C)); /*IF*/if (((int)_tc)) { C->_then_compound=_tc; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { {T222 *n=((T222*)se_new(222)); rT222make(n,(C)->_expression,(C)->_then_compound); R=(T0 *)n;} R=rT222to_runnable((T222*)R,a1); } /*FI*/return R; } void rT222error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT222print_else(/*C*/int a1){ /*IF*/if (a1) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1302); } /*FI*/} int rT222use_current(T222 *C){ int R=0; R=XrT68use_current((C)->_expression); /*IF*/if ((!(R))&&(((int)(C)->_then_compound))) { R=rT140use_current((T140*)(C)->_then_compound); } /*FI*/return R; } int rT222compile_to_c(T222 *C,int a1){ int R=0; int _trace=0; /*IF*/if (XrT68is_static((C)->_expression)) { R=XrT68static_value((C)->_expression); rT43incr_static_expression_count((T43*)oRBC27cpp); /*IF*/if ((R)==(1)) { rT222print_else(a1); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1303); /*IF*/if (((int)(C)->_then_compound)) { rT140compile_to_c((T140*)(C)->_then_compound); } /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1304); R=1010; } else { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1305); R=1011; } /*FI*/} else { R=1012; _trace=(!(XrT68c_simple((C)->_expression)))&&(rT44no_check((T44*)oRBC27eiffel_run_control)); rT222print_else(a1); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1306); /*IF*/if (_trace) { rT43trace_boolean_expression((T43*)oRBC27cpp,(C)->_expression); } else { XrT68compile_to_c((C)->_expression); } /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1308); /*IF*/if (((int)(C)->_then_compound)) { rT140compile_to_c((T140*)(C)->_then_compound); } /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1309); } /*FI*/return R; } void rT222make(T222 *C,T0* a1,T0* a2){ C->_expression=a1; C->_then_compound=a2; } T0* rT219current_type(T219 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.