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

This is compile_to_c7.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"
void rT274compute_use_current(T274 *C){
rT274std_compute_use_current(C);
}
void rT274once_result(T274 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms860);
rT256mapping_c_name((T256*)(C)->_base_feature);
}
void rT274define_closing(T274 *C){
/*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157compile_to_c((T157*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43rs_unlink((T43*)oRBC27cpp);
}
/*FI*/}
void rT274define_opening(T274 *C){
T0* _t=NULL;
int _i=0;
/*IF*/if (((int)(C)->_result_type)) {
_t=XrT58run_type((C)->_result_type);
/*(IRF3*/(((T7*)oRBC262dos)->_count)=(0);
/*)*/XrT58c_type_in(_t,oRBC262dos);
rT43put_string((T43*)oRBC27cpp,oRBC262dos);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1395);
XrT58c_initialize(_t);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1396);
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT139compile_to_c((T139*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157compile_to_c_old((T157*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT139initialize_expanded((T139*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43rs_link((T43*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT274use_current(C)) {
rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT274arg_count(C)))) {
_t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i));
rT43rs_push_argument((T43*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t);
_i=(_i)+(1);
}
/*IF*/if (((int)(C)->_result_type)) {
rT43rs_push_result((T43*)oRBC27cpp,XrT58run_type((C)->_result_type));
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
_i=1;
while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) {
_t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i));
rT43rs_push_local((T43*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t);
_i=(_i)+(1);
}
}
/*FI*/}
/*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT268compile_to_c((T268*)(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
void rT274define_prototype(T274 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT274id(C);
/*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1382);
rT43put_integer((T43*)oRBC27cpp,_mem_id);
XrT67mapping_c((C)->_name);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1383);
_fn=rT256first_name((T256*)(C)->_base_feature);
/*IF*/if (XrT67is_infix_name(_fn)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1384);
}
 else if (XrT67is_prefix_name(_fn)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1385);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,XrT67to_string(_fn));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1386);
