This is compile_to_c29.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" /*INDEX_CLAUSE*/void rT69add_index_value(T69 *C,T0* a1){ /*IF*/if (!((C)->_list)) { C->_list=ma(85,0,1,a1); } else { XrT85add_last((C)->_list,a1); } /*FI*/}/*COMPILE_TO_C*/T0* rT26get_environment_variable(/*C*/T0* a1){ T0* R=NULL; void * _p=0; _p=rT7to_external((T7*)a1); _p=((void*)getenv((char*)_p)); /*IF*/if (((int)_p)) { R=(T0*)e2s((char*)_p); } /*FI*/return R; } /*COMPILE_TO_C*/void rT26automat(T26 *C){ T0* _a=NULL; int _arg=0; _arg=1; while (!(((_arg)>(/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/))||(((C)->_state)>(7)))) { _a=rT26argument(_arg); {int iv1=(C)->_state; if (0 == iv1) goto l503; goto l504; l503: ; /*IF*/if ((rT7item((T7*)_a,1))!=('\55')) { /*IF*/if (rT7has_suffix((T7*)_a,(T0 *)ms27_27)) { rT44add_c_object((T44*)oRBC27cpp,_a); } else if (rT7has_suffix((T7*)_a,(T0 *)ms25_27)) { rT44add_c_object((T44*)oRBC27cpp,_a); } else if (!((C)->_root_class)) { C->_root_class=_a; /*[IRF3:set_root_class*//*AW*/((T47*)oRBC27eiffel_run_control)->_root_class=(_a);/*]*/ C->_state=2; } else { rT44add_c_compiler_option((T44*)oRBC27cpp,_a); } /*FI*/} else if (rT7is_equal(ms5_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_boost*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-6);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms6_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_no_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-5);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms7_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_require_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-4);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms8_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_ensure_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-3);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms9_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_invariant_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-2);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms10_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_loop_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(-1);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms11_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_all_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(0);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms12_26,_a)) { /*IF*/if (((int)(C)->_level)) { rT26error_level(C,_a); } else { /*[IRF3:set_debug_check*//*AW*/((T47*)oRBC27eiffel_run_control)->_level=(1);/*]*/ C->_level=_a; } /*FI*/} else if (rT7is_equal(ms13_26,_a)) { /*[IRF3:set_no_strip*//*AW*/((T44*)oRBC27cpp)->_no_strip=(1);/*]*/ } else if (rT7is_equal(ms14_26,_a)) { C->_state=3; } else if (rT7has_prefix((T7*)_a,(T0 *)ms15_26)) { rT44add_c_library((T44*)oRBC27cpp,_a); } else if (rT7is_equal(ms16_26,_a)) { /*IF*/if (((int)(C)->_output_name)) { rT48error((T48*)oRBC27eh,(T0 *)ms17_26); C->_state=9; } else { C->_state=1; } /*FI*/} else { rT44add_c_compiler_option((T44*)oRBC27cpp,_a); } /*FI*/goto l502; l504: ; if (1 == iv1) goto l505; goto l506; l505: ; /*[IRF3:set_output_name*//*AW*/((T44*)oRBC27cpp)->_output_name=(_a);/*]*/ C->_state=0; goto l502; l506: ; if (2 == iv1) goto l507; goto l508; l507: ; C->_start_proc=_a; C->_state=0; goto l502; l508: ; if (3 == iv1) goto l509; goto l510; l509: ; /*[IRF3:clear*//*AW*/((T7*)(T0 *)ms502_44)->_count=(0);/*]*/ rT7append((T7*)(T0 *)ms502_44,_a); C->_state=0; goto l502; l510: ; l502: ; } _arg=(_arg)+(1); } /*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { rT55compile_to_c((T55*)oRBC27small_eiffel,(C)->_root_class,(C)->_start_proc); } /*FI*/}/*COMPILE_TO_C*/char rT26directory_separator(/*C*/void){ if (ofBC27directory_separator==0){ char R=0; ofBC27directory_separator=1; R=rT7last((T7*)rT26small_eiffel_directory()); oRBC27directory_separator=R;} return oRBC27directory_separator;} /*COMPILE_TO_C*/void rT26die_with_code(/*C*/int a1){ exit(a1); }T0*oRBC27hlp_file_name; /*COMPILE_TO_C*/void rT26error_level(T26 *C,T0* a1){ C->_state=9; rT48append((T0 *)ms18_26); rT48append((C)->_level); rT48append((T0 *)ms19_26); rT48append(a1); rT48append((T0 *)ms102_27); rT48print_as_error((T48*)oRBC27eh); }/*COMPILE_TO_C*/void rT26add_directory(/*C*/T0* a1,T0* a2){ rT7append((T7*)a1,a2); rT7extend((T7*)a1,rT26directory_separator()); }/*COMPILE_TO_C*/void rT26print_hlp(/*C*/T0* a1){ rT7copy((T7*)oRBC27hlp_file_name,rT26small_eiffel_directory()); rT26add_directory(oRBC27hlp_file_name,(T0 *)ms2_27); rT7append((T7*)oRBC27hlp_file_name,a1); /*IF*/if (!(rT7has_suffix((T7*)oRBC27hlp_file_name,(T0 *)ms35_27))) { rT7append((T7*)oRBC27hlp_file_name,(T0 *)ms35_27); } /*FI*//*IF*/if (!(rT26file_exists(oRBC27hlp_file_name))) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms3_27); rT38put_string((T38*)oRBC1std_error,oRBC27hlp_file_name); rT38put_string((T38*)oRBC1std_error,(T0 *)ms4_27); rT26die_with_code(1); } /*FI*/rT42append_file((T42*)oRBC1std_output,oRBC27hlp_file_name); }T0*oRBC1command_arguments; /*COMPILE_TO_C*/T0* rT26small_eiffel_directory(/*C*/void){ if (ofBC27small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; ofBC27small_eiffel_directory=1; R=rT26get_environment_variable((T0 *)ms124_27); /*IF*/if (!(R)) { R=rT7twin((T7*)(T0 *)ms124_27); rT7to_upper((T7*)R); R=rT26get_environment_variable(R); /*IF*/if (((int)R)) { rT7to_upper((T7*)(T0 *)ms124_27); } /*FI*/} /*FI*//*IF*/if (!(R)) { R=(T0 *)ms1_27; } /*FI*/_i=((T7*)R)->_count; while (!((_i)<(0))) { _slash=rT7item((T7*)R,_i); /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { rT7extend((T7*)R,'\57'); } else if (!((rT7last((T7*)R))==(_slash))) { rT7extend((T7*)R,_slash); } /*FI*/oRBC27small_eiffel_directory=R;} return oRBC27small_eiffel_directory;} /*COMPILE_TO_C*/T0* rT26argument(/*C*/int a1){ T0* R=NULL; R=rT34item((T34*)oRBC1command_arguments,a1); return R; } /*COMPILE_TO_C*/void rT26make(T26 *C){ /*IF*/if ((/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/)<(2)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms3_26); rT26print_hlp((T0 *)ms4_26); rT26die_with_code(1); } else { rT26automat(C); } /*FI*/}/*COMPILE_TO_C*/int rT26file_exists(/*C*/T0* a1){ int R=0; void * _p=0; _p=rT7to_external((T7*)a1); {FILE *f=fopen(((char*)_p),"r"); R=(f != NULL); if (R) fclose(f);} return R; } /*PROCEDURE*/int rT259attribute_writer(T259 *C){ int R=0; T0* _fn=NULL; T0* _argument_name=NULL; T0* _args=NULL; T0* _assignment=NULL; T0* _rb=NULL; _rb=(C)->_routine_body; /*IF*/if (!((C)->_local_vars)) { /*IF*/if ((((int)_rb))&&((rT142count((T142*)_rb))==(1))) { _args=(C)->_arguments; _assignment=rT142first((T142*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 256: break; default: _assignment = NULL; };/*IF*/if (!(_args)) { /*IF*/if (((int)_assignment)) { R=!(XrT72use_current(((T256*)_assignment)->_right_side)); } /*FI*/} else if ((rT97count((T97*)_args))==(1)) { /*IF*/if (((int)_assignment)) { _argument_name=((T256*)_assignment)->_right_side; if ((int)_argument_name) switch (((T0 *)_argument_name)->id) { case 92: break; default: _argument_name = NULL; };/*IF*/if (((int)_argument_name)) { R=1; } /*FI*/} /*FI*/} /*FI*/} /*FI*/} else if (!((C)->_arguments)) { /*IF*/if ((((int)_rb))&&((rT142count((T142*)_rb))==(1))) { _assignment=rT142first((T142*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 256: break; default: _assignment = NULL; };/*IF*/if (((int)_assignment)) { _fn=((T256*)_assignment)->_left_side; if ((int)_fn) switch (((T0 *)_fn)->id) { case 70: case 74: case 71: break; default: _fn = NULL; };/*IF*/if (((int)_fn)) { R=!(XrT72use_current(((T256*)_assignment)->_right_side)); } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*PROCEDURE*/T0* rT259runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT162empty((T162*)a1))) { R=rT162twin((T162*)a1); _i=((T162*)R)->_upper; while (!((_i)==(0))) { rT55push((T55*)oRBC27small_eiffel,a3); _a=rT68to_runnable((T68*)rT162item((T162*)R,_i),a2); /*IF*/if (!(_a)) { rT259error(rT68start_position((T68*)rT162item((T162*)R,_i)),(T0 *)ms97_27); } else { rT162put((T162*)R,_a,_i); } /*FI*/rT55pop((T55*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } /*PROCEDURE*/T0* rT259run_require(/*C*/T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; rT276clear((T276*)oRBC66require_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1001,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); /*IF*/if (!(rT276empty((T276*)oRBC66require_collector))) { _i=1; while (!((_i)>(((T276*)oRBC66require_collector)->_upper))) { _er=rT276item((T276*)oRBC66require_collector,_i); /*IF*/if (!(rT139empty((T139*)_er))) { _r=rT259runnable(((T139*)_er)->_list,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T139 *n=((T139*)se_new(139)); rT139from_runnable(n,_r); _er=(T0 *)n;} /*IF*/if (!(_ar)) { _ar=ma(276,0,1,_er); } else { rT276add_last((T276*)_ar,_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if (((int)_ar)) { {T275 *n=((T275*)se_new(275)); /*[IRF3:make*//*AW*/(n)->_list=(_ar);/*]*/ R=(T0 *)n;} } /*FI*/} /*FI*/return R; } /*PROCEDURE*/T0* rT259first_name(T259 *C){ T0* R=NULL; R=rT130item((T130*)(C)->_names,1); return R; } /*PROCEDURE*/T0* rT259to_run_feature(T259 *C,T0* a1,T0* a2){ T0* R=NULL; {T274 *n=((T274*)se_new(274)); rT274make(n,a1,a2,(T0 *)C); R=(T0 *)n;} return R; } /*PROCEDURE*/void rT259error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*PROCEDURE*/int rT259is_merge_with(T259 *C,T0* a1,T0* a2){ int R=0; int _ne=0; _ne=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms1_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms2_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms3_66); } /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48error((T48*)oRBC27eh,(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0); return R; } /*PROCEDURE*/T0* rT259start_position(T259 *C){ T0* R=NULL; R=/*XrT*FEATURE_NAME*/((T70*)rT259first_name(C))->_start_position; return R; } /*PROCEDURE*/void rT259collect_for(T259 *C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (!(rT276fast_has((T276*)oRBC66require_collector,(C)->_require_assertion))) { rT276add_last((T276*)oRBC66require_collector,(C)->_require_assertion); } /*FI*/} /*FI*/} else { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161add_into((T161*)(C)->_ensure_assertion,oRBC66assertion_collector); } /*FI*/} /*FI*/}/*PROCEDURE*/void rT259add_into(T259 *C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=rT49base_class((T49*)/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,1))->_start_position); _i=1; while (!((_i)>(rT130count((T130*)(C)->_names)))) { _fn=rT130item((T130*)(C)->_names,_i); /*IF*/if (rT65has((T65*)a1,XrT71to_key(_fn))) { _fn=XrT66first_name(rT65at((T65*)a1,XrT71to_key(_fn))); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,_i))->_start_position); rT48error((T48*)oRBC27eh,(T0 *)ms12_66); rT48append(/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT48error((T48*)oRBC27eh,(T0 *)ms102_27); } else { rT65put((T65*)a1,(T0 *)C,XrT71to_key(_fn)); } /*FI*/_i=(_i)+(1); } }/*PROCEDURE*/T0* rT259try_to_undefine(T259 *C,T0* a1,T0* a2){ T0* R=NULL; XrT71undefine_in(a1,a2); R=rT259try_to_undefine_aux(C,a1,a2); /*IF*/if (((int)R)) { /*XrT*DEFERRED_ROUTINE*//*[IRF3:set_clients*//*AW*/((T210*)R)->_clients=((C)->_clients);/*]*/ } else { rT53fatal_undefine((T53*)a2,a1); } /*FI*/return R; } /*PROCEDURE*/T0* rT259try_to_undefine_aux(T259 *C,T0* a1,T0* a2){ T0* R=NULL; {T210 *n=((T210*)se_new(210)); rT210from_effective(n,a1,(C)->_arguments,(C)->_require_assertion,(C)->_ensure_assertion,a2); R=(T0 *)n;}return R; } /*PROCEDURE*/void rT259set_header_comment(T259 *C,T0* a1){ /*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) { C->_end_comment=a1; } /*FI*/}/*PROCEDURE*/int rT259stupid_switch(T259 *C,T0* a1,T0* a2){ int R=0; T0* _sta_rf2=NULL; T0* _sta_rc=NULL; T0* _wa=NULL; T0* _assignment=NULL; /*IF*/if (!((C)->_routine_body)) { R=1; } else if (rT259attribute_writer(C)) { _assignment=rT142first((T142*)(C)->_routine_body); if ((int)_assignment) switch (((T0 *)_assignment)->id) { case 256: break; default: _assignment = NULL; };_wa=((T256*)_assignment)->_left_side; if ((int)_wa) switch (((T0 *)_wa)->id) { case 70: case 74: case 71: break; default: _wa = NULL; };_sta_rc=XrT62run_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type); _sta_rf2=rT269get_feature((T269*)_sta_rc,_wa); R=XrT66stupid_switch(XrT268base_feature(_sta_rf2),_sta_rf2,a2); } /*FI*/return R; } /*PROCEDURE*/int rT259can_hide(T259 *C,T0* a1,T0* a2){ int R=0; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms4_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms5_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT259error(rT259start_position(C),(T0 *)ms6_66); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms7_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT48add_position(rT259start_position(C)); rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms8_66); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0); return R; } /*PROCEDURE*/T0* rT259run_ensure(/*C*/T0* a1){ T0* R=NULL; T0* _r=NULL; rT162clear((T162*)oRBC66assertion_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1002,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); _r=rT259runnable(oRBC66assertion_collector,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T161 *n=((T161*)se_new(161)); rT161from_runnable(n,_r); R=(T0 *)n;} } /*FI*/return R; } /*PROCEDURE*/T0* rT259base_class_name(T259 *C){ T0* R=NULL; R=((T53*)(C)->_base_class)->_base_class_name; return R; } /*PROCEDURE*/void rT259set_rescue_compound(T259 *C,T0* a1){ /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) { rT259error(rT259start_position(C),(T0 *)ms8_160); } /*FI*/C->_rescue_compound=a1; }/*PROCEDURE*/void rT259make_e_feature(T259 *C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; }/*PROCEDURE*/void rT259make_routine(T259 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ rT259make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; }/*PROCEDURE*/void rT259make(T259 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ rT259make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1015; }/*SMALL_EIFFEL*/T0* rT55find_path_for(/*C*/T0* a1){ T0* R=NULL; int _i=0; rT7copy((T7*)(T0 *)ms21_55,a1); rT7to_lower((T7*)(T0 *)ms21_55); /*IF*/if (!(rT7has_suffix((T7*)(T0 *)ms21_55,(T0 *)ms24_27))) { rT7append((T7*)(T0 *)ms21_55,(T0 *)ms24_27); } /*FI*//*IF*/if (rT55file_exists((T0 *)ms21_55)) { R=rT7twin((T7*)(T0 *)ms21_55); } else { _i=((T45*)rT55loading_path())->_lower; while (!((((_i)>(((T45*)rT55loading_path())->_upper))||(((int)R))))) { rT7copy((T7*)(T0 *)ms20_55,rT45item((T45*)rT55loading_path(),_i)); rT7append((T7*)(T0 *)ms20_55,(T0 *)ms21_55); /*IF*/if (rT55file_exists((T0 *)ms20_55)) { R=rT7twin((T7*)(T0 *)ms20_55); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if ((!(R))&&(rT61has((T61*)rT55rename_dictionary(),(T0 *)ms21_55))) { rT7copy((T7*)(T0 *)ms20_55,rT61at((T61*)rT55rename_dictionary(),(T0 *)ms21_55)); /*IF*/if (rT55file_exists((T0 *)ms20_55)) { R=(T0 *)ms20_55; } else { rT38put_string((T38*)oRBC1std_error,(T0 *)ms22_55); rT38put_string((T38*)oRBC1std_error,(T0 *)ms20_55); rT38put_string((T38*)oRBC1std_error,(T0 *)ms23_55); rT55die_with_code(1); } /*FI*/} /*FI*//*IF*/if (!(R)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms24_55); rT38put_string((T38*)oRBC1std_error,a1); rT38put_string((T38*)oRBC1std_error,(T0 *)ms25_55); /*[IRF3:clear*//*AW*/((T7*)(T0 *)ms20_55)->_count=(0);/*]*/ rT55append_loading_path_in((T0 *)ms20_55); rT38put_string((T38*)oRBC1std_error,(T0 *)ms20_55); } /*FI*/return R; } /*SMALL_EIFFEL*/void rT55push(T55 *C,T0* a1){ C->_top=((C)->_top)+(1); XrT273force(oRBC55stack_rf,a1,(C)->_top); }/*SMALL_EIFFEL*/void rT55cecil_for(/*C*/T0* a1,T0* a2){ T0* _rf=NULL; _rf=rT269get_feature_with((T269*)XrT62run_class(a1),a2); rT44add_cecil((T44*)oRBC27cpp,_rf); }/*SMALL_EIFFEL*/T0* rT55get_class(/*C*/T0* a1){ T0* R=NULL; /*IF*/if (rT57has((T57*)oRBC55base_class_dictionary,a1)) { R=rT57at((T57*)oRBC55base_class_dictionary,a1); } else { rT51make((T51*)rT55tmp_class_name(),a1,NULL); R=rT51base_class((T51*)rT55tmp_class_name()); } /*FI*/return R; } /*SMALL_EIFFEL*/T0* rT55get_environment_variable(/*C*/T0* a1){ T0* R=NULL; void * _p=0; _p=rT7to_external((T7*)a1); _p=((void*)getenv((char*)_p)); /*IF*/if (((int)_p)) { R=(T0*)e2s((char*)_p); } /*FI*/return R; } /*SMALL_EIFFEL*/void rT55define_extern_tables(T55 *C){ int _size=0; _size=((C)->_last_id)+(1); rT44put_extern4((T44*)oRBC27cpp,(T0 *)ms56_55,(T0 *)ms57_55,_size); rT44put_extern4((T44*)oRBC27cpp,(T0 *)ms58_55,(T0 *)ms59_55,_size); rT44put_extern4((T44*)oRBC27cpp,(T0 *)ms60_55,(T0 *)ms61_55,_size); rT44put_extern4((T44*)oRBC27cpp,(T0 *)ms62_55,(T0 *)ms63_55,_size); }/*SMALL_EIFFEL*/char rT55directory_separator(/*C*/void){ if (ofBC27directory_separator==0){ char R=0; ofBC27directory_separator=1; R=rT7last((T7*)rT55small_eiffel_directory()); oRBC27directory_separator=R;} return oRBC27directory_separator;} /*SMALL_EIFFEL*/void rT55fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*SMALL_EIFFEL*/void rT55die_with_code(/*C*/int a1){ exit(a1); }int ofBC55loading_path=0; T0*oRBC55loading_path; /*SMALL_EIFFEL*/T0* rT55loading_path(/*C*/void){ if (ofBC55loading_path==0){ T0* R=NULL; T0* _file=NULL; T0* _defaults=NULL; char _slash=0; int _i=0; T0* _path=NULL; ofBC55loading_path=1; _path=(T0 *)ms2_55; {T45 *n=((T45*)se_new(45)); rT45make(n,1,10); R=(T0 *)n;} rT45clear((T45*)R); _slash=rT55directory_separator(); /*IF*/if (rT55file_exists(_path)) { {T43 *n=((T43*)se_new(43)); /*[IRF3:make*//*AW*/(n)->_mode=((T0 *)ms1_43);/*]*/ _file=(T0 *)n;} rT55open_read(_file,_path); while (!(rT43end_of_input((T43*)_file))) { rT43read_line((T43*)_file); _path=rT7twin((T7*)oRBC43last_string); /*IF*/if (!(rT7empty((T7*)_path))) { /*IF*/if ((rT7last((T7*)_path))!=(_slash)) { rT7extend((T7*)_path,_slash); } /*FI*/rT45add_last((T45*)R,_path); } /*FI*/} rT43disconnect((T43*)_file); } /*FI*/_defaults=ma(45,0,3,ms3_55,ms4_55,ms5_55); _i=1; while (!((_i)>(((T45*)_defaults)->_upper))) { _path=rT45item((T45*)_defaults,_i); rT7prepend((T7*)_path,rT55small_eiffel_directory()); rT7extend((T7*)_path,_slash); rT45add_last((T45*)R,_path); _i=(_i)+(1); } oRBC55loading_path=R;} return oRBC55loading_path;} /*SMALL_EIFFEL*/void rT55incr_magic_count(T55 *C){ C->_magic_count=((C)->_magic_count)+(1); }/*SMALL_EIFFEL*/void rT55pop(T55 *C){ C->_top=((C)->_top)-(1); }/*SMALL_EIFFEL*/void rT55open_read(/*C*/T0* a1,T0* a2){ rT43connect_to((T43*)a1,a2); /*IF*/if (!(rT43is_connected((T43*)a1))) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms7_27); rT38put_string((T38*)oRBC1std_error,a2); rT38put_string((T38*)oRBC1std_error,(T0 *)ms8_27); rT55die_with_code(1); } /*FI*/}/*SMALL_EIFFEL*/T0* rT55get_started(T55 *C,T0* a1,T0* a2){ T0* R=NULL; int _magic=0; T0* _root_type=NULL; T0* _root_proc=NULL; T0* _root=NULL; T0* _root_proc_name=NULL; T0* _root_name=NULL; _root=rT55load_class(a1); /*IF*/if (!(_root)) { rT48append((T0 *)ms49_55); rT48append(a1); rT48error((T48*)oRBC27eh,(T0 *)ms102_27); } else { _root_name=((T53*)_root)->_base_class_name; {T71 *n=((T71*)se_new(71)); rT71make(n,a2,NULL); _root_proc_name=(T0 *)n;} _root_proc=rT53root_procedure((T53*)_root,a2); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)((T259*)_root_proc)->_arguments)) { rT48add_position(rT259start_position((T259*)_root_proc)); rT48append((T0 *)ms50_55); rT48append(a2); rT48error((T48*)oRBC27eh,(T0 *)ms51_55); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _root_type=((T269*)rT53run_class((T53*)_root))->_current_type; } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=rT259to_run_feature((T259*)_root_proc,_root_type,_root_proc_name); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) { rT55cecil_for(rT55type_any(),(T0 *)ms52_55); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!(/*(IRF4*/(rT7empty((T7*)oRBC48explanation))&&(rT50empty((T50*)oRBC48positions))/*)*/)) { rT42put_string((T42*)oRBC1std_output,(T0 *)ms53_55); rT48print_as_warning((T48*)oRBC27eh); } /*FI*/rT42put_string((T42*)oRBC1std_output,(T0 *)ms54_55); rT42put_integer((T42*)oRBC1std_output,(C)->_magic_count); rT42put_string((T42*)oRBC1std_output,(T0 *)ms85_55); while (!((((_magic)==((C)->_magic_count))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(0))))) { _magic=(C)->_magic_count; /*[IRF3:falling_down*/{int _i=0; T0* _rc=NULL; _i=1; while (!((_i)>(((T270*)oRBC55run_class_dictionary)->_count))) { _rc=rT270item((T270*)oRBC55run_class_dictionary,_i); rT269falling_down((T269*)_rc); _i=(_i)+(1); } }/*]*/ } } /*FI*/rT42put_string((T42*)oRBC1std_output,(T0 *)ms55_55); rT42put_integer((T42*)oRBC1std_output,(C)->_magic_count); rT42put_string((T42*)oRBC1std_output,(T0 *)ms85_55); return R; } int ofBC55rename_dictionary=0; T0*oRBC55rename_dictionary; /*SMALL_EIFFEL*/T0* rT55rename_dictionary(/*C*/void){ if (ofBC55rename_dictionary==0){ T0* R=NULL; T0* _short_name=NULL; T0* _full_name=NULL; int _i=0; ofBC55rename_dictionary=1; {T61 *n=((T61*)se_new(61)); rT61make(n); R=(T0 *)n;} _i=1; while (!((_i)>(((T45*)rT55loading_path())->_upper))) { rT7copy((T7*)(T0 *)ms20_55,rT45item((T45*)rT55loading_path(),_i)); rT7append((T7*)(T0 *)ms20_55,(T0 *)ms26_55); /*IF*/if (rT55file_exists((T0 *)ms20_55)) { rT55open_read(oRBC27tmp_file_read,(T0 *)ms20_55); while (!(rT43end_of_input((T43*)oRBC27tmp_file_read))) { rT43read_word((T43*)oRBC27tmp_file_read); _full_name=rT7twin((T7*)oRBC43last_string); rT43read_word((T43*)oRBC27tmp_file_read); _short_name=rT7twin((T7*)oRBC43last_string); rT7prepend((T7*)_short_name,rT45item((T45*)rT55loading_path(),_i)); /*IF*/if (rT61has((T61*)R,_full_name)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms27_55); rT38put_string((T38*)oRBC1std_error,_full_name); rT38put_string((T38*)oRBC1std_error,(T0 *)ms28_55); rT38put_string((T38*)oRBC1std_error,_short_name); rT38put_string((T38*)oRBC1std_error,(T0 *)ms29_55); rT38put_string((T38*)oRBC1std_error,rT61at((T61*)R,_full_name)); rT38put_string((T38*)oRBC1std_error,(T0 *)ms30_55); rT55die_with_code(1); } /*FI*/rT61put((T61*)R,_short_name,_full_name); rT43skip_separators((T43*)oRBC27tmp_file_read); } rT43disconnect((T43*)oRBC27tmp_file_read); } /*FI*/_i=(_i)+(1); } oRBC55rename_dictionary=R;} return oRBC55rename_dictionary;} int ofBC55tmp_class_name=0; T0*oRBC55tmp_class_name; /*SMALL_EIFFEL*/T0* rT55tmp_class_name(/*C*/void){ if (ofBC55tmp_class_name==0){ T0* R=NULL; ofBC55tmp_class_name=1; {T51 *n=((T51*)se_new(51)); rT51make(n,(T0 *)ms36_27,NULL); R=(T0 *)n;} oRBC55tmp_class_name=R;} return oRBC55tmp_class_name;} /*SMALL_EIFFEL*/void rT55append_loading_path_in(/*C*/T0* a1){ T0* _sed=NULL; int _i=0; rT7append((T7*)a1,(T0 *)ms7_55); _i=((T45*)rT55loading_path())->_lower; while (!((_i)>(((T45*)rT55loading_path())->_upper))) { rT7extend((T7*)a1,'\42'); rT7append((T7*)a1,rT45item((T45*)rT55loading_path(),_i)); rT7extend((T7*)a1,'\42'); rT7extend((T7*)a1,'\12'); _i=(_i)+(1); } rT7append((T7*)a1,(T0 *)ms8_55); rT7append((T7*)a1,(T0 *)ms124_27); _sed=rT55get_environment_variable((T0 *)ms124_27); rT7append((T7*)a1,(T0 *)ms9_55); /*IF*/if (!(_sed)) { rT7append((T7*)a1,(T0 *)ms10_55); } else { rT7append((T7*)a1,(T0 *)ms11_55); rT7append((T7*)a1,_sed); rT7append((T7*)a1,(T0 *)ms12_55); } /*FI*/rT7extend((T7*)a1,'\12'); }T0*oRBC55stack_rf; T0*oRBC55run_class_dictionary; /*SMALL_EIFFEL*/T0* rT55run_class(/*C*/T0* a1){ T0* R=NULL; T0* _run_string=NULL; _run_string=XrT62run_time_mark(a1); /*IF*/if (rT270has((T270*)oRBC55run_class_dictionary,_run_string)) { R=rT270at((T270*)oRBC55run_class_dictionary,_run_string); } else { {T269 *n=((T269*)se_new(269)); rT269make(n,a1); R=(T0 *)n;} } /*FI*/return R; } /*SMALL_EIFFEL*/void rT55compile_to_c(T55 *C,T0* a1,T0* a2){ int _i=0; int _split_tuning=0; T0* _rf=NULL; int _run_count=0; T0* _t=NULL; T0* _rc=NULL; C->_is_compiling_flag=1; rT42put_string((T42*)oRBC1std_output,(T0 *)ms1_55); rT42put_string((T42*)oRBC1std_output,(T0 *)ms35_55); _rf=rT55get_started(C,a1,a2); /*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { rT42put_string((T42*)oRBC1std_output,(T0 *)ms37_55); rT42put_integer((T42*)oRBC1std_output,((T57*)oRBC55base_class_dictionary)->_count); rT42put_character((T42*)oRBC1std_output,'\12'); rT44get_started((T44*)oRBC27cpp); rT44swap_on_h((T44*)oRBC27cpp); rT42put_string((T42*)oRBC1std_output,(T0 *)ms38_55); _i=1; while (!((_i)>(((T270*)oRBC55run_class_dictionary)->_count))) { _rc=rT270item((T270*)oRBC55run_class_dictionary,_i); _t=((T269*)_rc)->_current_type; /*IF*/if (((T269*)_rc)->_at_run_time) { _run_count=(_run_count)+(1); rT44put_comment((T44*)oRBC27cpp,XrT62run_time_mark(_t)); XrT62c_typedef(_t); } /*FI*/rT42put_integer((T42*)oRBC1std_output,((T269*)_rc)->_id); rT42put_character((T42*)oRBC1std_output,'\11'); rT42put_string((T42*)oRBC1std_output,XrT62run_time_mark(_t)); rT42put_character((T42*)oRBC1std_output,'\12'); _i=(_i)+(1); } rT42put_string((T42*)oRBC1std_output,(T0 *)ms39_55); rT42put_integer((T42*)oRBC1std_output,((T270*)oRBC55run_class_dictionary)->_count); rT42put_string((T42*)oRBC1std_output,(T0 *)ms40_55); rT42put_string((T42*)oRBC1std_output,(T0 *)ms41_55); rT42put_integer((T42*)oRBC1std_output,_run_count); rT42put_string((T42*)oRBC1std_output,(T0 *)ms42_55); rT42put_string((T42*)oRBC1std_output,(T0 *)ms43_55); _i=1; while (!((_i)>(((T270*)oRBC55run_class_dictionary)->_count))) { _rc=rT270item((T270*)oRBC55run_class_dictionary,_i); _t=((T269*)_rc)->_current_type; /*IF*/if (XrT62is_expanded(_t)) { rT42put_integer((T42*)oRBC1std_output,((T269*)_rc)->_id); rT42put_character((T42*)oRBC1std_output,'\11'); rT42put_string((T42*)oRBC1std_output,XrT62run_time_mark(_t)); rT42put_character((T42*)oRBC1std_output,'\12'); rT44put_comment((T44*)oRBC27cpp,XrT62run_time_mark(_t)); XrT62c_struct(_t); } /*FI*/_i=(_i)+(1); } rT42put_string((T42*)oRBC1std_output,(T0 *)ms44_55); _i=1; while (!((_i)>(((T270*)oRBC55run_class_dictionary)->_count))) { _rc=rT270item((T270*)oRBC55run_class_dictionary,_i); _t=((T269*)_rc)->_current_type; /*IF*/if ((((T269*)_rc)->_at_run_time)&&(XrT62is_reference(_t))) { rT42put_integer((T42*)oRBC1std_output,((T269*)_rc)->_id); rT42put_character((T42*)oRBC1std_output,'\11'); rT42put_string((T42*)oRBC1std_output,XrT62run_time_mark(_t)); rT42put_character((T42*)oRBC1std_output,'\12'); rT44put_comment((T44*)oRBC27cpp,XrT62run_time_mark(_t)); XrT62c_struct(_t); } /*FI*/_i=(_i)+(1); } rT42put_string((T42*)oRBC1std_output,(T0 *)ms45_55); rT44swap_on_c((T44*)oRBC27cpp); _i=1; while (!((_i)>(((T270*)oRBC55run_class_dictionary)->_count))) { /*IF*/if ((_split_tuning)==(0)) { rT44split_c_now((T44*)oRBC27cpp); _split_tuning=7; } /*FI*/_split_tuning=(_split_tuning)-(1); rT269compile_to_c((T269*)rT270item((T270*)oRBC55run_class_dictionary,_i)); _i=(_i)+(1); } rT44cecil_define((T44*)oRBC27cpp); rT44define_main((T44*)oRBC27cpp,_rf); rT44define_used_basics((T44*)oRBC27cpp); rT44write_make_file((T44*)oRBC27cpp); } else { rT48error((T48*)oRBC27eh,(T0 *)ms47_55); } /*FI*/C->_is_compiling_flag=0; }/*SMALL_EIFFEL*/T0* rT55small_eiffel_directory(/*C*/void){ if (ofBC27small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; ofBC27small_eiffel_directory=1; R=rT55get_environment_variable((T0 *)ms124_27); /*IF*/if (!(R)) { R=rT7twin((T7*)(T0 *)ms124_27); rT7to_upper((T7*)R); R=rT55get_environment_variable(R); /*IF*/if (((int)R)) { rT7to_upper((T7*)(T0 *)ms124_27); } /*FI*/} /*FI*//*IF*/if (!(R)) { R=(T0 *)ms1_27; } /*FI*/_i=((T7*)R)->_count; while (!((_i)<(0))) { _slash=rT7item((T7*)R,_i); /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { rT7extend((T7*)R,'\57'); } else if (!((rT7last((T7*)R))==(_slash))) { rT7extend((T7*)R,_slash); } /*FI*/oRBC27small_eiffel_directory=R;} return oRBC27small_eiffel_directory;} /*SMALL_EIFFEL*/int rT55next_unique(T55 *C){ int R=0; /*IF*/if (((C)->_last_unique)<(1000)) { C->_last_unique=1000; } /*FI*/C->_last_unique=((C)->_last_unique)+(1); R=(C)->_last_unique; return R; } /*SMALL_EIFFEL*/int rT55next_id(T55 *C){ int R=0; /*IF*/if (((C)->_last_id)==(0)) { C->_last_id=25; } /*FI*/C->_last_id=((C)->_last_id)+(1); R=(C)->_last_id; return R; } /*SMALL_EIFFEL*/T0* rT55type_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;} /*SMALL_EIFFEL*/int rT55is_used(/*C*/T0* a1){ int R=0; R=rT57has((T57*)oRBC55base_class_dictionary,a1); return R; } /*SMALL_EIFFEL*/T0* rT55top_rf(T55 *C){ T0* R=NULL; R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)oRBC55stack_rf,(C)->_top); return R; } /*SMALL_EIFFEL*/void rT55add_class(T55 *C,T0* a1){ rT57put((T57*)oRBC55base_class_dictionary,a1,((T51*)((T53*)a1)->_base_class_name)->_to_string); rT55incr_magic_count(C); }T0*oRBC55base_class_dictionary; /*SMALL_EIFFEL*/T0* rT55base_class(/*C*/T0* a1){ T0* R=NULL; T0* _path=NULL; /*IF*/if (rT57has((T57*)oRBC55base_class_dictionary,((T51*)a1)->_to_string)) { R=rT57at((T57*)oRBC55base_class_dictionary,((T51*)a1)->_to_string); } else if (/*(IRF4*/((T54*)oRBC27eiffel_parser)->_is_running/*)*/) { rT55fatal_error((T0 *)ms13_55); } else { _path=rT55find_path_for(((T51*)a1)->_to_string); /*IF*/if (((int)_path)) { R=rT54analyse_class((T54*)oRBC27eiffel_parser,_path); } /*FI*//*IF*/if (!(R)) { rT48add_position(((T51*)a1)->_start_position); rT55fatal_error((T0 *)ms14_55); } else if (!(rT57has((T57*)oRBC55base_class_dictionary,((T51*)a1)->_to_string))) { rT48append((T0 *)ms15_55); rT48append(_path); rT48append((T0 *)ms16_55); rT48append(((T51*)a1)->_to_string); rT55fatal_error((T0 *)ms17_55); } /*FI*/} /*FI*/return R; } /*SMALL_EIFFEL*/int rT55file_exists(/*C*/T0* a1){ int R=0; void * _p=0; _p=rT7to_external((T7*)a1); {FILE *f=fopen(((char*)_p),"r"); R=(f != NULL); if (R) fclose(f);} return R; } /*SMALL_EIFFEL*/T0* rT55load_class(/*C*/T0* a1){ T0* R=NULL; T0* _path=NULL; _path=rT55find_path_for(a1); /*IF*/if (!(_path)) { rT55fatal_error((T0 *)ms18_55); } else { R=rT54analyse_class((T54*)oRBC27eiffel_parser,_path); /*IF*/if (!(R)) { rT55fatal_error((T0 *)ms19_55); } /*FI*/} /*FI*/return R; } /*BASE_CLASS*/int rT53has_feature(T53 *C,T0* a1){ int R=0; XrT71make(rT53mem_fn(),a1,NULL); R=rT53has(C,rT53mem_fn()); return R; } int ofBC53mem_fn=0; T0*oRBC53mem_fn; /*BASE_CLASS*/T0* rT53mem_fn(/*C*/void){ if (ofBC53mem_fn==0){ T0* R=NULL; ofBC53mem_fn=1; {T71 *n=((T71*)se_new(71)); rT71make(n,(T0 *)ms21_53,NULL); R=(T0 *)n;} oRBC53mem_fn=R;} return oRBC53mem_fn;} /*BASE_CLASS*/int rT53already_defined(T53 *C,T0* a1){ int R=0; /*IF*/if (((int)(C)->_already_defined_list)) { R=rT45has((T45*)(C)->_already_defined_list,XrT71to_key(a1)); } /*FI*/return R; } /*BASE_CLASS*/int rT53is_general(T53 *C){ int R=0; R=((T0 *)(T0 *)ms48_27)==((T0 *)((T51*)(C)->_base_class_name)->_to_string); return R; } /*BASE_CLASS*/int rT53is_generic(T53 *C){ int R=0; R=((int)(C)->_formal_generic_list); return R; } /*BASE_CLASS*/void rT53fatal_undefine(T53 *C,T0* a1){ rT48append((T0 *)ms29_53); rT48append(/*XrT*FEATURE_NAME*/((T70*)a1)->_to_string); rT48append((T0 *)ms30_53); rT48append(((T51*)(C)->_base_class_name)->_to_string); rT53fatal_error((T0 *)ms31_53); }/*BASE_CLASS*/void rT53fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*BASE_CLASS*/T0* rT53clients_for(T53 *C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (((T0 *)/*XrT*E_FEATURE*/((T148*)a2)->_base_class)==((T0 *)C)) { R=XrT66clients(a2); } else if (!((C)->_parent_list)) { R=rT53clients_for((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1,a2); } else { R=rT133clients_for((T133*)(C)->_parent_list,a1,a2); } /*FI*/return R; } /*BASE_CLASS*/void rT53set_already_defined(T53 *C,T0* a1){ /*IF*/if (!((C)->_already_defined_list)) { {T45 *n=((T45*)se_new(45)); rT45make(n,1,5); C->_already_defined_list=(T0 *)n;} rT45clear((T45*)(C)->_already_defined_list); } /*FI*/rT45add_last((T45*)(C)->_already_defined_list,XrT71to_key(a1)); }/*BASE_CLASS*/int rT53has_redefine(T53 *C,T0* a1){ int R=0; /*IF*/if (((int)(C)->_parent_list)) { R=rT133has_redefine((T133*)(C)->_parent_list,a1); } /*FI*/return R; } /*BASE_CLASS*/void rT53collect_invariant(T53 *C,T0* a1){ /*IF*/if (((int)(C)->_parent_list)) { rT133collect_invariant((T133*)(C)->_parent_list,a1); } /*FI*//*IF*/if (((int)(C)->_invariant_assertion)) { rT269collect_invariant((C)->_invariant_assertion); } /*FI*/}/*BASE_CLASS*/void rT53collect_for(T53 *C,int a1,T0* a2){ T0* _fn_key=NULL; _fn_key=XrT71to_key(a2); /*IF*/if (rT65has((T65*)(C)->_feature_dictionary,_fn_key)) { XrT66collect_for(rT65at((T65*)(C)->_feature_dictionary,_fn_key),a1); } /*FI*//*IF*/if (!((C)->_parent_list)) { /*IF*/if (rT53is_general(C)) { } else { rT53collect_for((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1,a2); } /*FI*/} else { rT133collect_for((T133*)(C)->_parent_list,a1,a2); } /*FI*/}int ofBC53mem_rpn=0; T0*oRBC53mem_rpn; /*BASE_CLASS*/T0* rT53mem_rpn(/*C*/void){ if (ofBC53mem_rpn==0){ T0* R=NULL; ofBC53mem_rpn=1; {T71 *n=((T71*)se_new(71)); rT71make(n,(T0 *)ms22_53,NULL); R=(T0 *)n;} oRBC53mem_rpn=R;} return oRBC53mem_rpn;} /*BASE_CLASS*/void rT53get_started(T53 *C){ T0* _s1=NULL; C->_id=rT51frozen_id((T51*)(C)->_base_class_name); /*IF*/if (((C)->_id)==(0)) { C->_id=rT55next_id((T55*)oRBC27small_eiffel); } /*FI*//*IF*/if (((int)(C)->_feature_clause_list)) { rT265get_started((T265*)(C)->_feature_clause_list,(C)->_feature_dictionary); } /*FI*//*IF*/if (((int)(C)->_parent_list)) { rT133get_started((T133*)(C)->_parent_list); } /*FI*//*IF*/if (((int)(C)->_end_comment)) { rT63good_end((T63*)(C)->_end_comment,(C)->_base_class_name); } /*FI*/}/*BASE_CLASS*/void rT53set_is_deferred(T53 *C){ /*IF*/if ((C)->_is_expanded) { rT53error1(C); } /*FI*/C->_is_deferred=1; }/*BASE_CLASS*/void rT53set_is_expanded(T53 *C){ /*IF*/if ((C)->_is_deferred) { rT53error1(C); } /*FI*/C->_is_expanded=1; }/*BASE_CLASS*/void rT53set_invariant(T53 *C,T0* a1,T0* a2,T0* a3){ /*IF*/if ((((int)a2))||(((int)a3))) { {T267 *n=((T267*)se_new(267)); rT267make(n,a1,a2,a3); C->_invariant_assertion=(T0 *)n;} } /*FI*/}/*BASE_CLASS*/T0* rT53look_up_for(T53 *C,T0* a1,T0* a2){ T0* R=NULL; int _i=0; T0* _super_fn=NULL; T0* _fnl=NULL; T0* _cst_att=NULL; T0* _fn_key=NULL; T0* _super=NULL; _fn_key=XrT71to_key(a2); /*IF*/if (rT65has((T65*)(C)->_feature_dictionary,_fn_key)) { R=rT65at((T65*)(C)->_feature_dictionary,_fn_key); _super=rT53super_look_up_for(C,a1,a2); /*IF*/if (((int)_super)) { _cst_att=_super; if ((int)_cst_att) switch (((T0 *)_cst_att)->id) { case 156: case 154: case 153: case 152: case 148: case 157: case 158: case 159: break; default: _cst_att = NULL; };/*IF*/if (((int)_cst_att)) { rT48add_position(XrT66start_position(_super)); rT48add_position(XrT66start_position(R)); rT53fatal_error((T0 *)ms16_53); } /*FI*/_fnl=/*XrT*E_FEATURE*/((T148*)_super)->_names; _i=rT130count((T130*)_fnl); while (!((_i)<(1))) { _super_fn=rT130item((T130*)_fnl,_i); /*IF*/if (/*XrT*FEATURE_NAME*/((T70*)_super_fn)->_is_frozen) { /*IF*/if (rT7is_equal((T7*)XrT71to_key(_super_fn),_fn_key)) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)_super_fn)->_start_position); rT48add_position(XrT66start_position(R)); rT53fatal_error((T0 *)ms17_53); } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if (!(XrT66can_hide(R,_super,a1))) { rT48add_position(XrT66start_position(_super)); rT48add_position(XrT66start_position(R)); rT48append((T0 *)ms18_53); rT48print_as_warning((T48*)oRBC27eh); } /*FI*//*IF*/if (XrT66is_deferred(_super)) { } else if (rT53has_redefine(C,a2)) { } else { rT48add_position(XrT66start_position(R)); rT48add_position(XrT66start_position(_super)); rT48append((T0 *)ms19_53); rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48append((T0 *)ms20_53); rT48print_as_error((T48*)oRBC27eh); } /*FI*/} /*FI*/} else { R=rT53super_look_up_for(C,a1,a2); } /*FI*/return R; } /*BASE_CLASS*/T0* rT53class_with(/*C*/T0* a1){ T0* R=NULL; R=rT55get_class(a1); return R; } /*BASE_CLASS*/void rT53mapping_c(T53 *C){ rT44put_character((T44*)oRBC27cpp,'B'); rT44put_character((T44*)oRBC27cpp,'C'); rT44put_integer((T44*)oRBC27cpp,(C)->_id); }/*BASE_CLASS*/T0* rT53new_name_of(T53 *C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (((T0 *)C)==((T0 *)a1)) { R=a2; } else if (!((C)->_parent_list)) { R=rT53new_name_of((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1,a2); } else { R=rT133new_name_of((T133*)(C)->_parent_list,a1,a2); } /*FI*/return R; } /*BASE_CLASS*/T0* rT53run_class(T53 *C){ T0* R=NULL; T0* _type=NULL; T0* _name=NULL; T0* _rcd=NULL; _name=((T51*)(C)->_base_class_name)->_to_string; /*IF*/if (((!((C)->_is_deferred))&&(!(rT53is_generic(C))))) { _rcd=oRBC55run_class_dictionary; /*IF*/if (rT270has((T270*)_rcd,_name)) { R=rT270at((T270*)_rcd,_name); } else { {T118 *n=((T118*)se_new(118)); /*[IRF3:make*//*AW*/(n)->_base_class_name=((C)->_base_class_name);/*]*/ _type=(T0 *)n;} R=rT118run_class((T118*)_type); } /*FI*/} else { rT53error(NULL,(T0 *)ms11_53); } /*FI*/return R; } /*BASE_CLASS*/void rT53set_parent_list(T53 *C,T0* a1,T0* a2,T0* a3){ {T133 *n=((T133*)se_new(133)); rT133make(n,(T0 *)C,a1,a2,a3); C->_parent_list=(T0 *)n;} }/*BASE_CLASS*/T0* rT53expanded_initializer(T53 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)(C)->_creation_clause_list)) { R=rT135expanded_initializer((T135*)(C)->_creation_clause_list,a1); } /*FI*/return R; } /*BASE_CLASS*/void rT53make(T53 *C,T0* a1){ C->_path=a1; {T51 *n=((T51*)se_new(51)); rT51make_unknown(n); C->_base_class_name=(T0 *)n;} {T65 *n=((T65*)se_new(65)); rT65make(n); C->_feature_dictionary=(T0 *)n;} }/*BASE_CLASS*/T0* rT53root_procedure(T53 *C,T0* a1){ T0* R=NULL; T0* _f=NULL; T0* _rc=NULL; /*IF*/if (rT53is_generic(C)) { rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48append((T0 *)ms5_53); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*//*IF*/if ((C)->_is_deferred) { rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48append((T0 *)ms6_53); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*/XrT71make(rT53mem_rpn(),a1,((T51*)(C)->_base_class_name)->_start_position); /*IF*/if (!(rT53has_creation(C,rT53mem_rpn()))) { rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48extend('\57'); rT48append(a1); rT48append((T0 *)ms7_53); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*//*IF*/if (!(rT53has_feature(C,a1))) { rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48append((T0 *)ms8_53); rT48append(a1); rT48append((T0 *)ms9_53); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*/_rc=rT53run_class(C); rT269set_at_run_time((T269*)_rc); _f=rT53look_up_for(C,_rc,rT53mem_rpn()); R=_f; if ((int)R) switch (((T0 *)R)->id) { case 259: break; default: R = NULL; };/*IF*/if (!(R)) { rT48add_position(XrT66start_position(_f)); rT53fatal_error((T0 *)ms10_53); } /*FI*/return R; } /*BASE_CLASS*/int rT53is_subclass_of(T53 *C,T0* a1){ int R=0; /*IF*/if ((((int)(C)->_isom))&&(rT60fast_has((T60*)(C)->_isom,a1))) { R=1; } else { /*IF*/if (((T0 *)(T0 *)ms36_27)==((T0 *)((T51*)((T53*)a1)->_base_class_name)->_to_string)) { R=1; } else if (rT53is_general(C)) { R=0; } else if (!((C)->_parent_list)) { rT60clear((T60*)oRBC53visited); rT60add_last((T60*)oRBC53visited,(T0 *)C); R=rT53is_subclass_of_aux((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1); } else { rT60clear((T60*)oRBC53visited); rT60add_last((T60*)oRBC53visited,(T0 *)C); R=rT133has_parent((T133*)(C)->_parent_list,a1); } /*FI*//*IF*/if (R) { /*IF*/if (!((C)->_isom)) { C->_isom=ma(60,0,1,a1); } else { rT60add_last((T60*)(C)->_isom,a1); } /*FI*/} /*FI*/} /*FI*/return R; } /*BASE_CLASS*/int rT53is_subclass_of_aux(T53 *C,T0* a1){ int R=0; /*IF*/if (!(rT60fast_has((T60*)oRBC53visited,(T0 *)C))) { rT60add_last((T60*)oRBC53visited,(T0 *)C); } /*FI*//*IF*/if (!((C)->_parent_list)) { R=rT53is_subclass_of_aux((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1); } else { R=rT133has_parent((T133*)(C)->_parent_list,a1); } /*FI*/return R; } /*BASE_CLASS*/int rT53proper_has(T53 *C,T0* a1){ int R=0; R=rT65has((T65*)(C)->_feature_dictionary,XrT71to_key(a1)); return R; } /*BASE_CLASS*/T0* rT53first_parent_for(T53 *C,T0* a1){ T0* R=NULL; R=rT133first_parent_for((T133*)(C)->_parent_list,a1); return R; } /*BASE_CLASS*/void rT53error1(T53 *C){ rT53error(((T51*)(C)->_base_class_name)->_start_position,(T0 *)ms28_53); }/*BASE_CLASS*/void rT53error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*BASE_CLASS*/void rT53add_creation_clause(T53 *C,T0* a1){ /*IF*/if (!((C)->_creation_clause_list)) { {T135 *n=((T135*)se_new(135)); /*[IRF3:make*//*AW*/(n)->_list=(ma(136,0,1,a1));/*]*/ C->_creation_clause_list=(T0 *)n;} } else { rT135add_last((T135*)(C)->_creation_clause_list,a1); } /*FI*/}/*BASE_CLASS*/void rT53add_feature_clause(T53 *C,T0* a1){ /*IF*/if (!((C)->_feature_clause_list)) { {T265 *n=((T265*)se_new(265)); /*[IRF3:make*//*AW*/(n)->_list=(ma(266,0,1,a1));/*]*/ C->_feature_clause_list=(T0 *)n;} } else { rT265add_last((T265*)(C)->_feature_clause_list,a1); } /*FI*/}/*BASE_CLASS*/int rT53super_has(T53 *C,T0* a1){ int R=0; /*IF*/if (!((C)->_parent_list)) { /*IF*/if (rT53is_general(C)) { R=0; } else { R=rT53has((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1); } /*FI*/} else { R=rT133has((T133*)(C)->_parent_list,a1); } /*FI*/return R; } T0*oRBC53visited; /*BASE_CLASS*/T0* rT53super_look_up_for(T53 *C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (!((C)->_parent_list)) { /*IF*/if (rT53is_general(C)) { R=NULL; } else { R=rT53look_up_for((T53*)/*(IRF4*/rT53class_with((T0 *)ms36_27)/*)*/,a1,a2); } /*FI*/} else { R=rT133look_up_for((T133*)(C)->_parent_list,a1,a2); } /*FI*/return R; } /*BASE_CLASS*/void rT53add_index_clause(T53 *C,T0* a1){ /*IF*/if (!((C)->_index_list)) { {T86 *n=((T86*)se_new(86)); /*[IRF3:make*//*AW*/(n)->_list=(ma(87,0,1,a1));/*]*/ C->_index_list=(T0 *)n;} } else { rT87add_last((T87*)((T86*)(C)->_index_list)->_list,a1); } /*FI*/}/*BASE_CLASS*/int rT53is_a_vncg(T53 *C,T0* a1,T0* a2){ int R=0; /*IF*/if (((int)(C)->_parent_list)) { R=rT133is_a_vncg((T133*)(C)->_parent_list,a1,a2); } /*FI*/return R; } /*BASE_CLASS*/int rT53has(T53 *C,T0* a1){ int R=0; /*IF*/if (rT65has((T65*)(C)->_feature_dictionary,XrT71to_key(a1))) { R=1; } else { R=rT53super_has(C,a1); } /*FI*/return R; } /*BASE_CLASS*/void rT53check_expanded_with(T53 *C,T0* a1){ /*IF*/if ((C)->_is_deferred) { rT48add_type(a1,(T0 *)ms106_27); rT53fatal_error((T0 *)ms1_53); } /*FI*//*IF*/if (((int)(C)->_creation_clause_list)) { rT135check_expanded_with((T135*)(C)->_creation_clause_list,a1); } /*FI*/}/*BASE_CLASS*/int rT53has_creation_clause(T53 *C){ int R=0; R=((int)(C)->_creation_clause_list); return R; } /*BASE_CLASS*/int rT53has_creation(T53 *C,T0* a1){ int R=0; T0* _cc=NULL; /*IF*/if (!((C)->_creation_clause_list)) { rT48append(((T51*)(C)->_base_class_name)->_to_string); rT48append((T0 *)ms2_53); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position); rT48print_as_error((T48*)oRBC27eh); } else { _cc=rT135get_clause((T135*)(C)->_creation_clause_list,a1); /*IF*/if (!(_cc)) { rT48append(/*XrT*FEATURE_NAME*/((T70*)a1)->_to_string); rT48append((T0 *)ms3_53); rT48append(((T51*)(C)->_base_class_name)->_to_string); rT53error(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position,(T0 *)ms102_27); } else { R=rT125gives_permission_to((T125*)((T134*)_cc)->_clients,XrT71written_in(a1)); } /*FI*/} /*FI*//*IF*/if (!(R)) { rT53error(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position,(T0 *)ms4_53); } /*FI*/return R; } /*CALL_INFIX_IMPLIES*/T0* rT208twin(T208 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT208copy((T208*)R,(T0 *)C); AF_0 /*FI*/return R; } /*CALL_INFIX_IMPLIES*/int rT208is_static(T208 *C){ int R=0; /*IF*/if (XrT62is_boolean(XrT72result_type((C)->_target))) { /*IF*/if (XrT72is_static((C)->_target)) { /*IF*/if ((XrT72static_value((C)->_target))==(0)) { R=1; C->_static_value_mem=1; } else if (XrT72is_static(rT208arg1(C))) { R=1; C->_static_value_mem=XrT72static_value(rT208arg1(C)); } /*FI*/} /*FI*/} /*FI*/return R; } /*CALL_INFIX_IMPLIES*/int rT208static_value(T208 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*CALL_INFIX_IMPLIES*/void rT208fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*CALL_INFIX_IMPLIES*/void rT208cpc_to_runnable(T208 *C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=XrT72to_runnable((C)->_target,a1); /*IF*/if (!(_t)) { rT48add_position(XrT72start_position((C)->_target)); rT208fatal_error((T0 *)ms1_169); } /*FI*/C->_target=_t; _rc=XrT62run_class(XrT72result_type((C)->_target)); C->_run_feature=rT269get_rf((T269*)_rc,(T0 *)C); }/*CALL_INFIX_IMPLIES*/void rT208to_runnable_0(T208 *C,T0* a1){ C->_current_type=a1; rT208cpc_to_runnable(C,a1); C->_result_type=/*XrT*RUN_FEATURE*/((T274*)(C)->_run_feature)->_result_type; /*IF*/if (!((C)->_result_type)) { rT48add_position(XrT268start_position((C)->_run_feature)); rT208error(((T74*)(C)->_feature_name)->_start_position,(T0 *)ms1_168); } else if (XrT62is_like_current((C)->_result_type)) { C->_result_type=XrT72result_type((C)->_target); } /*FI*/}/*CALL_INFIX_IMPLIES*/T0* rT208to_runnable(T208 *C,T0* a1){ T0* R=NULL; T0* _a=NULL; /*IF*/if (!((C)->_current_type)) { rT208to_runnable_0(C,a1); _a=rT175to_runnable((T175*)(C)->_arguments,a1); /*IF*/if (!(_a)) { rT208error(XrT72start_position(rT208arg1(C)),(T0 *)ms1_179); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { rT175match_with((T175*)(C)->_arguments,(C)->_run_feature); } /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT62is_like_argument((C)->_result_type))) { C->_result_type=XrT62run_type(XrT72result_type(rT208arg1(C))); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT208twin(C); /*[IRF3:set_current_type*//*AW*/((T208*)R)->_current_type=(NULL);/*]*/ R=rT208to_runnable((T208*)R,a1); } /*FI*/return R; } /*CALL_INFIX_IMPLIES*/void rT208error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*CALL_INFIX_IMPLIES*/T0* rT208add_comment(T208 *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; } /*CALL_INFIX_IMPLIES*/T0* rT208arg1(T208 *C){ T0* R=NULL; R=rT175first((T175*)(C)->_arguments); return R; } /*CALL_INFIX_IMPLIES*/T0* rT208start_position(T208 *C){ T0* R=NULL; R=((T74*)(C)->_feature_name)->_start_position; return R; } /*CALL_INFIX_IMPLIES*/int rT208use_current(T208 *C){ int R=0; /*IF*/{/*AT*/R=rT175use_current((T175*)(C)->_arguments); } /*FI*//*IF*/if (R) { } else if (XrT72is_current((C)->_target)) { R=XrT268use_current((C)->_run_feature); } else { R=XrT72use_current((C)->_target); } /*FI*/return R; } /*CALL_INFIX_IMPLIES*/void rT208compile_to_c_old(T208 *C){ XrT72compile_to_c_old((C)->_target); /*IF*/{/*AT*/rT175compile_to_c_old((T175*)(C)->_arguments); } /*FI*/}/*CALL_INFIX_IMPLIES*/void rT208compile_to_c(T208 *C){ rT208call_proc_call_c2c(C); }/*CALL_INFIX_IMPLIES*/int rT208to_integer(T208 *C){ int R=0; rT208error(rT208start_position(C),(T0 *)ms104_27); return R; } /*CALL_INFIX_IMPLIES*/void rT208call_proc_call_c2c(T208 *C){ T0* _tt=NULL; _tt=XrT62run_type(XrT72result_type((C)->_target)); /*IF*/if (((XrT72is_current((C)->_target))||(XrT72is_manifest_string((C)->_target)))||(XrT62is_expanded(_tt))) { rT44push_direct((T44*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments); XrT268mapping_c((C)->_run_feature); rT44pop((T44*)oRBC27cpp); } else { rT44push_cpc((T44*)oRBC27cpp,(C)->_run_feature,((T269*)XrT62run_class(_tt))->_running,(C)->_target,(C)->_arguments); } /*FI*/}/*CALL_INFIX_IMPLIES*/void rT208copy(T208 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*CALL_INFIX_IMPLIES*/int rT208is_a(T208 *C,T0* a1){ int R=0; R=XrT62is_a(XrT62run_type((C)->_result_type),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position(rT208start_position(C)); rT208error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*CALL_INFIX_IMPLIES*/int rT208is_pre_computable(T208 *C){ int R=0; R=rT208is_static(C); return R; } /*CALL_INFIX_IMPLIES*/void rT208make_call_1(T208 *C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; }/*CALL_INFIX_IMPLIES*/void rT208make(T208 *C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if ((!(a1))||(!(a3))) { rT48add_position(a2); rT208fatal_error((T0 *)ms1_189); } /*FI*/{T74 *n=((T74*)se_new(74)); rT74make(n,/*(IRF4*/(T0 *)ms117_27/*)*/,a2); C->_feature_name=(T0 *)n;} {T175 *n=((T175*)se_new(175)); /*[IRF3:make*//*AW*/(n)->_list=(ma(85,0,1,a3));/*]*/ _eal=(T0 *)n;} rT208make_call_1(C,a1,(C)->_feature_name,_eal); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.