home *** CD-ROM | disk | FTP | other *** search
Wrap
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.97) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "compile_to_c.h" int rT112is_a(/*C*/T0 * a1){ int R=0; R=1; return R; } void rT112expanded_to_reference(T112 *C){ /*IF*/if (((T0 *)rT112run_type(C))!=((T0 *)C)) { XrT58expanded_to_reference(rT112run_type(C)); } /*AF*//*FI*/} int rT112has_creation(T112 *C,T0 * a1){ int R=0; /*UT*/(T45*)oRBC27eh; rT45add_position(XrT67start_position(a1)); rT112error(rT112start_position(C),(T0 *)ms1493); return R; } void rT112make(T112 *C,T0 * a1){ {T48 *n=((T48*)new(48)); rT48make(n,(T0 *)ms185,a1); C->_base_class_name=(T0 *)n;} } void rT112c_type_in(/*C*/T0* a1){ } void rT113fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } void rT113cast_to_ref(T113 *C){ XrT58cast_to_ref(rT113run_type(C)); } T0* rT113generic_list(T113 *C){ T0* R=NULL; /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1437); rT45print_as_fatal_error((T45*)oRBC27eh); return R; } T0 * rT113look_up_for(T113 *C,T0 * a1,T0 * a2){ T0 * R=NULL; T0 * _bc=NULL; _bc=rT113base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms481); /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms38); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } T0 * rT113run_class(T113 *C){ T0 * R=NULL; R=(/*UT*/(T52*)oRBC27small_eiffel, rT52run_class(rT113run_type(C))); return R; } void rT113mapping_c_in(/*C*/T0* a1){ rT7append((T7*)a1,(T0 *)ms1464); } T0 * rT113smallest_ancestor(T113 *C,T0 * a1){ T0 * R=NULL; R=(T0 *)C; return R; } void rT113expanded_to_reference(T113 *C){ /*IF*/if (((T0 *)rT113run_type(C))!=((T0 *)C)) { XrT58expanded_to_reference(rT113run_type(C)); } else {/*AT*//*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1007); rT113fatal_error((T0 *)ms1008); } /*FI*/} int rT113is_a(T113 *C,T0 * a1){ int R=0; /*IF*/if (XrT58is_pointer(a1)) { R=1; } else { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1487); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms38); } /*FI*/return R; } void rT113make(T113 *C,T0 * a1){ {T48 *n=((T48*)new(48)); rT48make(n,(T0 *)ms186,a1); C->_base_class_name=(T0 *)n;} } void rT113c_type_in(T113 *C,T0* a1){ rT7append((T7*)a1,(C)->_c_type); } T0 * rT113run_type(T113 *C){ T0 * R=NULL; R=(T0 *)C; return R; } T0 * rT113to_runnable(T113 *C,T0 * a1){ T0 * R=NULL; T0* _bcw=NULL; rT113check_type(C); R=(T0 *)C; _bcw=((T48*)((T46*)rT113start_position(C))->_base_class_name)->_to_string; /*IF*/if ((((T0 *)_bcw)==((T0 *)(T0 *)ms187))||(((T0 *)_bcw)==((T0 *)(T0 *)ms193))) { {T7 *n=((T7*)new(7)); rT7make(n,8); C->_c_type=(T0 *)n;} XrT58c_type_in(rT106item((T106*)XrT58generic_list(a1),1),(C)->_c_type); rT7extend((T7*)(C)->_c_type,'\52'); } else if (((T0 *)_bcw)==((T0 *)(T0 *)ms188)) { C->_c_type=(T0 *)ms1453; } else { C->_c_type=(T0 *)ms1454; } /*FI*/return R; } void rT113error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0 * rT113start_position(T113 *C){ T0 * R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0 * rT113base_class(T113 *C){ T0 * R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } int rT113is_a_in(T113 *C,T0 * a1,T0 * a2){ int R=0; T0 * _ct=NULL; T0 * _t2=NULL; T0 * _t1=NULL; /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms186/*)*/,XrT58written_mark(a1))) { R=1; } else { _ct=((T260*)a2)->_current_type; _t1=rT113to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT113copy(T113 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int ofBC113check_type=0; void rT113check_type(T113 *C){ T0 * _rc=NULL; T0 * _bc=NULL; if (ofBC113check_type==0){ ofBC113check_type=1; _bc=rT113base_class(C); /*IF*/if (!(_bc)) { rT113error(rT113start_position(C),(T0 *)ms1451); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _rc=rT113run_class(C); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!(((T50*)_bc)->_is_expanded)) { rT113error(rT113start_position(C),(T0 *)ms1452); } /*FI*/} /*FI*/} } int rT113has_creation(T113 *C,T0 * a1){ int R=0; /*UT*/(T45*)oRBC27eh; rT45add_position(XrT67start_position(a1)); rT113error(rT113start_position(C),(T0 *)ms1494); return R; } void rT114fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } int ofBC114used_as_reference=0; void rT114used_as_reference(/*C*/void){ if (ofBC114used_as_reference==0){ ofBC114used_as_reference=1; rT114load_ref((T0 *)ms197); } } T0* rT114generic_list(T114 *C){ T0* R=NULL; /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1437); rT45print_as_fatal_error((T45*)oRBC27eh); return R; } T0 * rT114look_up_for(T114 *C,T0 * a1,T0 * a2){ T0 * R=NULL; T0 * _bc=NULL; _bc=rT114base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms481); /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms38); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } T0 * rT114run_class(T114 *C){ T0 * R=NULL; R=(/*UT*/(T52*)oRBC27small_eiffel, rT52run_class(rT114run_type(C))); return R; } void rT114mapping_c_in(/*C*/T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(/*(IRF4*/4/*)*/,a1); } T0 * rT114smallest_ancestor(T114 *C,T0 * a1){ T0 * R=NULL; T0 * _rto=NULL; _rto=XrT58run_type(a1); /*IF*/if (XrT58is_integer(_rto)) { R=(T0 *)C; } else if (XrT58is_real(_rto)) { R=(T0 *)C; } else if (XrT58is_double(_rto)) { R=a1; } else if (XrT58is_reference(_rto)) { R=rT116smallest_ancestor((T116*)rT114type_real_ref(),a1); } else { rT114fatal_error((T0 *)ms1474); } /*FI*/return R; } void rT114expanded_to_reference(T114 *C){ rT40conversion((T40*)oRBC27cpp,(T0 *)C,rT114type_real_ref()); } int rT114is_a(T114 *C,T0 * a1){ int R=0; /*IF*/if ((XrT58is_real(a1))||(XrT58is_double(a1))) { R=1; } else { R=rT50is_subclass_of((T50*)rT114base_class(C),XrT58base_class(a1)); } /*FI*//*IF*/if (!(R)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms38); } /*FI*/return R; } void rT114make(T114 *C,T0 * a1){ {T48 *n=((T48*)new(48)); rT48make(n,(T0 *)ms196,a1); C->_base_class_name=(T0 *)n;} } void rT114c_type_in(/*C*/T0* a1){ rT7append((T7*)a1,(T0 *)ms1500); } int ofBC27type_real_ref=0; T0*oRBC27type_real_ref; T0 * rT114type_real_ref(/*C*/void){ T0 * R=NULL; T0 * _real_ref=NULL; if (ofBC27type_real_ref==0){ ofBC27type_real_ref=1; {T48 *n=((T48*)new(48)); rT48make(n,(T0 *)ms197,NULL); _real_ref=(T0 *)n;} {T116 *n=((T116*)new(116)); /*(IRF3*/((n)->_base_class_name)=(_real_ref); /*)*/R=(T0 *)n;} oRBC27type_real_ref=R;} return oRBC27type_real_ref;} T0 * rT114run_type(T114 *C){ T0 * R=NULL; R=(T0 *)C; return R; } T0 * rT114to_runnable(T114 *C,T0 * a1){ T0 * R=NULL; R=(T0 *)C; rT114check_type(C); return R; } void rT114error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0 * rT114start_position(T114 *C){ T0 * R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0 * rT114base_class(T114 *C){ T0 * R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } int rT114is_a_in(T114 *C,T0 * a1,T0 * a2){ int R=0; T0 * _ct=NULL; T0 * _t2=NULL; T0 * _t1=NULL; /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms196/*)*/,XrT58written_mark(a1))) { R=1; } else { _ct=((T260*)a2)->_current_type; _t1=rT114to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT114copy(T114 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int ofBC114check_type=0; void rT114check_type(T114 *C){ T0 * _rc=NULL; T0 * _bc=NULL; if (ofBC114check_type==0){ ofBC114check_type=1; _bc=rT114base_class(C); /*IF*/if (!(_bc)) { rT114error(rT114start_position(C),(T0 *)ms1455); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _rc=rT114run_class(C); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!(((T50*)_bc)->_is_expanded)) { rT114error(rT114start_position(C),(T0 *)ms1456); } /*FI*/} /*FI*/} } int rT114has_creation(T114 *C,T0 * a1){ int R=0; /*UT*/(T45*)oRBC27eh; rT45add_position(XrT67start_position(a1)); rT114error(rT114start_position(C),(T0 *)ms1492); return R; } void rT114load_ref(/*C*/T0* a1){ T0 * _rf=NULL; T0 * _rc=NULL; T0 * _cn=NULL; {T48 *n=((T48*)new(48)); rT48make(n,a1,NULL); _cn=(T0 *)n;} _rc=rT50run_class((T50*)rT48base_class((T48*)_cn)); rT260set_at_run_time((T260*)_rc); _rf=rT260get_feature_with((T260*)_rc,(T0 *)ms1462); } void rT115fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } T0 * rT115run_type(T115 *C){ T0 * R=NULL; R=(T0 *)C; return R; } T0 * rT115to_runnable(T115 *C,T0 * a1){ T0 * R=NULL; R=(T0 *)C; rT115check_type(C); return R; } void rT115cast_to_ref(T115 *C){ XrT58cast_to_ref(rT115run_type(C)); } void rT115error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0 * rT115start_position(T115 *C){ T0 * R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0* rT115generic_list(T115 *C){ T0* R=NULL; /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1437); rT45print_as_fatal_error((T45*)oRBC27eh); return R; } T0 * rT115look_up_for(T115 *C,T0 * a1,T0 * a2){ T0 * R=NULL; T0 * _bc=NULL; _bc=rT115base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms481); /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms38); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT115mapping_c_in(/*C*/T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(/*(IRF4*/7/*)*/,a1); } T0 * rT115run_class(T115 *C){ T0 * R=NULL; R=(/*UT*/(T52*)oRBC27small_eiffel, rT52run_class(rT115run_type(C))); return R; } T0 * rT115smallest_ancestor(T115 *C,T0 * a1){ T0 * R=NULL; T0 * _rto=NULL; _rto=XrT58run_type(a1); /*IF*/if (XrT58is_string(_rto)) { R=(T0 *)C; } else { rT115fatal_error((T0 *)ms1475); } /*FI*/return R; } T0 * rT115base_class(T115 *C){ T0 * R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } void rT115copy(T115 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT115is_a_in(T115 *C,T0 * a1,T0 * a2){ int R=0; T0 * _ct=NULL; T0 * _t2=NULL; T0 * _t1=NULL; /*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms188/*)*/,XrT58written_mark(a1))) { R=1; } else { _ct=((T260*)a2)->_current_type; _t1=rT115to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } int rT115is_a(T115 *C,T0 * a1){ int R=0; /*IF*/if (XrT58is_string(a1)) { R=1; } else { R=rT50is_subclass_of((T50*)rT115base_class(C),XrT58base_class(a1)); } /*FI*//*IF*/if (!(R)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms38); } /*FI*/return R; } void rT115expanded_to_reference(T115 *C){ /*IF*/if (((T0 *)rT115run_type(C))!=((T0 *)C)) { XrT58expanded_to_reference(rT115run_type(C)); } /*AF*//*FI*/} int rT115has_creation(T115 *C,T0 * a1){ int R=0; R=rT50has_creation((T50*)rT115base_class(C),a1); return R; } int ofBC115check_type=0; void rT115check_type(T115 *C){ T0 * _rc=NULL; T0 * _bc=NULL; int _ne=0; if (ofBC115check_type==0){ ofBC115check_type=1; _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; _bc=rT115base_class(C); /*IF*/if (!(_bc)) { rT115error(rT115start_position(C),(T0 *)ms1457); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { _rc=rT115run_class(C); } /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((T50*)_bc)->_is_expanded) { rT115error(rT115start_position(C),(T0 *)ms1458); } /*FI*/} /*FI*/} } void rT115make(T115 *C,T0 * a1){ {T48 *n=((T48*)new(48)); rT48make(n,(T0 *)ms188,a1); C->_base_class_name=(T0 *)n;} } void rT115c_type_in(/*C*/T0* a1){ rT7append((T7*)a1,(T0 *)ms764); } T0 * rT116type_any(/*C*/void){ T0 * R=NULL; if (ofBC27type_any==0){ ofBC27type_any=1; {T87 *n=((T87*)new(87)); rT87make(n,NULL); R=(T0 *)n;} oRBC27type_any=R;} return oRBC27type_any;} void rT116c_initialize_expanded(T116 *C){ T0 * _rf=NULL; int _i=0; T0* _wa=NULL; rT40put_character((T40*)oRBC27cpp,'\173'); _wa=rT260writable_attributes((T260*)rT116run_class(C)); /*IF*/if (((int)_wa)) { _i=1; while (!((_i)>(XrT265upper(_wa)))) { _rf=XrT265item(_wa,_i); XrT58c_initialize(XrT261result_type(_rf)); _i=(_i)+(1); /*IF*/if ((_i)<=(XrT265upper(_wa))) { rT40put_character((T40*)oRBC27cpp,'\54'); } /*FI*/} } /*FI*/rT40put_character((T40*)oRBC27cpp,'\175'); } void rT116c_initialize(T116 *C){ /*IF*/if (rT116is_expanded(C)) { rT116c_initialize_expanded(C); } else { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1409); } /*FI*/} T0* rT116run_time_mark(T116 *C){ T0* R=NULL; R=((T48*)(C)->_base_class_name)->_to_string; return R; } void rT116fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } T0 * rT116run_type(T116 *C){ T0 * R=NULL; R=(T0 *)C; return R; } T0 * rT116to_runnable(T116 *C,T0 * a1){ T0 * R=NULL; T0 * _rc=NULL; T0 * _bc=NULL; _bc=rT48base_class((T48*)(C)->_base_class_name); /*IF*/if (((T50*)_bc)->_is_expanded) { /*IF*/if (!(rT56fast_has((T56*)oRBC116check_memory,_bc))) { rT50check_expanded_with((T50*)_bc,(T0 *)C); rT56add_last((T56*)oRBC116check_memory,_bc); } /*FI*/} /*FI*/_rc=rT116run_class(C); R=(T0 *)C; return R; } void rT116cast_to_ref(T116 *C){ XrT58cast_to_ref(rT116run_type(C)); } void rT116error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT116id(T116 *C){ int R=0; R=((T50*)rT116base_class(C))->_id; return R; } T0 * rT116start_position(T116 *C){ T0 * R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0* rT116generic_list(T116 *C){ T0* R=NULL; /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1437); rT45print_as_fatal_error((T45*)oRBC27eh); return R; } int rT116is_reference(T116 *C){ int R=0; T0 * _bc=NULL; _bc=rT116base_class(C); /*IF*/if (!(_bc)) { rT116error(rT116start_position(C),(T0 *)ms1460); } else { R=!(((T50*)_bc)->_is_expanded); } /*FI*/return R; } T0 * rT116look_up_for(T116 *C,T0 * a1,T0 * a2){ T0 * R=NULL; T0 * _bc=NULL; _bc=rT116base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms481); /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms38); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT116mapping_c_in(T116 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT116id(C),a1); } void rT116mapping_cast(T116 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800); rT2append_in(rT116id(C),oRBC58tmp_string); /*IF*/if (rT116is_reference(C)) { rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } T0 * rT116run_class(T116 *C){ T0 * R=NULL; R=(/*UT*/(T52*)oRBC27small_eiffel, rT52run_class(rT116run_type(C))); return R; } int rT116is_expanded(T116 *C){ int R=0; T0 * _bc=NULL; _bc=rT116base_class(C); /*IF*/if (!(_bc)) { rT116error(rT116start_position(C),(T0 *)ms476); } else { R=((T50*)_bc)->_is_expanded; } /*FI*/return R; } T0 * rT116smallest_ancestor(T116 *C,T0 * a1){ T0 * R=NULL; T0 * _pl2=NULL; T0 * _pl1=NULL; T0 * _rto=NULL; _rto=XrT58run_type(a1); /*IF*/if (XrT58is_none(a1)) { R=(T0 *)C; } else if (XrT58is_any(_rto)) { R=a1; } else if (((T0 *)XrT58base_class(a1))==((T0 *)rT116base_class(C))) { R=(T0 *)C; } else { _pl1=((T50*)rT116base_class(C))->_parent_list; _pl2=((T50*)XrT58base_class(_rto))->_parent_list; /*IF*/if ((!(_pl1))&&(!(_pl2))) { R=rT116type_any(); } else if (!(_pl1)) { /*IF*/if ((rT131count((T131*)_pl2))==(1)) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl2))->_type,(T0 *)C); } else { rT116fatal_error((T0 *)ms1468); } /*FI*/} else if (!(_pl2)) { /*IF*/if ((rT131count((T131*)_pl1))==(1)) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl1))->_type,a1); } else { rT116fatal_error((T0 *)ms1469); } /*FI*/} else if (((rT131count((T131*)_pl1))==(1))&&((rT131count((T131*)_pl2))==(1))) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl1))->_type,((T118*)rT131super((T131*)_pl2))->_type); } else { rT116fatal_error((T0 *)ms1470); } /*FI*/} /*FI*/return R; } T0* rT116written_mark(T116 *C){ T0* R=NULL; R=((T48*)(C)->_base_class_name)->_to_string; return R; } T0 * rT116base_class(T116 *C){ T0 * R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } void rT116copy(T116 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT116is_a_in(T116 *C,T0 * a1,T0 * a2){ int R=0; T0 * _ct=NULL; T0 * _t2=NULL; T0 * _t1=NULL; /*IF*/if (rT7is_equal((T7*)rT116written_mark(C),XrT58written_mark(a1))) { R=1; } else { _ct=((T260*)a2)->_current_type; _t1=rT116to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT116c_struct(T116 *C){ T0* _wa=NULL; T0 * _a=NULL; int _i=0; /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms762); rT2append_in(rT116id(C),oRBC58tmp_string); rT7extend((T7*)oRBC58tmp_string,'\173'); /*IF*/if (rT116is_reference(C)) { rT7append((T7*)oRBC58tmp_string,(T0 *)ms763); } /*FI*/_wa=rT260writable_attributes((T260*)rT116run_class(C)); /*IF*/if (((int)_wa)) { _i=XrT265lower(_wa); while (!((_i)>(XrT265upper(_wa)))) { _a=XrT265item(_wa,_i); XrT58c_type_in(XrT58run_type(XrT261result_type(_a)),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms765); rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT261name(_a))); rT7extend((T7*)oRBC58tmp_string,'\73'); _i=(_i)+(1); } } /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms766); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } int rT116is_a(T116 *C,T0 * a1){ int R=0; T0 * _other_bc=NULL; _other_bc=XrT58base_class(a1); /*IF*/if (((T0 *)rT116base_class(C))==((T0 *)_other_bc)) { R=1; } else if (!(_other_bc)) { } else if (rT50is_subclass_of((T50*)rT116base_class(C),_other_bc)) { /*IF*/if (XrT58is_generic(a1)) { R=rT131is_a((T131*)((T50*)rT116base_class(C))->_parent_list,a1); } else { R=1; } /*FI*/} /*FI*//*IF*/if (!(R)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms38); } /*FI*/return R; } void rT116expanded_to_reference(T116 *C){ /*IF*/if (((T0 *)rT116run_type(C))!=((T0 *)C)) { XrT58expanded_to_reference(rT116run_type(C)); } else if (rT116is_expanded(C)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1007); rT116fatal_error((T0 *)ms1008); } /*FI*/} int rT116has_creation(T116 *C,T0 * a1){ int R=0; R=rT50has_creation((T50*)rT116base_class(C),a1); return R; } T0*oRBC116check_memory; void rT116c_typedef(T116 *C){ int _mem_id=0; _mem_id=rT116id(C); /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms755); rT2append_in(rT116id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms756); rT2append_in(rT116id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms757); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } void rT116c_type_in(T116 *C,T0* a1){ /*IF*/if (rT116is_reference(C)) { rT7append((T7*)a1,(T0 *)ms1501); } else { rT7extend((T7*)a1,'T'); rT2append_in(rT116id(C),a1); } /*FI*/} int rT117is_run_type(T117 *C){ int R=0; R=((int)(C)->_run_type); return R; } T0* rT117run_time_mark(T117 *C){ T0* R=NULL; R=((T117*)(C)->_run_type)->_written_mark; return R; } void rT117fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } T0 * rT117to_runnable(T117 *C,T0 * a1){ T0 * R=NULL; T0* _rgl=NULL; T0 * _t=NULL; int _i=0; /*IF*/if (((T0 *)(C)->_run_type)==((T0 *)C)) { R=(T0 *)C; } else if (!((C)->_run_type)) { {T106 *n=((T106*)new(106)); rT106make(n,1,rT106count((T106*)(C)->_generic_list)); _rgl=(T0 *)n;} _i=1; while (!((_i)>(((T106*)_rgl)->_upper))) { _t=XrT58to_runnable(rT106item((T106*)(C)->_generic_list,_i),a1); /*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) { /*UT*/(T45*)oRBC27eh; rT45add_type(rT106item((T106*)(C)->_generic_list,_i),(T0 *)ms1431); rT45print_as_error((T45*)oRBC27eh); _i=(((T106*)_rgl)->_upper)+(1); } else { rT106put((T106*)_rgl,XrT58run_type(_t),_i); _i=(_i)+(1); } /*FI*/} /*IF*/if ((_i)>(((T106*)_rgl)->_upper)) { {T117 *n=((T117*)new(117)); rT117make(n,(C)->_base_class_name,_rgl); C->_run_type=(T0 *)n;} R=(C)->_run_type; } else { rT117error(rT117start_position(C),(T0 *)ms1459); } /*FI*/} else { R=rT117to_runnable((T117*)rT117clone(C,(T0 *)C),a1); } /*FI*/return R; } void rT117cast_to_ref(T117 *C){ rT117cast_to_ref((T117*)(C)->_run_type); } void rT117error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT117id(T117 *C){ int R=0; R=((T260*)rT117run_class(C))->_id; return R; } T0 * rT117start_position(T117 *C){ T0 * R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0* rT117clone(T117 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)a1)) { R=(T0 *)new(a1->id); AF_1 XrT28copy(R,a1); AF_0 } /*FI*/return R; } T0 * rT117look_up_for(T117 *C,T0 * a1,T0 * a2){ T0 * R=NULL; T0 * _bc=NULL; _bc=rT117base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms481); /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms38); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT117mapping_c_in(T117 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT117id(C),a1); } void rT117mapping_cast(T117 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms800); rT2append_in(rT117id(C),oRBC58tmp_string); /*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } T0 * rT117run_class(T117 *C){ T0 * R=NULL; R=(/*UT*/(T52*)oRBC27small_eiffel, rT52run_class((C)->_run_type)); return R; } int rT117is_expanded(T117 *C){ int R=0; T0 * _bc=NULL; _bc=rT117base_class(C); /*IF*/if (!(_bc)) { rT117error(rT117start_position(C),(T0 *)ms476); } else { R=((T50*)_bc)->_is_expanded; } /*FI*/return R; } T0 * rT117smallest_ancestor(/*C*/T0 * a1){ T0 * R=NULL; rT117fatal_error((T0 *)ms1476); return R; } T0 * rT117base_class(T117 *C){ T0 * R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } void rT117copy(T117 *C,T0 * a1){ C->_base_class_name=((T117*)a1)->_base_class_name; C->_written_mark=((T117*)a1)->_written_mark; C->_generic_list=rT117clone(C,((T117*)a1)->_generic_list); } int rT117is_a_in(T117 *C,T0 * a1,T0 * a2){ int R=0; T0 * _ct=NULL; T0 * _t2=NULL; T0 * _t1=NULL; /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) { R=1; } else { _ct=((T260*)a2)->_current_type; _t1=rT117to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT117c_struct(T117 *C){ T0* _wa=NULL; T0 * _a=NULL; int _i=0; /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms762); rT2append_in(rT117id(C),oRBC58tmp_string); rT7extend((T7*)oRBC58tmp_string,'\173'); /*IF*/{/*AT*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms763); } /*FI*/_wa=rT260writable_attributes((T260*)rT117run_class(C)); /*IF*/if (((int)_wa)) { _i=XrT265lower(_wa); while (!((_i)>(XrT265upper(_wa)))) { _a=XrT265item(_wa,_i); XrT58c_type_in(XrT58run_type(XrT261result_type(_a)),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms765); rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT261name(_a))); rT7extend((T7*)oRBC58tmp_string,'\73'); _i=(_i)+(1); } } /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms766); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } int rT117is_a(T117 *C,T0 * a1){ int R=0; T0 * _t2=NULL; T0 * _t1=NULL; int _i=0; /*IF*/if (XrT58is_none(a1)) { } else if (XrT58is_pointer(a1)) { } else if (((T0 *)rT117run_class(C))==((T0 *)XrT58run_class(a1))) { R=1; } else if ((XrT58is_generic(a1))&&(((T0 *)rT117base_class(C))==((T0 *)XrT58base_class(a1)))) { R=1; _i=((T106*)(C)->_generic_list)->_upper; while (!((!(R))||((_i)==(0)))) { _t1=XrT58run_type(rT106item((T106*)(C)->_generic_list,_i)); _t2=XrT58run_type(rT106item((T106*)XrT58generic_list(a1),_i)); /*IF*/if (XrT58is_a(_t1,_t2)) { _i=(_i)-(1); } else { R=0; /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms1438); } /*FI*/} /*IF*/if (!(R)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms1488); } /*FI*/} else if (((XrT58is_generic(a1))&&(rT50is_subclass_of((T50*)rT117base_class(C),XrT58base_class(a1))))&&((rT106count((T106*)XrT58generic_list(a1)))==(rT106count((T106*)(C)->_generic_list)))) { R=1; _i=((T106*)(C)->_generic_list)->_upper; while (!((!(R))||((_i)==(0)))) { _t1=XrT58run_type(rT106item((T106*)(C)->_generic_list,_i)); _t2=XrT58run_type(rT106item((T106*)XrT58generic_list(a1),_i)); /*IF*/if (XrT58is_a(_t1,_t2)) { _i=(_i)-(1); } else { R=0; /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms1438); } /*FI*/} /*IF*/if (!(R)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms1489); } /*FI*/} else if ((!(XrT58is_generic(a1)))&&(rT50is_subclass_of((T50*)rT117base_class(C),XrT58base_class(a1)))) { R=1; } else { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1483); /*UT*/(T45*)oRBC27eh; rT45add_type(a1,(T0 *)ms1490); } /*FI*/return R; } void rT117expanded_to_reference(T117 *C){ /*IF*/if (((T0 *)(C)->_run_type)!=((T0 *)C)) { rT117expanded_to_reference((T117*)(C)->_run_type); } else if (rT117is_expanded(C)) { /*UT*/(T45*)oRBC27eh; rT45add_type((T0 *)C,(T0 *)ms1007); rT117fatal_error((T0 *)ms1008); } /*FI*/} int rT117has_creation(T117 *C,T0 * a1){ int R=0; /*IF*/if (((T0 *)C)==((T0 *)(C)->_run_type)) { R=rT50has_creation((T50*)rT117base_class(C),a1); } else { R=rT117has_creation((T117*)(C)->_run_type,a1); } /*FI*/return R; } void rT117make(T117 *C,T0 * a1,T0* a2){ int _is_run=0; T0 * _t=NULL; int _i=0; C->_base_class_name=a1; C->_generic_list=a2; _is_run=1; {T7 *n=((T7*)new(7)); rT7copy(n,((T48*)a1)->_to_string); C->_written_mark=(T0 *)n;} rT7extend((T7*)(C)->_written_mark,'\133'); _i=1; while (!((_i)>(((T106*)a2)->_upper))) { _t=rT106item((T106*)(C)->_generic_list,_i); rT7append((T7*)(C)->_written_mark,XrT58written_mark(_t)); _is_run=(_is_run)&&(((T0 *)XrT58run_type(_t))==((T0 *)_t)); _i=(_i)+(1); /*IF*/if ((_i)<=(((T106*)a2)->_upper)) { rT7extend((T7*)(C)->_written_mark,'\54'); } /*FI*/} rT7extend((T7*)(C)->_written_mark,'\135'); /*IF*/if (_is_run) { C->_run_type=(T0 *)C; } /*FI*/} void rT117c_typedef(T117 *C){ int _mem_id=0; _mem_id=rT117id(C); /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms755); rT2append_in(rT117id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms756); rT2append_in(rT117id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms757); rT40put_string((T40*)oRBC27cpp,oRBC58tmp_string); } void rT117c_type_in(T117 *C,T0* a1){ /*IF*/{/*AT*/rT7append((T7*)a1,(T0 *)ms1502); } /*FI*/} int rT267use_current(T267 *C){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>(((T268*)(C)->_list)->_upper)))) { R=rT137use_current((T137*)rT268item((T268*)(C)->_list,_i)); _i=(_i)+(1); } return R; } void rT267compile_to_c(T267 *C){ int _i=0; /*IF*/if ((((T268*)(C)->_list)->_upper)==(1)) { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1379); rT137compile_to_c((T137*)rT268first((T268*)(C)->_list)); } else { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1381); rT40put_string((T40*)oRBC27cpp,(T0 *)ms1382); rT137compile_to_c((T137*)rT268first((T268*)(C)->_list)); _i=1; while (!((_i)>(((T268*)(C)->_list)->_upper))) { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1383); rT40put_string((T40*)oRBC27cpp,(T0 *)ms1384); rT137compile_to_c((T137*)rT268item((T268*)(C)->_list,_i)); rT40put_string((T40*)oRBC27cpp,(T0 *)ms1385); _i=(_i)+(1); /*IF*/if ((_i)==(((T268*)(C)->_list)->_upper)) { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1386); } /*FI*/} } /*FI*/} void rT267copy(T267 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT60fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } T0*oRBC60storage; void rT60storage_grow(/*C*/int a1){ int _i=0; T0* _str=NULL; _i=((T41*)oRBC60storage)->_upper; rT41resize((T41*)oRBC60storage,1,(((T41*)oRBC60storage)->_upper)+(a1)); while (!((_i)==(((T41*)oRBC60storage)->_upper))) { _i=(_i)+(1); {T7 *n=((T7*)new(7)); rT7make(n,80); _str=(T0 *)n;} rT41put((T41*)oRBC60storage,_str,_i); } } int ofBC60sfr=0; T0*oRBC60sfr; T0 * rT60sfr(/*C*/void){ T0 * R=NULL; if (ofBC60sfr==0){ ofBC60sfr=1; {T39 *n=((T39*)new(39)); /*(IRF3*/((n)->_mode)=((T0 *)ms26); /*)*/R=(T0 *)n;} oRBC60sfr=R;} return oRBC60sfr;} T0* rT60item(/*C*/int a1){ T0* R=NULL; R=rT41item((T41*)oRBC60storage,a1); return R; } int ofBC60init_storage=0; void rT60init_storage(/*C*/void){ if (ofBC60init_storage==0){ ofBC60init_storage=1; rT60storage_grow(3000); } } void rT60copy(T60 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT60read(T60 *C,T0* a1){ rT60init_storage(); rT39connect_to((T39*)rT60sfr(),a1); /*IF*/if (rT39is_connected((T39*)rT60sfr())) { C->_count=0; while (!(rT39end_of_input((T39*)rT60sfr()))) { C->_count=((C)->_count)+(1); /*IF*/if ((((T41*)oRBC60storage)->_upper)<((C)->_count)) { rT60storage_grow(1000); } /*FI*/rT39read_line_in((T39*)rT60sfr(),rT41item((T41*)oRBC60storage,(C)->_count)); } rT39disconnect((T39*)rT60sfr()); } else { /*UT*/(T45*)oRBC27eh; rT45append((T0 *)ms77); /*UT*/(T45*)oRBC27eh; rT45append(a1); rT60fatal_error((T0 *)ms78); } /*FI*/} T0 * rT170expression(T170 *C,int a1){ T0 * R=NULL; R=XrT81item((C)->_list,a1); return R; } void rT170fatal_error(/*C*/T0* a1){ rT45fatal_error((T45*)oRBC27eh,a1); } T0 * rT170first(T170 *C){ T0 * R=NULL; R=rT170expression(C,1); return R; } T0 * rT170to_runnable(T170 *C,T0 * a1){ T0 * R=NULL; T0 * _e2=NULL; T0 * _e1=NULL; int _i=0; int _ne=0; _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _i=1; while (!((_i)>(rT170count(C)))) { _e1=rT170expression(C,_i); _e2=XrT68to_runnable(_e1,(C)->_current_type); /*IF*/if (!(_e2)) { rT170error(XrT68start_position(_e1),(T0 *)ms1135); } else if (((T0 *)_e1)!=((T0 *)_e2)) { XrT81put((C)->_list,_e2,_i); } /*FI*/_i=(_i)+(1); } /*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { R=(T0 *)C; } /*FI*/} else if (((T0 *)XrT58run_class(a1))==((T0 *)rT170run_class(C))) { R=(T0 *)C; } else { {T170 *n=((T170*)new(170)); /*(IRF3*/((n)->_list)=(rT170clone(C,(C)->_list)); /*)*/R=(T0 *)n;} R=rT170to_runnable((T170*)R,a1); } /*FI*/return R; } int rT170count(T170 *C){ int R=0; R=XrT81upper((C)->_list); return R; } void rT170error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT170match_with(T170 *C,T0 * a1){ T0 * _ot=NULL; T0 * _ft=NULL; T0 * _at=NULL; T0 * _e=NULL; int _i=0; int _ne=0; T0 * _fal=NULL; _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; _fal=XrT261arguments(a1); /*IF*/if (!(_fal)) { rT170error(rT170start_position(C),(T0 *)ms1137); } /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0))&&((rT92count((T92*)_fal))!=(rT170count(C)))) { /*UT*/(T45*)oRBC27eh; rT45add_position(((T92*)_fal)->_start_position); rT170error(rT170start_position(C),(T0 *)ms1138); } /*FI*/_i=1; while (!(((_i)>(rT170count(C)))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) { _e=rT170expression(C,_i); _at=XrT68result_type(_e); _ft=rT92type((T92*)_fal,_i); /*IF*/if (XrT58is_like_current(_ft)) { /*IF*/if (XrT68is_current(_e)) { } else if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { /*IF*/if (XrT58is_expanded(XrT58run_type(_at))) { } else if (XrT58is_a(XrT58run_type(_ft),XrT58run_type(_at))) { } else { /*UT*/(T45*)oRBC27eh; rT45add_position(XrT68start_position(_e)); rT170error(XrT58start_position(_ft),(T0 *)ms1139); } /*FI*/} else { /*UT*/(T45*)oRBC27eh; rT45add_position(XrT68start_position(_e)); rT170error(XrT58start_position(_ft),(T0 *)ms1139); } /*FI*/} else if (XrT58is_like_feature(_ft)) { /*IF*/if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { } else { /*UT*/(T45*)oRBC27eh; rT45add_position(XrT68start_position(_e)); rT170error(XrT58start_position(_ft),(T0 *)ms1140); } /*FI*/} else if (XrT58is_like_argument(_ft)) { _ot=XrT68result_type(rT170expression(C,((T88*)XrT58like_argument(_ft))->_rank)); /*IF*/if (!(XrT58is_a(XrT58run_type(_at),XrT58run_type(_ot)))) { /*UT*/(T45*)oRBC27eh; rT45add_position(XrT68start_position(_e)); rT170error(XrT58start_position(_ft),(T0 *)ms1141); } /*FI*/} else if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { } else { rT45print_as_error((T45*)oRBC27eh); /*UT*/(T45*)oRBC27eh; rT45add_position(XrT58start_position(_ft)); rT170error(XrT68start_position(_e),(T0 *)ms1142); } /*FI*/_at=XrT58run_type(_at); _ft=XrT58run_type(_ft); /*IF*/if (XrT58is_expanded(_ft)) { /*IF*/if (XrT58is_expanded(_at)) { } else { } /*FI*/} else { /*IF*/if (XrT58is_expanded(_at)) { XrT58used_as_reference(_at); } else { } /*FI*/} /*FI*/_i=(_i)+(1); } } T0 * rT170start_position(T170 *C){ T0 * R=NULL; R=XrT68start_position(rT170first(C)); return R; } int rT170use_current(T170 *C){ int R=0; int _i=0; _i=1; while (!(((_i)>(rT170count(C)))||(R))) { R=XrT68use_current(rT170expression(C,_i)); _i=(_i)+(1); } return R; } T0* rT170clone(T170 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)a1)) { R=(T0 *)new(a1->id); AF_1 XrT28copy(R,a1); AF_0 } /*FI*/return R; } T0 * rT170run_class(T170 *C){ T0 * R=NULL; R=XrT58run_class((C)->_current_type); return R; } void rT170compile_to_c_old(T170 *C){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!((_i)>(XrT81upper((C)->_list)))) { XrT68compile_to_c_old(XrT81item((C)->_list,_i)); _i=(_i)+(1); } } /*FI*/} void rT170compile_to_c(T170 *C,T0 * a1){ T0 * _ft=NULL; T0 * _at=NULL; T0 * _e=NULL; int _i=0; _i=1; while (!((_i)>(rT170count(C)))) { _e=rT170expression(C,_i); _at=XrT58run_type(XrT68result_type(_e)); _ft=XrT58run_type(rT92type((T92*)a1,_i)); /*IF*/if (XrT58is_expanded(_ft)) { /*IF*/if (XrT58is_expanded(_at)) { XrT68compile_to_c(_e); } else { /*UT*/(T45*)oRBC27eh; rT45add_position(XrT68start_position(_e)); rT170fatal_error((T0 *)ms1184); } /*FI*/} else { /*IF*/if (XrT58is_expanded(_at)) { XrT58expanded_to_reference(_at); rT40put_character((T40*)oRBC27cpp,'\50'); XrT68compile_to_c(_e); rT40put_character((T40*)oRBC27cpp,'\51'); } else { /*IF*/if ((XrT68is_current(_e))||(XrT68is_manifest_string(_e))) { rT40put_string((T40*)oRBC27cpp,(T0 *)ms1185); } /*FI*/XrT68compile_to_c(_e); } /*FI*/} /*FI*/_i=(_i)+(1); /*IF*/if ((_i)<=(rT170count(C))) { rT40put_character((T40*)oRBC27cpp,'\54'); } /*FI*/} } void rT170copy(T170 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT94put_into(T94 *C,T0* a1,int a2){ int R=0; int _rank=0; _rank=rT96index_of((T96*)a1,(T0 *)C); /*IF*/if ((_rank)<=(((T96*)a1)->_upper)) { /*UT*/(T45*)oRBC27eh; rT45add_position(rT94start_position(C)); /*UT*/(T45*)oRBC27eh; rT45add_position(rT94start_position((T94*)rT96item((T96*)a1,_rank))); rT45error((T45*)oRBC27eh,(T0 *)ms1514); } /*FI*/rT96put((T96*)a1,(T0 *)C,a2); R=(a2)+(1); return R; } T0 * rT94start_position(T94 *C){ T0 * R=NULL; R=((T97*)(C)->_name)->_start_position; return R; } int rT94is_equal(T94 *C,T0 * a1){ int R=0; R=rT7is_equal((T7*)rT97to_key((T97*)(C)->_name),rT97to_key((T97*)((T94*)a1)->_name)); return R; } void rT94copy(T94 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT94make(T94 *C,T0 * a1,T0 * a2){ C->_name=a1; C->_type=a2; } int rT142put_into(T142 *C,T0* a1,int a2){ int R=0; T0 * _d1=NULL; int _i=0; _i=((T141*)(C)->_name_list)->_lower; R=a2; while (!((_i)>(((T141*)(C)->_name_list)->_upper))) { {T94 *n=((T94*)new(94)); rT94make(n,rT141item((T141*)(C)->_name_list,_i),(C)->_type); _d1=(T0 *)n;} R=rT94put_into((T94*)_d1,a1,R); _i=(_i)+(1); } return R; } int rT142count(T142 *C){ int R=0; R=rT141count((T141*)(C)->_name_list); return R; } void rT142copy(T142 *C,T0 * a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT142make(T142 *C,T0* a1,T0 * a2){ C->_name_list=a1; C->_type=a2; } T0* rT214runnable(T214 *C,T0* a1,T0 * a2,T0 * a3){ T0* R=NULL; T0 * _a=NULL; int _i=0; /*IF*/if (!(rT158empty((T158*)a1))) { R=rT214clone(C,a1); _i=1; while (!((_i)>(((T158*)R)->_upper))) { rT52push((T52*)oRBC27small_eiffel,a3); _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2); /*IF*/if (!(_a)) { rT214error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms477); } else { rT158put((T158*)R,_a,_i); } /*FI*/rT52pop((T52*)oRBC27small_eiffel); _i=(_i)+(1); } } /*FI*/return R; } T0 * rT214to_runnable(T214 *C,T0 * a1){ T0 * R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (((int)(C)->_list)) { C->_list=rT214runnable(C,(C)->_list,a1,rT52top_rf((T52*)oRBC27small_eiffel)); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT214clone(C,(T0 *)C); /*(IRF3*/(((T214*)R)->_current_type)=(NULL); /*)*/R=rT214to_runnable((T214*)R,a1); } /*FI*/return R; } void rT214error(/*C*/T0 * a1,T0* a2){ /*UT*/(T45*)oRBC27eh; rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT214use_current(T214 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=((T158*)(C)->_list)->_upper; while (!((R)||((_i)==(0)))) { R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } T0* rT214clone(T214 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)a1)) { R=(T0 *)new(a1->id); AF_1 XrT28copy(R,a1); AF_0 } /*FI*/return R; }