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

This is compile_to_c6.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 rT284mapping_c(T284 *C){
/*IF*/if (XrT58fast_mapping_c((C)->_current_type)) {
rT43put_target((T43*)oRBC27cpp);
}
else {
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1601);
rT43put_string((T43*)oRBC27cpp,XrT67to_string((C)->_name));
}
/*FI*/}
void rT284mapping_name(T284 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT284id(C));
XrT67mapping_c((C)->_name);
}
T0* rT284run_class(T284 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT284is_exported_in(T284 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT284clients(C),a1);
return R;
}
int rT284arg_count(T284 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT284initialize(T284 *C){
C->_result_type=XrT58to_runnable(((T257*)(C)->_base_feature)->_result_type,(C)->_current_type);
}
void rT284fall_down(T284 *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 rT284make(T284 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT284run_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);
rT284initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT283address_of(T283 *C){
rT283mapping_name(C);
}
void rT283warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
void rT283once_flag(T283 *C){
rT43put_character((T43*)oRBC27cpp,'o');
rT43put_character((T43*)oRBC27cpp,'f');
rT255mapping_c_name((T255*)(C)->_base_feature);
}
void rT283once_boolean(T283 *C){
rT43swap_on_h((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1542);
rT283once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1543);
rT43swap_on_c((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1544);
rT283once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1545);
}
void rT283compute_use_current(T283 *C){
rT283std_compute_use_current(C);
}
void rT283define_closing(T283 *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*/}
T0*oRBC262dos;
void rT283define_opening(T283 *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 (rT283use_current(C)) {
rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT283arg_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 rT283define_prototype(T283 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT283id(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=rT255first_name((T255*)(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*)rT255base_class_name((T255*)(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 (rT283use_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 (!(rT283use_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*oRBC262dps;
void rT283error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT283add_clients(T283 *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* rT283clients(T283 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T255*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T255*)(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(rT255start_position((T255*)(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);
rT283error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT283std_compute_use_current(T283 *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 rT283id(T283 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT283start_position(T283 *C){
T0* R=NULL;
R=rT255start_position((T255*)(C)->_base_feature);
return R;
}
int rT283use_current(T283 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l47;
goto l48;
 l47: ;
R=1;
goto l46;
 l48: ;
if (1017 == iv1) goto l49;
goto l50;
 l49: ;
goto l46;
 l50: ;
if (1019 == iv1) goto l51;
goto l52;
 l51: ;
C->_use_current_state=1020;
rT283compute_use_current(C);
R=rT283use_current(C);
goto l46;
 l52: ;
if (1020 == iv1) goto l53;
goto l54;
 l53: ;
R=1;
goto l46;
 l54: ;
 l46: ;
}
return R;
}
void rT283c_define(T283 *C){
T0* _bfbc=NULL;
_bfbc=((T255*)(C)->_base_feature)->_base_class;
/*IF*/if (!(rT50already_defined((T50*)_bfbc,(C)->_name))) {
rT283once_boolean(C);
rT50set_already_defined((T50*)_bfbc,(C)->_name);
}
/*FI*/rT283define_prototype(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1546);
rT283once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1547);
rT283define_opening(C);
rT283once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1548);
/*IF*/if (((int)(C)->_routine_body)) {
rT140compile_to_c((T140*)(C)->_routine_body);
}
/*FI*/rT283define_closing(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1549);
}
int rT283can_be_dropped(T283 *C){
int R=0;
rT283warning(rT283start_position(C),(T0 *)ms1569);
return R;
}
void rT283mapping_c(T283 *C){
int _tcbd=0;
/*IF*/if (rT283use_current(C)) {
rT283mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT283arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1599);
}
else {
_tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp);
rT283mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT283arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1600);
}
/*FI*/}
void rT283mapping_name(T283 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT283id(C));
XrT67mapping_c((C)->_name);
}
T0* rT283run_class(T283 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT283is_exported_in(T283 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT283clients(C),a1);
return R;
}
int rT283arg_count(T283 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT283initialize(T283 *C){
C->_arguments=((T255*)(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->_local_vars=((T255*)(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=((T255*)(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=rT255run_require((T0 *)C);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT255run_ensure((T0 *)C);
}
/*FI*/}
void rT283fall_down(T283 *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 rT283make(T283 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT283run_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);
rT283initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT282address_of(T282 *C){
rT282mapping_name(C);
}
void rT282warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
int rT282is_static(T282 *C){
int R=0;
C->_static_value_mem=-(7);
/*IF*/if (rT282isa_in_line(C)) {
R=((C)->_static_value_mem)!=(-(7));
}
/*FI*/return R;
}
void rT282compute_use_current(T282 *C){
rT282std_compute_use_current(C);
}
int rT282isa_in_line(T282 *C){
int R=0;
T0* _expression=NULL;
T0* _a=NULL;
/*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((rT282arg_count(C))==(0))&&(!((C)->_local_vars))) {
/*IF*/if (!((C)->_routine_body)) {
C->_static_value_mem=0;
R=1;
}
 else if ((rT140count((T140*)(C)->_routine_body))==(1)) {
_a=rT140first((T140*)(C)->_routine_body);
if ((int)_a) switch (((T0 *)_a)->id) {
case 249: 
break;
default:
_a = NULL;
};/*IF*/if (((int)_a)) {
_expression=((T249*)_a)->_left_side;
/*IF*/if (XrT68is_result(_expression)) {
_expression=((T249*)_a)->_right_side;
R=!(XrT68use_current(_expression));
/*IF*/if (R) {
/*IF*/if (XrT68is_static(_expression)) {
C->_static_value_mem=XrT68static_value(_expression);
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void rT282define_closing(T282 *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 rT282define_opening(T282 *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 (rT282use_current(C)) {
rT43rs_push_current((T43*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT282arg_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 rT282define_prototype(T282 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT282id(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=rT253first_name((T253*)(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*)rT253base_class_name((T253*)(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 (rT282use_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 (!(rT282use_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 rT282error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT282in_line(T282 *C){
int _tcbd=0;
T0* _e=NULL;
T0* _a=NULL;
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1596);
_tcbd=rT43target_cannot_be_dropped((T43*)oRBC27cpp);
/*IF*/if (!((C)->_routine_body)) {
XrT58c_initialize(XrT58run_type((C)->_result_type));
}
else {
_a=rT140first((T140*)(C)->_routine_body);
if ((int)_a) switch (((T0 *)_a)->id) {
case 249: 
break;
default:
_a = NULL;
};_e=((T249*)_a)->_right_side;
/*IF*/if (XrT68is_manifest_string(_e)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1597);
}
/*FI*/XrT68compile_to_c(_e);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1598);
/*IF*/if (_tcbd) {
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
void rT282add_clients(T282 *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* rT282clients(T282 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T253*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T253*)(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(rT253start_position((T253*)(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);
rT282error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT282std_compute_use_current(T282 *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 rT282id(T282 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT282start_position(T282 *C){
T0* R=NULL;
R=rT253start_position((T253*)(C)->_base_feature);
return R;
}
int rT282use_current(T282 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l56;
goto l57;
 l56: ;
R=1;
goto l55;
 l57: ;
if (1017 == iv1) goto l58;
goto l59;
 l58: ;
goto l55;
 l59: ;
if (1019 == iv1) goto l60;
goto l61;
 l60: ;
C->_use_current_state=1020;
rT282compute_use_current(C);
R=rT282use_current(C);
goto l55;
 l61: ;
if (1020 == iv1) goto l62;
goto l63;
 l62: ;
R=1;
goto l55;
 l63: ;
 l55: ;
}
return R;
}
void rT282c_define(T282 *C){
/*IF*/if (rT282isa_in_line(C)) {
rT43incr_inlined_function_count((T43*)oRBC27cpp);
}
else {
/*IF*/if (rT282use_current(C)) {
rT43incr_function_count((T43*)oRBC27cpp);
}
else {
rT43incr_real_function_count((T43*)oRBC27cpp);
}
/*FI*/rT282define_prototype(C);
rT282define_opening(C);
/*IF*/if (((int)(C)->_routine_body)) {
rT140compile_to_c((T140*)(C)->_routine_body);
}
/*FI*/rT282define_closing(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1541);
}
/*FI*/}
int rT282can_be_dropped(T282 *C){
int R=0;
R=((((!((C)->_arguments))&&(!((C)->_local_vars)))&&(!((C)->_require_assertion)))&&(!((C)->_ensure_assertion)))&&(!((C)->_rescue_compound));
/*IF*/if (R) {
/*IF*/if (((int)(C)->_routine_body)) {
/*IF*/if ((rT140count((T140*)(C)->_routine_body))==(1)) {
R=0;
rT282warning(rT282start_position(C),(T0 *)ms1568);
}
else {
R=0;
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void rT282mapping_c(T282 *C){
int _tcbd=0;
/*IF*/if (rT282isa_in_line(C)) {
rT282in_line(C);
}
 else if (rT282use_current(C)) {
rT282mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT282arg_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);
rT282mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT282arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
/*IF*/if (_tcbd) {
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
/*FI*/}
void rT282mapping_name(T282 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT282id(C));
XrT67mapping_c((C)->_name);
}
T0* rT282run_class(T282 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT282is_exported_in(T282 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT282clients(C),a1);
return R;
}
int rT282arg_count(T282 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT282initialize(T282 *C){
C->_arguments=((T253*)(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(((T253*)(C)->_base_feature)->_result_type,(C)->_current_type);
C->_local_vars=((T253*)(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=((T253*)(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=rT253run_require((T0 *)C);
}
/*FI*//*IF*/if (rT44ensure_check((T44*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT253run_ensure((T0 *)C);
}
/*FI*/}
void rT282fall_down(T282 *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 rT282make(T282 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT282run_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);
rT282initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT281address_of(T281 *C){
rT281mapping_name(C);
}
void rT281warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
int rT281is_static(T281 *C){
int R=0;
T0* _n=NULL;
_n=XrT67to_string((C)->_name);
/*IF*/if (rT7is_equal((T7*)(T0 *)ms1124,_n)) {
R=1;
/*IF*/if (XrT58is_expanded((C)->_current_type)) {
C->_static_value_mem=1;
}
/*FI*/}
 else if (rT7is_equal((T7*)(T0 *)ms1202,_n)) {
R=1;
/*IF*/if (XrT58fast_mapping_c((C)->_current_type)) {
C->_static_value_mem=1;
}
/*FI*/}
/*FI*/return R;
}
T0* rT281to_c_numeric_operator(/*C*/T0* a1){
T0* R=NULL;
/*IF*/if (rT7is_equal(ms1575,a1)) {
R=(T0 *)ms1576;
}
 else if (rT7is_equal(ms1577,a1)) {
R=(T0 *)ms91;
}
else {
R=a1;
}
/*FI*/return R;
}
void rT281compute_use_current(T281 *C){
/*IF*/if (rT213use_current((T213*)(C)->_base_feature)) {
C->_use_current_state=1018;
}
else {
rT281std_compute_use_current(C);
}
/*FI*/}
void rT281error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT281add_clients(T281 *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* rT281clients(T281 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T213*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T213*)(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(rT213start_position((T213*)(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);
rT281error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT281std_compute_use_current(T281 *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 rT281id(T281 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT281start_position(T281 *C){
T0* R=NULL;
R=rT213start_position((T213*)(C)->_base_feature);
return R;
}
int rT281use_current(T281 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l65;
goto l66;
 l65: ;
R=1;
goto l64;
 l66: ;
if (1017 == iv1) goto l67;
goto l68;
 l67: ;
goto l64;
 l68: ;
if (1019 == iv1) goto l69;
goto l70;
 l69: ;
C->_use_current_state=1020;
rT281compute_use_current(C);
R=rT281use_current(C);
goto l64;
 l70: ;
if (1020 == iv1) goto l71;
goto l72;
 l71: ;
R=1;
goto l64;
 l72: ;
 l64: ;
}
return R;
}
int rT281can_be_dropped(T281 *C){
int R=0;
rT281warning(rT281start_position(C),(T0 *)ms1567);
return R;
}
void rT281mapping_cse_double(T281 *C){
T0* _n=NULL;
_n=XrT67to_string((C)->_name);
/*IF*/if (rT7is_equal(ms1579,_n)) {
rT43include((T43*)oRBC27cpp,(T0 *)ms533);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1580);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (rT7is_equal(ms1581,_n)) {
rT43include((T43*)oRBC27cpp,(T0 *)ms533);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1582);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (rT7is_equal(ms1583,_n)) {
rT43include((T43*)oRBC27cpp,(T0 *)ms533);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1584);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (rT7is_equal(ms1585,_n)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1586);
rT43put_target((T43*)oRBC27cpp);
}
else {
_n=rT281to_c_numeric_operator(_n);
/*IF*/if ((rT281arg_count(C))==(1)) {
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
else {
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
/*FI*/}
void rT281mapping_cse_real(T281 *C){
T0* _n=NULL;
_n=XrT67to_string((C)->_name);
_n=rT281to_c_numeric_operator(_n);
/*IF*/if ((rT281arg_count(C))==(1)) {
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
else {
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
void rT281mapping_cse_integer(T281 *C){
T0* _n=NULL;
_n=rT281to_c_numeric_operator(XrT67to_string((C)->_name));
/*IF*/if ((rT281arg_count(C))==(1)) {
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (rT7is_equal(ms1578,XrT67to_string((C)->_name))) {
rT43put_target((T43*)oRBC27cpp);
}
else {
rT43put_string((T43*)oRBC27cpp,_n);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
void rT281mapping_cse(T281 *C){
T0* _n=NULL;
T0* _bcn=NULL;
_bcn=((T48*)((T50*)((T213*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
_n=XrT67to_string((C)->_name);
/*IF*/if (((T0 *)(T0 *)ms178)==((T0 *)_bcn)) {
/*IF*/if (rT7is_equal((T7*)(T0 *)ms1179,_n)) {
rT43put_generating_type((T43*)oRBC27cpp,(C)->_current_type);
}
 else if (rT7is_equal((T7*)(T0 *)ms1195,_n)) {
rT43put_generator((T43*)oRBC27cpp,(C)->_current_type);
}
/*FI*/}
 else if (XrT58is_integer((C)->_current_type)) {
rT281mapping_cse_integer(C);
}
 else if (XrT58is_real((C)->_current_type)) {
rT281mapping_cse_real(C);
}
 else if (XrT58is_double((C)->_current_type)) {
rT281mapping_cse_double(C);
}
 else if (XrT58is_boolean((C)->_current_type)) {
/*IF*/if (rT7is_equal((T7*)(T0 *)ms96,_n)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1587);
rT43put_target((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1588);
rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
else {
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if (rT7is_equal((T7*)(T0 *)ms102,_n)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1589);
}
else {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1590);
}
/*FI*/rT43put_arguments((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
 else if (XrT58is_character((C)->_current_type)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1591);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (XrT58is_pointer((C)->_current_type)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1592);
rT43put_target((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\51');
}
 else if (((rT7is_equal(ms1593,_n))||(rT7is_equal(ms1594,_n)))||(rT7is_equal(ms1595,_n))) {
rT43put_string((T43*)oRBC27cpp,_n);
}
/*FI*/}
void rT281mapping_c(T281 *C){
/*IF*/if (rT213is_cse((T213*)(C)->_base_feature)) {
rT281mapping_cse(C);
}
 else if (rT213is_c((T213*)(C)->_base_feature)) {
rT43put_string((T43*)oRBC27cpp,((T213*)(C)->_base_feature)->_external_name);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT281arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
}
else {
rT43put_string((T43*)oRBC27cpp,((T213*)(C)->_base_feature)->_external_name);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT281arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
}
/*FI*/}
void rT281mapping_name(T281 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT281id(C));
XrT67mapping_c((C)->_name);
}
T0* rT281run_class(T281 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT281is_exported_in(T281 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT281clients(C),a1);
return R;
}
int rT281arg_count(T281 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT281initialize(T281 *C){
C->_arguments=((T213*)(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(((T213*)(C)->_base_feature)->_result_type,(C)->_current_type);
}
void rT281fall_down(T281 *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 rT281make(T281 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT281run_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);
rT281initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT280address_of(T280 *C){
rT280mapping_name(C);
}
void rT280warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
void rT280compute_use_current(T280 *C){
/*IF*/if (rT212use_current((T212*)(C)->_base_feature)) {
C->_use_current_state=1018;
}
else {
rT280std_compute_use_current(C);
}
/*FI*/}
void rT280error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT280add_clients(T280 *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* rT280clients(T280 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=((T212*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T212*)(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(rT212start_position((T212*)(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);
rT280error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
void rT280std_compute_use_current(T280 *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 rT280id(T280 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT280start_position(T280 *C){
T0* R=NULL;
R=rT212start_position((T212*)(C)->_base_feature);
return R;
}
int rT280use_current(T280 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l74;
goto l75;
 l74: ;
R=1;
goto l73;
 l75: ;
if (1017 == iv1) goto l76;
goto l77;
 l76: ;
goto l73;
 l77: ;
if (1019 == iv1) goto l78;
goto l79;
 l78: ;
C->_use_current_state=1020;
rT280compute_use_current(C);
R=rT280use_current(C);
goto l73;
 l79: ;
if (1020 == iv1) goto l80;
goto l81;
 l80: ;
R=1;
goto l73;
 l81: ;
 l73: ;
}
return R;
}
int rT280can_be_dropped(T280 *C){
int R=0;
rT280warning(rT280start_position(C),(T0 *)ms1566);
return R;
}
void rT280mapping_cse(T280 *C){
T0* _n=NULL;
_n=XrT67to_string((C)->_name);
/*IF*/if (rT7is_equal((T7*)(T0 *)ms1537,_n)) {
rT43put_c_inline_c((T43*)oRBC27cpp);
}
 else if (rT7is_equal((T7*)(T0 *)ms1571,_n)) {
rT43put_c_inline_h((T43*)oRBC27cpp);
}
else {
rT280mapping_name(C);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT280arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1572);
}
/*FI*/}
void rT280mapping_c(T280 *C){
/*IF*/if (rT212is_cse((T212*)(C)->_base_feature)) {
rT280mapping_cse(C);
}
 else if (rT212is_c((T212*)(C)->_base_feature)) {
rT43put_string((T43*)oRBC27cpp,((T212*)(C)->_base_feature)->_external_name);
rT43put_character((T43*)oRBC27cpp,'\50');
/*IF*/if ((rT280arg_count(C))>(0)) {
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1573);
}
else {
rT43put_string((T43*)oRBC27cpp,((T212*)(C)->_base_feature)->_external_name);
rT43put_character((T43*)oRBC27cpp,'\50');
rT43put_target((T43*)oRBC27cpp);
/*IF*/if ((rT280arg_count(C))>(0)) {
rT43put_character((T43*)oRBC27cpp,'\54');
rT43put_arguments((T43*)oRBC27cpp);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1574);
}
/*FI*/}
void rT280mapping_name(T280 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT280id(C));
XrT67mapping_c((C)->_name);
}
T0* rT280run_class(T280 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT280is_exported_in(T280 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT280clients(C),a1);
return R;
}
int rT280arg_count(T280 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT280initialize(T280 *C){
T0* _n=NULL;
_n=XrT67to_string((C)->_name);
C->_arguments=((T212*)(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*/}
void rT280fall_down(T280 *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 rT280make(T280 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT280run_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);
rT280initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT279address_of(T279 *C){
rT279fatal_error_is_deferred(C);
}
void rT279compute_use_current(T279 *C){
rT279fatal_error_is_deferred(C);
}
void rT279fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
void rT279fatal_error_is_deferred(T279 *C){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT279start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string((C)->_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1539);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58written_mark((C)->_current_type));
rT279fatal_error((T0 *)ms36);
}
void rT279error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT279add_clients(T279 *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* rT279clients(T279 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=XrT204base_class((C)->_base_feature);
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=XrT204clients((C)->_base_feature);
}
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(XrT204start_position((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);
rT279error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
int rT279id(T279 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
T0* rT279start_position(T279 *C){
T0* R=NULL;
R=XrT204start_position((C)->_base_feature);
return R;
}
int rT279use_current(T279 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l83;
goto l84;
 l83: ;
R=1;
goto l82;
 l84: ;
if (1017 == iv1) goto l85;
goto l86;
 l85: ;
goto l82;
 l86: ;
if (1019 == iv1) goto l87;
goto l88;
 l87: ;
C->_use_current_state=1020;
rT279compute_use_current(C);
R=rT279use_current(C);
goto l82;
 l88: ;
if (1020 == iv1) goto l89;
goto l90;
 l89: ;
R=1;
goto l82;
 l90: ;
 l82: ;
}
return R;
}
void rT279c_define(T279 *C){
rT279fatal_error_is_deferred(C);
}
int rT279can_be_dropped(T279 *C){
int R=0;
rT279fatal_error_is_deferred(C);
return R;
}
void rT279mapping_c(T279 *C){
rT279fatal_error_is_deferred(C);
}
void rT279mapping_name(T279 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT279id(C));
XrT67mapping_c((C)->_name);
}
T0* rT279run_class(T279 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT279is_exported_in(T279 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT279clients(C),a1);
return R;
}
int rT279arg_count(T279 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT279initialize(T279 *C){
rT50set_is_deferred((T50*)XrT58base_class((C)->_current_type));
C->_arguments=XrT204arguments((C)->_base_feature);
/*IF*/if ((((int)(C)->_arguments))&&((rT92count((T92*)(C)->_arguments))>(0))) {
C->_arguments=rT92to_runnable((T92*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_result_type=XrT204result_type((C)->_base_feature);
/*IF*/if (((int)(C)->_result_type)) {
C->_result_type=XrT58to_runnable((C)->_result_type,(C)->_current_type);
}
/*FI*/}
void rT279fall_down(T279 *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 rT279make(T279 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT279run_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);
rT279initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT278address_of(T278 *C){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT278start_position(C));
rT278fatal_error((T0 *)ms1538);
}
void rT278warning(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45warning((T45*)oRBC27eh,a2);
}
int rT278is_static(T278 *C){
int R=0;
R=XrT68is_static((C)->_value);
return R;
}
void rT278compute_use_current(T278 *C){
rT278std_compute_use_current(C);
}
int rT278static_value_mem(T278 *C){
int R=0;
R=XrT68static_value((C)->_value);
return R;
}
void rT278fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
void rT278error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT278add_clients(T278 *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* rT278clients(T278 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT58base_class((C)->_current_type);
_bfbc=XrT145base_class((C)->_base_feature);
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=XrT145clients((C)->_base_feature);
}
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(XrT145start_position((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);
rT278error(NULL,(T0 *)ms1138);
}
/*FI*/R=rT50clients_for((T50*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
int rT278id(T278 *C){
int R=0;
R=XrT58id((C)->_current_type);
return R;
}
void rT278std_compute_use_current(T278 *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*/}
T0* rT278start_position(T278 *C){
T0* R=NULL;
R=XrT145start_position((C)->_base_feature);
return R;
}
int rT278use_current(T278 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l92;
goto l93;
 l92: ;
R=1;
goto l91;
 l93: ;
if (1017 == iv1) goto l94;
goto l95;
 l94: ;
goto l91;
 l95: ;
if (1019 == iv1) goto l96;
goto l97;
 l96: ;
C->_use_current_state=1020;
rT278compute_use_current(C);
R=rT278use_current(C);
goto l91;
 l97: ;
if (1020 == iv1) goto l98;
goto l99;
 l98: ;
R=1;
goto l91;
 l99: ;
 l91: ;
}
return R;
}
int rT278can_be_dropped(T278 *C){
int R=0;
rT278warning(rT278start_position(C),(T0 *)ms1565);
return R;
}
void rT278mapping_c(T278 *C){
T0* _real_constant=NULL;
/*IF*/if (XrT68is_manifest_string((C)->_value)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1570);
XrT68compile_to_c((C)->_value);
}
 else if (XrT58is_double((C)->_result_type)) {
_real_constant=(C)->_value;
if ((int)_real_constant) switch (((T0 *)_real_constant)->id) {
case 79: 
break;
default:
_real_constant = NULL;
};rT43put_string((T43*)oRBC27cpp,((T79*)_real_constant)->_to_string);
}
else {
XrT68compile_to_c((C)->_value);
}
/*FI*/}
void rT278mapping_name(T278 *C){
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1207);
rT43put_integer((T43*)oRBC27cpp,rT278id(C));
XrT67mapping_c((C)->_name);
}
T0* rT278run_class(T278 *C){
T0* R=NULL;
R=XrT58run_class((C)->_current_type);
return R;
}
int rT278is_exported_in(T278 *C,T0* a1){
int R=0;
R=rT123gives_permission_to((T123*)rT278clients(C),a1);
return R;
}
int rT278arg_count(T278 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT92count((T92*)(C)->_arguments);
}
/*FI*/return R;
}
void rT278initialize(T278 *C){
int _i=0;
_i=rT128index_of((T128*)XrT145names((C)->_base_feature),(C)->_name);
C->_value=XrT145value((C)->_base_feature,_i);
C->_value=XrT68to_runnable((C)->_value,(C)->_current_type);
C->_result_type=XrT58to_runnable(XrT145result_type((C)->_base_feature),(C)->_current_type);
}
void rT278fall_down(T278 *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 rT278make(T278 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT265put((T265*)((T261*)rT278run_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);
rT278initialize(C);
rT52pop((T52*)oRBC27small_eiffel);
}
void rT274address_of(T274 *C){
rT274mapping_name(C);
}
T0*oRBC274tmp_string;
void rT274once_flag(T274 *C){
rT43put_character((T43*)oRBC27cpp,'o');
rT43put_character((T43*)oRBC27cpp,'f');
rT256mapping_c_name((T256*)(C)->_base_feature);
}
void rT274once_boolean(T274 *C){
rT43swap_on_h((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1542);
rT274once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1543);
rT43swap_on_c((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1544);
rT274once_flag(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1545);
}
void rT274once_variable_aux(T274 *C){
rT43put_character((T43*)oRBC27cpp,'T');
/*IF*/if (XrT58is_expanded((C)->_result_type)) {
rT43put_integer((T43*)oRBC27cpp,XrT58id((C)->_result_type));
rT43put_character((T43*)oRBC27cpp,'\40');
}
else {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1556);
}
/*FI*/rT274once_result(C);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1557);
}
void rT274once_variable(T274 *C){
rT43swap_on_h((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1555);
rT274once_variable_aux(C);
rT43swap_on_c((T43*)oRBC27cpp);
rT274once_variable_aux(C);
}

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