This is compile_to_c22.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.91) -- 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 ofBC27type_string=0; T0*oRBC27type_string; /*MANIFEST_STRING*/T0* rT80type_string(/*C*/void){ if (ofBC27type_string==0){ T0* R=NULL; ofBC27type_string=1; {T117 *n=((T117*)se_new(117)); rT117make(n,NULL); R=(T0 *)n;} oRBC27type_string=R;} return oRBC27type_string;} /*MANIFEST_STRING*/T0* rT80twin(T80 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT80copy((T80*)R,(T0 *)C); AF_0 /*FI*/return R; } /*MANIFEST_STRING*/int rT80static_value(T80 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*MANIFEST_STRING*/void rT80break_line(T80 *C){ /*IF*/if (!((C)->_break)) { C->_break=ma(59,2,1,(((T7*)(C)->_to_string)->_count)+(1)); } else { rT59add_last((T59*)(C)->_break,(((T7*)(C)->_to_string)->_count)+(1)); } /*FI*/}/*MANIFEST_STRING*/T0* rT80to_runnable(T80 *C,T0* a1){ T0* R=NULL; T0* _bc=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _bc=rT49base_class((T49*)(C)->_start_position); rT7extend((T7*)(C)->_mapping_c,'\137'); rT2append_in(((T53*)_bc)->_id,(C)->_mapping_c); rT44add_manifest_string((T0 *)C); rT80set_at_run_time(); R=(T0 *)C; } else { R=rT80twin(C); /*[IRF3:set_current_type*//*AW*/((T80*)R)->_current_type=(a1);/*]*/ } /*FI*/return R; } /*MANIFEST_STRING*/void rT80add_ascii(T80 *C,char a1){ rT7extend((T7*)(C)->_to_string,a1); /*IF*/if (!((C)->_ascii)) { C->_ascii=ma(59,2,1,((T7*)(C)->_to_string)->_count); } else { rT59add_last((T59*)(C)->_ascii,((T7*)(C)->_to_string)->_count); } /*FI*/}/*MANIFEST_STRING*/void rT80add(T80 *C,char a1){ rT7extend((T7*)(C)->_to_string,a1); }/*MANIFEST_STRING*/void rT80error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*MANIFEST_STRING*/T0* rT80add_comment(T80 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC80set_at_run_time=0; /*MANIFEST_STRING*/void rT80set_at_run_time(/*C*/void){ if (ofBC80set_at_run_time==0){ ofBC80set_at_run_time=1; rT269set_at_run_time((T269*)XrT62run_class(rT117run_type((T117*)/*(IRF4*/rT80type_string()/*)*/))); }} /*MANIFEST_STRING*/int rT80is_equal(T80 *C,T0* a1){ int R=0; R=rT80standard_is_equal(C,a1); return R; } /*MANIFEST_STRING*/void rT80from_manifest_string(T80 *C,T0* a1,int a2){ rT80copy(C,a1); C->_mapping_c=rT7twin((T7*)((T80*)a1)->_mapping_c); rT7extend((T7*)(C)->_mapping_c,'\137'); rT2append_in(a2,(C)->_mapping_c); }/*MANIFEST_STRING*/void rT80compile_to_c(T80 *C){ rT44put_string((T44*)oRBC27cpp,(C)->_mapping_c); }/*MANIFEST_STRING*/void rT80add_percent(T80 *C,char a1){ rT7extend((T7*)(C)->_to_string,a1); /*IF*/if (!((C)->_percent)) { C->_percent=ma(59,2,1,((T7*)(C)->_to_string)->_count); } else { rT59add_last((T59*)(C)->_percent,((T7*)(C)->_to_string)->_count); } /*FI*/}/*MANIFEST_STRING*/int rT80to_integer(T80 *C){ int R=0; rT80error((C)->_start_position,(T0 *)ms104_27); return R; } /*MANIFEST_STRING*/int rT80standard_is_equal(T80 *C,T0* a1){ int R=0; /*IF*//*AF*/if (((T0 *)a1)==((T0 *)C)) { R=1; } else { R=!memcmp(C,a1,s[C->id]); } /*FI*/return R; } /*MANIFEST_STRING*/void rT80copy(T80 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*MANIFEST_STRING*/int rT80is_a(T80 *C,T0* a1){ int R=0; R=XrT62is_a(rT117run_type((T117*)/*(IRF4*/rT80type_string()/*)*/),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position((C)->_start_position); rT80error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*MANIFEST_STRING*/void rT80make(T80 *C,T0* a1,int a2){ C->_start_position=a1; {T7 *n=((T7*)se_new(7)); rT7make(n,0); C->_to_string=(T0 *)n;} {T7 *n=((T7*)se_new(7)); rT7make(n,12); C->_mapping_c=(T0 *)n;} rT7copy((T7*)(C)->_mapping_c,(T0 *)ms1_80); rT2append_in(a2,(C)->_mapping_c); }/*CLIENT_LIST*/void rT125error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*CLIENT_LIST*/T0* rT125merge_with(T125 *C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (((T0 *)C)==((T0 *)a1)) { R=(T0 *)C; } else if ((rT125is_omitted(C))||(rT125gives_permission_to_any(C))) { R=(T0 *)C; } else if ((rT125is_omitted((T125*)a1))||(rT125gives_permission_to_any((T125*)a1))) { R=a1; } else { rT48add_position((C)->_start_position); rT125error(((T125*)a1)->_start_position,(T0 *)ms5_125); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a2)->_start_position); rT125error(XrT66start_position(a3),(T0 *)ms6_125); } /*FI*/return R; } /*CLIENT_LIST*/T0* rT125class_with(/*C*/T0* a1){ T0* R=NULL; R=rT55get_class(a1); return R; } /*CLIENT_LIST*/int rT125is_omitted(T125 *C){ int R=0; R=!((C)->_start_position); return R; } /*CLIENT_LIST*/int rT125gives_permission_to_any(T125 *C){ int R=0; R=rT125gives_permission_to(C,((T53*)/*(IRF4*/rT125class_with((T0 *)ms36_27)/*)*/)->_base_class_name); return R; } /*CLIENT_LIST*/int rT125gives_permission_to(T125 *C,T0* a1){ int R=0; /*IF*/if (rT125is_omitted(C)) { R=1; } else if (!((C)->_list)) { } else { R=rT128gives_permission_to((T128*)(C)->_list,a1); } /*FI*//*IF*/if (!(R)) { rT48add_position((C)->_start_position); rT48append(((T51*)a1)->_to_string); rT48append((T0 *)ms4_125); } /*FI*/return R; } /*CLIENT_LIST*/void rT125make(T125 *C,T0* a1,T0* a2){ C->_start_position=a1; /*IF*/if (((int)a2)) { {T128 *n=((T128*)se_new(128)); rT128make(n,a2); C->_list=(T0 *)n;} } /*FI*/}/*LOCAL_VAR_LIST*/T0* rT141name(T141 *C,int a1){ T0* R=NULL; R=rT187item((T187*)(C)->_flat_list,a1); return R; } /*LOCAL_VAR_LIST*/T0* rT141type(T141 *C,int a1){ T0* R=NULL; R=((T186*)rT141name(C,a1))->_result_type; return R; } T0*oRBC141c2c_mem; /*LOCAL_VAR_LIST*/void rT141fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*LOCAL_VAR_LIST*/T0* rT141to_runnable(T141 *C,T0* a1){ T0* R=NULL; T0* _n2=NULL; T0* _n1=NULL; int _i=0; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; _i=((T187*)(C)->_flat_list)->_upper; while (!((((_i)==(0))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(0))))) { _n1=rT187item((T187*)(C)->_flat_list,_i); _n2=rT186to_runnable((T186*)_n1,a1); /*IF*/if (!(_n2)) { rT141error(((T186*)_n1)->_start_position,(T0 *)ms1_98); } else if (((T0 *)_n1)!=((T0 *)_n2)) { rT187put((T187*)(C)->_flat_list,_n2,_i); } /*FI*/rT186name_clash((T186*)_n2); _i=(_i)-(1); } } else { {T141 *n=((T141*)se_new(141)); rT141from_current(n,(T0 *)C); R=(T0 *)n;} R=rT141to_runnable((T141*)R,a1); } /*FI*/return R; } /*LOCAL_VAR_LIST*/int rT141count(T141 *C){ int R=0; R=((T187*)(C)->_flat_list)->_upper; return R; } /*LOCAL_VAR_LIST*/void rT141error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*LOCAL_VAR_LIST*/int rT141rank_of(T141 *C,T0* a1){ int R=0; R=rT141count(C); while (!(((R)==(0))||(rT7is_equal((T7*)a1,((T186*)rT141name(C,R))->_to_string)))) { R=(R)-(1); } return R; } /*LOCAL_VAR_LIST*/void rT141from_current(T141 *C,T0* a1){ T0* _n=NULL; int _i=0; C->_start_position=((T141*)a1)->_start_position; C->_list=((T141*)a1)->_list; C->_flat_list=rT187twin((T187*)((T141*)a1)->_flat_list); _i=((T187*)(C)->_flat_list)->_upper; while (!((_i)==(0))) { _n=rT186twin((T186*)rT187item((T187*)(C)->_flat_list,_i)); rT186set_declaration_name((T186*)_n); /*[IRF3:set_current_type*//*AW*/((T186*)_n)->_current_type=(NULL);/*]*/ rT187put((T187*)(C)->_flat_list,_n,_i); _i=(_i)-(1); } }/*LOCAL_VAR_LIST*/void rT141add_last(T141 *C,T0* a1){ T0* _n2=NULL; int _i=0; _i=1; while (!(!(rT187item((T187*)(C)->_flat_list,_i)))) { _n2=rT187item((T187*)(C)->_flat_list,_i); /*IF*/if (rT7is_equal((T7*)((T186*)_n2)->_to_string,((T186*)a1)->_to_string)) { rT48add_position(((T186*)a1)->_start_position); rT48add_position(((T186*)_n2)->_start_position); rT141fatal_error((T0 *)ms2_98); } /*FI*/_i=(_i)+(1); } rT187put((T187*)(C)->_flat_list,a1,_i); /*[IRF3:set_rank*//*AW*/((T186*)a1)->_rank=(_i);/*]*/ }/*LOCAL_VAR_LIST*/void rT141compile_to_c(T141 *C){ T0* _t=NULL; int _i=0; _i=rT141count(C); while (!((_i)==(0))) { _t=XrT62run_type(rT141type(C,_i)); /*[IRF3:clear*//*AW*/((T7*)oRBC141c2c_mem)->_count=(0);/*]*/ XrT62c_type_in(_t,oRBC141c2c_mem); rT7append((T7*)oRBC141c2c_mem,(T0 *)ms2_141); rT7append((T7*)oRBC141c2c_mem,((T186*)rT141name(C,_i))->_to_string); rT7extend((T7*)oRBC141c2c_mem,'\75'); rT44put_string((T44*)oRBC27cpp,oRBC141c2c_mem); XrT62c_initialize(_t); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_141); _i=(_i)-(1); } }/*LOCAL_VAR_LIST*/void rT141initialize_expanded(T141 *C){ T0* _rf=NULL; T0* _t=NULL; int _i=0; _i=rT141count(C); while (!((_i)==(0))) { _t=XrT62run_type(rT141type(C,_i)); /*IF*/if (XrT62is_expanded(_t)) { /*IF*/if (!(XrT62fast_mapping_c(_t))) { _rf=rT53expanded_initializer((T53*)XrT62base_class(_t),_t); /*IF*/if (((int)_rf)) { rT44push_local_expanded((T44*)oRBC27cpp,((T186*)rT141name(C,_i))->_to_string); XrT268mapping_c(_rf); rT44pop((T44*)oRBC27cpp); /*IF*/if (rT44call_invariant_start((T44*)oRBC27cpp,/*XrT*RUN_FEATURE*/((T274*)_rf)->_current_type)) { rT44put_character((T44*)oRBC27cpp,'\46'); rT44put_local_name((T44*)oRBC27cpp,((T186*)rT141name(C,_i))->_to_string); rT44call_invariant_end((T44*)oRBC27cpp); rT44put_semicolon((T44*)oRBC27cpp); } /*FI*/} /*FI*/} /*FI*/} /*FI*/_i=(_i)-(1); } }/*LOCAL_VAR_LIST*/void rT141make(T141 *C,T0* a1,T0* a2){ int _actual_count=0; int _il=0; C->_start_position=a1; C->_list=a2; _il=1; while (!((_il)>(((T147*)(C)->_list)->_upper))) { _actual_count=(_actual_count)+(XrT143count(rT147item((T147*)(C)->_list,_il))); _il=(_il)+(1); } {T187 *n=((T187*)se_new(187)); rT187make(n,1,_actual_count); C->_flat_list=(T0 *)n;} _il=1; while (!((_il)>(((T147*)(C)->_list)->_upper))) { XrT143append_in(rT147item((T147*)(C)->_list,_il),(T0 *)C); _il=(_il)+(1); } }/*MANIFEST_ARRAY*/T0* rT164type_any(/*C*/void){ if (ofBC27type_any==0){ T0* R=NULL; ofBC27type_any=1; {T91 *n=((T91*)se_new(91)); rT91make(n,NULL); R=(T0 *)n;} oRBC27type_any=R;} return oRBC27type_any;} /*MANIFEST_ARRAY*/int rT164static_value(T164 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*MANIFEST_ARRAY*/T0* rT164to_runnable(T164 *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=rT164type_any(); } else { _i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper; while (!((_i)==(0))) { _e=XrT72to_runnable(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i),a1); /*IF*/if (!(_e)) { rT48add_position((C)->_start_position); rT164error(XrT72start_position(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i)),(T0 *)ms3_164); _i=0; } else { /*XrT*ARRAY[EXPRESSION]*/rT85put((T85*)(C)->_list,_e,_i); /*IF*/if (!(_t)) { _t=XrT72result_type(_e); } else { _t=XrT62smallest_ancestor(_t,XrT72result_type(_e)); } /*FI*/_i=(_i)-(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { {T107 *n=((T107*)se_new(107)); rT107make(n,NULL,_t); C->_result_type=(T0 *)n;} C->_result_type=rT107to_runnable((T107*)(C)->_result_type,(C)->_current_type); rT269set_at_run_time((T269*)rT107run_class((T107*)(C)->_result_type)); R=(T0 *)C; /*IF*/if ((XrT62is_reference(_t))&&(((int)(C)->_list))) { _i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper; while (!((_i)==(0))) { _t=XrT72result_type(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i)); /*IF*/if (XrT62is_expanded(_t)) { XrT62used_as_reference(_t); } /*FI*/_i=(_i)-(1); } } /*FI*/} /*FI*/} else { /*IF*/if (!((C)->_list)) { {T164 *n=((T164*)se_new(164)); rT164make(n,(C)->_start_position,NULL); R=(T0 *)n;} } else { {T164 *n=((T164*)se_new(164)); rT164make(n,(C)->_start_position,XrT85twin((C)->_list)); R=(T0 *)n;} } /*FI*/R=rT164to_runnable((T164*)R,a1); } /*FI*/return R; } /*MANIFEST_ARRAY*/void rT164error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*MANIFEST_ARRAY*/T0* rT164add_comment(T164 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } /*MANIFEST_ARRAY*/int rT164use_current(T164 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper; while (!(((_i)==(0))||(R))) { R=XrT72use_current(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } /*MANIFEST_ARRAY*/void rT164compile_to_c_old(T164 *C){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper; while (!((_i)==(0))) { XrT72compile_to_c_old(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/}/*MANIFEST_ARRAY*/void rT164compile_to_c(T164 *C){ T0* _e=NULL; int _adr=0; T0* _actual_type=NULL; T0* _formal_type=NULL; int _i=0; _formal_type=XrT62run_type(rT108first((T108*)((T107*)(C)->_result_type)->_generic_list)); rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_164); rT44put_integer((T44*)oRBC27cpp,rT107id((T107*)(C)->_result_type)); rT44put_character((T44*)oRBC27cpp,'\54'); /*IF*/if (XrT62is_reference(_formal_type)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_164); } else { rT44put_integer((T44*)oRBC27cpp,XrT62id(_formal_type)); rT44put_character((T44*)oRBC27cpp,'\54'); } /*FI*//*IF*/if (!((C)->_list)) { rT44put_character((T44*)oRBC27cpp,'0'); } else { _adr=((XrT62is_expanded(_formal_type))&&(!(XrT62fast_mapping_c(_formal_type)))); rT44put_integer((T44*)oRBC27cpp,/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper); _i=1; while (!((_i)>(/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper))) { rT44put_character((T44*)oRBC27cpp,'\54'); /*IF*/if (_adr) { rT44put_character((T44*)oRBC27cpp,'\46'); } /*FI*/_e=/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i); _actual_type=XrT62run_type(XrT72result_type(_e)); /*IF*/if (((XrT62is_reference(_formal_type))&&(XrT62is_expanded(_actual_type)))) { XrT62to_reference(_actual_type); rT44put_character((T44*)oRBC27cpp,'\50'); XrT72compile_to_c(_e); rT44put_character((T44*)oRBC27cpp,'\51'); } else { XrT72compile_to_c(_e); } /*FI*/_i=(_i)+(1); } } /*FI*/rT44put_character((T44*)oRBC27cpp,'\51'); }/*MANIFEST_ARRAY*/int rT164to_integer(T164 *C){ int R=0; rT164error((C)->_start_position,(T0 *)ms104_27); return R; } /*MANIFEST_ARRAY*/int rT164is_a(T164 *C,T0* a1){ int R=0; R=rT107is_a((T107*)((T107*)(C)->_result_type)->_run_type,XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position((C)->_start_position); rT164error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*MANIFEST_ARRAY*/int rT164is_pre_computable(T164 *C){ int R=0; T0* _e=NULL; int _i=0; /*IF*/if (!((C)->_list)) { R=1; } else if (XrT62is_string(rT108first((T108*)((T107*)(C)->_result_type)->_generic_list))) { R=1; _i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper; while (!(((!(R))||((_i)==(0))))) { _e=/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i); R=XrT72is_pre_computable(_e); _i=(_i)-(1); } } /*FI*/return R; } /*MANIFEST_ARRAY*/void rT164make(T164 *C,T0* a1,T0* a2){ C->_start_position=a1; C->_list=a2; }/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272forth(T272 *C){ int _i=0; /*IF*/if ((rT59item((T59*)(C)->_chain,(C)->_item_mem_j))!=(0)) { C->_item_mem_j=rT59item((T59*)(C)->_chain,(C)->_item_mem_j); } else { _i=((C)->_item_mem_i)+(1); while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i); } /*FI*/C->_item_mem=((C)->_item_mem)+(1); }/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272first(T272 *C){ int _i=0; _i=0; while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i); C->_item_mem=1; }/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272resize(T272 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T58 *n=((T58*)se_new(58)); rT58make(n,a1); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT58item((T58*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT59item((T59*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT45item((T45*)(C)->_keys,_n)))%(a1); rT59put((T59*)(C)->_chain,rT58item((T58*)_new_buc,_hash),_n); rT58put((T58*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; }/*DICTIONARY[RUN_FEATURE,STRING]*/T0* rT272item(T272 *C,int a1){ T0* R=NULL; /*IF*/if (((C)->_item_mem)==(0)) { rT272first(C); while (!((a1)==((C)->_item_mem))) { rT272forth(C); } R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_item_mem_j); } else if (((C)->_item_mem)<=(a1)) { while (!((a1)==((C)->_item_mem))) { rT272forth(C); } R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_item_mem_j); } else { C->_item_mem=0; R=rT272item(C,a1); } /*FI*/return R; } /*DICTIONARY[RUN_FEATURE,STRING]*/T0* rT272at(T272 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT272has(C,a1); R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_has_mem); return R; } /*DICTIONARY[RUN_FEATURE,STRING]*/void rT272put(T272 *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,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT58item((T58*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(XrT273count((C)->_store))) { rT272expand(C); } /*FI*/rT45put((T45*)(C)->_keys,a2,(C)->_free); /*XrT*ARRAY[RUN_FEATURE]*/rT273put((T273*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT59item((T59*)(C)->_chain,(C)->_free); rT59put((T59*)(C)->_chain,rT58item((T58*)(C)->_buckets,_hash),(C)->_has_mem); rT58put((T58*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT272resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { /*XrT*ARRAY[RUN_FEATURE]*/rT273put((T273*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; }/*DICTIONARY[RUN_FEATURE,STRING]*/int rT272has(T272 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT58item((T58*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } /*DICTIONARY[RUN_FEATURE,STRING]*/void rT272expand(T272 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=XrT273count((C)->_store); rT59resize((T59*)(C)->_chain,1,(2)*(_old_size)); rT45resize((T45*)(C)->_keys,1,(2)*(_old_size)); XrT273resize((C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT59count((T59*)(C)->_chain)))) { rT59put((T59*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT59put((T59*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); }/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272make(T272 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T58 *n=((T58*)se_new(58)); rT58make(n,(C)->_modulus); C->_buckets=(T0 *)n;} {T59 *n=((T59*)se_new(59)); rT59make(n,1,16); C->_chain=(T0 *)n;} {T273 *n=((T273*)se_new(273)); rT273make(n,1,16); C->_store=(T0 *)n;} {T45 *n=((T45*)se_new(45)); rT45make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT59count((T59*)(C)->_chain)))) { rT59put((T59*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT59put((T59*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT58put((T58*)(C)->_buckets,0,_i); _i=(_i)+(1); } }/*DICTIONARY[RUN_CLASS,STRING]*/void rT270forth(T270 *C){ int _i=0; /*IF*/if ((rT59item((T59*)(C)->_chain,(C)->_item_mem_j))!=(0)) { C->_item_mem_j=rT59item((T59*)(C)->_chain,(C)->_item_mem_j); } else { _i=((C)->_item_mem_i)+(1); while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i); } /*FI*/C->_item_mem=((C)->_item_mem)+(1); }/*DICTIONARY[RUN_CLASS,STRING]*/void rT270first(T270 *C){ int _i=0; _i=0; while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) { _i=(_i)+(1); } C->_item_mem_i=_i; C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i); C->_item_mem=1; }/*DICTIONARY[RUN_CLASS,STRING]*/void rT270resize(T270 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T58 *n=((T58*)se_new(58)); rT58make(n,a1); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT58item((T58*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT59item((T59*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT45item((T45*)(C)->_keys,_n)))%(a1); rT59put((T59*)(C)->_chain,rT58item((T58*)_new_buc,_hash),_n); rT58put((T58*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; }/*DICTIONARY[RUN_CLASS,STRING]*/T0* rT270item(T270 *C,int a1){ T0* R=NULL; /*IF*/if (((C)->_item_mem)==(0)) { rT270first(C); while (!((a1)==((C)->_item_mem))) { rT270forth(C); } R=rT271item((T271*)(C)->_store,(C)->_item_mem_j); } else if (((C)->_item_mem)<=(a1)) { while (!((a1)==((C)->_item_mem))) { rT270forth(C); } R=rT271item((T271*)(C)->_store,(C)->_item_mem_j); } else { C->_item_mem=0; R=rT270item(C,a1); } /*FI*/return R; } /*DICTIONARY[RUN_CLASS,STRING]*/T0* rT270at(T270 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT270has(C,a1); R=rT271item((T271*)(C)->_store,(C)->_has_mem); return R; } /*DICTIONARY[RUN_CLASS,STRING]*/void rT270put(T270 *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,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT58item((T58*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT271count((T271*)(C)->_store))) { rT270expand(C); } /*FI*/rT45put((T45*)(C)->_keys,a2,(C)->_free); rT271put((T271*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT59item((T59*)(C)->_chain,(C)->_free); rT59put((T59*)(C)->_chain,rT58item((T58*)(C)->_buckets,_hash),(C)->_has_mem); rT58put((T58*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT270resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT271put((T271*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; }/*DICTIONARY[RUN_CLASS,STRING]*/void rT270expand(T270 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT271count((T271*)(C)->_store); rT59resize((T59*)(C)->_chain,1,(2)*(_old_size)); rT45resize((T45*)(C)->_keys,1,(2)*(_old_size)); rT271resize((T271*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT59count((T59*)(C)->_chain)))) { rT59put((T59*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT59put((T59*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); }/*DICTIONARY[RUN_CLASS,STRING]*/int rT270has(T270 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT58item((T58*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } /*DICTIONARY[RUN_CLASS,STRING]*/void rT270make(T270 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T58 *n=((T58*)se_new(58)); rT58make(n,(C)->_modulus); C->_buckets=(T0 *)n;} {T59 *n=((T59*)se_new(59)); rT59make(n,1,16); C->_chain=(T0 *)n;} {T271 *n=((T271*)se_new(271)); rT271make(n,1,16); C->_store=(T0 *)n;} {T45 *n=((T45*)se_new(45)); rT45make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT59count((T59*)(C)->_chain)))) { rT59put((T59*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT59put((T59*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT58put((T58*)(C)->_buckets,0,_i); _i=(_i)+(1); } }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.