home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "compile_to_c.h" /*No:ONCE_PROCEDURE.arguments*/ T0* r134try_to_undefine(T134* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r134try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T134*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } T0*oBC359assertion_collector=NULL; /*No:ONCE_PROCEDURE.is_deferred*/ /*No:ONCE_PROCEDURE.fz_bad_assertion*/ T0* r134runnable(T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(r608empty(((T608*)a1)))) { R=r608twin(((T608*)a1)); _i=(((T608*)((T608*)R)))->_upper/*8*/; while (!((_i)==(0))) { r604push(((T604*)(oBC364small_eiffel)),a3); _a=r348to_runnable(((T348*)(r608item(((T608*)R),_i))),a2); /*IF*/if ((_a)==((void*)(NULL))) { r134error(r348start_position(((T348*)(r608item(((T608*)R),_i)))),((T0*)ms57_470)); } else { /*[IRF3.6put*/{T608* C1=((T608*)R); T0* b1=_a; int b2=_i; ((((T608*)C1))->_storage/*0*/)[(b2)-((((T608*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/r604pop(((T604*)(oBC364small_eiffel))); _i=(_i)-(1); } } /*FI*/return R; } /*No:ONCE_PROCEDURE.rescue_compound*/ void r134add_into(T134* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } /*No:ONCE_PROCEDURE.end_comment*/ T0*oBC359header_comment_memory=NULL; T0* r134try_to_undefine_aux(T134* C,T0* a1,T0* a2){ T0* R=NULL; {T853*n=malloc(sizeof(*n)); *n=M853; r853from_effective(n,a1,(((T134*)C))->_arguments/*28*/,(((T134*)C))->_require_assertion/*36*/,(((T134*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } void r134make(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ r134make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1024; } /*No:ONCE_PROCEDURE.not_computed*/ /*No:ONCE_PROCEDURE.nb_errors*/ void r134make_routine(T134* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r134make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } /*No:ONCE_PROCEDURE.local_vars*/ void r134mapping_c_name_in(T134* C,T0* a1){ r605mapping_c_in(((T605*)((((T134*)C))->_base_class/*4*/)),a1); r7append(((T7*)a1),X776to_key(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/)); } void r134set_header_comment(T134* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r134start_position(T134* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T134*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r134to_run_feature(T134* C,T0* a1,T0* a2){ T0* R=NULL; r134check_obsolete(C); {T869*n=malloc(sizeof(*n)); *n=M869; r869make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:ONCE_PROCEDURE.ensure_assertion*/ /*No:ONCE_PROCEDURE.code_require*/ T0* r134run_ensure(T0* a1){ T0* R=NULL; T0* _r=NULL; r608clear(((T608*)(oBC359assertion_collector))); /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1002,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); _r=r134runnable(oBC359assertion_collector,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633from_runnable(n,_r); R=(T0*)n; } /*[IRF3.3set_header_comment*/((((T633*)(((T633*)R))))->_header_comment)=((((T56*)((T56*)(oBC359header_comment_memory))))->_item/*0*/); /*]*/ /*[IRF3.3clear*/{T0* _default_item=NULL; ((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=(_default_item); }/*]*/ } /*FI*/return R; } T0* r134run_require(T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _hc=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; r522clear(((T522*)(oBC359require_collector))); r605collect_for(((T605*)(X291base_class(/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/)))),1001,/*X496*/((T0*)(((T832*)((T832*)a1)))->_name/*16*/)); /*IF*/if (!(r522empty(((T522*)(oBC359require_collector))))) { _i=1; while (!((_i)>((((T522*)((T522*)(oBC359require_collector))))->_upper/*8*/))) { _er=r522item(((T522*)(oBC359require_collector)),_i); _hc=(((T343*)((T343*)_er)))->_header_comment/*4*/; /*IF*/if (!(/*(IRF4.7empty*/((((T343*)((T343*)_er)))->_list/*8*/)==(NULL)/*)*/)) { _r=r134runnable((((T343*)((T343*)_er)))->_list/*8*/,/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/),a1); /*IF*/if ((_r)!=((void*)(NULL))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343from_runnable(n,_r); _er=(T0*)n; } /*[IRF3.3set_header_comment*/((((T343*)(((T343*)_er))))->_header_comment)=(_hc); /*]*/ /*IF*/if ((_ar)==((void*)(NULL))) { _ar=se_ma522(1,_er); } else { r522add_last(((T522*)_ar),_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if ((_ar)!=((void*)(NULL))) { {T567*n=malloc(sizeof(*n)); *n=M567; /*[IRF3.3make*/((((T567*)(n)))->_list)=(_ar); /*]*/ R=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:ONCE_PROCEDURE.result_type*/ /*No:ONCE_PROCEDURE.fz_03*/ /*No:ONCE_PROCEDURE.em1*/ /*No:ONCE_PROCEDURE.obsolete_mark*/ /*No:ONCE_PROCEDURE.set_clients*/ /*No:ONCE_PROCEDURE.em2*/ /*No:ONCE_PROCEDURE.names*/ /*No:ONCE_PROCEDURE.require_assertion*/ /*No:ONCE_PROCEDURE.use_current_state*/ /*No:ONCE_PROCEDURE.code_ensure*/ int r134stupid_switch(T134* C,T0* a1,T0* a2){ int R=0; R=((((T134*)C))->_routine_body/*52*/)==((void*)(NULL)); return R; } void r134set_rescue_compound(T134* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.1is_deferred*/0/*)*/)) { r134error(r134start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r134can_hide(T134* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r134start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_PROCEDURE.header_comment*/ /*No:ONCE_PROCEDURE.routine_body*/ int r134is_merge_with(T134* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T134*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T134*)C))->_arguments/*28*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T134*)C))->_arguments/*28*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T134*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T134*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T134*)C))->_arguments/*28*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T134*)C))->_arguments/*28*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r134error(r134start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:ONCE_PROCEDURE.fz_dot*/ /*No:ONCE_PROCEDURE.set_ensure_assertion*/ /*No:ONCE_PROCEDURE.first_name*/ /*No:ONCE_PROCEDURE.clients*/ void r134collect_for(T134* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T134*)C))->_require_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T134*)C))->_require_assertion/*36*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T134*)C))->_ensure_assertion/*40*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T134*)C))->_ensure_assertion/*40*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T134*)C))->_ensure_assertion/*40*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r134error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ONCE_PROCEDURE.base_class*/ /*No:ONCE_PROCEDURE.base_class_name*/ T0*oBC359require_collector=NULL; void r134make_e_feature(T134* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r134check_obsolete(T134* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T134*)C))->_obsolete_mark/*32*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T134*)C))->_obsolete_mark/*32*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r134warning(r134start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r134warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r916add_function(T0* a1){ r222add_last(((T222*)(oBC916function_list)),a1); } /*No:ONCE_ROUTINE_POOL.fz_gc_mark*/ /*No:ONCE_ROUTINE_POOL.fz_00*/ /*No:ONCE_ROUTINE_POOL.fz_cast_void_star*/ /*No:ONCE_ROUTINE_POOL.fz_c_if_neq_null*/ T0*oBC916function_list=NULL; void r916gc_mark_in(T0* a1){ T0* _t=NULL; T0* _rf6=NULL; int _id=0; int _i=0; /*IF*/if ((/*(IRF4.6count*/((((T222*)((T222*)(oBC916function_list))))->_upper/*12*/)+(1)/*)*/)>(0)) { _i=(((T222*)((T222*)(oBC916function_list))))->_upper/*12*/; while (!((_i)<(0))) { _rf6=/*(IRF4.6item*/((((T222*)((T222*)(oBC916function_list))))->_storage/*4*/)[_i]/*)*/; _t=(((T868*)((T868*)_rf6)))->_result_type/*24*/; /*IF*/if (X291need_gc_mark_function(_t)) { _id=X291id(_t); /*IF*/if (X291is_reference(_t)) { r7append(((T7*)a1),((T0*)ms88_470)); r868once_result_in(((T868*)_rf6),a1); r7extend(((T7*)a1),'\51'); r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(_id,a1); r7extend(((T7*)a1),'\50'); r7append(((T7*)a1),((T0*)ms86_470)); r868once_result_in(((T868*)_rf6),a1); r7extend(((T7*)a1),'\51'); } else if (X291is_user_expanded(_t)) { } /*FI*/r7append(((T7*)a1),((T0*)ms134_470)); } /*FI*/_i=(_i)-(1); } } /*FI*/} T0*oBC916procedure_list=NULL; void r916add_procedure(T0* a1){ r185add_last(((T185*)(oBC916procedure_list)),a1); } int r868id(T868* C){ int R=0; R=X291id((((T868*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_6.arguments*/ T0* r868once_mark(T868* C){ T0* R=NULL; R=X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } void r868once_result(T868* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ r868once_result_in(C,oBC496c_code); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ } /*No:RUN_FEATURE_6.ucs_true*/ void r868once_result_in(T868* C,T0* a1){ r7extend(((T7*)a1),'o'); r844mapping_c_name_in(((T844*)((((T868*)C))->_base_feature/*44*/)),a1); } void r868once_flag(T868* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ r868once_flag_in(C,oBC496c_code); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ } void r868c_define(T868* C){ T0* _bfbc=NULL; _bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if (r868is_pre_computable(C)) { /*IF*/if (!(r605once_flag(((T605*)_bfbc),r868once_mark(C)))) { r868once_variable(C); } /*FI*/r324incr_pre_computed_once_count(((T324*)(oBC364cpp)),(T0*)C); } else { /*IF*/if (!(r605once_flag(((T605*)_bfbc),r868once_mark(C)))) { r868once_boolean(C); r868once_variable(C); } /*FI*/r868define_prototype(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_868)); /*]*/ r868once_flag(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_868)); /*]*/ r868define_opening(C); r868once_flag(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_868)); /*]*/ /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_c(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*/r868define_closing(C); r868once_result(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_868)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms5_868)); /*]*/ r868once_result(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms6_868)); /*]*/ } /*FI*/} void r868c_pre_computing(T868* C){ T0* _bfbc=NULL; _bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/; r306put_character(((T306*)(oBC364echo)),'\11'); r306put_string(((T306*)(oBC364echo)),(((T451*)((T451*)((((T605*)((T605*)_bfbc)))->_base_class_name/*24*/))))->_to_string/*0*/); r306put_character(((T306*)(oBC364echo)),'\56'); r306put_string(((T306*)(oBC364echo)),X776to_string((((T868*)C))->_name/*16*/)); r306put_character(((T306*)(oBC364echo)),'\n'); /*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_c(((T567*)((((T868*)C))->_require_assertion/*28*/))); } /*FI*/} /*FI*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC868tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC868tmp_string)),'\173'); X291c_type_for_result_in((((T868*)C))->_result_type/*24*/,oBC868tmp_string); r7extend(((T7*)(oBC868tmp_string)),'\40'); r7extend(((T7*)(oBC868tmp_string)),'R'); r7extend(((T7*)(oBC868tmp_string)),'\75'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC868tmp_string); /*]*/ X291c_initialize((((T868*)C))->_result_type/*24*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ /*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { r620compile_to_c(((T620*)((((T868*)C))->_local_vars/*48*/))); } /*FI*//*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592compile_to_c(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*/r868once_result(C); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms9_868)); /*]*/ } /*No:RUN_FEATURE_6.actuals_clients*/ void r868once_flag_in(T868* C,T0* a1){ r7extend(((T7*)a1),'f'); r844mapping_c_name_in(((T844*)((((T868*)C))->_base_feature/*44*/)),a1); } void r868define_closing(T868* C){ /*IF*/if (r868use_current(C)) { r324current_class_invariant(((T324*)(oBC364cpp)),(((T868*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { /*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324)); /*]*/ }/*]*/ } /*FI*/} /*No:RUN_FEATURE_6.ucs_in_computation*/ void r868make(T868* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r868run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r868initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r868std_compute_use_current(T868* C){ /*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T868*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T868*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T868*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_6.name*/ void r868default_mapping_function(T868* C){ r868mapping_name(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_target_as_target(((T324*)(oBC364cpp))); /*IF*/if ((r868arg_count(C))>(0)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } void r868mapping_name(T868* C){ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='r'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r868id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T868*)C))->_name/*16*/)); /*]*/ } int r868arg_count(T868* C){ int R=0; /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } void r868routine_afd_check(T868* C){ /*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567afd_check(((T567*)((((T868*)C))->_require_assertion/*28*/))); } /*FI*//*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*//*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633afd_check(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*No:RUN_FEATURE_6.local_vars*/ /*No:RUN_FEATURE_6.base_feature*/ void r868define_opening(T868* C){ T0* _t=NULL; int _i=0; /*IF*/if (((((T868*)C))->_result_type/*24*/)!=((void*)(NULL))) { _t=X291run_type((((T868*)C))->_result_type/*24*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ X291c_type_for_result_in(_t,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'R'); r7extend(((T7*)(oBC496c_code)),'\75'); X291c_initialize_in(_t,oBC496c_code); r7append(((T7*)(oBC496c_code)),((T0*)ms134_470)); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code); /*]*/ } /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { r620compile_to_c(((T620*)((((T868*)C))->_local_vars/*48*/))); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T868*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { r633compile_to_c_old(((T633*)((((T868*)C))->_ensure_assertion/*36*/))); } /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { r620initialize_expanded(((T620*)((((T868*)C))->_local_vars/*48*/))); } /*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { r324rs_link(((T324*)(oBC364cpp)),(T0*)C); /*IF*/if (r868use_current(C)) { /*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=(((T868*)C))->_current_type/*4*/; r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1); }/*]*/ } /*FI*/_i=1; while (!((_i)>(r868arg_count(C)))) { _t=X291run_type(r31type(((T31*)((((T868*)C))->_arguments/*20*/)),_i)); r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t); _i=(_i)+(1); } /*IF*/if (((((T868*)C))->_result_type/*24*/)!=((void*)(NULL))) { /*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp)); T0* b1=X291run_type((((T868*)C))->_result_type/*24*/); r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1); }/*]*/ } /*FI*//*IF*/if (((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/))) { r39c_trace(((T39*)(/*(IRF4.6name*/r733item(((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/)),_i)/*)*/))); _i=(_i)+(1); } } /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { r567compile_to_c(((T567*)((((T868*)C))->_require_assertion/*28*/))); } /*FI*/} /*No:RUN_FEATURE_6.start_position*/ /*No:RUN_FEATURE_6.us_std_output*/ /*No:RUN_FEATURE_6.fz_00*/ /*No:RUN_FEATURE_6.ensure_assertion*/ int r868is_exported_in(T868* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r868clients(C))),a1); return R; } /*No:RUN_FEATURE_6.compute_use_current*/ /*No:RUN_FEATURE_6.result_type*/ /*No:RUN_FEATURE_6.us_std_error*/ /*No:RUN_FEATURE_6.is_static*/ T0*oBC364once_routine_pool=NULL; void r868add_client(T868* C,T0* a1){ int _i=0; /*IF*/if (((((T868*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T868*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T868*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r868run_class(C))),a1); } /*No:RUN_FEATURE_6.require_assertion*/ T0*oBC868tmp_string=NULL; /*No:RUN_FEATURE_6.use_current_state*/ T0*oBC496c_code=NULL; int r868can_be_dropped(T868* C){ int R=0; /*IF*/if (r868is_pre_computable(C)) { R=1; } /*FI*/return R; } /*No:RUN_FEATURE_6.current_type*/ T0* r868run_class(T868* C){ T0* R=NULL; R=X291run_class((((T868*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_6.static_value_mem*/ void r868define_prototype(T868* C){ int _mem_id=0; _mem_id=r868id(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ /*IF*/if (((((T868*)C))->_result_type/*24*/)==((void*)(NULL))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } else { X291c_type_for_result_in(X291run_type((((T868*)C))->_result_type/*24*/),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'r'); r2append_in(_mem_id,oBC496c_code); X776mapping_c_in((((T868*)C))->_name/*16*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\50'); /*IF*/if (r868use_current(C)) { X291c_type_for_target_in((((T868*)C))->_current_type/*4*/,oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); r7extend(((T7*)(oBC496c_code)),'C'); /*IF*/if (((((T868*)C))->_arguments/*20*/)!=((void*)(NULL))) { r7extend(((T7*)(oBC496c_code)),'\54'); } /*FI*/} /*FI*//*IF*/if (((((T868*)C))->_arguments/*20*/)==((void*)(NULL))) { /*IF*/if (!(r868use_current(C))) { r7append(((T7*)(oBC496c_code)),((T0*)ms133_470)); } /*FI*/} else { r31compile_to_c_in(((T31*)((((T868*)C))->_arguments/*20*/)),oBC496c_code); } /*FI*/r7extend(((T7*)(oBC496c_code)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ } T0*oBC496c_code2=NULL; /*No:RUN_FEATURE_6.ucs_not_computed*/ /*No:RUN_FEATURE_6.fz_int*/ void r868fall_down(T868* 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=X291run_class((((T868*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T868*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T868*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_6.routine_body*/ /*No:RUN_FEATURE_6.us_io*/ /*No:RUN_FEATURE_6.fz_void*/ /*No:RUN_FEATURE_6.ucs_false*/ T0* r868clients(T868* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T868*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T868*)C))->_current_type/*4*/); _bfbc=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/; /*IF*/if ((_bc)==((void*)(_bfbc))) { R=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_clients/*24*/; } else { R=r605clients_for(((T605*)_bc),(((T868*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T868*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r868is_pre_computable(T868* C){ int R=0; /*IF*/if (r52fast_has(((T52*)(oBC868frozen_general)),X776to_string((((T868*)C))->_name/*16*/))) { R=1; } else if ((((((T868*)C))->_arguments/*20*/)==((void*)(NULL)))&&(!(r868use_current(C)))) { /*IF*/if (((((T868*)C))->_routine_body/*32*/)==((void*)(NULL))) { R=1; } else if (!(r590invariant_check(((T590*)(oBC364run_control))))) { R=r592is_pre_computable(((T592*)((((T868*)C))->_routine_body/*32*/))); } /*FI*/} /*FI*/return R; } int r868use_current(T868* C){ int R=0; {int z1=(((T868*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.4compute_use_current*/r868std_compute_use_current(C); /*]*/ R=r868use_current(C); } else {R=1; }} return R; } void r868mapping_c(T868* C){ int _tcbd=0; /*IF*/if (r868is_pre_computable(C)) { r868once_result(C); } else if (r868use_current(C)) { r868default_mapping_function(C); } else { _tcbd=r324target_cannot_be_dropped(((T324*)(oBC364cpp))); /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/r868mapping_name(C); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if ((r868arg_count(C))>(0)) { r324put_arguments(((T324*)(oBC364cpp))); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (_tcbd) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*No:RUN_FEATURE_6.fatal_error*/ /*No:RUN_FEATURE_6.address_of*/ void r868put_tag(T868* C){ T0* _fn=NULL; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/; X776cpp_put_infix_or_prefix(_fn); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_6.clients_memory*/ void r868initialize(T868* C){ C->_arguments=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_arguments/*28*/; /*IF*/if ((((((T868*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T868*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_arguments=r31to_runnable(((T31*)((((T868*)C))->_arguments/*20*/)),(((T868*)C))->_current_type/*4*/); } /*FI*/C->_result_type=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_result_type/*12*/; /*IF*/if (X291is_anchored((((T868*)C))->_result_type/*24*/)) { r683add_position(X291start_position((((T868*)C))->_result_type/*24*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_868); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X291is_formal_generic((((T868*)C))->_result_type/*24*/)) { r683add_position(X291start_position((((T868*)C))->_result_type/*24*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_868); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_result_type=X291to_runnable((((T868*)C))->_result_type/*24*/,(((T868*)C))->_current_type/*4*/); C->_local_vars=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_local_vars/*20*/; /*IF*/if ((((((T868*)C))->_local_vars/*48*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T733*)((T733*)((((T620*)((T620*)((((T868*)C))->_local_vars/*48*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) { C->_local_vars=r620to_runnable(((T620*)((((T868*)C))->_local_vars/*48*/)),(((T868*)C))->_current_type/*4*/); } /*FI*/C->_routine_body=(((T844*)((T844*)((((T868*)C))->_base_feature/*44*/))))->_routine_body/*52*/; /*IF*/if (((((T868*)C))->_routine_body/*32*/)!=((void*)(NULL))) { C->_routine_body=r592to_runnable(((T592*)((((T868*)C))->_routine_body/*32*/)),(((T868*)C))->_current_type/*4*/); } /*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { C->_require_assertion=r844run_require((T0*)C); } /*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) { C->_ensure_assertion=r844run_ensure((T0*)C); } /*FI*/r916add_function((T0*)C); } T0*oBC868frozen_general=NULL; /*No:RUN_FEATURE_6.us_std_input*/ /*No:RUN_FEATURE_6.afd_check*/ void r868once_variable(T868* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC496c_code)),'T'); /*IF*/if (X291is_expanded((((T868*)C))->_result_type/*24*/)) { r2append_in(X291id((((T868*)C))->_result_type/*24*/),oBC496c_code); r7extend(((T7*)(oBC496c_code)),'\40'); } else { r7extend(((T7*)(oBC496c_code)),'0'); r7extend(((T7*)(oBC496c_code)),'\52'); } /*FI*/r868once_result_in(C,oBC496c_code); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code2)))))->_count)=(0); /*]*/ X291c_initialize_in((((T868*)C))->_result_type/*24*/,oBC496c_code2); r324put_extern5(((T324*)(oBC364cpp)),oBC496c_code,oBC496c_code2); } void r868once_boolean(T868* C){ r7copy(((T7*)(oBC496c_code)),((T0*)ms111_470)); r7extend(((T7*)(oBC496c_code)),'\40'); r868once_flag_in(C,oBC496c_code); r324put_extern2(((T324*)(oBC364cpp)),oBC496c_code,'0'); } /*No:CST_ATT_STRING.arguments*/ T0* r380try_to_undefine(T380* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r380try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T380*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_STRING.is_deferred*/ void r380add_into(T380* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r380try_to_undefine_aux(T380* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r380start_position(C)); r380error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r380make(T380* C,T0* a1,T0* a2,T0* a3){ T0* _ms=NULL; int _i=0; r380make_e_feature(C,a1,a2); {T381*n=malloc(sizeof(*n)); *n=M381; r381make(n,1,/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/); C->_values=(T0*)n; } /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/)); T0* b1=a3; int b2=1; ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=2; while (!((_i)>((((T381*)((T381*)((((T380*)C))->_values/*24*/))))->_upper/*12*/))) { {T805*n=malloc(sizeof(*n)); *n=M805; r805from_manifest_string(n,a3,_i); _ms=(T0*)n; } /*[IRF3.6put*/{T381* C1=((T381*)((((T380*)C))->_values/*24*/)); T0* b1=_ms; int b2=_i; ((((T381*)C1))->_storage/*4*/)[(b2)-((((T381*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)+(1); } } /*No:CST_ATT_STRING.nb_errors*/ /*No:CST_ATT_STRING.set_header_comment*/ /*No:CST_ATT_STRING.values*/ T0* r380start_position(T380* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r380to_run_feature(T380* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_STRING.ensure_assertion*/ /*No:CST_ATT_STRING.code_require*/ /*No:CST_ATT_STRING.result_type*/ /*No:CST_ATT_STRING.em1*/ /*No:CST_ATT_STRING.set_clients*/ /*No:CST_ATT_STRING.em2*/ /*No:CST_ATT_STRING.value*/ /*No:CST_ATT_STRING.require_assertion*/ /*No:CST_ATT_STRING.names*/ /*No:CST_ATT_STRING.stupid_switch*/ int r380can_hide(T380* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_STRING.header_comment*/ int r380is_merge_with(T380* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T380*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r380error(r380start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T380*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T380*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_STRING.fz_dot*/ /*No:CST_ATT_STRING.first_name*/ /*No:CST_ATT_STRING.clients*/ void r380collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r380error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_STRING.base_class*/ /*No:CST_ATT_STRING.base_class_name*/ void r380make_e_feature(T380* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:CST_ATT_BIT.arguments*/ T0* r588try_to_undefine(T588* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r588try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T588*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:CST_ATT_BIT.is_deferred*/ void r588add_into(T588* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/; /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) { _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); r683add_position(X776start_position(_fn)); r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r588try_to_undefine_aux(T588* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r588start_position(C)); r588error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r588make(T588* C,T0* a1,T0* a2,T0* a3){ r588make_e_feature(C,a1,a2); C->_value_mem=a3; } /*No:CST_ATT_BIT.nb_errors*/ /*No:CST_ATT_BIT.set_header_comment*/ T0* r588start_position(T588* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T588*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r588to_run_feature(T588* C,T0* a1,T0* a2){ T0* R=NULL; T0* _rc=NULL; _rc=X291run_class(a1); R=r355at(((T355*)_rc),a2); if(NULL!=(R))switch(((T0*)R)->id) { case 808: break; default: R=NULL; };/*IF*/if ((R)==((void*)(NULL))) { {T808*n=malloc(sizeof(*n)); *n=M808; r808make(n,a1,a2,(T0*)C); R=(T0*)n; } } /*FI*/return R; } /*No:CST_ATT_BIT.ensure_assertion*/ /*No:CST_ATT_BIT.code_require*/ /*No:CST_ATT_BIT.result_type*/ /*No:CST_ATT_BIT.em1*/ /*No:CST_ATT_BIT.set_clients*/ /*No:CST_ATT_BIT.em2*/ /*No:CST_ATT_BIT.value*/ /*No:CST_ATT_BIT.require_assertion*/ /*No:CST_ATT_BIT.names*/ /*No:CST_ATT_BIT.value_mem*/ /*No:CST_ATT_BIT.stupid_switch*/ int r588can_hide(T588* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BIT.header_comment*/ int r588is_merge_with(T588* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T588*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r588error(r588start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T588*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T588*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:CST_ATT_BIT.fz_dot*/ /*No:CST_ATT_BIT.first_name*/ /*No:CST_ATT_BIT.clients*/ void r588collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r588error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CST_ATT_BIT.base_class*/ /*No:CST_ATT_BIT.base_class_name*/ void r588make_e_feature(T588* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:SMALL_EIFFEL.dos_system*/ /*No:SMALL_EIFFEL.fz_system_se*/ /*No:SMALL_EIFFEL.fz_sys*/ /*No:SMALL_EIFFEL.falling_down*/ /*No:SMALL_EIFFEL.initialize_generating_type*/ T0* r604get_started(T604* 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; r306put_string(((T306*)(oBC364echo)),((T0*)ms1_604)); r306put_string(((T306*)(oBC364echo)),((T0*)ms28_604)); _root=r604load_class(C,a1); /*IF*/if ((_root)==((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms29_604); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { _root_name=(((T605*)((T605*)_root)))->_base_class_name/*24*/; {T446*n=malloc(sizeof(*n)); *n=M446; r446make(n,a2,NULL); _root_proc_name=(T0*)n; } _root_proc=r605root_procedure(((T605*)_root),a2); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T297*)((T297*)_root_proc)))->_arguments/*28*/)!=((void*)(NULL))) { r683add_position(r297start_position(((T297*)_root_proc))); /*[IRF3.6append*/{T0* b1=((T0*)ms30_604); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms31_604)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _root_type=(((T355*)((T355*)(r605run_class(((T605*)_root))))))->_current_type/*0*/; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=r297to_run_feature(((T297*)_root_proc),_root_type,_root_proc_name); /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) { /*[IRF3.3do_not_inline*/((((T832*)(((T832*)R))))->_in_line_status)=(-(1)); /*]*/ } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r306put_string(((T306*)(oBC364echo)),((T0*)ms32_604)); r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604)); /*[IRF3.2falling_down*/{int _i=0; T0* _rc=NULL; /*[IRF3.2falling_down*/{int _count2=0; int _count1=0; T0* _dictionary2=NULL; /*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) { _count1=1; while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) { _dictionary2=r338item(((T338*)(oBC576dictionary)),_count1); _count2=1; while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) { X496fall_down(r199item(((T199*)_dictionary2),_count2)); _count2=(_count2)+(1); } _count1=(_count1)+(1); } } /*FI*/}/*]*/ _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355falling_down(((T355*)_rc)); _i=(_i)+(1); } }/*]*/ r625fill_up(((T625*)(oBC364cecil_pool))); while (!(((_magic)==((((T604*)C))->_magic_count/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _magic=(((T604*)C))->_magic_count/*8*/; /*[IRF3.2falling_down*/{int _i=0; T0* _rc=NULL; /*[IRF3.2falling_down*/{int _count2=0; int _count1=0; T0* _dictionary2=NULL; /*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) { _count1=1; while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) { _dictionary2=r338item(((T338*)(oBC576dictionary)),_count1); _count2=1; while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) { X496fall_down(r199item(((T199*)_dictionary2),_count2)); _count2=(_count2)+(1); } _count1=(_count1)+(1); } } /*FI*/}/*]*/ _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355falling_down(((T355*)_rc)); _i=(_i)+(1); } }/*]*/ } r306put_string(((T306*)(oBC364echo)),((T0*)ms33_604)); r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r306put_string(((T306*)(oBC364echo)),((T0*)ms34_604)); r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604)); /*[IRF3.2afd_check*/{int _i=0; T0* _rc=NULL; _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355afd_check(((T355*)_rc)); _i=(_i)+(1); } }/*]*/ while (!(((_magic)==((((T604*)C))->_magic_count/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _magic=(((T604*)C))->_magic_count/*8*/; /*[IRF3.2falling_down*/{int _i=0; T0* _rc=NULL; /*[IRF3.2falling_down*/{int _count2=0; int _count1=0; T0* _dictionary2=NULL; /*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) { _count1=1; while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) { _dictionary2=r338item(((T338*)(oBC576dictionary)),_count1); _count2=1; while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) { X496fall_down(r199item(((T199*)_dictionary2),_count2)); _count2=(_count2)+(1); } _count1=(_count1)+(1); } } /*FI*/}/*]*/ _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355falling_down(((T355*)_rc)); _i=(_i)+(1); } }/*]*/ /*[IRF3.2afd_check*/{int _i=0; T0* _rc=NULL; _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355afd_check(((T355*)_rc)); _i=(_i)+(1); } }/*]*/ } r306put_string(((T306*)(oBC364echo)),((T0*)ms35_604)); r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604)); /*[IRF3.2check_for_deferred*/{T0* _rc=NULL; T0* _rf9=NULL; int _i=0; _i=/*X321*/((int)(((T321*)((T321*)(oBC604rf9_memory))))->_upper/*12*/); r306print_count(((T306*)(oBC364echo)),((T0*)ms38_604),(_i)+(1)); while (!((_i)<(0))) { _rf9=/*X321*/((T0*)r321item(((T321*)(oBC604rf9_memory)),_i)); _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_current_type/*4*/)); /*IF*/if ((((T355*)((T355*)_rc)))->_at_run_time/*8*/) { r683add_position(X496start_position(_rf9)); /*[IRF3.6append*/{T0* b1=X776to_string(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_name/*16*/)); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms39_604); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291written_mark(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_current_type/*4*/)); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms67_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/_i=(_i)-(1); } }/*]*/ } /*FI*//*IF*/if (!(r683empty())) { /*[IRF3.6append*/{T0* b1=((T0*)ms36_604); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { C->_is_ready=1; r306print_count(((T306*)(oBC364echo)),((T0*)ms37_604),(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*40*/); } /*FI*/return R; } int fBC604loading_path=0; T0*oBC604loading_path=NULL; T0* r604loading_path(T604* C){ if (fBC604loading_path==0){ T0* R=NULL; T0* _file=NULL; T0* _path=NULL; fBC604loading_path=1; {T52*n=malloc(sizeof(*n)); *n=M52; r52make(n,1,10); R=(T0*)n; } r52clear(((T52*)R)); {T675*n=malloc(sizeof(*n)); *n=M675; r675connect_to(n,((T0*)ms2_604)); _file=(T0*)n; } /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)_file)))->_path/*4*/)!=(NULL)/*)*/) { while (!(r675end_of_input(((T675*)_file)))) { r675read_line(((T675*)_file)); r52add_last(((T52*)R),r7twin(((T7*)(oBC762last_string)))); } r675disconnect(((T675*)_file)); } /*FI*/_path=r7twin(((T7*)(r604small_eiffel_directory(C)))); r604add_directory(C,_path,((T0*)ms126_470)); r7append(((T7*)_path),((T0*)ms3_604)); r7append(((T7*)_path),r604system_name(C)); r675connect_to(((T675*)_file),_path); /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)_file)))->_path/*4*/)!=(NULL)/*)*/) { while (!(r675end_of_input(((T675*)_file)))) { r675read_line(((T675*)_file)); r52add_last(((T52*)R),r7twin(((T7*)(oBC762last_string)))); } r675disconnect(((T675*)_file)); } else { r306w_put_string(((T0*)ms4_604)); r306w_put_string(_path); r306w_put_string(((T0*)ms5_604)); } /*FI*/oBC604loading_path=R;} return oBC604loading_path;} /*No:SMALL_EIFFEL.initialize_path_table*/ /*No:SMALL_EIFFEL.unix_system*/ /*No:SMALL_EIFFEL.exit_failure_code*/ /*No:SMALL_EIFFEL.vms_system*/ T0*oBC604run_class_dictionary=NULL; T0* r604small_eiffel_directory(T604* C){ if (fBC364small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; fBC364small_eiffel_directory=1; R=r604get_environment_variable(C,((T0*)ms121_470)); /*IF*/if ((R)==((void*)(NULL))) { R=r7twin(((T7*)(((T0*)ms121_470)))); r7to_upper(((T7*)R)); R=r604get_environment_variable(C,R); /*IF*/if ((R)!=((void*)(NULL))) { r7to_upper(((T7*)(((T0*)ms121_470)))); } /*FI*/} /*FI*//*IF*/if ((R)==((void*)(NULL))) { R=((T0*)ms1_364); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)<(0))) { _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { r7extend(((T7*)R),'\57'); } else if (!((r7last(((T7*)R)))==(_slash))) { r7extend(((T7*)R),_slash); } /*FI*/oBC364small_eiffel_directory=R;} return oBC364small_eiffel_directory;} /*No:SMALL_EIFFEL.us_array*/ int r604string_at_run_time(void){ int R=0; T0* _rc=NULL; /*IF*/if (r250has(((T250*)(oBC604run_class_dictionary)),((T0*)ms25_473))) { _rc=r250at(((T250*)(oBC604run_class_dictionary)),((T0*)ms25_473)); R=(((T355*)((T355*)_rc)))->_at_run_time/*8*/; } /*FI*/return R; } T0*oBC604stack_rf=NULL; /*No:SMALL_EIFFEL.fz_t7_star*/ /*No:SMALL_EIFFEL.amiga_system*/ void r604afd_check_deferred(T0* a1){ /*IF*/if (!(X321fast_has(oBC604rf9_memory,a1))) { X321add_last(oBC604rf9_memory,a1); } /*FI*/} /*No:SMALL_EIFFEL.make*/ /*No:SMALL_EIFFEL.last_unique*/ /*No:SMALL_EIFFEL.nb_errors*/ T0*oBC604tmp_tail=NULL; int fBC604tmp_class_name=0; T0*oBC604tmp_class_name=NULL; T0* r604tmp_class_name(void){ if (fBC604tmp_class_name==0){ T0* R=NULL; fBC604tmp_class_name=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms1_473),NULL); R=(T0*)n; } oBC604tmp_class_name=R;} return oBC604tmp_class_name;} /*No:SMALL_EIFFEL.check_for_deferred*/ /*No:SMALL_EIFFEL.us_string*/ T0*oBC364parser_buffer=NULL; void r604add_class(T604* C,T0* a1){ r718put(((T718*)(oBC604base_class_dictionary)),a1,(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/); r604incr_magic_count(C); } void r604push(T604* C,T0* a1){ C->_top=((((T604*)C))->_top/*12*/)+(1); X477force(oBC604stack_rf,a1,(((T604*)C))->_top/*12*/); } int r604next_unique(T604* C){ int R=0; /*IF*/if (((((T604*)C))->_last_unique/*16*/)<(1000)) { C->_last_unique=1000; } /*FI*/C->_last_unique=((((T604*)C))->_last_unique/*16*/)+(1); R=(((T604*)C))->_last_unique/*16*/; return R; } T0* r604top_rf(T604* C){ T0* R=NULL; R=/*X477*/((T0*)r477item(((T477*)(oBC604stack_rf)),(((T604*)C))->_top/*12*/)); return R; } /*No:SMALL_EIFFEL.copyright*/ void r604add_directory(T604* C,T0* a1,T0* a2){ /*IF*/if ((((T0*)ms17_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms19_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms15_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\72'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\72'); } else if ((((T0*)ms14_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms16_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms13_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms18_364))==((void*)(r604system_name(C)))) { r7set_last(((T7*)a1),'\135'); r7remove_last(((T7*)a1),1); r7set_last(((T7*)a1),'\56'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\135'); } /*FI*/} T0*oBC604parser_buffer_path=NULL; void r604compile_to_c(T604* C,T0* a1,T0* a2){ int _gc_flag=0; int _i=0; T0* _rf3=NULL; int _run_count=0; T0* _rc=NULL; _rf3=r604get_started(C,a1,a2); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r324get_started(((T324*)(oBC364cpp))); r324swap_on_h(((T324*)(oBC364cpp))); _gc_flag=(((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/; /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms18_604)); /*]*/ _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); /*IF*/if ((((T355*)((T355*)_rc)))->_at_run_time/*8*/) { _run_count=(_run_count)+(1); } /*FI*/r355demangling(((T355*)_rc)); _i=(_i)+(1); } /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms19_604)); /*]*/ r324put_comment_line(((T324*)(oBC364cpp)),((T0*)ms20_604)); _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355c_header_pass1(((T355*)_rc)); _i=(_i)+(1); } r324put_comment_line(((T324*)(oBC364cpp)),((T0*)ms21_604)); _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355c_header_pass2(((T355*)_rc)); _i=(_i)+(1); } r324put_comment_line(((T324*)(oBC364cpp)),((T0*)ms22_604)); _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355c_header_pass3(((T355*)_rc)); _i=(_i)+(1); } r324put_comment_line(((T324*)(oBC364cpp)),((T0*)ms23_604)); _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); r355c_header_pass4(((T355*)_rc)); _i=(_i)+(1); } /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) { r548define1(((T548*)(oBC364gc_handler))); } /*FI*//*[IRF3.2compile_routines*/{T0* _bcn=NULL; int _stop=0; int _i=0; int _deep=0; T0* _ct=NULL; T0* _rc_string=NULL; T0* _rc=NULL; r306put_string(((T306*)(oBC364echo)),((T0*)ms59_604)); r306put_integer(((T306*)(oBC364echo)),(((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/); r306put_string(((T306*)(oBC364echo)),((T0*)ms60_604)); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); _ct=(((T355*)((T355*)_rc)))->_current_type/*0*/; /*IF*/if (X291is_basic_eiffel_expanded(_ct)) { r355compile_to_c(((T355*)_rc),0); } else if (X291is_string(_ct)) { _rc_string=_rc; } /*FI*/_i=(_i)+(1); } _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); _ct=(((T355*)((T355*)_rc)))->_current_type/*0*/; /*IF*/if (X291is_bit(_ct)) { r355compile_to_c(((T355*)_rc),0); } /*FI*/_i=(_i)+(1); } _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); _bcn=(((T451*)((T451*)(r355base_class_name(((T355*)_rc))))))->_to_string/*0*/; /*IF*/if ((((T0*)ms18_473))==((void*)(_bcn))) { r355compile_to_c(((T355*)_rc),0); } /*FI*/_i=(_i)+(1); } /*IF*/if ((_rc_string)!=((void*)(NULL))) { r355compile_to_c(((T355*)_rc_string),0); } /*FI*/_i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); _ct=(((T355*)((T355*)_rc)))->_current_type/*0*/; _bcn=(((T451*)((T451*)(X291base_class_name(_ct)))))->_to_string/*0*/; /*IF*/if (((((T0*)ms2_473))==((void*)(_bcn)))||((((T0*)ms13_473))==((void*)(_bcn)))) { r355compile_to_c(((T355*)_rc),0); } /*FI*/_i=(_i)+(1); } _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); _ct=(((T355*)((T355*)_rc)))->_current_type/*0*/; /*IF*/if (X291is_generic(_ct)) { r355compile_to_c(((T355*)_rc),0); } /*FI*/_i=(_i)+(1); } _deep=6; while (!(_stop)) { _stop=1; _i=1; while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) { _rc=r250item(((T250*)(oBC604run_class_dictionary)),_i); /*IF*/if (!((((T355*)((T355*)_rc)))->_compile_to_c_done/*20*/)) { _stop=0; r355compile_to_c(((T355*)_rc),_deep); } /*FI*/_i=(_i)+(1); } _deep=(_deep)-(1); } }/*]*/ r324cecil_define(((T324*)(oBC364cpp))); /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) { r548define2(((T548*)(oBC364gc_handler))); } /*FI*/r324define_main(((T324*)(oBC364cpp)),_rf3); r324define_used_basics(((T324*)(oBC364cpp))); r324write_make_file(((T324*)(oBC364cpp))); } else { r683error(((T683*)(oBC364eh)),((T0*)ms25_604)); } /*FI*/} /*No:SMALL_EIFFEL.fz_00*/ /*No:SMALL_EIFFEL.windows_system*/ /*No:SMALL_EIFFEL.initialize_generator*/ T0* r604get_environment_variable(T604* C,T0* a1){ T0* R=NULL; void* _p=0; _p=r7to_external(((T7*)a1)); R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p)); return R; } /*No:SMALL_EIFFEL.short_flag*/ /*No:SMALL_EIFFEL.fz_03*/ T0* r604get_class(T0* a1){ T0* R=NULL; /*IF*/if (r718has(((T718*)(oBC604base_class_dictionary)),a1)) { R=r718at(((T718*)(oBC604base_class_dictionary)),a1); } else { r451make(((T451*)(r604tmp_class_name())),a1,NULL); R=r451base_class(((T451*)(r604tmp_class_name()))); } /*FI*/return R; } /*No:SMALL_EIFFEL.fz_14*/ T0* r604system_name(T604* C){ if (fBC364system_name==0){ T0* R=NULL; int _i=0; fBC364system_name=1; r7copy(((T7*)(oBC364tmp_path)),r604small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) { r7set_last(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r604small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) { r7set_last(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r604small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) { r7set_last(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r604small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) { r7set_last(((T7*)(oBC364tmp_path)),'\135'); r7remove_last(((T7*)(oBC364tmp_path)),1); r7extend(((T7*)(oBC364tmp_path)),'\56'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\135'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r604small_eiffel_directory(C)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms20_364)); r306w_put_string(((T0*)ms127_470)); r306w_put_string(((T0*)ms21_364)); r306w_put_string(r604small_eiffel_directory(C)); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r675read_line(((T675*)(oBC364tmp_file_read))); R=oBC762last_string; _i=r52index_of(((T52*)(oBC364system_list)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) { r306w_put_string(((T0*)ms22_364)); r306w_put_string(oBC364tmp_path); r306w_put_string(((T0*)ms23_364)); _i=1; while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) { r306w_put_string(r52item(((T52*)(oBC364system_list)),_i)); r306w_put_character('\n'); _i=(_i)+(1); } } else { R=r52item(((T52*)(oBC364system_list)),_i); r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364)); r306put_string(((T306*)(oBC364echo)),R); r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470)); } /*FI*/oBC364system_name=R;} return oBC364system_name;} int r604parser_buffer_for(T604* C,T0* a1){ int R=0; int _i=0; r7copy(((T7*)(oBC604tmp_tail)),a1); r7to_lower(((T7*)(oBC604tmp_tail))); /*IF*/if (!(r7has_suffix(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)))) { r7append(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)); } /*FI*/_i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/; while (!(((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))||(R))) { r7copy(((T7*)(oBC604parser_buffer_path)),r52item(((T52*)(r604loading_path(C))),_i)); r7append(((T7*)(oBC604parser_buffer_path)),oBC604tmp_tail); r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path); R=/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/; _i=(_i)+(1); } /*IF*/if ((!(R))&&(r794has(((T794*)(r604rename_dictionary(C))),oBC604tmp_tail))) { r7copy(((T7*)(oBC604parser_buffer_path)),r794at(((T794*)(r604rename_dictionary(C))),oBC604tmp_tail)); r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path); /*IF*/if (/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/) { R=1; } else { r306w_put_string(((T0*)ms10_604)); r306w_put_string(oBC604parser_buffer_path); r306w_put_string(((T0*)ms137_470)); exit(1); } /*FI*/} /*FI*//*IF*/if (!(R)) { r7copy(((T7*)(oBC604tmp_tail)),a1); /*IF*/if (!(r7has_suffix(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)))) { r7append(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)); } /*FI*/_i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/; while (!(((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))||(R))) { r7copy(((T7*)(oBC604parser_buffer_path)),r52item(((T52*)(r604loading_path(C))),_i)); r7append(((T7*)(oBC604parser_buffer_path)),oBC604tmp_tail); r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path); R=/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/; _i=(_i)+(1); } } /*FI*//*IF*/if (!(R)) { r306w_put_string(((T0*)ms11_604)); r306w_put_string(a1); r306w_put_string(((T0*)ms12_604)); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC604parser_buffer_path)))))->_count)=(0); /*]*/ r604append_loading_path_in(C,oBC604parser_buffer_path); r306w_put_string(oBC604parser_buffer_path); } /*FI*/return R; } /*No:SMALL_EIFFEL.fz_b0*/ /*No:SMALL_EIFFEL.em1*/ /*No:SMALL_EIFFEL.is_ready*/ /*No:SMALL_EIFFEL.base_class_count*/ /*No:SMALL_EIFFEL.fz_se*/ /*No:SMALL_EIFFEL.os2_system*/ void r604pop(T604* C){ C->_top=((((T604*)C))->_top/*12*/)-(1); } int fBC604rename_dictionary=0; T0*oBC604rename_dictionary=NULL; T0* r604rename_dictionary(T604* C){ if (fBC604rename_dictionary==0){ T0* R=NULL; T0* _short_name=NULL; T0* _full_name=NULL; int _i=0; fBC604rename_dictionary=1; {T794*n=malloc(sizeof(*n)); *n=M794; r794make(n); R=(T0*)n; } _i=1; while (!((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))) { r7copy(((T7*)(oBC364tmp_path)),r52item(((T52*)(r604loading_path(C))),_i)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms13_604)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/) { while (!(r675end_of_input(((T675*)(oBC364tmp_file_read))))) { r675read_word(((T675*)(oBC364tmp_file_read))); _full_name=r7twin(((T7*)(oBC762last_string))); r675read_word(((T675*)(oBC364tmp_file_read))); _short_name=r7twin(((T7*)(oBC762last_string))); r7prepend(((T7*)_short_name),r52item(((T52*)(r604loading_path(C))),_i)); /*IF*/if (r794has(((T794*)R),_full_name)) { r306w_put_string(((T0*)ms14_604)); r306w_put_string(_full_name); r306w_put_string(((T0*)ms15_604)); r306w_put_string(_short_name); r306w_put_string(((T0*)ms16_604)); r306w_put_string(r794at(((T794*)R),_full_name)); r306w_put_string(((T0*)ms17_604)); exit(1); } /*FI*/r794put(((T794*)R),_short_name,_full_name); r675skip_separators(((T675*)(oBC364tmp_file_read))); } r675disconnect(((T675*)(oBC364tmp_file_read))); } /*FI*/_i=(_i)+(1); } oBC604rename_dictionary=R;} return oBC604rename_dictionary;} int fBC364id_provider=0; T0*oBC364id_provider=NULL; T0* r604id_provider(void){ if (fBC364id_provider==0){ T0* R=NULL; fBC364id_provider=1; {T410*n=malloc(sizeof(*n)); *n=M410; r410make(n); R=(T0*)n; } oBC364id_provider=R;} return oBC364id_provider;} T0* r604run_class(T0* a1){ T0* R=NULL; T0* _run_string=NULL; _run_string=X291run_time_mark(a1); /*IF*/if (r250has(((T250*)(oBC604run_class_dictionary)),_run_string)) { R=r250at(((T250*)(oBC604run_class_dictionary)),_run_string); } else { {T355*n=malloc(sizeof(*n)); *n=M355; r355make(n,a1); R=(T0*)n; } } /*FI*/return R; } void r604append_loading_path_in(T604* C,T0* a1){ T0* _sed=NULL; int _i=0; r7append(((T7*)a1),((T0*)ms62_604)); _i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/; while (!((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))) { r7extend(((T7*)a1),'\42'); r7append(((T7*)a1),r52item(((T52*)(r604loading_path(C))),_i)); r7extend(((T7*)a1),'\42'); r7extend(((T7*)a1),'\n'); _i=(_i)+(1); } r7append(((T7*)a1),((T0*)ms63_604)); r7append(((T7*)a1),((T0*)ms121_470)); _sed=r604get_environment_variable(C,((T0*)ms121_470)); r7append(((T7*)a1),((T0*)ms64_604)); /*IF*/if ((_sed)==((void*)(NULL))) { r7append(((T7*)a1),((T0*)ms65_604)); } else { r7append(((T7*)a1),((T0*)ms66_604)); r7append(((T7*)a1),_sed); r7append(((T7*)a1),((T0*)ms67_604)); } /*FI*/r7extend(((T7*)a1),'\n'); } /*No:SMALL_EIFFEL.top*/ /*No:SMALL_EIFFEL.compile_routines*/ T0*oBC604rf9_memory=NULL; int r604is_used(T0* a1){ int R=0; R=r718has(((T718*)(oBC604base_class_dictionary)),a1); return R; } /*No:SMALL_EIFFEL.macintosh_system*/ /*No:SMALL_EIFFEL.fz_dot*/ /*No:SMALL_EIFFEL.define_extern_tables*/ void r604incr_magic_count(T604* C){ C->_magic_count=((((T604*)C))->_magic_count/*8*/)+(1); } /*No:SMALL_EIFFEL.magic_count*/ /*No:SMALL_EIFFEL.eiffel_suffix*/ T0* r604base_class(T604* C,T0* a1){ T0* R=NULL; /*IF*/if (r718has(((T718*)(oBC604base_class_dictionary)),(((T451*)((T451*)a1)))->_to_string/*0*/)) { R=r718at(((T718*)(oBC604base_class_dictionary)),(((T451*)((T451*)a1)))->_to_string/*0*/); } else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_604); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*IF*/if (r604parser_buffer_for(C,(((T451*)((T451*)a1)))->_to_string/*0*/)) { R=r818analyse_class(((T818*)(oBC364eiffel_parser)),a1); } /*FI*//*IF*/if ((R)==((void*)(NULL))) { r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_604); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*FI*/return R; } /*No:SMALL_EIFFEL.fatal_error*/ T0* r604load_class(T604* C,T0* a1){ T0* R=NULL; /*IF*/if (r604parser_buffer_for(C,a1)) { R=r818analyse_class(((T818*)(oBC364eiffel_parser)),NULL); /*IF*/if ((R)==((void*)(NULL))) { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_604); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} else { /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_604); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/return R; } /*No:SMALL_EIFFEL.us_native_array*/ /*No:SMALL_EIFFEL.us_fixed_array*/ /*No:SMALL_EIFFEL.afd_check*/ /*No:SMALL_EIFFEL.us_any*/ T0*oBC604base_class_dictionary=NULL; int r604is_tagged(T0* a1){ int R=0; T0* _rc2=NULL; T0* _rcd=NULL; T0* _r=NULL; int _up=0; int _i=0; _i=1; _rcd=oBC604run_class_dictionary; _up=(((T250*)((T250*)_rcd)))->_count/*40*/; while (!((R)||((_i)>(_up)))) { _rc2=r250item(((T250*)_rcd),_i); _r=(((T355*)((T355*)_rc2)))->_running/*12*/; /*IF*/if ((_r)==((void*)(NULL))) { } else if (r396fast_has(((T396*)_r),a1)) { R=(r396count(((T396*)_r)))>(1); } /*FI*/_i=(_i)+(1); } return R; } T0*oBC431isa_dca_inline_memory=NULL; int r431isa_dca_inline(T431* C,T0* a1,T0* a2){ int R=0; int _r=0; int _i=0; T0* _e=NULL; T0* _args=NULL; T0* _relay_args=NULL; _relay_args=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); _args=/*X496*/((T0*)(((T832*)((T832*)a2)))->_arguments/*20*/); R=1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); r353force(((T353*)(oBC431isa_dca_inline_memory)),0,_i); /*[IRF3.6clear_all*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory)); int __value=0; /*[IRF3.6set_all_with*/{T353* C2=C1; int c1=__value; r541set_all_with((((T353*)C2))->_storage/*0*/,c1,((((T353*)C2))->_upper/*8*/)-((((T353*)C2))->_lower/*12*/)); }/*]*/ }/*]*/ while (!((!(R))||((_i)==(0)))) { _e=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),_i)); _r=X662isa_dca_inline_argument(_e); {int z1=_r; if((0==z1)){ R=0; } else if((-1==z1)){ /*IF*/if (X291is_expanded(r31type(((T31*)_args),_i))) { R=X291is_expanded(X662result_type(_e)); } else { R=X291is_reference(X662result_type(_e)); } /*FI*/} else{/*[IRF3.6put*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory)); int b1=1; int b2=_r; ((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1); }/*]*/ /*IF*/if (X291is_reference(r31type(((T31*)_relay_args),_r))) { /*IF*/if (X291is_reference(r31type(((T31*)_args),_i))) { R=X291is_reference(X662result_type(_e)); } else { R=0; } /*FI*/} else if (X291is_expanded(r31type(((T31*)_args),_i))) { R=X291is_expanded(X662result_type(_e)); } else { R=0; } /*FI*/}} _i=(_i)-(1); } /*IF*/if (R) { _i=X496arg_count(a1); while (!((!(R))||((_i)==(0)))) { R=r353item(((T353*)(oBC431isa_dca_inline_memory)),_i); _i=(_i)-(1); } } /*FI*/return R; } int r431is_like_argument(T431* C,T0* a1,T0* a2,T0* a3){ int R=0; T0* _ot=NULL; T0* _tla=NULL; _tla=a3; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { R=1; _ot=X662result_type(r431expression(C,/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*20*//*)*/)); /*IF*/if (!(X291is_a(X291run_type(a2),X291run_type(_ot)))) { r683add_position(X662start_position(a1)); r431error(X291start_position(a3),((T0*)ms12_431)); } /*FI*/} /*FI*/return R; } void r431match_with(T431* C,T0* a1){ T0* _ft=NULL; T0* _at=NULL; T0* _e=NULL; int _i=0; T0* _fal=NULL; _fal=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/); /*IF*/if ((_fal)==((void*)(NULL))) { r683add_position(X496start_position(a1)); r431error(r431start_position(C),((T0*)ms14_431)); } /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(r431count(C)))) { r683add_position((((T31*)((T31*)_fal)))->_start_position/*4*/); r431error(r431start_position(C),((T0*)ms14_431)); } /*FI*/_i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),_i)); _at=X662result_type(_e); _ft=r31type(((T31*)_fal),_i); /*IF*/if (X662is_void(_e)) { /*IF*/if (X291is_expanded(_ft)) { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms2_431)); } /*FI*/} else if (X291is_like_current(_ft)) { /*IF*/if (X662is_current(_e)) { } else if (X291is_a(X291run_type(_at),X291run_type(_ft))) { /*IF*/if (X291is_expanded(X291run_type(_at))) { } else if (X291is_a(X291run_type(_ft),X291run_type(_at))) { } else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms13_431)); } /*FI*/} else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms13_431)); } /*FI*/} else if (X291is_like_feature(_ft)) { /*IF*/if (X291is_a(X291run_type(_at),X291run_type(_ft))) { } else { r683add_position(X662start_position(_e)); r431error(X291start_position(_ft),((T0*)ms3_431)); } /*FI*/} else if (r431is_like_argument(C,_e,_at,_ft)) { } else if (X291is_a(X291run_type(_at),X291run_type(_ft))) { } else { r683print_as_error(((T683*)(oBC364eh))); r683add_position(X291start_position(_ft)); r431error(X662start_position(_e),((T0*)ms4_431)); } /*FI*/_at=X291run_type(_at); _ft=X291run_type(_ft); /*IF*/if (X291is_expanded(_ft)) { /*IF*/if (X291is_expanded(_at)) { } else { X291used_as_reference(_ft); } /*FI*/} else if (X291is_expanded(_at)) { X291used_as_reference(_at); } /*FI*/_i=(_i)-(1); } } /*No:EFFECTIVE_ARG_LIST.make*/ /*No:EFFECTIVE_ARG_LIST.nb_errors*/ T0* r431expression(T431* C,int a1){ T0* R=NULL; R=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),a1)); return R; } T0* r431start_position(T431* C){ T0* R=NULL; R=X662start_position(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),1))); return R; } void r431compile_to_c(T431* C,T0* a1){ int _up=0; int _i=0; _i=1; _up=r431count(C); while (!((_i)>(_up))) { r431compile_to_c_ith(C,a1,_i); _i=(_i)+(1); /*IF*/if ((_i)<=(_up)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} } T0* r431to_runnable(T431* C,T0* a1){ T0* R=NULL; T0* _e2=NULL; T0* _e1=NULL; int _i=0; /*IF*/if (((((T431*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); while (!((_i)==(0))) { _e1=/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),_i)); _e2=X662to_runnable(_e1,(((T431*)C))->_current_type/*8*/); /*IF*/if ((_e2)==((void*)(NULL))) { r431error(X662start_position(_e1),((T0*)ms5_431)); } else if ((_e1)!=((void*)(_e2))) { /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T431*)C))->_list/*4*/)); T0* b1=_e2; int b2=_i; ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)-(1); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else if ((X291run_class(a1))==((void*)(r431run_class(C)))) { R=(T0*)C; } else { {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(X96twin((((T431*)C))->_list/*4*/)); /*]*/ R=(T0*)n; } R=X431to_runnable(R,a1); } /*FI*/return R; } void r431compile_to_c_ith(T431* C,T0* a1,int a2){ T0* _ft=NULL; T0* _e=NULL; _e=r431expression(C,a2); _ft=X291run_type(r31type(((T31*)a1),a2)); X662mapping_c_arg(_e,_ft); } int r431is_static(T431* C){ int R=0; int _i=0; R=1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); while (!((!(R))||((_i)==(0)))) { R=X662is_static(r431expression(C,_i)); _i=(_i)-(1); } return R; } /*No:EFFECTIVE_ARG_LIST.em1*/ /*No:EFFECTIVE_ARG_LIST.list*/ /*No:EFFECTIVE_ARG_LIST.em2*/ void r431dca_inline_ith(T431* C,T0* a1,int a2){ T0* _ft=NULL; T0* _e=NULL; _e=r431expression(C,a2); _ft=X291run_type(r31type(((T31*)a1),a2)); X662dca_inline_argument(_e,_ft); } int r431can_be_dropped(T431* C){ int R=0; int _i=0; R=1; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); while (!((!(R))||((_i)==(0)))) { R=X662can_be_dropped(r431expression(C,_i)); _i=(_i)-(1); } return R; } /*No:EFFECTIVE_ARG_LIST.current_type*/ T0* r431run_class(T431* C){ T0* R=NULL; R=X291run_class((((T431*)C))->_current_type/*8*/); return R; } void r431compile_to_c_old(T431* C){ int _i=0; /*IF*/if (((((T431*)C))->_list/*4*/)!=((void*)(NULL))) { _i=1; while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/)))) { X662compile_to_c_old(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),_i))); _i=(_i)+(1); } } /*FI*/} int r431is_pre_computable(T431* C){ int R=0; int _i=0; _i=r431count(C); R=1; while (!((!(R))||((_i)==(0)))) { R=X662is_pre_computable(r431expression(C,_i)); _i=(_i)-(1); } return R; } int r431use_current(T431* C){ int R=0; int _i=0; _i=1; while (!(((_i)>(r431count(C)))||(R))) { R=X662use_current(r431expression(C,_i)); _i=(_i)+(1); } return R; } void r431dca_inline(T431* C,T0* a1){ int _up=0; int _i=0; _up=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); _i=1; while (!((_i)>(_up))) { r431dca_inline_ith(C,a1,_i); _i=(_i)+(1); /*IF*/if ((_i)<=(_up)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\54'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} } void r431error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r431count(T431* C){ int R=0; R=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); return R; } T0* r431first(T431* C){ T0* R=NULL; R=X96first((((T431*)C))->_list/*4*/); return R; } void r431afd_check(T431* C){ int _i=0; _i=/*X96*/((int)(((T96*)((T96*)((((T431*)C))->_list/*4*/))))->_upper/*12*/); while (!((_i)==(0))) { X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T431*)C))->_list/*4*/)),_i))); _i=(_i)-(1); } } T0* r873add_comment(T873* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } else { {T529*n=malloc(sizeof(*n)); *n=M529; r529make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } int r873to_integer(T873* C){ int R=0; r873error((((T873*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } int r873is_a(T873* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T873*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T873*)C))->_start_position/*16*/); r873error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } void r873name_clash(T873* C){ T0* _rc=NULL; T0* _rf=NULL; /*IF*/if (r605has_feature(((T605*)(r873base_class_written(C))),(((T873*)C))->_to_string/*12*/)) { _rc=X291run_class((((T873*)C))->_current_type/*8*/); _rf=r355get_feature_with(((T355*)_rc),(((T873*)C))->_to_string/*12*/); /*IF*/if ((_rf)!=((void*)(NULL))) { r683add_position(X496start_position(_rf)); } /*FI*/r873error((((T873*)C))->_start_position/*16*/,((T0*)ms1_873)); } /*FI*/} /*No:ARGUMENT_NAME1.is_current*/ void r873mapping_c_arg(T873* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type((((T873*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/); } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r324print_argument(((T324*)(oBC364cpp)),(((T873*)C))->_rank/*20*/); } /*FI*/} /*FI*/} T0* r873written_in(T873* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T873*)C))->_start_position/*16*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/; } /*FI*/return R; } /*No:ARGUMENT_NAME1.static_value*/