This is compile_to_c5.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" void rT7copy(T7 *C,T0* a1){ int _i=0; /*IF*/if (((C)->_capacity)<(((T7*)a1)->_count)) { rT7make(C,((T7*)a1)->_count); } /*FI*/_i=((T7*)a1)->_count; C->_count=_i; while (!((_i)==(0))) { rT7put(C,rT7item((T7*)a1,_i),_i); _i=(_i)-(1); } } int rT7has(T7 *C,char a1){ int R=0; R=(rT7index_of(C,a1))!=(((C)->_count)+(1)); return R; } void rT7prepend(T7 *C,T0* a1){ int _old_count=0; int _i=0; _old_count=(C)->_count; _i=((T7*)a1)->_count; while (!((_i)==(0))) { rT7extend(C,'\40'); _i=(_i)-(1); } _i=(C)->_count; while (!((_old_count)==(0))) { rT7put(C,rT7item(C,_old_count),_i); _i=(_i)-(1); _old_count=(_old_count)-(1); } _i=((T7*)a1)->_count; while (!((_i)==(0))) { rT7put(C,rT7item((T7*)a1,_i),_i); _i=(_i)-(1); } } void rT7to_lower(T7 *C){ int _i=0; _i=(C)->_count; while (!((_i)==(0))) { rT7put(C,rT3to_lower(rT7item(C,_i)),_i); _i=(_i)-(1); } } void rT7make(T7 *C,int a1){ /*IF*/if ((a1)>(0)) { /*IF*/if (((C)->_capacity)<(a1)) { /*IF*/if (((C)->_capacity)==(0)) { C->_storage=rT7malloc(a1); } else { C->_storage=rT7realloc((C)->_storage,a1); } /*FI*/C->_capacity=a1; } /*FI*/} /*FI*/C->_count=0; } char * rT7to_external(T7 *C){ char * R=0; rT7extend(C,'\0'); rT7remove_last(C,1); R=(C)->_storage; return R; } T0* rT234current_type(T234 *C){ T0* R=NULL; R=rT227current_type((T227*)(C)->_e_when); return R; } T0* rT234twin(T234 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT234copy((T234*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT234to_runnable_character(T234 *C,T0* a1){ T0* R=NULL; T0* _v=NULL; /*IF*/if (!((C)->_e_when)) { C->_e_when=a1; _v=XrT68to_runnable((C)->_lower,rT234current_type(C)); /*IF*/if ((((int)_v))&&(XrT58is_character(XrT68result_type(_v)))) { C->_lower=_v; C->_lower_value=XrT68to_integer((C)->_lower); } else { rT234error(XrT68start_position((C)->_lower),(T0 *)ms1380); } /*FI*/_v=XrT68to_runnable((C)->_upper,rT234current_type(C)); /*IF*/if ((((int)_v))&&(XrT58is_character(XrT68result_type(_v)))) { C->_upper=_v; C->_upper_value=XrT68to_integer((C)->_upper); } else { rT234error(XrT68start_position((C)->_upper),(T0 *)ms1381); } /*FI*/rT227add_when_item_2((T227*)(C)->_e_when,(T0 *)C); R=(T0 *)C; } else { {T234 *n=((T234*)se_new(234)); rT234make(n,(C)->_lower,(C)->_upper); R=(T0 *)n;} R=rT234to_runnable_character((T234*)R,a1); } /*FI*/return R; } T0* rT234to_runnable_integer(T234 *C,T0* a1){ T0* R=NULL; T0* _v=NULL; /*IF*/if (!((C)->_e_when)) { C->_e_when=a1; _v=XrT68to_runnable((C)->_lower,rT234current_type(C)); /*IF*/if ((((int)_v))&&(XrT58is_integer(XrT68result_type(_v)))) { C->_lower=_v; C->_lower_value=XrT68to_integer((C)->_lower); } else { rT234error(XrT68start_position((C)->_lower),(T0 *)ms1376); } /*FI*/_v=XrT68to_runnable((C)->_upper,rT234current_type(C)); /*IF*/if ((((int)_v))&&(XrT58is_integer(XrT68result_type(_v)))) { C->_upper=_v; C->_upper_value=XrT68to_integer((C)->_upper); } else { rT234error(XrT68start_position((C)->_upper),(T0 *)ms1377); } /*FI*/rT227add_when_item_2((T227*)(C)->_e_when,(T0 *)C); R=(T0 *)C; } else { {T234 *n=((T234*)se_new(234)); rT234make(n,(C)->_lower,(C)->_upper); R=(T0 *)n;} R=rT234to_runnable_integer((T234*)R,a1); } /*FI*/return R; } void rT234error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT234start_position(T234 *C){ T0* R=NULL; R=XrT68start_position((C)->_lower); return R; } void rT234copy(T234 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT234make(T234 *C,T0* a1,T0* a2){ C->_lower=a1; C->_upper=a2; } T0* rT232current_type(T232 *C){ T0* R=NULL; R=rT226current_type((T226*)(C)->_e_inspect); return R; } T0* rT232to_runnable_integer(T232 *C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _ne=0; int _i=0; /*IF*/if (!((C)->_e_inspect)) { _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; C->_e_inspect=a1; _i=1; while (!((((_i)>(((T233*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0))))) { _e_when=rT227to_runnable_integer((T227*)rT233item((T233*)(C)->_list,_i),(T0 *)C); /*IF*/if (!(_e_when)) { rT232error(rT232start_position(C),(T0 *)ms1260); } else { rT233put((T233*)(C)->_list,_e_when,_i); } /*FI*/_i=(_i)+(1); } R=(T0 *)C; } else { {T232 *n=((T232*)se_new(232)); rT232from_when_list(n,(T0 *)C); R=(T0 *)n;} R=rT232to_runnable_integer((T232*)R,a1); } /*FI*/return R; } T0* rT232to_runnable_character(T232 *C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _ne=0; int _i=0; /*IF*/if (!((C)->_e_inspect)) { _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; C->_e_inspect=a1; _i=1; while (!((((_i)>(((T233*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0))))) { _e_when=rT227to_runnable_character((T227*)rT233item((T233*)(C)->_list,_i),(T0 *)C); /*IF*/if (!(_e_when)) { rT232error(rT232start_position(C),(T0 *)ms1260); } else { rT233put((T233*)(C)->_list,_e_when,_i); } /*FI*/_i=(_i)+(1); } R=(T0 *)C; } else { {T232 *n=((T232*)se_new(232)); rT232from_when_list(n,(T0 *)C); R=(T0 *)n;} R=rT232to_runnable_character((T232*)R,a1); } /*FI*/return R; } void rT232error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT232start_position(T232 *C){ T0* R=NULL; R=((T227*)rT233first((T233*)(C)->_list))->_start_position; return R; } int rT232use_current(T232 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!(((_i)>(((T233*)(C)->_list)->_upper))||(R))) { R=rT227use_current((T227*)rT233item((T233*)(C)->_list,_i)); _i=(_i)+(1); } } /*FI*/return R; } void rT232from_when_list(T232 *C,T0* a1){ T0* _e_when=NULL; int _i=0; C->_list=rT233twin((T233*)((T232*)a1)->_list); _i=1; while (!((_i)>(((T233*)(C)->_list)->_upper))) { {T227 *n=((T227*)se_new(227)); rT227from_e_when(n,rT233item((T233*)(C)->_list,_i)); _e_when=(T0 *)n;} rT233put((T233*)(C)->_list,_e_when,_i); _i=(_i)+(1); } } void rT232add_last(T232 *C,T0* a1){ rT233add_last((T233*)(C)->_list,a1); } void rT232compile_to_c(T232 *C,int a1){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!((_i)>(((T233*)(C)->_list)->_upper))) { rT227compile_to_c((T227*)rT233item((T233*)(C)->_list,_i),a1); _i=(_i)+(1); } } /*FI*/} int rT232includes_integer(T232 *C,int a1){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>(((T233*)(C)->_list)->_upper)))) { R=rT227includes_integer((T227*)rT233item((T233*)(C)->_list,_i),a1); _i=(_i)+(1); } return R; } T0* rT228current_type(T228 *C){ T0* R=NULL; R=rT227current_type((T227*)(C)->_e_when); return R; } T0* rT228twin(T228 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT228copy((T228*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT228to_runnable_character(T228 *C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (!((C)->_e_when)) { C->_e_when=a1; _e=XrT68to_runnable((C)->_expression,rT228current_type(C)); /*IF*/if ((((int)_e))&&(XrT58is_character(XrT68result_type(_e)))) { C->_expression=_e; C->_expression_value=XrT68to_integer((C)->_expression); rT227add_when_item_1((T227*)(C)->_e_when,(T0 *)C); } else { rT228error(XrT68start_position((C)->_expression),(T0 *)ms1379); } /*FI*/R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); /*(IRF3*/((n)->_expression)=((C)->_expression); /*)*/R=(T0 *)n;} R=rT228to_runnable_character((T228*)R,a1); } /*FI*/return R; } T0* rT228to_runnable_integer(T228 *C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (!((C)->_e_when)) { C->_e_when=a1; _e=XrT68to_runnable((C)->_expression,rT228current_type(C)); /*IF*/if ((((int)_e))&&(XrT58is_integer(XrT68result_type(_e)))) { C->_expression=_e; C->_expression_value=XrT68to_integer((C)->_expression); rT227add_when_item_1((T227*)(C)->_e_when,(T0 *)C); } else { rT228error(XrT68start_position((C)->_expression),(T0 *)ms1375); } /*FI*/R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); /*(IRF3*/((n)->_expression)=((C)->_expression); /*)*/R=(T0 *)n;} R=rT228to_runnable_integer((T228*)R,a1); } /*FI*/return R; } void rT228error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT228start_position(T228 *C){ T0* R=NULL; R=XrT68start_position((C)->_expression); return R; } void rT228copy(T228 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} T0* rT173twin(T173 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT173copy((T173*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT173static_value(T173 *C){ int R=0; R=(C)->_static_value_mem; return R; } T0* rT173to_runnable(T173 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT173twin(C); /*(IRF3*/(((T173*)R)->_current_type)=(a1); /*)*/} /*FI*/return R; } void rT173error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT173add_comment(T173 *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 ofBC173result_type=0; T0*oRBC173result_type; T0* rT173result_type(/*C*/void){ if (ofBC173result_type==0){ T0* R=NULL; ofBC173result_type=1; {T112 *n=((T112*)se_new(112)); rT112make(n,NULL); R=(T0 *)n;} oRBC173result_type=R;} return oRBC173result_type;} T0* rT173to_key(T173 *C){ T0* R=NULL; R=(C)->_to_string; return R; } int rT173to_integer(T173 *C){ int R=0; rT173error((C)->_start_position,(T0 *)ms169); return R; } T0* rT173written_in(T173 *C){ T0* R=NULL; T0* _sp=NULL; _sp=(C)->_start_position; /*IF*/if (((int)_sp)) { R=((T46*)_sp)->_base_class_name; } /*FI*/return R; } void rT173copy(T173 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT173is_a(T173 *C,T0* a1){ int R=0; R=XrT58is_a(rT112run_type((T112*)rT173result_type()),XrT58run_type(XrT68result_type(a1))); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT173error(XrT68start_position(a1),(T0 *)ms1289); } /*FI*/return R; } void rT173make(T173 *C,T0* a1){ C->_start_position=a1; C->_to_string=(T0 *)ms291; } T0* rT181current_type(T181 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT181to_runnable_0(T181 *C,T0* a1){ T0* _tt=NULL; T0* _t=NULL; C->_run_compound=a1; _t=XrT68to_runnable((C)->_target,rT181current_type(C)); /*IF*/if (!(_t)) { rT181error(XrT68start_position((C)->_target),(T0 *)ms1246); } else { C->_target=_t; _tt=XrT58run_type(XrT68result_type((C)->_target)); C->_run_feature=rT261get_rf((T261*)XrT58run_class(_tt),(C)->_target,(C)->_feature_name); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT262result_type((C)->_run_feature)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1247); rT181error(XrT67start_position((C)->_feature_name),(T0 *)ms1248); } /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT262is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1249); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string((C)->_feature_name)); rT181error(XrT67start_position((C)->_feature_name),(T0 *)ms1250); } /*FI*/} T0* rT181to_runnable(T181 *C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (!((C)->_run_compound)) { rT181to_runnable_0(C,a1); /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _a=rT171to_runnable((T171*)(C)->_arguments,rT181current_type(C)); /*IF*/if (!(_a)) { rT181error(rT171start_position((T171*)(C)->_arguments),(T0 *)ms1253); } else { C->_arguments=_a; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { rT171match_with((T171*)(C)->_arguments,(C)->_run_feature); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { {T181 *n=((T181*)se_new(181)); rT181make(n,(C)->_target,(C)->_feature_name,(C)->_arguments); R=(T0 *)n;} R=rT181to_runnable((T181*)R,a1); } /*FI*/return R; } void rT181error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT181add_comment(T181 *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; } T0* rT181start_position(T181 *C){ T0* R=NULL; R=XrT67start_position((C)->_feature_name); return R; } int rT181use_current(T181 *C){ int R=0; /*IF*/if ((rT181arg_count(C))>(0)) { R=rT171use_current((T171*)(C)->_arguments); } /*FI*//*IF*/if (R) { } else if (XrT68is_current((C)->_target)) { R=XrT262use_current((C)->_run_feature); } else { R=XrT68use_current((C)->_target); } /*FI*/return R; } void rT181compile_to_c(T181 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; rT43rs_push_position((T43*)oRBC27cpp,'3',rT181start_position(C)); rT181call_proc_call_c2c(C); rT43rs_pop_position((T43*)oRBC27cpp); } T0* rT181dynamic(/*C*/T0* a1,T0* a2){ T0* R=NULL; T0* _static=NULL; T0* _sta_name=NULL; T0* _dyn_name=NULL; _static=XrT262current_type(a2); _sta_name=XrT262name(a2); _dyn_name=rT50name_of((T50*)rT261base_class((T261*)a1),XrT58base_class(_static),_sta_name); R=rT261get_feature((T261*)a1,_dyn_name); return R; } void rT181call_proc_call_c2c(T181 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; _tt=XrT58run_type(XrT68result_type((C)->_target)); /*IF*/if (((XrT68is_current((C)->_target))||(XrT68is_manifest_string((C)->_target)))||(XrT58is_expanded(_tt))) { rT43push_direct((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else { _r=((T261*)XrT58run_class(_tt))->_running; /*IF*/if (!(_r)) { rT43push_void((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else if ((rT264count((T264*)_r))==(1)) { _dyn_rf=rT181dynamic(rT264first((T264*)_r),(C)->_run_feature); rT43push_check((T43*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments); XrT262mapping_c(_dyn_rf); rT43pop((T43*)oRBC27cpp); } else { rT43use_switch((T43*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments); } /*FI*/} /*FI*/} int rT181arg_count(T181 *C){ int R=0; R=rT171count((T171*)(C)->_arguments); return R; } void rT181make(T181 *C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } T0* rT180current_type(T180 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT180to_runnable_0(T180 *C,T0* a1){ T0* _tt=NULL; T0* _t=NULL; C->_run_compound=a1; _t=XrT68to_runnable((C)->_target,rT180current_type(C)); /*IF*/if (!(_t)) { rT180error(XrT68start_position((C)->_target),(T0 *)ms1246); } else { C->_target=_t; _tt=XrT58run_type(XrT68result_type((C)->_target)); C->_run_feature=rT261get_rf((T261*)XrT58run_class(_tt),(C)->_target,(C)->_feature_name); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT262result_type((C)->_run_feature)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1247); rT180error(XrT67start_position((C)->_feature_name),(T0 *)ms1248); } /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT262is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1249); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string((C)->_feature_name)); rT180error(XrT67start_position((C)->_feature_name),(T0 *)ms1250); } /*FI*/} T0* rT180to_runnable(T180 *C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (!((C)->_run_compound)) { rT180to_runnable_0(C,a1); /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _a=rT171to_runnable((T171*)(C)->_arguments,rT180current_type(C)); /*IF*/if (!(_a)) { rT180error(XrT68start_position(rT180arg1(C)),(T0 *)ms1252); } else { C->_arguments=_a; } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { rT171match_with((T171*)(C)->_arguments,(C)->_run_feature); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { {T180 *n=((T180*)se_new(180)); rT180make(n,(C)->_target,(C)->_feature_name,(C)->_arguments); R=(T0 *)n;} R=rT180to_runnable((T180*)R,a1); } /*FI*/return R; } void rT180error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT180add_comment(T180 *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; } T0* rT180arg1(T180 *C){ T0* R=NULL; R=rT171first((T171*)(C)->_arguments); return R; } T0* rT180start_position(T180 *C){ T0* R=NULL; R=XrT67start_position((C)->_feature_name); return R; } int rT180use_current(T180 *C){ int R=0; T0* _s=NULL; T0* _ms=NULL; /*IF*/if (rT7is_equal((T7*)(T0 *)ms1537,XrT67to_string((C)->_feature_name))) { _ms=rT180arg1(C); if ((int)_ms) switch (((T0 *)_ms)->id) { case 76: break; default: _ms = NULL; };_s=((T76*)_ms)->_to_string; R=rT7has((T7*)_s,'C'); } else { R=rT180standard_use_current(C); } /*FI*/return R; } void rT180compile_to_c(T180 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; rT43rs_push_position((T43*)oRBC27cpp,'3',rT180start_position(C)); rT180call_proc_call_c2c(C); rT43rs_pop_position((T43*)oRBC27cpp); } T0* rT180dynamic(/*C*/T0* a1,T0* a2){ T0* R=NULL; T0* _static=NULL; T0* _sta_name=NULL; T0* _dyn_name=NULL; _static=XrT262current_type(a2); _sta_name=XrT262name(a2); _dyn_name=rT50name_of((T50*)rT261base_class((T261*)a1),XrT58base_class(_static),_sta_name); R=rT261get_feature((T261*)a1,_dyn_name); return R; } int rT180standard_use_current(T180 *C){ int R=0; /*IF*/{/*AT*/R=rT171use_current((T171*)(C)->_arguments); } /*FI*//*IF*/if (R) { } else if (XrT68is_current((C)->_target)) { R=XrT262use_current((C)->_run_feature); } else { R=XrT68use_current((C)->_target); } /*FI*/return R; } void rT180call_proc_call_c2c(T180 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; _tt=XrT58run_type(XrT68result_type((C)->_target)); /*IF*/if (((XrT68is_current((C)->_target))||(XrT68is_manifest_string((C)->_target)))||(XrT58is_expanded(_tt))) { rT43push_direct((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else { _r=((T261*)XrT58run_class(_tt))->_running; /*IF*/if (!(_r)) { rT43push_void((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else if ((rT264count((T264*)_r))==(1)) { _dyn_rf=rT180dynamic(rT264first((T264*)_r),(C)->_run_feature); rT43push_check((T43*)oRBC27cpp,_dyn_rf,(C)->_target,(C)->_arguments); XrT262mapping_c(_dyn_rf); rT43pop((T43*)oRBC27cpp); } else { rT43use_switch((T43*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,(C)->_arguments); } /*FI*/} /*FI*/} void rT180make(T180 *C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } T0* rT179current_type(T179 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_compound)) { R=((T140*)(C)->_run_compound)->_current_type; } /*FI*/return R; } void rT179to_runnable_0(T179 *C,T0* a1){ T0* _tt=NULL; T0* _t=NULL; C->_run_compound=a1; _t=XrT68to_runnable((C)->_target,rT179current_type(C)); /*IF*/if (!(_t)) { rT179error(XrT68start_position((C)->_target),(T0 *)ms1246); } else { C->_target=_t; _tt=XrT58run_type(XrT68result_type((C)->_target)); C->_run_feature=rT261get_rf((T261*)XrT58run_class(_tt),(C)->_target,(C)->_feature_name); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(((int)XrT262result_type((C)->_run_feature)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1247); rT179error(XrT67start_position((C)->_feature_name),(T0 *)ms1248); } /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current((C)->_target))))&&(!(XrT262is_exported_in((C)->_run_feature,XrT68written_in((C)->_target))))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position((C)->_run_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1249); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string((C)->_feature_name)); rT179error(XrT67start_position((C)->_feature_name),(T0 *)ms1250); } /*FI*/} T0* rT179to_runnable(T179 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_run_compound)) { rT179to_runnable_0(C,a1); /*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((XrT262arg_count((C)->_run_feature))>(0))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position((C)->_feature_name)); rT179error(XrT262start_position((C)->_run_feature),(T0 *)ms1251); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { {T179 *n=((T179*)se_new(179)); rT179make(n,(C)->_target,(C)->_feature_name); R=(T0 *)n;} R=rT179to_runnable((T179*)R,a1); } /*FI*/return R; } void rT179error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT179add_comment(T179 *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; } T0* rT179start_position(T179 *C){ T0* R=NULL; R=XrT67start_position((C)->_feature_name); return R; } int rT179use_current(T179 *C){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (R) { } else if (XrT68is_current((C)->_target)) { R=XrT262use_current((C)->_run_feature); } else { R=XrT68use_current((C)->_target); } /*FI*/return R; } void rT179compile_to_c(T179 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; rT43rs_push_position((T43*)oRBC27cpp,'3',rT179start_position(C)); rT179call_proc_call_c2c(C); rT43rs_pop_position((T43*)oRBC27cpp); } T0* rT179dynamic(/*C*/T0* a1,T0* a2){ T0* R=NULL; T0* _static=NULL; T0* _sta_name=NULL; T0* _dyn_name=NULL; _static=XrT262current_type(a2); _sta_name=XrT262name(a2); _dyn_name=rT50name_of((T50*)rT261base_class((T261*)a1),XrT58base_class(_static),_sta_name); R=rT261get_feature((T261*)a1,_dyn_name); return R; } void rT179call_proc_call_c2c(T179 *C){ T0* _dyn_rf=NULL; T0* _tt=NULL; T0* _r=NULL; _tt=XrT58run_type(XrT68result_type((C)->_target)); /*IF*/if (((XrT68is_current((C)->_target))||(XrT68is_manifest_string((C)->_target)))||(XrT58is_expanded(_tt))) { rT43push_direct((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else { _r=((T261*)XrT58run_class(_tt))->_running; /*IF*/if (!(_r)) { rT43push_void((T43*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/); XrT262mapping_c((C)->_run_feature); rT43pop((T43*)oRBC27cpp); } else if ((rT264count((T264*)_r))==(1)) { _dyn_rf=rT179dynamic(rT264first((T264*)_r),(C)->_run_feature); rT43push_check((T43*)oRBC27cpp,_dyn_rf,(C)->_target,/*(IRF4*/NULL/*)*/); XrT262mapping_c(_dyn_rf); rT43pop((T43*)oRBC27cpp); } else { rT43use_switch((T43*)oRBC27cpp,(C)->_run_feature,_r,(C)->_target,/*(IRF4*/NULL/*)*/); } /*FI*/} /*FI*/} void rT179make(T179 *C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } void rT136warning(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45warning((T45*)oRBC27eh,a2); } T0* rT136to_procedure_or_function(T136 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T252 *n=((T252*)se_new(252)); rT252make(n,rT136n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} else { {T253 *n=((T253*)se_new(253)); rT253make(n,rT136n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} /*FI*/return R; } void rT136error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT136to_writable_attribute(T136 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms400); } else if (((int)(C)->_arguments)) { rT136error(rT51current_position((T51*)oRBC27eiffel_parser),(T0 *)ms401); } /*FI*/{T257 *n=((T257*)se_new(257)); rT257make(n,rT136n(),(C)->_type); R=(T0 *)n;} return R; } T0* rT136to_deferred_routine(T136 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T205 *n=((T205*)se_new(205)); rT205make(n,rT136n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion); R=(T0 *)n;}} else { {T206 *n=((T206*)se_new(206)); rT206make(n,rT136n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion); R=(T0 *)n;}} /*FI*/return R; } T0* rT136n(/*C*/void){ T0* R=NULL; {T128 *n=((T128*)se_new(128)); rT128make(n,rT129twin((T129*)oRBC136names)); R=(T0 *)n;} return R; } T0*oRBC136names; T0* rT136to_cst_att_integer(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)(C)->_type)) { /*IF*/if (XrT58is_integer((C)->_type)) { {T155 *n=((T155*)se_new(155)); rT155make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT58is_real((C)->_type)) { {T153 *n=((T153*)se_new(153)); rT153make(n,rT136n(),(C)->_type,rT80to_real_constant((T80*)a1)); R=(T0 *)n;}} else if (XrT58is_double((C)->_type)) { {T154 *n=((T154*)se_new(154)); rT154make(n,rT136n(),(C)->_type,rT80to_real_constant((T80*)a1)); R=(T0 *)n;}} else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms273); } /*FI*/} else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms274); } /*FI*/return R; } T0* rT136to_cst_att_real(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)(C)->_type)) { /*IF*/if (XrT58is_real((C)->_type)) { {T153 *n=((T153*)se_new(153)); rT153make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT58is_double((C)->_type)) { {T154 *n=((T154*)se_new(154)); rT154make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT58is_integer((C)->_type)) { rT136warning(((T79*)a1)->_start_position,(T0 *)ms268); {T155 *n=((T155*)se_new(155)); rT155make(n,rT136n(),(C)->_type,rT79to_integer_constant((T79*)a1)); R=(T0 *)n;}} else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms270); } /*FI*/} else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms271); } /*FI*/return R; } T0* rT136to_cst_att_bit(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT58is_bit((C)->_type))) { {T152 *n=((T152*)se_new(152)); rT152make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;} } else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms267); } /*FI*/return R; } T0* rT136to_cst_att_string(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT58is_string((C)->_type))) { {T150 *n=((T150*)se_new(150)); rT150make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;} } else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms266); } /*FI*/return R; } T0* rT136to_cst_att_character(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT58is_character((C)->_type))) { {T149 *n=((T149*)se_new(149)); rT149make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;} } else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms263); } /*FI*/return R; } T0* rT136to_cst_att_boolean(T136 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT58is_boolean((C)->_type))) { {T148 *n=((T148*)se_new(148)); rT148make(n,rT136n(),(C)->_type,a1); R=(T0 *)n;} } else { rT136error(XrT67start_position(rT129first((T129*)oRBC136names)),(T0 *)ms262); } /*FI*/return R; } T0* rT136to_cst_att_unique(T136 *C){ T0* R=NULL; T0* _sp=NULL; /*IF*/if (!((C)->_type)) { _sp=XrT67start_position(rT129first((T129*)oRBC136names)); rT136error(_sp,(T0 *)ms260); } /*FI*//*IF*/if (!(XrT58is_integer((C)->_type))) { rT136error(XrT58start_position((C)->_type),(T0 *)ms261); } /*FI*/{T144 *n=((T144*)se_new(144)); rT144make(n,rT136n(),(C)->_type); R=(T0 *)n;} return R; } void rT136add_synonym(/*C*/T0* a1){ rT129add_last((T129*)oRBC136names,a1); } void rT136set_require(T136 *C,T0* a1,T0* a2,T0* a3){ /*IF*/if ((((int)a2))||(((int)a3))) { {T137 *n=((T137*)se_new(137)); rT137make(n,a1,a2,a3); C->_require_assertion=(T0 *)n;} } /*FI*/} void rT136set_require_else(T136 *C,T0* a1,T0* a2,T0* a3){ /*IF*/if ((((int)a2))||(((int)a3))) { {T137 *n=((T137*)se_new(137)); rT137make(n,a1,a2,a3); C->_require_assertion=(T0 *)n;} /*(IRF3*/(((T137*)(C)->_require_assertion)->_is_require_else)=(1); /*)*/} /*FI*/} void rT136initialize(T136 *C){ rT129clear((T129*)oRBC136names); C->_arguments=NULL; C->_type=NULL; C->_header_comment=NULL; C->_obsolete_mark=NULL; C->_require_assertion=NULL; C->_local_vars=NULL; C->_routine_body=NULL; } T0* rT136to_once_routine(T136 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T255 *n=((T255*)se_new(255)); rT255make(n,rT136n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} else { {T256 *n=((T256*)se_new(256)); rT256make(n,rT136n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} /*FI*/return R; } T0* rT136to_external_routine(T136 *C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T212 *n=((T212*)se_new(212)); rT212make(n,rT136n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2); R=(T0 *)n;}} else { {T213 *n=((T213*)se_new(213)); rT213make(n,rT136n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2); R=(T0 *)n;}} /*FI*/return R; } T0* rT261runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT158empty((T158*)a1))) { R=rT158twin((T158*)a1); _i=((T158*)R)->_upper; while (!((_i)==(0))) { rT52push((T52*)oRBC27small_eiffel,a3); _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2); /*IF*/if (!(_a)) { rT261error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473); } else { rT158put((T158*)R,_a,_i); } /*FI*/rT52pop((T52*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } T0* rT261get_feature(T261 *C,T0* a1){ T0* R=NULL; T0* _fn_key=NULL; T0* _f=NULL; _fn_key=XrT67to_key(a1); /*IF*/if (rT265has((T265*)(C)->_feature_dictionary,_fn_key)) { R=rT265at((T265*)(C)->_feature_dictionary,_fn_key); } else { _f=rT50look_up_for((T50*)rT261base_class(C),(T0 *)C,a1); /*IF*/if (!(_f)) { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms513); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string(a1)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms514); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)rT261base_class(C))->_base_class_name)->_to_string); rT261error(XrT67start_position(a1),(T0 *)ms36); } else { R=XrT62to_run_feature(_f,(C)->_current_type,a1); /*IF*/if (((int)R)) { rT261store_feature(C,R); } /*FI*/} /*FI*/} /*FI*/return R; } T0* rT261get_feature_with(T261 *C,T0* a1){ T0* R=NULL; T0* _fn=NULL; /*IF*/if (rT265has((T265*)(C)->_feature_dictionary,a1)) { R=rT265at((T265*)(C)->_feature_dictionary,a1); } else { {T67 *n=((T67*)se_new(67)); rT67make(n,a1,NULL); _fn=(T0 *)n;} R=rT261get_feature(C,_fn); } /*FI*/return R; } T0* rT261writable_attributes(T261 *C){ T0* R=NULL; int _i=0; T0* _rf=NULL; /*IF*/if (!((C)->_writable_attributes_mem)) { _i=1; while (!((_i)>(((T265*)(C)->_feature_dictionary)->_count))) { _rf=rT265item((T265*)(C)->_feature_dictionary,_i); /*IF*/if (XrT262is_writable(_rf)) { /*IF*/if (!((C)->_writable_attributes_mem)) { C->_writable_attributes_mem=ma(266,0,1,_rf); } else { XrT266add_last((C)->_writable_attributes_mem,_rf); } /*FI*/} /*FI*/_i=(_i)+(1); } } /*FI*/R=(C)->_writable_attributes_mem; return R; } void rT261falling_down(T261 *C){ int _i=0; T0* _rf=NULL; _i=1; while (!((_i)>(((T265*)(C)->_feature_dictionary)->_count))) { _rf=rT265item((T265*)(C)->_feature_dictionary,_i); XrT262fall_down(_rf); _i=(_i)+(1); } } void rT261fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } void rT261error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT261set_at_run_time(T261 *C){ int _i=0; T0* _rc=NULL; T0* _rcd=NULL; /*IF*/if (!((C)->_at_run_time)) { C->_at_run_time=1; rT261add_running(C,(T0 *)C); /*(IRF3*/(((T50*)rT261base_class(C))->_at_run_time)=(1); /*)*/rT52incr_magic_count((T52*)oRBC27small_eiffel); /*IF*/if (XrT58is_reference((C)->_current_type)) { _rcd=oRBC52run_class_dictionary; _i=1; while (!((_i)>(((T263*)_rcd)->_count))) { _rc=rT263item((T263*)_rcd,_i); /*IF*/if (rT261is_a(C,_rc)) { rT261add_running((T261*)_rc,(T0 *)C); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*FI*/} void rT261store_feature(T261 *C,T0* a1){ T0* _rf2=NULL; T0* _rf_key=NULL; _rf_key=XrT67to_key(XrT262name(a1)); /*IF*/if (rT265has((T265*)(C)->_feature_dictionary,_rf_key)) { _rf2=rT265at((T265*)(C)->_feature_dictionary,_rf_key); /*IF*/if (((T0 *)a1)!=((T0 *)_rf2)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position(a1)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position(_rf2)); rT261fatal_error((T0 *)ms515); } /*FI*/} else { rT265put((T265*)(C)->_feature_dictionary,a1,_rf_key); rT52incr_magic_count((T52*)oRBC27small_eiffel); } /*FI*/} void rT261collect_invariant(/*C*/T0* a1){ rT260add_into((T260*)a1,oRBC261collector); } T0*oRBC261collector; T0* rT261get_rf(T261 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _sub_fn=NULL; T0* _wbc=NULL; T0* _ctbc=NULL; T0* _wp=NULL; _ctbc=XrT58base_class((C)->_current_type); _wp=XrT68start_position(a1); /*IF*/if (!(_wp)) { _wp=XrT67start_position(a2); } /*FI*/_wbc=rT46base_class((T46*)_wp); /*IF*/if (XrT68is_current(a1)) { _sub_fn=rT50name_of((T50*)_ctbc,_wbc,a2); } else { _sub_fn=a2; } /*FI*/R=rT261get_feature(C,_sub_fn); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position(a2)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1135); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string(a2)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1136); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((C)->_current_type,(T0 *)ms36); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*/XrT262add_clients(R,(T0 *)C); /*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT68is_current(a1))))&&(!(XrT262is_exported_in(R,((T50*)_wbc)->_base_class_name)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT262start_position(R)); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1144); (/*UT*/(void)(T45*)oRBC27eh); rT45append(XrT67to_string(a2)); rT261error(_wp,(T0 *)ms1145); } /*FI*/return R; } T0* rT261at(T261 *C,T0* a1){ T0* R=NULL; T0* _to_key=NULL; _to_key=XrT67to_key(a1); /*IF*/if (rT265has((T265*)(C)->_feature_dictionary,_to_key)) { R=rT265at((T265*)(C)->_feature_dictionary,_to_key); } /*FI*/return R; } void rT261compile_to_c(T261 *C){ int _i=0; T0* _rf=NULL; /*IF*/if ((C)->_at_run_time) { rT41put_character((T41*)oRBC1std_output,'\11'); rT41put_string((T41*)oRBC1std_output,XrT58run_time_mark((C)->_current_type)); rT41put_character((T41*)oRBC1std_output,'\12'); _i=1; while (!((_i)>(((T265*)(C)->_feature_dictionary)->_count))) { _rf=rT265item((T265*)(C)->_feature_dictionary,_i); /*IF*/if (!(XrT262is_writable(_rf))) { XrT262c_define(_rf); } /*FI*/_i=(_i)+(1); } /*IF*/if (rT44invariant_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_invariant_assertion)) { rT260c_define((T260*)(C)->_invariant_assertion); } /*FI*/} /*FI*/} /*FI*/} T0* rT261base_class(T261 *C){ T0* R=NULL; R=XrT58base_class((C)->_current_type); return R; } void rT261add_running(T261 *C,T0* a1){ /*IF*/if (!((C)->_running)) { C->_running=ma(264,0,1,a1); } else { /*IF*/if (!(rT264fast_has((T264*)(C)->_running,a1))) { rT264add_last((T264*)(C)->_running,a1); } /*FI*/} /*FI*/} int rT261is_a(T261 *C,T0* a1){ int R=0; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((T0 *)a1)==((T0 *)C)) { R=1; } else { _t1=(C)->_current_type; _t2=((T261*)a1)->_current_type; /*IF*/if (((XrT58is_integer(_t1))&&(XrT58is_real(_t2)))) { R=0; } else { R=XrT58is_a(_t1,_t2); /*IF*/if (!(R)) { /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); /*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0); /*)*/rT47clear((T47*)rT45positions()); /*)*/} /*FI*/} /*FI*/} /*FI*/return R; } void rT261make(T261 *C,T0* a1){ int _i=0; T0* _r=NULL; T0* _rc=NULL; T0* _rcd=NULL; T0* _run_string=NULL; C->_current_type=a1; /*IF*/if (XrT58fast_mapping_c(a1)) { C->_id=((T50*)XrT58base_class(a1))->_id; } else if (XrT58is_reference(a1)) { /*IF*/if (XrT58is_generic(a1)) { C->_id=rT52next_id((T52*)oRBC27small_eiffel); } else { C->_id=((T50*)XrT58base_class(a1))->_id; } /*FI*/} else { /*IF*/if (((T50*)XrT58base_class(a1))->_is_expanded) { C->_id=((T50*)XrT58base_class(a1))->_id; } else { C->_id=rT52next_id((T52*)oRBC27small_eiffel); } /*FI*/} /*FI*/_run_string=XrT58run_time_mark(a1); rT263put((T263*)oRBC52run_class_dictionary,(T0 *)C,_run_string); {T265 *n=((T265*)se_new(265)); rT265make(n); C->_feature_dictionary=(T0 *)n;} rT52incr_magic_count((T52*)oRBC27small_eiffel); /*IF*/if (XrT58is_expanded(a1)) { rT261set_at_run_time(C); } else { _rcd=oRBC52run_class_dictionary; _i=1; while (!((_i)>(((T263*)_rcd)->_count))) { _rc=rT263item((T263*)_rcd,_i); /*IF*/if (((((T261*)_rc)->_at_run_time)&&(XrT58is_reference(((T261*)_rc)->_current_type)))&&(rT261is_a((T261*)_rc,(T0 *)C))) { rT261add_running(C,_rc); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (rT44invariant_check((T44*)oRBC27eiffel_run_control)) { rT158clear((T158*)oRBC261collector); rT50collect_invariant((T50*)rT261base_class(C),(T0 *)C); _r=rT261runnable(oRBC261collector,(C)->_current_type,NULL); /*IF*/if (((int)_r)) { {T260 *n=((T260*)se_new(260)); rT260from_runnable(n,_r); C->_invariant_assertion=(T0 *)n;} } /*FI*/} /*FI*/} T0* rT240twin(T240 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT240copy((T240*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT240to_runnable(T240 *C,T0* a1){ T0* R=NULL; /*IF*/if (!(XrT68current_type((C)->_expression))) { C->_expression=XrT68to_runnable((C)->_expression,a1); R=(T0 *)C; } else { R=rT240twin(C); /*(IRF3*/(((T240*)R)->_expression)=(XrT68to_runnable((C)->_expression,a1)); /*)*/} /*FI*/return R; } int rT240use_current(T240 *C){ int R=0; R=XrT68use_current((C)->_expression); return R; } void rT240copy(T240 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT240make(T240 *C,T0* a1,T0* a2){ C->_comment=a2; C->_expression=a1; } T0* rT239twin(T239 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT239copy((T239*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT239to_runnable(T239 *C,T0* a1){ T0* R=NULL; /*IF*/if (!(XrT68current_type((C)->_expression))) { C->_expression=XrT68to_runnable((C)->_expression,a1); R=(T0 *)C; } else { R=rT239twin(C); /*(IRF3*/(((T239*)R)->_expression)=(XrT68to_runnable((C)->_expression,a1)); /*)*/} /*FI*/return R; } int rT239use_current(T239 *C){ int R=0; R=XrT68use_current((C)->_expression); return R; } void rT239copy(T239 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT239make(T239 *C,T0* a1,T0* a2,T0* a3){ C->_comment=a3; C->_tag=a1; C->_expression=a2; } T0* rT237twin(T237 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT237copy((T237*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT237runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT158empty((T158*)a1))) { R=rT158twin((T158*)a1); _i=((T158*)R)->_upper; while (!((_i)==(0))) { rT52push((T52*)oRBC27small_eiffel,a3); _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2); /*IF*/if (!(_a)) { rT237error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473); } else { rT158put((T158*)R,_a,_i); } /*FI*/rT52pop((T52*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } T0* rT237to_runnable(T237 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (((int)(C)->_list)) { C->_list=rT237runnable((C)->_list,a1,rT52top_rf((T52*)oRBC27small_eiffel)); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT237twin(C); /*(IRF3*/(((T237*)R)->_current_type)=(NULL); /*)*/R=rT237to_runnable((T237*)R,a1); } /*FI*/return R; } void rT237error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT237use_current(T237 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=((T158*)(C)->_list)->_upper; while (!((R)||((_i)==(0)))) { R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } void rT237compile_to_c(T237 *C){ int _i=0; /*(IRF3*/(((T43*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms1335/*)*/); /*)*//*IF*/if (((int)(C)->_list)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms781); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1335/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms782); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1335/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms783); _i=1; while (!((_i)>(((T158*)(C)->_list)->_upper))) { rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i)); _i=(_i)+(1); } rT43put_string((T43*)oRBC27cpp,(T0 *)ms789); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1335/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms790); } /*FI*/} void rT237copy(T237 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT237make(T237 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; } void rT41put_integer(T41 *C,int a1){ /*(IRF3*/(((T7*)oRBC38tmp_string)->_count)=(0); /*)*/rT2append_in(a1,oRBC38tmp_string); rT41put_string(C,oRBC38tmp_string); } void rT41die_with_code(/*C*/int a1){ exit(a1); } void rT41put_string(T41 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT41put_character(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } } int rT41is_connected(T41 *C){ int R=0; R=((int)(C)->_path); return R; } void rT41disconnect(T41 *C){ int _err=0; _err=fclose((C)->_output_stream); C->_path=NULL; C->_output_stream=stdout; } void rT41connect_to(T41 *C,T0* a1){ C->_mode=(T0 *)ms523; C->_output_stream=rT41fopen(a1,(C)->_mode); /*IF*/{/*AT*/C->_path=a1; } /*FI*/} void rT41append_file(T41 *C,T0* a1){ char _c=0; rT42connect_to((T42*)rT41tmp_file_read(),a1); rT42read_character((T42*)rT41tmp_file_read()); while (!(rT42end_of_input((T42*)rT41tmp_file_read()))) { _c=rT42last_character((T42*)rT41tmp_file_read()); rT41put_character(C,_c); rT42read_character((T42*)rT41tmp_file_read()); } rT42disconnect((T42*)rT41tmp_file_read()); } int ofBC38tmp_file_read=0; T0*oRBC38tmp_file_read; T0* rT41tmp_file_read(/*C*/void){ if (ofBC38tmp_file_read==0){ T0* R=NULL; ofBC38tmp_file_read=1; {T42 *n=((T42*)se_new(42)); /*(IRF3*/((n)->_mode)=((T0 *)ms25); /*)*/R=(T0 *)n;} oRBC38tmp_file_read=R;} return oRBC38tmp_file_read;} void * rT41fopen(/*C*/T0* a1,T0* a2){ void * R=0; void * _pm=0; void * _pf=0; _pf=rT7to_external((T7*)a1); _pm=rT7to_external((T7*)a2); R=(void*)fopen(((char*)_pf),((char*)_pm)); return R; } void rT41put_character(T41 *C,char a1){ char _err=0; _err=fputc(a1,(C)->_output_stream); /*IF*/if ((_err)!=(a1)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms5); /*(IRF3*/rsp(); rT41die_with_code(1); /*)*/} /*FI*/} void rT41make(T41 *C){ C->_output_stream=stdout; } void rT284address_of(T284 *C){ rT43put_string((T43*)oRBC27cpp,(T0 *)ms1540); rT43put_string((T43*)oRBC27cpp,XrT67to_string((C)->_name)); rT43put_character((T43*)oRBC27cpp,'\51'); } void rT284compute_use_current(T284 *C){ C->_use_current_state=1018; } void rT284error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT284add_clients(T284 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(264,0,1,a1); } else { _i=((T264*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T264*)(C)->_actuals_clients)->_upper))||(((T0 *)rT264item((T264*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T264*)(C)->_actuals_clients)->_upper)) { rT264add_last((T264*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/} T0* rT284clients(T284 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT58base_class((C)->_current_type); _bfbc=((T257*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T257*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position((C)->_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT257start_position((T257*)(C)->_base_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1137); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string); rT284error(NULL,(T0 *)ms1138); } /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } int rT284id(T284 *C){ int R=0; R=XrT58id((C)->_current_type); return R; } T0* rT284start_position(T284 *C){ T0* R=NULL; R=rT257start_position((T257*)(C)->_base_feature); return R; } int rT284use_current(T284 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l38; goto l39; l38: ; R=1; goto l37; l39: ; if (1017 == iv1) goto l40; goto l41; l40: ; goto l37; l41: ; if (1019 == iv1) goto l42; goto l43; l42: ; C->_use_current_state=1020; rT284compute_use_current(C); R=rT284use_current(C); goto l37; l43: ; if (1020 == iv1) goto l44; goto l45; l44: ; R=1; goto l37; l45: ; l37: ; } return R; } int rT284can_be_dropped(T284 *C){ int R=0; R=(!((C)->_require_assertion))&&(!((C)->_ensure_assertion)); return R; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.