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 "pretty.h" int r669has_creation(T669* C,T0* a1){ int R=0; r683add_position(X776start_position(a1)); r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_669)); return R; } /*No:TYPE_ANY.is_anchored*/ /*No:TYPE_ANY.is_array*/ int r669is_a(T669* C,T0* a1){ int R=0; /*IF*/if (X291is_any(a1)) { R=1; } else { R=r605is_subclass_of(((T605*)(r669base_class(C))),X291base_class(a1)); } /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } /*No:TYPE_ANY.run_type*/ /*No:TYPE_ANY.is_pointer*/ /*No:TYPE_ANY.is_string*/ /*No:TYPE_ANY.is_like_feature*/ /*No:TYPE_ANY.is_like_current*/ void r669make(T669* C,T0* a1){ {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,((T0*)ms1_473),a1); C->_base_class_name=(T0*)n; } } /*No:TYPE_ANY.nb_errors*/ int fBC669check_type=0; void r669check_type(T669* C){ if (fBC669check_type==0){ T0* _rc=NULL; T0* _bc=NULL; fBC669check_type=1; _bc=r669base_class(C); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _rc=r669run_class(C); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((((T605*)((T605*)_bc)))->_is_expanded/*20*/) { r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_669)); } /*FI*/} /*FI*/}} /*No:TYPE_ANY.start_position*/ /*No:TYPE_ANY.fz_inako*/ /*No:TYPE_ANY.is_character*/ T0* r669written_mark(void){ T0* R=NULL; R=((T0*)ms1_473); return R; } T0* r669to_runnable(T669* C,T0* a1){ T0* R=NULL; R=(T0*)C; r669check_type(C); return R; } /*No:TYPE_ANY.is_run_type*/ /*No:TYPE_ANY.is_formal_generic*/ T0* r669generic_list(T669* C){ T0* R=NULL; r669fatal_error_generic_list(C); return R; } /*No:TYPE_ANY.is_real*/ /*No:TYPE_ANY.is_bit*/ void r669fatal_error_generic_list(T669* C){ r683add_type((T0*)C,((T0*)ms12_291)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*No:TYPE_ANY.pretty_print*/ /*No:TYPE_ANY.smallest_ancestor*/ /*No:TYPE_ANY.is_boolean*/ /*No:TYPE_ANY.is_double*/ T0* r669run_class(T669* C){ T0* R=NULL; R=r604run_class((T0*)C); return R; } T0* r669run_time_mark(void){ T0* R=NULL; R=((T0*)ms1_473); return R; } int r669is_a_in(T669* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if ((r669written_mark())==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r669to_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* r669look_up_for(T669* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r669base_class(C))),a1,a2); return R; } /*No:TYPE_ANY.expanded_initializer*/ /*No:TYPE_ANY.fz_dot*/ /*No:TYPE_ANY.is_generic*/ /*No:TYPE_ANY.used_as_reference*/ /*No:TYPE_ANY.is_reference*/ void r669error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } T0* r669base_class(T669* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T669*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_ANY.is_any*/ /*No:TYPE_ANY.base_class_name*/ /*No:TYPE_ANY.is_expanded*/ /*No:TYPE_ANY.is_basic_eiffel_expanded*/ /*No:TYPE_ANY.is_none*/ /*No:TYPE_ANY.is_integer*/ /*No:TYPE_ANY.us_any*/ /*No:CALL_INFIX_FREEOP.arguments*/ T0* r534add_comment(T534* 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 r534to_integer(T534* C){ int R=0; r534error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r534is_a(T534* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T534*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r534error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_FREEOP.is_current*/ void r534make(T534* C,T0* a1,T0* a2,T0* a3){ T0* _eal=NULL; {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3)); /*]*/ _eal=(T0*)n; } r534make_call_1(C,a1,a2,_eal); } void r534print_as_target(T534* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r534pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_INFIX_FREEOP.nb_errors*/ /*No:CALL_INFIX_FREEOP.feature_name*/ /*No:CALL_INFIX_FREEOP.fz_iinaiv*/ /*No:CALL_INFIX_FREEOP.run_feature*/ /*No:CALL_INFIX_FREEOP.start_position*/ /*No:CALL_INFIX_FREEOP.target*/ /*No:CALL_INFIX_FREEOP.precedence*/ T0* r534to_runnable(T534* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T534*)C))->_current_type/*4*/)==((void*)(NULL))) { r534to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T534*)C))->_arguments/*20*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r534error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T534*)C))->_arguments/*20*/)),(((T534*)C))->_run_feature/*12*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T534*)C))->_result_type/*16*/; 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(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r534twin(C); /*[IRF3.3set_current_type*/((((T534*)(((T534*)R))))->_current_type)=(NULL); /*]*/ R=r534to_runnable(((T534*)R),a1); } /*FI*/return R; } void r534bracketed_pretty_print(T534* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r534pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_INFIX_FREEOP.result_type*/ T0* r534twin(T534* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T534*)R)=*C; return R; } /*No:CALL_INFIX_FREEOP.set_current_type*/ /*No:CALL_INFIX_FREEOP.atomic_precedence*/ void r534pretty_print(T534* C){ /*IF*/if ((X662precedence((((T534*)C))->_target/*8*/))==(13)) { X662pretty_print((((T534*)C))->_target/*8*/); r534print_op(C); /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))==(13)) { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } else if ((10)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))==(13)) { /*IF*/if ((X662precedence((((T534*)C))->_target/*8*/))>=(10)) { X662bracketed_pretty_print((((T534*)C))->_target/*8*/); } else { X662pretty_print((((T534*)C))->_target/*8*/); } /*FI*/r534print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } else if ((10)<=(X662precedence((((T534*)C))->_target/*8*/))) { X662bracketed_pretty_print((((T534*)C))->_target/*8*/); r534print_op(C); /*IF*/if ((10)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else { X662pretty_print((((T534*)C))->_target/*8*/); r534print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T534*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} void r534print_op(T534* C){ r238put_character(((T238*)(oBC364fmt)),'\40'); /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T534*)C))->_feature_name/*24*/)); r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/); }/*]*/ r238put_character(((T238*)(oBC364fmt)),'\40'); } /*No:CALL_INFIX_FREEOP.current_type*/ void r534make_call_1(T534* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_FREEOP.is_manifest_string*/ /*No:CALL_INFIX_FREEOP.is_void*/ void r534to_runnable_0(T534* C,T0* a1){ C->_current_type=a1; r534cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T534*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T534*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T534*)C))->_run_feature/*12*/)); r534error((((T454*)((T454*)((((T534*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T534*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T534*)C))->_target/*8*/); } /*FI*/} void r534cpc_to_runnable(T534* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T534*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T534*)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((((T534*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T534*)C))->_target/*8*/,(((T534*)C))->_run_feature/*12*/); } void r534error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_FREEOP.fatal_error*/ /*No:CALL_INFIX_FREEOP.fz_bad_argument*/ /*No:CALL_INFIX_FREEOP.arg1*/ /*No:CALL_N.arguments*/ T0* r915add_comment(T915* 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 r915to_integer(T915* C){ int R=0; r915error(r915start_position(C),((T0*)ms69_470)); return R; } int r915is_a(T915* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T915*)C))->_result_type/*20*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(r915start_position(C)); r915error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_N.fz_bad_arguments*/ /*No:CALL_N.is_current*/ void r915make(T915* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } void r915print_as_target(T915* C){ r915pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_N.nb_errors*/ /*No:CALL_N.feature_name*/ /*No:CALL_N.fz_iinaiv*/ /*No:CALL_N.dot_precedence*/ /*No:CALL_N.run_feature*/ T0* r915start_position(T915* C){ T0* R=NULL; R=X776start_position((((T915*)C))->_feature_name/*12*/); return R; } /*No:CALL_N.target*/ /*No:CALL_N.precedence*/ T0* r915to_runnable(T915* C,T0* a1){ T0* R=NULL; T0* _e=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T915*)C))->_current_type/*4*/)==((void*)(NULL))) { r915to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T915*)C))->_arguments/*24*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r915error(r431start_position(((T431*)((((T915*)C))->_arguments/*24*/))),((T0*)ms56_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T915*)C))->_arguments/*24*/)),(((T915*)C))->_run_feature/*16*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T915*)C))->_result_type/*20*/; if(NULL!=(_tla))switch(((T0*)_tla)->id) { case 239: break; default: _tla=NULL; };/*IF*/if ((_tla)!=((void*)(NULL))) { _e=r431expression(((T431*)((((T915*)C))->_arguments/*24*/)),/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*16*//*)*/); C->_result_type=X291run_type(X662result_type(_e)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r915twin(C); /*[IRF3.3set_current_type*/((((T915*)(((T915*)R))))->_current_type)=(NULL); /*]*/ R=r915to_runnable(((T915*)R),a1); } /*FI*/return R; } void r915bracketed_pretty_print(T915* C){ X662print_as_target((((T915*)C))->_target/*8*/); r238put_string(((T238*)(oBC364fmt)),X776to_string((((T915*)C))->_feature_name/*12*/)); r238level_incr(((T238*)(oBC364fmt))); r431pretty_print(((T431*)((((T915*)C))->_arguments/*24*/))); r238level_decr(((T238*)(oBC364fmt))); } /*No:CALL_N.result_type*/ T0* r915twin(T915* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T915*)R)=*C; return R; } /*No:CALL_N.set_current_type*/ void r915pretty_print(T915* C){ X662print_as_target((((T915*)C))->_target/*8*/); r238put_string(((T238*)(oBC364fmt)),X776to_string((((T915*)C))->_feature_name/*12*/)); r238level_incr(((T238*)(oBC364fmt))); r431pretty_print(((T431*)((((T915*)C))->_arguments/*24*/))); r238level_decr(((T238*)(oBC364fmt))); } /*No:CALL_N.current_type*/ /*No:CALL_N.is_manifest_string*/ /*No:CALL_N.is_void*/ void r915to_runnable_0(T915* C,T0* a1){ C->_current_type=a1; r915cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T915*)C))->_run_feature/*16*/))))->_result_type/*24*/); /*IF*/if (((((T915*)C))->_result_type/*20*/)==((void*)(NULL))) { r683add_position(X496start_position((((T915*)C))->_run_feature/*16*/)); r915error(X776start_position((((T915*)C))->_feature_name/*12*/),((T0*)ms1_295)); } else if (X291is_like_current((((T915*)C))->_result_type/*20*/)) { C->_result_type=X662result_type((((T915*)C))->_target/*8*/); } /*FI*/} void r915cpc_to_runnable(T915* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T915*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T915*)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((((T915*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T915*)C))->_target/*8*/,(((T915*)C))->_run_feature/*16*/); } void r915error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_N.fatal_error*/ void r999error_comparison(T999* C,T0* a1){ r683add_position((((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms7_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms8_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((((T999*)C))->_current_type/*4*/,((T0*)ms67_470)); r683print_as_error(((T683*)(oBC364eh))); } /*No:CALL_INFIX_EQ.arguments*/ T0* r999add_comment(T999* 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 r999to_integer(T999* C){ int R=0; r999error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r999is_a(T999* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T999*)C))->_result_type/*12*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/); r999error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_EQ.is_current*/ T0* r999type_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;} void r999make(T999* 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,r999operator(),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; } r999make_call_1(C,a1,(((T999*)C))->_feature_name/*20*/,_eal); } void r999print_as_target(T999* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r999pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_INFIX_EQ.nb_errors*/ void r999to_runnable_equal_not_equal(T999* C,T0* a1){ T0* _at=NULL; T0* _tt=NULL; T0* _a=NULL; T0* _t=NULL; C->_current_type=a1; _t=X662to_runnable((((T999*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r999error(X662start_position((((T999*)C))->_target/*8*/),((T0*)ms1_841)); } else { C->_target=_t; } /*FI*/_a=r431to_runnable(((T431*)((((T999*)C))->_arguments/*16*/)),a1); /*IF*/if ((_a)!=((void*)(NULL))) { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tt=X291run_type(X662result_type((((T999*)C))->_target/*8*/)); _at=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/)); /*IF*/if (X291is_none(_tt)) { /*IF*/if (X291is_expanded(_at)) { X291used_as_reference(_at); } /*FI*/} else if (X291is_none(_at)) { /*IF*/if (X291is_expanded(_tt)) { X291used_as_reference(_tt); } /*FI*/} else if (X291is_reference(_tt)) { /*IF*/if (X291is_reference(_at)) { /*IF*/if (X291is_a(_tt,_at)) { } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (X291is_a(_at,_tt)) { } else { r999error_comparison(C,((T0*)ms2_841)); } /*FI*/} /*FI*/} else if (!(X291is_a(_at,_tt))) { r999error_comparison(C,((T0*)ms3_841)); } else { X291used_as_reference(_at); } /*FI*/} else { /*IF*/if (X291is_expanded(_at)) { /*IF*/if (X291is_basic_eiffel_expanded(_at)) { /*IF*/if (X291is_a(_tt,_at)) { } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (X291is_a(_at,_tt)) { } else { r999error_comparison(C,((T0*)ms4_841)); } /*FI*/} /*FI*/} else if (X291is_bit(_tt)) { r999bit_limitation(C,_tt,_at); } else if (!(X291is_a(_at,_tt))) { r999error_comparison(C,((T0*)ms5_841)); } /*FI*/} else if (!(X291is_a(_tt,_at))) { r999error_comparison(C,((T0*)ms6_841)); } else { X291used_as_reference(_tt); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_EQ.feature_name*/ /*No:CALL_INFIX_EQ.fz_iinaiv*/ /*No:CALL_INFIX_EQ.start_position*/ /*No:CALL_INFIX_EQ.target*/ /*No:CALL_INFIX_EQ.precedence*/ T0* r999to_runnable(T999* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T999*)C))->_current_type/*4*/)==((void*)(NULL))) { r999to_runnable_equal_not_equal(C,a1); C->_result_type=r999type_boolean(); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T999*n=malloc(sizeof(*n)); *n=M999; r999make(n,(((T999*)C))->_target/*8*/,(((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/,/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); R=(T0*)n; } R=r999to_runnable(((T999*)R),a1); } /*FI*/return R; } void r999bracketed_pretty_print(T999* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r999pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_INFIX_EQ.result_type*/ T0* r999operator(void){ T0* R=NULL; R=((T0*)ms31_473); return R; } /*No:CALL_INFIX_EQ.atomic_precedence*/ void r999pretty_print(T999* C){ /*IF*/if ((X662precedence((((T999*)C))->_target/*8*/))==(13)) { X662pretty_print((((T999*)C))->_target/*8*/); r999print_op(C); /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))==(13)) { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))==(13)) { /*IF*/if ((X662precedence((((T999*)C))->_target/*8*/))>=(6)) { X662bracketed_pretty_print((((T999*)C))->_target/*8*/); } else { X662pretty_print((((T999*)C))->_target/*8*/); } /*FI*/r999print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } else if ((6)<=(X662precedence((((T999*)C))->_target/*8*/))) { X662bracketed_pretty_print((((T999*)C))->_target/*8*/); r999print_op(C); /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} else { X662pretty_print((((T999*)C))->_target/*8*/); r999print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T999*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} void r999print_op(T999* C){ r238put_character(((T238*)(oBC364fmt)),'\40'); /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T999*)C))->_feature_name/*20*/)); r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/); }/*]*/ r238put_character(((T238*)(oBC364fmt)),'\40'); } void r999bit_limitation(T999* C,T0* a1,T0* a2){ T0* _b2=NULL; T0* _b1=NULL; _b1=a1; if(NULL!=(_b1))switch(((T0*)_b1)->id) { case 549: case 558: break; default: _b1=NULL; };_b2=a2; if(NULL!=(_b2))switch(((T0*)_b2)->id) { case 549: case 558: break; default: _b2=NULL; };/*IF*/if ((X609nb(_b1))!=(X609nb(_b2))) { r683add_position((((T454*)((T454*)((((T999*)C))->_feature_name/*20*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms9_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(_b1,((T0*)ms10_841)); r683add_type(_b2,((T0*)ms11_841)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/} /*No:CALL_INFIX_EQ.current_type*/ void r999make_call_1(T999* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_EQ.is_manifest_string*/ /*No:CALL_INFIX_EQ.us_eq*/ /*No:CALL_INFIX_EQ.is_void*/ /*No:CALL_INFIX_EQ.fz_dot*/ void r999error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_EQ.fatal_error*/ /*No:CALL_INFIX_EQ.arg1*/ /*No:TYPE_GENERIC.fz_is_invalid*/ int r720has_creation(T720* C,T0* a1){ int R=0; R=r605has_creation(((T605*)(r720base_class(C))),a1); return R; } /*No:TYPE_GENERIC.set_run_type_memory*/ /*No:TYPE_GENERIC.is_anchored*/ /*No:TYPE_GENERIC.is_array*/ int r720is_a(T720* C,T0* a1){ int R=0; T0* _t2=NULL; T0* _t1=NULL; int _i=0; /*IF*/if (X291is_none(a1)) { } else if ((r720run_class(C))==((void*)(X291run_class(a1)))) { R=1; } else if (X291is_generic(a1)) { /*IF*/if ((r720base_class(C))==((void*)(X291base_class(a1)))) { R=1; _i=(((T701*)((T701*)((((T720*)C))->_generic_list/*8*/))))->_upper/*8*/; while (!((!(R))||((_i)==(0)))) { _t1=X291run_type(r701item(((T701*)((((T720*)C))->_generic_list/*8*/)),_i)); _t2=X291run_type(r701item(((T701*)(X291generic_list(a1))),_i)); /*IF*/if (X291is_a(_t1,_t2)) { _i=(_i)-(1); } else { R=0; /*[IRF3.6append*/{T0* b1=((T0*)ms59_470); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ } /*FI*/} } else if (r605is_subclass_of(((T605*)(r720base_class(C))),X291base_class(a1))) { R=r605is_a_vncg(((T605*)(r720base_class(C))),(T0*)C,a1); } /*FI*/} else { /*IF*/if (r605is_subclass_of(((T605*)(r720base_class(C))),X291base_class(a1))) { R=1; } /*FI*/} /*FI*//*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms1_720)); } /*FI*/return R; } /*No:TYPE_GENERIC.is_pointer*/ T0* r720run_type(T720* C){ T0* R=NULL; /*IF*/if (r720is_run_type(C)) { R=(((T720*)C))->_run_type_memory/*16*/; } /*FI*/return R; } /*No:TYPE_GENERIC.is_string*/ /*No:TYPE_GENERIC.is_like_feature*/ /*No:TYPE_GENERIC.is_like_current*/ void r720basic_checks(T720* C){ T0* _fgl=NULL; T0* _bc=NULL; _bc=r720base_class(C); _fgl=(((T605*)((T605*)_bc)))->_formal_generic_list/*28*/; /*IF*/if ((_fgl)==((void*)(NULL))) { r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/); /*[IRF3.6append*/{T0* b1=(((T451*)((T451*)((((T605*)((T605*)_bc)))->_base_class_name/*24*/))))->_to_string/*0*/; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_720); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if ((/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)_fgl)))->_list/*4*/))))->_upper/*8*//*)*/)!=(r701count(((T701*)((((T720*)C))->_generic_list/*8*/))))) { r683add_position(/*(IRF4.6start_position*/(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/); r683add_position((((T881*)((T881*)_fgl)))->_start_position/*0*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms61_470); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} void r720make(T720* C,T0* a1,T0* a2){ T0* _t=NULL; int _i=0; C->_base_class_name=a1; C->_generic_list=a2; r7copy(((T7*)(oBC720tmp_mark)),(((T451*)((T451*)a1)))->_to_string/*0*/); r7extend(((T7*)(oBC720tmp_mark)),'\133'); _i=1; while (!((_i)>((((T701*)((T701*)a2)))->_upper/*8*/))) { _t=r701item(((T701*)a2),_i); r7append(((T7*)(oBC720tmp_mark)),X291written_mark(_t)); _i=(_i)+(1); /*IF*/if ((_i)<=((((T701*)((T701*)a2)))->_upper/*8*/)) { r7extend(((T7*)(oBC720tmp_mark)),'\54'); } /*FI*/} r7extend(((T7*)(oBC720tmp_mark)),'\135'); C->_written_mark=r902item(oBC720tmp_mark); } T0* r720type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} /*No:TYPE_GENERIC.start_position*/ /*No:TYPE_GENERIC.fz_inako*/ /*No:TYPE_GENERIC.is_character*/ /*No:TYPE_GENERIC.written_mark*/ T0* r720to_runnable(T720* C,T0* a1){ T0* R=NULL; T0* _rt=NULL; T0* _t2=NULL; T0* _t1=NULL; T0* _rgl=NULL; int _i=0; /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)==((void*)(NULL))) { /*IF*/if (r720is_written_runnable(C)) { C->_run_type_memory=(T0*)C; r720basic_checks(C); R=(T0*)C; } else { _rgl=r701twin(((T701*)((((T720*)C))->_generic_list/*8*/))); _i=(((T701*)((T701*)_rgl)))->_upper/*8*/; while (!((_i)==(0))) { _t1=r701item(((T701*)_rgl),_i); _t2=X291to_runnable(_t1,a1); /*IF*/if (((_t2)==((void*)(NULL)))||(!(X291is_run_type(_t2)))) { r683add_type(_t1,((T0*)ms72_470)); r683print_as_error(((T683*)(oBC364eh))); _i=0; } else { /*[IRF3.6put*/{T701* C1=((T701*)_rgl); T0* b1=_t2; int b2=_i; ((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_t2=X291run_type(_t2); /*IF*/if (X291is_expanded(_t2)) { r368set_at_run_time(((T368*)(X291run_class(_t2)))); } /*FI*/_i=(_i)-(1); } {T720*n=malloc(sizeof(*n)); *n=M720; r720make_runnable(n,(T0*)C,_rgl); _rt=(T0*)n; } /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)==((void*)(NULL))) { C->_run_type_memory=_rt; R=(T0*)C; } else { R=r720twin(C); /*[IRF3.3set_run_type_memory*/((((T720*)(((T720*)R))))->_run_type_memory)=(_rt); /*]*/ } /*FI*/} /*FI*/} else if (r720is_written_runnable(C)) { R=(T0*)C; } else { _rgl=r701twin(((T701*)((((T720*)C))->_generic_list/*8*/))); _i=(((T701*)((T701*)_rgl)))->_upper/*8*/; while (!((_i)==(0))) { _t1=r701item(((T701*)_rgl),_i); _t2=X291to_runnable(_t1,a1); /*IF*/if (((_t2)==((void*)(NULL)))||(!(X291is_run_type(_t2)))) { r683add_type(_t1,((T0*)ms72_470)); r683print_as_error(((T683*)(oBC364eh))); _i=0; } else { /*[IRF3.6put*/{T701* C1=((T701*)_rgl); T0* b1=_t2; int b2=_i; ((((T701*)C1))->_storage/*0*/)[(b2)-((((T701*)C1))->_lower/*12*/)]=(b1); }/*]*/ } /*FI*/_t2=X291run_type(_t2); /*IF*/if (X291is_expanded(_t2)) { r368set_at_run_time(((T368*)(X291run_class(_t2)))); } /*FI*/_i=(_i)-(1); } {T720*n=malloc(sizeof(*n)); *n=M720; r720make_runnable(n,(T0*)C,_rgl); _rt=(T0*)n; } R=r720twin(C); /*[IRF3.3set_run_type_memory*/((((T720*)(((T720*)R))))->_run_type_memory)=(_rt); /*]*/ } /*FI*/return R; } int r720is_run_type(T720* C){ int R=0; /*IF*/if (((((T720*)C))->_run_type_memory/*16*/)!=((void*)(NULL))) { R=1; } else if (r720is_written_runnable(C)) { C->_run_type_memory=(T0*)C; r720basic_checks(C); R=1; } /*FI*/return R; } /*No:TYPE_GENERIC.run_type_memory*/ /*No:TYPE_GENERIC.is_formal_generic*/ /*No:TYPE_GENERIC.generic_list*/ /*No:TYPE_GENERIC.is_real*/ int r720is_written_runnable(T720* C){ int R=0; T0* _t=NULL; int _i=0; R=1; _i=(((T701*)((T701*)((((T720*)C))->_generic_list/*8*/))))->_upper/*8*/; while (!((!(R))||((_i)==(0)))) { _t=r701item(((T701*)((((T720*)C))->_generic_list/*8*/)),_i); /*IF*/if (X291is_run_type(_t)) { /*IF*/if ((X291run_type(_t))==((void*)(_t))) { } else { R=0; } /*FI*/} else { R=0; } /*FI*/_i=(_i)-(1); } return R; } T0* r720twin(T720* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T720*)R)=*C; return R; } /*No:TYPE_GENERIC.fz_bnga*/ /*No:TYPE_GENERIC.is_bit*/ /*No:TYPE_GENERIC.pretty_print*/ T0* r720smallest_ancestor(T720* C,T0* a1){ T0* R=NULL; T0* _rto=NULL; _rto=X291run_type(a1); /*IF*/if (X291is_none(a1)) { R=(T0*)C; } else if (X291is_any(_rto)) { R=_rto; } else if (X291is_a(_rto,r720run_type(C))) { R=(((T720*)C))->_run_type_memory/*16*/; } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (r720is_a(((T720*)(r720run_type(C))),_rto)) { R=_rto; } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (X291is_generic(_rto)) { R=r720type_any(); } else { R=X291smallest_ancestor(_rto,(T0*)C); } /*FI*/} /*FI*/} /*FI*/return R; } /*No:TYPE_GENERIC.is_boolean*/ T0*oBC720tmp_mark=NULL; /*No:TYPE_GENERIC.is_double*/ T0* r720run_class(T720* C){ T0* R=NULL; /*IF*/if (r720is_run_type(C)) { R=r604run_class((((T720*)C))->_run_type_memory/*16*/); } /*FI*/return R; } T0* r720run_time_mark(T720* C){ T0* R=NULL; /*IF*/if (r720is_run_type(C)) { R=(((T720*)((T720*)((((T720*)C))->_run_type_memory/*16*/))))->_written_mark/*12*/; } /*FI*/return R; } int r720is_a_in(T720* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T720*)C))->_written_mark/*12*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r720to_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* r720look_up_for(T720* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r720base_class(C))),a1,a2); return R; } T0* r720expanded_initializer(T720* C){ T0* R=NULL; /*IF*/if (r720is_expanded(C)) { R=r605expanded_initializer(((T605*)(r720base_class(C))),(T0*)C); } /*FI*/return R; } /*No:TYPE_GENERIC.fz_dot*/ /*No:TYPE_GENERIC.fz_bga*/ /*No:TYPE_GENERIC.is_generic*/ /*No:TYPE_GENERIC.used_as_reference*/ int r720is_reference(T720* C){ int R=0; R=!((((T605*)((T605*)(r720base_class(C)))))->_is_expanded/*20*/); return R; } T0* r720base_class(T720* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=(((T720*)C))->_base_class_name/*4*/; /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } /*No:TYPE_GENERIC.fatal_error*/ /*No:TYPE_GENERIC.is_any*/ /*No:TYPE_GENERIC.base_class_name*/ int r720is_expanded(T720* C){ int R=0; R=(((T605*)((T605*)(r720base_class(C)))))->_is_expanded/*20*/; return R; } /*No:TYPE_GENERIC.is_basic_eiffel_expanded*/ /*No:TYPE_GENERIC.is_none*/ /*No:TYPE_GENERIC.is_integer*/ void r720make_runnable(T720* C,T0* a1,T0* a2){ T0* _t=NULL; int _i=0; C->_base_class_name=(((T720*)((T720*)a1)))->_base_class_name/*4*/; C->_generic_list=a2; r7copy(((T7*)(oBC720tmp_mark)),(((T451*)((T451*)((((T720*)C))->_base_class_name/*4*/))))->_to_string/*0*/); r7extend(((T7*)(oBC720tmp_mark)),'\133'); _i=1; while (!((_i)>((((T701*)((T701*)a2)))->_upper/*8*/))) { _t=r701item(((T701*)a2),_i); r7append(((T7*)(oBC720tmp_mark)),X291run_time_mark(_t)); _i=(_i)+(1); /*IF*/if ((_i)<=((((T701*)((T701*)a2)))->_upper/*8*/)) { r7extend(((T7*)(oBC720tmp_mark)),'\54'); } /*FI*/} r7extend(((T7*)(oBC720tmp_mark)),'\135'); C->_written_mark=r902item(oBC720tmp_mark); C->_run_type_memory=(T0*)C; } T0* r680language_name(void){ T0* R=NULL; R=((T0*)ms91_470); return R; } /*No:NATIVE_INLINE_WITHOUT_CURRENT.pretty_print*/ /*No:NATIVE_INLINE_WITHOUT_CURRENT.fz_c_inlinewithoutcurrent*/ /*No:STD_ERROR.make*/ T0*oBC817tmp_string=NULL; /*No:STD_ERROR.flush*/ void r441put_string(T441* C,T0* a1){ int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { /*[IRF3.6put_character*/{T441* C1=C; char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; putc(b1,((FILE*)(stderr))); }/*]*/ _i=(_i)+(1); } } void r441put_integer(T441* C,int a1){ /*[IRF3.3clear*/((((T7*)(((T7*)(oBC817tmp_string)))))->_count)=(0); /*]*/ r2append_in(a1,oBC817tmp_string); r441put_string(C,oBC817tmp_string); } /*No:STD_ERROR.put_character*/ /*No:STD_ERROR.put_new_line*/ void r64make(T64* C,T0* a1,T0* a2){ int _i=0; C->_name_list=a1; _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/); while (!((_i)==(0))) { /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i)))))))->_result_type)=(a2); /*]*/ _i=(_i)-(1); } } void r64append_in(T64* C,T0* a1){ int _i=0; _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_lower/*16*/); while (!((_i)>(/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/)))) { X535add_last(a1,/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i))); _i=(_i)+(1); } } void r64pretty_print(T64* C){ int _i=0; _i=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_lower/*16*/); X361pretty_print(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i))); _i=(_i)+(1); while (!((_i)>(/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/)))) { r238put_string(((T238*)(oBC364fmt)),((T0*)ms1_64)); X361pretty_print(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),_i))); _i=(_i)+(1); } r238put_string(((T238*)(oBC364fmt)),((T0*)ms2_64)); X291pretty_print(/*X361*/((T0*)(((T886*)((T886*)(/*X27*/((T0*)r733item(((T733*)((((T64*)C))->_name_list/*4*/)),1))))))->_result_type/*20*/)); } int r64count(T64* C){ int R=0; R=/*X27*/((int)(((T733*)((T733*)((((T64*)C))->_name_list/*4*/))))->_upper/*12*/); return R; } /*No:DECLARATION_GROUP.name_list*/ T0* r420add_comment(T420* 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 r420to_integer(T420* C){ int R=0; r420error(r420start_position(C),((T0*)ms69_470)); return R; } int r420is_a(T420* C,T0* a1){ int R=0; R=r709is_a(((T709*)((((T709*)((T709*)(r420result_type()))))->_run_type/*16*/)),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(r420start_position(C)); r420error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_STRIP.is_current*/ void r420make(T420* C,T0* a1,T0* a2){ /*IF*/if ((a2)!=((void*)(NULL))) { {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,a2); C->_list=(T0*)n; } } /*FI*/} void r420print_as_target(T420* C){ r420pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:E_STRIP.fz_iinaiv*/ T0* r420type_any(void){ if (fBC364type_any==0){ T0* R=NULL; fBC364type_any=1; {T669*n=malloc(sizeof(*n)); *n=M669; r669make(n,NULL); R=(T0*)n; } oBC364type_any=R;} return oBC364type_any;} T0* r420start_position(T420* C){ T0* R=NULL; /*IF*/if (((((T420*)C))->_list/*4*/)!=((void*)(NULL))) { R=X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T420*)C))->_list/*4*/))))->_list/*0*/)),1)/*)*/); } /*FI*/return R; } /*No:E_STRIP.precedence*/ T0* r420to_runnable(T420* C,T0* a1){ T0* R=NULL; r420error(r420start_position(C),((T0*)ms2_420)); return R; } void r420bracketed_pretty_print(T420* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r420pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); } int fBC420result_type=0; T0*oBC420result_type=NULL; T0* r420result_type(void){ if (fBC420result_type==0){ T0* R=NULL; fBC420result_type=1; {T709*n=malloc(sizeof(*n)); *n=M709; r709make(n,NULL,r420type_any()); R=(T0*)n; } oBC420result_type=R;} return oBC420result_type;} void r420pretty_print(T420* C){ r238put_string(((T238*)(oBC364fmt)),((T0*)ms3_420)); r238level_incr(((T238*)(oBC364fmt))); /*IF*/if (((((T420*)C))->_list/*4*/)!=((void*)(NULL))) { r953pretty_print(((T953*)((((T420*)C))->_list/*4*/))); } /*FI*/r238put_string(((T238*)(oBC364fmt)),((T0*)ms4_420)); r238level_decr(((T238*)(oBC364fmt))); } /*No:E_STRIP.list*/ /*No:E_STRIP.is_manifest_string*/ /*No:E_STRIP.is_void*/ void r420error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } void r517error_comparison(T517* C,T0* a1){ r683add_position((((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms7_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms8_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((((T517*)C))->_current_type/*4*/,((T0*)ms67_470)); r683print_as_error(((T683*)(oBC364eh))); } /*No:CALL_INFIX_NEQ.arguments*/ T0* r517add_comment(T517* 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 r517to_integer(T517* C){ int R=0; r517error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } int r517is_a(T517* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T517*)C))->_result_type/*12*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*//*)*/); r517error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_NEQ.is_current*/ T0* r517type_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;} void r517make(T517* 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,((T0*)ms1_517),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; } r517make_call_1(C,a1,(((T517*)C))->_feature_name/*20*/,_eal); } void r517print_as_target(T517* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r517pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); r238put_character(((T238*)(oBC364fmt)),'\56'); } /*No:CALL_INFIX_NEQ.nb_errors*/ void r517to_runnable_equal_not_equal(T517* C,T0* a1){ T0* _at=NULL; T0* _tt=NULL; T0* _a=NULL; T0* _t=NULL; C->_current_type=a1; _t=X662to_runnable((((T517*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r517error(X662start_position((((T517*)C))->_target/*8*/),((T0*)ms1_841)); } else { C->_target=_t; } /*FI*/_a=r431to_runnable(((T431*)((((T517*)C))->_arguments/*16*/)),a1); /*IF*/if ((_a)!=((void*)(NULL))) { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tt=X291run_type(X662result_type((((T517*)C))->_target/*8*/)); _at=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/)); /*IF*/if (X291is_none(_tt)) { /*IF*/if (X291is_expanded(_at)) { X291used_as_reference(_at); } /*FI*/} else if (X291is_none(_at)) { /*IF*/if (X291is_expanded(_tt)) { X291used_as_reference(_tt); } /*FI*/} else if (X291is_reference(_tt)) { /*IF*/if (X291is_reference(_at)) { /*IF*/if (X291is_a(_tt,_at)) { } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (X291is_a(_at,_tt)) { } else { r517error_comparison(C,((T0*)ms2_841)); } /*FI*/} /*FI*/} else if (!(X291is_a(_at,_tt))) { r517error_comparison(C,((T0*)ms3_841)); } else { X291used_as_reference(_at); } /*FI*/} else { /*IF*/if (X291is_expanded(_at)) { /*IF*/if (X291is_basic_eiffel_expanded(_at)) { /*IF*/if (X291is_a(_tt,_at)) { } else { /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0); /*]*/ r38clear(((T38*)(oBC683positions))); /*]*/ /*IF*/if (X291is_a(_at,_tt)) { } else { r517error_comparison(C,((T0*)ms4_841)); } /*FI*/} /*FI*/} else if (X291is_bit(_tt)) { r517bit_limitation(C,_tt,_at); } else if (!(X291is_a(_at,_tt))) { r517error_comparison(C,((T0*)ms5_841)); } /*FI*/} else if (!(X291is_a(_tt,_at))) { r517error_comparison(C,((T0*)ms6_841)); } else { X291used_as_reference(_tt); } /*FI*/} /*FI*/} /*FI*/} /*No:CALL_INFIX_NEQ.feature_name*/ /*No:CALL_INFIX_NEQ.fz_iinaiv*/ /*No:CALL_INFIX_NEQ.start_position*/ /*No:CALL_INFIX_NEQ.target*/ /*No:CALL_INFIX_NEQ.precedence*/ T0* r517to_runnable(T517* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T517*)C))->_current_type/*4*/)==((void*)(NULL))) { r517to_runnable_equal_not_equal(C,a1); C->_result_type=r517type_boolean(); /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { {T517*n=malloc(sizeof(*n)); *n=M517; r517make(n,(((T517*)C))->_target/*8*/,(((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/,/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); R=(T0*)n; } R=r517to_runnable(((T517*)R),a1); } /*FI*/return R; } void r517bracketed_pretty_print(T517* C){ r238put_character(((T238*)(oBC364fmt)),'\50'); r517pretty_print(C); r238put_character(((T238*)(oBC364fmt)),'\51'); } /*No:CALL_INFIX_NEQ.result_type*/ /*No:CALL_INFIX_NEQ.operator*/ /*No:CALL_INFIX_NEQ.atomic_precedence*/ void r517pretty_print(T517* C){ /*IF*/if ((X662precedence((((T517*)C))->_target/*8*/))==(13)) { X662pretty_print((((T517*)C))->_target/*8*/); r517print_op(C); /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))==(13)) { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} else if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))==(13)) { /*IF*/if ((X662precedence((((T517*)C))->_target/*8*/))>=(6)) { X662bracketed_pretty_print((((T517*)C))->_target/*8*/); } else { X662pretty_print((((T517*)C))->_target/*8*/); } /*FI*/r517print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } else if ((6)<=(X662precedence((((T517*)C))->_target/*8*/))) { X662bracketed_pretty_print((((T517*)C))->_target/*8*/); r517print_op(C); /*IF*/if ((6)<=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/))) { X662bracketed_pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } else { X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} else { X662pretty_print((((T517*)C))->_target/*8*/); r517print_op(C); X662pretty_print(/*(IRF4.6arg1*/r431first(((T431*)((((T517*)C))->_arguments/*16*/)))/*)*/); } /*FI*/} void r517print_op(T517* C){ r238put_character(((T238*)(oBC364fmt)),'\40'); /*[IRF3.6pretty_print*/{T454* C1=((T454*)((((T517*)C))->_feature_name/*20*/)); r238put_string(((T238*)(oBC364fmt)),(((T454*)C1))->_to_string/*4*/); }/*]*/ r238put_character(((T238*)(oBC364fmt)),'\40'); } void r517bit_limitation(T517* C,T0* a1,T0* a2){ T0* _b2=NULL; T0* _b1=NULL; _b1=a1; if(NULL!=(_b1))switch(((T0*)_b1)->id) { case 549: case 558: break; default: _b1=NULL; };_b2=a2; if(NULL!=(_b2))switch(((T0*)_b2)->id) { case 549: case 558: break; default: _b2=NULL; };/*IF*/if ((X609nb(_b1))!=(X609nb(_b2))) { r683add_position((((T454*)((T454*)((((T517*)C))->_feature_name/*20*/))))->_start_position/*8*/); /*[IRF3.6append*/{T0* b1=((T0*)ms9_841); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type(_b1,((T0*)ms10_841)); r683add_type(_b2,((T0*)ms11_841)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/} /*No:CALL_INFIX_NEQ.current_type*/ void r517make_call_1(T517* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_NEQ.is_manifest_string*/ /*No:CALL_INFIX_NEQ.is_void*/ /*No:CALL_INFIX_NEQ.fz_dot*/ void r517error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_NEQ.fatal_error*/ /*No:CALL_INFIX_NEQ.arg1*/