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:TYPE_POINTER.id*/ int r900has_creation(T900* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r900error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T900*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84)); return R; } /*No:TYPE_POINTER.is_anchored*/ /*No:TYPE_POINTER.is_array*/ /*No:TYPE_POINTER.fz_typedef*/ int r900is_a(T900* C,T0* a1){ int R=0; /*IF*/if (X291is_pointer(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r900base_class(C))),X291base_class(a1)); /*IF*/if (R) { r900used_as_reference(); } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms1_900)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_POINTER.c_initialize_in*/ void r900c_type_for_argument_in(T0* a1){ r7append(((T7*)a1),((T0*)ms133_470)); r7extend(((T7*)a1),'\52'); } void r900gc_call_new_in(T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(8,a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } int r900space_for_pointer(void){ int R=0; void* _p=0; R=sizeof(T8); return R; } /*No:TYPE_POINTER.run_type*/ /*No:TYPE_POINTER.is_pointer*/ /*No:TYPE_POINTER.is_dummy_expanded*/ /*No:TYPE_POINTER.is_string*/ /*No:TYPE_POINTER.space_for_variable*/ /*No:TYPE_POINTER.is_like_feature*/ /*No:TYPE_POINTER.is_like_current*/ void r900make(T900* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms21_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_POINTER.nb_errors*/ /*No:TYPE_POINTER.us_item*/ void r900load_ref(T0* a1){ T0* _rf=NULL; T0* _rc=NULL; T0* _cn=NULL; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,a1,NULL); _cn=(T0*)n; } _rc=r605run_class(((T605*)(r451base_class(((T451*)_cn))))); r355set_at_run_time(((T355*)_rc)); _rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473)); } /*No:TYPE_POINTER.us_pointer*/ int fBC900check_type=0; void r900check_type(T900* C){ if (fBC900check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC900check_type=1; _bc=r900base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r900run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) { r900error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T900*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms3_900)); } /*FI*/} /*FI*/}} int fBC364type_pointer_ref=0; T0*oBC364type_pointer_ref=NULL; T0* r900type_pointer_ref(void){ if (fBC364type_pointer_ref==0){ T0* R=NULL; T0* _pointer_ref=NULL; fBC364type_pointer_ref=1; {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms22_473),NULL); _pointer_ref=(T0*)n; } {T657*n=malloc(sizeof(*n)); *n=M657; /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_pointer_ref); /*]*/ R=(T0*)n; } oBC364type_pointer_ref=R;} return oBC364type_pointer_ref;} /*No:TYPE_POINTER.mapping_cast*/ /*No:TYPE_POINTER.start_position*/ /*No:TYPE_POINTER.c_type_for_target_in*/ /*No:TYPE_POINTER.fz_gc_mark*/ /*No:TYPE_POINTER.gc_initialize*/ /*No:TYPE_POINTER.fz_00*/ /*No:TYPE_POINTER.is_character*/ /*No:TYPE_POINTER.is_user_expanded*/ T0* r900written_mark(void){ T0* R=NULL; R=((T0*)ms21_473); return R; } /*No:TYPE_POINTER.is_run_type*/ T0* r900to_runnable(T900* C,T0* a1){ T0* R=NULL; R=(T0*)C; r900check_type(C); return R; } void r900c_type_for_external_in(T0* a1){ /*IF*//*AF*//*AE*/ /*[IRF3.6c_type_for_result_in*/{T0* b1=a1; r900c_type_for_argument_in(b1); }/*]*/ /*FI*/} T0* r900generic_list(T900* C){ T0* R=NULL; r900fatal_error_generic_list(C); return R; } /*No:TYPE_POINTER.is_formal_generic*/ void r900demangling_in(T0* a1){ /*IF*//*AF*//*AE*/ r7extend(((T7*)a1),'E'); /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r900run_time_mark()); } /*No:TYPE_POINTER.is_real*/ /*No:TYPE_POINTER.us_pointer_ref*/ /*No:TYPE_POINTER.is_bit*/ void r900fatal_error_generic_list(T900* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_POINTER.fz_new*/ T0* r900smallest_ancestor(T900* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_pointer(_rto)) { R=(T0*)C; } else { R=r657smallest_ancestor(((T657*)(r900type_pointer_ref())),_rto); } /*FI*/return R; } /*No:TYPE_POINTER.is_boolean*/ /*No:TYPE_POINTER.is_double*/ T0* r900run_class(T900* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r900run_time_mark(void){ T0* R=NULL; R=((T0*)ms21_473); return R; } /*No:TYPE_POINTER.c_initialize*/ /*No:TYPE_POINTER.cast_to_ref*/ void r900gc_mark_in(T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(8,a1); } int r900is_a_in(T900* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r900written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=r900to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r900look_up_for(T900* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r900base_class(C))),a1,a2); return R; } /*No:TYPE_POINTER.c_header_pass1*/ /*No:TYPE_POINTER.c_type_for_result_in*/ /*No:TYPE_POINTER.expanded_initializer*/ /*No:TYPE_POINTER.fz_void*/ /*No:TYPE_POINTER.fz_dot*/ /*No:TYPE_POINTER.is_generic*/ int fBC900used_as_reference=0; void r900used_as_reference(void){ if (fBC900used_as_reference==0){ fBC900used_as_reference=1; r900load_ref(((T0*)ms22_473)); }} /*No:TYPE_POINTER.c_header_pass2*/ /*No:TYPE_POINTER.gc_define1*/ /*No:TYPE_POINTER.need_c_struct*/ /*No:TYPE_POINTER.is_reference*/ /*No:TYPE_POINTER.gc_info_in*/ void r900error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r900base_class(T900* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T900*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_POINTER.call_gc_sweep_in*/ /*No:TYPE_POINTER.gc_define2*/ /*No:TYPE_POINTER.need_gc_mark_function*/ /*No:TYPE_POINTER.is_any*/ /*No:TYPE_POINTER.to_reference*/ /*No:TYPE_POINTER.c_header_pass3*/ /*No:TYPE_POINTER.base_class_name*/ /*No:TYPE_POINTER.is_expanded*/ /*No:TYPE_POINTER.is_basic_eiffel_expanded*/ /*No:TYPE_POINTER.is_none*/ /*No:TYPE_POINTER.to_expanded*/ /*No:TYPE_POINTER.is_integer*/ /*No:TYPE_POINTER.c_header_pass4*/ /*No:E_WHEN.when_list*/ void r843add_when_item_1(T843* C,T0* a1){ int _v=0; _v=(((T349*)((T349*)a1)))->_expression_value/*12*/; /*IF*/if (/*(IRF4.6includes*/r377includes_integer(((T377*)((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_when_list/*16*/)),_v)/*)*/) { r843err_occ(C,_v,r349start_position(((T349*)a1))); } else if (((((T843*)C))->_values/*20*/)==((void*)(NULL))) { {T353*n=malloc(sizeof(*n)); *n=M353; r353make(n,_v,_v); C->_values=(T0*)n; } /*[IRF3.6put*/{T353* C1=((T353*)((((T843*)C))->_values/*20*/)); int b1=1; int b2=_v; ((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1); }/*]*/ } else { r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_v); } /*FI*/} T0* r843to_runnable_integer(T843* C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (((((T843*)C))->_when_list/*16*/)==((void*)(NULL))) { _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; C->_when_list=a1; /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); r843error((((T843*)C))->_start_position/*0*/,((T0*)ms12_843)); } else { _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!(((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))||(((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))>(0)))) { _when_item=X274to_runnable_integer(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i)),(T0*)C); /*IF*/if ((_when_item)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } else { /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T843*)C))->_compound/*12*/)),/*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*/); /*IF*/if (((((T843*)C))->_compound/*12*/)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,(T0*)C); R=(T0*)n; } R=r843to_runnable_integer(((T843*)R),a1); } /*FI*/return R; } void r843make(T843* C,T0* a1,T0* a2){ C->_start_position=a1; C->_header_comment=a2; } /*No:E_WHEN.nb_errors*/ void r843add_when_item_2(T843* C,T0* a1){ int _i=0; int _u=0; int _l=0; _l=(((T372*)((T372*)a1)))->_lower_value/*20*/; _u=(((T372*)((T372*)a1)))->_upper_value/*16*/; /*IF*/if ((_l)>=(_u)) { r843error(r372start_position(((T372*)a1)),((T0*)ms8_843)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _i=_l; while (!((_i)>(_u))) { /*IF*/if (/*(IRF4.6includes*/r377includes_integer(((T377*)((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_when_list/*16*/)),_i)/*)*/) { r843err_occ(C,_i,r372start_position(((T372*)a1))); _i=(_u)+(1); } else { _i=(_i)+(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T843*)C))->_values/*20*/)==((void*)(NULL))) { {T353*n=malloc(sizeof(*n)); *n=M353; r353make(n,_l,_u); C->_values=(T0*)n; } /*[IRF3.6set_all_with*/{T353* C1=((T353*)((((T843*)C))->_values/*20*/)); int b1=1; r541set_all_with((((T353*)C1))->_storage/*0*/,b1,((((T353*)C1))->_upper/*8*/)-((((T353*)C1))->_lower/*12*/)); }/*]*/ } else { r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_l); r353force(((T353*)((((T843*)C))->_values/*20*/)),1,_u); r353set_slice_with(((T353*)((((T843*)C))->_values/*20*/)),1,_l,_u); } /*FI*/} /*FI*/} void r843from_e_when(T843* C,T0* a1){ T0* _when_item=NULL; int _i=0; C->_start_position=(((T843*)((T843*)a1)))->_start_position/*0*/; C->_list=X631twin((((T843*)((T843*)a1)))->_list/*4*/); _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))) { _when_item=X274twin(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i))); /*X274*//*[IRF3.3clear_e_when*/((((T349*)(((T349*)_when_item))))->_e_when)=(NULL); /*]*/ /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ _i=(_i)+(1); } C->_header_comment=(((T843*)((T843*)a1)))->_header_comment/*8*/; C->_compound=(((T843*)((T843*)a1)))->_compound/*12*/; } /*No:E_WHEN.values*/ /*No:E_WHEN.start_position*/ void r843compile_to_c(T843* C){ int _bs=0; int _bi=0; /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_843)); /*]*/ _bi=(((T353*)((T353*)((((T843*)C))->_values/*20*/))))->_lower/*12*/; while (!((_bi)>((((T353*)((T353*)((((T843*)C))->_values/*20*/))))->_upper/*8*/))) { _bs=(_bi)+(1); while (!(((_bs)>((((T353*)((T353*)((((T843*)C))->_values/*20*/))))->_upper/*8*/))||(!(r353item(((T353*)((((T843*)C))->_values/*20*/)),_bs))))) { _bs=(_bs)+(1); } _bs=(_bs)-(1); /*[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 ((_bi)==(_bs)) { /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_bi); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_843)); /*]*/ r324put_inspect(((T324*)(oBC364cpp))); } else { /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_bi); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_843)); /*]*/ r324put_inspect(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_843)); /*]*/ r324put_inspect(((T324*)(oBC364cpp))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms5_843)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_bs); /*]*/ /*[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*//*[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*/))); }/*]*/ /*]*/ _bi=(_bs)+(1); while (!(((_bi)>((((T353*)((T353*)((((T843*)C))->_values/*20*/))))->_upper/*8*/))||(r353item(((T353*)((((T843*)C))->_values/*20*/)),_bi)))) { _bi=(_bi)+(1); } /*IF*/if ((_bi)<=((((T353*)((T353*)((((T843*)C))->_values/*20*/))))->_upper/*8*/)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms6_843)); /*]*/ } /*FI*/} /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms7_843)); /*]*/ /*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { r592compile_to_c(((T592*)((((T843*)C))->_compound/*12*/))); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ } /*No:E_WHEN.fz_12*/ void r843err_occ(T843* C,int a1,T0* a2){ r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms9_843); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=r2to_string(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r843error(a2,((T0*)ms10_843)); } /*No:E_WHEN.em1*/ /*No:E_WHEN.list*/ /*No:E_WHEN.em2*/ /*No:E_WHEN.set_compound*/ void r843add_value(T843* C,T0* a1){ T0* _element=NULL; {T349*n=malloc(sizeof(*n)); *n=M349; /*[IRF3.3make*/((((T349*)(n)))->_expression)=(a1); /*]*/ _element=(T0*)n; } /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma247(1,_element); } else { X631add_last((((T843*)C))->_list/*4*/,_element); } /*FI*/} /*No:E_WHEN.current_type*/ /*No:E_WHEN.compound*/ /*No:E_WHEN.header_comment*/ int r843use_current(T843* C){ int R=0; /*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { R=r592use_current(((T592*)((((T843*)C))->_compound/*12*/))); } /*FI*/return R; } void r843error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r843includes_integer(T843* C,int a1){ int R=0; R=((((((T843*)C))->_values/*20*/)!=((void*)(NULL)))&&(r353valid_index(((T353*)((((T843*)C))->_values/*20*/)),a1)))&&(r353item(((T353*)((((T843*)C))->_values/*20*/)),a1)); return R; } T0* r843to_runnable_character(T843* C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (((((T843*)C))->_when_list/*16*/)==((void*)(NULL))) { _ne=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/; C->_when_list=a1; /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { r683add_position((((T270*)((T270*)(/*(IRF4.6e_inspect*/(((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*//*)*/))))->_start_position/*8*/); r843error((((T843*)C))->_start_position/*0*/,((T0*)ms12_843)); } else { _i=/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_lower/*16*/); while (!(((_i)>(/*X631*/((int)(((T247*)((T247*)((((T843*)C))->_list/*4*/))))->_upper/*12*/)))||(((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_ne))>(0)))) { _when_item=X274to_runnable_character(/*X631*/((T0*)r247item(((T247*)((((T843*)C))->_list/*4*/)),_i)),(T0*)C); /*IF*/if ((_when_item)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } else { /*X631*//*[IRF3.6put*/{T247* C1=((T247*)((((T843*)C))->_list/*4*/)); T0* b1=_when_item; int b2=_i; ((((T247*)C1))->_storage/*4*/)[(b2)-((((T247*)C1))->_lower/*16*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T843*)C))->_compound/*12*/)),/*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)C))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*/); /*IF*/if (((((T843*)C))->_compound/*12*/)==((void*)(NULL))) { r843error((((T843*)C))->_start_position/*0*/,((T0*)ms11_843)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,(T0*)C); R=(T0*)n; } R=r843to_runnable_character(((T843*)R),a1); } /*FI*/return R; } void r843add_slice(T843* C,T0* a1,T0* a2){ T0* _element=NULL; {T372*n=malloc(sizeof(*n)); *n=M372; r372make(n,a1,a2); _element=(T0*)n; } /*IF*/if (((((T843*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma263(1,_element); } else { X631add_last((((T843*)C))->_list/*4*/,_element); } /*FI*/} void r843afd_check(T843* C){ /*IF*/if (((((T843*)C))->_compound/*12*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T843*)C))->_compound/*12*/))); } /*FI*/} /*No:E_WHEN.e_inspect*/ void r673get_started(T673* C){ T0* _p2=NULL; T0* _p1=NULL; int _i2=0; int _i1=0; _i1=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i1)==(0))) { r877get_started(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i1))),(T0*)C); _i1=(_i1)-(1); } /*IF*/if (((((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/)>(1)) { _i2=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i2)==(1))) { _i1=1; while (!((_i1)==(_i2))) { _p1=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i1); _p2=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i2); r877multiple_check(((T877*)_p1),_p2); r877multiple_check(((T877*)_p2),_p1); _i1=(_i1)+(1); } _i2=(_i2)-(1); } } /*FI*/} int r673has_parent(T673* C,T0* a1){ int R=0; T0* _bc=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _bc=X291base_class((((T877*)((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i)))))->_type/*4*/); /*IF*/if ((a1)==((void*)(_bc))) { R=1; _i=0; } else if (r605is_subclass_of_aux(((T605*)_bc),a1)) { R=1; _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } /*No:PARENT_LIST.fz_cnf*/ void r673make(T673* C,T0* a1,T0* a2,T0* a3,T0* a4){ C->_base_class=a1; C->_heading_comment=a3; C->_start_position=a2; C->_list=a4; } /*No:PARENT_LIST.start_position*/ T0* r673next_parent_for(T673* C,T0* a1,T0* a2){ T0* R=NULL; T0* _pbc=NULL; int _i=0; _i=1; while (!((R)==((void*)(a2)))) { R=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _i=(_i)+(1); } R=NULL; while (!(((R)!=((void*)(NULL)))||((_i)>(r26count(((T26*)((((T673*)C))->_list/*12*/))))))) { R=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _pbc=X291base_class((((T877*)((T877*)R)))->_type/*4*/); /*IF*/if ((_pbc)==((void*)(a1))) { } else if (r605is_subclass_of(((T605*)_pbc),a1)) { } else { R=NULL; } /*FI*/_i=(_i)+(1); } return R; } T0* r673first_parent_for(T673* C,T0* a1){ T0* R=NULL; T0* _pbc=NULL; int _i=0; _i=1; while (!((R)!=((void*)(NULL)))) { R=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _pbc=X291base_class((((T877*)((T877*)R)))->_type/*4*/); /*IF*/if ((_pbc)==((void*)(a1))) { } else if (r605is_subclass_of(((T605*)_pbc),a1)) { } else { R=NULL; } /*FI*/_i=(_i)+(1); } return R; } void r673inherit_cycle_check(T673* C){ T0* _bc=NULL; T0* _p=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _bc=X291base_class((((T877*)((T877*)_p)))->_type/*4*/); /*IF*/if ((_bc)==((void*)(NULL))) { r683add_position(r877start_position(((T877*)_p))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms66_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { r605inherit_cycle_check(((T605*)_bc)); } /*FI*/_i=(_i)-(1); } } /*No:PARENT_LIST.em1*/ /*No:PARENT_LIST.list*/ T0* r673up_to_original(T673* C,T0* a1,T0* a2){ T0* R=NULL; int _i=0; T0* _new_fn=NULL; T0* _fn2=NULL; T0* _fn1=NULL; T0* _p2=NULL; T0* _p1=NULL; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_i)==(0))||((_fn1)!=((void*)(NULL))))) { _p1=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _fn1=r877up_to_original(((T877*)_p1),a1,a2); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _fn2=r877up_to_original(((T877*)_p2),a1,a2); /*IF*/if ((_fn2)!=((void*)(NULL))) { _new_fn=r877do_rename(((T877*)_p2),a2); /*IF*/if (r877has_select_for(((T877*)_p2),_new_fn)) { _p1=_p2; _fn1=_fn2; } /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if ((_fn1)!=((void*)(NULL))) { /*IF*/if ((X776to_string(_fn1))!=((void*)(X776to_string(a2)))) { R=r673repeated_inheritance(C,_p1,_fn1,a2); } else { R=_fn1; } /*FI*/} /*FI*/return R; } void r673collect_invariant(T673* C,T0* a1){ int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { r605collect_invariant(((T605*)(X291base_class((((T877*)((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i)))))->_type/*4*/))),a1); _i=(_i)-(1); } } T0* r673smallest_ancestor(T673* C,T0* a1){ T0* R=NULL; T0* _sa=NULL; T0* _p=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _sa=X291run_type(r877smallest_ancestor(((T877*)_p),a1)); /*IF*/if ((R)==((void*)(NULL))) { R=_sa; } else { R=X291smallest_ancestor(_sa,R); } /*FI*//*IF*/if (X291is_any(R)) { _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } int r673has(T673* C,T0* a1){ int R=0; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r877has(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i))),a1); _i=(_i)-(1); } return R; } int r673has_redefine(T673* C,T0* a1){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/)))) { R=r877has_redefine(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i))),a1); _i=(_i)+(1); } return R; } T0* r673look_up_for(T673* C,T0* a1,T0* a2){ T0* R=NULL; T0* _f2=NULL; T0* _f1=NULL; T0* _p2=NULL; T0* _p1=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_f1)!=((void*)(NULL)))||((_i)==(0)))) { _p1=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _f1=r877look_up_for(((T877*)_p1),a1,a2); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _f2=r877look_up_for(((T877*)_p2),a1,a2); /*IF*/if ((_f2)==((void*)(NULL))) { } else if ((_f1)==((void*)(_f2))) { } else if (!(X359is_merge_with(_f2,_f1,a1))) { r683add_position((((T673*)C))->_start_position/*4*/); r683add_position(X359start_position(_f1)); r683add_position(X359start_position(_f2)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms70_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (X359is_deferred(_f2)) { } else if (X359is_deferred(_f1)) { _f1=_f2; _p1=_p2; } else if (r877has_redefine(((T877*)_p1),a2)) { /*IF*/if (r877has_redefine(((T877*)_p2),a2)) { } else { r683add_position(X776start_position(a2)); r683add_position(r877start_position(((T877*)_p2))); r683add_position(X359start_position(_f2)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_673); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/} else if (r877has_redefine(((T877*)_p2),a2)) { r683add_position(X776start_position(a2)); r683add_position(r877start_position(((T877*)_p1))); r683add_position(X359start_position(_f1)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_673); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } else { r683add_position(r877start_position(((T877*)_p2))); r683add_position(r877start_position(((T877*)_p1))); r683add_position(X359start_position(_f1)); r683add_position(X359start_position(_f2)); /*[IRF3.6append*/{T0* b1=((T0*)ms2_673); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/_i=(_i)-(1); } R=_f1; return R; } T0* r673repeated_inheritance(T673* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _bc1=NULL; T0* _p2=NULL; int _i=0; _bc1=X291base_class((((T877*)((T877*)a1)))->_type/*4*/); _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _p2=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); /*IF*/if ((a1)!=((void*)(_p2))) { /*IF*/if ((_bc1)==((void*)(X291base_class((((T877*)((T877*)_p2)))->_type/*4*/)))) { /*IF*/if ((X776to_string(r877do_rename(((T877*)_p2),a2)))==((void*)(X776to_string(a3)))) { R=a3; } else if ((X776to_string(r877do_rename(((T877*)a1),a2)))==((void*)(X776to_string(a3)))) { R=a3; } /*FI*/} /*FI*/} /*FI*/_i=(_i)-(1); } /*IF*/if ((R)==((void*)(NULL))) { R=a2; } /*FI*/return R; } /*No:PARENT_LIST.super*/ T0* r673clients_for(T673* C,T0* a1){ T0* R=NULL; T0* _cl=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((_i)==(0))) { _cl=r877clients_for(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i))),a1); /*IF*/if ((R)==((void*)(NULL))) { R=_cl; } else if ((_cl)!=((void*)(NULL))) { R=r636append(((T636*)R),_cl); } /*FI*//*IF*/if (((R)!=((void*)(NULL)))&&(r636gives_permission_to_any(((T636*)R)))) { _i=0; } else { _i=(_i)-(1); } /*FI*/} return R; } T0* r673going_up(T673* C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _fn2=NULL; T0* _fn1=NULL; T0* _p2=NULL; T0* _p1=NULL; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!(((_fn1)!=((void*)(NULL)))||((_i)==(0)))) { _p1=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _fn1=r877going_up(((T877*)_p1),a1,a2,a3); _i=(_i)-(1); } while (!((_i)==(0))) { _p2=r26item(((T26*)((((T673*)C))->_list/*12*/)),_i); _fn2=r877going_up(((T877*)_p2),a1,a2,a3); /*IF*/if ((_fn2)!=((void*)(NULL))) { /*IF*/if (r877has_select_for(((T877*)_p2),_fn2)) { _p1=_p2; _fn1=_fn2; } /*FI*/} /*FI*/_i=(_i)-(1); } R=_fn1; return R; } int r673is_a_vncg(T673* C,T0* a1,T0* a2){ int R=0; int _i=0; _i=(((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/; while (!((R)||((_i)==(0)))) { R=r877is_a_vncg(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i))),a1,a2); _i=(_i)-(1); } return R; } void r673collect_for(T673* C,int a1,T0* a2){ int _i=0; _i=1; while (!((_i)>((((T26*)((T26*)((((T673*)C))->_list/*12*/))))->_upper/*8*/))) { r877collect_for(((T877*)(r26item(((T26*)((((T673*)C))->_list/*12*/)),_i))),a1,a2); _i=(_i)+(1); } } /*No:PARENT_LIST.heading_comment*/ /*No:PARENT_LIST.count*/ /*No:PARENT_LIST.base_class*/ /*No:PARENT_LIST.fatal_error*/ /*No:PARENT_LIST.fz_ich*/ /*No:CECIL_POOL.us_print*/ /*No:CECIL_POOL.se_cecil_list*/ void r625fill_up(T625* C){ int _i=0; T0* _rf=NULL; T0* _fna=NULL; T0* _rta=NULL; T0* _t=NULL; /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { {T321*n=malloc(sizeof(*n)); *n=M321; r321with_capacity(n,1); C->_se_cecil_list=(T0*)n; } {T927*n=malloc(sizeof(*n)); *n=M927; r927with_capacity(n,1); C->_se_cecil_name=(T0*)n; } r927add_last(((T927*)((((T625*)C))->_se_cecil_name/*4*/)),((T0*)ms1_625)); _rf=r355get_feature_with(((T355*)(r669run_class(((T669*)(r625type_any()))))),((T0*)ms101_473)); X321add_last((((T625*)C))->_se_cecil_list/*0*/,_rf); r576update_with(_rf); } /*FI*//*IF*/if (((((T590*)((T590*)(oBC364run_control))))->_cecil_path/*12*/)!=((void*)(NULL))) { {T321*n=malloc(sizeof(*n)); *n=M321; r321with_capacity(n,4); C->_user_cecil_list=(T0*)n; } {T927*n=malloc(sizeof(*n)); *n=M927; r927with_capacity(n,4); C->_user_cecil_name=(T0*)n; } C->_user_path_h=r818connect_to_cecil(((T818*)(oBC364eiffel_parser))); {T272*n=malloc(sizeof(*n)); *n=M272; r272with_capacity(n,4); _rta=(T0*)n; } {T719*n=malloc(sizeof(*n)); *n=M719; r719with_capacity(n,4); _fna=(T0*)n; } while (!(r818end_of_input(((T818*)(oBC364eiffel_parser))))) { r927add_last(((T927*)((((T625*)C))->_user_cecil_name/*12*/)),r818parse_c_name(((T818*)(oBC364eiffel_parser)))); X272add_last(_rta,r818parse_run_type(((T818*)(oBC364eiffel_parser)))); r719add_last(((T719*)_fna),r818parse_feature_name(((T818*)(oBC364eiffel_parser)))); } r818disconnect(((T818*)(oBC364eiffel_parser))); r306put_string(((T306*)(oBC364echo)),((T0*)ms2_625)); _i=0; while (!((_i)>(/*X272*/((int)(((T272*)((T272*)_rta)))->_upper/*12*/)))) { _t=X291to_runnable(/*X272*/((T0*)r272item(((T272*)_rta),_i)),r625type_any()); _rf=r355get_feature(((T355*)(X291run_class(_t))),/*(IRF4.6item*/((((T719*)((T719*)_fna)))->_storage/*0*/)[_i]/*)*/); X321add_last((((T625*)C))->_user_cecil_list/*8*/,_rf); r576update_with(_rf); _i=(_i)+(1); } } /*FI*/} T0* r625type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} /*No:CECIL_POOL.fz_00*/ /*No:CECIL_POOL.user_path_h*/ /*No:CECIL_POOL.fz_12*/ /*No:CECIL_POOL.user_cecil_list*/ T0*oBC625tmp_string=NULL; /*No:CECIL_POOL.user_cecil_name*/ /*No:CECIL_POOL.fz_void*/ /*No:CECIL_POOL.se_cecil_name*/ void r625c_define_for_list(T0* a1,T0* a2){ int _i=0; _i=/*X321*/((int)(((T321*)((T321*)a1)))->_upper/*12*/); while (!((_i)<(0))) { r625c_define_for(/*(IRF4.6item*/((((T927*)((T927*)a2)))->_storage/*0*/)[_i]/*)*/,/*X321*/((T0*)r321item(((T321*)a1),_i))); _i=(_i)-(1); } } void r625c_define_users(T625* C){ /*IF*/if (((((T625*)C))->_user_cecil_list/*8*/)!=((void*)(NULL))) { r306put_string(((T306*)(oBC364echo)),((T0*)ms4_625)); r324connect_cecil_out_h(((T324*)(oBC364cpp)),(((T625*)C))->_user_path_h/*16*/); r625c_define_for_list((((T625*)C))->_user_cecil_list/*8*/,(((T625*)C))->_user_cecil_name/*12*/); /*[IRF3.5disconnect_cecil_out_h*/r544disconnect(((T544*)((((T324*)((T324*)(oBC364cpp))))->_out_h/*52*/))); /*]*/ } /*FI*/} void r625c_define_internals(T625* C){ /*IF*/if (((((T625*)C))->_se_cecil_list/*0*/)!=((void*)(NULL))) { r306put_string(((T306*)(oBC364echo)),((T0*)ms3_625)); r625c_define_for_list((((T625*)C))->_se_cecil_list/*0*/,(((T625*)C))->_se_cecil_name/*4*/); } /*FI*/} void r625c_define_for(T0* a1,T0* a2){ T0* _cecil_arg_list=NULL; T0* _cecil_target=NULL; T0* _rfargs=NULL; T0* _rfname=NULL; T0* _rfrt=NULL; T0* _rfct=NULL; T0* _running=NULL; _rfct=/*X496*/((T0*)(((T832*)((T832*)a2)))->_current_type/*4*/); _rfrt=/*X496*/((T0*)(((T832*)((T832*)a2)))->_result_type/*24*/); _rfname=/*X496*/((T0*)(((T832*)((T832*)a2)))->_name/*16*/); _rfargs=/*X496*/((T0*)(((T832*)((T832*)a2)))->_arguments/*20*/); r306put_string(((T306*)(oBC364echo)),X291run_time_mark(_rfct)); r306put_character(((T306*)(oBC364echo)),'\11'); r306put_character(((T306*)(oBC364echo)),'\56'); r306put_string(((T306*)(oBC364echo)),X776to_string(_rfname)); r306put_character(((T306*)(oBC364echo)),'\n'); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC625tmp_string)))))->_count)=(0); /*]*/ /*IF*/if ((_rfrt)!=((void*)(NULL))) { X291c_type_for_external_in(_rfrt,oBC625tmp_string); } else { r7append(((T7*)(oBC625tmp_string)),((T0*)ms133_470)); } /*FI*/r7extend(((T7*)(oBC625tmp_string)),'\40'); r7append(((T7*)(oBC625tmp_string)),a1); r7extend(((T7*)(oBC625tmp_string)),'\50'); X291c_type_for_external_in(_rfct,oBC625tmp_string); r7extend(((T7*)(oBC625tmp_string)),'\40'); r7extend(((T7*)(oBC625tmp_string)),'C'); /*IF*/if ((_rfargs)!=((void*)(NULL))) { r7extend(((T7*)(oBC625tmp_string)),'\54'); r31external_prototype(((T31*)_rfargs),oBC625tmp_string); } /*FI*/r7extend(((T7*)(oBC625tmp_string)),'\51'); r324put_c_heading(((T324*)(oBC364cpp)),oBC625tmp_string); /*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c); /*]*/ _running=(((T355*)((T355*)(X291run_class(_rfct)))))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_type(_rfct,((T0*)ms5_625)); /*[IRF3.6append*/{T0* b1=((T0*)ms6_625); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark(_rfct); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X776to_key(_rfname); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms7_625); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); } /*FI*//*IF*/if ((_rfrt)!=((void*)(NULL))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms8_625)); /*]*/ } /*FI*/{T716*n=malloc(sizeof(*n)); *n=M716; r716make(n,a2); _cecil_target=(T0*)n; } /*IF*/if ((X496arg_count(a2))>(0)) { {T521*n=malloc(sizeof(*n)); *n=M521; r521make(n,a2); _cecil_arg_list=(T0*)n; } } /*FI*//*IF*/if (X291is_expanded(_rfct)) { r324push_direct(((T324*)(oBC364cpp)),a2,_cecil_target,_cecil_arg_list); X496mapping_c(a2); r324pop(((T324*)(oBC364cpp))); } else { r324push_cpc(((T324*)(oBC364cpp)),a2,_running,_cecil_target,_cecil_arg_list); } /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ } /*No:PREFIX_NAME.set_is_frozen*/ void r406make(T406* C,T0* a1,T0* a2){ C->_to_string=r902item(a1); C->_start_position=a2; C->_to_key=r902for_prefix((((T406*)C))->_to_string/*4*/); } /*No:PREFIX_NAME.to_string*/ /*No:PREFIX_NAME.fz_prefix*/ /*No:PREFIX_NAME.start_position*/ /*No:PREFIX_NAME.to_key*/ T0* r406name_in(T406* C,T0* a1){ T0* R=NULL; T0* _bc=NULL; _bc=r406origin_base_class(C); /*IF*/if ((_bc)==((void*)(a1))) { R=(T0*)C; } else { R=r605new_name_of(((T605*)a1),_bc,(T0*)C); } /*FI*/return R; } /*No:PREFIX_NAME.is_frozen*/ void r406undefine_in(T406* C,T0* a1){ /*IF*/if ((((T406*)C))->_is_frozen/*12*/) { r406error((((T406*)C))->_start_position/*8*/,((T0*)ms1_776)); r605fatal_undefine(((T605*)a1),(T0*)C); } /*FI*/} /*No:PREFIX_NAME.cpp_put_infix_or_prefix*/ void r406error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PREFIX_NAME.mapping_c_in*/ T0* r406origin_base_class(T406* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T406*)C))->_start_position/*8*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=r627base_class(((T627*)_sp)); } /*FI*/return R; } void r675connect_to(T675* C,T0* a1){ C->_input_stream=fopen(r7to_external(((T7*)a1)),"r"); /*IF*/if ((NULL!=(((T675*)C))->_input_stream/*8*/)) { C->_push_back_flag=0; C->_memory=((unsigned char)'\40'); C->_path=a1; } /*FI*/} T0*oBC762last_string=NULL; /*No:STD_FILE_READ.push_back_flag*/ void r675skip_separators(T675* C){ while (!((r675end_of_input(C))||(!(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/))))) { r675read_character(C); } } /*No:STD_FILE_READ.make*/ void r675disconnect(T675* C){ fclose((((T675*)C))->_input_stream/*8*/); C->_path=NULL; } /*No:STD_FILE_READ.path*/ void r675read_character(T675* C){ /*IF*/if ((((T675*)C))->_push_back_flag/*0*/) { C->_push_back_flag=0; } else { C->_memory=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } /*FI*/} /*No:STD_FILE_READ.is_connected*/ void r675read_word(T675* C){ r675skip_separators(C); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0); /*]*/ while (!((r675end_of_input(C))||(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/)))) { r7extend(((T7*)(oBC762last_string)),/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/); r675read_character(C); } } /*No:STD_FILE_READ.last_character*/ void r675read_line_in(T675* C,T0* a1){ int _mem=0; r675read_character(C); _mem=(((T675*)C))->_memory/*12*/; while (!(((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))) { r7extend(((T7*)a1),((char)(_mem))); _mem=getc((FILE*)((((T675*)C))->_input_stream/*8*/)); } C->_memory=_mem; } int r675end_of_input(T675* C){ int R=0; /*IF*/if (!((((T675*)C))->_push_back_flag/*0*/)) { R=((((T675*)C))->_memory/*12*/)==((EOF)); } /*FI*/return R; } int r675same_as(T675* C,T0* a1){ int R=0; int _c2=0; int _c1=0; void* _is2=0; void* _is1=0; _is1=(((T675*)C))->_input_stream/*8*/; _is2=(((T675*)((T675*)a1)))->_input_stream/*8*/; while (!(((_c1)!=(_c2))||((_c1)==((EOF))))) { _c1=getc((FILE*)(_is1)); _c2=getc((FILE*)(_is2)); } R=(_c1)==(_c2); r675disconnect(C); r675disconnect(((T675*)a1)); return R; } void r675read_line(T675* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0); /*]*/ r675read_line_in(C,oBC762last_string); } /*No:STD_FILE_READ.input_stream*/ /*No:STD_FILE_READ.memory*/ T0* r347add_comment(T347* 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 {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) { R=(T0*)C; } else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/} /*FI*/return R; } void r347make(T347* C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_list=a2; C->_compound=a3; } /*No:E_DEBUG.start_position*/ void r347compile_to_c(T347* C){ /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) { r592compile_to_c(((T592*)((((T347*)C))->_compound/*16*/))); } /*FI*/} /*FI*/} T0* r347to_runnable(T347* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T347*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) { C->_compound=r592to_runnable(((T592*)((((T347*)C))->_compound/*16*/)),r347current_type(C)); } /*FI*/} /*FI*/R=(T0*)C; } else { {T347*n=malloc(sizeof(*n)); *n=M347; r347make(n,(((T347*)C))->_start_position/*8*/,(((T347*)C))->_list/*12*/,(((T347*)C))->_compound/*16*/); R=(T0*)n; } R=r347to_runnable(((T347*)R),a1); } /*FI*/return R; } /*No:E_DEBUG.list*/ T0* r347current_type(T347* C){ T0* R=NULL; /*IF*/if (((((T347*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T347*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:E_DEBUG.run_compound*/ /*No:E_DEBUG.compound*/ /*No:E_DEBUG.is_pre_computable*/ int r347use_current(T347* C){ int R=0; /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) { R=r592use_current(((T592*)((((T347*)C))->_compound/*16*/))); } /*FI*/} /*FI*/return R; } /*No:E_DEBUG.end_mark_comment*/ void r347afd_check(T347* C){ /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) { r592afd_check(((T592*)((((T347*)C))->_compound/*16*/))); } /*FI*/} /*FI*/} /*No:CALL_INFIX_LE.arguments*/ T0* r932add_comment(T932* 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 r932to_integer(T932* C){ int R=0; r932error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r932is_a(T932* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T932*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r932error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_LE.is_current*/ void r932mapping_c_arg(T932* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T932*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { r932compile_to_c(C); } else { X291to_expanded(_actual_type); /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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(_actual_type); /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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 { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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 { r932compile_to_c(C); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_LE.static_value*/ void r932make(T932* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) { r683add_position(a2); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/{T454*n=malloc(sizeof(*n)); *n=M454; r454make(n,r932operator(),a2); C->_feature_name=(T0*)n; } {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r932make_call_1(C,a1,(((T932*)C))->_feature_name/*28*/,_eal); } void r932mapping_c_target(T932* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T932*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='T'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\52'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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*/))); }/*]*/ /*]*/ /*[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 { X291to_expanded(_actual_type); /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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(_actual_type); /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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 { /*IF*/if (X291need_c_struct(a1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\46'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ r932compile_to_c(C); /*[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 { r932compile_to_c(C); } /*FI*/} /*FI*/} /*FI*//*IF*/if (_flag) { /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c)); char b1='\51'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*No:CALL_INFIX_LE.nb_errors*/ /*No:CALL_INFIX_LE.feature_name*/ /*No:CALL_INFIX_LE.fz_iinaiv*/ /*No:CALL_INFIX_LE.arg_count*/ /*No:CALL_INFIX_LE.dca_inline_argument*/ /*No:CALL_INFIX_LE.run_feature*/ /*No:CALL_INFIX_LE.call_proc_call_c2c*/ /*No:CALL_INFIX_LE.start_position*/ /*No:CALL_INFIX_LE.target*/ void r932compile_to_c(T932* C){ /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_character(X291run_type(X662result_type((((T932*)C))->_target/*12*/))))) { r932c2c_cast_op(C,((T0*)ms132_470),((T0*)ms35_473)); } else { /*[IRF3.6call_proc_call_c2c*/{T932* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ } /*FI*/} /*No:CALL_INFIX_LE.c_simple*/ T0* r932to_runnable(T932* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T932*)C))->_current_type/*8*/)==((void*)(NULL))) { r932to_runnable_0(C,a1); _a=X431to_runnable((((T932*)C))->_arguments/*24*/,a1); /*IF*/if ((_a)==((void*)(NULL))) { r932error(X662start_position(r932arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T932*)C))->_arguments/*24*/,(((T932*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T932*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { C->_result_type=X291run_type(X662result_type(r932arg1(C))); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r932twin(C); /*[IRF3.3set_current_type*/((((T932*)(((T932*)R))))->_current_type)=(NULL); /*]*/ R=r932to_runnable(((T932*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_LE.result_type*/ /*No:CALL_INFIX_LE.is_result*/ T0* r932twin(T932* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T932*)R)=*C; return R; } /*No:CALL_INFIX_LE.set_current_type*/ /*No:CALL_INFIX_LE.us_le*/ T0* r932operator(void){ T0* R=NULL; R=((T0*)ms35_473); return R; } int r932is_static(T932* C){ int R=0; /*IF*/if (X291is_integer(X662result_type((((T932*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T932*)C))->_target/*12*/))&&(X662is_static(r932arg1(C)))) { R=1; /*IF*/if ((X662static_value((((T932*)C))->_target/*12*/))<=(X662static_value(r932arg1(C)))) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_INFIX_LE.fz_07*/ /*No:CALL_INFIX_LE.fz_unsigned*/ /*No:CALL_INFIX_LE.can_be_dropped*/ /*No:CALL_INFIX_LE.current_type*/ void r932compile_to_c_old(T932* C){ X662compile_to_c_old((((T932*)C))->_target/*12*/); /*IF*/{/*AT*/X431compile_to_c_old((((T932*)C))->_arguments/*24*/); } /*FI*/} void r932c2c_cast_op(T932* C,T0* a1,T0* a2){ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ X662compile_to_c((((T932*)C))->_target/*12*/); /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a2); /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1); /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ X662compile_to_c(r932arg1(C)); /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ } /*No:CALL_INFIX_LE.static_value_mem*/ void r932make_call_1(T932* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_LE.is_manifest_string*/ /*No:CALL_INFIX_LE.is_void*/ void r932to_runnable_0(T932* C,T0* a1){ C->_current_type=a1; r932cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T932*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T932*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T932*)C))->_run_feature/*16*/)); r932error((((T454*)((T454*)((((T932*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T932*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T932*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_LE.is_pre_computable*/ void r932cpc_to_runnable(T932* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T932*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T932*)C))->_target/*12*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T932*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T932*)C))->_target/*12*/,(((T932*)C))->_run_feature/*16*/); } int r932use_current(T932* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T932*)C))->_arguments/*24*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T932*)C))->_target/*12*/)) { R=X496use_current((((T932*)C))->_run_feature/*16*/); } else { R=X662use_current((((T932*)C))->_target/*12*/); } /*FI*/return R; } void r932finalize(T932* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T932*)C))->_run_feature/*16*/; _rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/)); /*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) { _rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf); C->_run_feature=_rf; } /*FI*/} void r932error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_LE.isa_dca_inline_argument*/ /*No:CALL_INFIX_LE.fatal_error*/ /*No:CALL_INFIX_LE.fz_bad_argument*/ T0* r932arg1(T932* C){ T0* R=NULL; R=X431first((((T932*)C))->_arguments/*24*/); return R; } void r932afd_check(T932* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T932*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T932*)C))->_target/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms1_135); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms141_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(((T683*)(oBC364eh))); r355set_at_run_time(((T355*)_rc)); } else if ((r396count(((T396*)_running)))>(0)) { r576update((((T932*)C))->_target/*12*/,(((T932*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T932*)C))->_target/*12*/); /*IF*/{/*AT*/X431afd_check((((T932*)C))->_arguments/*24*/); } /*FI*/} /*No:PARSER_BUFFER.make*/ int fBC676buffer=0; T9 oBC676buffer=NULL; T9 r676buffer(void){ if (fBC676buffer==0){ T9 R=NULL; fBC676buffer=1; R=calloc(4096,sizeof(char)); oBC676buffer=R;} return oBC676buffer;} /*No:PARSER_BUFFER.path*/ int r676read_file(T0* a1){ int R=0; T9 _b=NULL; T0* _line=NULL; char _c=0; int _nb_read=0; int _i=0; int _file=0; void* _p=0; _p=r7to_external(((T7*)a1)); _file=open(_p,O_RDONLY,0);/*IF*/if ((_file)>=(0)) { _b=r676buffer(); _line=r676next_line(0); _line=r676next_line(1); R=1; _nb_read=4096; while (!((_nb_read)<(4096))) { _nb_read=read(_file,_b,4096); _i=0; while (!((_i)==(_nb_read))) { _c=(_b)[_i]; /*IF*/if ((_c)==('\n')) { R=(R)+(1); _line=r676next_line(R); } else if ((_c)==('\15')) { } else { r7extend(((T7*)_line),_c); } /*FI*/_i=(_i)+(1); } } /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)_line)))->_count/*4*/)==(0)/*)*/) { R=(R)-(1); } /*FI*/_file=close(_file); } else { R=-(1); } /*FI*/return R; } T0* r676item(int a1){ T0* R=NULL; R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/; return R; } void r676load_file(T676* C,T0* a1){ C->_count=r676read_file(a1); /*IF*/if (((((T676*)C))->_count/*4*/)>=(0)) { C->_path=a1; } else { C->_path=NULL; } /*FI*/} /*No:PARSER_BUFFER.is_ready*/ T0*oBC676text=NULL; /*No:PARSER_BUFFER.medium_line_size*/ /*No:PARSER_BUFFER.buffer_size*/ /*No:PARSER_BUFFER.count*/ /*No:PARSER_BUFFER.unset_is_ready*/ T0* r676next_line(int a1){ T0* R=NULL; /*IF*/if ((a1)<=((((T927*)((T927*)(oBC676text))))->_upper/*8*/)) { R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/; /*[IRF3.3clear*/((((T7*)(((T7*)R))))->_count)=(0); /*]*/ } else { {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,80); R=(T0*)n; } r927add_last(((T927*)(oBC676text)),R); } /*FI*/return R; } T0* r629add_comment(T629* C,T0* a1){ T0* R=NULL; /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) { R=(T0*)C; } /*AF*/else { {T46*n=malloc(sizeof(*n)); *n=M46; r46make(n,(T0*)C,a1); R=(T0*)n; } } /*FI*/return R; } void r629c_coding1(T629* C){ X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } void r629bit_into_bit(T629* C,T0* a1,T0* a2){ T0* _right=NULL; T0* _left=NULL; _left=a1; if(NULL!=(_left))switch(((T0*)_left)->id) { case 549: case 558: break; default: _left=NULL; };_right=a2; if(NULL!=(_right))switch(((T0*)_right)->id) { case 549: case 558: break; default: _right=NULL; };/*IF*/if (X609is_c_char(_left)) { /*IF*/if ((X609nb(_left))==(X609nb(_right))) { r629c_coding1(C); } else { X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms96_470)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(X609nb(_left))-(X609nb(_right))); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } /*FI*/} else if (X609is_c_int(_left)) { /*IF*/if (X609is_c_int(_right)) { /*IF*/if ((X609nb(_left))==(X609nb(_right))) { r629c_coding1(C); } else { X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms96_470)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(X609nb(_left))-(X609nb(_right))); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } /*FI*/} else { X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms7_629)); /*]*/ X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms8_629)); /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X609nb(_left)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\55'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X609nb(_right)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms150_470)); /*]*/ } /*FI*/} else { /*IF*/if (X609is_c_unsigned_ptr(_right)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms9_629)); /*]*/ X662mapping_c_arg((((T629*)C))->_left_side/*8*/,_left); /*[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*/))); }/*]*/ /*]*/ X662mapping_c_arg((((T629*)C))->_right_side/*12*/,_right); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X609space_for_variable(_left)); /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } else if (X609is_c_int(_right)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_629)); /*]*/ X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms11_629)); /*]*/ X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms150_470)); /*]*/ } else { } /*FI*/} /*FI*/} int r629trace_instruction(T629* C){ int R=0; T0* _ci=NULL; /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) { /*IF*/if (X662c_simple((((T629*)C))->_right_side/*12*/)) { } else if (X291is_basic_eiffel_expanded(r629right_type(C))) { _ci=(((T629*)C))->_right_side/*12*/; if(NULL!=(_ci))switch(((T0*)_ci)->id) { case 121: case 890: case 414: case 453: case 460: case 932: case 253: case 278: case 760: case 534: case 999: case 517: case 520: case 557: case 574: case 90: case 313: case 57: case 655: case 112: break; default: _ci=NULL; };/*IF*/if ((_ci)!=((void*)(NULL))) { /*IF*/if ((X662c_simple(/*X618*/((T0*)(((T121*)((T121*)_ci)))->_target/*12*/)))&&(X662c_simple(X618arg1(_ci)))) { } else { R=1; } /*FI*/} /*FI*/} else { R=1; } /*FI*/} /*FI*/return R; } void r629make(T629* C,T0* a1,T0* a2){ C->_left_side=a1; C->_right_side=a2; } /*No:ASSIGNMENT.nb_errors*/ T0* r629start_position(T629* C){ T0* R=NULL; R=X662start_position((((T629*)C))->_left_side/*8*/); return R; } void r629compile_to_c(T629* C){ int _trace=0; T0* _right_run_type=NULL; T0* _left_run_type=NULL; _trace=r629trace_instruction(C); /*IF*/if (_trace) { r324rs_push_position(((T324*)(oBC364cpp)),'1',r629start_position(C)); } /*FI*/_left_run_type=X291run_type(r629left_type(C)); _right_run_type=X291run_type(r629right_type(C)); /*IF*/if (X291is_reference(_left_run_type)) { /*IF*/if (X291is_reference(_right_run_type)) { X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*IF*/if (X662is_current((((T629*)C))->_right_side/*12*/)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470)); /*]*/ } /*FI*/X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } else { X662compile_to_c((((T629*)C))->_left_side/*8*/); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\75'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ X291to_reference(_right_run_type); /*[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*/))); }/*]*/ /*]*/ X662compile_to_c((((T629*)C))->_right_side/*12*/); /*[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*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } /*FI*/} else { /*IF*/if (X291is_reference(_right_run_type)) { r683add_position(X662start_position((((T629*)C))->_left_side/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_629); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*IF*/if (X291is_bit(_left_run_type)) { r629bit_into_bit(C,_left_run_type,_right_run_type); } else { r629c_coding1(C); } /*FI*/} /*FI*/} /*FI*//*IF*/if (_trace) { r324rs_pop_position(((T324*)(oBC364cpp))); } /*FI*/} /*No:ASSIGNMENT.fz_00*/ T0* r629to_runnable(T629* C,T0* a1){ T0* R=NULL; T0* _e=NULL; T0* _right_run_type=NULL; T0* _left_run_type=NULL; /*IF*/if (((((T629*)C))->_run_compound/*4*/)==((void*)(NULL))) { C->_run_compound=a1; _e=X662to_runnable((((T629*)C))->_left_side/*8*/,r629current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms62_470)); } else { C->_left_side=_e; } /*FI*/_e=X662to_runnable((((T629*)C))->_right_side/*12*/,r629current_type(C)); /*IF*/if ((_e)==((void*)(NULL))) { r629error(X662start_position((((T629*)C))->_right_side/*12*/),((T0*)ms63_470)); } else { C->_right_side=_e; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (!(X662is_a((((T629*)C))->_right_side/*12*/,(((T629*)C))->_left_side/*8*/))) { r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms2_629)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _left_run_type=X291run_type(r629left_type(C)); _right_run_type=X291run_type(r629right_type(C)); /*IF*/if (X291is_reference(_left_run_type)) { /*IF*/if (X291is_reference(_right_run_type)) { } else { X291used_as_reference(_right_run_type); } /*FI*/} else { /*IF*/if (X291is_reference(_right_run_type)) { /*IF*/if (X662is_void((((T629*)C))->_right_side/*12*/)) { r683add_position(X662start_position((((T629*)C))->_right_side/*12*/)); /*[IRF3.6append*/{T0* b1=((T0*)ms3_629); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(r629left_type(C),((T0*)ms4_629)); r683print_as_error(((T683*)(oBC364eh))); } else { r629warning(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms5_629)); } /*FI*/} /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T629*n=malloc(sizeof(*n)); *n=M629; r629make(n,(((T629*)C))->_left_side/*8*/,(((T629*)C))->_right_side/*12*/); R=(T0*)n; } R=r629to_runnable(((T629*)R),a1); } /*FI*/return R; } /*No:ASSIGNMENT.fz_c_shift_right*/ T0* r629right_type(T629* C){ T0* R=NULL; R=X662result_type((((T629*)C))->_right_side/*12*/); return R; } /*No:ASSIGNMENT.left_side*/ /*No:ASSIGNMENT.fz_16*/ T0* r629current_type(T629* C){ T0* R=NULL; /*IF*/if (((((T629*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T629*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:ASSIGNMENT.run_compound*/ int r629is_pre_computable(T629* C){ int R=0; T0* _rf6=NULL; T0* _call=NULL; /*IF*/if (X662is_result((((T629*)C))->_left_side/*8*/)) { /*IF*/if (X662is_pre_computable((((T629*)C))->_right_side/*12*/)) { _call=(((T629*)C))->_right_side/*12*/; if(NULL!=(_call))switch(((T0*)_call)->id) { case 121: case 890: case 414: case 453: case 460: case 180: case 932: case 990: case 253: case 278: case 767: case 760: case 534: case 915: case 999: case 517: case 520: case 557: case 72: case 574: case 90: case 313: case 57: case 487: case 492: case 655: case 112: break; default: _call=NULL; };/*IF*/if ((_call)!=((void*)(NULL))) { _rf6=X295run_feature(_call); if(NULL!=(_rf6))switch(((T0*)_rf6)->id) { case 868: break; default: _rf6=NULL; };R=(_rf6)==((void*)(NULL)); } else { R=1; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:ASSIGNMENT.fz_cast_t0_star*/ int r629use_current(T629* C){ int R=0; R=X662use_current((((T629*)C))->_left_side/*8*/); R=(R)||(X662use_current((((T629*)C))->_right_side/*12*/)); return R; } /*No:ASSIGNMENT.right_side*/ /*No:ASSIGNMENT.fz_blhsoa*/ /*No:ASSIGNMENT.fz_brhsoa*/ void r629error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:ASSIGNMENT.fatal_error*/ /*No:ASSIGNMENT.end_mark_comment*/ void r629afd_check(T629* C){ X662afd_check((((T629*)C))->_right_side/*12*/); } T0* r629left_type(T629* C){ T0* R=NULL; R=X662result_type((((T629*)C))->_left_side/*8*/); return R; } void r629warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); }