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" int r239id(T239* C){ int R=0; R=(((T355*)((T355*)(r239run_class(C)))))->_id/*4*/; return R; } T0*oBC646tmp_written_mark=NULL; int r239has_creation(T239* C,T0* a1){ int R=0; R=X291has_creation((((T239*)C))->_run_type/*8*/,a1); return R; } /*No:TYPE_LIKE_ARGUMENT.is_anchored*/ int r239is_array(T239* C){ int R=0; R=X291is_array((((T239*)C))->_run_type/*8*/); return R; } int r239is_a(T239* C,T0* a1){ int R=0; R=X291is_a((((T239*)C))->_run_type/*8*/,a1); return R; } void r239c_initialize_in(T239* C,T0* a1){ X291c_initialize_in((((T239*)C))->_run_type/*8*/,a1); } void r239c_type_for_argument_in(T239* C,T0* a1){ X291c_type_for_argument_in((((T239*)C))->_run_type/*8*/,a1); } void r239gc_call_new_in(T239* C,T0* a1){ r7append(((T7*)a1),((T0*)ms115_470)); r2append_in(r239id(C),a1); r7extend(((T7*)a1),'\50'); r7extend(((T7*)a1),'\51'); } int r239is_pointer(T239* C){ int R=0; R=X291is_pointer((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.run_type*/ int r239is_dummy_expanded(T239* C){ int R=0; R=X291is_dummy_expanded((((T239*)C))->_run_type/*8*/); return R; } int r239is_string(T239* C){ int R=0; R=X291is_string((((T239*)C))->_run_type/*8*/); return R; } int r239space_for_variable(T239* C){ int R=0; R=X291space_for_variable((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.is_like_feature*/ /*No:TYPE_LIKE_ARGUMENT.is_like_current*/ T0* r239ultimate_run_type(T239* C,T0* a1){ T0* R=NULL; T0* _t=NULL; _t=a1; while (!((_t)==((void*)(X291run_type(_t))))) { _t=X291run_type(_t); } /*IF*/if (((((T239*)C))->_run_type/*8*/)==((void*)(NULL))) { C->_run_type=_t; R=(T0*)C; } else { R=r239twin(C); /*[IRF3.3set_run_type*/((((T239*)(((T239*)R))))->_run_type)=(_t); /*]*/ } /*FI*/return R; } void r239make(T239* C,T0* a1,T0* a2){ C->_start_position=a1; C->_like_what=a2; r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470)); r7append(((T7*)(oBC646tmp_written_mark)),(((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_to_string/*12*/); C->_written_mark=r902item(oBC646tmp_written_mark); } void r239anchor_cycle_start(T239* C){ int _i=0; /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) { r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/); } else if (r907fast_has(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/)) { _i=0; while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) { r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/); _i=(_i)+(1); } /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/); } /*FI*/} /*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/ void r239mapping_cast(T239* C){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC291tmp_string)),'\50'); r239c_type_for_target_in(C,oBC291tmp_string); r7extend(((T7*)(oBC291tmp_string)),'\51'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string); /*]*/ } /*No:TYPE_LIKE_ARGUMENT.start_position*/ void r239c_type_for_target_in(T239* C,T0* a1){ X291c_type_for_target_in((((T239*)C))->_run_type/*8*/,a1); } /*No:TYPE_LIKE_ARGUMENT.fz_gc_mark*/ /*No:TYPE_LIKE_ARGUMENT.like_what*/ void r239gc_initialize(T239* C){ X291gc_initialize((((T239*)C))->_run_type/*8*/); } int r239is_character(T239* C){ int R=0; R=X291is_character((((T239*)C))->_run_type/*8*/); return R; } int r239is_user_expanded(T239* C){ int R=0; R=X291is_user_expanded((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.written_mark*/ /*No:TYPE_LIKE_ARGUMENT.is_run_type*/ T0* r239to_runnable(T239* C,T0* a1){ T0* R=NULL; T0* _t=NULL; r239anchor_cycle_start(C); _t=X291to_runnable((((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_result_type/*24*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r239error((((T239*)C))->_start_position/*4*/,((T0*)ms54_470)); } /*FI*/R=r239ultimate_run_type(C,_t); r239anchor_cycle_end(C); return R; } /*No:TYPE_LIKE_ARGUMENT.rank*/ void r239c_type_for_external_in(T239* C,T0* a1){ /*IF*/if (r239is_reference(C)) { r7append(((T7*)a1),((T0*)ms133_470)); r7extend(((T7*)a1),'\52'); } else { r239c_type_for_result_in(C,a1); } /*FI*/} T0* r239generic_list(T239* C){ T0* R=NULL; /*IF*/if (r239is_generic(C)) { R=X291generic_list((((T239*)C))->_run_type/*8*/); } else { r239fatal_error_generic_list(C); } /*FI*/return R; } /*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/ void r239demangling_in(T239* C,T0* a1){ /*IF*/if (r239is_reference(C)) { r7extend(((T7*)a1),'R'); } else { r7extend(((T7*)a1),'E'); } /*FI*/r7extend(((T7*)a1),'\40'); r7append(((T7*)a1),r239run_time_mark(C)); } int r239is_real(T239* C){ int R=0; R=X291is_real((((T239*)C))->_run_type/*8*/); return R; } T0* r239twin(T239* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T239*)R)=*C; return R; } int r239is_bit(T239* C){ int R=0; R=X291is_bit((((T239*)C))->_run_type/*8*/); return R; } void r239fatal_error_generic_list(T239* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_LIKE_ARGUMENT.fz_new*/ T0* r239smallest_ancestor(T239* C,T0* a1){ T0* R=NULL; R=X291smallest_ancestor((((T239*)C))->_run_type/*8*/,a1); return R; } /*No:TYPE_LIKE_ARGUMENT.set_run_type*/ int r239is_boolean(T239* C){ int R=0; R=X291is_boolean((((T239*)C))->_run_type/*8*/); return R; } int r239is_double(T239* C){ int R=0; R=X291is_double((((T239*)C))->_run_type/*8*/); return R; } T0* r239run_class(T239* C){ T0* R=NULL; R=r604run_class((((T239*)C))->_run_type/*8*/); return R; } T0* r239run_time_mark(T239* C){ T0* R=NULL; /*IF*/if (((((T239*)C))->_run_type/*8*/)!=((void*)(NULL))) { R=X291run_time_mark((((T239*)C))->_run_type/*8*/); } /*FI*/return R; } void r239c_initialize(T239* C){ X291c_initialize((((T239*)C))->_run_type/*8*/); } void r239cast_to_ref(T239* C){ X291cast_to_ref((((T239*)C))->_run_type/*8*/); } void r239gc_mark_in(T239* C,T0* a1){ r7append(((T7*)a1),((T0*)ms107_470)); r2append_in(r239id(C),a1); } /*No:TYPE_LIKE_ARGUMENT.fz_cad*/ int r239is_a_in(T239* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T239*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T355*)((T355*)a2)))->_current_type/*0*/; _t1=r239to_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* r239look_up_for(T239* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r239base_class(C))),a1,a2); return R; } void r239c_header_pass1(T239* C){ X291c_header_pass1((((T239*)C))->_run_type/*8*/); } void r239c_type_for_result_in(T239* C,T0* a1){ X291c_type_for_result_in((((T239*)C))->_run_type/*8*/,a1); } T0* r239expanded_initializer(T239* C){ T0* R=NULL; R=X291expanded_initializer((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.fz_void*/ /*No:TYPE_LIKE_ARGUMENT.fz_dot*/ int r239is_generic(T239* C){ int R=0; R=X291is_generic((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.used_as_reference*/ void r239c_header_pass2(T239* C){ X291c_header_pass2((((T239*)C))->_run_type/*8*/); } void r239gc_define1(T239* C){ X291gc_define1((((T239*)C))->_run_type/*8*/); } int r239need_c_struct(T239* C){ int R=0; R=X291need_c_struct((((T239*)C))->_run_type/*8*/); return R; } int r239is_reference(T239* C){ int R=0; R=X291is_reference((((T239*)C))->_run_type/*8*/); return R; } void r239gc_info_in(T239* C,T0* a1){ X291gc_info_in((((T239*)C))->_run_type/*8*/,a1); } void r239error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r239base_class(T239* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r239base_class_name(C); /*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; } void r239call_gc_sweep_in(T239* C,T0* a1){ X291call_gc_sweep_in((((T239*)C))->_run_type/*8*/,a1); } void r239gc_define2(T239* C){ X291gc_define2((((T239*)C))->_run_type/*8*/); } int r239need_gc_mark_function(T239* C){ int R=0; R=X291need_gc_mark_function((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.fatal_error*/ int r239is_any(T239* C){ int R=0; R=X291is_any((((T239*)C))->_run_type/*8*/); return R; } void r239to_reference(T239* C){ X291to_reference((((T239*)C))->_run_type/*8*/); } void r239c_header_pass3(T239* C){ X291c_header_pass3((((T239*)C))->_run_type/*8*/); } T0*oBC646visited=NULL; T0* r239base_class_name(T239* C){ T0* R=NULL; R=X291base_class_name((((T239*)C))->_run_type/*8*/); return R; } int r239is_expanded(T239* C){ int R=0; R=X291is_expanded((((T239*)C))->_run_type/*8*/); return R; } /*No:TYPE_LIKE_ARGUMENT.fz_like_foo*/ int r239is_basic_eiffel_expanded(T239* C){ int R=0; R=X291is_basic_eiffel_expanded((((T239*)C))->_run_type/*8*/); return R; } int r239is_none(T239* C){ int R=0; R=X291is_none((((T239*)C))->_run_type/*8*/); return R; } void r239to_expanded(T239* C){ X291to_expanded((((T239*)C))->_run_type/*8*/); } int r239is_integer(T239* C){ int R=0; R=X291is_integer((((T239*)C))->_run_type/*8*/); return R; } void r239c_header_pass4(T239* C){ X291c_header_pass4((((T239*)C))->_run_type/*8*/); } void r239anchor_cycle_end(T239* C){ /*IF*/if (((((T239*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) { /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1)); /*]*/ } /*FI*/} T0* r342add_comment(T342* 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; } /*No:INTEGER_CONSTANT.to_integer*/ int r342is_a(T342* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T788*)r342result_type()))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T342*)C))->_start_position/*12*/); r342error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:INTEGER_CONSTANT.is_current*/ void r342mapping_c_arg(T342* C,T0* a1){ /*IF*/if (X291is_reference(a1)) { /*[IRF3.6to_reference*/{T788* C1=((T788*)(r342result_type())); r324to_reference(((T324*)(oBC364cpp)),(T0*)C1,r788type_integer_ref()); }/*]*/ /*[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.6compile_to_c*/{T342* C1=C; /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T342*)C1))->_value/*16*/); /*]*/ }/*]*/ /*[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 { /*[IRF3.6compile_to_c*/{T342* C1=C; /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T342*)C1))->_value/*16*/); /*]*/ }/*]*/ } /*FI*/} /*No:INTEGER_CONSTANT.static_value*/ void r342make(T342* C,int a1,T0* a2){ C->_value=a1; C->_start_position=a2; } /*No:INTEGER_CONSTANT.mapping_c_target*/ /*No:INTEGER_CONSTANT.fz_iinaiv*/ void r342unary_minus(T342* C){ C->_value=-((((T342*)C))->_value/*16*/); } /*No:INTEGER_CONSTANT.dca_inline_argument*/ /*No:INTEGER_CONSTANT.start_position*/ /*No:INTEGER_CONSTANT.compile_to_c*/ /*No:INTEGER_CONSTANT.c_simple*/ T0* r342to_runnable(T342* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T342*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else { R=r342twin(C); /*[IRF3.3set_current_type*/((((T342*)(((T342*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } int fBC342result_type=0; T0*oBC342result_type=NULL; T0* r342result_type(void){ if (fBC342result_type==0){ T0* R=NULL; fBC342result_type=1; {T788*n=malloc(sizeof(*n)); *n=M788; r788make(n,NULL); R=(T0*)n; } oBC342result_type=R;} return oBC342result_type;} /*No:INTEGER_CONSTANT.is_result*/ T0* r342twin(T342* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T342*)R)=*C; return R; } /*No:INTEGER_CONSTANT.set_current_type*/ int r342is_static(T342* C){ int R=0; C->_static_value_mem=(((T342*)C))->_value/*16*/; R=1; return R; } /*No:INTEGER_CONSTANT.value*/ /*No:INTEGER_CONSTANT.can_be_dropped*/ /*No:INTEGER_CONSTANT.current_type*/ /*No:INTEGER_CONSTANT.compile_to_c_old*/ /*No:INTEGER_CONSTANT.static_value_mem*/ /*No:INTEGER_CONSTANT.is_manifest_string*/ /*No:INTEGER_CONSTANT.is_void*/ T0* r342to_real_constant(T342* C){ T0* R=NULL; {T936*n=malloc(sizeof(*n)); *n=M936; r936make(n,(((T342*)C))->_start_position/*12*/,r2to_string((((T342*)C))->_value/*16*/)); R=(T0*)n; } return R; } /*No:INTEGER_CONSTANT.is_pre_computable*/ /*No:INTEGER_CONSTANT.use_current*/ void r342error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r342isa_dca_inline_argument(T342* C){ int R=0; /*IF*/if (r342is_static(C)) { R=-(1); } /*FI*/return R; } /*No:INTEGER_CONSTANT.afd_check*/ /*No:WHEN_LIST.fz_else*/ T0* r377to_runnable_integer(T377* C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _i=0; /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) { C->_e_inspect=a1; _i=1; while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e_when=r843to_runnable_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C); /*IF*/if ((_e_when)==((void*)(NULL))) { r377error(r377start_position(C),((T0*)ms1_377)); } else { /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } R=(T0*)C; } else { {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(T0*)C); R=(T0*)n; } R=r377to_runnable_integer(((T377*)R),a1); } /*FI*/return R; } /*No:WHEN_LIST.make*/ /*No:WHEN_LIST.nb_errors*/ T0* r377start_position(T377* C){ T0* R=NULL; R=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),1)))))->_start_position/*0*/; return R; } void r377compile_to_c(T377* C,T0* a1){ T0* _last_compound=NULL; int _i=0; /*IF*/if (((((T377*)C))->_list/*4*/)!=((void*)(NULL))) { _i=1; while (!((_i)==((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) { r843compile_to_c(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))); _i=(_i)+(1); /*IF*/if ((_i)<((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\40'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\40'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} /*IF*/if ((_i)>(1)) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\40'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\40'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*//*IF*/if (((a1)==((void*)(NULL)))&&(r590boost(((T590*)(oBC364run_control))))) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\173'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _last_compound=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))))->_compound/*12*/; /*IF*/if ((_last_compound)!=((void*)(NULL))) { r592compile_to_c(((T592*)_last_compound)); } /*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\175'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { r843compile_to_c(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))); } /*FI*/} /*FI*/} /*No:WHEN_LIST.em1*/ /*No:WHEN_LIST.list*/ /*No:WHEN_LIST.current_type*/ void r377from_when_list(T377* C,T0* a1){ T0* _e_when=NULL; int _i=0; C->_list=r147twin(((T147*)((((T377*)((T377*)a1)))->_list/*4*/))); _i=1; while (!((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) { {T843*n=malloc(sizeof(*n)); *n=M843; r843from_e_when(n,r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)); _e_when=(T0*)n; } /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ _i=(_i)+(1); } } int r377use_current(T377* C){ int R=0; int _i=0; /*IF*/if (((((T377*)C))->_list/*4*/)!=((void*)(NULL))) { _i=1; while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||(R))) { R=r843use_current(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))); _i=(_i)+(1); } } /*FI*/return R; } void r377error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:WHEN_LIST.add_last*/ int r377includes_integer(T377* C,int a1){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)))) { R=r843includes_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),a1); _i=(_i)+(1); } return R; } T0* r377to_runnable_character(T377* C,T0* a1){ T0* R=NULL; T0* _e_when=NULL; int _i=0; /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) { C->_e_inspect=a1; _i=1; while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _e_when=r843to_runnable_character(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C); /*IF*/if ((_e_when)==((void*)(NULL))) { r377error(r377start_position(C),((T0*)ms1_377)); } else { /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/)); T0* b1=_e_when; int b2=_i; ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_i=(_i)+(1); } R=(T0*)C; } else { {T377*n=malloc(sizeof(*n)); *n=M377; r377from_when_list(n,(T0*)C); R=(T0*)n; } R=r377to_runnable_character(((T377*)R),a1); } /*FI*/return R; } void r377afd_check(T377* C){ int _i=0; _i=(((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/; while (!((_i)==(0))) { r843afd_check(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i)))); _i=(_i)-(1); } } /*No:WHEN_LIST.e_inspect*/ T0*oBC683explanation=NULL; /*No:ERROR_HANDLER.nb_warnings*/ void r683incr_nb_warnings(T683* C){ C->_nb_warnings=((((T683*)C))->_nb_warnings/*4*/)+(1); } /*No:ERROR_HANDLER.extend*/ void r683incr_nb_errors(T683* C){ C->_nb_errors=((((T683*)C))->_nb_errors/*0*/)+(1); /*IF*/if (((((T683*)C))->_nb_errors/*0*/)>=(6)) { r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470)); r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_683)); exit(1); } /*FI*/} /*No:ERROR_HANDLER.exit_failure_code*/ int r683empty(void){ int R=0; R=(/*(IRF4.7empty*/((((T7*)((T7*)(oBC683explanation))))->_count/*4*/)==(0)/*)*/)&&(r38empty(((T38*)(oBC683positions)))); return R; } /*No:ERROR_HANDLER.make*/ /*No:ERROR_HANDLER.nb_errors*/ void r683print_as_fatal_error(T683* C){ r683do_print(((T0*)ms4_683)); exit(1); } /*No:ERROR_HANDLER.no_warning*/ void r683add_position(T0* a1){ /*IF*/if ((a1)!=((void*)(NULL))) { /*IF*/if (!(r38has(((T38*)(oBC683positions)),a1))) { r38add_last(((T38*)(oBC683positions)),a1); } /*FI*/} /*FI*/} /*No:ERROR_HANDLER.set_no_warning*/ void r683print_as_warning(T683* C){ /*IF*/if ((((T683*)C))->_no_warning/*8*/) { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ } else { r683do_print(((T0*)ms2_683)); r683incr_nb_warnings(C); } /*FI*/} void r683print_as_error(T683* C){ r683do_print(((T0*)ms3_683)); r683incr_nb_errors(C); } void r683add_type(T0* a1,T0* a2){ /*[IRF3.6append*/{T0* b1=((T0*)ms1_683); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*IF*/if (X291is_run_type(a1)) { /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } else { /*[IRF3.6append*/{T0* b1=X291written_mark(a1); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*//*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_position(X291start_position(a1)); } void r683error(T683* C,T0* a1){ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_error(C); } /*No:ERROR_HANDLER.fz_error_stars*/ void r683fatal_error(T683* C,T0* a1){ r7append(((T7*)(oBC683explanation)),a1); r683print_as_fatal_error(C); } /*No:ERROR_HANDLER.cancel*/ T0*oBC683positions=NULL; /*No:ERROR_HANDLER.append*/ void r683warning(T683* C,T0* a1){ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683print_as_warning(C); } void r683do_print(T0* a1){ char _previous_cc=0; char _cc=0; int _cpt=0; int _i=0; r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470)); r441put_string(((T441*)(oBC1std_error)),a1); r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_683)); _i=1; _cpt=(9)+((((T7*)((T7*)a1)))->_count/*4*/); while (!((_i)>((((T7*)((T7*)(oBC683explanation))))->_count/*4*/))) { _previous_cc=_cc; _cc=/*(IRF4.6item*/((((T7*)((T7*)(oBC683explanation))))->_storage/*0*/)[(_i)-(1)]/*)*/; _i=(_i)+(1); /*IF*/if ((_cpt)>(60)) { /*IF*/if ((_cc)==('\40')) { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=0; } else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=1; } else { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ _cpt=(_cpt)+(1); } /*FI*/} else { /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1=_cc; putc(b1,((FILE*)(stderr))); }/*]*/ {int z1=_cc; if((10==z1)){ _cpt=0; } else{_cpt=(_cpt)+(1); }} } /*FI*/} /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error)); char b1='\n'; putc(b1,((FILE*)(stderr))); }/*]*/ _i=(((T38*)((T38*)(oBC683positions))))->_lower/*12*/; while (!((_i)>((((T38*)((T38*)(oBC683positions))))->_upper/*8*/))) { r627show(((T627*)(r38item(((T38*)(oBC683positions)),_i)))); _i=(_i)+(1); } /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_683)); } /*No:CALL_PREFIX_FREEOP.arguments*/ T0* r990add_comment(T990* 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 r990to_integer(T990* C){ int R=0; T0* _rf1=NULL; _rf1=(((T990*)C))->_run_feature/*16*/; if(NULL!=(_rf1))switch(((T0*)_rf1)->id) { case 808: break; default: _rf1=NULL; };/*IF*/if ((_rf1)==((void*)(NULL))) { r990error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); } else { R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/); } /*FI*/return R; } int r990is_a(T990* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T990*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r990error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_PREFIX_FREEOP.is_current*/ void r990mapping_c_arg(T990* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T990*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { r990compile_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*/))); }/*]*/ /*]*/ r990compile_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*/))); }/*]*/ /*]*/ r990compile_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*/))); }/*]*/ /*]*/ r990compile_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 { r990compile_to_c(C); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_PREFIX_FREEOP.static_value*/ /*No:CALL_PREFIX_FREEOP.make*/ void r990mapping_c_target(T990* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T990*)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*/))); }/*]*/ /*]*/ r990compile_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*/))); }/*]*/ /*]*/ r990compile_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*/))); }/*]*/ /*]*/ r990compile_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*/))); }/*]*/ /*]*/ r990compile_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 { r990compile_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_PREFIX_FREEOP.nb_errors*/ /*No:CALL_PREFIX_FREEOP.feature_name*/ /*No:CALL_PREFIX_FREEOP.fz_iinaiv*/ /*No:CALL_PREFIX_FREEOP.arg_count*/ /*No:CALL_PREFIX_FREEOP.dca_inline_argument*/ /*No:CALL_PREFIX_FREEOP.run_feature*/ /*No:CALL_PREFIX_FREEOP.call_proc_call_c2c*/ /*No:CALL_PREFIX_FREEOP.start_position*/ /*No:CALL_PREFIX_FREEOP.target*/ /*No:CALL_PREFIX_FREEOP.us_is_expanded_type*/ void r990compile_to_c(T990* C){ T0* _n=NULL; _n=(((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_to_string/*4*/; /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) { /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T990*)C))->_target/*12*/)))) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='0'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else if ((((T0*)ms82_473))==((void*)(_n))) { /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T990*)C))->_target/*12*/))) { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } else { /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='0'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*FI*/} else { /*[IRF3.6call_proc_call_c2c*/{T990* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ } /*FI*/} /*No:CALL_PREFIX_FREEOP.c_simple*/ T0* r990to_runnable(T990* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T990*)C))->_current_type/*8*/)==((void*)(NULL))) { r990to_runnable_0(C,a1); /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T990*)C))->_run_feature/*16*/))>(0))) { r683add_position((((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*/); r990error(X496start_position((((T990*)C))->_run_feature/*16*/),((T0*)ms1_752)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r990twin(C); /*[IRF3.3set_current_type*/((((T990*)(((T990*)R))))->_current_type)=(NULL); /*]*/ R=r990to_runnable(((T990*)R),a1); } /*FI*/return R; } /*No:CALL_PREFIX_FREEOP.result_type*/ /*No:CALL_PREFIX_FREEOP.is_result*/ T0* r990twin(T990* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T990*)R)=*C; return R; } /*No:CALL_PREFIX_FREEOP.set_current_type*/ /*No:CALL_PREFIX_FREEOP.is_static*/ int r990call_is_static(T990* C){ int R=0; T0* _rf=NULL; T0* _running=NULL; T0* _rc=NULL; /*IF*/if (((((T990*)C))->_run_feature/*16*/)!=((void*)(NULL))) { _rc=X496run_class((((T990*)C))->_run_feature/*16*/); /*IF*/if ((_rc)!=((void*)(NULL))) { _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))==(1))) { _rf=r355dynamic(((T355*)(r396first(((T396*)_running)))),(((T990*)C))->_run_feature/*16*/); /*IF*/if (X496is_static(_rf)) { C->_static_value_mem=X496static_value_mem(_rf); R=1; } /*FI*/} /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_PREFIX_FREEOP.fz_07*/ /*No:CALL_PREFIX_FREEOP.us_is_basic_expanded_type*/ int r990can_be_dropped(T990* C){ int R=0; /*IF*/if (X662can_be_dropped((((T990*)C))->_target/*12*/)) { R=X496can_be_dropped((((T990*)C))->_run_feature/*16*/); } /*FI*/return R; } /*No:CALL_PREFIX_FREEOP.current_type*/ void r990compile_to_c_old(T990* C){ X662compile_to_c_old((((T990*)C))->_target/*12*/); /*IF*//*AF*//*AE*/ /*FI*/} /*No:CALL_PREFIX_FREEOP.static_value_mem*/ /*No:CALL_PREFIX_FREEOP.is_manifest_string*/ /*No:CALL_PREFIX_FREEOP.is_void*/ void r990to_runnable_0(T990* C,T0* a1){ C->_current_type=a1; r990cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T990*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T990*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T990*)C))->_run_feature/*16*/)); r990error((((T406*)((T406*)((((T990*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T990*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T990*)C))->_target/*12*/); } /*FI*/} /*No:CALL_PREFIX_FREEOP.is_pre_computable*/ void r990cpc_to_runnable(T990* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T990*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T990*)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((((T990*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T990*)C))->_target/*12*/,(((T990*)C))->_run_feature/*16*/); } int r990use_current(T990* C){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (R) { } else if (X662is_current((((T990*)C))->_target/*12*/)) { R=X496use_current((((T990*)C))->_run_feature/*16*/); } else { R=X662use_current((((T990*)C))->_target/*12*/); } /*FI*/return R; } void r990make_call0(T990* C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } void r990finalize(T990* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T990*)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 r990error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_PREFIX_FREEOP.isa_dca_inline_argument*/ /*No:CALL_PREFIX_FREEOP.fatal_error*/ void r990afd_check(T990* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T990*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T990*)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((((T990*)C))->_target/*12*/,(((T990*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T990*)C))->_target/*12*/); /*IF*//*AF*//*AE*/ /*FI*/} T0* r849add_comment(T849* 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; } /*No:E_TRUE.to_integer*/ int r849is_a(T849* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T707*)/*(IRF4.8result_type*/r849type_boolean()/*)*/))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T849*)C))->_start_position/*12*/); r849error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_TRUE.is_current*/ void r849mapping_c_arg(T0* a1){ /*IF*/if (X291is_reference(a1)) { /*[IRF3.6to_reference*/{T707* C1=((T707*)(/*(IRF4.8result_type*/r849type_boolean()/*)*/)); r324to_reference(((T324*)(oBC364cpp)),(T0*)C1,r707type_boolean_ref()); }/*]*/ /*[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.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; 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 { /*[IRF3.2compile_to_c*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='1'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*]*/ } /*FI*/} int fBC364type_boolean=0; T0*oBC364type_boolean=NULL; T0* r849type_boolean(void){ if (fBC364type_boolean==0){ T0* R=NULL; fBC364type_boolean=1; {T707*n=malloc(sizeof(*n)); *n=M707; r707make(n,NULL); R=(T0*)n; } oBC364type_boolean=R;} return oBC364type_boolean;} /*No:E_TRUE.static_value*/ /*No:E_TRUE.make*/ /*No:E_TRUE.mapping_c_target*/ /*No:E_TRUE.fz_iinaiv*/ /*No:E_TRUE.dca_inline_argument*/ /*No:E_TRUE.start_position*/ /*No:E_TRUE.compile_to_c*/ /*No:E_TRUE.c_simple*/ T0* r849to_runnable(T849* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T849*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; R=(T0*)C; } else { R=r849twin(C); /*[IRF3.3set_current_type*/((((T849*)(((T849*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } /*No:E_TRUE.result_type*/ /*No:E_TRUE.is_result*/ T0* r849twin(T849* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T849*)R)=*C; return R; } /*No:E_TRUE.set_current_type*/ int r849is_static(T849* C){ int R=0; R=1; C->_static_value_mem=1; return R; } /*No:E_TRUE.can_be_dropped*/ /*No:E_TRUE.current_type*/ /*No:E_TRUE.compile_to_c_old*/ /*No:E_TRUE.static_value_mem*/ /*No:E_TRUE.is_manifest_string*/ /*No:E_TRUE.is_void*/ /*No:E_TRUE.is_pre_computable*/ /*No:E_TRUE.use_current*/ void r849error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } int r849isa_dca_inline_argument(T849* C){ int R=0; /*IF*/if (r849is_static(C)) { R=-(1); } /*FI*/return R; } /*No:E_TRUE.afd_check*/ /*No:ID_PROVIDER.us_integer*/ void r410make(T410* C){ {T226*n=malloc(sizeof(*n)); *n=M226; r226with_capacity(n,1024); C->_mem_id=(T0*)n; } {T927*n=malloc(sizeof(*n)); *n=M927; r927with_capacity(n,1024); C->_mem_str=(T0*)n; } C->_modulus=1000; r410add2(C,NULL,0); r410add2(C,((T0*)ms14_473),1); r410add2(C,((T0*)ms15_473),2); r410add2(C,((T0*)ms8_473),3); r410add2(C,((T0*)ms23_473),4); r410add2(C,((T0*)ms11_473),5); r410add2(C,((T0*)ms6_473),6); r410add2(C,((T0*)ms25_473),7); r410add2(C,((T0*)ms21_473),8); r410add2(C,((T0*)ms144_473),9); r410add2(C,NULL,10); r410add2(C,NULL,11); r410add2(C,NULL,12); r410add2(C,NULL,13); r410add2(C,NULL,14); r410add2(C,NULL,15); r410add2(C,NULL,16); r410add2(C,NULL,17); r410add2(C,NULL,18); r410add2(C,NULL,19); r410add2(C,NULL,20); } /*No:ID_PROVIDER.us_pointer*/ /*No:ID_PROVIDER.us_string*/ int r410item(T410* C,T0* a1){ int R=0; int _index=0; _index=r927fast_index_of(((T927*)((((T410*)C))->_mem_str/*4*/)),a1); /*IF*/if ((_index)<=((((T927*)((T927*)((((T410*)C))->_mem_str/*4*/))))->_upper/*8*/)) { R=/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_index]/*)*/; } else { /*IF*/if ((((((T927*)((T927*)((((T410*)C))->_mem_str/*4*/))))->_upper/*8*/)*(2))>((((T410*)C))->_modulus/*8*/)) { C->_modulus=((((T410*)C))->_modulus/*8*/)*(2); } /*FI*/R=(r7hash_code(((T7*)a1)))%((((T410*)C))->_modulus/*8*/); /*IF*/if (r226fast_has(((T226*)((((T410*)C))->_mem_id/*0*/)),R)) { while (!(!(r226fast_has(((T226*)((((T410*)C))->_mem_id/*0*/)),R)))) { R=((R)+(13))%((((T410*)C))->_modulus/*8*/); } r410add2(C,a1,R); } else { r410add2(C,a1,R); } /*FI*/} /*FI*/return R; } /*No:ID_PROVIDER.us_character*/ /*No:ID_PROVIDER.us_real*/ /*No:ID_PROVIDER.us_boolean*/ /*No:ID_PROVIDER.us_double*/ int r410max_id(T410* C){ int R=0; int _i=0; _i=(((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_upper/*8*/; while (!((_i)<(0))) { /*IF*/if ((/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_i]/*)*/)>(R)) { R=/*(IRF4.6item*/((((T226*)((T226*)((((T410*)C))->_mem_id/*0*/))))->_storage/*0*/)[_i]/*)*/; } /*FI*/_i=(_i)-(1); } return R; } /*No:ID_PROVIDER.mem_id*/ /*No:ID_PROVIDER.modulus*/ /*No:ID_PROVIDER.us_native_array_character*/ void r410add2(T410* C,T0* a1,int a2){ r927add_last(((T927*)((((T410*)C))->_mem_str/*4*/)),a1); r226add_last(((T226*)((((T410*)C))->_mem_id/*0*/)),a2); } /*No:ID_PROVIDER.mem_str*/ /*No:ID_PROVIDER.us_general*/ /*No:FUNCTION.arguments*/ T0* r696try_to_undefine(T696* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r696try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T696*)C))->_clients/*24*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:FUNCTION.is_deferred*/ /*No:FUNCTION.fz_bad_assertion*/ T0* r696runnable(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))) { r696error(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:FUNCTION.rescue_compound*/ void r696add_into(T696* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T696*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T696*)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*)((((T696*)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:FUNCTION.end_comment*/ T0* r696try_to_undefine_aux(T696* C,T0* a1,T0* a2){ T0* R=NULL; {T649*n=malloc(sizeof(*n)); *n=M649; r649from_effective(n,a1,(((T696*)C))->_arguments/*28*/,(((T696*)C))->_result_type/*12*/,(((T696*)C))->_require_assertion/*36*/,(((T696*)C))->_ensure_assertion/*40*/,a2); R=(T0*)n; } return R; } /*No:FUNCTION.us_array*/