This is compile_to_c12.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" /*STD_OUTPUT*/void rT42put_integer(T42 *C,int a1){ /*[IRF3:clear*//*AW*/((T7*)oRBC39tmp_string)->_count=(0);/*]*/ rT2append_in(a1,oRBC39tmp_string); rT42put_string(C,oRBC39tmp_string); }/*STD_OUTPUT*/void rT42die_with_code(/*C*/int a1){ exit(a1); }/*STD_OUTPUT*/void rT42put_string(T42 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT42put_character(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } }/*STD_OUTPUT*/int rT42is_connected(T42 *C){ int R=0; R=((int)(C)->_path); return R; } /*STD_OUTPUT*/void rT42disconnect(T42 *C){ int _err=0; _err=fclose((C)->_output_stream); C->_path=NULL; C->_output_stream=stdout; }/*STD_OUTPUT*/void rT42connect_to(T42 *C,T0* a1){ C->_mode=(T0 *)ms1_39; C->_output_stream=rT42fopen(a1,(C)->_mode); /*IF*/{/*AT*/C->_path=a1; } /*FI*/}/*STD_OUTPUT*/void rT42append_file(T42 *C,T0* a1){ char _c=0; rT43connect_to((T43*)oRBC39tmp_file_read,a1); rT43read_character((T43*)oRBC39tmp_file_read); while (!(rT43end_of_input((T43*)oRBC39tmp_file_read))) { _c=rT43last_character((T43*)oRBC39tmp_file_read); rT42put_character(C,_c); rT43read_character((T43*)oRBC39tmp_file_read); } rT43disconnect((T43*)oRBC39tmp_file_read); }T0*oRBC39tmp_file_read; /*STD_OUTPUT*/void * rT42fopen(/*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; } /*STD_OUTPUT*/void rT42put_character(T42 *C,char a1){ char _err=0; _err=fputc(a1,(C)->_output_stream); /*IF*/if ((_err)!=(a1)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms2_39); /*[IRF3:crash*/rsp(); rT42die_with_code(1); /*]*/ } /*FI*/}/*STD_OUTPUT*/void rT42make(T42 *C){ C->_output_stream=stdout; }/*RUN_FEATURE_2*/void rT291address_of(T291 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_291); rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); rT44put_character((T44*)oRBC27cpp,'\51'); }/*RUN_FEATURE_2*/void rT291error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_2*/void rT291add_clients(T291 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(271,0,1,a1); } else { _i=((T271*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) { rT271add_last((T271*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/}/*RUN_FEATURE_2*/T0* rT291clients(T291 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T264*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T264*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position); rT48add_position(rT264start_position((T264*)(C)->_base_feature)); rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string); rT48append((T0 *)ms1_268); rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT291error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_2*/int rT291id(T291 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_2*/T0* rT291start_position(T291 *C){ T0* R=NULL; R=rT264start_position((T264*)(C)->_base_feature); return R; } /*RUN_FEATURE_2*/int rT291use_current(T291 *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; /*[IRF3:compute_use_current*//*AW*/(C)->_use_current_state=(1018);/*]*/ R=rT291use_current(C); goto l37; l43: ; if (1020 == iv1) goto l44; goto l45; l44: ; R=1; goto l37; l45: ; l37: ; } return R; } /*RUN_FEATURE_2*/void rT291mapping_c(T291 *C){ /*IF*/if (XrT62fast_mapping_c((C)->_current_type)) { rT44put_target((T44*)oRBC27cpp); } else { rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_291); rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); } /*FI*/}/*RUN_FEATURE_2*/void rT291mapping_name(T291 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT291id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_2*/T0* rT291run_class(T291 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_2*/int rT291is_exported_in(T291 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT291clients(C),a1); return R; } /*RUN_FEATURE_2*/int rT291arg_count(T291 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_2*/void rT291initialize(T291 *C){ C->_result_type=XrT62to_runnable(((T264*)(C)->_base_feature)->_result_type,(C)->_current_type); }/*RUN_FEATURE_2*/void rT291fall_down(T291 *C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=XrT62run_class((C)->_current_type); _running=((T269*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT62base_class((C)->_current_type); _i=((T271*)_running)->_lower; while (!((_i)>(((T271*)_running)->_upper))) { _sub_rc=rT271item((T271*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type); _sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name); _rf=rT269get_feature((T269*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/}/*RUN_FEATURE_2*/void rT291make(T291 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT291run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name)); rT55incr_magic_count((T55*)oRBC27small_eiffel); C->_use_current_state=1019; rT55push((T55*)oRBC27small_eiffel,(T0 *)C); rT291initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_5*/void rT290address_of(T290 *C){ rT290mapping_name(C); }/*RUN_FEATURE_5*/void rT290once_flag(T290 *C){ rT44put_character((T44*)oRBC27cpp,'o'); rT44put_character((T44*)oRBC27cpp,'f'); rT262mapping_c_name((T262*)(C)->_base_feature); }/*RUN_FEATURE_5*/void rT290once_boolean(T290 *C){ rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms26_268); rT290once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms27_268); rT44swap_on_c((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms28_268); rT290once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms29_268); }/*RUN_FEATURE_5*/void rT290compute_use_current(T290 *C){ rT290std_compute_use_current(C); }/*RUN_FEATURE_5*/void rT290define_closing(T290 *C){ /*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_unlink((T44*)oRBC27cpp); } /*FI*/}T0*oRBC268dos; /*RUN_FEATURE_5*/void rT290define_opening(T290 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT62run_type((C)->_result_type); /*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/ XrT62c_type_in(_t,oRBC268dos); rT44put_string((T44*)oRBC27cpp,oRBC268dos); rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268); XrT62c_initialize(_t); rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT141compile_to_c((T141*)(C)->_local_vars); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c_old((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT141initialize_expanded((T141*)(C)->_local_vars); } /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_link((T44*)oRBC27cpp,(T0 *)C); /*IF*/if (rT290use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT290arg_count(C)))) { _t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i)); rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { _i=1; while (!((_i)>(rT141count((T141*)(C)->_local_vars)))) { _t=XrT62run_type(rT141type((T141*)(C)->_local_vars,_i)); rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)(C)->_local_vars,_i))->_to_string,_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT275compile_to_c((T275*)(C)->_require_assertion); } /*FI*/} /*FI*/}/*RUN_FEATURE_5*/void rT290define_prototype(T290 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT290id(C); /*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268); _fn=rT262first_name((T262*)(C)->_base_feature); /*IF*/if (XrT71is_infix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268); } else if (XrT71is_prefix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268); } /*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268); rT44put_string((T44*)oRBC27cpp,((T51*)rT262base_class_name((T262*)(C)->_base_feature))->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268); } /*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms13_268); rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type)); rT7append((T7*)oRBC268dps,(T0 *)ms14_268); /*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC268dps,(T0 *)ms15_268); } else { _t=XrT62run_type((C)->_result_type); XrT62c_type_in(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268); rT2append_in(_mem_id,oRBC268dps); XrT71mapping_c_in((C)->_name,oRBC268dps); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (rT290use_current(C)) { rT7extend((T7*)oRBC268dps,'T'); rT2append_in(_mem_id,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); /*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC268dps,'\52'); } /*FI*/rT7extend((T7*)oRBC268dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC268dps,(T0 *)ms17_268); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT290use_current(C))) { rT7append((T7*)oRBC268dps,(T0 *)ms18_268); } /*FI*/} else { rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7extend((T7*)oRBC268dps,'\51'); rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }T0*oRBC268dps; /*RUN_FEATURE_5*/void rT290error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_5*/void rT290add_clients(T290 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(271,0,1,a1); } else { _i=((T271*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) { rT271add_last((T271*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/}/*RUN_FEATURE_5*/T0* rT290clients(T290 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T262*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T262*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position); rT48add_position(rT262start_position((T262*)(C)->_base_feature)); rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string); rT48append((T0 *)ms1_268); rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT290error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_5*/void rT290std_compute_use_current(T290 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT275use_current((T275*)(C)->_require_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_routine_body)) { /*IF*/if (rT142use_current((T142*)(C)->_routine_body)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_ensure_assertion)) { /*IF*/if (rT161use_current((T161*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/}/*RUN_FEATURE_5*/int rT290id(T290 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_5*/T0* rT290start_position(T290 *C){ T0* R=NULL; R=rT262start_position((T262*)(C)->_base_feature); return R; } /*RUN_FEATURE_5*/int rT290use_current(T290 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l47; goto l48; l47: ; R=1; goto l46; l48: ; if (1017 == iv1) goto l49; goto l50; l49: ; goto l46; l50: ; if (1019 == iv1) goto l51; goto l52; l51: ; C->_use_current_state=1020; rT290compute_use_current(C); R=rT290use_current(C); goto l46; l52: ; if (1020 == iv1) goto l53; goto l54; l53: ; R=1; goto l46; l54: ; l46: ; } return R; } /*RUN_FEATURE_5*/void rT290c_define(T290 *C){ T0* _bfbc=NULL; _bfbc=((T262*)(C)->_base_feature)->_base_class; /*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) { rT290once_boolean(C); rT53set_already_defined((T53*)_bfbc,(C)->_name); } /*FI*/rT290define_prototype(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_290); rT290once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_290); rT290define_opening(C); rT290once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_290); /*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*/rT290define_closing(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_290); }/*RUN_FEATURE_5*/void rT290mapping_c(T290 *C){ int _tcbd=0; /*IF*/if (rT290use_current(C)) { rT290mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); /*IF*/if ((rT290arg_count(C))>(0)) { rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_290); } else { _tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp); rT290mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if ((rT290arg_count(C))>(0)) { rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_290); } /*FI*/}/*RUN_FEATURE_5*/void rT290mapping_name(T290 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT290id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_5*/T0* rT290run_class(T290 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_5*/int rT290is_exported_in(T290 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT290clients(C),a1); return R; } /*RUN_FEATURE_5*/int rT290arg_count(T290 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_5*/void rT290initialize(T290 *C){ C->_arguments=((T262*)(C)->_base_feature)->_arguments; /*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) { C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_local_vars=((T262*)(C)->_base_feature)->_local_vars; /*IF*/if ((((int)(C)->_local_vars))&&((rT141count((T141*)(C)->_local_vars))>(0))) { C->_local_vars=rT141to_runnable((T141*)(C)->_local_vars,(C)->_current_type); } /*FI*/C->_routine_body=((T262*)(C)->_base_feature)->_routine_body; /*IF*/if (((int)(C)->_routine_body)) { C->_routine_body=rT142to_runnable((T142*)(C)->_routine_body,(C)->_current_type); } /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { C->_require_assertion=rT262run_require((T0 *)C); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT262run_ensure((T0 *)C); } /*FI*/}/*RUN_FEATURE_5*/void rT290fall_down(T290 *C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=XrT62run_class((C)->_current_type); _running=((T269*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT62base_class((C)->_current_type); _i=((T271*)_running)->_lower; while (!((_i)>(((T271*)_running)->_upper))) { _sub_rc=rT271item((T271*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type); _sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name); _rf=rT269get_feature((T269*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/}/*RUN_FEATURE_5*/void rT290make(T290 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT290run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name)); rT55incr_magic_count((T55*)oRBC27small_eiffel); C->_use_current_state=1019; rT55push((T55*)oRBC27small_eiffel,(T0 *)C); rT290initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_4*/void rT289address_of(T289 *C){ rT289mapping_name(C); }/*RUN_FEATURE_4*/int rT289is_static(T289 *C){ int R=0; C->_static_value_mem=-(7); /*IF*/if (rT289isa_in_line(C)) { R=((C)->_static_value_mem)!=(-(7)); } /*FI*/return R; } /*RUN_FEATURE_4*/void rT289compute_use_current(T289 *C){ rT289std_compute_use_current(C); }/*RUN_FEATURE_4*/int rT289isa_in_line(T289 *C){ int R=0; T0* _expression=NULL; T0* _a=NULL; /*IF*/if (rT47boost((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((rT289arg_count(C))==(0))&&(!((C)->_local_vars))) { /*IF*/if (!((C)->_routine_body)) { C->_static_value_mem=0; R=1; } else if ((rT142count((T142*)(C)->_routine_body))==(1)) { _a=rT142first((T142*)(C)->_routine_body); if ((int)_a) switch (((T0 *)_a)->id) { case 256: break; default: _a = NULL; };/*IF*/if (((int)_a)) { _expression=((T256*)_a)->_left_side; /*IF*/if (XrT72is_result(_expression)) { _expression=((T256*)_a)->_right_side; R=!(XrT72use_current(_expression)); /*IF*/if (R) { /*IF*/if (XrT72is_static(_expression)) { C->_static_value_mem=XrT72static_value(_expression); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*RUN_FEATURE_4*/void rT289define_closing(T289 *C){ /*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_unlink((T44*)oRBC27cpp); } /*FI*/}/*RUN_FEATURE_4*/void rT289define_opening(T289 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT62run_type((C)->_result_type); /*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/ XrT62c_type_in(_t,oRBC268dos); rT44put_string((T44*)oRBC27cpp,oRBC268dos); rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268); XrT62c_initialize(_t); rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT141compile_to_c((T141*)(C)->_local_vars); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c_old((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT141initialize_expanded((T141*)(C)->_local_vars); } /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_link((T44*)oRBC27cpp,(T0 *)C); /*IF*/if (rT289use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT289arg_count(C)))) { _t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i)); rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { _i=1; while (!((_i)>(rT141count((T141*)(C)->_local_vars)))) { _t=XrT62run_type(rT141type((T141*)(C)->_local_vars,_i)); rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)(C)->_local_vars,_i))->_to_string,_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT275compile_to_c((T275*)(C)->_require_assertion); } /*FI*/} /*FI*/}/*RUN_FEATURE_4*/void rT289define_prototype(T289 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT289id(C); /*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268); _fn=rT260first_name((T260*)(C)->_base_feature); /*IF*/if (XrT71is_infix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268); } else if (XrT71is_prefix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268); } /*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268); rT44put_string((T44*)oRBC27cpp,((T51*)rT260base_class_name((T260*)(C)->_base_feature))->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268); } /*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms13_268); rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type)); rT7append((T7*)oRBC268dps,(T0 *)ms14_268); /*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC268dps,(T0 *)ms15_268); } else { _t=XrT62run_type((C)->_result_type); XrT62c_type_in(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268); rT2append_in(_mem_id,oRBC268dps); XrT71mapping_c_in((C)->_name,oRBC268dps); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (rT289use_current(C)) { rT7extend((T7*)oRBC268dps,'T'); rT2append_in(_mem_id,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); /*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC268dps,'\52'); } /*FI*/rT7extend((T7*)oRBC268dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC268dps,(T0 *)ms17_268); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT289use_current(C))) { rT7append((T7*)oRBC268dps,(T0 *)ms18_268); } /*FI*/} else { rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7extend((T7*)oRBC268dps,'\51'); rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }/*RUN_FEATURE_4*/void rT289error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_4*/void rT289in_line(T289 *C){ int _tcbd=0; T0* _e=NULL; T0* _a=NULL; rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_289); _tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp); /*IF*/if (!((C)->_routine_body)) { XrT62c_initialize(XrT62run_type((C)->_result_type)); } else { _a=rT142first((T142*)(C)->_routine_body); if ((int)_a) switch (((T0 *)_a)->id) { case 256: break; default: _a = NULL; };_e=((T256*)_a)->_right_side; /*IF*/if (XrT72is_manifest_string(_e)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_289); } /*FI*/XrT72compile_to_c(_e); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_289); /*IF*/if (_tcbd) { rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/}/*RUN_FEATURE_4*/void rT289add_clients(T289 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(271,0,1,a1); } else { _i=((T271*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) { rT271add_last((T271*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/}/*RUN_FEATURE_4*/T0* rT289clients(T289 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T260*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T260*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position); rT48add_position(rT260start_position((T260*)(C)->_base_feature)); rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string); rT48append((T0 *)ms1_268); rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT289error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_4*/void rT289std_compute_use_current(T289 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT275use_current((T275*)(C)->_require_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_routine_body)) { /*IF*/if (rT142use_current((T142*)(C)->_routine_body)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_ensure_assertion)) { /*IF*/if (rT161use_current((T161*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/}/*RUN_FEATURE_4*/int rT289id(T289 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_4*/T0* rT289start_position(T289 *C){ T0* R=NULL; R=rT260start_position((T260*)(C)->_base_feature); return R; } /*RUN_FEATURE_4*/int rT289use_current(T289 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l56; goto l57; l56: ; R=1; goto l55; l57: ; if (1017 == iv1) goto l58; goto l59; l58: ; goto l55; l59: ; if (1019 == iv1) goto l60; goto l61; l60: ; C->_use_current_state=1020; rT289compute_use_current(C); R=rT289use_current(C); goto l55; l61: ; if (1020 == iv1) goto l62; goto l63; l62: ; R=1; goto l55; l63: ; l55: ; } return R; } /*RUN_FEATURE_4*/void rT289c_define(T289 *C){ /*IF*/if (rT289isa_in_line(C)) { rT44incr_inlined_function_count((T44*)oRBC27cpp); } else { /*IF*/if (rT289use_current(C)) { rT44incr_function_count((T44*)oRBC27cpp); } else { rT44incr_real_function_count((T44*)oRBC27cpp); } /*FI*/rT289define_prototype(C); rT289define_opening(C); /*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*/rT289define_closing(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_289); } /*FI*/}/*RUN_FEATURE_4*/int rT289can_be_dropped(T289 *C){ int R=0; R=((((!((C)->_arguments))&&(!((C)->_local_vars)))&&(!((C)->_require_assertion)))&&(!((C)->_ensure_assertion)))&&(!((C)->_rescue_compound)); /*IF*/if (R) { /*IF*/if (((int)(C)->_routine_body)) { R=0; } /*FI*/} /*FI*/return R; } /*RUN_FEATURE_4*/void rT289mapping_c(T289 *C){ int _tcbd=0; /*IF*/if (rT289isa_in_line(C)) { rT289in_line(C); } else if (rT289use_current(C)) { rT289mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); /*IF*/if ((rT289arg_count(C))>(0)) { rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_character((T44*)oRBC27cpp,'\51'); } else { _tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp); rT289mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if ((rT289arg_count(C))>(0)) { rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_character((T44*)oRBC27cpp,'\51'); /*IF*/if (_tcbd) { rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/} /*FI*/}/*RUN_FEATURE_4*/void rT289mapping_name(T289 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT289id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_4*/T0* rT289run_class(T289 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_4*/int rT289is_exported_in(T289 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT289clients(C),a1); return R; } /*RUN_FEATURE_4*/int rT289arg_count(T289 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_4*/void rT289initialize(T289 *C){ C->_arguments=((T260*)(C)->_base_feature)->_arguments; /*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) { C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_result_type=XrT62to_runnable(((T260*)(C)->_base_feature)->_result_type,(C)->_current_type); C->_local_vars=((T260*)(C)->_base_feature)->_local_vars; /*IF*/if ((((int)(C)->_local_vars))&&((rT141count((T141*)(C)->_local_vars))>(0))) { C->_local_vars=rT141to_runnable((T141*)(C)->_local_vars,(C)->_current_type); } /*FI*/C->_routine_body=((T260*)(C)->_base_feature)->_routine_body; /*IF*/if (((int)(C)->_routine_body)) { C->_routine_body=rT142to_runnable((T142*)(C)->_routine_body,(C)->_current_type); } /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { C->_require_assertion=rT260run_require((T0 *)C); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT260run_ensure((T0 *)C); } /*FI*/}/*RUN_FEATURE_4*/void rT289fall_down(T289 *C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=XrT62run_class((C)->_current_type); _running=((T269*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT62base_class((C)->_current_type); _i=((T271*)_running)->_lower; while (!((_i)>(((T271*)_running)->_upper))) { _sub_rc=rT271item((T271*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type); _sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name); _rf=rT269get_feature((T269*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/}/*RUN_FEATURE_4*/void rT289make(T289 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT289run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name)); rT55incr_magic_count((T55*)oRBC27small_eiffel); C->_use_current_state=1019; rT55push((T55*)oRBC27small_eiffel,(T0 *)C); rT289initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_8*/void rT288address_of(T288 *C){ rT288mapping_name(C); }/*RUN_FEATURE_8*/void rT288map_external(/*C*/T0* a1,T0* a2){ /*IF*/if (XrT62is_reference(a1)) { rT7append((T7*)a2,(T0 *)ms126_27); } else { XrT62c_type_in(a1,a2); } /*FI*/}/*RUN_FEATURE_8*/T0* rT288to_c_numeric_operator(/*C*/T0* a1){ T0* R=NULL; /*IF*/if (rT7is_equal(ms19_288,a1)) { R=(T0 *)ms20_288; } else if (rT7is_equal(ms21_288,a1)) { R=(T0 *)ms125_27; } else { R=a1; } /*FI*/return R; } /*RUN_FEATURE_8*/void rT288define_prototype(T288 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT288id(C); /*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268); _fn=rT220first_name((T220*)(C)->_base_feature); /*IF*/if (XrT71is_infix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268); } else if (XrT71is_prefix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268); } /*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268); rT44put_string((T44*)oRBC27cpp,((T51*)rT220base_class_name((T220*)(C)->_base_feature))->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268); } /*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms13_268); rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type)); rT7append((T7*)oRBC268dps,(T0 *)ms14_268); /*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC268dps,(T0 *)ms15_268); } else { _t=XrT62run_type((C)->_result_type); XrT62c_type_in(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268); rT2append_in(_mem_id,oRBC268dps); XrT71mapping_c_in((C)->_name,oRBC268dps); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (rT288use_current(C)) { rT7extend((T7*)oRBC268dps,'T'); rT2append_in(_mem_id,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); /*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC268dps,'\52'); } /*FI*/rT7extend((T7*)oRBC268dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC268dps,(T0 *)ms17_268); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT288use_current(C))) { rT7append((T7*)oRBC268dps,(T0 *)ms18_268); } /*FI*/} else { rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7extend((T7*)oRBC268dps,'\51'); rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }/*RUN_FEATURE_8*/void rT288define_opening(T288 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT62run_type((C)->_result_type); /*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/ XrT62c_type_in(_t,oRBC268dos); rT44put_string((T44*)oRBC27cpp,oRBC268dos); rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268); XrT62c_initialize(_t); rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268); } /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { rT141compile_to_c((T141*)/*(IRF4*/NULL/*)*/); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c_old((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { rT141initialize_expanded((T141*)/*(IRF4*/NULL/*)*/); } /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_link((T44*)oRBC27cpp,(T0 *)C); /*IF*/if (rT288use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT288arg_count(C)))) { _t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i)); rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { _i=1; while (!((_i)>(rT141count((T141*)/*(IRF4*/NULL/*)*/)))) { _t=XrT62run_type(rT141type((T141*)/*(IRF4*/NULL/*)*/,_i)); rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)/*(IRF4*/NULL/*)*/,_i))->_to_string,_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT275compile_to_c((T275*)(C)->_require_assertion); } /*FI*/} /*FI*/}/*RUN_FEATURE_8*/void rT288define_closing(T288 *C){ /*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_unlink((T44*)oRBC27cpp); } /*FI*/}T0*oRBC288arg1_ansi_math; /*RUN_FEATURE_8*/T0* rT288clients(T288 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T220*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T220*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position); rT48add_position(rT220start_position((T220*)(C)->_base_feature)); rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string); rT48append((T0 *)ms1_268); rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT288error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_8*/int rT288id(T288 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_8*/void rT288std_compute_use_current(T288 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT275use_current((T275*)(C)->_require_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_routine_body)) { /*IF*/if (rT142use_current((T142*)(C)->_routine_body)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_ensure_assertion)) { /*IF*/if (rT161use_current((T161*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/}/*RUN_FEATURE_8*/int rT288use_current(T288 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l65; goto l66; l65: ; R=1; goto l64; l66: ; if (1017 == iv1) goto l67; goto l68; l67: ; goto l64; l68: ; if (1019 == iv1) goto l69; goto l70; l69: ; C->_use_current_state=1020; rT288compute_use_current(C); R=rT288use_current(C); goto l64; l70: ; if (1020 == iv1) goto l71; goto l72; l71: ; R=1; goto l64; l72: ; l64: ; } return R; } /*RUN_FEATURE_8*/void rT288mapping_cse_double(T288 *C){ T0* _n=NULL; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; /*IF*/if (rT7is_equal(ms22_288,_n)) { rT44include((T44*)oRBC27cpp,(T0 *)ms123_27); rT44put_string((T44*)oRBC27cpp,(T0 *)ms23_288); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (rT45has((T45*)oRBC288arg1_ansi_math,_n)) { rT44include((T44*)oRBC27cpp,(T0 *)ms123_27); rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (rT7is_equal(ms24_288,_n)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms25_288); rT44put_target((T44*)oRBC27cpp); } else { _n=rT288to_c_numeric_operator(_n); /*IF*/if ((rT288arg_count(C))==(1)) { rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else { rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/} /*FI*/}/*RUN_FEATURE_8*/T0* rT288run_class(T288 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_8*/void rT288mapping_name(T288 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT288id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_8*/void rT288mapping_c(T288 *C){ int _bfuc=0; /*IF*/if (rT220is_cse((T220*)(C)->_base_feature)) { rT288mapping_cse(C); } else { _bfuc=rT220use_current((T220*)(C)->_base_feature); /*IF*/if ((!(_bfuc))&&(rT44target_cannot_be_dropped((T44*)oRBC27cpp))) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_288); } /*FI*/rT44put_string((T44*)oRBC27cpp,((T220*)(C)->_base_feature)->_external_name); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if (_bfuc) { rT44put_target((T44*)oRBC27cpp); } /*FI*//*IF*/if ((rT288arg_count(C))>(0)) { /*IF*/if (_bfuc) { rT44put_character((T44*)oRBC27cpp,'\54'); } /*FI*/rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse(T288 *C){ T0* _n=NULL; T0* _bcn=NULL; _bcn=((T51*)((T53*)((T220*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; /*IF*/if (((T0 *)(T0 *)ms48_27)==((T0 *)_bcn)) { /*IF*/if (rT7is_equal((T7*)(T0 *)ms72_27,_n)) { rT44put_generating_type((T44*)oRBC27cpp,(C)->_current_type); } else if (rT7is_equal((T7*)(T0 *)ms73_27,_n)) { rT44put_generator((T44*)oRBC27cpp,(C)->_current_type); } else if (rT7is_equal((T7*)(T0 *)ms92_27,_n)) { rT44put_to_pointer((T44*)oRBC27cpp); } else if (rT7is_equal((T7*)(T0 *)ms80_27,_n)) { rT44put_object_size((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/} else if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) { rT288mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (((T0 *)(T0 *)ms49_27)==((T0 *)_bcn)) { rT288mapping_cse_integer(C); } else if (((T0 *)(T0 *)ms55_27)==((T0 *)_bcn)) { rT288mapping_cse_real(C); } else if (((T0 *)(T0 *)ms45_27)==((T0 *)_bcn)) { rT288mapping_cse_double(C); } else if (((T0 *)(T0 *)ms40_27)==((T0 *)_bcn)) { /*IF*/if (rT7is_equal((T7*)(T0 *)ms117_27,_n)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_288); rT44put_target((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_288); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else { rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); /*IF*/if (rT7is_equal((T7*)(T0 *)ms82_27,_n)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_288); } else { rT44put_string((T44*)oRBC27cpp,(T0 *)ms13_288); } /*FI*/rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/} else if (((T0 *)(T0 *)ms42_27)==((T0 *)_bcn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms15_288); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (((T0 *)(T0 *)ms53_27)==((T0 *)_bcn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms17_288); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (((T0 *)(T0 *)ms51_27)==((T0 *)_bcn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms18_288); } else if (((T0 *)(T0 *)ms39_27)==((T0 *)_bcn)) { rT44put_bit_count((T44*)oRBC27cpp); } else { rT44put_string((T44*)oRBC27cpp,_n); } /*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse_integer(T288 *C){ T0* _n=NULL; _n=rT288to_c_numeric_operator(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); /*IF*/if ((rT288arg_count(C))==(1)) { rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else if (rT7is_equal((T7*)(T0 *)ms91_27,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string)) { rT44put_target((T44*)oRBC27cpp); } else { rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse_real(T288 *C){ T0* _n=NULL; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; _n=rT288to_c_numeric_operator(_n); /*IF*/if ((rT288arg_count(C))==(1)) { rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_arguments((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } else { rT44put_string((T44*)oRBC27cpp,_n); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); } /*FI*/}/*RUN_FEATURE_8*/int rT288is_exported_in(T288 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT288clients(C),a1); return R; } /*RUN_FEATURE_8*/void rT288initialize(T288 *C){ C->_arguments=((T220*)(C)->_base_feature)->_arguments; /*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) { C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_result_type=XrT62to_runnable(((T220*)(C)->_base_feature)->_result_type,(C)->_current_type); }/*RUN_FEATURE_8*/void rT288make(T288 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT288run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name)); rT55incr_magic_count((T55*)oRBC27small_eiffel); C->_use_current_state=1019; rT55push((T55*)oRBC27small_eiffel,(T0 *)C); rT288initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_8*/int rT288is_static(T288 *C){ int R=0; T0* _n=NULL; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; /*IF*/if (rT7is_equal((T7*)(T0 *)ms75_27,_n)) { R=1; /*IF*/if (XrT62is_expanded((C)->_current_type)) { C->_static_value_mem=1; } /*FI*/} else if (rT7is_equal((T7*)(T0 *)ms74_27,_n)) { R=1; /*IF*/if (XrT62fast_mapping_c((C)->_current_type)) { C->_static_value_mem=1; } /*FI*/} /*FI*/return R; } T0*oRBC288tmp_string; /*RUN_FEATURE_8*/void rT288compute_use_current(T288 *C){ /*IF*/if (rT220use_current((T220*)(C)->_base_feature)) { C->_use_current_state=1018; } else { rT288std_compute_use_current(C); } /*FI*/}/*RUN_FEATURE_8*/void rT288external_prototype(T288 *C,T0* a1){ T0* _t=NULL; /*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms21_268); _t=(C)->_result_type; /*IF*/if (!(_t)) { rT7append((T7*)oRBC268dps,(T0 *)ms22_268); } else { rT288map_external(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,/*XrT*EXTERNAL_ROUTINE*/((T219*)a1)->_external_name); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (XrT218use_current(a1)) { rT288map_external((C)->_current_type,oRBC268dps); rT7append((T7*)oRBC268dps,(T0 *)ms23_268); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(XrT218use_current(a1))) { rT7append((T7*)oRBC268dps,(T0 *)ms24_268); } /*FI*/} else { rT97external_prototype((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms25_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }/*RUN_FEATURE_8*/void rT288error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_8*/void rT288add_clients(T288 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(271,0,1,a1); } else { _i=((T271*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) { rT271add_last((T271*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/}/*RUN_FEATURE_8*/T0* rT288start_position(T288 *C){ T0* R=NULL; R=rT220start_position((T220*)(C)->_base_feature); return R; } /*RUN_FEATURE_8*/void rT288c_define(T288 *C){ T0* _bcn=NULL; /*IF*/if (rT220is_cse((T220*)(C)->_base_feature)) { _bcn=((T51*)((T53*)((T220*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string; /*IF*/if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) { rT288define_prototype(C); rT288define_opening(C); rT7copy((T7*)oRBC288tmp_string,(T0 *)ms5_288); XrT62c_type_in(XrT62run_type((C)->_result_type),oRBC288tmp_string); rT7append((T7*)oRBC288tmp_string,(T0 *)ms6_288); /*IF*/if (((T0 *)(T0 *)ms37_27)==((T0 *)_bcn)) { rT7append((T7*)oRBC288tmp_string,(T0 *)ms7_288); } /*FI*/rT7append((T7*)oRBC288tmp_string,(T0 *)ms8_288); rT44put_string((T44*)oRBC27cpp,oRBC288tmp_string); rT288define_closing(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_288); } /*FI*/} else if (rT220need_prototype((T220*)(C)->_base_feature)) { rT288external_prototype(C,(C)->_base_feature); } /*FI*/}/*RUN_FEATURE_8*/int rT288arg_count(T288 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_8*/void rT288fall_down(T288 *C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=XrT62run_class((C)->_current_type); _running=((T269*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT62base_class((C)->_current_type); _i=((T271*)_running)->_lower; while (!((_i)>(((T271*)_running)->_upper))) { _sub_rc=rT271item((T271*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type); _sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name); _rf=rT269get_feature((T269*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/}/*RUN_FEATURE_7*/void rT287address_of(T287 *C){ rT287mapping_name(C); }/*RUN_FEATURE_7*/void rT287map_external(/*C*/T0* a1,T0* a2){ /*IF*/if (XrT62is_reference(a1)) { rT7append((T7*)a2,(T0 *)ms126_27); } else { XrT62c_type_in(a1,a2); } /*FI*/}T0*oRBC287tmp_string; /*RUN_FEATURE_7*/void rT287compute_use_current(T287 *C){ /*IF*/if (rT219use_current((T219*)(C)->_base_feature)) { C->_use_current_state=1018; } else { rT287std_compute_use_current(C); } /*FI*/}/*RUN_FEATURE_7*/void rT287define_closing(T287 *C){ /*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_unlink((T44*)oRBC27cpp); } /*FI*/}/*RUN_FEATURE_7*/void rT287define_opening(T287 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT62run_type((C)->_result_type); /*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/ XrT62c_type_in(_t,oRBC268dos); rT44put_string((T44*)oRBC27cpp,oRBC268dos); rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268); XrT62c_initialize(_t); rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268); } /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { rT141compile_to_c((T141*)/*(IRF4*/NULL/*)*/); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c_old((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { rT141initialize_expanded((T141*)/*(IRF4*/NULL/*)*/); } /*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44rs_link((T44*)oRBC27cpp,(T0 *)C); /*IF*/if (rT287use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT287arg_count(C)))) { _t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i)); rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)/*(IRF4*/NULL/*)*/)) { _i=1; while (!((_i)>(rT141count((T141*)/*(IRF4*/NULL/*)*/)))) { _t=XrT62run_type(rT141type((T141*)/*(IRF4*/NULL/*)*/,_i)); rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)/*(IRF4*/NULL/*)*/,_i))->_to_string,_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT275compile_to_c((T275*)(C)->_require_assertion); } /*FI*/} /*FI*/}/*RUN_FEATURE_7*/void rT287define_prototype(T287 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT287id(C); /*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268); _fn=rT219first_name((T219*)(C)->_base_feature); /*IF*/if (XrT71is_infix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268); } else if (XrT71is_prefix_name(_fn)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268); } /*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268); rT44put_string((T44*)oRBC27cpp,((T51*)rT219base_class_name((T219*)(C)->_base_feature))->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268); rT44put_integer((T44*)oRBC27cpp,_mem_id); XrT71mapping_c((C)->_name); rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268); } /*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms13_268); rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type)); rT7append((T7*)oRBC268dps,(T0 *)ms14_268); /*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC268dps,(T0 *)ms15_268); } else { _t=XrT62run_type((C)->_result_type); XrT62c_type_in(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268); rT2append_in(_mem_id,oRBC268dps); XrT71mapping_c_in((C)->_name,oRBC268dps); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (rT287use_current(C)) { rT7extend((T7*)oRBC268dps,'T'); rT2append_in(_mem_id,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); /*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC268dps,'\52'); } /*FI*/rT7extend((T7*)oRBC268dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC268dps,(T0 *)ms17_268); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT287use_current(C))) { rT7append((T7*)oRBC268dps,(T0 *)ms18_268); } /*FI*/} else { rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7extend((T7*)oRBC268dps,'\51'); rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }/*RUN_FEATURE_7*/void rT287external_prototype(T287 *C,T0* a1){ T0* _t=NULL; /*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/ rT7append((T7*)oRBC268dps,(T0 *)ms21_268); _t=(C)->_result_type; /*IF*/if (!(_t)) { rT7append((T7*)oRBC268dps,(T0 *)ms22_268); } else { rT287map_external(_t,oRBC268dps); rT7extend((T7*)oRBC268dps,'\40'); } /*FI*/rT7append((T7*)oRBC268dps,/*XrT*EXTERNAL_ROUTINE*/((T219*)a1)->_external_name); rT7extend((T7*)oRBC268dps,'\50'); /*IF*/if (XrT218use_current(a1)) { rT287map_external((C)->_current_type,oRBC268dps); rT7append((T7*)oRBC268dps,(T0 *)ms23_268); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC268dps,'\54'); } /*FI*/} /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(XrT218use_current(a1))) { rT7append((T7*)oRBC268dps,(T0 *)ms24_268); } /*FI*/} else { rT97external_prototype((T97*)(C)->_arguments,oRBC268dps); } /*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms25_268); rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,oRBC268dps); rT44swap_on_c((T44*)oRBC27cpp); }/*RUN_FEATURE_7*/void rT287error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_7*/void rT287add_clients(T287 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(271,0,1,a1); } else { _i=((T271*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) { rT271add_last((T271*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/}/*RUN_FEATURE_7*/T0* rT287clients(T287 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T219*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T219*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position); rT48add_position(rT219start_position((T219*)(C)->_base_feature)); rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string); rT48append((T0 *)ms1_268); rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT287error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_7*/void rT287std_compute_use_current(T287 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT275use_current((T275*)(C)->_require_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_routine_body)) { /*IF*/if (rT142use_current((T142*)(C)->_routine_body)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_ensure_assertion)) { /*IF*/if (rT161use_current((T161*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/}/*RUN_FEATURE_7*/int rT287id(T287 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_7*/T0* rT287start_position(T287 *C){ T0* R=NULL; R=rT219start_position((T219*)(C)->_base_feature); return R; } /*RUN_FEATURE_7*/int rT287use_current(T287 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l74; goto l75; l74: ; R=1; goto l73; l75: ; if (1017 == iv1) goto l76; goto l77; l76: ; goto l73; l77: ; if (1019 == iv1) goto l78; goto l79; l78: ; C->_use_current_state=1020; rT287compute_use_current(C); R=rT287use_current(C); goto l73; l79: ; if (1020 == iv1) goto l80; goto l81; l80: ; R=1; goto l73; l81: ; l73: ; } return R; } /*RUN_FEATURE_7*/void rT287c_define(T287 *C){ T0* _bcn=NULL; /*IF*/if (rT219is_cse((T219*)(C)->_base_feature)) { _bcn=((T51*)((T53*)((T219*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string; /*IF*/if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) { rT287define_prototype(C); rT287define_opening(C); rT7copy((T7*)oRBC287tmp_string,(T0 *)ms3_287); XrT62c_type_in(XrT62run_type(rT97type((T97*)(C)->_arguments,1)),oRBC287tmp_string); rT7append((T7*)oRBC287tmp_string,(T0 *)ms4_287); /*IF*/if (((T0 *)(T0 *)ms37_27)==((T0 *)_bcn)) { rT7append((T7*)oRBC287tmp_string,(T0 *)ms5_287); } /*FI*/rT7append((T7*)oRBC287tmp_string,(T0 *)ms6_287); rT44put_string((T44*)oRBC27cpp,oRBC287tmp_string); rT287define_closing(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_287); } /*FI*/} else if (rT219need_prototype((T219*)(C)->_base_feature)) { rT287external_prototype(C,(C)->_base_feature); } /*FI*/}/*RUN_FEATURE_7*/void rT287mapping_cse(T287 *C){ T0* _n=NULL; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; /*IF*/if (rT7is_equal((T7*)(T0 *)ms69_27,_n)) { rT44put_c_inline_c((T44*)oRBC27cpp); } else if (rT7is_equal((T7*)(T0 *)ms70_27,_n)) { rT44put_c_inline_h((T44*)oRBC27cpp); } else { rT287mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_287); } /*FI*/}/*RUN_FEATURE_7*/void rT287mapping_c(T287 *C){ int _bfuc=0; /*IF*/if (rT219is_cse((T219*)(C)->_base_feature)) { rT287mapping_cse(C); } else { _bfuc=rT219use_current((T219*)(C)->_base_feature); /*IF*/if ((!(_bfuc))&&(rT44target_cannot_be_dropped((T44*)oRBC27cpp))) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_287); } /*FI*/rT44put_string((T44*)oRBC27cpp,((T219*)(C)->_base_feature)->_external_name); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if (_bfuc) { rT44put_target((T44*)oRBC27cpp); } /*FI*//*IF*/if ((rT287arg_count(C))>(0)) { /*IF*/if (_bfuc) { rT44put_character((T44*)oRBC27cpp,'\54'); } /*FI*/rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_287); } /*FI*/}/*RUN_FEATURE_7*/void rT287mapping_name(T287 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT287id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_7*/T0* rT287run_class(T287 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_7*/int rT287is_exported_in(T287 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT287clients(C),a1); return R; } /*RUN_FEATURE_7*/int rT287arg_count(T287 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_7*/void rT287initialize(T287 *C){ T0* _n=NULL; _n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string; C->_arguments=((T219*)(C)->_base_feature)->_arguments; /*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) { C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type); } /*FI*/}/*RUN_FEATURE_7*/void rT287fall_down(T287 *C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=XrT62run_class((C)->_current_type); _running=((T269*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT62base_class((C)->_current_type); _i=((T271*)_running)->_lower; while (!((_i)>(((T271*)_running)->_upper))) { _sub_rc=rT271item((T271*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type); _sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name); _rf=rT269get_feature((T269*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/}/*RUN_FEATURE_7*/void rT287make(T287 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT287run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name)); rT55incr_magic_count((T55*)oRBC27small_eiffel); C->_use_current_state=1019; rT55push((T55*)oRBC27small_eiffel,(T0 *)C); rT287initialize(C); rT55pop((T55*)oRBC27small_eiffel); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.