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

This is compile_to_c1.c in view mode; [Download] [Up]

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.95)    --      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(sz);
memset(n,0,sz);
n->id=id;
return n;
}
T0* rT253runnable(/*C*/T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
int _i=0;
/*IF*/if (!(rT158empty((T158*)a1))) {
R=rT158twin((T158*)a1);
_i=((T158*)R)->_upper;
while (!((_i)==(0))) {
rT52push((T52*)oRBC27small_eiffel,a3);
_a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
/*IF*/if (!(_a)) {
rT253error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473);
}
else {
rT158put((T158*)R,_a,_i);
}
/*FI*/rT52pop((T52*)oRBC27small_eiffel);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
T0* rT253run_require(/*C*/T0* a1){
T0* R=NULL;
T0* _ar=NULL;
T0* _er=NULL;
T0* _r=NULL;
int _i=0;
rT269clear((T269*)oRBC62require_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1001,XrT262name(a1));
/*IF*/if (!(rT269empty((T269*)oRBC62require_collector))) {
_i=1;
while (!((_i)>(((T269*)oRBC62require_collector)->_upper))) {
_er=rT269item((T269*)oRBC62require_collector,_i);
/*IF*/if (!(rT137empty((T137*)_er))) {
_r=rT253runnable(((T137*)_er)->_list,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T137 *n=((T137*)se_new(137));
rT137from_runnable(n,_r);
_er=(T0 *)n;}
/*IF*/if (!(_ar)) {
_ar=ma(269,0,1,_er);
}
else {
rT269add_last((T269*)_ar,_er);
}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
/*IF*/if (((int)_ar)) {
{T268 *n=((T268*)se_new(268));
/*(IRF3*/((n)->_list)=(_ar);
/*)*/R=(T0 *)n;}
}
/*FI*/}
/*FI*/return R;
}
T0*oRBC62require_collector;
void rT253fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT253first_name(T253 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
T0* rT253to_run_feature(T253 *C,T0* a1,T0* a2){
T0* R=NULL;
{T282 *n=((T282*)se_new(282));
rT282make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT253error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT253fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT253fatal_error((T0 *)ms481);
}
int rT253is_merge_with(T253 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0*oRBC27eh;
T0* rT253start_position(T253 *C){
T0* R=NULL;
R=XrT67start_position(rT253first_name(C));
return R;
}
void rT253collect_for(T253 *C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,(C)->_require_assertion))) {
rT269add_last((T269*)oRBC62require_collector,(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT253add_into(T253 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT253try_to_undefine(T253 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT253start_position(C));
rT253error(XrT67start_position(a1),(T0 *)ms478);
rT253fe_undefine(a1,a2);
}
else {
R=rT253try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT253fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT253try_to_undefine_aux(T253 *C,T0* a1,T0* a2){
T0* R=NULL;
{T206 *n=((T206*)se_new(206));
rT206from_effective(n,a1,(C)->_arguments,(C)->_result_type,(C)->_require_assertion,(C)->_ensure_assertion,a2);
R=(T0 *)n;}return R;
}
void rT253set_header_comment(T253 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}
int rT253can_hide(T253 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT253error(rT253start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT253start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT253run_ensure(/*C*/T0* a1){
T0* R=NULL;
T0* _r=NULL;
rT158clear((T158*)oRBC62assertion_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1002,XrT262name(a1));
_r=rT253runnable(oRBC62assertion_collector,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T157 *n=((T157*)se_new(157));
rT157from_runnable(n,_r);
R=(T0 *)n;}
}
/*FI*/return R;
}
T0*oRBC27small_eiffel;
T0* rT253base_class_name(T253 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT253set_rescue_compound(T253 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
rT253error(rT253start_position(C),(T0 *)ms397);
}
/*FI*/C->_rescue_compound=a1;
}
void rT253make_e_feature(T253 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT253make_routine(T253 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT253make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void rT253make_effective_routine(T253 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
rT253make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1015;
}
T0*oRBC62assertion_collector;
void rT253make(T253 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
rT253make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
C->_result_type=a3;
}
T0* rT77twin(T77 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT77copy((T77*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT77static_value(T77 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
void rT77fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT77to_runnable(T77 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
}
else {
R=rT77to_runnable((T77*)rT77twin(C),a1);
}
/*FI*/return R;
}
void rT77error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT77add_comment(T77 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT77result_type(/*C*/void){
T0* R=NULL;
rT77error(/*(IRF4*/NULL/*)*/,(T0 *)ms1171);
return R;
}
int rT77to_integer(/*C*/void){
int R=0;
rT77error(/*(IRF4*/NULL/*)*/,(T0 *)ms169);
return R;
}
T0* rT77written_in(/*C*/void){
T0* R=NULL;
T0* _sp=NULL;
_sp=/*(IRF4*/NULL/*)*/;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
void rT77copy(T77 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT77is_a(/*C*/T0* a1){
int R=0;
R=XrT58is_a(XrT102run_type(rT77result_type()),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(/*(IRF4*/NULL/*)*/);
rT77error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
T0*oRBC27cpp;
int rT169static_value(T169 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT169to_runnable(T169 *C,T0* a1){
T0* R=NULL;
T0* _exp=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
_exp=XrT68to_runnable((C)->_expression,a1);
/*IF*/if (!(_exp)) {
rT169error(rT169start_position(C),(T0 *)ms1162);
}
else {
C->_expression=_exp;
}
/*FI*/C->_id=rT43next_e_old_id((T43*)oRBC27cpp);
R=(T0 *)C;
}
else {
{T169 *n=((T169*)se_new(169));
/*(IRF3*/((n)->_expression)=((C)->_expression);
/*)*/R=(T0 *)n;}
R=rT169to_runnable((T169*)R,a1);
}
/*FI*/return R;
}
void rT169error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT169add_comment(T169 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT169result_type(T169 *C){
T0* R=NULL;
R=XrT68result_type((C)->_expression);
return R;
}
T0* rT169start_position(T169 *C){
T0* R=NULL;
R=XrT68start_position((C)->_expression);
return R;
}
int rT169use_current(T169 *C){
int R=0;
R=XrT68use_current((C)->_expression);
return R;
}
void rT169compile_to_c_old(T169 *C){
T0* _t=NULL;
_t=XrT58run_type(rT169result_type(C));
rT43put_character((T43*)oRBC27cpp,'T');
/*IF*/if (XrT58is_expanded(_t)) {
rT43put_integer((T43*)oRBC27cpp,XrT58id(_t));
rT43put_character((T43*)oRBC27cpp,'\40');
}
else {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1535);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'o');
rT43put_integer((T43*)oRBC27cpp,(C)->_id);
rT43put_character((T43*)oRBC27cpp,'\75');
XrT68compile_to_c((C)->_expression);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1536);
}
void rT169compile_to_c(T169 *C){
rT43put_character((T43*)oRBC27cpp,'o');
rT43put_integer((T43*)oRBC27cpp,(C)->_id);
}
int rT169to_integer(T169 *C){
int R=0;
rT169error(rT169start_position(C),(T0 *)ms169);
return R;
}
T0* rT169written_in(T169 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=rT169start_position(C);
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT169is_a(T169 *C,T0* a1){
int R=0;
R=XrT58is_a(XrT58run_type(rT169result_type(C)),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT169start_position(C));
rT169error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
T0* rT79twin(T79 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT79copy((T79*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT79static_value(T79 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT79to_runnable(T79 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
}
else {
R=rT79twin(C);
/*(IRF3*/(((T79*)R)->_current_type)=(a1);
/*)*/}
/*FI*/return R;
}
void rT79error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT79add_comment(T79 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int ofBC79result_type=0;
T0*oRBC79result_type;
T0* rT79result_type(/*C*/void){
if (ofBC79result_type==0){
T0* R=NULL;
ofBC79result_type=1;
{T114 *n=((T114*)se_new(114));
rT114make(n,NULL);
R=(T0 *)n;}
oRBC79result_type=R;}
return oRBC79result_type;}
T0* rT79_px45(T79 *C){
T0* R=NULL;
rT79error((C)->_start_position,(T0 *)ms168);
return R;
}
void rT79compile_to_c(T79 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1175);
rT43put_string((T43*)oRBC27cpp,(C)->_to_string);
rT43put_character((T43*)oRBC27cpp,'\51');
}
int rT79to_integer(T79 *C){
int R=0;
rT79error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT79to_integer_constant(T79 *C){
T0* R=NULL;
rT79error((C)->_start_position,(T0 *)ms269);
return R;
}
T0* rT79written_in(T79 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
void rT79copy(T79 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT79is_a(T79 *C,T0* a1){
int R=0;
R=XrT58is_a(rT114run_type((T114*)rT79result_type()),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT79error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT79make(T79 *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;
}
T0* rT256runnable(/*C*/T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
int _i=0;
/*IF*/if (!(rT158empty((T158*)a1))) {
R=rT158twin((T158*)a1);
_i=((T158*)R)->_upper;
while (!((_i)==(0))) {
rT52push((T52*)oRBC27small_eiffel,a3);
_a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
/*IF*/if (!(_a)) {
rT256error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473);
}
else {
rT158put((T158*)R,_a,_i);
}
/*FI*/rT52pop((T52*)oRBC27small_eiffel);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
T0* rT256run_require(/*C*/T0* a1){
T0* R=NULL;
T0* _ar=NULL;
T0* _er=NULL;
T0* _r=NULL;
int _i=0;
rT269clear((T269*)oRBC62require_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1001,XrT262name(a1));
/*IF*/if (!(rT269empty((T269*)oRBC62require_collector))) {
_i=1;
while (!((_i)>(((T269*)oRBC62require_collector)->_upper))) {
_er=rT269item((T269*)oRBC62require_collector,_i);
/*IF*/if (!(rT137empty((T137*)_er))) {
_r=rT256runnable(((T137*)_er)->_list,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T137 *n=((T137*)se_new(137));
rT137from_runnable(n,_r);
_er=(T0 *)n;}
/*IF*/if (!(_ar)) {
_ar=ma(269,0,1,_er);
}
else {
rT269add_last((T269*)_ar,_er);
}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
/*IF*/if (((int)_ar)) {
{T268 *n=((T268*)se_new(268));
/*(IRF3*/((n)->_list)=(_ar);
/*)*/R=(T0 *)n;}
}
/*FI*/}
/*FI*/return R;
}
void rT256fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT256first_name(T256 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
T0* rT256to_run_feature(T256 *C,T0* a1,T0* a2){
T0* R=NULL;
{T274 *n=((T274*)se_new(274));
rT274make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT256error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT256fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT256fatal_error((T0 *)ms481);
}
int rT256is_merge_with(T256 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT256start_position(T256 *C){
T0* R=NULL;
R=XrT67start_position(rT256first_name(C));
return R;
}
void rT256collect_for(T256 *C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,(C)->_require_assertion))) {
rT269add_last((T269*)oRBC62require_collector,(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT256add_into(T256 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT256try_to_undefine(T256 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT256start_position(C));
rT256error(XrT67start_position(a1),(T0 *)ms478);
rT256fe_undefine(a1,a2);
}
else {
R=rT256try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT256fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT256try_to_undefine_aux(T256 *C,T0* a1,T0* a2){
T0* R=NULL;
rT256error(rT256start_position(C),(T0 *)ms1533);
rT256fe_undefine(a1,a2);
return R;
}
void rT256set_header_comment(T256 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}
void rT256mapping_c_name(T256 *C){
rT50mapping_c((T50*)(C)->_base_class);
XrT67mapping_c(rT256first_name(C));
}
int rT256can_hide(T256 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT256error(rT256start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT256start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT256run_ensure(/*C*/T0* a1){
T0* R=NULL;
T0* _r=NULL;
rT158clear((T158*)oRBC62assertion_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1002,XrT262name(a1));
_r=rT256runnable(oRBC62assertion_collector,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T157 *n=((T157*)se_new(157));
rT157from_runnable(n,_r);
R=(T0 *)n;}
}
/*FI*/return R;
}
T0* rT256base_class_name(T256 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT256set_rescue_compound(T256 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
rT256error(rT256start_position(C),(T0 *)ms397);
}
/*FI*/C->_rescue_compound=a1;
}
void rT256make_e_feature(T256 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT256make_routine(T256 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT256make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void rT256make_effective_routine(T256 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
rT256make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1015;
}
void rT256make(T256 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
rT256make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
C->_result_type=a3;
}
T0* rT255runnable(/*C*/T0* a1,T0* a2,T0* a3){
T0* R=NULL;
T0* _a=NULL;
int _i=0;
/*IF*/if (!(rT158empty((T158*)a1))) {
R=rT158twin((T158*)a1);
_i=((T158*)R)->_upper;
while (!((_i)==(0))) {
rT52push((T52*)oRBC27small_eiffel,a3);
_a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
/*IF*/if (!(_a)) {
rT255error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473);
}
else {
rT158put((T158*)R,_a,_i);
}
/*FI*/rT52pop((T52*)oRBC27small_eiffel);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
T0* rT255run_require(/*C*/T0* a1){
T0* R=NULL;
T0* _ar=NULL;
T0* _er=NULL;
T0* _r=NULL;
int _i=0;
rT269clear((T269*)oRBC62require_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1001,XrT262name(a1));
/*IF*/if (!(rT269empty((T269*)oRBC62require_collector))) {
_i=1;
while (!((_i)>(((T269*)oRBC62require_collector)->_upper))) {
_er=rT269item((T269*)oRBC62require_collector,_i);
/*IF*/if (!(rT137empty((T137*)_er))) {
_r=rT255runnable(((T137*)_er)->_list,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T137 *n=((T137*)se_new(137));
rT137from_runnable(n,_r);
_er=(T0 *)n;}
/*IF*/if (!(_ar)) {
_ar=ma(269,0,1,_er);
}
else {
rT269add_last((T269*)_ar,_er);
}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)+(1);
}
/*IF*/if (((int)_ar)) {
{T268 *n=((T268*)se_new(268));
/*(IRF3*/((n)->_list)=(_ar);
/*)*/R=(T0 *)n;}
}
/*FI*/}
/*FI*/return R;
}
void rT255fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT255first_name(T255 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
T0* rT255to_run_feature(T255 *C,T0* a1,T0* a2){
T0* R=NULL;
{T283 *n=((T283*)se_new(283));
rT283make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT255error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT255fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT255fatal_error((T0 *)ms481);
}
int rT255is_merge_with(T255 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT255start_position(T255 *C){
T0* R=NULL;
R=XrT67start_position(rT255first_name(C));
return R;
}
void rT255collect_for(T255 *C,int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,(C)->_require_assertion))) {
rT269add_last((T269*)oRBC62require_collector,(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT255add_into(T255 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT255try_to_undefine(T255 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT255start_position(C));
rT255error(XrT67start_position(a1),(T0 *)ms478);
rT255fe_undefine(a1,a2);
}
else {
R=rT255try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT255fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT255try_to_undefine_aux(T255 *C,T0* a1,T0* a2){
T0* R=NULL;
rT255error(rT255start_position(C),(T0 *)ms1533);
rT255fe_undefine(a1,a2);
return R;
}
void rT255set_header_comment(T255 *C,T0* a1){
/*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
C->_end_comment=a1;
}
/*FI*/}
void rT255mapping_c_name(T255 *C){
rT50mapping_c((T50*)(C)->_base_class);
XrT67mapping_c(rT255first_name(C));
}
int rT255can_hide(T255 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!((C)->_arguments))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT255error(rT255start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_arguments)) {
/*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT255start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT255run_ensure(/*C*/T0* a1){
T0* R=NULL;
T0* _r=NULL;
rT158clear((T158*)oRBC62assertion_collector);
rT50collect_for((T50*)XrT58base_class(XrT262current_type(a1)),1002,XrT262name(a1));
_r=rT255runnable(oRBC62assertion_collector,XrT262current_type(a1),a1);
/*IF*/if (((int)_r)) {
{T157 *n=((T157*)se_new(157));
rT157from_runnable(n,_r);
R=(T0 *)n;}
}
/*FI*/return R;
}
T0* rT255base_class_name(T255 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT255set_rescue_compound(T255 *C,T0* a1){
/*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
rT255error(rT255start_position(C),(T0 *)ms397);
}
/*FI*/C->_rescue_compound=a1;
}
void rT255make_e_feature(T255 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT255make_routine(T255 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
rT255make_e_feature(C,a1,NULL);
C->_header_comment=a4;
C->_arguments=a2;
C->_obsolete_mark=a3;
C->_require_assertion=a5;
}
void rT255make(T255 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7){
rT255make_routine(C,a1,a2,a3,a4,a5);
C->_local_vars=a6;
C->_routine_body=a7;
C->_use_current_state=1015;
}
void rT250warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
T0* rT250current_type(T250 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
void rT250fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT250to_runnable(T250 *C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
_e=XrT68to_runnable((C)->_left_side,rT250current_type(C));
/*IF*/if (!(_e)) {
rT250error(XrT68start_position((C)->_left_side),(T0 *)ms1287);
}
else {
C->_left_side=_e;
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_e=XrT68to_runnable((C)->_right_side,rT250current_type(C));
/*IF*/if (!(_e)) {
rT250error(XrT68start_position((C)->_right_side),(T0 *)ms1288);
}
else {
C->_right_side=_e;
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_a(XrT58run_type(rT250right_type(C)),XrT58run_type(rT250left_type(C))))) {
/*IF*/if (!(XrT68is_current((C)->_right_side))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(rT250right_type(C),(T0 *)ms1294);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(rT250left_type(C),(T0 *)ms1295);
rT250warning(rT250start_position(C),(T0 *)ms1296);
}
/*FI*/}
/*FI*//*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
/*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
/*)*/rT47clear((T47*)rT45positions());
/*)*//*IF*/if (!(XrT58is_reference(XrT58run_type(rT250left_type(C))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(XrT58run_type(rT250left_type(C)),(T0 *)ms1297);
rT250error(rT250start_position(C),(T0 *)ms1298);
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T250 *n=((T250*)se_new(250));
rT250make(n,(C)->_left_side,(C)->_right_side);
R=(T0 *)n;}
R=rT250to_runnable((T250*)R,a1);
}
/*FI*/return R;
}
T0* rT250left_type(T250 *C){
T0* R=NULL;
R=XrT68result_type((C)->_left_side);
return R;
}
void rT250error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT250add_comment(T250 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT250start_position(T250 *C){
T0* R=NULL;
R=XrT68start_position((C)->_left_side);
return R;
}
int rT250use_current(T250 *C){
int R=0;
/*IF*/if (XrT68use_current((C)->_left_side)) {
R=1;
}
else {
R=XrT68use_current((C)->_right_side);
}
/*FI*/return R;
}
void rT250compile_to_c(T250 *C){
int _i=0;
T0* _run=NULL;
_run=((T261*)XrT58run_class(XrT68result_type((C)->_left_side)))->_running;
/*IF*/if ((!(_run))||(rT264empty((T264*)_run))) {
XrT68compile_to_c((C)->_left_side);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1362);
}
else {
XrT68compile_to_c((C)->_left_side);
rT43put_character((T43*)oRBC27cpp,'\75');
/*IF*/if (XrT58is_reference(XrT58run_type(rT250right_type(C)))) {
/*IF*/if (XrT68is_current((C)->_right_side)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1363);
}
/*FI*/XrT68compile_to_c((C)->_right_side);
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT250start_position(C));
rT250fatal_error((T0 *)ms1364);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1365);
XrT68compile_to_c((C)->_left_side);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1366);
XrT68compile_to_c((C)->_left_side);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1367);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1368);
_i=((T264*)_run)->_lower;
while (!((_i)>(((T264*)_run)->_upper))) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1369);
rT43put_integer((T43*)oRBC27cpp,((T261*)rT264item((T264*)_run,_i))->_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1370);
_i=(_i)+(1);
}
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1371);
XrT68compile_to_c((C)->_left_side);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1372);
}
/*FI*/}
T0* rT250right_type(T250 *C){
T0* R=NULL;
R=XrT68result_type((C)->_right_side);
return R;
}
void rT250make(T250 *C,T0* a1,T0* a2){
C->_left_side=a1;
C->_right_side=a2;
}
T0* rT221twin(T221 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT221copy((T221*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT221is_static(T221 *C){
int R=0;
R=XrT68is_static((C)->_expression);
/*IF*/if (R) {
C->_static_value_mem=XrT68static_value_mem((C)->_expression);
}
/*FI*/return R;
}
int rT221static_value(T221 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT221to_runnable(T221 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
C->_expression=XrT68to_runnable((C)->_expression,a1);
R=(T0 *)C;
}
else {
R=rT221twin(C);
/*(IRF3*/(((T221*)R)->_current_type)=(NULL);
/*)*/R=rT221to_runnable((T221*)R,a1);
}
/*FI*/return R;
}
void rT221error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
int rT221c_simple(T221 *C){
int R=0;
R=XrT68c_simple((C)->_expression);
return R;
}
T0* rT221add_comment(T221 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT221result_type(T221 *C){
T0* R=NULL;
R=XrT68result_type((C)->_expression);
return R;
}
T0* rT221start_position(T221 *C){
T0* R=NULL;
R=XrT68start_position((C)->_expression);
return R;
}
int rT221use_current(T221 *C){
int R=0;
R=XrT68use_current((C)->_expression);
return R;
}
int rT221can_be_dropped(T221 *C){
int R=0;
R=XrT68can_be_dropped((C)->_expression);
return R;
}
void rT221compile_to_c_old(T221 *C){
XrT68compile_to_c_old((C)->_expression);
}
void rT221compile_to_c(T221 *C){
XrT68compile_to_c((C)->_expression);
}
int rT221to_integer(T221 *C){
int R=0;
rT221error(rT221start_position(C),(T0 *)ms169);
return R;
}
T0* rT221written_in(T221 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=rT221start_position(C);
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
void rT221copy(T221 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT221is_a(T221 *C,T0* a1){
int R=0;
R=XrT58is_a(XrT58run_type(rT221result_type(C)),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT221start_position(C));
rT221error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT221make(T221 *C,T0* a1,T0* a2){
C->_expression=a1;
C->_comment=a2;
}
T0* rT257first_name(T257 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT257fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT257to_run_feature(T257 *C,T0* a1,T0* a2){
T0* R=NULL;
{T284 *n=((T284*)se_new(284));
rT284make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
return R;
}
void rT257error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT257fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT257fatal_error((T0 *)ms481);
}
int rT257is_merge_with(T257 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT257start_position(T257 *C){
T0* R=NULL;
R=XrT67start_position(rT257first_name(C));
return R;
}
void rT257collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT257add_into(T257 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT257try_to_undefine(T257 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT257start_position(C));
rT257error(XrT67start_position(a1),(T0 *)ms478);
rT257fe_undefine(a1,a2);
}
else {
R=rT257try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT257fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT257try_to_undefine_aux(T257 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT257start_position(C));
rT257error(XrT67start_position(a1),(T0 *)ms1532);
rT257fe_undefine(a1,a2);
return R;
}
int rT257can_hide(T257 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT257error(rT257start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT257start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT257base_class_name(T257 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
void rT257make(T257 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
T0* rT227current_type(T227 *C){
T0* R=NULL;
R=rT232current_type((T232*)(C)->_when_list);
return R;
}
T0* rT227to_runnable_integer(T227 *C,T0* a1){
T0* R=NULL;
T0* _when_item=NULL;
int _i=0;
int _ne=0;
/*IF*/if (!((C)->_when_list)) {
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
C->_when_list=a1;
/*IF*/if (!((C)->_list)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(((T226*)rT227e_inspect(C))->_start_position);
rT227error((C)->_start_position,(T0 *)ms1262);
}
else {
_i=XrT231lower((C)->_list);
while (!(((_i)>(XrT231upper((C)->_list)))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0)))) {
_when_item=XrT229to_runnable_integer(XrT231item((C)->_list,_i),(T0 *)C);
/*IF*/if (!(_when_item)) {
rT227error((C)->_start_position,(T0 *)ms1259);
}
else {
XrT231put((C)->_list,_when_item,_i);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*//*IF*/if (((int)(C)->_compound)) {
C->_compound=rT140to_runnable((T140*)(C)->_compound,rT227current_type(C));
/*IF*/if (!((C)->_compound)) {
rT227error((C)->_start_position,(T0 *)ms1259);
}
/*FI*/}
/*FI*/R=(T0 *)C;
}
else {
{T227 *n=((T227*)se_new(227));
rT227from_e_when(n,(T0 *)C);
R=(T0 *)n;}
R=rT227to_runnable_integer((T227*)R,a1);
}
/*FI*/return R;
}

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