This is compile_to_c3.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" /*E_WHEN*/T0* rT234current_type(T234 *C){ T0* R=NULL; R=rT239current_type((T239*)(C)->_when_list); return R; } /*E_WHEN*/T0* rT234to_runnable_integer(T234 *C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (!((C)->_when_list)) { _ne=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; C->_when_list=a1; /*IF*/if (!((C)->_list)) { rT48add_position(((T233*)rT234e_inspect(C))->_start_position); rT234error((C)->_start_position,(T0 *)ms11_234); } else { _i=/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_lower; while (!(((_i)>(/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_upper))||(((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) { _when_item=XrT236to_runnable_integer(/*XrT*ARRAY[WHEN_ITEM]*/rT237item((T237*)(C)->_list,_i),(T0 *)C); /*IF*/if (!(_when_item)) { rT234error((C)->_start_position,(T0 *)ms16_234); } else { /*XrT*ARRAY[WHEN_ITEM]*/rT237put((T237*)(C)->_list,_when_item,_i); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((int)(C)->_compound)) { C->_compound=rT142to_runnable((T142*)(C)->_compound,rT234current_type(C)); /*IF*/if (!((C)->_compound)) { rT234error((C)->_start_position,(T0 *)ms16_234); } /*FI*/} /*FI*/R=(T0 *)C; } else { {T234 *n=((T234*)se_new(234)); rT234from_e_when(n,(T0 *)C); R=(T0 *)n;} R=rT234to_runnable_integer((T234*)R,a1); } /*FI*/return R; } /*E_WHEN*/T0* rT234to_runnable_character(T234 *C,T0* a1){ T0* R=NULL; T0* _when_item=NULL; int _i=0; int _ne=0; /*IF*/if (!((C)->_when_list)) { _ne=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; C->_when_list=a1; /*IF*/if (!((C)->_list)) { rT48add_position(((T233*)rT234e_inspect(C))->_start_position); rT234error((C)->_start_position,(T0 *)ms12_234); } else { _i=/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_lower; while (!(((_i)>(/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_upper))||(((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) { _when_item=XrT236to_runnable_character(/*XrT*ARRAY[WHEN_ITEM]*/rT237item((T237*)(C)->_list,_i),(T0 *)C); /*IF*/if (!(_when_item)) { rT234error((C)->_start_position,(T0 *)ms16_234); } else { /*XrT*ARRAY[WHEN_ITEM]*/rT237put((T237*)(C)->_list,_when_item,_i); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if (((int)(C)->_compound)) { C->_compound=rT142to_runnable((T142*)(C)->_compound,rT234current_type(C)); /*IF*/if (!((C)->_compound)) { rT234error((C)->_start_position,(T0 *)ms16_234); } /*FI*/} /*FI*/R=(T0 *)C; } else { {T234 *n=((T234*)se_new(234)); rT234from_e_when(n,(T0 *)C); R=(T0 *)n;} R=rT234to_runnable_character((T234*)R,a1); } /*FI*/return R; } /*E_WHEN*/void rT234error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*E_WHEN*/T0* rT234e_inspect(T234 *C){ T0* R=NULL; R=((T239*)(C)->_when_list)->_e_inspect; return R; } /*E_WHEN*/int rT234use_current(T234 *C){ int R=0; /*IF*/if (((int)(C)->_compound)) { R=rT142use_current((T142*)(C)->_compound); } /*FI*/return R; } /*E_WHEN*/void rT234from_e_when(T234 *C,T0* a1){ T0* _when_item=NULL; int _i=0; C->_start_position=((T234*)a1)->_start_position; C->_list=XrT238twin(((T234*)a1)->_list); _i=/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_lower; while (!((_i)>(/*XrT*ARRAY[WHEN_ITEM]*/((T237*)(C)->_list)->_upper))) { _when_item=XrT236twin(/*XrT*ARRAY[WHEN_ITEM]*/rT237item((T237*)(C)->_list,_i)); /*XrT*WHEN_ITEM*//*[IRF3:clear_e_when*//*AW*/((T235*)_when_item)->_e_when=(NULL);/*]*/ /*XrT*ARRAY[WHEN_ITEM]*/rT237put((T237*)(C)->_list,_when_item,_i); _i=(_i)+(1); } C->_header_comment=((T234*)a1)->_header_comment; C->_compound=((T234*)a1)->_compound; }/*E_WHEN*/void rT234err_occ(T234 *C,int a1,T0* a2){ rT48add_position(((T233*)rT234e_inspect(C))->_start_position); rT48append((T0 *)ms14_234); rT48append(rT2to_string(a1)); rT234error(a2,(T0 *)ms15_234); }/*E_WHEN*/void rT234compile_to_c(T234 *C,int a1){ int _bs=0; int _bi=0; int _go_next_when=0; int _go_start_when=0; /*IF*/if (((int)(C)->_values)) { _go_start_when=rT44new_goto((T44*)oRBC27cpp); _bi=((T284*)(C)->_values)->_lower; while (!((_bi)>(((T284*)(C)->_values)->_upper))) { _bs=(_bi)+(1); while (!(((_bs)>(((T284*)(C)->_values)->_upper))||(!(rT284item((T284*)(C)->_values,_bs))))) { _bs=(_bs)+(1); } _bs=(_bs)-(1); /*IF*/if ((_bi)==(_bs)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_234); rT44put_integer((T44*)oRBC27cpp,_bi); rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_234); rT44put_inspect((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_234); rT44put_goto((T44*)oRBC27cpp,_go_start_when); } else { rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_234); rT44put_integer((T44*)oRBC27cpp,_bi); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_234); rT44put_inspect((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_234); rT44put_inspect((T44*)oRBC27cpp); rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_234); rT44put_integer((T44*)oRBC27cpp,_bs); rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_234); rT44put_goto((T44*)oRBC27cpp,_go_start_when); } /*FI*/_bi=(_bs)+(1); while (!(((_bi)>(((T284*)(C)->_values)->_upper))||(rT284item((T284*)(C)->_values,_bi)))) { _bi=(_bi)+(1); } } _go_next_when=rT44new_goto((T44*)oRBC27cpp); rT44put_goto((T44*)oRBC27cpp,_go_next_when); rT44put_goto_label((T44*)oRBC27cpp,_go_start_when); /*IF*/if (((int)(C)->_compound)) { rT142compile_to_c((T142*)(C)->_compound); } /*FI*/rT44put_goto((T44*)oRBC27cpp,a1); rT44put_goto_label((T44*)oRBC27cpp,_go_next_when); } /*FI*/}/*E_WHEN*/int rT234includes_integer(T234 *C,int a1){ int R=0; R=((((int)(C)->_values))&&(rT284valid_index((T284*)(C)->_values,a1)))&&(rT284item((T284*)(C)->_values,a1)); return R; } /*E_WHEN*/void rT234add_slice(T234 *C,T0* a1,T0* a2){ T0* _element=NULL; {T241 *n=((T241*)se_new(241)); rT241make(n,a1,a2); _element=(T0 *)n;} /*IF*/if (!((C)->_list)) { C->_list=ma(242,0,1,_element); } else { XrT238add_last((C)->_list,_element); } /*FI*/}/*E_WHEN*/void rT234add_value(T234 *C,T0* a1){ T0* _element=NULL; {T235 *n=((T235*)se_new(235)); /*[IRF3:make*//*AW*/(n)->_expression=(a1);/*]*/ _element=(T0 *)n;} /*IF*/if (!((C)->_list)) { C->_list=ma(237,0,1,_element); } else { XrT238add_last((C)->_list,_element); } /*FI*/}/*E_WHEN*/void rT234make(T234 *C,T0* a1,T0* a2){ C->_start_position=a1; C->_header_comment=a2; }/*E_WHEN*/void rT234add_when_item_2(T234 *C,T0* a1){ int _i=0; int _u=0; int _l=0; _l=((T241*)a1)->_lower_value; _u=((T241*)a1)->_upper_value; /*IF*/if ((_l)>=(_u)) { rT234error(rT241start_position((T241*)a1),(T0 *)ms13_234); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { _i=_l; while (!((_i)>(_u))) { /*IF*/if (rT233includes((T233*)rT234e_inspect(C),_i)) { rT234err_occ(C,_i,rT241start_position((T241*)a1)); _i=(_u)+(1); } else { _i=(_i)+(1); } /*FI*/} } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!((C)->_values)) { {T284 *n=((T284*)se_new(284)); rT284make(n,_l,_u); C->_values=(T0 *)n;} rT284set_all_with((T284*)(C)->_values,1); } else { rT284force((T284*)(C)->_values,1,_l); rT284force((T284*)(C)->_values,1,_u); rT284set_slice_with((T284*)(C)->_values,1,_l,_u); } /*FI*/} /*FI*/}/*E_WHEN*/void rT234add_when_item_1(T234 *C,T0* a1){ int _v=0; _v=((T235*)a1)->_expression_value; /*IF*/if (rT233includes((T233*)rT234e_inspect(C),_v)) { rT234err_occ(C,_v,rT235start_position((T235*)a1)); } else if (!((C)->_values)) { {T284 *n=((T284*)se_new(284)); rT284make(n,_v,_v); C->_values=(T0 *)n;} rT284put((T284*)(C)->_values,1,_v); } else { rT284force((T284*)(C)->_values,1,_v); } /*FI*/}/*EXTERNAL_FUNCTION*/T0* rT220first_name(T220 *C){ T0* R=NULL; R=rT130item((T130*)(C)->_names,1); return R; } /*EXTERNAL_FUNCTION*/T0* rT220to_run_feature(T220 *C,T0* a1,T0* a2){ T0* R=NULL; {T288 *n=((T288*)se_new(288)); rT288make(n,a1,a2,(T0 *)C); R=(T0 *)n;} return R; } /*EXTERNAL_FUNCTION*/void rT220error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*EXTERNAL_FUNCTION*/int rT220is_merge_with(T220 *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)); rT220error(rT220start_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)); rT220error(rT220start_position(C),(T0 *)ms2_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT220error(rT220start_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)); rT220error(rT220start_position(C),(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0); return R; } /*EXTERNAL_FUNCTION*/T0* rT220start_position(T220 *C){ T0* R=NULL; R=/*XrT*FEATURE_NAME*/((T70*)rT220first_name(C))->_start_position; return R; } /*EXTERNAL_FUNCTION*/int rT220use_current(T220 *C){ int R=0; R=XrT212use_current((C)->_language,(T0 *)C); return R; } /*EXTERNAL_FUNCTION*/void rT220collect_for(T220 *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*/}/*EXTERNAL_FUNCTION*/int rT220is_cse(T220 *C){ int R=0; R=XrT212is_cse((C)->_language); return R; } /*EXTERNAL_FUNCTION*/void rT220add_into(T220 *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); } }/*EXTERNAL_FUNCTION*/T0* rT220try_to_undefine(T220 *C,T0* a1,T0* a2){ T0* R=NULL; XrT71undefine_in(a1,a2); R=rT220try_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; } /*EXTERNAL_FUNCTION*/T0* rT220try_to_undefine_aux(T220 *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; } /*EXTERNAL_FUNCTION*/void rT220set_header_comment(T220 *C,T0* a1){ /*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) { C->_end_comment=a1; } /*FI*/}/*EXTERNAL_FUNCTION*/int rT220stupid_item(/*C*/T0* a1,T0* a2){ int R=0; T0* _rc=NULL; T0* _dyn_item=NULL; int _i=0; R=1; _i=((T271*)a2)->_upper; while (!(((_i)==(0))||(!(R)))) { _rc=rT271item((T271*)a2,_i); _dyn_item=rT220dynamic(_rc,a1); R=XrT62is_reference(/*XrT*RUN_FEATURE*/((T274*)_dyn_item)->_result_type); _i=(_i)-(1); } return R; } /*EXTERNAL_FUNCTION*/int rT220stupid_switch(T220 *C,T0* a1,T0* a2){ int R=0; T0* _static_item=NULL; T0* _n=NULL; /*IF*/if (XrT212is_cse((C)->_language)) { _n=/*XrT*FEATURE_NAME*/((T70*)rT220first_name(C))->_to_string; /*IF*/if (rT7is_equal((T7*)(T0 *)ms72_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms73_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms92_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms80_27,_n)) { R=1; } else if ((rT7is_equal((T7*)(T0 *)ms76_27,_n))||(rT7is_equal((T7*)(T0 *)ms85_27,_n))) { _static_item=rT269get_feature_with((T269*)XrT268run_class(a1),(T0 *)ms76_27); R=rT220stupid_item(_static_item,a2); } /*FI*/} else { R=1; } /*FI*/return R; } /*EXTERNAL_FUNCTION*/int rT220can_hide(T220 *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)); rT220error(rT220start_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)); rT220error(rT220start_position(C),(T0 *)ms5_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT220error(rT220start_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(rT220start_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; } /*EXTERNAL_FUNCTION*/T0* rT220dynamic(/*C*/T0* a1,T0* a2){ T0* R=NULL; T0* _static=NULL; T0* _oldn=NULL; T0* _newn=NULL; _static=/*XrT*RUN_FEATURE*/((T274*)a2)->_current_type; _oldn=/*XrT*RUN_FEATURE*/((T274*)a2)->_name; _newn=rT53new_name_of((T53*)rT269base_class((T269*)a1),XrT62base_class(_static),_oldn); R=rT269get_feature((T269*)a1,_newn); return R; } /*EXTERNAL_FUNCTION*/T0* rT220base_class_name(T220 *C){ T0* R=NULL; R=((T53*)(C)->_base_class)->_base_class_name; return R; } /*EXTERNAL_FUNCTION*/int rT220need_prototype(T220 *C){ int R=0; R=XrT212need_prototype((C)->_language); return R; } /*EXTERNAL_FUNCTION*/void rT220set_rescue_compound(T220 *C,T0* a1){ /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) { rT220error(rT220start_position(C),(T0 *)ms8_160); } /*FI*/C->_rescue_compound=a1; }/*EXTERNAL_FUNCTION*/void rT220make_external_routine(T220 *C,T0* a1,T0* a2){ C->_language=a1; /*IF*/if (!(a2)) { C->_external_name=/*XrT*FEATURE_NAME*/((T70*)rT220first_name(C))->_to_string; } else { C->_external_name=a2; } /*FI*/}/*EXTERNAL_FUNCTION*/void rT220make_e_feature(T220 *C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; }/*EXTERNAL_FUNCTION*/void rT220make_routine(T220 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ rT220make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; }/*EXTERNAL_FUNCTION*/void rT220make(T220 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){ rT220make_routine(C,a1,a2,a4,a5,a6); C->_result_type=a3; rT220make_external_routine(C,a7,a8); }/*EXTERNAL_PROCEDURE*/T0* rT219first_name(T219 *C){ T0* R=NULL; R=rT130item((T130*)(C)->_names,1); return R; } /*EXTERNAL_PROCEDURE*/T0* rT219to_run_feature(T219 *C,T0* a1,T0* a2){ T0* R=NULL; {T287 *n=((T287*)se_new(287)); rT287make(n,a1,a2,(T0 *)C); R=(T0 *)n;} return R; } /*EXTERNAL_PROCEDURE*/void rT219error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*EXTERNAL_PROCEDURE*/int rT219is_merge_with(T219 *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)); rT219error(rT219start_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)); rT219error(rT219start_position(C),(T0 *)ms2_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT219error(rT219start_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)); rT219error(rT219start_position(C),(T0 *)ms13_66); } /*FI*/} /*FI*/} /*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0); return R; } /*EXTERNAL_PROCEDURE*/T0* rT219start_position(T219 *C){ T0* R=NULL; R=/*XrT*FEATURE_NAME*/((T70*)rT219first_name(C))->_start_position; return R; } /*EXTERNAL_PROCEDURE*/int rT219use_current(T219 *C){ int R=0; R=XrT212use_current((C)->_language,(T0 *)C); return R; } /*EXTERNAL_PROCEDURE*/void rT219collect_for(T219 *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*/}/*EXTERNAL_PROCEDURE*/int rT219is_cse(T219 *C){ int R=0; R=XrT212is_cse((C)->_language); return R; } /*EXTERNAL_PROCEDURE*/void rT219add_into(T219 *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); } }/*EXTERNAL_PROCEDURE*/T0* rT219try_to_undefine(T219 *C,T0* a1,T0* a2){ T0* R=NULL; XrT71undefine_in(a1,a2); R=rT219try_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; } /*EXTERNAL_PROCEDURE*/T0* rT219try_to_undefine_aux(T219 *C,T0* a1,T0* a2){ T0* R=NULL; {T210 *n=((T210*)se_new(210)); rT210from_effective(n,a1,(C)->_arguments,(C)->_require_assertion,(C)->_ensure_assertion,a2); R=(T0 *)n;}return R; } /*EXTERNAL_PROCEDURE*/void rT219set_header_comment(T219 *C,T0* a1){ /*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) { C->_end_comment=a1; } /*FI*/}/*EXTERNAL_PROCEDURE*/int rT219stupid_item(/*C*/T0* a1,T0* a2){ int R=0; T0* _rc=NULL; T0* _dyn_item=NULL; int _i=0; R=1; _i=((T271*)a2)->_upper; while (!(((_i)==(0))||(!(R)))) { _rc=rT271item((T271*)a2,_i); _dyn_item=rT219dynamic(_rc,a1); R=XrT62is_reference(/*XrT*RUN_FEATURE*/((T274*)_dyn_item)->_result_type); _i=(_i)-(1); } return R; } /*EXTERNAL_PROCEDURE*/int rT219stupid_switch(T219 *C,T0* a1,T0* a2){ int R=0; T0* _static_item=NULL; T0* _n=NULL; /*IF*/if (XrT212is_cse((C)->_language)) { _n=/*XrT*FEATURE_NAME*/((T70*)rT219first_name(C))->_to_string; /*IF*/if (rT7is_equal((T7*)(T0 *)ms72_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms73_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms92_27,_n)) { R=1; } else if (rT7is_equal((T7*)(T0 *)ms80_27,_n)) { R=1; } else if ((rT7is_equal((T7*)(T0 *)ms76_27,_n))||(rT7is_equal((T7*)(T0 *)ms85_27,_n))) { _static_item=rT269get_feature_with((T269*)XrT268run_class(a1),(T0 *)ms76_27); R=rT219stupid_item(_static_item,a2); } /*FI*/} else { R=1; } /*FI*/return R; } /*EXTERNAL_PROCEDURE*/int rT219can_hide(T219 *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)); rT219error(rT219start_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)); rT219error(rT219start_position(C),(T0 *)ms5_66); } else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) { rT48add_position(XrT66start_position(a1)); rT219error(rT219start_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(rT219start_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; } /*EXTERNAL_PROCEDURE*/T0* rT219dynamic(/*C*/T0* a1,T0* a2){ T0* R=NULL; T0* _static=NULL; T0* _oldn=NULL; T0* _newn=NULL; _static=/*XrT*RUN_FEATURE*/((T274*)a2)->_current_type; _oldn=/*XrT*RUN_FEATURE*/((T274*)a2)->_name; _newn=rT53new_name_of((T53*)rT269base_class((T269*)a1),XrT62base_class(_static),_oldn); R=rT269get_feature((T269*)a1,_newn); return R; } /*EXTERNAL_PROCEDURE*/T0* rT219base_class_name(T219 *C){ T0* R=NULL; R=((T53*)(C)->_base_class)->_base_class_name; return R; } /*EXTERNAL_PROCEDURE*/int rT219need_prototype(T219 *C){ int R=0; R=XrT212need_prototype((C)->_language); return R; } /*EXTERNAL_PROCEDURE*/void rT219set_rescue_compound(T219 *C,T0* a1){ /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) { rT219error(rT219start_position(C),(T0 *)ms8_160); } /*FI*/C->_rescue_compound=a1; }/*EXTERNAL_PROCEDURE*/void rT219make_external_routine(T219 *C,T0* a1,T0* a2){ C->_language=a1; /*IF*/if (!(a2)) { C->_external_name=/*XrT*FEATURE_NAME*/((T70*)rT219first_name(C))->_to_string; } else { C->_external_name=a2; } /*FI*/}/*EXTERNAL_PROCEDURE*/void rT219make_e_feature(T219 *C,T0* a1,T0* a2){ C->_names=a1; C->_result_type=a2; }/*EXTERNAL_PROCEDURE*/void rT219make_routine(T219 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ rT219make_e_feature(C,a1,NULL); C->_header_comment=a4; C->_arguments=a2; C->_obsolete_mark=a3; C->_require_assertion=a5; }/*EXTERNAL_PROCEDURE*/void rT219make(T219 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){ rT219make_routine(C,a1,a2,a3,a4,a5); rT219make_external_routine(C,a6,a7); }/*EXTERNAL_ICWC*/int rT217use_current(/*C*/T0* a1){ int R=0; R=1; return R; } /*EXTERNAL_IC*/int rT216use_current(/*C*/T0* a1){ int R=0; return R; } /*EXTERNAL_C*/int rT215use_current(/*C*/T0* a1){ int R=0; return R; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.