This is compile_to_c13.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" /*RUN_FEATURE_9*/void rT286address_of(T286 *C){ rT286fatal_error_is_deferred(C); }/*RUN_FEATURE_9*/void rT286compute_use_current(T286 *C){ rT286fatal_error_is_deferred(C); }/*RUN_FEATURE_9*/void rT286fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*RUN_FEATURE_9*/void rT286fatal_error_is_deferred(T286 *C){ rT48add_position(rT286start_position(C)); rT48append(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); rT48append((T0 *)ms2_286); rT48append(XrT62written_mark((C)->_current_type)); rT286fatal_error((T0 *)ms102_27); }/*RUN_FEATURE_9*/void rT286error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_9*/void rT286add_clients(T286 *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_9*/T0* rT286clients(T286 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=/*XrT*DEFERRED_ROUTINE*/((T210*)(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(XrT209start_position((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); rT286error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_9*/int rT286id(T286 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_9*/T0* rT286start_position(T286 *C){ T0* R=NULL; R=XrT209start_position((C)->_base_feature); return R; } /*RUN_FEATURE_9*/int rT286use_current(T286 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l83; goto l84; l83: ; R=1; goto l82; l84: ; if (1017 == iv1) goto l85; goto l86; l85: ; goto l82; l86: ; if (1019 == iv1) goto l87; goto l88; l87: ; C->_use_current_state=1020; rT286compute_use_current(C); R=rT286use_current(C); goto l82; l88: ; if (1020 == iv1) goto l89; goto l90; l89: ; R=1; goto l82; l90: ; l82: ; } return R; } /*RUN_FEATURE_9*/void rT286c_define(T286 *C){ rT286fatal_error_is_deferred(C); }/*RUN_FEATURE_9*/int rT286can_be_dropped(T286 *C){ int R=0; rT286fatal_error_is_deferred(C); return R; } /*RUN_FEATURE_9*/void rT286mapping_c(T286 *C){ rT286fatal_error_is_deferred(C); }/*RUN_FEATURE_9*/void rT286mapping_name(T286 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT286id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_9*/T0* rT286run_class(T286 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_9*/int rT286is_exported_in(T286 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT286clients(C),a1); return R; } /*RUN_FEATURE_9*/int rT286arg_count(T286 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_9*/void rT286initialize(T286 *C){ rT53set_is_deferred((T53*)XrT62base_class((C)->_current_type)); C->_arguments=/*XrT*DEFERRED_ROUTINE*/((T210*)(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=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_result_type; /*IF*/if (((int)(C)->_result_type)) { C->_result_type=XrT62to_runnable((C)->_result_type,(C)->_current_type); } /*FI*/}/*RUN_FEATURE_9*/void rT286fall_down(T286 *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_9*/void rT286make(T286 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT286run_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); rT286initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_1*/void rT285address_of(T285 *C){ rT48add_position(rT285start_position(C)); rT285fatal_error((T0 *)ms2_285); }/*RUN_FEATURE_1*/int rT285is_static(T285 *C){ int R=0; R=XrT72is_static((C)->_value); return R; } /*RUN_FEATURE_1*/void rT285compute_use_current(T285 *C){ rT285std_compute_use_current(C); }/*RUN_FEATURE_1*/int rT285static_value_mem(T285 *C){ int R=0; R=XrT72static_value((C)->_value); return R; } /*RUN_FEATURE_1*/void rT285fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*RUN_FEATURE_1*/void rT285error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_1*/void rT285add_clients(T285 *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_1*/T0* rT285clients(T285 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=/*XrT*CST_ATT*/((T156*)(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(XrT149start_position((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); rT285error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_1*/int rT285id(T285 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_1*/void rT285std_compute_use_current(T285 *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_1*/T0* rT285start_position(T285 *C){ T0* R=NULL; R=XrT149start_position((C)->_base_feature); return R; } /*RUN_FEATURE_1*/int rT285use_current(T285 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l92; goto l93; l92: ; R=1; goto l91; l93: ; if (1017 == iv1) goto l94; goto l95; l94: ; goto l91; l95: ; if (1019 == iv1) goto l96; goto l97; l96: ; C->_use_current_state=1020; rT285compute_use_current(C); R=rT285use_current(C); goto l91; l97: ; if (1020 == iv1) goto l98; goto l99; l98: ; R=1; goto l91; l99: ; l91: ; } return R; } /*RUN_FEATURE_1*/void rT285mapping_c(T285 *C){ T0* _real_constant=NULL; /*IF*/if (XrT72is_manifest_string((C)->_value)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_285); XrT72compile_to_c((C)->_value); } else if (XrT62is_double((C)->_result_type)) { _real_constant=(C)->_value; if ((int)_real_constant) switch (((T0 *)_real_constant)->id) { case 83: break; default: _real_constant = NULL; };rT44put_string((T44*)oRBC27cpp,((T83*)_real_constant)->_to_string); } else { XrT72compile_to_c((C)->_value); } /*FI*/}/*RUN_FEATURE_1*/void rT285mapping_name(T285 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT285id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_1*/T0* rT285run_class(T285 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_1*/int rT285is_exported_in(T285 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT285clients(C),a1); return R; } /*RUN_FEATURE_1*/int rT285arg_count(T285 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_1*/void rT285initialize(T285 *C){ int _i=0; _i=rT130index_of((T130*)/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_names,(C)->_name); C->_value=XrT149value((C)->_base_feature,_i); C->_value=XrT72to_runnable((C)->_value,(C)->_current_type); C->_result_type=XrT62to_runnable(/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_result_type,(C)->_current_type); }/*RUN_FEATURE_1*/void rT285fall_down(T285 *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_1*/void rT285make(T285 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT285run_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); rT285initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_6*/void rT281address_of(T281 *C){ rT281mapping_name(C); }T0*oRBC281tmp_string; /*RUN_FEATURE_6*/void rT281once_flag(T281 *C){ rT44put_character((T44*)oRBC27cpp,'o'); rT44put_character((T44*)oRBC27cpp,'f'); rT263mapping_c_name((T263*)(C)->_base_feature); }/*RUN_FEATURE_6*/void rT281once_boolean(T281 *C){ rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms26_268); rT281once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms27_268); rT44swap_on_c((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms28_268); rT281once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms29_268); }/*RUN_FEATURE_6*/void rT281once_variable_aux(T281 *C){ rT44put_character((T44*)oRBC27cpp,'T'); /*IF*/if (XrT62is_expanded((C)->_result_type)) { rT44put_integer((T44*)oRBC27cpp,XrT62id((C)->_result_type)); rT44put_character((T44*)oRBC27cpp,'\40'); } else { rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_281); } /*FI*/rT281once_result(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_281); }/*RUN_FEATURE_6*/void rT281once_variable(T281 *C){ rT44swap_on_h((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_281); rT281once_variable_aux(C); rT44swap_on_c((T44*)oRBC27cpp); rT281once_variable_aux(C); }/*RUN_FEATURE_6*/void rT281compute_use_current(T281 *C){ rT281std_compute_use_current(C); }/*RUN_FEATURE_6*/void rT281once_result(T281 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_281); rT263mapping_c_name((T263*)(C)->_base_feature); }/*RUN_FEATURE_6*/void rT281define_closing(T281 *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_6*/void rT281define_opening(T281 *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 (rT281use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT281arg_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_6*/void rT281define_prototype(T281 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT281id(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=rT263first_name((T263*)(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*)rT263base_class_name((T263*)(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 (rT281use_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 (!(rT281use_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*oRBC281frozen_general; /*RUN_FEATURE_6*/void rT281pre_computing(T281 *C){ T0* _bfbc=NULL; _bfbc=((T263*)(C)->_base_feature)->_base_class; rT42put_string((T42*)oRBC1std_output,((T51*)((T53*)_bfbc)->_base_class_name)->_to_string); rT42put_character((T42*)oRBC1std_output,'\56'); rT42put_string((T42*)oRBC1std_output,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); /*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT275compile_to_c((T275*)(C)->_require_assertion); } /*FI*/} /*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC281tmp_string)->_count=(0);/*]*/ rT7extend((T7*)oRBC281tmp_string,'\173'); XrT62c_type_in((C)->_result_type,oRBC281tmp_string); rT7append((T7*)oRBC281tmp_string,(T0 *)ms15_281); rT44put_string((T44*)oRBC27cpp,oRBC281tmp_string); /*IF*/if (((int)(C)->_local_vars)) { rT141compile_to_c((T141*)(C)->_local_vars); } /*FI*//*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161compile_to_c((T161*)(C)->_ensure_assertion); } /*FI*/} /*FI*/rT281once_result(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms16_281); }/*RUN_FEATURE_6*/void rT281error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_6*/void rT281add_clients(T281 *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_6*/T0* rT281clients(T281 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T263*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T263*)(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(rT263start_position((T263*)(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); rT281error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_6*/void rT281std_compute_use_current(T281 *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_6*/int rT281id(T281 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_6*/T0* rT281start_position(T281 *C){ T0* R=NULL; R=rT263start_position((T263*)(C)->_base_feature); return R; } /*RUN_FEATURE_6*/int rT281use_current(T281 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l101; goto l102; l101: ; R=1; goto l100; l102: ; if (1017 == iv1) goto l103; goto l104; l103: ; goto l100; l104: ; if (1019 == iv1) goto l105; goto l106; l105: ; C->_use_current_state=1020; rT281compute_use_current(C); R=rT281use_current(C); goto l100; l106: ; if (1020 == iv1) goto l107; goto l108; l107: ; R=1; goto l100; l108: ; l100: ; } return R; } /*RUN_FEATURE_6*/void rT281c_define(T281 *C){ T0* _bfbc=NULL; _bfbc=((T263*)(C)->_base_feature)->_base_class; /*IF*/if (rT281is_pre_computable(C)) { /*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) { rT281once_variable(C); rT53set_already_defined((T53*)_bfbc,(C)->_name); } /*FI*/rT44incr_pre_computed_once_count((T44*)oRBC27cpp,(T0 *)C); } else { /*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) { rT281once_boolean(C); rT281once_variable(C); rT53set_already_defined((T53*)_bfbc,(C)->_name); } /*FI*/rT281define_prototype(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_281); rT281once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_281); rT281define_opening(C); rT281once_flag(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_281); /*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*/rT281define_closing(C); rT281once_result(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_281); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_281); rT281once_result(C); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_281); } /*FI*/}/*RUN_FEATURE_6*/int rT281can_be_dropped(T281 *C){ int R=0; /*IF*/if (rT281is_pre_computable(C)) { R=1; } /*FI*/return R; } /*RUN_FEATURE_6*/void rT281mapping_c(T281 *C){ int _tcbd=0; /*IF*/if (rT281is_pre_computable(C)) { rT281once_result(C); } else if (rT281use_current(C)) { rT281mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); /*IF*/if ((rT281arg_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); rT281mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if ((rT281arg_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_6*/void rT281mapping_name(T281 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT281id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_6*/T0* rT281run_class(T281 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_6*/int rT281is_exported_in(T281 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT281clients(C),a1); return R; } /*RUN_FEATURE_6*/int rT281arg_count(T281 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_6*/int rT281is_pre_computable(T281 *C){ int R=0; /*IF*/if (rT45has((T45*)oRBC281frozen_general,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string)) { R=1; } else if ((!((C)->_arguments))&&(!(rT281use_current(C)))) { /*IF*/if (!((C)->_routine_body)) { R=1; } else { R=rT142is_pre_computable((T142*)(C)->_routine_body); } /*FI*/} /*FI*/return R; } /*RUN_FEATURE_6*/void rT281initialize(T281 *C){ C->_arguments=((T263*)(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(((T263*)(C)->_base_feature)->_result_type,(C)->_current_type); C->_local_vars=((T263*)(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=((T263*)(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=rT263run_require((T0 *)C); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT263run_ensure((T0 *)C); } /*FI*/}/*RUN_FEATURE_6*/void rT281fall_down(T281 *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_6*/void rT281make(T281 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT281run_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); rT281initialize(C); rT55pop((T55*)oRBC27small_eiffel); }/*RUN_FEATURE_3*/void rT274address_of(T274 *C){ rT274mapping_name(C); }/*RUN_FEATURE_3*/void rT274compute_use_current(T274 *C){ rT274std_compute_use_current(C); }/*RUN_FEATURE_3*/int rT274isa_in_line(T274 *C){ int R=0; /*IF*/if (rT47boost((T47*)oRBC27eiffel_run_control)) { /*IF*/if (rT259attribute_writer((T259*)(C)->_base_feature)) { R=1; } else if ((rT274arg_count(C))==(0)) { /*IF*/if (!((C)->_routine_body)) { R=1; } else { R=!(rT142use_current((T142*)(C)->_routine_body)); } /*FI*/} /*FI*/} /*FI*/return R; } /*RUN_FEATURE_3*/void rT274define_closing(T274 *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_3*/void rT274define_opening(T274 *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 (rT274use_current(C)) { rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT274arg_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_3*/void rT274define_prototype(T274 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT274id(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=rT259first_name((T259*)(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*)rT259base_class_name((T259*)(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 (rT274use_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 (!(rT274use_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_3*/void rT274error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_FEATURE_3*/void rT274in_line(T274 *C){ int _tcbd=0; T0* _argument_name=NULL; T0* _right_side=NULL; T0* _left_side=NULL; T0* _writable=NULL; T0* _assignment=NULL; rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_274); rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_274); /*IF*/if (((int)(C)->_local_vars)) { rT44put_character((T44*)oRBC27cpp,'\173'); rT274define_opening(C); } /*FI*//*IF*/if (rT259attribute_writer((T259*)(C)->_base_feature)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_274); _assignment=rT142first((T142*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 256: break; default: _assignment = NULL; };_right_side=((T256*)_assignment)->_right_side; _writable=((T256*)_assignment)->_left_side; if ((int)_writable) switch (((T0 *)_writable)->id) { case 70: case 74: case 71: break; default: _writable = NULL; };rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); rT44put_character((T44*)oRBC27cpp,'\51'); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_274); rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_writable)->_to_string); rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_274); /*IF*/if (!((C)->_arguments)) { /*IF*/if (XrT62is_string(XrT72result_type(_right_side))) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_274); } /*FI*/XrT72compile_to_c(_right_side); } else { rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_274); } else { _tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp); /*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT274define_closing(C); rT44put_character((T44*)oRBC27cpp,'\175'); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_274); }/*RUN_FEATURE_3*/void rT274add_clients(T274 *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_3*/T0* rT274clients(T274 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT62base_class((C)->_current_type); _bfbc=((T259*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T259*)(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(rT259start_position((T259*)(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); rT274error(NULL,(T0 *)ms2_268); } /*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } /*RUN_FEATURE_3*/void rT274std_compute_use_current(T274 *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_3*/int rT274id(T274 *C){ int R=0; R=XrT62id((C)->_current_type); return R; } /*RUN_FEATURE_3*/T0* rT274start_position(T274 *C){ T0* R=NULL; R=rT259start_position((T259*)(C)->_base_feature); return R; } /*RUN_FEATURE_3*/int rT274use_current(T274 *C){ int R=0; {int iv1=(C)->_use_current_state; if (1018 == iv1) goto l110; goto l111; l110: ; R=1; goto l109; l111: ; if (1017 == iv1) goto l112; goto l113; l112: ; goto l109; l113: ; if (1019 == iv1) goto l114; goto l115; l114: ; C->_use_current_state=1020; rT274compute_use_current(C); R=rT274use_current(C); goto l109; l115: ; if (1020 == iv1) goto l116; goto l117; l116: ; R=1; goto l109; l117: ; l109: ; } return R; } /*RUN_FEATURE_3*/void rT274c_define(T274 *C){ /*IF*/if (rT274isa_in_line(C)) { rT44incr_inlined_procedure_count((T44*)oRBC27cpp); } else { /*IF*/if (rT274use_current(C)) { rT44incr_procedure_count((T44*)oRBC27cpp); } else { rT44incr_real_procedure_count((T44*)oRBC27cpp); } /*FI*/rT274define_prototype(C); rT274define_opening(C); /*IF*/if (((int)(C)->_routine_body)) { rT142compile_to_c((T142*)(C)->_routine_body); } /*FI*/rT274define_closing(C); rT44put_character((T44*)oRBC27cpp,'\175'); } /*FI*/}/*RUN_FEATURE_3*/void rT274mapping_c(T274 *C){ int _tcbd=0; /*IF*/if (rT274isa_in_line(C)) { rT274in_line(C); } else if (rT274use_current(C)) { rT274mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); rT44put_target((T44*)oRBC27cpp); /*IF*/if ((rT274arg_count(C))>(0)) { rT44put_character((T44*)oRBC27cpp,'\54'); rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_274); } else { _tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp); rT274mapping_name(C); rT44put_character((T44*)oRBC27cpp,'\50'); /*IF*/if ((rT274arg_count(C))>(0)) { rT44put_arguments((T44*)oRBC27cpp); } /*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_274); } /*FI*/}/*RUN_FEATURE_3*/void rT274mapping_name(T274 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268); rT44put_integer((T44*)oRBC27cpp,rT274id(C)); XrT71mapping_c((C)->_name); }/*RUN_FEATURE_3*/T0* rT274run_class(T274 *C){ T0* R=NULL; R=XrT62run_class((C)->_current_type); return R; } /*RUN_FEATURE_3*/int rT274is_exported_in(T274 *C,T0* a1){ int R=0; R=rT125gives_permission_to((T125*)rT274clients(C),a1); return R; } /*RUN_FEATURE_3*/int rT274arg_count(T274 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT97count((T97*)(C)->_arguments); } /*FI*/return R; } /*RUN_FEATURE_3*/int rT274is_pre_computable(T274 *C){ int R=0; /*IF*/if (!((C)->_arguments)) { /*IF*/if (!((C)->_routine_body)) { R=1; } else { /*IF*/if (!((C)->_local_vars)) { R=rT142is_pre_computable((T142*)(C)->_routine_body); } /*FI*/} /*FI*/} /*FI*/return R; } /*RUN_FEATURE_3*/void rT274initialize(T274 *C){ C->_arguments=((T259*)(C)->_base_feature)->_arguments; /*IF*/if (((int)(C)->_arguments)) { C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_local_vars=((T259*)(C)->_base_feature)->_local_vars; /*IF*/if (((int)(C)->_local_vars)) { C->_local_vars=rT141to_runnable((T141*)(C)->_local_vars,(C)->_current_type); } /*FI*/C->_routine_body=((T259*)(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=rT259run_require((T0 *)C); } /*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT259run_ensure((T0 *)C); } /*FI*/}/*RUN_FEATURE_3*/void rT274fall_down(T274 *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_3*/void rT274make(T274 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT272put((T272*)((T269*)rT274run_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); rT274initialize(C); rT55pop((T55*)oRBC27small_eiffel); }int ofBC27type_any=0; T0*oRBC27type_any; /*E_STRIP*/T0* rT174type_any(/*C*/void){ if (ofBC27type_any==0){ T0* R=NULL; ofBC27type_any=1; {T91 *n=((T91*)se_new(91)); rT91make(n,NULL); R=(T0 *)n;} oRBC27type_any=R;} return oRBC27type_any;} /*E_STRIP*/int rT174static_value(T174 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*E_STRIP*/T0* rT174to_runnable(T174 *C,T0* a1){ T0* R=NULL; rT174error(rT174start_position(C),(T0 *)ms3_174); return R; } /*E_STRIP*/void rT174error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*E_STRIP*/T0* rT174add_comment(T174 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC174result_type=0; T0*oRBC174result_type; /*E_STRIP*/T0* rT174result_type(/*C*/void){ if (ofBC174result_type==0){ T0* R=NULL; ofBC174result_type=1; {T107 *n=((T107*)se_new(107)); rT107make(n,NULL,rT174type_any()); R=(T0 *)n;} oRBC174result_type=R;} return oRBC174result_type;} /*E_STRIP*/T0* rT174start_position(T174 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_list)) { R=/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_list,1))->_start_position; } /*FI*/return R; } /*E_STRIP*/void rT174compile_to_c(T174 *C){ rT174error(rT174start_position(C),(T0 *)ms1_174); }/*E_STRIP*/int rT174to_integer(T174 *C){ int R=0; rT174error(rT174start_position(C),(T0 *)ms104_27); return R; } /*E_STRIP*/int rT174is_a(T174 *C,T0* a1){ int R=0; R=rT107is_a((T107*)((T107*)rT174result_type())->_run_type,XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position(rT174start_position(C)); rT174error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*E_STRIP*/void rT174make(T174 *C,T0* a1,T0* a2){ /*IF*/if (((int)a2)) { {T130 *n=((T130*)se_new(130)); rT130make(n,a2); C->_list=(T0 *)n;} } /*FI*/}T0*oRBC73tmp_string; /*TMP_NAME*/T0* rT73to_prefix_name(T73 *C){ T0* R=NULL; {T70 *n=((T70*)se_new(70)); rT70make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/void rT73extend(T73 *C,char a1){ rT7extend((T7*)(C)->_to_string,a1); }/*TMP_NAME*/T0* rT73to_e_void(T73 *C){ T0* R=NULL; {T177 *n=((T177*)se_new(177)); rT177make(n,rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_e_result(T73 *C){ T0* R=NULL; {T176 *n=((T176*)se_new(176)); rT176make(n,rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_e_current(T73 *C){ T0* R=NULL; {T94 *n=((T94*)se_new(94)); rT94make(n,rT73pos((C)->_li,(C)->_co),1); R=(T0 *)n;} return R; } /*TMP_NAME*/int rT73isa_keyword(T73 *C){ int R=0; T0* _kt=NULL; int _i=0; _kt=oRBC73keyword_table; _i=((T45*)_kt)->_upper; while (!(((_i)==(0))||(rT7same_as((T7*)rT45item((T45*)_kt,_i),(C)->_to_string)))) { _i=(_i)-(1); } R=(_i)>(0); return R; } /*TMP_NAME*/int rT73count(T73 *C){ int R=0; R=((T7*)(C)->_to_string)->_count; return R; } /*TMP_NAME*/T0* rT73to_feature_name(T73 *C){ T0* R=NULL; {T71 *n=((T71*)se_new(71)); rT71make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73start_position(T73 *C){ T0* R=NULL; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_li,(C)->_co); R=(T0 *)n;} return R; } T0*oRBC73keyword_table; /*TMP_NAME*/T0* rT73to_class_name(T73 *C){ T0* R=NULL; {T51 *n=((T51*)se_new(51)); rT51make(n,(C)->_to_string,rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_key(T73 *C){ T0* R=NULL; R=(C)->_to_string; return R; } /*TMP_NAME*/T0* rT73pos(/*C*/int a1,int a2){ T0* R=NULL; {T49 *n=((T49*)se_new(49)); rT49make(n,a1,a2); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_argument_name_declaration(T73 *C){ T0* R=NULL; {T92 *n=((T92*)se_new(92)); rT92make(n,rT73pos((C)->_li,(C)->_co),rT7twin((T7*)(C)->_to_string)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_argument_name(T73 *C,T0* a1,int a2){ T0* R=NULL; {T92 *n=((T92*)se_new(92)); rT92refer_to(n,rT73pos((C)->_li,(C)->_co),a1,a2); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_tag_name(T73 *C){ T0* R=NULL; {T163 *n=((T163*)se_new(163)); rT163make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_infix_name_use(T73 *C){ T0* R=NULL; {T74 *n=((T74*)se_new(74)); rT74make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_infix_name(T73 *C,T0* a1){ T0* R=NULL; {T74 *n=((T74*)se_new(74)); rT74make(n,rT7twin((T7*)(C)->_to_string),a1); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_local_name_declaration(T73 *C){ T0* R=NULL; {T186 *n=((T186*)se_new(186)); rT186make(n,rT73pos((C)->_li,(C)->_co),rT7twin((T7*)(C)->_to_string)); R=(T0 *)n;} return R; } /*TMP_NAME*/T0* rT73to_local_name(T73 *C,T0* a1,int a2){ T0* R=NULL; {T186 *n=((T186*)se_new(186)); rT186refer_to(n,rT73pos((C)->_li,(C)->_co),a1,a2); R=(T0 *)n;} return R; } /*TMP_NAME*/void rT73make(T73 *C,int a1,int a2){ C->_li=a1; C->_co=a2; C->_to_string=oRBC73tmp_string; /*[IRF3:clear*//*AW*/((T7*)(C)->_to_string)->_count=(0);/*]*/ }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.