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:CREATION_CLAUSE_LIST.make*/ T0* r378start_position(T378* C){ T0* R=NULL; R=(((T583*)((T583*)(r235first(((T235*)((((T378*)C))->_list/*0*/)))))))->_start_position/*0*/; return R; } void r378check_expanded_with(T378* C,T0* a1){ /*IF*/if (((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)>(1)) { r683add_type(a1,((T0*)ms65_470)); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1)))))->_start_position/*0*/); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),2)))))->_start_position/*0*/); /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ /*]*/ } /*FI*/r583check_expanded_with(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1); } T0* r378get_clause(T378* C,T0* a1){ T0* R=NULL; int _i=0; _i=1; while (!(((_i)>((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/))||(r583has(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),_i))),a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)<=((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)) { R=r235item(((T235*)((((T378*)C))->_list/*0*/)),_i); } /*FI*/return R; } /*No:CREATION_CLAUSE_LIST.list*/ T0* r378expanded_initializer(T378* C,T0* a1){ T0* R=NULL; R=r583expanded_initializer(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1); return R; } /*No:CREATION_CLAUSE_LIST.fz_cbe*/ /*No:CREATION_CLAUSE_LIST.fatal_error_vtec_2*/ /*No:CREATION_CLAUSE_LIST.add_last*/ /*No:CREATION_CLAUSE_LIST.fatal_error*/ /*No:RUN_REQUIRE.make*/ void r567compile_to_c(T567* C){ int _i=0; /*IF*/if (r590require_check(((T590*)(oBC364run_control)))) { /*IF*/if (((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)==(1)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms6_567)); /*]*/ r343compile_to_c(((T343*)(r522first(((T522*)((((T567*)C))->_list/*0*/)))))); } else { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms7_567)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms8_567)); /*]*/ r343compile_to_c(((T343*)(r522first(((T522*)((((T567*)C))->_list/*0*/)))))); _i=1; while (!((_i)>((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/))) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms9_567)); /*]*/ r343compile_to_c(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i)))); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470)); /*]*/ _i=(_i)+(1); /*IF*/if ((_i)==((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)) { /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms10_567)); /*]*/ } /*FI*/} } /*FI*/} /*FI*/} /*No:RUN_REQUIRE.fz_12*/ /*No:RUN_REQUIRE.list*/ int r567use_current(T567* C){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>((((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/)))) { R=r343use_current(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i)))); _i=(_i)+(1); } return R; } void r567afd_check(T567* C){ int _i=0; _i=(((T522*)((T522*)((((T567*)C))->_list/*0*/))))->_upper/*8*/; while (!((_i)==(0))) { r343afd_check(((T343*)(r522item(((T522*)((((T567*)C))->_list/*0*/)),_i)))); _i=(_i)-(1); } } /*No:CALL_INFIX_AND.arguments*/ T0* r313add_comment(T313* 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 r313to_integer(T313* C){ int R=0; r313error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r313is_a(T313* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T313*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r313error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_AND.is_current*/ void r313mapping_c_arg(T313* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T313*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } 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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_AND.us_and*/ /*No:CALL_INFIX_AND.static_value*/ void r313make(T313* 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,r313operator(),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; } r313make_call_1(C,a1,(((T313*)C))->_feature_name/*28*/,_eal); } void r313mapping_c_target(T313* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T313*)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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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*/))); }/*]*/ /*]*/ /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ /*[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.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T313* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ /*]*/ } /*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_AND.nb_errors*/ /*No:CALL_INFIX_AND.feature_name*/ /*No:CALL_INFIX_AND.fz_iinaiv*/ /*No:CALL_INFIX_AND.arg_count*/ /*No:CALL_INFIX_AND.dca_inline_argument*/ /*No:CALL_INFIX_AND.run_feature*/ /*No:CALL_INFIX_AND.call_proc_call_c2c*/ /*No:CALL_INFIX_AND.start_position*/ /*No:CALL_INFIX_AND.target*/ /*No:CALL_INFIX_AND.compile_to_c*/ /*No:CALL_INFIX_AND.c_simple*/ T0* r313to_runnable(T313* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T313*)C))->_current_type/*8*/)==((void*)(NULL))) { r313to_runnable_0(C,a1); _a=X431to_runnable((((T313*)C))->_arguments/*24*/,a1); /*IF*/if ((_a)==((void*)(NULL))) { r313error(X662start_position(r313arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T313*)C))->_arguments/*24*/,(((T313*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T313*)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(r313arg1(C))); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r313twin(C); /*[IRF3.3set_current_type*/((((T313*)(((T313*)R))))->_current_type)=(NULL); /*]*/ R=r313to_runnable(((T313*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_AND.result_type*/ /*No:CALL_INFIX_AND.is_result*/ T0* r313twin(T313* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T313*)R)=*C; return R; } /*No:CALL_INFIX_AND.set_current_type*/ T0* r313operator(void){ T0* R=NULL; R=((T0*)ms27_473); return R; } int r313is_static(T313* C){ int R=0; /*IF*/if (X291is_boolean(X662result_type((((T313*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T313*)C))->_target/*12*/))&&(X662is_static(r313arg1(C)))) { R=1; C->_static_value_mem=(X662static_value((((T313*)C))->_target/*12*/))+(X662static_value(r313arg1(C))); /*IF*/if (((((T313*)C))->_static_value_mem/*4*/)==(2)) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_INFIX_AND.fz_07*/ /*No:CALL_INFIX_AND.can_be_dropped*/ /*No:CALL_INFIX_AND.current_type*/ void r313compile_to_c_old(T313* C){ X662compile_to_c_old((((T313*)C))->_target/*12*/); /*IF*/{/*AT*/X431compile_to_c_old((((T313*)C))->_arguments/*24*/); } /*FI*/} /*No:CALL_INFIX_AND.static_value_mem*/ void r313make_call_1(T313* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_AND.is_manifest_string*/ /*No:CALL_INFIX_AND.is_void*/ void r313to_runnable_0(T313* C,T0* a1){ C->_current_type=a1; r313cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T313*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T313*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T313*)C))->_run_feature/*16*/)); r313error((((T454*)((T454*)((((T313*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T313*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T313*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_AND.is_pre_computable*/ void r313cpc_to_runnable(T313* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T313*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T313*)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((((T313*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/); } int r313use_current(T313* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T313*)C))->_arguments/*24*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T313*)C))->_target/*12*/)) { R=X496use_current((((T313*)C))->_run_feature/*16*/); } else { R=X662use_current((((T313*)C))->_target/*12*/); } /*FI*/return R; } void r313finalize(T313* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T313*)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 r313error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_AND.isa_dca_inline_argument*/ /*No:CALL_INFIX_AND.fatal_error*/ /*No:CALL_INFIX_AND.fz_bad_argument*/ T0* r313arg1(T313* C){ T0* R=NULL; R=X431first((((T313*)C))->_arguments/*24*/); return R; } void r313afd_check(T313* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T313*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T313*)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((((T313*)C))->_target/*12*/,(((T313*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T313*)C))->_target/*12*/); /*IF*/{/*AT*/X431afd_check((((T313*)C))->_arguments/*24*/); } /*FI*/} /*No:CALL_INFIX_GT.arguments*/ T0* r57add_comment(T57* 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 r57to_integer(T57* C){ int R=0; r57error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r57is_a(T57* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T57*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/); r57error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_GT.is_current*/ void r57mapping_c_arg(T57* C,T0* a1){ T0* _actual_type=NULL; _actual_type=X291run_type((((T57*)C))->_result_type/*20*/); /*IF*/if (X291is_reference(_actual_type)) { /*IF*/if (X291is_reference(a1)) { r57compile_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*/))); }/*]*/ /*]*/ r57compile_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*/))); }/*]*/ /*]*/ r57compile_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*/))); }/*]*/ /*]*/ r57compile_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 { r57compile_to_c(C); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_GT.static_value*/ void r57make(T57* 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,r57operator(),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; } r57make_call_1(C,a1,(((T57*)C))->_feature_name/*28*/,_eal); } void r57mapping_c_target(T57* C,T0* a1){ T0* _actual_type=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _actual_type=X291run_type((((T57*)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*/))); }/*]*/ /*]*/ r57compile_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*/))); }/*]*/ /*]*/ r57compile_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*/))); }/*]*/ /*]*/ r57compile_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*/))); }/*]*/ /*]*/ r57compile_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 { r57compile_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_GT.nb_errors*/ /*No:CALL_INFIX_GT.feature_name*/ /*No:CALL_INFIX_GT.fz_iinaiv*/ /*No:CALL_INFIX_GT.arg_count*/ /*No:CALL_INFIX_GT.dca_inline_argument*/ /*No:CALL_INFIX_GT.run_feature*/ /*No:CALL_INFIX_GT.call_proc_call_c2c*/ /*No:CALL_INFIX_GT.start_position*/ /*No:CALL_INFIX_GT.target*/ void r57compile_to_c(T57* C){ /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_character(X291run_type(X662result_type((((T57*)C))->_target/*12*/))))) { r57c2c_cast_op(C,((T0*)ms132_470),((T0*)ms33_473)); } else { /*[IRF3.6call_proc_call_c2c*/{T57* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ } /*FI*/} /*No:CALL_INFIX_GT.c_simple*/ T0* r57to_runnable(T57* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T57*)C))->_current_type/*8*/)==((void*)(NULL))) { r57to_runnable_0(C,a1); _a=X431to_runnable((((T57*)C))->_arguments/*24*/,a1); /*IF*/if ((_a)==((void*)(NULL))) { r57error(X662start_position(r57arg1(C)),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { X431match_with((((T57*)C))->_arguments/*24*/,(((T57*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T57*)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(r57arg1(C))); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r57twin(C); /*[IRF3.3set_current_type*/((((T57*)(((T57*)R))))->_current_type)=(NULL); /*]*/ R=r57to_runnable(((T57*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_GT.result_type*/ /*No:CALL_INFIX_GT.is_result*/ T0* r57twin(T57* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T57*)R)=*C; return R; } /*No:CALL_INFIX_GT.set_current_type*/ T0* r57operator(void){ T0* R=NULL; R=((T0*)ms33_473); return R; } int r57is_static(T57* C){ int R=0; /*IF*/if (X291is_integer(X662result_type((((T57*)C))->_target/*12*/))) { /*IF*/if ((X662is_static((((T57*)C))->_target/*12*/))&&(X662is_static(r57arg1(C)))) { R=1; /*IF*/if ((X662static_value((((T57*)C))->_target/*12*/))>(X662static_value(r57arg1(C)))) { C->_static_value_mem=1; } else { C->_static_value_mem=0; } /*FI*/} /*FI*/} /*FI*/return R; } /*No:CALL_INFIX_GT.fz_07*/ /*No:CALL_INFIX_GT.fz_unsigned*/ /*No:CALL_INFIX_GT.can_be_dropped*/ /*No:CALL_INFIX_GT.current_type*/ void r57compile_to_c_old(T57* C){ X662compile_to_c_old((((T57*)C))->_target/*12*/); /*IF*/{/*AT*/X431compile_to_c_old((((T57*)C))->_arguments/*24*/); } /*FI*/} void r57c2c_cast_op(T57* 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((((T57*)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(r57arg1(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_GT.static_value_mem*/ void r57make_call_1(T57* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_GT.is_manifest_string*/ /*No:CALL_INFIX_GT.is_void*/ void r57to_runnable_0(T57* C,T0* a1){ C->_current_type=a1; r57cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T57*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T57*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T57*)C))->_run_feature/*16*/)); r57error((((T454*)((T454*)((((T57*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T57*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T57*)C))->_target/*12*/); } /*FI*/} /*No:CALL_INFIX_GT.is_pre_computable*/ void r57cpc_to_runnable(T57* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T57*)C))->_target/*12*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T57*)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((((T57*)C))->_target/*12*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/); } int r57use_current(T57* C){ int R=0; /*IF*/{/*AT*/R=X431use_current((((T57*)C))->_arguments/*24*/); } /*FI*//*IF*/if (R) { } else if (X662is_current((((T57*)C))->_target/*12*/)) { R=X496use_current((((T57*)C))->_run_feature/*16*/); } else { R=X662use_current((((T57*)C))->_target/*12*/); } /*FI*/return R; } void r57finalize(T57* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T57*)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 r57error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_GT.isa_dca_inline_argument*/ /*No:CALL_INFIX_GT.us_gt*/ /*No:CALL_INFIX_GT.fatal_error*/ /*No:CALL_INFIX_GT.fz_bad_argument*/ T0* r57arg1(T57* C){ T0* R=NULL; R=X431first((((T57*)C))->_arguments/*24*/); return R; } void r57afd_check(T57* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T57*)C))->_target/*12*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T57*)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((((T57*)C))->_target/*12*/,(((T57*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T57*)C))->_target/*12*/); /*IF*/{/*AT*/X431afd_check((((T57*)C))->_arguments/*24*/); } /*FI*/} /*No:WRITABLE_ATTRIBUTE.arguments*/ T0* r106try_to_undefine(T106* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=r106try_to_undefine_aux(C,a1,a2); /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T106*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:WRITABLE_ATTRIBUTE.is_deferred*/ void r106add_into(T106* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)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*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/)); r683error(((T683*)(oBC364eh)),((T0*)ms11_359)); /*[IRF3.6append*/{T0* b1=X776to_string(_fn); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } else { r237put(((T237*)a1),(T0*)C,X776to_key(_fn)); } /*FI*/_i=(_i)+(1); } } T0* r106try_to_undefine_aux(T106* C,T0* a1,T0* a2){ T0* R=NULL; r683add_position(r106start_position(C)); r106error(X776start_position(a1),((T0*)ms1_308)); r605fatal_undefine(((T605*)a2),a1); return R; } void r106make(T106* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } /*No:WRITABLE_ATTRIBUTE.nb_errors*/ /*No:WRITABLE_ATTRIBUTE.set_header_comment*/ T0* r106start_position(T106* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T106*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r106to_run_feature(T106* C,T0* a1,T0* a2){ T0* R=NULL; {T820*n=malloc(sizeof(*n)); *n=M820; r820make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:WRITABLE_ATTRIBUTE.ensure_assertion*/ /*No:WRITABLE_ATTRIBUTE.code_require*/ /*No:WRITABLE_ATTRIBUTE.result_type*/ /*No:WRITABLE_ATTRIBUTE.em1*/ /*No:WRITABLE_ATTRIBUTE.set_clients*/ /*No:WRITABLE_ATTRIBUTE.em2*/ /*No:WRITABLE_ATTRIBUTE.require_assertion*/ /*No:WRITABLE_ATTRIBUTE.names*/ int r106stupid_switch(T0* a1,T0* a2){ int R=0; T0* _dyn_rc=NULL; T0* _dyn_rf2=NULL; int _i=0; int _offset2=0; int _offset1=0; _i=(((T396*)((T396*)a2)))->_upper/*8*/; _dyn_rc=r396item(((T396*)a2),_i); _dyn_rf2=r355dynamic(((T355*)_dyn_rc),a1); if(NULL!=(_dyn_rf2))switch(((T0*)_dyn_rf2)->id) { case 820: break; default: _dyn_rf2=NULL; };/*IF*/if ((_dyn_rf2)!=((void*)(NULL))) { _offset1=r355offset_of(((T355*)_dyn_rc),_dyn_rf2); R=1; _i=(_i)-(1); } /*FI*/while (!((!(R))||((_i)==(0)))) { _dyn_rc=r396item(((T396*)a2),_i); _dyn_rf2=r355dynamic(((T355*)_dyn_rc),a1); if(NULL!=(_dyn_rf2))switch(((T0*)_dyn_rf2)->id) { case 820: break; default: _dyn_rf2=NULL; };/*IF*/if ((_dyn_rf2)!=((void*)(NULL))) { _offset2=r355offset_of(((T355*)_dyn_rc),_dyn_rf2); R=(_offset1)==(_offset2); _i=(_i)-(1); } else { R=0; } /*FI*/} return R; } int r106can_hide(T106* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms6_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:WRITABLE_ATTRIBUTE.header_comment*/ int r106is_merge_with(T106* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T106*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) { /*IF*/{/*AT*/r683add_position(X359start_position(a1)); r106error(r106start_position(C),((T0*)ms3_359)); } /*FI*/} /*FI*//*IF*/if (((((T106*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T106*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:WRITABLE_ATTRIBUTE.fz_dot*/ /*No:WRITABLE_ATTRIBUTE.first_name*/ /*No:WRITABLE_ATTRIBUTE.clients*/ void r106collect_for(int a1){ /*IF*/if ((a1)==(1001)) { /*IF*//*AF*//*AE*/ /*FI*/} else { /*IF*//*AF*//*AE*/ /*FI*/} /*FI*/} void r106error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:WRITABLE_ATTRIBUTE.base_class*/ /*No:WRITABLE_ATTRIBUTE.base_class_name*/ /*No:PROC_CALL_0.arguments*/ T0* r268add_comment(T268* 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 r268make(T268* C,T0* a1,T0* a2){ C->_target=a1; C->_feature_name=a2; } /*No:PROC_CALL_0.nb_errors*/ /*No:PROC_CALL_0.feature_name*/ /*No:PROC_CALL_0.arg_count*/ /*No:PROC_CALL_0.run_feature*/ /*No:PROC_CALL_0.set_run_compound*/ /*No:PROC_CALL_0.call_proc_call_c2c*/ T0* r268start_position(T268* C){ T0* R=NULL; R=X776start_position((((T268*)C))->_feature_name/*12*/); return R; } /*No:PROC_CALL_0.target*/ void r268compile_to_c(T268* C){ r324rs_push_position(((T324*)(oBC364cpp)),'3',r268start_position(C)); /*[IRF3.6call_proc_call_c2c*/{T268* C1=C; r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1); }/*]*/ r324rs_pop_position(((T324*)(oBC364cpp))); } /*No:PROC_CALL_0.set_run_feature*/ T0* r268to_runnable(T268* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) { r268to_runnable_0(C,a1); /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T268*)C))->_run_feature/*16*/))>(0))) { r683add_position(X776start_position((((T268*)C))->_feature_name/*12*/)); r268error(X496start_position((((T268*)C))->_run_feature/*16*/),((T0*)ms1_268)); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,(((T268*)C))->_target/*8*/,(((T268*)C))->_feature_name/*12*/); R=(T0*)n; } R=r268to_runnable(((T268*)R),a1); } /*FI*/return R; } /*No:PROC_CALL_0.fz_07*/ T0* r268current_type(T268* C){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)!=((void*)(NULL))) { R=(((T592*)((T592*)((((T268*)C))->_run_compound/*4*/))))->_current_type/*4*/; } /*FI*/return R; } /*No:PROC_CALL_0.run_compound*/ void r268to_runnable_0(T268* C,T0* a1){ C->_run_compound=a1; r268cpc_to_runnable(C,r268current_type(C)); /*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T268*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) { r683add_position(X496start_position((((T268*)C))->_run_feature/*16*/)); r268error(X776start_position((((T268*)C))->_feature_name/*12*/),((T0*)ms1_173)); } /*FI*/} /*No:PROC_CALL_0.is_pre_computable*/ void r268cpc_to_runnable(T268* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T268*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T268*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/)); C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C); r576update((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/); } int r268use_current(T268* C){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (R) { } else if (X662is_current((((T268*)C))->_target/*8*/)) { R=X496use_current((((T268*)C))->_run_feature/*16*/); } else { R=X662use_current((((T268*)C))->_target/*8*/); } /*FI*/return R; } void r268finalize(T268* C){ T0* _rf=NULL; T0* _rc=NULL; _rf=(((T268*)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 r268error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:PROC_CALL_0.fatal_error*/ /*No:PROC_CALL_0.end_mark_comment*/ void r268afd_check(T268* C){ T0* _running=NULL; T0* _rc=NULL; _rc=X291run_class(X662result_type((((T268*)C))->_target/*8*/)); _running=(((T355*)((T355*)_rc)))->_running/*12*/; /*IF*/if ((_running)==((void*)(NULL))) { r683add_position(X662start_position((((T268*)C))->_target/*8*/)); /*[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((((T268*)C))->_target/*8*/,(((T268*)C))->_run_feature/*16*/); } /*FI*/X662afd_check((((T268*)C))->_target/*8*/); /*IF*//*AF*//*AE*/ /*FI*/} T0* r268make_runnable(T268* C,T0* a1,T0* a2,T0* a3,T0* a4){ T0* R=NULL; /*IF*/if (((((T268*)C))->_run_compound/*4*/)==((void*)(NULL))) { R=(T0*)C; r268make(((T268*)R),a2,(((T268*)C))->_feature_name/*12*/); C->_run_compound=a1; C->_run_feature=a4; } else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,a2,(((T268*)C))->_feature_name/*12*/); R=(T0*)n; } /*[IRF3.3set_run_compound*/((((T268*)(((T268*)R))))->_run_compound)=(a1); /*]*/ /*[IRF3.3set_run_feature*/((((T268*)(((T268*)R))))->_run_feature)=(a4); /*]*/ } /*FI*/return R; } T0* r39add_comment(T39* 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 r39to_integer(T39* C){ int R=0; r39error((((T39*)C))->_start_position/*16*/,((T0*)ms69_470)); return R; } void r39c_trace(T39* C){ /*IF*/if (r39produce_c(C)) { r324rs_push_local(((T324*)(oBC364cpp)),(((T39*)C))->_to_string/*12*/,X291run_type((((T39*)C))->_result_type/*24*/)); } /*FI*/} int r39is_a(T39* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T39*)C))->_result_type/*24*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T39*)C))->_start_position/*16*/); r39error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:LOCAL_NAME1.set_is_used*/ void r39name_clash(T39* C){ T0* _rf=NULL; T0* _rc=NULL; /*IF*/if (r605has_feature(((T605*)(r39base_class_written(C))),(((T39*)C))->_to_string/*12*/)) { _rc=X291run_class((((T39*)C))->_current_type/*8*/); _rf=r355get_feature_with(((T355*)_rc),(((T39*)C))->_to_string/*12*/); /*IF*/if ((_rf)!=((void*)(NULL))) { r683add_position(X496start_position(_rf)); } /*FI*/r683add_position((((T39*)C))->_start_position/*16*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_447); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} /*No:LOCAL_NAME1.is_current*/ void r39mapping_c_arg(T39* C,T0* a1){ T0* _rt=NULL; _rt=X291run_type((((T39*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*IF*/if (X291is_reference(a1)) { /*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*12*/); }/*]*/ } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*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*/))); }/*]*/ /*]*/ } /*FI*/} else if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*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*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(_rt)) { /*[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*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*12*/); }/*]*/ } /*FI*/} T0* r39written_in(T39* C){ T0* R=NULL; T0* _sp=NULL; _sp=(((T39*)C))->_start_position/*16*/; /*IF*/if ((_sp)!=((void*)(NULL))) { R=(((T627*)((T627*)_sp)))->_base_class_name/*0*/; } /*FI*/return R; } /*No:LOCAL_NAME1.static_value*/ void r39make(T39* C,T0* a1,T0* a2){ C->_start_position=a1; C->_to_string=r902item(a2); } void r39mapping_c_target(T39* C,T0* a1){ T0* _rt=NULL; int _flag=0; _flag=r324call_invariant_start(a1); _rt=X291run_type((((T39*)C))->_result_type/*24*/); /*IF*/if (X291is_reference(_rt)) { /*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.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*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*/))); }/*]*/ /*]*/ } else { X291to_expanded(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*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*/))); }/*]*/ /*]*/ } /*FI*/} else if (X291is_reference(a1)) { X291to_reference(_rt); /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\50'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*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*/))); }/*]*/ /*]*/ } else { /*IF*/if (X291need_c_struct(_rt)) { /*[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*/))); }/*]*/ /*]*/ } /*FI*//*[IRF3.6compile_to_c*/{T39* C1=C; r324print_local(((T324*)(oBC364cpp)),(((T39*)C1))->_to_string/*12*/); }/*]*/ } /*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:LOCAL_NAME1.to_string*/ /*No:LOCAL_NAME1.fz_iinaiv*/ /*No:LOCAL_NAME1.dca_inline_argument*/ /*No:LOCAL_NAME1.em_bl*/ /*No:LOCAL_NAME1.set_result_type*/ /*No:LOCAL_NAME1.start_position*/ /*No:LOCAL_NAME1.compile_to_c*/ /*No:LOCAL_NAME1.c_simple*/ /*No:LOCAL_NAME1.fz_00*/ /*No:LOCAL_NAME1.set_rank*/ T0* r39to_runnable(T39* C,T0* a1){ T0* R=NULL; T0* _t2=NULL; T0* _t1=NULL; _t1=(((T39*)C))->_result_type/*24*/; _t2=X291to_runnable(_t1,a1); /*IF*/if ((_t2)==((void*)(NULL))) { r683add_position(X291start_position(_t1)); r39error((((T39*)C))->_start_position/*16*/,((T0*)ms6_361)); } /*FI*//*IF*/if (((((T39*)C))->_current_type/*8*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=_t2; R=(T0*)C; } else { {T39*n=malloc(sizeof(*n)); *n=M39; r39make_runnable(n,(T0*)C,a1,_t2); R=(T0*)n; } } /*FI*/return R; } /*No:LOCAL_NAME1.rank*/ void r39c_declare(T39* C){ T0* _t=NULL; /*IF*/if (r39produce_c(C)) { _t=X291run_type((((T39*)C))->_result_type/*24*/); /*[IRF3.3clear*/((((T7*)(((T7*)(oBC447tmp_string)))))->_count)=(0); /*]*/ X291c_type_for_result_in(_t,oBC447tmp_string); r7extend(((T7*)(oBC447tmp_string)),'\40'); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC447tmp_string); /*]*/ r324print_local(((T324*)(oBC364cpp)),(((T39*)C))->_to_string/*12*/); /*[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*/))); }/*]*/ /*]*/ X291c_initialize(_t); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470)); /*]*/ } else if (r590debug_check(((T590*)(oBC364run_control)))) { r39warning((((T39*)C))->_start_position/*16*/,((T0*)ms1_39)); } /*FI*/} int r39produce_c(T39* C){ int R=0; T0* _t=NULL; /*IF*/if ((((T39*)C))->_is_used/*28*/) { R=1; } else { _t=X291run_type((((T39*)C))->_result_type/*24*/); /*IF*/if (X291is_expanded(_t)) { R=!(X291is_basic_eiffel_expanded(_t)); } /*FI*/} /*FI*/return R; } /*No:LOCAL_NAME1.result_type*/ /*No:LOCAL_NAME1.is_result*/ /*No:LOCAL_NAME1.is_static*/ T0*oBC447tmp_string=NULL; T0* r39base_class_written(T39* C){ T0* R=NULL; R=r451base_class(((T451*)(r39written_in(C)))); return R; } /*No:LOCAL_NAME1.can_be_dropped*/ /*No:LOCAL_NAME1.current_type*/ /*No:LOCAL_NAME1.compile_to_c_old*/ /*No:LOCAL_NAME1.static_value_mem*/ /*No:LOCAL_NAME1.is_used*/ /*No:LOCAL_NAME1.is_manifest_string*/ /*No:LOCAL_NAME1.is_void*/ /*No:LOCAL_NAME1.is_pre_computable*/ /*No:LOCAL_NAME1.use_current*/ void r39error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:LOCAL_NAME1.isa_dca_inline_argument*/ /*No:LOCAL_NAME1.fatal_error*/ /*No:LOCAL_NAME1.afd_check*/ void r39make_runnable(T39* C,T0* a1,T0* a2,T0* a3){ *((T39*)(C))=*((T39*)(a1)); C->_current_type=a2; C->_result_type=a3; } void r39warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:DEFERRED_PROCEDURE.arguments*/ T0* r853try_to_undefine(T853* C,T0* a1,T0* a2){ T0* R=NULL; X776undefine_in(a1,a2); R=/*(IRF4.4try_to_undefine_aux*/((T0*)(C))/*)*/; /*IF*/if ((R)!=((void*)(NULL))) { /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T853*)C))->_clients/*20*/); /*]*/ } else { r605fatal_undefine(((T605*)a2),a1); } /*FI*/return R; } /*No:DEFERRED_PROCEDURE.is_deferred*/ /*No:DEFERRED_PROCEDURE.rescue_compound*/ void r853add_into(T853* C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/)))); _i=1; while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) { _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)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*)((((T853*)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:DEFERRED_PROCEDURE.end_comment*/ /*No:DEFERRED_PROCEDURE.try_to_undefine_aux*/ /*No:DEFERRED_PROCEDURE.make*/ /*No:DEFERRED_PROCEDURE.nb_errors*/ void r853make_routine(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ r853make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; } void r853set_header_comment(T853* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)>(1))) { C->_end_comment=a1; } /*FI*/} T0* r853start_position(T853* C){ T0* R=NULL; R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T853*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); return R; } T0* r853to_run_feature(T853* C,T0* a1,T0* a2){ T0* R=NULL; r853check_obsolete(C); {T904*n=malloc(sizeof(*n)); *n=M904; r904make(n,a1,a2,(T0*)C); R=(T0*)n; } return R; } /*No:DEFERRED_PROCEDURE.ensure_assertion*/ /*No:DEFERRED_PROCEDURE.code_require*/ /*No:DEFERRED_PROCEDURE.result_type*/ /*No:DEFERRED_PROCEDURE.fz_03*/ /*No:DEFERRED_PROCEDURE.em1*/ /*No:DEFERRED_PROCEDURE.obsolete_mark*/ /*No:DEFERRED_PROCEDURE.em2*/ /*No:DEFERRED_PROCEDURE.set_clients*/ /*No:DEFERRED_PROCEDURE.names*/ /*No:DEFERRED_PROCEDURE.require_assertion*/ void r853from_effective(T853* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,se_ma855(1,a1)); C->_names=(T0*)n; } r853make_routine(C,(((T853*)C))->_names/*8*/,a2,NULL,NULL,a3); /*[IRF3.3set_ensure_assertion*/((((T853*)(C)))->_ensure_assertion)=(a4); /*]*/ C->_base_class=a5; } /*No:DEFERRED_PROCEDURE.stupid_switch*/ void r853set_rescue_compound(T853* C,T0* a1){ /*IF*/if (((a1)!=((void*)(NULL)))&&(/*(IRF4.2is_deferred*/(1)/*)*/)) { r853error(r853start_position(C),((T0*)ms6_368)); } /*FI*/C->_rescue_compound=a1; } int r853can_hide(T853* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms5_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms6_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms7_359)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r683add_position(r853start_position(C)); /*[IRF3.6append*/{T0* b1=((T0*)ms13_359); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683error(((T683*)(oBC364eh)),((T0*)ms67_470)); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:DEFERRED_PROCEDURE.header_comment*/ int r853is_merge_with(T853* C,T0* a1,T0* a2){ int R=0; /*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) { /*IF*/if ((((((T853*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms2_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(X359arguments(a1)))) { /*IF*/if ((((((T853*)C))->_arguments/*24*/)==((void*)(NULL)))||((X359arguments(a1))==((void*)(NULL)))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms3_359)); } else if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T853*)C))->_arguments/*24*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)(X359arguments(a1)))))->_flat_list/*12*/))))->_upper/*12*//*)*/)) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms4_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_result_type/*12*/)!=((void*)(NULL))) { /*IF*/if (!(X291is_a_in((((T853*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) { r683error(((T683*)(oBC364eh)),((T0*)ms12_359)); } /*FI*/} /*FI*//*IF*/if (((((T853*)C))->_arguments/*24*/)!=((void*)(NULL))) { /*IF*/if (!(r31is_a_in(((T31*)((((T853*)C))->_arguments/*24*/)),X359arguments(a1),a2))) { r683add_position(X359start_position(a1)); r853error(r853start_position(C),((T0*)ms12_359)); } /*FI*/} /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0); return R; } /*No:DEFERRED_PROCEDURE.fz_dot*/ /*No:DEFERRED_PROCEDURE.set_ensure_assertion*/ /*No:DEFERRED_PROCEDURE.first_name*/ /*No:DEFERRED_PROCEDURE.clients*/ void r853collect_for(T853* C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((((T853*)C))->_require_assertion/*32*/)!=((void*)(NULL))) { /*IF*/if (!(r522fast_has(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/))) { r522add_last(((T522*)(oBC359require_collector)),(((T853*)C))->_require_assertion/*32*/); } /*FI*/} /*FI*/} else { /*IF*/if (((((T853*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*[IRF3.3set_item*/((((T56*)(((T56*)(oBC359header_comment_memory)))))->_item)=((((T633*)((T633*)((((T853*)C))->_ensure_assertion/*36*/))))->_header_comment/*4*/); /*]*/ r633add_into(((T633*)((((T853*)C))->_ensure_assertion/*36*/)),oBC359assertion_collector); } /*FI*/} /*FI*/} void r853error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:DEFERRED_PROCEDURE.base_class*/ /*No:DEFERRED_PROCEDURE.base_class_name*/ void r853make_e_feature(T853* C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; } void r853check_obsolete(T853* C){ /*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) { /*IF*/if (((((T853*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) { /*[IRF3.6append*/{T0* b1=((T0*)ms7_368); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T853*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r853warning(r853start_position(C),((T0*)ms137_470)); } /*FI*/} /*FI*/} void r853warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } void r782add_index_value(T782* C,T0* a1){ /*IF*/if (((((T782*)C))->_list/*4*/)==((void*)(NULL))) { C->_list=se_ma96(1,a1); } else { X96add_last((((T782*)C))->_list/*4*/,a1); } /*FI*/} /*No:INDEX_CLAUSE.make*/ /*No:INDEX_CLAUSE.list*/ /*No:INDEX_CLAUSE.index*/ /*No:RUN_FEATURE_1.arguments*/ int r808id(T808* C){ int R=0; R=X291id((((T808*)C))->_current_type/*4*/); return R; } /*No:RUN_FEATURE_1.ucs_true*/ /*No:RUN_FEATURE_1.c_define*/ /*No:RUN_FEATURE_1.actuals_clients*/ void r808nothing_comment(T808* C){ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms118_470)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms4_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291run_time_mark((((T808*)C))->_current_type/*4*/)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\56'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string((((T808*)C))->_name/*16*/)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms81_470)); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\n'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_1.ucs_in_computation*/ void r808make(T808* C,T0* a1,T0* a2,T0* a3){ C->_current_type=a1; C->_name=a2; C->_base_feature=a3; r199put(((T199*)((((T355*)((T355*)(r808run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2)); r604incr_magic_count(((T604*)(oBC364small_eiffel))); C->_use_current_state=1005; r604push(((T604*)(oBC364small_eiffel)),(T0*)C); r808initialize(C); r604pop(((T604*)(oBC364small_eiffel))); } void r808std_compute_use_current(T808* C){ /*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_require_assertion/*28*/)!=((void*)(NULL))) { /*IF*/if (r567use_current(((T567*)((((T808*)C))->_require_assertion/*28*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_routine_body/*32*/)!=((void*)(NULL))) { /*IF*/if (r592use_current(((T592*)((((T808*)C))->_routine_body/*32*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { /*IF*/if (((((T808*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) { /*IF*/if (r633use_current(((T633*)((((T808*)C))->_ensure_assertion/*36*/)))) { C->_use_current_state=1004; } /*FI*/} /*FI*/} /*FI*//*IF*/if (((((T808*)C))->_use_current_state/*40*/)==(1006)) { C->_use_current_state=1003; } /*FI*/} /*No:RUN_FEATURE_1.name*/ void r808mapping_name(T808* C){ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='r'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r808id(C)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T808*)C))->_name/*16*/)); /*]*/ } int r808arg_count(T808* C){ int R=0; /*IF*/if (((((T808*)C))->_arguments/*20*/)!=((void*)(NULL))) { R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T808*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/; } /*FI*/return R; } /*No:RUN_FEATURE_1.local_vars*/ /*No:RUN_FEATURE_1.fz_open_c_comment*/ /*No:RUN_FEATURE_1.base_feature*/ T0* r808start_position(T808* C){ T0* R=NULL; R=X418start_position((((T808*)C))->_base_feature/*44*/); return R; } /*No:RUN_FEATURE_1.fz_close_c_comment*/ /*No:RUN_FEATURE_1.ensure_assertion*/ int r808is_exported_in(T808* C,T0* a1){ int R=0; R=r636gives_permission_to(((T636*)(r808clients(C))),a1); return R; } /*No:RUN_FEATURE_1.compute_use_current*/ /*No:RUN_FEATURE_1.result_type*/ int r808is_static(T808* C){ int R=0; R=X662is_static((((T808*)C))->_value/*48*/); return R; } void r808add_client(T808* C,T0* a1){ int _i=0; /*IF*/if (((((T808*)C))->_actuals_clients/*12*/)==((void*)(NULL))) { {T187*n=malloc(sizeof(*n)); *n=M187; r187with_capacity(n,4); C->_actuals_clients=(T0*)n; } r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1); } else { _i=r187fast_index_of(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1); /*IF*/if ((_i)>((((T187*)((T187*)((((T808*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) { r187add_last(((T187*)((((T808*)C))->_actuals_clients/*12*/)),a1); } /*FI*/} /*FI*/r355add_client(((T355*)(r808run_class(C))),a1); } /*No:RUN_FEATURE_1.require_assertion*/ /*No:RUN_FEATURE_1.value*/ /*No:RUN_FEATURE_1.use_current_state*/ /*No:RUN_FEATURE_1.can_be_dropped*/ /*No:RUN_FEATURE_1.current_type*/ T0* r808run_class(T808* C){ T0* R=NULL; R=X291run_class((((T808*)C))->_current_type/*4*/); return R; } int r808static_value_mem(T808* C){ int R=0; R=X662static_value((((T808*)C))->_value/*48*/); return R; } /*No:RUN_FEATURE_1.ucs_not_computed*/ void r808fall_down(T808* C){ T0* _rf=NULL; T0* _sub_name=NULL; T0* _sub_bc=NULL; T0* _current_bc=NULL; T0* _sub_rc=NULL; T0* _current_rc=NULL; int _i=0; T0* _running=NULL; _current_rc=X291run_class((((T808*)C))->_current_type/*4*/); _running=(((T355*)((T355*)_current_rc)))->_running/*12*/; /*IF*/if ((_running)!=((void*)(NULL))) { _current_bc=X291base_class((((T808*)C))->_current_type/*4*/); _i=(((T396*)((T396*)_running)))->_lower/*12*/; while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) { _sub_rc=r396item(((T396*)_running),_i); /*IF*/if ((_sub_rc)!=((void*)(_current_rc))) { _sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/); _sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T808*)C))->_name/*16*/); _rf=r355get_feature(((T355*)_sub_rc),_sub_name); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*No:RUN_FEATURE_1.routine_body*/ /*No:RUN_FEATURE_1.ucs_false*/ /*No:RUN_FEATURE_1.is_pre_computable*/ T0* r808clients(T808* C){ T0* R=NULL; T0* _bfbc=NULL; T0* _bc=NULL; /*IF*/if (((((T808*)C))->_clients_memory/*8*/)==((void*)(NULL))) { _bc=X291base_class((((T808*)C))->_current_type/*4*/); _bfbc=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_base_class/*4*/); /*IF*/if ((_bc)==((void*)(_bfbc))) { R=/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_clients/*20*/); } else { R=r605clients_for(((T605*)_bc),(((T808*)C))->_name/*16*/); } /*FI*/C->_clients_memory=R; } else { R=(((T808*)C))->_clients_memory/*8*/; } /*FI*/return R; } int r808use_current(T808* C){ int R=0; {int z1=(((T808*)C))->_use_current_state/*40*/; if((1004==z1)){ R=1; } else if((1003==z1)){ } else if((1005==z1)){ C->_use_current_state=1006; /*[IRF3.4compute_use_current*/r808std_compute_use_current(C); /*]*/ R=r808use_current(C); } else {R=1; }} return R; } /*No:RUN_FEATURE_1.fatal_error*/ void r808mapping_c(T808* C){ T0* _real_constant=NULL; /*IF*/if (X291is_double((((T808*)C))->_result_type/*24*/)) { _real_constant=(((T808*)C))->_value/*48*/; if(NULL!=(_real_constant))switch(((T0*)_real_constant)->id) { case 936: break; default: _real_constant=NULL; };/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T936*)((T936*)_real_constant)))->_to_string/*16*/); /*]*/ } else { X662compile_to_c((((T808*)C))->_value/*48*/); } /*FI*/} void r808address_of(T808* C){ r683add_position(r808start_position(C)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_808); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } void r808put_tag(T808* C){ T0* _fn=NULL; /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ _fn=/*X418*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/); X776cpp_put_infix_or_prefix(_fn); /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496)); /*]*/ /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*X418*/((T0*)/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/)))))->_to_string/*0*/); /*]*/ /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)); char b1='\42'; putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/))); }/*]*/ /*]*/ } /*No:RUN_FEATURE_1.clients_memory*/ void r808initialize(T808* C){ int _i=0; _i=r953index_of(((T953*)(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_names/*8*/))),(((T808*)C))->_name/*16*/); C->_value=X418value((((T808*)C))->_base_feature/*44*/,_i); C->_value=X662to_runnable((((T808*)C))->_value/*48*/,(((T808*)C))->_current_type/*4*/); C->_result_type=X291to_runnable(/*X418*/((T0*)(((T380*)((T380*)((((T808*)C))->_base_feature/*44*/))))->_result_type/*12*/),(((T808*)C))->_current_type/*4*/); } /*No:RUN_FEATURE_1.afd_check*/