This is compile_to_c7.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.95) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "compile_to_c.h" void rT274compute_use_current(T274 *C){ rT274std_compute_use_current(C); } void rT274once_result(T274 *C){ rT43put_string((T43*)oRBC27cpp,(T0 *)ms860); rT256mapping_c_name((T256*)(C)->_base_feature); } void rT274define_closing(T274 *C){ /*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT157compile_to_c((T157*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43rs_unlink((T43*)oRBC27cpp); } /*FI*/} void rT274define_opening(T274 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT58run_type((C)->_result_type); /*(IRF3*/(((T7*)oRBC262dos)->_count)=(0); /*)*/XrT58c_type_in(_t,oRBC262dos); rT43put_string((T43*)oRBC27cpp,oRBC262dos); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1395); XrT58c_initialize(_t); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1396); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT139compile_to_c((T139*)(C)->_local_vars); } /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT157compile_to_c_old((T157*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT139initialize_expanded((T139*)(C)->_local_vars); } /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43rs_link((T43*)oRBC27cpp,(T0 *)C); /*IF*/if (rT274use_current(C)) { rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT274arg_count(C)))) { _t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i)); rT43rs_push_argument((T43*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT43rs_push_result((T43*)oRBC27cpp,XrT58run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { _i=1; while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) { _t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i)); rT43rs_push_local((T43*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT268compile_to_c((T268*)(C)->_require_assertion); } /*FI*/} /*FI*/} void rT274define_prototype(T274 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT274id(C); /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1382); rT43put_integer((T43*)oRBC27cpp,_mem_id); XrT67mapping_c((C)->_name); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1383); _fn=rT256first_name((T256*)(C)->_base_feature); /*IF*/if (XrT67is_infix_name(_fn)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1384); } else if (XrT67is_prefix_name(_fn)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1385); } /*FI*/rT43put_string((T43*)oRBC27cpp,XrT67to_string(_fn)); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1386); rT43put_string((T43*)oRBC27cpp,((T48*)rT256base_class_name((T256*)(C)->_base_feature))->_to_string); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1387); rT43swap_on_h((T43*)oRBC27cpp); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1388); rT43put_integer((T43*)oRBC27cpp,_mem_id); XrT67mapping_c((C)->_name); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1389); } /*FI*//*(IRF3*/(((T7*)oRBC262dps)->_count)=(0); /*)*//*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC262dps,(T0 *)ms1390); } else { _t=XrT58run_type((C)->_result_type); XrT58c_type_in(_t,oRBC262dps); rT7extend((T7*)oRBC262dps,'\40'); } /*FI*/rT7append((T7*)oRBC262dps,(T0 *)ms1391); rT2append_in(_mem_id,oRBC262dps); XrT67mapping_c_in((C)->_name,oRBC262dps); rT7extend((T7*)oRBC262dps,'\50'); /*IF*/if (rT274use_current(C)) { rT7extend((T7*)oRBC262dps,'T'); rT2append_in(_mem_id,oRBC262dps); rT7extend((T7*)oRBC262dps,'\40'); /*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC262dps,'\52'); } /*FI*/rT7extend((T7*)oRBC262dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC262dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC262dps,(T0 *)ms1392); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT274use_current(C))) { rT7append((T7*)oRBC262dps,(T0 *)ms1393); } /*FI*/} else { rT92compile_to_c_in((T92*)(C)->_arguments,oRBC262dps); } /*FI*/rT7extend((T7*)oRBC262dps,'\51'); rT43put_c_heading((T43*)oRBC27cpp,oRBC262dps); rT43swap_on_c((T43*)oRBC27cpp); } T0*oRBC274frozen_general; void rT274pre_computing(T274 *C){ T0* _bfbc=NULL; _bfbc=((T256*)(C)->_base_feature)->_base_class; rT41put_string((T41*)oRBC1std_output,((T48*)((T50*)_bfbc)->_base_class_name)->_to_string); rT41put_character((T41*)oRBC1std_output,'\56'); rT41put_string((T41*)oRBC1std_output,XrT67to_string((C)->_name)); /*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT268compile_to_c((T268*)(C)->_require_assertion); } /*FI*/} /*FI*//*(IRF3*/(((T7*)oRBC274tmp_string)->_count)=(0); /*)*/rT7extend((T7*)oRBC274tmp_string,'\173'); XrT58c_type_in((C)->_result_type,oRBC274tmp_string); rT7append((T7*)oRBC274tmp_string,(T0 *)ms855); rT43put_string((T43*)oRBC27cpp,oRBC274tmp_string); /*IF*/if (((int)(C)->_local_vars)) { rT139compile_to_c((T139*)(C)->_local_vars); } /*FI*//*IF*/if (((int)(C)->_routine_body)) { rT140compile_to_c((T140*)(C)->_routine_body); } /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT157compile_to_c((T157*)(C)->_ensure_assertion); } /*FI*/} /*FI*/rT274once_result(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms861); } void rT274error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT274add_clients(T274 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(264,0,1,a1); } else { _i=((T264*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T264*)(C)->_actuals_clients)->_upper))||(((T0 *)rT264item((T264*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T264*)(C)->_actuals_clients)->_upper)) { rT264add_last((T264*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/} T0* rT274clients(T274 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT58base_class((C)->_current_type); _bfbc=((T256*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T256*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position((C)->_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT256start_position((T256*)(C)->_base_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1137); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string); rT274error(NULL,(T0 *)ms1138); } /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } void rT274std_compute_use_current(T274 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT268use_current((T268*)(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 (rT140use_current((T140*)(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 (rT157use_current((T157*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/} int rT274id(T274 *C){ int R=0; R=XrT58id((C)->_current_type); return R; } T0* rT274start_position(T274 *C){ T0* R=NULL; R=rT256start_position((T256*)(C)->_base_feature); return R; } int rT274use_current(T274 *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; rT274compute_use_current(C); R=rT274use_current(C); goto l100; l106: ; if (1020 == iv1) goto l107; goto l108; l107: ; R=1; goto l100; l108: ; l100: ; } return R; } void rT274c_define(T274 *C){ T0* _bfbc=NULL; _bfbc=((T256*)(C)->_base_feature)->_base_class; /*IF*/if (rT274is_pre_computable(C)) { /*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) { rT274once_variable(C); rT50set_already_defined((T50*)_bfbc,(C)->_name); } /*FI*/rT43incr_pre_computed_once_count((T43*)oRBC27cpp,(T0 *)C); } else { /*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) { rT274once_boolean(C); rT274once_variable(C); rT50set_already_defined((T50*)_bfbc,(C)->_name); } /*FI*/rT274define_prototype(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1558); rT274once_flag(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1559); rT274define_opening(C); rT274once_flag(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1560); /*IF*/if (((int)(C)->_routine_body)) { rT140compile_to_c((T140*)(C)->_routine_body); } /*FI*/rT274define_closing(C); rT274once_result(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1561); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1562); rT274once_result(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1563); } /*FI*/} void rT274mapping_c(T274 *C){ int _tcbd=0; /*IF*/if (rT274is_pre_computable(C)) { rT274once_result(C); } else if (rT274use_current(C)) { rT274mapping_name(C); rT43put_character((T43*)oRBC27cpp,'\50'); rT43put_target((T43*)oRBC27cpp); /*IF*/if ((rT274arg_count(C))>(0)) { rT43put_character((T43*)oRBC27cpp,'\54'); rT43put_arguments((T43*)oRBC27cpp); } /*FI*/rT43put_character((T43*)oRBC27cpp,'\51'); } else { _tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp); rT274mapping_name(C); rT43put_character((T43*)oRBC27cpp,'\50'); /*IF*/if ((rT274arg_count(C))>(0)) { rT43put_arguments((T43*)oRBC27cpp); } /*FI*/rT43put_character((T43*)oRBC27cpp,'\51'); /*IF*/if (_tcbd) { rT43put_character((T43*)oRBC27cpp,'\51'); } /*FI*/} /*FI*/} void rT274mapping_name(T274 *C){ rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207); rT43put_integer((T43*)oRBC27cpp,rT274id(C)); XrT67mapping_c((C)->_name); } T0* rT274run_class(T274 *C){ T0* R=NULL; R=XrT58run_class((C)->_current_type); return R; } int rT274is_exported_in(T274 *C,T0* a1){ int R=0; R=rT123gives_permission_to((T123*)rT274clients(C),a1); return R; } int rT274arg_count(T274 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT92count((T92*)(C)->_arguments); } /*FI*/return R; } int rT274is_pre_computable(T274 *C){ int R=0; /*IF*/if (rT34has((T34*)oRBC274frozen_general,XrT67to_string((C)->_name))) { R=1; } else if ((!((C)->_arguments))&&(!(rT274use_current(C)))) { /*IF*/if (!((C)->_routine_body)) { R=1; } else { R=rT140is_pre_computable((T140*)(C)->_routine_body); } /*FI*/} /*FI*/return R; } void rT274initialize(T274 *C){ C->_arguments=((T256*)(C)->_base_feature)->_arguments; /*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) { C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_result_type=XrT58to_runnable(((T256*)(C)->_base_feature)->_result_type,(C)->_current_type); C->_local_vars=((T256*)(C)->_base_feature)->_local_vars; /*IF*/if ((((int)(C)->_local_vars))&&((rT139count((T139*)(C)->_local_vars))>(0))) { C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type); } /*FI*/C->_routine_body=((T256*)(C)->_base_feature)->_routine_body; /*IF*/if (((int)(C)->_routine_body)) { C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type); } /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) { C->_require_assertion=rT256run_require((T0 *)C); } /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT256run_ensure((T0 *)C); } /*FI*/} 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=XrT58run_class((C)->_current_type); _running=((T261*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT58base_class((C)->_current_type); _i=((T264*)_running)->_lower; while (!((_i)>(((T264*)_running)->_upper))) { _sub_rc=rT264item((T264*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT58base_class(((T261*)_sub_rc)->_current_type); _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name); _rf=rT261get_feature((T261*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} void rT274make(T274 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT265put((T265*)((T261*)rT274run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name)); rT52incr_magic_count((T52*)oRBC27small_eiffel); C->_use_current_state=1019; rT52push((T52*)oRBC27small_eiffel,(T0 *)C); rT274initialize(C); rT52pop((T52*)oRBC27small_eiffel); } void rT267address_of(T267 *C){ rT267mapping_name(C); } void rT267warning(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45warning((T45*)oRBC27eh,a2); } void rT267compute_use_current(T267 *C){ rT267std_compute_use_current(C); } int rT267isa_in_line(T267 *C){ int R=0; T0* _right_side=NULL; T0* _assignment=NULL; /*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) { /*IF*/if (rT267use_current(C)) { /*IF*/if ((rT267arg_count(C))<=(1)) { /*IF*/if (((!((C)->_local_vars))&&(((int)(C)->_routine_body)))&&((rT140count((T140*)(C)->_routine_body))==(1))) { _assignment=rT140first((T140*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 249: break; default: _assignment = NULL; };/*IF*/if (((int)_assignment)) { _right_side=((T249*)_assignment)->_right_side; /*IF*/if (XrT68c_simple(_right_side)) { R=!(XrT68use_current(_right_side)); } /*FI*/} /*FI*/} /*FI*/} /*FI*/} else { R=(rT267arg_count(C))==(0); } /*FI*/} /*FI*/return R; } void rT267define_closing(T267 *C){ /*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT157compile_to_c((T157*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43rs_unlink((T43*)oRBC27cpp); } /*FI*/} void rT267define_opening(T267 *C){ T0* _t=NULL; int _i=0; /*IF*/if (((int)(C)->_result_type)) { _t=XrT58run_type((C)->_result_type); /*(IRF3*/(((T7*)oRBC262dos)->_count)=(0); /*)*/XrT58c_type_in(_t,oRBC262dos); rT43put_string((T43*)oRBC27cpp,oRBC262dos); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1395); XrT58c_initialize(_t); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1396); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT139compile_to_c((T139*)(C)->_local_vars); } /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_ensure_assertion)) { rT157compile_to_c_old((T157*)(C)->_ensure_assertion); } /*FI*/} /*FI*//*IF*/if (((int)(C)->_local_vars)) { rT139initialize_expanded((T139*)(C)->_local_vars); } /*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43rs_link((T43*)oRBC27cpp,(T0 *)C); /*IF*/if (rT267use_current(C)) { rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type); } /*FI*/_i=1; while (!((_i)>(rT267arg_count(C)))) { _t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i)); rT43rs_push_argument((T43*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t); _i=(_i)+(1); } /*IF*/if (((int)(C)->_result_type)) { rT43rs_push_result((T43*)oRBC27cpp,XrT58run_type((C)->_result_type)); } /*FI*//*IF*/if (((int)(C)->_local_vars)) { _i=1; while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) { _t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i)); rT43rs_push_local((T43*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_require_assertion)) { rT268compile_to_c((T268*)(C)->_require_assertion); } /*FI*/} /*FI*/} void rT267define_prototype(T267 *C){ int _mem_id=0; T0* _t=NULL; T0* _fn=NULL; _mem_id=rT267id(C); /*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1382); rT43put_integer((T43*)oRBC27cpp,_mem_id); XrT67mapping_c((C)->_name); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1383); _fn=rT252first_name((T252*)(C)->_base_feature); /*IF*/if (XrT67is_infix_name(_fn)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1384); } else if (XrT67is_prefix_name(_fn)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1385); } /*FI*/rT43put_string((T43*)oRBC27cpp,XrT67to_string(_fn)); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1386); rT43put_string((T43*)oRBC27cpp,((T48*)rT252base_class_name((T252*)(C)->_base_feature))->_to_string); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1387); rT43swap_on_h((T43*)oRBC27cpp); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1388); rT43put_integer((T43*)oRBC27cpp,_mem_id); XrT67mapping_c((C)->_name); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1389); } /*FI*//*(IRF3*/(((T7*)oRBC262dps)->_count)=(0); /*)*//*IF*/if (!((C)->_result_type)) { rT7append((T7*)oRBC262dps,(T0 *)ms1390); } else { _t=XrT58run_type((C)->_result_type); XrT58c_type_in(_t,oRBC262dps); rT7extend((T7*)oRBC262dps,'\40'); } /*FI*/rT7append((T7*)oRBC262dps,(T0 *)ms1391); rT2append_in(_mem_id,oRBC262dps); XrT67mapping_c_in((C)->_name,oRBC262dps); rT7extend((T7*)oRBC262dps,'\50'); /*IF*/if (rT267use_current(C)) { rT7extend((T7*)oRBC262dps,'T'); rT2append_in(_mem_id,oRBC262dps); rT7extend((T7*)oRBC262dps,'\40'); /*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) { rT7extend((T7*)oRBC262dps,'\52'); } /*FI*/rT7extend((T7*)oRBC262dps,'C'); /*IF*/if (((int)(C)->_arguments)) { rT7extend((T7*)oRBC262dps,'\54'); } /*FI*/} else { rT7append((T7*)oRBC262dps,(T0 *)ms1392); } /*FI*//*IF*/if (!((C)->_arguments)) { /*IF*/if (!(rT267use_current(C))) { rT7append((T7*)oRBC262dps,(T0 *)ms1393); } /*FI*/} else { rT92compile_to_c_in((T92*)(C)->_arguments,oRBC262dps); } /*FI*/rT7extend((T7*)oRBC262dps,'\51'); rT43put_c_heading((T43*)oRBC27cpp,oRBC262dps); rT43swap_on_c((T43*)oRBC27cpp); } void rT267error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT267in_line(T267 *C){ int _tcbd=0; T0* _argument_name=NULL; T0* _right_side=NULL; T0* _left_side=NULL; T0* _writable=NULL; T0* _assignment=NULL; rT43put_string((T43*)oRBC27cpp,(T0 *)ms1408); /*IF*/if (rT267use_current(C)) { _assignment=rT140first((T140*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 249: break; default: _assignment = NULL; };_right_side=((T249*)_assignment)->_right_side; _left_side=((T249*)_assignment)->_left_side; _writable=_left_side; if ((int)_writable) switch (((T0 *)_writable)->id) { case 89: case 67: case 66: case 48: case 70: case 69: case 88: case 97: case 159: case 172: case 173: case 182: break; default: _writable = NULL; };rT43put_string((T43*)oRBC27cpp,(T0 *)ms1409); rT43put_target((T43*)oRBC27cpp); rT43put_character((T43*)oRBC27cpp,'\51'); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1410); rT43put_string((T43*)oRBC27cpp,XrT49to_string(_writable)); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1411); /*IF*/if (!((C)->_arguments)) { /*IF*/if (XrT58is_string(XrT68result_type(_right_side))) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1412); } /*FI*/XrT68compile_to_c(_right_side); } else { _argument_name=_right_side; if ((int)_argument_name) switch (((T0 *)_argument_name)->id) { case 88: break; default: _argument_name = NULL; };/*IF*/if (((int)_argument_name)) { rT43put_arguments((T43*)oRBC27cpp); } else { XrT68compile_to_c(_right_side); } /*FI*/} /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1416); } else { _tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp); /*IF*/if (((int)(C)->_routine_body)) { /*IF*/if (((int)(C)->_local_vars)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1420); rT267define_opening(C); } /*FI*/rT140compile_to_c((T140*)(C)->_routine_body); /*IF*/if (((int)(C)->_local_vars)) { rT267define_closing(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1421); } /*FI*/} /*FI*/} /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1422); } void rT267add_clients(T267 *C,T0* a1){ int _i=0; /*IF*/if (!((C)->_actuals_clients)) { C->_actuals_clients=ma(264,0,1,a1); } else { _i=((T264*)(C)->_actuals_clients)->_lower; while (!(((_i)>(((T264*)(C)->_actuals_clients)->_upper))||(((T0 *)rT264item((T264*)(C)->_actuals_clients,_i))==((T0 *)a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)>(((T264*)(C)->_actuals_clients)->_upper)) { rT264add_last((T264*)(C)->_actuals_clients,a1); } /*FI*/} /*FI*/} T0* rT267clients(T267 *C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; _bc=XrT58base_class((C)->_current_type); _bfbc=((T252*)(C)->_base_feature)->_base_class; /*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) { R=((T252*)(C)->_base_feature)->_clients; } else { /*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position((C)->_name)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT252start_position((T252*)(C)->_base_feature)); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string); (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1137); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string); rT267error(NULL,(T0 *)ms1138); } /*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature); } /*FI*/return R; } void rT267std_compute_use_current(T267 *C){ /*IF*/if (((C)->_use_current_state)==(1020)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (rT268use_current((T268*)(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 (rT140use_current((T140*)(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 (rT157use_current((T157*)(C)->_ensure_assertion)) { C->_use_current_state=1018; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((C)->_use_current_state)==(1020)) { C->_use_current_state=1017; } /*FI*/} int rT267id(T267 *C){ int R=0; R=XrT58id((C)->_current_type); return R; } T0* rT267start_position(T267 *C){ T0* R=NULL; R=rT252start_position((T252*)(C)->_base_feature); return R; } int rT267use_current(T267 *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; rT267compute_use_current(C); R=rT267use_current(C); goto l109; l115: ; if (1020 == iv1) goto l116; goto l117; l116: ; R=1; goto l109; l117: ; l109: ; } return R; } void rT267c_define(T267 *C){ /*IF*/if (rT267isa_in_line(C)) { rT43incr_inlined_procedure_count((T43*)oRBC27cpp); } else { /*IF*/if (rT267use_current(C)) { rT43incr_procedure_count((T43*)oRBC27cpp); } else { rT43incr_real_procedure_count((T43*)oRBC27cpp); } /*FI*/rT267define_prototype(C); rT267define_opening(C); /*IF*/if (((int)(C)->_routine_body)) { rT140compile_to_c((T140*)(C)->_routine_body); } /*FI*/rT267define_closing(C); rT43put_string((T43*)oRBC27cpp,(T0 *)ms1407); } /*FI*/} int rT267can_be_dropped(T267 *C){ int R=0; rT267warning(rT267start_position(C),(T0 *)ms1564); return R; } void rT267mapping_c(T267 *C){ int _tcbd=0; /*IF*/if (rT267isa_in_line(C)) { rT267in_line(C); } else if (rT267use_current(C)) { rT267mapping_name(C); rT43put_character((T43*)oRBC27cpp,'\50'); rT43put_target((T43*)oRBC27cpp); /*IF*/if ((rT267arg_count(C))>(0)) { rT43put_character((T43*)oRBC27cpp,'\54'); rT43put_arguments((T43*)oRBC27cpp); } /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1423); } else { _tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp); rT267mapping_name(C); rT43put_character((T43*)oRBC27cpp,'\50'); /*IF*/if ((rT267arg_count(C))>(0)) { rT43put_arguments((T43*)oRBC27cpp); } /*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1424); } /*FI*/} void rT267mapping_name(T267 *C){ rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207); rT43put_integer((T43*)oRBC27cpp,rT267id(C)); XrT67mapping_c((C)->_name); } T0* rT267run_class(T267 *C){ T0* R=NULL; R=XrT58run_class((C)->_current_type); return R; } int rT267is_exported_in(T267 *C,T0* a1){ int R=0; R=rT123gives_permission_to((T123*)rT267clients(C),a1); return R; } int rT267arg_count(T267 *C){ int R=0; /*IF*/if (((int)(C)->_arguments)) { R=rT92count((T92*)(C)->_arguments); } /*FI*/return R; } int rT267is_pre_computable(T267 *C){ int R=0; /*IF*/if (!((C)->_arguments)) { /*IF*/if (!((C)->_routine_body)) { R=1; } else { /*IF*/if (!((C)->_local_vars)) { R=rT140is_pre_computable((T140*)(C)->_routine_body); } /*FI*/} /*FI*/} /*FI*/return R; } void rT267initialize(T267 *C){ C->_arguments=((T252*)(C)->_base_feature)->_arguments; /*IF*/if (((int)(C)->_arguments)) { C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type); } /*FI*/C->_local_vars=((T252*)(C)->_base_feature)->_local_vars; /*IF*/if (((int)(C)->_local_vars)) { C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type); } /*FI*/C->_routine_body=((T252*)(C)->_base_feature)->_routine_body; /*IF*/if (((int)(C)->_routine_body)) { C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type); } /*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) { C->_require_assertion=rT252run_require((T0 *)C); } /*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) { C->_ensure_assertion=rT252run_ensure((T0 *)C); } /*FI*/} void rT267fall_down(T267 *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=XrT58run_class((C)->_current_type); _running=((T261*)_current_rc)->_running; /*IF*/if (((int)_running)) { _current_bc=XrT58base_class((C)->_current_type); _i=((T264*)_running)->_lower; while (!((_i)>(((T264*)_running)->_upper))) { _sub_rc=rT264item((T264*)_running,_i); /*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) { _sub_bc=XrT58base_class(((T261*)_sub_rc)->_current_type); _sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name); _rf=rT261get_feature((T261*)_sub_rc,_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} void rT267make(T267 *C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; rT265put((T265*)((T261*)rT267run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name)); rT52incr_magic_count((T52*)oRBC27small_eiffel); C->_use_current_state=1019; rT52push((T52*)oRBC27small_eiffel,(T0 *)C); rT267initialize(C); rT52pop((T52*)oRBC27small_eiffel); } int ofBC27type_any=0; T0*oRBC27type_any; T0* rT170type_any(/*C*/void){ if (ofBC27type_any==0){ T0* R=NULL; ofBC27type_any=1; {T87 *n=((T87*)se_new(87)); rT87make(n,NULL); R=(T0 *)n;} oRBC27type_any=R;} return oRBC27type_any;} int rT170static_value(T170 *C){ int R=0; R=(C)->_static_value_mem; return R; } T0* rT170to_runnable(T170 *C,T0* a1){ T0* R=NULL; rT170error(rT170start_position(C),(T0 *)ms1148); return R; } void rT170error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT170add_comment(T170 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } else { {T221 *n=((T221*)se_new(221)); rT221make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC170result_type=0; T0*oRBC170result_type; T0* rT170result_type(/*C*/void){ if (ofBC170result_type==0){ T0* R=NULL; ofBC170result_type=1; {T105 *n=((T105*)se_new(105)); rT105make(n,NULL,rT170type_any()); R=(T0 *)n;} oRBC170result_type=R;} return oRBC170result_type;} T0* rT170start_position(T170 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_list)) { R=XrT67start_position(rT128item((T128*)(C)->_list,1)); } /*FI*/return R; } void rT170compile_to_c_old(T170 *C){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!((_i)>(rT128count((T128*)(C)->_list)))) { XrT67compile_to_c_old(rT128item((T128*)(C)->_list,_i)); _i=(_i)+(1); } } /*FI*/} void rT170compile_to_c(T170 *C){ rT170error(rT170start_position(C),(T0 *)ms1204); } int rT170to_integer(T170 *C){ int R=0; rT170error(rT170start_position(C),(T0 *)ms169); return R; } T0* rT170written_in(T170 *C){ T0* R=NULL; T0* _sp=NULL; _sp=rT170start_position(C); /*IF*/if (((int)_sp)) { R=((T46*)_sp)->_base_class_name; } /*FI*/return R; } int rT170is_a(T170 *C,T0* a1){ int R=0; R=rT105is_a((T105*)((T105*)rT170result_type())->_run_type,XrT58run_type(XrT68result_type(a1))); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT170start_position(C)); rT170error(XrT68start_position(a1),(T0 *)ms1289); } /*FI*/return R; } void rT170make(T170 *C,T0* a1,T0* a2){ /*IF*/if (((int)a2)) { {T128 *n=((T128*)se_new(128)); rT128make(n,a2); C->_list=(T0 *)n;} } /*FI*/} T0*oRBC69tmp_string; T0* rT69to_prefix_name(T69 *C){ T0* R=NULL; {T66 *n=((T66*)se_new(66)); rT66make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } void rT69extend(T69 *C,char a1){ rT7extend((T7*)(C)->_to_string,a1); } T0* rT69to_e_void(T69 *C){ T0* R=NULL; {T173 *n=((T173*)se_new(173)); rT173make(n,rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_e_result(T69 *C){ T0* R=NULL; {T172 *n=((T172*)se_new(172)); rT172make(n,rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_e_current(T69 *C){ T0* R=NULL; {T89 *n=((T89*)se_new(89)); rT89make(n,rT69pos((C)->_li,(C)->_co),1); R=(T0 *)n;} return R; } int rT69isa_keyword(T69 *C){ int R=0; T0* _kt=NULL; int _i=0; _kt=oRBC69keyword_table; _i=((T34*)_kt)->_upper; while (!(((_i)==(0))||(rT7same_as((T7*)rT34item((T34*)_kt,_i),(C)->_to_string)))) { _i=(_i)-(1); } R=(_i)>(0); return R; } int rT69count(T69 *C){ int R=0; R=((T7*)(C)->_to_string)->_count; return R; } T0* rT69to_decl_name(T69 *C){ T0* R=NULL; {T97 *n=((T97*)se_new(97)); rT97make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_feature_name(T69 *C){ T0* R=NULL; {T67 *n=((T67*)se_new(67)); rT67make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69start_position(T69 *C){ T0* R=NULL; {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_li,(C)->_co); R=(T0 *)n;} return R; } T0*oRBC69keyword_table; T0* rT69to_class_name(T69 *C){ T0* R=NULL; {T48 *n=((T48*)se_new(48)); rT48make(n,(C)->_to_string,rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_key(T69 *C){ T0* R=NULL; R=(C)->_to_string; return R; } T0* rT69pos(/*C*/int a1,int a2){ T0* R=NULL; {T46 *n=((T46*)se_new(46)); rT46make(n,a1,a2); R=(T0 *)n;} return R; } T0* rT69to_argument_name(T69 *C,T0* a1,int a2){ T0* R=NULL; {T88 *n=((T88*)se_new(88)); rT88make(n,rT69pos((C)->_li,(C)->_co),XrT49to_string(rT92name((T92*)a1,a2)),a2); R=(T0 *)n;} return R; } T0* rT69to_tag_name(T69 *C){ T0* R=NULL; {T159 *n=((T159*)se_new(159)); rT159make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_infix_name_use(T69 *C){ T0* R=NULL; {T70 *n=((T70*)se_new(70)); rT70make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co)); R=(T0 *)n;} return R; } T0* rT69to_infix_name(T69 *C,T0* a1){ T0* R=NULL; {T70 *n=((T70*)se_new(70)); rT70make(n,rT7twin((T7*)(C)->_to_string),a1); R=(T0 *)n;} return R; } T0* rT69to_local_name(T69 *C,T0* a1,int a2){ T0* R=NULL; {T182 *n=((T182*)se_new(182)); rT182make(n,rT69pos((C)->_li,(C)->_co),XrT49to_string(rT139name((T139*)a1,a2)),rT139type((T139*)a1,a2),a2); R=(T0 *)n;} return R; } void rT69make(T69 *C,int a1,int a2){ C->_li=a1; C->_co=a2; C->_to_string=oRBC69tmp_string; /*(IRF3*/(((T7*)(C)->_to_string)->_count)=(0); /*)*/} int ofBC27type_boolean=0; T0*oRBC27type_boolean; T0* rT73type_boolean(/*C*/void){ if (ofBC27type_boolean==0){ T0* R=NULL; ofBC27type_boolean=1; {T107 *n=((T107*)se_new(107)); rT107make(n,NULL); R=(T0 *)n;} oRBC27type_boolean=R;} return oRBC27type_boolean;} T0* rT73twin(T73 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT73copy((T73*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT73is_static(T73 *C){ int R=0; R=1; C->_static_value_mem=1; return R; } int rT73static_value(T73 *C){ int R=0; R=(C)->_static_value_mem; return R; } T0* rT73to_runnable(T73 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT73twin(C); /*(IRF3*/(((T73*)R)->_current_type)=(a1); /*)*/} /*FI*/return R; } void rT73error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT73add_comment(T73 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } else { {T221 *n=((T221*)se_new(221)); rT221make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } T0* rT73written_in(T73 *C){ T0* R=NULL; T0* _sp=NULL; _sp=(C)->_start_position; /*IF*/if (((int)_sp)) { R=((T46*)_sp)->_base_class_name; } /*FI*/return R; } void rT73copy(T73 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT73is_a(T73 *C,T0* a1){ int R=0; R=XrT58is_a(rT107run_type((T107*)/*(IRF4*/rT73type_boolean()/*)*/),XrT58run_type(XrT68result_type(a1))); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT73error(XrT68start_position(a1),(T0 *)ms1289); } /*FI*/return R; } int rT90is_run_type(T90 *C){ int R=0; R=((int)(C)->_run_type); return R; } T0*oRBC58tmp_string; T0* rT90run_time_mark(T90 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_type)) { R=XrT58run_time_mark((C)->_run_type); } /*FI*/return R; } T0* rT90to_runnable(T90 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_run_type)) { C->_run_type=a1; R=(T0 *)C; } else if (rT7is_equal((T7*)XrT58run_time_mark((C)->_run_type),XrT58run_time_mark(a1))) { R=(T0 *)C; } else { {T90 *n=((T90*)se_new(90)); rT90make(n,(C)->_start_position,(C)->_like_what); R=(T0 *)n;} R=rT90to_runnable((T90*)R,a1); } /*FI*/return R; } void rT90error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT90cast_to_ref(T90 *C){ XrT58cast_to_ref((C)->_run_type); } int rT90fast_mapping_c(T90 *C){ int R=0; R=XrT58fast_mapping_c((C)->_run_type); return R; } int rT90id(T90 *C){ int R=0; R=((T261*)rT90run_class(C))->_id; return R; } T0* rT90generic_list(T90 *C){ T0* R=NULL; (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1452); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/return R; } int rT90is_reference(T90 *C){ int R=0; R=XrT58is_reference((C)->_run_type); return R; } T0* rT90look_up_for(T90 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _bc=NULL; _bc=rT90base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms477); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT90mapping_c_in(T90 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT90id(C),a1); } void rT90mapping_cast(T90 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806); rT2append_in(rT90id(C),oRBC58tmp_string); /*IF*/if (rT90is_reference(C)) { rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } T0* rT90run_class(T90 *C){ T0* R=NULL; R=((/*UT*/(void)(T52*)oRBC27small_eiffel), rT52run_class((C)->_run_type)); return R; } int rT90is_expanded(T90 *C){ int R=0; R=!(rT90is_reference(C)); return R; } T0* rT90smallest_ancestor(T90 *C,T0* a1){ T0* R=NULL; R=XrT58smallest_ancestor((C)->_run_type,a1); return R; } T0* rT90base_class_name(T90 *C){ T0* R=NULL; R=XrT58base_class_name((C)->_run_type); return R; } T0* rT90base_class(T90 *C){ T0* R=NULL; R=rT48base_class((T48*)rT90base_class_name(C)); return R; } int rT90is_a_in(T90 *C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (rT7is_equal((T7*)(T0 *)ms1497,XrT58written_mark(a1))) { R=1; } else { _ct=((T261*)a2)->_current_type; _t1=rT90to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } int rT90is_a(T90 *C,T0* a1){ int R=0; R=XrT58is_a((C)->_run_type,a1); return R; } int rT90has_creation(T90 *C,T0* a1){ int R=0; R=XrT58has_creation((C)->_run_type,a1); return R; } void rT90make(T90 *C,T0* a1,T0* a2){ C->_start_position=a1; C->_like_what=a2; if ((int)C->_like_what) switch (((T0 *)C->_like_what)->id) { case 89: break; default: C->_like_what = NULL; };} void rT90c_type_in(T90 *C,T0* a1){ XrT58c_type_in((C)->_run_type,a1); } T0* rT87run_type(T87 *C){ T0* R=NULL; R=(T0 *)C; return R; } T0* rT87to_runnable(T87 *C,T0* a1){ T0* R=NULL; R=(T0 *)C; rT87check_type(C); return R; } void rT87cast_to_ref(T87 *C){ XrT58cast_to_ref(rT87run_type(C)); } void rT87error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT87id(T87 *C){ int R=0; R=((T50*)rT87base_class(C))->_id; return R; } T0* rT87start_position(T87 *C){ T0* R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0* rT87generic_list(T87 *C){ T0* R=NULL; (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1452); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/return R; } T0* rT87look_up_for(T87 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _bc=NULL; _bc=rT87base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms477); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT87mapping_c_in(T87 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT87id(C),a1); } void rT87mapping_cast(T87 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806); rT2append_in(rT87id(C),oRBC58tmp_string); /*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } T0* rT87run_class(T87 *C){ T0* R=NULL; R=((/*UT*/(void)(T52*)oRBC27small_eiffel), rT52run_class(rT87run_type(C))); return R; } T0* rT87smallest_ancestor(T87 *C,T0* a1){ T0* R=NULL; R=(T0 *)C; return R; } T0* rT87base_class(T87 *C){ T0* R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } int rT87is_a_in(T87 *C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms177/*)*/,XrT58written_mark(a1))) { R=1; } else { _ct=((T261*)a2)->_current_type; _t1=rT87to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT87c_struct(T87 *C){ T0* _wa=NULL; T0* _a=NULL; int _i=0; /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms767); rT2append_in(rT87id(C),oRBC58tmp_string); rT7extend((T7*)oRBC58tmp_string,'\173'); /*IF*/{/*AT*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms768); } /*FI*/_wa=rT261writable_attributes((T261*)rT87run_class(C)); /*IF*/if (((int)_wa)) { _i=XrT266lower(_wa); while (!((_i)>(XrT266upper(_wa)))) { _a=XrT266item(_wa,_i); XrT58c_type_in(XrT58run_type(XrT262result_type(_a)),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms770); rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT262name(_a))); rT7extend((T7*)oRBC58tmp_string,'\73'); _i=(_i)+(1); } } /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms771); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } int rT87is_a(T87 *C,T0* a1){ int R=0; /*IF*/if (XrT58is_any(a1)) { R=1; } else { R=rT50is_subclass_of((T50*)rT87base_class(C),XrT58base_class(a1)); } /*FI*//*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1503); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms36); } /*FI*/return R; } int rT87has_creation(T87 *C,T0* a1){ int R=0; (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT67start_position(a1)); rT87error(rT87start_position(C),(T0 *)ms1509); return R; } int ofBC87check_type=0; void rT87check_type(T87 *C){ if (ofBC87check_type==0){ T0* _rc=NULL; T0* _bc=NULL; int _ne=0; ofBC87check_type=1; _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; _bc=rT87base_class(C); /*IF*/if (!(_bc)) { rT87error(rT87start_position(C),(T0 *)ms1428); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { _rc=rT87run_class(C); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((T50*)_bc)->_is_expanded) { rT87error(rT87start_position(C),(T0 *)ms1429); } /*FI*/} /*FI*/}} void rT87make(T87 *C,T0* a1){ {T48 *n=((T48*)se_new(48)); rT48make(n,(T0 *)ms177,a1); C->_base_class_name=(T0 *)n;} } void rT87c_typedef(T87 *C){ int _mem_id=0; _mem_id=rT87id(C); /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms759); rT2append_in(rT87id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms760); rT2append_in(rT87id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms761); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } void rT87c_type_in(/*C*/T0* a1){ rT7append((T7*)a1,(T0 *)ms769); } T0* rT98twin(T98 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT98copy((T98*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT98is_run_type(T98 *C){ int R=0; R=((int)(C)->_run_type); return R; } T0* rT98like_argument(T98 *C){ T0* R=NULL; R=(C)->_like_what; return R; } T0* rT98run_time_mark(T98 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_run_type)) { R=XrT58run_time_mark((C)->_run_type); } /*FI*/return R; } T0* rT98to_runnable(T98 *C,T0* a1){ T0* R=NULL; T0* _an=NULL; T0* _t=NULL; /*IF*/if (!((C)->_run_type)) { _an=rT88to_runnable((T88*)(C)->_like_what,a1); /*IF*/if (!(_an)) { rT98error((C)->_start_position,(T0 *)ms1430); } else { C->_like_what=_an; } /*FI*//*IF*/if (XrT58is_anchored(((T88*)(C)->_like_what)->_result_type)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type)); rT45error((T45*)oRBC27eh,(T0 *)ms1431); } /*FI*//*IF*/if (XrT58is_expanded(((T88*)(C)->_like_what)->_result_type)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type)); rT45error((T45*)oRBC27eh,(T0 *)ms1432); } /*FI*/C->_run_type=((T88*)(C)->_like_what)->_result_type; R=(T0 *)C; } else { R=rT98twin(C); /*(IRF3*/(((T98*)R)->_run_type)=(NULL); /*)*/R=rT98to_runnable((T98*)R,a1); } /*FI*/return R; } void rT98cast_to_ref(T98 *C){ XrT58cast_to_ref((C)->_run_type); } void rT98error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT98fast_mapping_c(T98 *C){ int R=0; R=XrT58fast_mapping_c((C)->_run_type); return R; } int rT98id(T98 *C){ int R=0; R=((T261*)rT98run_class(C))->_id; return R; } T0* rT98generic_list(T98 *C){ T0* R=NULL; (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1452); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/return R; } int rT98is_reference(T98 *C){ int R=0; R=XrT58is_reference(((T88*)(C)->_like_what)->_result_type); return R; } T0* rT98look_up_for(T98 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _bc=NULL; _bc=rT98base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms477); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT98mapping_c_in(T98 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT98id(C),a1); } void rT98mapping_cast(T98 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806); rT2append_in(rT98id(C),oRBC58tmp_string); /*IF*/if (rT98is_reference(C)) { rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } T0* rT98run_class(T98 *C){ T0* R=NULL; R=((/*UT*/(void)(T52*)oRBC27small_eiffel), rT52run_class((C)->_run_type)); return R; } int rT98is_expanded(T98 *C){ int R=0; R=!(rT98is_reference(C)); return R; } T0* rT98smallest_ancestor(T98 *C,T0* a1){ T0* R=NULL; R=XrT58smallest_ancestor((C)->_run_type,a1); return R; } T0* rT98base_class_name(T98 *C){ T0* R=NULL; R=XrT58base_class_name((C)->_run_type); return R; } T0* rT98base_class(T98 *C){ T0* R=NULL; R=rT48base_class((T48*)rT98base_class_name(C)); return R; } int rT98is_a_in(T98 *C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) { R=1; } else { _ct=((T261*)a2)->_current_type; _t1=rT98to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT98copy(T98 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.