rT43put_string((T43*)oRBC27cpp,((T48*)rT256base_class_name((T256*)(C)->_base_feature))->_to_string);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1387);
rT43swap_on_h((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1388);
rT43put_integer((T43*)oRBC27cpp,_mem_id);
XrT67mapping_c((C)->_name);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1389);
}
/*FI*//*(IRF3*/(((T7*)oRBC262dps)->_count)=(0);
/*)*//*IF*/if (!((C)->_result_type)) {
rT7append((T7*)oRBC262dps,(T0 *)ms1390);
}
else {
_t=XrT58run_type((C)->_result_type);
XrT58c_type_in(_t,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\40');
}
/*FI*/rT7append((T7*)oRBC262dps,(T0 *)ms1391);
rT2append_in(_mem_id,oRBC262dps);
XrT67mapping_c_in((C)->_name,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\50');
/*IF*/if (rT274use_current(C)) {
rT7extend((T7*)oRBC262dps,'T');
rT2append_in(_mem_id,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\40');
/*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) {
rT7extend((T7*)oRBC262dps,'\52');
}
/*FI*/rT7extend((T7*)oRBC262dps,'C');
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC262dps,'\54');
}
/*FI*/}
else {
rT7append((T7*)oRBC262dps,(T0 *)ms1392);
}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(rT274use_current(C))) {
rT7append((T7*)oRBC262dps,(T0 *)ms1393);
}
/*FI*/}
else {
rT92compile_to_c_in((T92*)(C)->_arguments,oRBC262dps);
}
/*FI*/rT7extend((T7*)oRBC262dps,'\51');
rT43put_c_heading((T43*)oRBC27cpp,oRBC262dps);
rT43swap_on_c((T43*)oRBC27cpp);
}
T0*oRBC274frozen_general;
void rT274pre_computing(T274 *C){
T0* _bfbc=NULL;
_bfbc=((T256*)(C)->_base_feature)->_base_class;
rT41put_string((T41*)oRBC1std_output,((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
rT41put_character((T41*)oRBC1std_output,'\56');
rT41put_string((T41*)oRBC1std_output,XrT67to_string((C)->_name));
/*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT268compile_to_c((T268*)(C)->_require_assertion);
}
/*FI*/}
/*FI*//*(IRF3*/(((T7*)oRBC274tmp_string)->_count)=(0);
/*)*/rT7extend((T7*)oRBC274tmp_string,'\173');
XrT58c_type_in((C)->_result_type,oRBC274tmp_string);
rT7append((T7*)oRBC274tmp_string,(T0 *)ms855);
rT43put_string((T43*)oRBC27cpp,oRBC274tmp_string);
/*IF*/if (((int)(C)->_local_vars)) {
rT139compile_to_c((T139*)(C)->_local_vars);
}
/*FI*//*IF*/if (((int)(C)->_routine_body)) {
rT140compile_to_c((T140*)(C)->_routine_body);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157compile_to_c((T157*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*/rT274once_result(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms861);
}
void rT274error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT274add_clients(T274 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(264,0,1,a1);
}
else {
_i=((T264*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T264*)(C)->_actuals_clients)->_upper))||(((T0 *)rT264item((T264*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T264*)(C)->_actuals_clients)->_upper)) {
rT264add_last((T264*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}
T0* rT274clients(T274 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T256*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T256*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position((C)->_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT256start_position((T256*)(C)->_base_feature));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1137);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
rT274error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT274std_compute_use_current(T274 *C){
/*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (rT268use_current((T268*)(C)->_require_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_routine_body)) {
/*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
/*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
C->_use_current_state=1017;
}
/*FI*/}
int rT274id(T274 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT274start_position(T274 *C){
T0* R=NULL;
R=rT256start_position((T256*)(C)->_base_feature);
return R;
}
int rT274use_current(T274 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l101;
goto l102;
 l101: ;
R=1;
goto l100;
 l102: ;
if (1017 == iv1) goto l103;
goto l104;
 l103: ;
goto l100;
 l104: ;
if (1019 == iv1) goto l105;
goto l106;
 l105: ;
C->_use_current_state=1020;
rT274compute_use_current(C);
R=rT274use_current(C);
goto l100;
 l106: ;
if (1020 == iv1) goto l107;
goto l108;
 l107: ;
R=1;
goto l100;
 l108: ;
 l100: ;
}
return R;
}
void rT274c_define(T274 *C){
T0* _bfbc=NULL;
_bfbc=((T256*)(C)->_base_feature)->_base_class;
/*IF*/if (rT274is_pre_computable(C)) {
/*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) {
rT274once_variable(C);
rT50set_already_defined((T50*)_bfbc,(C)->_name);
}
/*FI*/rT43incr_pre_computed_once_count((T43*)oRBC27cpp,(T0 *)C);
}
else {
/*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) {
rT274once_boolean(C);
rT274once_variable(C);
rT50set_already_defined((T50*)_bfbc,(C)->_name);
}
/*FI*/rT274define_prototype(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1558);
rT274once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1559);
rT274define_opening(C);
rT274once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1560);
/*IF*/if (((int)(C)->_routine_body)) {
rT140compile_to_c((T140*)(C)->_routine_body);
}
/*FI*/rT274define_closing(C);
rT274once_result(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1561);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1562);
rT274once_result(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1563);
}
/*FI*/}
void rT274mapping_c(T274 *C){
int _tcbd=0;
/*IF*/if (rT274is_pre_computable(C)) {
rT274once_result(C);
}
 else if (rT274use_current(C)) {
rT274mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT274arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
}
else {
_tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp);
rT274mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT274arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
/*IF*/if (_tcbd) {
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
/*FI*/}
void rT274mapping_name(T274 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT274id(C));
XrT67mapping_c((C)->_name);
}
T0* rT274run_class(T274 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT274is_exported_in(T274 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT274clients(C),a1);
return R;
}
int rT274arg_count(T274 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
int rT274is_pre_computable(T274 *C){
int R=0;
/*IF*/if (rT34has((T34*)oRBC274frozen_general,XrT67to_string((C)->_name))) {
R=1;
}
 else if ((!((C)->_arguments))&&(!(rT274use_current(C)))) {
/*IF*/if (!((C)->_routine_body)) {
R=1;
}
else {
R=rT140is_pre_computable((T140*)(C)->_routine_body);
}
/*FI*/}
/*FI*/return R;
}
void rT274initialize(T274 *C){
C->_arguments=((T256*)(C)->_base_feature)->_arguments;
/*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_result_type=XrT58to_runnable(((T256*)(C)->_base_feature)->_result_type,(C)->_current_type);
C->_local_vars=((T256*)(C)->_base_feature)->_local_vars;
/*IF*/if ((((int)(C)->_local_vars))&&((rT139count((T139*)(C)->_local_vars))>(0))) {
C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type);
}
/*FI*/C->_routine_body=((T256*)(C)->_base_feature)->_routine_body;
/*IF*/if (((int)(C)->_routine_body)) {
C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type);
}
/*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
C->_require_assertion=rT256run_require((T0 *)C);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT256run_ensure((T0 *)C);
}
/*FI*/}
void rT274fall_down(T274 *C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
int _i=0;
T0* _running=NULL;
_current_rc=XrT58run_class((C)->_current_type);
_running=((T261*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT58base_class((C)->_current_type);
_i=((T264*)_running)->_lower;
while (!((_i)>(((T264*)_running)->_upper))) {
_sub_rc=rT264item((T264*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT58base_class(((T261*)_sub_rc)->_current_type);
_sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
_rf=rT261get_feature((T261*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
void rT274make(T274 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT274run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
rT52incr_magic_count((T52*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
rT274initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT267address_of(T267 *C){
rT267mapping_name(C);
}
void rT267warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
void rT267compute_use_current(T267 *C){
rT267std_compute_use_current(C);
}
int rT267isa_in_line(T267 *C){
int R=0;
T0* _right_side=NULL;
T0* _assignment=NULL;
/*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (rT267use_current(C)) {
/*IF*/if ((rT267arg_count(C))<=(1)) {
/*IF*/if (((!((C)->_local_vars))&&(((int)(C)->_routine_body)))&&((rT140count((T140*)(C)->_routine_body))==(1))) {
_assignment=rT140first((T140*)(C)->_routine_body);
if ((int)_assignment) switch (((T0 *)_assignment)->id) {
case 249: 
break;
default:
_assignment = NULL;
};/*IF*/if (((int)_assignment)) {
_right_side=((T249*)_assignment)->_right_side;
/*IF*/if (XrT68c_simple(_right_side)) {
R=!(XrT68use_current(_right_side));
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
else {
R=(rT267arg_count(C))==(0);
}
/*FI*/}
/*FI*/return R;
}
void rT267define_closing(T267 *C){
/*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157compile_to_c((T157*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43rs_unlink((T43*)oRBC27cpp);
}
/*FI*/}
void rT267define_opening(T267 *C){
T0* _t=NULL;
int _i=0;
/*IF*/if (((int)(C)->_result_type)) {
_t=XrT58run_type((C)->_result_type);
/*(IRF3*/(((T7*)oRBC262dos)->_count)=(0);
/*)*/XrT58c_type_in(_t,oRBC262dos);
rT43put_string((T43*)oRBC27cpp,oRBC262dos);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1395);
XrT58c_initialize(_t);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1396);
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT139compile_to_c((T139*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT157compile_to_c_old((T157*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT139initialize_expanded((T139*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43rs_link((T43*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT267use_current(C)) {
rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT267arg_count(C)))) {
_t=XrT58run_type(rT92type((T92*)(C)->_arguments,_i));
rT43rs_push_argument((T43*)oRBC27cpp,XrT49to_string(rT92name((T92*)(C)->_arguments,_i)),_i,_t);
_i=(_i)+(1);
}
/*IF*/if (((int)(C)->_result_type)) {
rT43rs_push_result((T43*)oRBC27cpp,XrT58run_type((C)->_result_type));
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
_i=1;
while (!((_i)>(rT139count((T139*)(C)->_local_vars)))) {
_t=XrT58run_type(rT139type((T139*)(C)->_local_vars,_i));
rT43rs_push_local((T43*)oRBC27cpp,XrT49to_string(rT139name((T139*)(C)->_local_vars,_i)),_t);
_i=(_i)+(1);
}
}
/*FI*/}
/*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT268compile_to_c((T268*)(C)->_require_assertion);
}
/*FI*/}
/*FI*/}
void rT267define_prototype(T267 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT267id(C);
/*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1382);
rT43put_integer((T43*)oRBC27cpp,_mem_id);
XrT67mapping_c((C)->_name);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1383);
_fn=rT252first_name((T252*)(C)->_base_feature);
/*IF*/if (XrT67is_infix_name(_fn)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1384);
}
 else if (XrT67is_prefix_name(_fn)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1385);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,XrT67to_string(_fn));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1386);
rT43put_string((T43*)oRBC27cpp,((T48*)rT252base_class_name((T252*)(C)->_base_feature))->_to_string);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1387);
rT43swap_on_h((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1388);
rT43put_integer((T43*)oRBC27cpp,_mem_id);
XrT67mapping_c((C)->_name);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1389);
}
/*FI*//*(IRF3*/(((T7*)oRBC262dps)->_count)=(0);
/*)*//*IF*/if (!((C)->_result_type)) {
rT7append((T7*)oRBC262dps,(T0 *)ms1390);
}
else {
_t=XrT58run_type((C)->_result_type);
XrT58c_type_in(_t,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\40');
}
/*FI*/rT7append((T7*)oRBC262dps,(T0 *)ms1391);
rT2append_in(_mem_id,oRBC262dps);
XrT67mapping_c_in((C)->_name,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\50');
/*IF*/if (rT267use_current(C)) {
rT7extend((T7*)oRBC262dps,'T');
rT2append_in(_mem_id,oRBC262dps);
rT7extend((T7*)oRBC262dps,'\40');
/*IF*/if (!(XrT58fast_mapping_c((C)->_current_type))) {
rT7extend((T7*)oRBC262dps,'\52');
}
/*FI*/rT7extend((T7*)oRBC262dps,'C');
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC262dps,'\54');
}
/*FI*/}
else {
rT7append((T7*)oRBC262dps,(T0 *)ms1392);
}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(rT267use_current(C))) {
rT7append((T7*)oRBC262dps,(T0 *)ms1393);
}
/*FI*/}
else {
rT92compile_to_c_in((T92*)(C)->_arguments,oRBC262dps);
}
/*FI*/rT7extend((T7*)oRBC262dps,'\51');
rT43put_c_heading((T43*)oRBC27cpp,oRBC262dps);
rT43swap_on_c((T43*)oRBC27cpp);
}
void rT267error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT267in_line(T267 *C){
int _tcbd=0;
T0* _argument_name=NULL;
T0* _right_side=NULL;
T0* _left_side=NULL;
T0* _writable=NULL;
T0* _assignment=NULL;
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1408);
/*IF*/if (rT267use_current(C)) {
_assignment=rT140first((T140*)(C)->_routine_body);
if ((int)_assignment) switch (((T0 *)_assignment)->id) {
case 249: 
break;
default:
_assignment = NULL;
};_right_side=((T249*)_assignment)->_right_side;
_left_side=((T249*)_assignment)->_left_side;
_writable=_left_side;
if ((int)_writable) switch (((T0 *)_writable)->id) {
case 89: case 67: case 66: case 48: case 70: case 69: case 88: case 97: case 159: case 172: case 173: case 182: 
break;
default:
_writable = NULL;
};rT43put_string((T43*)oRBC27cpp,(T0 *)ms1409);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1410);
rT43put_string((T43*)oRBC27cpp,XrT49to_string(_writable));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1411);
/*IF*/if (!((C)->_arguments)) {
/*IF*/if (XrT58is_string(XrT68result_type(_right_side))) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1412);
}
/*FI*/XrT68compile_to_c(_right_side);
}
else {
_argument_name=_right_side;
if ((int)_argument_name) switch (((T0 *)_argument_name)->id) {
case 88: 
break;
default:
_argument_name = NULL;
};/*IF*/if (((int)_argument_name)) {
rT43put_arguments((T43*)oRBC27cpp);
}
else {
XrT68compile_to_c(_right_side);
}
/*FI*/}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1416);
}
else {
_tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp);
/*IF*/if (((int)(C)->_routine_body)) {
/*IF*/if (((int)(C)->_local_vars)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1420);
rT267define_opening(C);
}
/*FI*/rT140compile_to_c((T140*)(C)->_routine_body);
/*IF*/if (((int)(C)->_local_vars)) {
rT267define_closing(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1421);
}
/*FI*/}
/*FI*/}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1422);
}
void rT267add_clients(T267 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(264,0,1,a1);
}
else {
_i=((T264*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T264*)(C)->_actuals_clients)->_upper))||(((T0 *)rT264item((T264*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T264*)(C)->_actuals_clients)->_upper)) {
rT264add_last((T264*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}
T0* rT267clients(T267 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T252*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T252*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT50is_subclass_of((T50*)_bc,_bfbc))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position((C)->_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT252start_position((T252*)(C)->_base_feature));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)_bc)->_base_class_name)->_to_string);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1137);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)_bfbc)->_base_class_name)->_to_string);
rT267error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT267std_compute_use_current(T267 *C){
/*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (rT268use_current((T268*)(C)->_require_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_routine_body)) {
/*IF*/if (rT140use_current((T140*)(C)->_routine_body)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
/*IF*/if (rT157use_current((T157*)(C)->_ensure_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
C->_use_current_state=1017;
}
/*FI*/}
int rT267id(T267 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT267start_position(T267 *C){
T0* R=NULL;
R=rT252start_position((T252*)(C)->_base_feature);
return R;
}
int rT267use_current(T267 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l110;
goto l111;
 l110: ;
R=1;
goto l109;
 l111: ;
if (1017 == iv1) goto l112;
goto l113;
 l112: ;
goto l109;
 l113: ;
if (1019 == iv1) goto l114;
goto l115;
 l114: ;
C->_use_current_state=1020;
rT267compute_use_current(C);
R=rT267use_current(C);
goto l109;
 l115: ;
if (1020 == iv1) goto l116;
goto l117;
 l116: ;
R=1;
goto l109;
 l117: ;
 l109: ;
}
return R;
}
void rT267c_define(T267 *C){
/*IF*/if (rT267isa_in_line(C)) {
rT43incr_inlined_procedure_count((T43*)oRBC27cpp);
}
else {
/*IF*/if (rT267use_current(C)) {
rT43incr_procedure_count((T43*)oRBC27cpp);
}
else {
rT43incr_real_procedure_count((T43*)oRBC27cpp);
}
/*FI*/rT267define_prototype(C);
rT267define_opening(C);
/*IF*/if (((int)(C)->_routine_body)) {
rT140compile_to_c((T140*)(C)->_routine_body);
}
/*FI*/rT267define_closing(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1407);
}
/*FI*/}
int rT267can_be_dropped(T267 *C){
int R=0;
rT267warning(rT267start_position(C),(T0 *)ms1564);
return R;
}
void rT267mapping_c(T267 *C){
int _tcbd=0;
/*IF*/if (rT267isa_in_line(C)) {
rT267in_line(C);
}
 else if (rT267use_current(C)) {
rT267mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT267arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1423);
}
else {
_tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp);
rT267mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT267arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1424);
}
/*FI*/}
void rT267mapping_name(T267 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT267id(C));
XrT67mapping_c((C)->_name);
}
T0* rT267run_class(T267 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT267is_exported_in(T267 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT267clients(C),a1);
return R;
}
int rT267arg_count(T267 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
int rT267is_pre_computable(T267 *C){
int R=0;
/*IF*/if (!((C)->_arguments)) {
/*IF*/if (!((C)->_routine_body)) {
R=1;
}
else {
/*IF*/if (!((C)->_local_vars)) {
R=rT140is_pre_computable((T140*)(C)->_routine_body);
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void rT267initialize(T267 *C){
C->_arguments=((T252*)(C)->_base_feature)->_arguments;
/*IF*/if (((int)(C)->_arguments)) {
C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_local_vars=((T252*)(C)->_base_feature)->_local_vars;
/*IF*/if (((int)(C)->_local_vars)) {
C->_local_vars=rT139to_runnable((T139*)(C)->_local_vars,(C)->_current_type);
}
/*FI*/C->_routine_body=((T252*)(C)->_base_feature)->_routine_body;
/*IF*/if (((int)(C)->_routine_body)) {
C->_routine_body=rT140to_runnable((T140*)(C)->_routine_body,(C)->_current_type);
}
/*FI*//*IF*/if (rT44require_check((T44*)oRBC27eiffel_run_control)) {
C->_require_assertion=rT252run_require((T0 *)C);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT252run_ensure((T0 *)C);
}
/*FI*/}
void rT267fall_down(T267 *C){
T0* _rf=NULL;
T0* _sub_name=NULL;
T0* _sub_bc=NULL;
T0* _current_bc=NULL;
T0* _sub_rc=NULL;
T0* _current_rc=NULL;
int _i=0;
T0* _running=NULL;
_current_rc=XrT58run_class((C)->_current_type);
_running=((T261*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT58base_class((C)->_current_type);
_i=((T264*)_running)->_lower;
while (!((_i)>(((T264*)_running)->_upper))) {
_sub_rc=rT264item((T264*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT58base_class(((T261*)_sub_rc)->_current_type);
_sub_name=rT50name_of((T50*)_sub_bc,_current_bc,(C)->_name);
_rf=rT261get_feature((T261*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
void rT267make(T267 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT267run_class(C))->_feature_dictionary,(T0 *)C,XrT67to_key((C)->_name));
rT52incr_magic_count((T52*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT52push((T52*)oRBC27small_eiffel,(T0 *)C);
rT267initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
int ofBC27type_any=0;
T0*oRBC27type_any;
T0* rT170type_any(/*C*/void){
if (ofBC27type_any==0){
T0* R=NULL;
ofBC27type_any=1;
{T87 *n=((T87*)se_new(87));
rT87make(n,NULL);
R=(T0 *)n;}
oRBC27type_any=R;}
return oRBC27type_any;}
int rT170static_value(T170 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT170to_runnable(T170 *C,T0* a1){
T0* R=NULL;
rT170error(rT170start_position(C),(T0 *)ms1148);
return R;
}
void rT170error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT170add_comment(T170 *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 ofBC170result_type=0;
T0*oRBC170result_type;
T0* rT170result_type(/*C*/void){
if (ofBC170result_type==0){
T0* R=NULL;
ofBC170result_type=1;
{T105 *n=((T105*)se_new(105));
rT105make(n,NULL,rT170type_any());
R=(T0 *)n;}
oRBC170result_type=R;}
return oRBC170result_type;}
T0* rT170start_position(T170 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_list)) {
R=XrT67start_position(rT128item((T128*)(C)->_list,1));
}
/*FI*/return R;
}
void rT170compile_to_c_old(T170 *C){
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_list)))) {
XrT67compile_to_c_old(rT128item((T128*)(C)->_list,_i));
_i=(_i)+(1);
}
}
/*FI*/}
void rT170compile_to_c(T170 *C){
rT170error(rT170start_position(C),(T0 *)ms1204);
}
int rT170to_integer(T170 *C){
int R=0;
rT170error(rT170start_position(C),(T0 *)ms169);
return R;
}
T0* rT170written_in(T170 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=rT170start_position(C);
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT170is_a(T170 *C,T0* a1){
int R=0;
R=rT105is_a((T105*)((T105*)rT170result_type())->_run_type,XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT170start_position(C));
rT170error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT170make(T170 *C,T0* a1,T0* a2){
/*IF*/if (((int)a2)) {
{T128 *n=((T128*)se_new(128));
rT128make(n,a2);
C->_list=(T0 *)n;}
}
/*FI*/}
T0*oRBC69tmp_string;
T0* rT69to_prefix_name(T69 *C){
T0* R=NULL;
{T66 *n=((T66*)se_new(66));
rT66make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
void rT69extend(T69 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
}
T0* rT69to_e_void(T69 *C){
T0* R=NULL;
{T173 *n=((T173*)se_new(173));
rT173make(n,rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_e_result(T69 *C){
T0* R=NULL;
{T172 *n=((T172*)se_new(172));
rT172make(n,rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_e_current(T69 *C){
T0* R=NULL;
{T89 *n=((T89*)se_new(89));
rT89make(n,rT69pos((C)->_li,(C)->_co),1);
R=(T0 *)n;}
return R;
}
int rT69isa_keyword(T69 *C){
int R=0;
T0* _kt=NULL;
int _i=0;
_kt=oRBC69keyword_table;
_i=((T34*)_kt)->_upper;
while (!(((_i)==(0))||(rT7same_as((T7*)rT34item((T34*)_kt,_i),(C)->_to_string)))) {
_i=(_i)-(1);
}
R=(_i)>(0);
return R;
}
int rT69count(T69 *C){
int R=0;
R=((T7*)(C)->_to_string)->_count;
return R;
}
T0* rT69to_decl_name(T69 *C){
T0* R=NULL;
{T97 *n=((T97*)se_new(97));
rT97make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_feature_name(T69 *C){
T0* R=NULL;
{T67 *n=((T67*)se_new(67));
rT67make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69start_position(T69 *C){
T0* R=NULL;
{T46 *n=((T46*)se_new(46));
rT46make(n,(C)->_li,(C)->_co);
R=(T0 *)n;}
return R;
}
T0*oRBC69keyword_table;
T0* rT69to_class_name(T69 *C){
T0* R=NULL;
{T48 *n=((T48*)se_new(48));
rT48make(n,(C)->_to_string,rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_key(T69 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
T0* rT69pos(/*C*/int a1,int a2){
T0* R=NULL;
{T46 *n=((T46*)se_new(46));
rT46make(n,a1,a2);
R=(T0 *)n;}
return R;
}
T0* rT69to_argument_name(T69 *C,T0* a1,int a2){
T0* R=NULL;
{T88 *n=((T88*)se_new(88));
rT88make(n,rT69pos((C)->_li,(C)->_co),XrT49to_string(rT92name((T92*)a1,a2)),a2);
R=(T0 *)n;}
return R;
}
T0* rT69to_tag_name(T69 *C){
T0* R=NULL;
{T159 *n=((T159*)se_new(159));
rT159make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_infix_name_use(T69 *C){
T0* R=NULL;
{T70 *n=((T70*)se_new(70));
rT70make(n,rT7twin((T7*)(C)->_to_string),rT69pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
T0* rT69to_infix_name(T69 *C,T0* a1){
T0* R=NULL;
{T70 *n=((T70*)se_new(70));
rT70make(n,rT7twin((T7*)(C)->_to_string),a1);
R=(T0 *)n;}
return R;
}
T0* rT69to_local_name(T69 *C,T0* a1,int a2){
T0* R=NULL;
{T182 *n=((T182*)se_new(182));
rT182make(n,rT69pos((C)->_li,(C)->_co),XrT49to_string(rT139name((T139*)a1,a2)),rT139type((T139*)a1,a2),a2);
R=(T0 *)n;}
return R;
}
void rT69make(T69 *C,int a1,int a2){
C->_li=a1;
C->_co=a2;
C->_to_string=oRBC69tmp_string;
/*(IRF3*/(((T7*)(C)->_to_string)->_count)=(0);
/*)*/}
int ofBC27type_boolean=0;
T0*oRBC27type_boolean;
T0* rT73type_boolean(/*C*/void){
if (ofBC27type_boolean==0){
T0* R=NULL;
ofBC27type_boolean=1;
{T107 *n=((T107*)se_new(107));
rT107make(n,NULL);
R=(T0 *)n;}
oRBC27type_boolean=R;}
return oRBC27type_boolean;}
T0* rT73twin(T73 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT73copy((T73*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT73is_static(T73 *C){
int R=0;
R=1;
C->_static_value_mem=1;
return R;
}
int rT73static_value(T73 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT73to_runnable(T73 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
}
else {
R=rT73twin(C);
/*(IRF3*/(((T73*)R)->_current_type)=(a1);
/*)*/}
/*FI*/return R;
}
void rT73error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT73add_comment(T73 *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* rT73written_in(T73 *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 rT73copy(T73 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
int rT73is_a(T73 *C,T0* a1){
int R=0;
R=XrT58is_a(rT107run_type((T107*)/*(IRF4*/rT73type_boolean()/*)*/),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT73error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
int rT90is_run_type(T90 *C){
int R=0;
R=((int)(C)->_run_type);
return R;
}
T0*oRBC58tmp_string;
T0* rT90run_time_mark(T90 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_type)) {
R=XrT58run_time_mark((C)->_run_type);
}
/*FI*/return R;
}
T0* rT90to_runnable(T90 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_run_type)) {
C->_run_type=a1;
R=(T0 *)C;
}
 else if (rT7is_equal((T7*)XrT58run_time_mark((C)->_run_type),XrT58run_time_mark(a1))) {
R=(T0 *)C;
}
else {
{T90 *n=((T90*)se_new(90));
rT90make(n,(C)->_start_position,(C)->_like_what);
R=(T0 *)n;}
R=rT90to_runnable((T90*)R,a1);
}
/*FI*/return R;
}
void rT90error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT90cast_to_ref(T90 *C){
XrT58cast_to_ref((C)->_run_type);
}
int rT90fast_mapping_c(T90 *C){
int R=0;
R=XrT58fast_mapping_c((C)->_run_type);
return R;
}
int rT90id(T90 *C){
int R=0;
R=((T261*)rT90run_class(C))->_id;
return R;
}
T0* rT90generic_list(T90 *C){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms1452);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/return R;
}
int rT90is_reference(T90 *C){
int R=0;
R=XrT58is_reference((C)->_run_type);
return R;
}
T0* rT90look_up_for(T90 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
_bc=rT90base_class(C);
/*IF*/if (((int)_bc)) {
R=rT50look_up_for((T50*)_bc,a1,a2);
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms477);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms36);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*/return R;
}
void rT90mapping_c_in(T90 *C,T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT90id(C),a1);
}
void rT90mapping_cast(T90 *C){
rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806);
rT2append_in(rT90id(C),oRBC58tmp_string);
/*IF*/if (rT90is_reference(C)) {
rT7extend((T7*)oRBC58tmp_string,'\52');
}
/*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string);
}
T0* rT90run_class(T90 *C){
T0* R=NULL;
R=((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52run_class((C)->_run_type));
return R;
}
int rT90is_expanded(T90 *C){
int R=0;
R=!(rT90is_reference(C));
return R;
}
T0* rT90smallest_ancestor(T90 *C,T0* a1){
T0* R=NULL;
R=XrT58smallest_ancestor((C)->_run_type,a1);
return R;
}
T0* rT90base_class_name(T90 *C){
T0* R=NULL;
R=XrT58base_class_name((C)->_run_type);
return R;
}
T0* rT90base_class(T90 *C){
T0* R=NULL;
R=rT48base_class((T48*)rT90base_class_name(C));
return R;
}
int rT90is_a_in(T90 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)(T0 *)ms1497,XrT58written_mark(a1))) {
R=1;
}
else {
_ct=((T261*)a2)->_current_type;
_t1=rT90to_runnable(C,_ct);
_t2=XrT58to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
R=1;
}
else {
R=XrT58is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
int rT90is_a(T90 *C,T0* a1){
int R=0;
R=XrT58is_a((C)->_run_type,a1);
return R;
}
int rT90has_creation(T90 *C,T0* a1){
int R=0;
R=XrT58has_creation((C)->_run_type,a1);
return R;
}
void rT90make(T90 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_like_what=a2;
if ((int)C->_like_what) switch (((T0 *)C->_like_what)->id) {
case 89: 
break;
default:
C->_like_what = NULL;
};}
void rT90c_type_in(T90 *C,T0* a1){
XrT58c_type_in((C)->_run_type,a1);
}
T0* rT87run_type(T87 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
T0* rT87to_runnable(T87 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
rT87check_type(C);
return R;
}
void rT87cast_to_ref(T87 *C){
XrT58cast_to_ref(rT87run_type(C));
}
void rT87error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
int rT87id(T87 *C){
int R=0;
R=((T50*)rT87base_class(C))->_id;
return R;
}
T0* rT87start_position(T87 *C){
T0* R=NULL;
R=((T48*)(C)->_base_class_name)->_start_position;
return R;
}
T0* rT87generic_list(T87 *C){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms1452);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/return R;
}
T0* rT87look_up_for(T87 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
_bc=rT87base_class(C);
/*IF*/if (((int)_bc)) {
R=rT50look_up_for((T50*)_bc,a1,a2);
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms477);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms36);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*/return R;
}
void rT87mapping_c_in(T87 *C,T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT87id(C),a1);
}
void rT87mapping_cast(T87 *C){
rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806);
rT2append_in(rT87id(C),oRBC58tmp_string);
/*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52');
}
/*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string);
}
T0* rT87run_class(T87 *C){
T0* R=NULL;
R=((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52run_class(rT87run_type(C)));
return R;
}
T0* rT87smallest_ancestor(T87 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
return R;
}
T0* rT87base_class(T87 *C){
T0* R=NULL;
R=rT48base_class((T48*)(C)->_base_class_name);
return R;
}
int rT87is_a_in(T87 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms177/*)*/,XrT58written_mark(a1))) {
R=1;
}
else {
_ct=((T261*)a2)->_current_type;
_t1=rT87to_runnable(C,_ct);
_t2=XrT58to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
R=1;
}
else {
R=XrT58is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
void rT87c_struct(T87 *C){
T0* _wa=NULL;
T0* _a=NULL;
int _i=0;
/*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
/*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms767);
rT2append_in(rT87id(C),oRBC58tmp_string);
rT7extend((T7*)oRBC58tmp_string,'\173');
/*IF*/{/*AT*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms768);
}
/*FI*/_wa=rT261writable_attributes((T261*)rT87run_class(C));
/*IF*/if (((int)_wa)) {
_i=XrT266lower(_wa);
while (!((_i)>(XrT266upper(_wa)))) {
_a=XrT266item(_wa,_i);
XrT58c_type_in(XrT58run_type(XrT262result_type(_a)),oRBC58tmp_string);
rT7append((T7*)oRBC58tmp_string,(T0 *)ms770);
rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT262name(_a)));
rT7extend((T7*)oRBC58tmp_string,'\73');
_i=(_i)+(1);
}
}
/*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms771);
rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string);
}
int rT87is_a(T87 *C,T0* a1){
int R=0;
/*IF*/if (XrT58is_any(a1)) {
R=1;
}
else {
R=rT50is_subclass_of((T50*)rT87base_class(C),XrT58base_class(a1));
}
/*FI*//*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms1503);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms36);
}
/*FI*/return R;
}
int rT87has_creation(T87 *C,T0* a1){
int R=0;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(a1));
rT87error(rT87start_position(C),(T0 *)ms1509);
return R;
}
int ofBC87check_type=0;
void rT87check_type(T87 *C){
if (ofBC87check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
int _ne=0;
ofBC87check_type=1;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
_bc=rT87base_class(C);
/*IF*/if (!(_bc)) {
rT87error(rT87start_position(C),(T0 *)ms1428);
}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
_rc=rT87run_class(C);
}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((T50*)_bc)->_is_expanded) {
rT87error(rT87start_position(C),(T0 *)ms1429);
}
/*FI*/}
/*FI*/}}
void rT87make(T87 *C,T0* a1){
{T48 *n=((T48*)se_new(48));
rT48make(n,(T0 *)ms177,a1);
C->_base_class_name=(T0 *)n;}
}
void rT87c_typedef(T87 *C){
int _mem_id=0;
_mem_id=rT87id(C);
/*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0);
/*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms759);
rT2append_in(rT87id(C),oRBC58tmp_string);
rT7append((T7*)oRBC58tmp_string,(T0 *)ms760);
rT2append_in(rT87id(C),oRBC58tmp_string);
rT7append((T7*)oRBC58tmp_string,(T0 *)ms761);
rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string);
}
void rT87c_type_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms769);
}
T0* rT98twin(T98 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT98copy((T98*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT98is_run_type(T98 *C){
int R=0;
R=((int)(C)->_run_type);
return R;
}
T0* rT98like_argument(T98 *C){
T0* R=NULL;
R=(C)->_like_what;
return R;
}
T0* rT98run_time_mark(T98 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_type)) {
R=XrT58run_time_mark((C)->_run_type);
}
/*FI*/return R;
}
T0* rT98to_runnable(T98 *C,T0* a1){
T0* R=NULL;
T0* _an=NULL;
T0* _t=NULL;
/*IF*/if (!((C)->_run_type)) {
_an=rT88to_runnable((T88*)(C)->_like_what,a1);
/*IF*/if (!(_an)) {
rT98error((C)->_start_position,(T0 *)ms1430);
}
else {
C->_like_what=_an;
}
/*FI*//*IF*/if (XrT58is_anchored(((T88*)(C)->_like_what)->_result_type)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type));
rT45error((T45*)oRBC27eh,(T0 *)ms1431);
}
/*FI*//*IF*/if (XrT58is_expanded(((T88*)(C)->_like_what)->_result_type)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position(((T88*)(C)->_like_what)->_result_type));
rT45error((T45*)oRBC27eh,(T0 *)ms1432);
}
/*FI*/C->_run_type=((T88*)(C)->_like_what)->_result_type;
R=(T0 *)C;
}
else {
R=rT98twin(C);
/*(IRF3*/(((T98*)R)->_run_type)=(NULL);
/*)*/R=rT98to_runnable((T98*)R,a1);
}
/*FI*/return R;
}
void rT98cast_to_ref(T98 *C){
XrT58cast_to_ref((C)->_run_type);
}
void rT98error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
int rT98fast_mapping_c(T98 *C){
int R=0;
R=XrT58fast_mapping_c((C)->_run_type);
return R;
}
int rT98id(T98 *C){
int R=0;
R=((T261*)rT98run_class(C))->_id;
return R;
}
T0* rT98generic_list(T98 *C){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms1452);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/return R;
}
int rT98is_reference(T98 *C){
int R=0;
R=XrT58is_reference(((T88*)(C)->_like_what)->_result_type);
return R;
}
T0* rT98look_up_for(T98 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
_bc=rT98base_class(C);
/*IF*/if (((int)_bc)) {
R=rT50look_up_for((T50*)_bc,a1,a2);
}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms477);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type((T0 *)C,(T0 *)ms36);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*/return R;
}
void rT98mapping_c_in(T98 *C,T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT98id(C),a1);
}
void rT98mapping_cast(T98 *C){
rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806);
rT2append_in(rT98id(C),oRBC58tmp_string);
/*IF*/if (rT98is_reference(C)) {
rT7extend((T7*)oRBC58tmp_string,'\52');
}
/*FI*/rT7extend((T7*)oRBC58tmp_string,'\51');
rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string);
}
T0* rT98run_class(T98 *C){
T0* R=NULL;
R=((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52run_class((C)->_run_type));
return R;
}
int rT98is_expanded(T98 *C){
int R=0;
R=!(rT98is_reference(C));
return R;
}
T0* rT98smallest_ancestor(T98 *C,T0* a1){
T0* R=NULL;
R=XrT58smallest_ancestor((C)->_run_type,a1);
return R;
}
T0* rT98base_class_name(T98 *C){
T0* R=NULL;
R=XrT58base_class_name((C)->_run_type);
return R;
}
T0* rT98base_class(T98 *C){
T0* R=NULL;
R=rT48base_class((T48*)rT98base_class_name(C));
return R;
}
int rT98is_a_in(T98 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) {
R=1;
}
else {
_ct=((T261*)a2)->_current_type;
_t1=rT98to_runnable(C,_ct);
_t2=XrT58to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) {
R=1;
}
else {
R=XrT58is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
void rT98copy(T98 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}

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