This is compile_to_c1.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" T0 *se_new(int id){ int sz=s[id]; T0 *n=malloc((size_t)sz); memset(n,0,sz); n->id=id; return n; } /*FUNCTION*/T0* rT260runnable(/*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)) { rT260error(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; } /*FUNCTION*/T0* rT260run_require(/*C*/T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; rT276clear((T276*)oRBC66require_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1001,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); /*IF*/if (!(rT276empty((T276*)oRBC66require_collector))) { _i=1; while (!((_i)>(((T276*)oRBC66require_collector)->_upper))) { _er=rT276item((T276*)oRBC66require_collector,_i); /*IF*/if (!(rT139empty((T139*)_er))) { _r=rT260runnable(((T139*)_er)->_list,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T139 *n=((T139*)se_new(139)); rT139from_runnable(n,_r); _er=(T0 *)n;} /*IF*/if (!(_ar)) { _ar=ma(276,0,1,_er); } else { rT276add_last((T276*)_ar,_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if (((int)_ar)) { {T275 *n=((T275*)se_new(275)); /*[IRF3:make*//*AW*/(n)->_list=(_ar);/*]*/ R=(T0 *)n;} } /*FI*/} /*FI*/return R; } T0*oRBC66require_collector; /*FUNCTION*/T0* rT260first_name(T260 *C){ T0* R=NULL; R=rT130item((T130*)(C)->_names,1); return R; } /*FUNCTION*/T0* rT260to_run_feature(T260 *C,T0* a1,T0* a2){ T0* R=NULL; {T289 *n=((T289*)se_new(289)); rT289make(n,a1,a2,(T0 *)C); R=(T0 *)n;} return R; } /*FUNCTION*/void rT260error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*FUNCTION*/int rT260is_merge_with(T260 *C,T0* a1,T0* a2){ int R=0; int _ne=0; _ne=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms1_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms2_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms3_66); } /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48error((T48*)oRBC27eh,(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0); return R; } T0*oRBC27eh; /*FUNCTION*/T0* rT260start_position(T260 *C){ T0* R=NULL; R=/*XrT*FEATURE_NAME*/((T70*)rT260first_name(C))->_start_position; return R; } /*FUNCTION*/void rT260collect_for(T260 *C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (!(rT276fast_has((T276*)oRBC66require_collector,(C)->_require_assertion))) { rT276add_last((T276*)oRBC66require_collector,(C)->_require_assertion); } /*FI*/} /*FI*/} else { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161add_into((T161*)(C)->_ensure_assertion,oRBC66assertion_collector); } /*FI*/} /*FI*/}/*FUNCTION*/void rT260add_into(T260 *C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=rT49base_class((T49*)/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,1))->_start_position); _i=1; while (!((_i)>(rT130count((T130*)(C)->_names)))) { _fn=rT130item((T130*)(C)->_names,_i); /*IF*/if (rT65has((T65*)a1,XrT71to_key(_fn))) { _fn=XrT66first_name(rT65at((T65*)a1,XrT71to_key(_fn))); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,_i))->_start_position); rT48error((T48*)oRBC27eh,(T0 *)ms12_66); rT48append(/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT48error((T48*)oRBC27eh,(T0 *)ms102_27); } else { rT65put((T65*)a1,(T0 *)C,XrT71to_key(_fn)); } /*FI*/_i=(_i)+(1); } }/*FUNCTION*/T0* rT260try_to_undefine(T260 *C,T0* a1,T0* a2){ T0* R=NULL; XrT71undefine_in(a1,a2); R=rT260try_to_undefine_aux(C,a1,a2); /*IF*/if (((int)R)) { /*XrT*DEFERRED_ROUTINE*//*[IRF3:set_clients*//*AW*/((T210*)R)->_clients=((C)->_clients);/*]*/ } else { rT53fatal_undefine((T53*)a2,a1); } /*FI*/return R; } /*FUNCTION*/T0* rT260try_to_undefine_aux(T260 *C,T0* a1,T0* a2){ T0* R=NULL; {T211 *n=((T211*)se_new(211)); rT211from_effective(n,a1,(C)->_arguments,(C)->_result_type,(C)->_require_assertion,(C)->_ensure_assertion,a2); R=(T0 *)n;}return R; } /*FUNCTION*/void rT260set_header_comment(T260 *C,T0* a1){ /*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) { C->_end_comment=a1; } /*FI*/}/*FUNCTION*/int rT260stupid_switch(T260 *C,T0* a1,T0* a2){ int R=0; R=!((C)->_routine_body); return R; } /*FUNCTION*/int rT260can_hide(T260 *C,T0* a1,T0* a2){ int R=0; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms4_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms5_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT260error(rT260start_position(C),(T0 *)ms6_66); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms7_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT48add_position(rT260start_position(C)); rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms8_66); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0); return R; } /*FUNCTION*/T0* rT260run_ensure(/*C*/T0* a1){ T0* R=NULL; T0* _r=NULL; rT162clear((T162*)oRBC66assertion_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1002,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); _r=rT260runnable(oRBC66assertion_collector,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T161 *n=((T161*)se_new(161)); rT161from_runnable(n,_r); R=(T0 *)n;} } /*FI*/return R; } T0*oRBC27small_eiffel; /*FUNCTION*/T0* rT260base_class_name(T260 *C){ T0* R=NULL; R=((T53*)(C)->_base_class)->_base_class_name; return R; } /*FUNCTION*/void rT260set_rescue_compound(T260 *C,T0* a1){ /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) { rT260error(rT260start_position(C),(T0 *)ms8_160); } /*FI*/C->_rescue_compound=a1; }/*FUNCTION*/void rT260make_e_feature(T260 *C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; }/*FUNCTION*/void rT260make_routine(T260 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ rT260make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; }/*FUNCTION*/void rT260make_effective_routine(T260 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ rT260make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1015; }T0*oRBC66assertion_collector; /*FUNCTION*/void rT260make(T260 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ rT260make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8); C->_result_type=a3; }/*BIT_CONSTANT*/T0* rT81twin(T81 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT81copy((T81*)R,(T0 *)C); AF_0 /*FI*/return R; } /*BIT_CONSTANT*/int rT81static_value(T81 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*BIT_CONSTANT*/void rT81fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*BIT_CONSTANT*/T0* rT81to_runnable(T81 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT81to_runnable((T81*)rT81twin(C),a1); } /*FI*/return R; } /*BIT_CONSTANT*/void rT81error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*BIT_CONSTANT*/T0* rT81add_comment(T81 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } /*BIT_CONSTANT*/T0* rT81result_type(/*C*/void){ T0* R=NULL; rT81error(/*(IRF4*/NULL/*)*/,(T0 *)ms1_81); return R; } /*BIT_CONSTANT*/int rT81to_integer(/*C*/void){ int R=0; rT81error(/*(IRF4*/NULL/*)*/,(T0 *)ms104_27); return R; } /*BIT_CONSTANT*/void rT81copy(T81 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*BIT_CONSTANT*/int rT81is_a(/*C*/T0* a1){ int R=0; R=XrT62is_a(XrT104run_type(rT81result_type()),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position(/*(IRF4*/NULL/*)*/); rT81error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } T0*oRBC27cpp; /*E_OLD*/int rT173static_value(T173 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*E_OLD*/T0* rT173to_runnable(T173 *C,T0* a1){ T0* R=NULL; T0* _exp=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _exp=XrT72to_runnable((C)->_expression,a1); /*IF*/if (!(_exp)) { rT173error(rT173start_position(C),(T0 *)ms1_173); } else { C->_expression=_exp; } /*FI*/C->_id=rT44next_e_old_id((T44*)oRBC27cpp); R=(T0 *)C; } else { {T173 *n=((T173*)se_new(173)); /*[IRF3:make*//*AW*/(n)->_expression=((C)->_expression);/*]*/ R=(T0 *)n;} R=rT173to_runnable((T173*)R,a1); } /*FI*/return R; } /*E_OLD*/void rT173error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*E_OLD*/T0* rT173add_comment(T173 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } /*E_OLD*/T0* rT173result_type(T173 *C){ T0* R=NULL; R=XrT72result_type((C)->_expression); return R; } /*E_OLD*/T0* rT173start_position(T173 *C){ T0* R=NULL; R=XrT72start_position((C)->_expression); return R; } /*E_OLD*/int rT173use_current(T173 *C){ int R=0; R=XrT72use_current((C)->_expression); return R; } /*E_OLD*/void rT173compile_to_c_old(T173 *C){ T0* _t=NULL; _t=XrT62run_type(rT173result_type(C)); rT44put_character((T44*)oRBC27cpp,'T'); /*IF*/if (XrT62is_expanded(_t)) { rT44put_integer((T44*)oRBC27cpp,XrT62id(_t)); rT44put_character((T44*)oRBC27cpp,'\40'); } else { rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_173); } /*FI*/rT44put_character((T44*)oRBC27cpp,'o'); rT44put_integer((T44*)oRBC27cpp,(C)->_id); rT44put_character((T44*)oRBC27cpp,'\75'); XrT72compile_to_c((C)->_expression); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_173); }/*E_OLD*/void rT173compile_to_c(T173 *C){ rT44put_character((T44*)oRBC27cpp,'o'); rT44put_integer((T44*)oRBC27cpp,(C)->_id); }/*E_OLD*/int rT173to_integer(T173 *C){ int R=0; rT173error(rT173start_position(C),(T0 *)ms104_27); return R; } /*E_OLD*/int rT173is_a(T173 *C,T0* a1){ int R=0; R=XrT62is_a(XrT62run_type(rT173result_type(C)),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position(rT173start_position(C)); rT173error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*REAL_CONSTANT*/T0* rT83twin(T83 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT83copy((T83*)R,(T0 *)C); AF_0 /*FI*/return R; } /*REAL_CONSTANT*/int rT83static_value(T83 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*REAL_CONSTANT*/T0* rT83to_runnable(T83 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT83twin(C); /*[IRF3:set_current_type*//*AW*/((T83*)R)->_current_type=(a1);/*]*/ } /*FI*/return R; } /*REAL_CONSTANT*/void rT83error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*REAL_CONSTANT*/T0* rT83add_comment(T83 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC83result_type=0; T0*oRBC83result_type; /*REAL_CONSTANT*/T0* rT83result_type(/*C*/void){ if (ofBC83result_type==0){ T0* R=NULL; ofBC83result_type=1; {T116 *n=((T116*)se_new(116)); rT116make(n,NULL); R=(T0 *)n;} oRBC83result_type=R;} return oRBC83result_type;} /*REAL_CONSTANT*/T0* rT83_px45(T83 *C){ T0* R=NULL; rT83error((C)->_start_position,(T0 *)ms3_83); return R; } /*REAL_CONSTANT*/void rT83compile_to_c(T83 *C){ rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_83); rT44put_string((T44*)oRBC27cpp,(C)->_to_string); rT44put_character((T44*)oRBC27cpp,'\51'); }/*REAL_CONSTANT*/int rT83to_integer(T83 *C){ int R=0; rT83error((C)->_start_position,(T0 *)ms104_27); return R; } /*REAL_CONSTANT*/T0* rT83to_integer_constant(T83 *C){ T0* R=NULL; rT83error((C)->_start_position,(T0 *)ms2_83); return R; } /*REAL_CONSTANT*/void rT83copy(T83 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*REAL_CONSTANT*/int rT83is_a(T83 *C,T0* a1){ int R=0; R=XrT62is_a(rT116run_type((T116*)rT83result_type()),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position((C)->_start_position); rT83error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*REAL_CONSTANT*/void rT83make(T83 *C,T0* a1,T0* a2,int a3,float a4,int a5){ C->_start_position=a1; C->_to_string=a2; C->_integral_part=a3; C->_fractional_part=a4; C->_exponent=a5; }/*ONCE_FUNCTION*/T0* rT263runnable(/*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)) { rT263error(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; } /*ONCE_FUNCTION*/T0* rT263run_require(/*C*/T0* a1){ T0* R=NULL; T0* _ar=NULL; T0* _er=NULL; T0* _r=NULL; int _i=0; rT276clear((T276*)oRBC66require_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1001,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); /*IF*/if (!(rT276empty((T276*)oRBC66require_collector))) { _i=1; while (!((_i)>(((T276*)oRBC66require_collector)->_upper))) { _er=rT276item((T276*)oRBC66require_collector,_i); /*IF*/if (!(rT139empty((T139*)_er))) { _r=rT263runnable(((T139*)_er)->_list,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T139 *n=((T139*)se_new(139)); rT139from_runnable(n,_r); _er=(T0 *)n;} /*IF*/if (!(_ar)) { _ar=ma(276,0,1,_er); } else { rT276add_last((T276*)_ar,_er); } /*FI*/} /*FI*/} /*FI*/_i=(_i)+(1); } /*IF*/if (((int)_ar)) { {T275 *n=((T275*)se_new(275)); /*[IRF3:make*//*AW*/(n)->_list=(_ar);/*]*/ R=(T0 *)n;} } /*FI*/} /*FI*/return R; } /*ONCE_FUNCTION*/T0* rT263first_name(T263 *C){ T0* R=NULL; R=rT130item((T130*)(C)->_names,1); return R; } /*ONCE_FUNCTION*/T0* rT263to_run_feature(T263 *C,T0* a1,T0* a2){ T0* R=NULL; {T281 *n=((T281*)se_new(281)); rT281make(n,a1,a2,(T0 *)C); R=(T0 *)n;} return R; } /*ONCE_FUNCTION*/void rT263error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*ONCE_FUNCTION*/int rT263is_merge_with(T263 *C,T0* a1,T0* a2){ int R=0; int _ne=0; _ne=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms1_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms2_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms3_66); } /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48error((T48*)oRBC27eh,(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0); return R; } /*ONCE_FUNCTION*/T0* rT263start_position(T263 *C){ T0* R=NULL; R=/*XrT*FEATURE_NAME*/((T70*)rT263first_name(C))->_start_position; return R; } /*ONCE_FUNCTION*/void rT263collect_for(T263 *C,int a1){ /*IF*/if ((a1)==(1001)) { /*IF*/if (((int)(C)->_require_assertion)) { /*IF*/if (!(rT276fast_has((T276*)oRBC66require_collector,(C)->_require_assertion))) { rT276add_last((T276*)oRBC66require_collector,(C)->_require_assertion); } /*FI*/} /*FI*/} else { /*IF*/if (((int)(C)->_ensure_assertion)) { rT161add_into((T161*)(C)->_ensure_assertion,oRBC66assertion_collector); } /*FI*/} /*FI*/}/*ONCE_FUNCTION*/void rT263add_into(T263 *C,T0* a1){ T0* _fn=NULL; int _i=0; C->_base_class=rT49base_class((T49*)/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,1))->_start_position); _i=1; while (!((_i)>(rT130count((T130*)(C)->_names)))) { _fn=rT130item((T130*)(C)->_names,_i); /*IF*/if (rT65has((T65*)a1,XrT71to_key(_fn))) { _fn=XrT66first_name(rT65at((T65*)a1,XrT71to_key(_fn))); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position); rT48add_position(/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_names,_i))->_start_position); rT48error((T48*)oRBC27eh,(T0 *)ms12_66); rT48append(/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string); rT48error((T48*)oRBC27eh,(T0 *)ms102_27); } else { rT65put((T65*)a1,(T0 *)C,XrT71to_key(_fn)); } /*FI*/_i=(_i)+(1); } }/*ONCE_FUNCTION*/T0* rT263try_to_undefine(T263 *C,T0* a1,T0* a2){ T0* R=NULL; XrT71undefine_in(a1,a2); R=rT263try_to_undefine_aux(C,a1,a2); /*IF*/if (((int)R)) { /*XrT*DEFERRED_ROUTINE*//*[IRF3:set_clients*//*AW*/((T210*)R)->_clients=((C)->_clients);/*]*/ } else { rT53fatal_undefine((T53*)a2,a1); } /*FI*/return R; } /*ONCE_FUNCTION*/T0* rT263try_to_undefine_aux(T263 *C,T0* a1,T0* a2){ T0* R=NULL; rT263error(rT263start_position(C),(T0 *)ms2_261); rT53fatal_undefine((T53*)a2,a1); return R; } /*ONCE_FUNCTION*/void rT263set_header_comment(T263 *C,T0* a1){ /*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) { C->_end_comment=a1; } /*FI*/}/*ONCE_FUNCTION*/int rT263stupid_switch(T263 *C,T0* a1,T0* a2){ int R=0; R=!((C)->_routine_body); return R; } /*ONCE_FUNCTION*/void rT263mapping_c_name(T263 *C){ rT53mapping_c((T53*)(C)->_base_class); XrT71mapping_c(rT263first_name(C)); }/*ONCE_FUNCTION*/int rT263can_hide(T263 *C,T0* a1,T0* a2){ int R=0; /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)/*XrT*E_FEATURE*/((T148*)a1)->_result_type)) { /*IF*/if (((!((C)->_result_type))||(!(/*XrT*E_FEATURE*/((T148*)a1)->_result_type)))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms4_66); } /*FI*/} /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT66arguments(a1))) { /*IF*/if (((!((C)->_arguments))||(!(XrT66arguments(a1))))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms5_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT263error(rT263start_position(C),(T0 *)ms6_66); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_result_type)) { /*IF*/if (!(XrT62is_a_in((C)->_result_type,/*XrT*E_FEATURE*/((T148*)a1)->_result_type,a2))) { rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms7_66); } /*FI*/} /*FI*/} /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (((int)(C)->_arguments)) { /*IF*/if (!(rT97is_a_in((T97*)(C)->_arguments,XrT66arguments(a1),a2))) { rT48add_position(XrT66start_position(a1)); rT48add_position(rT263start_position(C)); rT48append((T0 *)ms14_66); rT48append(XrT62run_time_mark(((T269*)a2)->_current_type)); rT48error((T48*)oRBC27eh,(T0 *)ms8_66); } /*FI*/} /*FI*/} /*FI*/R=(/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0); return R; } /*ONCE_FUNCTION*/T0* rT263run_ensure(/*C*/T0* a1){ T0* R=NULL; T0* _r=NULL; rT162clear((T162*)oRBC66assertion_collector); rT53collect_for((T53*)XrT62base_class(/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type),1002,/*XrT*RUN_FEATURE*/((T274*)a1)->_name); _r=rT263runnable(oRBC66assertion_collector,/*XrT*RUN_FEATURE*/((T274*)a1)->_current_type,a1); /*IF*/if (((int)_r)) { {T161 *n=((T161*)se_new(161)); rT161from_runnable(n,_r); R=(T0 *)n;} } /*FI*/return R; } /*ONCE_FUNCTION*/T0* rT263base_class_name(T263 *C){ T0* R=NULL; R=((T53*)(C)->_base_class)->_base_class_name; return R; } /*ONCE_FUNCTION*/void rT263set_rescue_compound(T263 *C,T0* a1){ /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) { rT263error(rT263start_position(C),(T0 *)ms8_160); } /*FI*/C->_rescue_compound=a1; }/*ONCE_FUNCTION*/void rT263make_e_feature(T263 *C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; }/*ONCE_FUNCTION*/void rT263make_routine(T263 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ rT263make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; }/*ONCE_FUNCTION*/void rT263make_effective_routine(T263 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ rT263make_routine(C,a1,a2,a3,a4,a5); C->_local_vars=a6; C->_routine_body=a7; C->_use_current_state=1015; }/*ONCE_FUNCTION*/void rT263make(T263 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ rT263make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8); C->_result_type=a3; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.