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

This is compile_to_c2.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"
/*ONCE_PROCEDURE*/T0* rT262runnable(/*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)) {
rT262error(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_PROCEDURE*/T0* rT262run_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=rT262runnable(((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_PROCEDURE*/T0* rT262first_name(T262 *C){
T0* R=NULL;
R=rT130item((T130*)(C)->_names,1);
return R;
}
/*ONCE_PROCEDURE*/T0* rT262to_run_feature(T262 *C,T0* a1,T0* a2){
T0* R=NULL;
{T290 *n=((T290*)se_new(290));
rT290make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
/*ONCE_PROCEDURE*/void rT262error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*ONCE_PROCEDURE*/int rT262is_merge_with(T262 *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));
rT262error(rT262start_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));
rT262error(rT262start_position(C),(T0 *)ms2_66);
}
 else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) {
rT48add_position(XrT66start_position(a1));
rT262error(rT262start_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));
rT262error(rT262start_position(C),(T0 *)ms13_66);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
/*ONCE_PROCEDURE*/T0* rT262start_position(T262 *C){
T0* R=NULL;
R=/*XrT*FEATURE_NAME*/((T70*)rT262first_name(C))->_start_position;
return R;
}
/*ONCE_PROCEDURE*/void rT262collect_for(T262 *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_PROCEDURE*/void rT262add_into(T262 *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_PROCEDURE*/T0* rT262try_to_undefine(T262 *C,T0* a1,T0* a2){
T0* R=NULL;
XrT71undefine_in(a1,a2);
R=rT262try_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_PROCEDURE*/T0* rT262try_to_undefine_aux(T262 *C,T0* a1,T0* a2){
T0* R=NULL;
rT262error(rT262start_position(C),(T0 *)ms2_261);
rT53fatal_undefine((T53*)a2,a1);
return R;
}
/*ONCE_PROCEDURE*/void rT262set_header_comment(T262 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT63count((T63*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}/*ONCE_PROCEDURE*/int rT262stupid_switch(T262 *C,T0* a1,T0* a2){
int R=0;
R=!((C)->_routine_body);
return R;
}
/*ONCE_PROCEDURE*/void rT262mapping_c_name(T262 *C){
rT53mapping_c((T53*)(C)->_base_class);
XrT71mapping_c(rT262first_name(C));
}/*ONCE_PROCEDURE*/int rT262can_hide(T262 *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));
rT262error(rT262start_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));
rT262error(rT262start_position(C),(T0 *)ms5_66);
}
 else if ((rT97count((T97*)(C)->_arguments))!=(rT97count((T97*)XrT66arguments(a1)))) {
rT48add_position(XrT66start_position(a1));
rT262error(rT262start_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(rT262start_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_PROCEDURE*/T0* rT262run_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=rT262runnable(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_PROCEDURE*/T0* rT262base_class_name(T262 *C){
T0* R=NULL;
R=((T53*)(C)->_base_class)->_base_class_name;
return R;
}
/*ONCE_PROCEDURE*/void rT262set_rescue_compound(T262 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
rT262error(rT262start_position(C),(T0 *)ms8_160);
}
/*FI*/C->_rescue_compound=a1;
}/*ONCE_PROCEDURE*/void rT262make_e_feature(T262 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}/*ONCE_PROCEDURE*/void rT262make_routine(T262 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT262make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}/*ONCE_PROCEDURE*/void rT262make(T262 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
rT262make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1015;
}/*REVERSE_ASSIGNMENT*/void rT257warning(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48warning((T48*)oRBC27eh,a2);
}/*REVERSE_ASSIGNMENT*/T0* rT257current_type(T257 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T142*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
/*REVERSE_ASSIGNMENT*/void rT257fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*REVERSE_ASSIGNMENT*/T0* rT257to_runnable(T257 *C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
_e=XrT72to_runnable((C)->_left_side,rT257current_type(C));
/*IF*/if (!(_e)) {
rT257error(XrT72start_position((C)->_left_side),(T0 *)ms99_27);
}
else {
C->_left_side=_e;
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_e=XrT72to_runnable((C)->_right_side,rT257current_type(C));
/*IF*/if (!(_e)) {
rT257error(XrT72start_position((C)->_right_side),(T0 *)ms100_27);
}
else {
C->_right_side=_e;
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT62is_a(XrT62run_type(rT257right_type(C)),XrT62run_type(rT257left_type(C))))) {
/*IF*/if (!(XrT72is_current((C)->_right_side))) {
rT48add_type(rT257right_type(C),(T0 *)ms12_257);
rT48add_type(rT257left_type(C),(T0 *)ms13_257);
rT257warning(rT257start_position(C),(T0 *)ms14_257);
}
/*FI*/}
/*FI*//*[IRF3:cancel*//*[IRF3:clear*//*AW*/((T7*)oRBC48explanation)->_count=(0);/*]*/
rT50clear((T50*)oRBC48positions);
/*]*/
/*IF*/if (!(XrT62is_reference(XrT62run_type(rT257left_type(C))))) {
rT48add_type(XrT62run_type(rT257left_type(C)),(T0 *)ms15_257);
rT257error(rT257start_position(C),(T0 *)ms16_257);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T257 *n=((T257*)se_new(257));
rT257make(n,(C)->_left_side,(C)->_right_side);
R=(T0 *)n;}
R=rT257to_runnable((T257*)R,a1);
}
/*FI*/return R;
}
/*REVERSE_ASSIGNMENT*/T0* rT257left_type(T257 *C){
T0* R=NULL;
R=XrT72result_type((C)->_left_side);
return R;
}
/*REVERSE_ASSIGNMENT*/void rT257error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*REVERSE_ASSIGNMENT*/T0* rT257add_comment(T257 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T224 *n=((T224*)se_new(224));
rT224make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*REVERSE_ASSIGNMENT*/T0* rT257start_position(T257 *C){
T0* R=NULL;
R=XrT72start_position((C)->_left_side);
return R;
}
/*REVERSE_ASSIGNMENT*/int rT257use_current(T257 *C){
int R=0;
/*IF*/if (XrT72use_current((C)->_left_side)) {
R=1;
}
else {
R=XrT72use_current((C)->_right_side);
}
/*FI*/return R;
}
/*REVERSE_ASSIGNMENT*/void rT257compile_to_c(T257 *C){
int _i=0;
T0* _run=NULL;
_run=((T269*)XrT62run_class(XrT72result_type((C)->_left_side)))->_running;
/*IF*/if ((!(_run))||(rT271empty((T271*)_run))) {
XrT72compile_to_c((C)->_left_side);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_257);
}
else {
XrT72compile_to_c((C)->_left_side);
rT44put_character((T44*)oRBC27cpp,'\75');
/*IF*/if (XrT62is_reference(XrT62run_type(rT257right_type(C)))) {
/*IF*/if (XrT72is_current((C)->_right_side)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_257);
}
/*FI*/XrT72compile_to_c((C)->_right_side);
}
else {
rT48add_position(rT257start_position(C));
rT257fatal_error((T0 *)ms3_257);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_257);
XrT72compile_to_c((C)->_left_side);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_257);
XrT72compile_to_c((C)->_left_side);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_257);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_257);
_i=((T271*)_run)->_lower;
while (!((_i)>(((T271*)_run)->_upper))) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_257);
rT44put_integer((T44*)oRBC27cpp,((T269*)rT271item((T271*)_run,_i))->_id);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_257);
_i=(_i)+(1);
}
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_257);
XrT72compile_to_c((C)->_left_side);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_257);
}
/*FI*/}/*REVERSE_ASSIGNMENT*/int rT257is_pre_computable(T257 *C){
int R=0;
R=(XrT72is_result((C)->_left_side))&&(XrT72is_pre_computable((C)->_right_side));
return R;
}
/*REVERSE_ASSIGNMENT*/T0* rT257right_type(T257 *C){
T0* R=NULL;
R=XrT72result_type((C)->_right_side);
return R;
}
/*REVERSE_ASSIGNMENT*/void rT257make(T257 *C,T0* a1,T0* a2){
C->_left_side=a1;
C->_right_side=a2;
}/*EXPRESSION_WITH_COMMENT*/T0* rT228twin(T228 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);AF_1
rT228copy((T228*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
/*EXPRESSION_WITH_COMMENT*/int rT228is_static(T228 *C){
int R=0;
R=XrT72is_static((C)->_expression);
/*IF*/if (R) {
C->_static_value_mem=XrT72static_value_mem((C)->_expression);
}
/*FI*/return R;
}
/*EXPRESSION_WITH_COMMENT*/int rT228static_value(T228 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*EXPRESSION_WITH_COMMENT*/T0* rT228to_runnable(T228 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
C->_expression=XrT72to_runnable((C)->_expression,a1);
R=(T0 *)C;
}
else {
R=rT228twin(C);
/*[IRF3:set_current_type*//*AW*/((T228*)R)->_current_type=(NULL);/*]*/
R=rT228to_runnable((T228*)R,a1);
}
/*FI*/return R;
}
/*EXPRESSION_WITH_COMMENT*/void rT228error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*EXPRESSION_WITH_COMMENT*/int rT228c_simple(T228 *C){
int R=0;
R=XrT72c_simple((C)->_expression);
return R;
}
/*EXPRESSION_WITH_COMMENT*/T0* rT228add_comment(T228 *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;
}
/*EXPRESSION_WITH_COMMENT*/T0* rT228result_type(T228 *C){
T0* R=NULL;
R=XrT72result_type((C)->_expression);
return R;
}
/*EXPRESSION_WITH_COMMENT*/T0* rT228start_position(T228 *C){
T0* R=NULL;
R=XrT72start_position((C)->_expression);
return R;
}
/*EXPRESSION_WITH_COMMENT*/int rT228use_current(T228 *C){
int R=0;
R=XrT72use_current((C)->_expression);
return R;
}
/*EXPRESSION_WITH_COMMENT*/int rT228can_be_dropped(T228 *C){
int R=0;
R=XrT72can_be_dropped((C)->_expression);
return R;
}
/*EXPRESSION_WITH_COMMENT*/void rT228compile_to_c_old(T228 *C){
XrT72compile_to_c_old((C)->_expression);
}/*EXPRESSION_WITH_COMMENT*/void rT228compile_to_c(T228 *C){
XrT72compile_to_c((C)->_expression);
}/*EXPRESSION_WITH_COMMENT*/int rT228to_integer(T228 *C){
int R=0;
rT228error(rT228start_position(C),(T0 *)ms104_27);
return R;
}
/*EXPRESSION_WITH_COMMENT*/void rT228copy(T228 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}/*EXPRESSION_WITH_COMMENT*/int rT228is_a(T228 *C,T0* a1){
int R=0;
R=XrT62is_a(XrT62run_type(rT228result_type(C)),XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position(rT228start_position(C));
rT228error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*EXPRESSION_WITH_COMMENT*/int rT228is_pre_computable(T228 *C){
int R=0;
R=rT228is_static(C);
return R;
}
/*EXPRESSION_WITH_COMMENT*/void rT228make(T228 *C,T0* a1,T0* a2){
C->_expression=a1;
C->_comment=a2;
}/*WRITABLE_ATTRIBUTE*/T0* rT264first_name(T264 *C){
T0* R=NULL;
R=rT130item((T130*)(C)->_names,1);
return R;
}
/*WRITABLE_ATTRIBUTE*/T0* rT264to_run_feature(T264 *C,T0* a1,T0* a2){
T0* R=NULL;
{T291 *n=((T291*)se_new(291));
rT291make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
/*WRITABLE_ATTRIBUTE*/void rT264error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*WRITABLE_ATTRIBUTE*/int rT264is_merge_with(T264 *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));
rT264error(rT264start_position(C),(T0 *)ms1_66);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT66arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT66arguments(a1))))) {
rT48add_position(XrT66start_position(a1));
rT264error(rT264start_position(C),(T0 *)ms2_66);
}
 else if ((rT97count((T97*)/*(IRF4*/NULL/*)*/))!=(rT97count((T97*)XrT66arguments(a1)))) {
rT48add_position(XrT66start_position(a1));
rT264error(rT264start_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)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT97is_a_in((T97*)/*(IRF4*/NULL/*)*/,XrT66arguments(a1),a2))) {
rT48add_position(XrT66start_position(a1));
rT264error(rT264start_position(C),(T0 *)ms13_66);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
/*WRITABLE_ATTRIBUTE*/T0* rT264start_position(T264 *C){
T0* R=NULL;
R=/*XrT*FEATURE_NAME*/((T70*)rT264first_name(C))->_start_position;
return R;
}
/*WRITABLE_ATTRIBUTE*/void rT264collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT276fast_has((T276*)oRBC66require_collector,/*(IRF4*/NULL/*)*/))) {
rT276add_last((T276*)oRBC66require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT161add_into((T161*)/*(IRF4*/NULL/*)*/,oRBC66assertion_collector);
}
/*FI*/}
/*FI*/}/*WRITABLE_ATTRIBUTE*/void rT264add_into(T264 *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);
}
}/*WRITABLE_ATTRIBUTE*/T0* rT264try_to_undefine(T264 *C,T0* a1,T0* a2){
T0* R=NULL;
XrT71undefine_in(a1,a2);
R=rT264try_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;
}
/*WRITABLE_ATTRIBUTE*/T0* rT264try_to_undefine_aux(T264 *C,T0* a1,T0* a2){
T0* R=NULL;
rT48add_position(rT264start_position(C));
rT264error(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position,(T0 *)ms1_150);
rT53fatal_undefine((T53*)a2,a1);
return R;
}
/*WRITABLE_ATTRIBUTE*/int rT264stupid_switch(/*C*/T0* a1,T0* a2){
int R=0;
T0* _dyn_rc=NULL;
T0* _dyn_rf=NULL;
int _i=0;
int _disp2=0;
int _disp1=0;
_i=((T271*)a2)->_upper;
_dyn_rc=rT271item((T271*)a2,_i);
_dyn_rf=rT264dynamic(_dyn_rc,a1);
_disp1=rT269displacement((T269*)_dyn_rc,_dyn_rf);
R=1;
_i=(_i)-(1);
while (!((!(R))||((_i)==(0)))) {
_dyn_rc=rT271item((T271*)a2,_i);
_dyn_rf=rT264dynamic(_dyn_rc,a1);
_disp2=rT269displacement((T269*)_dyn_rc,_dyn_rf);
R=(_disp1)==(_disp2);
_i=(_i)-(1);
}
return R;
}
/*WRITABLE_ATTRIBUTE*/int rT264can_hide(T264 *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));
rT264error(rT264start_position(C),(T0 *)ms4_66);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT66arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT66arguments(a1))))) {
rT48add_position(XrT66start_position(a1));
rT264error(rT264start_position(C),(T0 *)ms5_66);
}
 else if ((rT97count((T97*)/*(IRF4*/NULL/*)*/))!=(rT97count((T97*)XrT66arguments(a1)))) {
rT48add_position(XrT66start_position(a1));
rT264error(rT264start_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)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT97is_a_in((T97*)/*(IRF4*/NULL/*)*/,XrT66arguments(a1),a2))) {
rT48add_position(XrT66start_position(a1));
rT48add_position(rT264start_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;
}
/*WRITABLE_ATTRIBUTE*/T0* rT264dynamic(/*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;
}
/*WRITABLE_ATTRIBUTE*/T0* rT264base_class_name(T264 *C){
T0* R=NULL;
R=((T53*)(C)->_base_class)->_base_class_name;
return R;
}
/*WRITABLE_ATTRIBUTE*/void rT264make(T264 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.