ftp.nice.ch/pub/next/developer/languages/eiffel/SmallEiffel.0.91.N.bs.tar.gz#/SmallEiffel/bin_c/compile_to_c3.c

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.