This is compile_to_c11.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.91) -- 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" /*TMP_FEATURE*/void rT138warning(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48warning((T48*)oRBC27eh,a2); }/*TMP_FEATURE*/T0* rT138to_procedure_or_function(T138 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T259 *n=((T259*)se_new(259)); rT259make(n,rT138n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} else { {T260 *n=((T260*)se_new(260)); rT260make(n,rT138n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} /*FI*/return R; } /*TMP_FEATURE*/void rT138error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*TMP_FEATURE*/T0* rT138to_writable_attribute(T138 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms1_138); } else if (((int)(C)->_arguments)) { rT138error(rT54current_position((T54*)oRBC27eiffel_parser),(T0 *)ms2_138); } /*FI*/{T264 *n=((T264*)se_new(264)); rT264make(n,rT138n(),(C)->_type); R=(T0 *)n;} return R; } /*TMP_FEATURE*/T0* rT138to_deferred_routine(T138 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T210 *n=((T210*)se_new(210)); rT210make(n,rT138n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion); R=(T0 *)n;}} else { {T211 *n=((T211*)se_new(211)); rT211make(n,rT138n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion); R=(T0 *)n;}} /*FI*/return R; } /*TMP_FEATURE*/T0* rT138n(/*C*/void){ T0* R=NULL; {T130 *n=((T130*)se_new(130)); rT130make(n,rT131twin((T131*)oRBC138names)); R=(T0 *)n;} return R; } T0*oRBC138names; /*TMP_FEATURE*/T0* rT138to_cst_att_integer(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)(C)->_type)) { /*IF*/if (XrT62is_integer((C)->_type)) { {T159 *n=((T159*)se_new(159)); rT159make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT62is_real((C)->_type)) { {T157 *n=((T157*)se_new(157)); rT157make(n,rT138n(),(C)->_type,rT84to_real_constant((T84*)a1)); R=(T0 *)n;}} else if (XrT62is_double((C)->_type)) { {T158 *n=((T158*)se_new(158)); rT158make(n,rT138n(),(C)->_type,rT84to_real_constant((T84*)a1)); R=(T0 *)n;}} else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms6_138); } /*FI*/} else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms7_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_real(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if (((int)(C)->_type)) { /*IF*/if (XrT62is_real((C)->_type)) { {T157 *n=((T157*)se_new(157)); rT157make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT62is_double((C)->_type)) { {T158 *n=((T158*)se_new(158)); rT158make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;}} else if (XrT62is_integer((C)->_type)) { rT138warning(((T83*)a1)->_start_position,(T0 *)ms8_138); {T159 *n=((T159*)se_new(159)); rT159make(n,rT138n(),(C)->_type,rT83to_integer_constant((T83*)a1)); R=(T0 *)n;}} else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms9_138); } /*FI*/} else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms10_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_bit(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT62is_bit((C)->_type))) { {T156 *n=((T156*)se_new(156)); rT156make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;} } else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms4_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_string(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT62is_string((C)->_type))) { {T154 *n=((T154*)se_new(154)); rT154make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;} } else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms11_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_character(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT62is_character((C)->_type))) { {T153 *n=((T153*)se_new(153)); rT153make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;} } else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms5_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_boolean(T138 *C,T0* a1){ T0* R=NULL; /*IF*/if ((((int)(C)->_type))&&(XrT62is_boolean((C)->_type))) { {T152 *n=((T152*)se_new(152)); rT152make(n,rT138n(),(C)->_type,a1); R=(T0 *)n;} } else { rT138error(/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position,(T0 *)ms3_138); } /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_cst_att_unique(T138 *C){ T0* R=NULL; T0* _sp=NULL; /*IF*/if (!((C)->_type)) { _sp=/*XrT*FEATURE_NAME*/((T70*)rT131first((T131*)oRBC138names))->_start_position; rT138error(_sp,(T0 *)ms12_138); } /*FI*//*IF*/if (!(XrT62is_integer((C)->_type))) { rT138error(XrT62start_position((C)->_type),(T0 *)ms13_138); } /*FI*/{T148 *n=((T148*)se_new(148)); rT148make(n,rT138n(),(C)->_type); R=(T0 *)n;} return R; } /*TMP_FEATURE*/void rT138add_synonym(/*C*/T0* a1){ rT131add_last((T131*)oRBC138names,a1); }/*TMP_FEATURE*/void rT138set_require(T138 *C,T0* a1,T0* a2,T0* a3){ /*IF*/if ((((int)a2))||(((int)a3))) { {T139 *n=((T139*)se_new(139)); rT139make(n,a1,a2,a3); C->_require_assertion=(T0 *)n;} } /*FI*/}/*TMP_FEATURE*/void rT138set_require_else(T138 *C,T0* a1,T0* a2,T0* a3){ /*IF*/if ((((int)a2))||(((int)a3))) { {T139 *n=((T139*)se_new(139)); rT139make(n,a1,a2,a3); C->_require_assertion=(T0 *)n;} /*[IRF3:set_require_else*//*AW*/((T139*)(C)->_require_assertion)->_is_require_else=(1);/*]*/ } /*FI*/}/*TMP_FEATURE*/void rT138initialize(T138 *C){ rT131clear((T131*)oRBC138names); C->_arguments=NULL; C->_type=NULL; C->_header_comment=NULL; C->_obsolete_mark=NULL; C->_require_assertion=NULL; C->_local_vars=NULL; C->_routine_body=NULL; }/*TMP_FEATURE*/T0* rT138to_once_routine(T138 *C){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T262 *n=((T262*)se_new(262)); rT262make(n,rT138n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} else { {T263 *n=((T263*)se_new(263)); rT263make(n,rT138n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,(C)->_local_vars,(C)->_routine_body); R=(T0 *)n;}} /*FI*/return R; } /*TMP_FEATURE*/T0* rT138to_external_routine(T138 *C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (!((C)->_type)) { {T219 *n=((T219*)se_new(219)); rT219make(n,rT138n(),(C)->_arguments,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2); R=(T0 *)n;}} else { {T220 *n=((T220*)se_new(220)); rT220make(n,rT138n(),(C)->_arguments,(C)->_type,(C)->_obsolete_mark,(C)->_header_comment,(C)->_require_assertion,a1,a2); R=(T0 *)n;}} /*FI*/return R; } /*RUN_CLASS*/T0* rT269runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT162empty((T162*)a1))) { R=rT162twin((T162*)a1); _i=((T162*)R)->_upper; while (!((_i)==(0))) { rT55push((T55*)oRBC27small_eiffel,a3); _a=rT68to_runnable((T68*)rT162item((T162*)R,_i),a2); /*IF*/if (!(_a)) { rT269error(rT68start_position((T68*)rT162item((T162*)R,_i)),(T0 *)ms97_27); } else { rT162put((T162*)R,_a,_i); } /*FI*/rT55pop((T55*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } /*RUN_CLASS*/T0* rT269get_feature(T269 *C,T0* a1){ T0* R=NULL; T0* _fn_key=NULL; T0* _f=NULL; _fn_key=XrT71to_key(a1); /*IF*/if (rT272has((T272*)(C)->_feature_dictionary,_fn_key)) { R=rT272at((T272*)(C)->_feature_dictionary,_fn_key); } else { _f=rT53look_up_for((T53*)rT269base_class(C),(T0 *)C,a1); /*IF*/if (!(_f)) { rT269efnf(C,rT269base_class(C),a1); } else { R=XrT66to_run_feature(_f,(C)->_current_type,a1); /*IF*/if (((int)R)) { rT269store_feature(C,R); } else { rT269efnf(C,rT269base_class(C),a1); } /*FI*/} /*FI*/} /*FI*/return R; } /*RUN_CLASS*/T0* rT269get_feature_with(T269 *C,T0* a1){ T0* R=NULL; T0* _fn=NULL; /*IF*/if (rT272has((T272*)(C)->_feature_dictionary,a1)) { R=rT272at((T272*)(C)->_feature_dictionary,a1); } else { {T71 *n=((T71*)se_new(71)); rT71make(n,a1,NULL); _fn=(T0 *)n;} R=rT269get_feature(C,_fn); } /*FI*/return R; } /*RUN_CLASS*/void rT269sort_wam(/*C*/T0* a1){ int _moved=0; int _buble=0; int _max=0; int _min=0; _max=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)a1)->_upper; _min=1; _moved=1; while (!(!(_moved))) { _moved=0; /*IF*/if (((_max)-(_min))>(0)) { _buble=(_min)+(1); while (!((_buble)>(_max))) { /*IF*/if (rT269gt(/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)a1,(_buble)-(1)),/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)a1,_buble))) { XrT273swap(a1,(_buble)-(1),_buble); _moved=1; } /*FI*/_buble=(_buble)+(1); } _max=(_max)-(1); } /*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) { _moved=0; _buble=(_max)-(1); while (!((_buble)<(_min))) { /*IF*/if (rT269gt(/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)a1,_buble),/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)a1,(_buble)+(1)))) { XrT273swap(a1,_buble,(_buble)+(1)); _moved=1; } /*FI*/_buble=(_buble)-(1); } _min=(_min)+(1); } /*FI*/} }/*RUN_CLASS*/T0* rT269writable_attributes(T269 *C){ T0* R=NULL; int _i=0; T0* _rf=NULL; /*IF*/if (!((C)->_writable_attributes_mem)) { _i=1; while (!((_i)>(((T272*)(C)->_feature_dictionary)->_count))) { _rf=rT272item((T272*)(C)->_feature_dictionary,_i); /*IF*/if (XrT268is_writable(_rf)) { /*IF*/if (!((C)->_writable_attributes_mem)) { C->_writable_attributes_mem=ma(273,0,1,_rf); } else { XrT273add_last((C)->_writable_attributes_mem,_rf); } /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if (((int)(C)->_writable_attributes_mem)) { rT269sort_wam((C)->_writable_attributes_mem); } /*FI*/} /*FI*/R=(C)->_writable_attributes_mem; return R; } /*RUN_CLASS*/void rT269falling_down(T269 *C){ int _i=0; T0* _rf=NULL; _i=1; while (!((_i)>(((T272*)(C)->_feature_dictionary)->_count))) { _rf=rT272item((T272*)(C)->_feature_dictionary,_i); XrT268fall_down(_rf); _i=(_i)+(1); } }/*RUN_CLASS*/void rT269fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*RUN_CLASS*/void rT269error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*RUN_CLASS*/void rT269set_at_run_time(T269 *C){ int _i=0; T0* _rc=NULL; T0* _rcd=NULL; /*IF*/if (!((C)->_at_run_time)) { C->_at_run_time=1; rT269add_running(C,(T0 *)C); /*[IRF3:set_at_run_time*//*AW*/((T53*)rT269base_class(C))->_at_run_time=(1);/*]*/ rT55incr_magic_count((T55*)oRBC27small_eiffel); /*IF*/if (XrT62is_reference((C)->_current_type)) { _rcd=oRBC55run_class_dictionary; _i=1; while (!((_i)>(((T270*)_rcd)->_count))) { _rc=rT270item((T270*)_rcd,_i); /*IF*/if (rT269is_a(C,_rc)) { rT269add_running((T269*)_rc,(T0 *)C); } /*FI*/_i=(_i)+(1); } } /*FI*/} /*FI*/}/*RUN_CLASS*/void rT269store_feature(T269 *C,T0* a1){ T0* _rf2=NULL; T0* _rf_key=NULL; _rf_key=XrT71to_key(/*XrT*RUN_FEATURE*/((T274*)a1)->_name); /*IF*/if (rT272has((T272*)(C)->_feature_dictionary,_rf_key)) { _rf2=rT272at((T272*)(C)->_feature_dictionary,_rf_key); /*IF*/if (((T0 *)a1)!=((T0 *)_rf2)) { rT48add_position(XrT268start_position(a1)); rT48add_position(XrT268start_position(_rf2)); rT269fatal_error((T0 *)ms5_269); } /*FI*/} else { rT272put((T272*)(C)->_feature_dictionary,a1,_rf_key); rT55incr_magic_count((T55*)oRBC27small_eiffel); } /*FI*/}/*RUN_CLASS*/void rT269collect_invariant(/*C*/T0* a1){ rT267add_into((T267*)a1,oRBC269collector); }T0*oRBC269collector; /*RUN_CLASS*/T0* rT269get_rf(T269 *C,T0* a1){ T0* R=NULL; T0* _wbc=NULL; T0* _fn=NULL; T0* _target=NULL; _target=/*XrT*CALL_PROC_CALL*/((T185*)a1)->_target; _fn=XrT169feature_name(a1); _wbc=rT49base_class((T49*)/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position); /*IF*/if (XrT72is_current(_target)) { _fn=rT53new_name_of((T53*)XrT62base_class(XrT72current_type(_target)),_wbc,_fn); } /*FI*/R=rT269get_feature(C,_fn); /*IF*/if (!(R)) { rT48add_position(/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position); rT48append((T0 *)ms1_269); rT48append(/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT48append((T0 *)ms2_269); rT48add_type((C)->_current_type,(T0 *)ms102_27); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*/XrT268add_clients(R,(T0 *)C); /*IF*/if ((((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(!(XrT72is_current(_target))))&&(!(XrT268is_exported_in(R,((T53*)_wbc)->_base_class_name)))) { rT48add_position(XrT268start_position(R)); rT48append((T0 *)ms3_269); rT48append(/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT269error(/*XrT*FEATURE_NAME*/((T70*)XrT169feature_name(a1))->_start_position,(T0 *)ms4_269); } /*FI*/return R; } /*RUN_CLASS*/T0* rT269at(T269 *C,T0* a1){ T0* R=NULL; T0* _to_key=NULL; _to_key=XrT71to_key(a1); /*IF*/if (rT272has((T272*)(C)->_feature_dictionary,_to_key)) { R=rT272at((T272*)(C)->_feature_dictionary,_to_key); } /*FI*/return R; } /*RUN_CLASS*/void rT269compile_to_c(T269 *C){ int _i=0; T0* _rf=NULL; /*IF*/if ((C)->_at_run_time) { rT42put_character((T42*)oRBC1std_output,'\11'); rT42put_string((T42*)oRBC1std_output,XrT62run_time_mark((C)->_current_type)); rT42put_character((T42*)oRBC1std_output,'\12'); _i=1; while (!((_i)>(((T272*)(C)->_feature_dictionary)->_count))) { _rf=rT272item((T272*)(C)->_feature_dictionary,_i); /*IF*/if (!(XrT268is_writable(_rf))) { XrT268c_define(_rf); } /*FI*/_i=(_i)+(1); } /*IF*/if (rT47invariant_check((T47*)oRBC27eiffel_run_control)) { /*IF*/if (((int)(C)->_invariant_assertion)) { rT267c_define((T267*)(C)->_invariant_assertion); } /*FI*/} /*FI*/} /*FI*/}/*RUN_CLASS*/T0* rT269base_class(T269 *C){ T0* R=NULL; R=XrT62base_class((C)->_current_type); return R; } /*RUN_CLASS*/void rT269add_running(T269 *C,T0* a1){ /*IF*/if (!((C)->_running)) { C->_running=ma(271,0,1,a1); } else { /*IF*/if (!(rT271fast_has((T271*)(C)->_running,a1))) { rT271add_last((T271*)(C)->_running,a1); } /*FI*/} /*FI*/}/*RUN_CLASS*/int rT269gt(/*C*/T0* a1,T0* a2){ int R=0; T0* _bcn2=NULL; T0* _bcn1=NULL; T0* _bf2=NULL; T0* _bf1=NULL; T0* _bc2=NULL; T0* _bc1=NULL; _bf1=XrT268base_feature(a1); _bf2=XrT268base_feature(a2); _bc1=/*XrT*E_FEATURE*/((T148*)_bf1)->_base_class; _bc2=/*XrT*E_FEATURE*/((T148*)_bf2)->_base_class; _bcn1=((T53*)_bc1)->_base_class_name; _bcn2=((T53*)_bc2)->_base_class_name; /*IF*/if (((T0 *)((T51*)_bcn1)->_to_string)==((T0 *)((T51*)_bcn2)->_to_string)) { R=rT49before((T49*)XrT66start_position(_bf1),XrT66start_position(_bf2)); } else if (rT51is_subclass_of((T51*)_bcn2,_bcn1)) { R=1; } else if (rT51is_subclass_of((T51*)_bcn1,_bcn2)) { } else if (!(((T53*)_bc1)->_parent_list)) { /*IF*/if (!(((T53*)_bc2)->_parent_list)) { R=rT7_ix60((T7*)((T51*)_bcn1)->_to_string,((T51*)_bcn2)->_to_string); } else { R=1; } /*FI*/} else if (!(((T53*)_bc2)->_parent_list)) { } else { R=(rT133count((T133*)((T53*)_bc2)->_parent_list))<(rT133count((T133*)((T53*)_bc1)->_parent_list)); } /*FI*/return R; } /*RUN_CLASS*/int rT269displacement(T269 *C,T0* a1){ int R=0; int _i=0; T0* _wa=NULL; _wa=rT269writable_attributes(C); _i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper; while (!(((T0 *)/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i))==((T0 *)a1))) { R=(R)+(XrT62displacement(/*XrT*RUN_FEATURE*/((T274*)/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i))->_result_type)); _i=(_i)-(1); } return R; } /*RUN_CLASS*/int rT269is_a(T269 *C,T0* a1){ int R=0; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((T0 *)a1)==((T0 *)C)) { R=1; } else { _t1=(C)->_current_type; _t2=((T269*)a1)->_current_type; /*IF*/if ((XrT62fast_mapping_c(_t1))&&(XrT62fast_mapping_c(_t2))) { } else { R=XrT62is_a(_t1,_t2); /*IF*/if (!(R)) { /*[IRF3:cancel*//*[IRF3:clear*//*AW*/((T7*)oRBC48explanation)->_count=(0);/*]*/ rT50clear((T50*)oRBC48positions); /*]*/ } /*FI*/} /*FI*/} /*FI*/return R; } /*RUN_CLASS*/void rT269make(T269 *C,T0* a1){ int _i=0; T0* _r=NULL; T0* _rc=NULL; T0* _rcd=NULL; T0* _run_string=NULL; C->_current_type=a1; /*IF*/if (XrT62is_reference(a1)) { /*IF*/if (XrT62is_generic(a1)) { C->_id=rT55next_id((T55*)oRBC27small_eiffel); } else { C->_id=((T53*)XrT62base_class(a1))->_id; } /*FI*/} else if (XrT62fast_mapping_c(a1)) { C->_id=((T53*)XrT62base_class(a1))->_id; } else if (XrT62is_bit(a1)) { C->_id=rT55next_id((T55*)oRBC27small_eiffel); } else if (((T53*)XrT62base_class(a1))->_is_expanded) { C->_id=((T53*)XrT62base_class(a1))->_id; } else { C->_id=rT55next_id((T55*)oRBC27small_eiffel); } /*FI*/_run_string=XrT62run_time_mark(a1); rT270put((T270*)oRBC55run_class_dictionary,(T0 *)C,_run_string); {T272 *n=((T272*)se_new(272)); rT272make(n); C->_feature_dictionary=(T0 *)n;} rT55incr_magic_count((T55*)oRBC27small_eiffel); /*IF*/if (XrT62is_expanded(a1)) { rT269set_at_run_time(C); } else { _rcd=oRBC55run_class_dictionary; _i=1; while (!((_i)>(((T270*)_rcd)->_count))) { _rc=rT270item((T270*)_rcd,_i); /*IF*/if (((((T269*)_rc)->_at_run_time)&&(XrT62is_reference(((T269*)_rc)->_current_type)))&&(rT269is_a((T269*)_rc,(T0 *)C))) { rT269add_running(C,_rc); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (rT47invariant_check((T47*)oRBC27eiffel_run_control)) { rT162clear((T162*)oRBC269collector); rT53collect_invariant((T53*)rT269base_class(C),(T0 *)C); _r=rT269runnable(oRBC269collector,(C)->_current_type,NULL); /*IF*/if (((int)_r)) { {T267 *n=((T267*)se_new(267)); rT267from_runnable(n,_r); C->_invariant_assertion=(T0 *)n;} } /*FI*/} /*FI*/}/*RUN_CLASS*/void rT269efnf(T269 *C,T0* a1,T0* a2){ rT48append((T0 *)ms6_269); rT48append(XrT62run_time_mark((C)->_current_type)); rT48append((T0 *)ms7_269); rT48append(/*XrT*FEATURE_NAME*/((T70*)a2)->_to_string); rT48append((T0 *)ms8_269); rT48append(((T51*)((T53*)a1)->_base_class_name)->_to_string); rT269error(/*XrT*FEATURE_NAME*/((T70*)a2)->_start_position,(T0 *)ms102_27); }/*LOOP_VARIANT_1*/T0* rT247twin(T247 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT247copy((T247*)R,(T0 *)C); AF_0 /*FI*/return R; } /*LOOP_VARIANT_1*/T0* rT247to_runnable(T247 *C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _e=XrT72to_runnable((C)->_expression,a1); /*IF*/if (!(_e)) { rT247error(rT247start_position(C),(T0 *)ms1_243); } else { C->_expression=_e; /*IF*/if (!(XrT62is_integer(XrT72result_type((C)->_expression)))) { rT247error(XrT72start_position((C)->_expression),(T0 *)ms2_243); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT247twin(C); /*[IRF3:set_current_type*//*AW*/((T247*)R)->_current_type=(NULL);/*]*/ R=rT247to_runnable((T247*)R,a1); } /*FI*/return R; } /*LOOP_VARIANT_1*/void rT247error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*LOOP_VARIANT_1*/T0* rT247start_position(T247 *C){ T0* R=NULL; R=XrT72start_position((C)->_expression); return R; } /*LOOP_VARIANT_1*/int rT247use_current(T247 *C){ int R=0; R=XrT72use_current((C)->_expression); return R; } /*LOOP_VARIANT_1*/void rT247copy(T247 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*LOOP_VARIANT_1*/void rT247make(T247 *C,T0* a1,T0* a2){ C->_comment=a2; C->_expression=a1; }/*LOOP_VARIANT_2*/T0* rT246twin(T246 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT246copy((T246*)R,(T0 *)C); AF_0 /*FI*/return R; } /*LOOP_VARIANT_2*/T0* rT246to_runnable(T246 *C,T0* a1){ T0* R=NULL; T0* _e=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _e=XrT72to_runnable((C)->_expression,a1); /*IF*/if (!(_e)) { rT246error(rT246start_position(C),(T0 *)ms1_243); } else { C->_expression=_e; /*IF*/if (!(XrT62is_integer(XrT72result_type((C)->_expression)))) { rT246error(XrT72start_position((C)->_expression),(T0 *)ms2_243); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT246twin(C); /*[IRF3:set_current_type*//*AW*/((T246*)R)->_current_type=(NULL);/*]*/ R=rT246to_runnable((T246*)R,a1); } /*FI*/return R; } /*LOOP_VARIANT_2*/void rT246error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*LOOP_VARIANT_2*/T0* rT246start_position(T246 *C){ T0* R=NULL; R=XrT72start_position((C)->_expression); return R; } /*LOOP_VARIANT_2*/int rT246use_current(T246 *C){ int R=0; R=XrT72use_current((C)->_expression); return R; } /*LOOP_VARIANT_2*/void rT246copy(T246 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*LOOP_VARIANT_2*/void rT246make(T246 *C,T0* a1,T0* a2,T0* a3){ C->_comment=a3; C->_tag=a1; C->_expression=a2; }/*LOOP_INVARIANT*/T0* rT244twin(T244 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT244copy((T244*)R,(T0 *)C); AF_0 /*FI*/return R; } /*LOOP_INVARIANT*/T0* rT244runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT162empty((T162*)a1))) { R=rT162twin((T162*)a1); _i=((T162*)R)->_upper; while (!((_i)==(0))) { rT55push((T55*)oRBC27small_eiffel,a3); _a=rT68to_runnable((T68*)rT162item((T162*)R,_i),a2); /*IF*/if (!(_a)) { rT244error(rT68start_position((T68*)rT162item((T162*)R,_i)),(T0 *)ms97_27); } else { rT162put((T162*)R,_a,_i); } /*FI*/rT55pop((T55*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } /*LOOP_INVARIANT*/T0* rT244to_runnable(T244 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (((int)(C)->_list)) { C->_list=rT244runnable((C)->_list,a1,rT55top_rf((T55*)oRBC27small_eiffel)); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT244twin(C); /*[IRF3:set_current_type*//*AW*/((T244*)R)->_current_type=(NULL);/*]*/ R=rT244to_runnable((T244*)R,a1); } /*FI*/return R; } /*LOOP_INVARIANT*/void rT244error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*LOOP_INVARIANT*/int rT244use_current(T244 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=((T162*)(C)->_list)->_upper; while (!((R)||((_i)==(0)))) { R=rT68use_current((T68*)rT162item((T162*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } /*LOOP_INVARIANT*/void rT244compile_to_c(T244 *C){ int _i=0; /*[IRF3:set_check_assertion_mode*//*AW*/((T44*)oRBC27cpp)->_check_assertion_mode=(/*(IRF4*/(T0 *)ms2_244/*)*/);/*]*/ /*IF*/if (((int)(C)->_list)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms2_244/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms2_244/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_140); _i=1; while (!((_i)>(((T162*)(C)->_list)->_upper))) { rT68compile_to_c((T68*)rT162item((T162*)(C)->_list,_i)); _i=(_i)+(1); } rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms2_244/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_140); } /*FI*/}/*LOOP_INVARIANT*/void rT244copy(T244 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*LOOP_INVARIANT*/void rT244make(T244 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.