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

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

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.91)    --      FRANCE
-- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
-- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
-- CRIN (Centre de Recherche en Informatique de Nancy)
-- FRANCE 
*/
#include "compile_to_c.h"
/*RUN_FEATURE_9*/void rT286address_of(T286 *C){
rT286fatal_error_is_deferred(C);
}/*RUN_FEATURE_9*/void rT286compute_use_current(T286 *C){
rT286fatal_error_is_deferred(C);
}/*RUN_FEATURE_9*/void rT286fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*RUN_FEATURE_9*/void rT286fatal_error_is_deferred(T286 *C){
rT48add_position(rT286start_position(C));
rT48append(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
rT48append((T0 *)ms2_286);
rT48append(XrT62written_mark((C)->_current_type));
rT286fatal_error((T0 *)ms102_27);
}/*RUN_FEATURE_9*/void rT286error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_9*/void rT286add_clients(T286 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(271,0,1,a1);
}
else {
_i=((T271*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) {
rT271add_last((T271*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_9*/T0* rT286clients(T286 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position);
rT48add_position(XrT209start_position((C)->_base_feature));
rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string);
rT48append((T0 *)ms1_268);
rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string);
rT286error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_9*/int rT286id(T286 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_9*/T0* rT286start_position(T286 *C){
T0* R=NULL;
R=XrT209start_position((C)->_base_feature);
return R;
}
/*RUN_FEATURE_9*/int rT286use_current(T286 *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;
rT286compute_use_current(C);
R=rT286use_current(C);
goto l82;
 l88: ;
if (1020 == iv1) goto l89;
goto l90;
 l89: ;
R=1;
goto l82;
 l90: ;
 l82: ;
}
return R;
}
/*RUN_FEATURE_9*/void rT286c_define(T286 *C){
rT286fatal_error_is_deferred(C);
}/*RUN_FEATURE_9*/int rT286can_be_dropped(T286 *C){
int R=0;
rT286fatal_error_is_deferred(C);
return R;
}
/*RUN_FEATURE_9*/void rT286mapping_c(T286 *C){
rT286fatal_error_is_deferred(C);
}/*RUN_FEATURE_9*/void rT286mapping_name(T286 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT286id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_9*/T0* rT286run_class(T286 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_9*/int rT286is_exported_in(T286 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT286clients(C),a1);
return R;
}
/*RUN_FEATURE_9*/int rT286arg_count(T286 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_9*/void rT286initialize(T286 *C){
rT53set_is_deferred((T53*)XrT62base_class((C)->_current_type));
C->_arguments=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_arguments;
/*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) {
C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_result_type=/*XrT*DEFERRED_ROUTINE*/((T210*)(C)->_base_feature)->_result_type;
/*IF*/if (((int)(C)->_result_type)) {
C->_result_type=XrT62to_runnable((C)->_result_type,(C)->_current_type);
}
/*FI*/}/*RUN_FEATURE_9*/void rT286fall_down(T286 *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=XrT62run_class((C)->_current_type);
_running=((T269*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT62base_class((C)->_current_type);
_i=((T271*)_running)->_lower;
while (!((_i)>(((T271*)_running)->_upper))) {
_sub_rc=rT271item((T271*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type);
_sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name);
_rf=rT269get_feature((T269*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}/*RUN_FEATURE_9*/void rT286make(T286 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT286run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name));
rT55incr_magic_count((T55*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT55push((T55*)oRBC27small_eiffel,(T0 *)C);
rT286initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_1*/void rT285address_of(T285 *C){
rT48add_position(rT285start_position(C));
rT285fatal_error((T0 *)ms2_285);
}/*RUN_FEATURE_1*/int rT285is_static(T285 *C){
int R=0;
R=XrT72is_static((C)->_value);
return R;
}
/*RUN_FEATURE_1*/void rT285compute_use_current(T285 *C){
rT285std_compute_use_current(C);
}/*RUN_FEATURE_1*/int rT285static_value_mem(T285 *C){
int R=0;
R=XrT72static_value((C)->_value);
return R;
}
/*RUN_FEATURE_1*/void rT285fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*RUN_FEATURE_1*/void rT285error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_1*/void rT285add_clients(T285 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(271,0,1,a1);
}
else {
_i=((T271*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) {
rT271add_last((T271*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_1*/T0* rT285clients(T285 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position);
rT48add_position(XrT149start_position((C)->_base_feature));
rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string);
rT48append((T0 *)ms1_268);
rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string);
rT285error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_1*/int rT285id(T285 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_1*/void rT285std_compute_use_current(T285 *C){
/*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (rT275use_current((T275*)(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 (rT142use_current((T142*)(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 (rT161use_current((T161*)(C)->_ensure_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
C->_use_current_state=1017;
}
/*FI*/}/*RUN_FEATURE_1*/T0* rT285start_position(T285 *C){
T0* R=NULL;
R=XrT149start_position((C)->_base_feature);
return R;
}
/*RUN_FEATURE_1*/int rT285use_current(T285 *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;
rT285compute_use_current(C);
R=rT285use_current(C);
goto l91;
 l97: ;
if (1020 == iv1) goto l98;
goto l99;
 l98: ;
R=1;
goto l91;
 l99: ;
 l91: ;
}
return R;
}
/*RUN_FEATURE_1*/void rT285mapping_c(T285 *C){
T0* _real_constant=NULL;
/*IF*/if (XrT72is_manifest_string((C)->_value)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_285);
XrT72compile_to_c((C)->_value);
}
 else if (XrT62is_double((C)->_result_type)) {
_real_constant=(C)->_value;
if ((int)_real_constant) switch (((T0 *)_real_constant)->id) {
case 83: 
break;
default:
_real_constant = NULL;
};rT44put_string((T44*)oRBC27cpp,((T83*)_real_constant)->_to_string);
}
else {
XrT72compile_to_c((C)->_value);
}
/*FI*/}/*RUN_FEATURE_1*/void rT285mapping_name(T285 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT285id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_1*/T0* rT285run_class(T285 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_1*/int rT285is_exported_in(T285 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT285clients(C),a1);
return R;
}
/*RUN_FEATURE_1*/int rT285arg_count(T285 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_1*/void rT285initialize(T285 *C){
int _i=0;
_i=rT130index_of((T130*)/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_names,(C)->_name);
C->_value=XrT149value((C)->_base_feature,_i);
C->_value=XrT72to_runnable((C)->_value,(C)->_current_type);
C->_result_type=XrT62to_runnable(/*XrT*CST_ATT*/((T156*)(C)->_base_feature)->_result_type,(C)->_current_type);
}/*RUN_FEATURE_1*/void rT285fall_down(T285 *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=XrT62run_class((C)->_current_type);
_running=((T269*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT62base_class((C)->_current_type);
_i=((T271*)_running)->_lower;
while (!((_i)>(((T271*)_running)->_upper))) {
_sub_rc=rT271item((T271*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type);
_sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name);
_rf=rT269get_feature((T269*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}/*RUN_FEATURE_1*/void rT285make(T285 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT285run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name));
rT55incr_magic_count((T55*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT55push((T55*)oRBC27small_eiffel,(T0 *)C);
rT285initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_6*/void rT281address_of(T281 *C){
rT281mapping_name(C);
}T0*oRBC281tmp_string;
/*RUN_FEATURE_6*/void rT281once_flag(T281 *C){
rT44put_character((T44*)oRBC27cpp,'o');
rT44put_character((T44*)oRBC27cpp,'f');
rT263mapping_c_name((T263*)(C)->_base_feature);
}/*RUN_FEATURE_6*/void rT281once_boolean(T281 *C){
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms26_268);
rT281once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms27_268);
rT44swap_on_c((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms28_268);
rT281once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms29_268);
}/*RUN_FEATURE_6*/void rT281once_variable_aux(T281 *C){
rT44put_character((T44*)oRBC27cpp,'T');
/*IF*/if (XrT62is_expanded((C)->_result_type)) {
rT44put_integer((T44*)oRBC27cpp,XrT62id((C)->_result_type));
rT44put_character((T44*)oRBC27cpp,'\40');
}
else {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_281);
}
/*FI*/rT281once_result(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_281);
}/*RUN_FEATURE_6*/void rT281once_variable(T281 *C){
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_281);
rT281once_variable_aux(C);
rT44swap_on_c((T44*)oRBC27cpp);
rT281once_variable_aux(C);
}/*RUN_FEATURE_6*/void rT281compute_use_current(T281 *C){
rT281std_compute_use_current(C);
}/*RUN_FEATURE_6*/void rT281once_result(T281 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_281);
rT263mapping_c_name((T263*)(C)->_base_feature);
}/*RUN_FEATURE_6*/void rT281define_closing(T281 *C){
/*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT161compile_to_c((T161*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_unlink((T44*)oRBC27cpp);
}
/*FI*/}/*RUN_FEATURE_6*/void rT281define_opening(T281 *C){
T0* _t=NULL;
int _i=0;
/*IF*/if (((int)(C)->_result_type)) {
_t=XrT62run_type((C)->_result_type);
/*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/
XrT62c_type_in(_t,oRBC268dos);
rT44put_string((T44*)oRBC27cpp,oRBC268dos);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268);
XrT62c_initialize(_t);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268);
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT141compile_to_c((T141*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT161compile_to_c_old((T161*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT141initialize_expanded((T141*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_link((T44*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT281use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT281arg_count(C)))) {
_t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i));
rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t);
_i=(_i)+(1);
}
/*IF*/if (((int)(C)->_result_type)) {
rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type));
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
_i=1;
while (!((_i)>(rT141count((T141*)(C)->_local_vars)))) {
_t=XrT62run_type(rT141type((T141*)(C)->_local_vars,_i));
rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)(C)->_local_vars,_i))->_to_string,_t);
_i=(_i)+(1);
}
}
/*FI*/}
/*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT275compile_to_c((T275*)(C)->_require_assertion);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_6*/void rT281define_prototype(T281 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT281id(C);
/*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268);
rT44put_integer((T44*)oRBC27cpp,_mem_id);
XrT71mapping_c((C)->_name);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268);
_fn=rT263first_name((T263*)(C)->_base_feature);
/*IF*/if (XrT71is_infix_name(_fn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268);
}
 else if (XrT71is_prefix_name(_fn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268);
rT44put_string((T44*)oRBC27cpp,((T51*)rT263base_class_name((T263*)(C)->_base_feature))->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268);
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268);
rT44put_integer((T44*)oRBC27cpp,_mem_id);
XrT71mapping_c((C)->_name);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268);
}
/*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/
rT7append((T7*)oRBC268dps,(T0 *)ms13_268);
rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type));
rT7append((T7*)oRBC268dps,(T0 *)ms14_268);
/*IF*/if (!((C)->_result_type)) {
rT7append((T7*)oRBC268dps,(T0 *)ms15_268);
}
else {
_t=XrT62run_type((C)->_result_type);
XrT62c_type_in(_t,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
}
/*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268);
rT2append_in(_mem_id,oRBC268dps);
XrT71mapping_c_in((C)->_name,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\50');
/*IF*/if (rT281use_current(C)) {
rT7extend((T7*)oRBC268dps,'T');
rT2append_in(_mem_id,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
/*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) {
rT7extend((T7*)oRBC268dps,'\52');
}
/*FI*/rT7extend((T7*)oRBC268dps,'C');
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC268dps,'\54');
}
/*FI*/}
else {
rT7append((T7*)oRBC268dps,(T0 *)ms17_268);
}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(rT281use_current(C))) {
rT7append((T7*)oRBC268dps,(T0 *)ms18_268);
}
/*FI*/}
else {
rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps);
}
/*FI*/rT7extend((T7*)oRBC268dps,'\51');
rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps);
rT44swap_on_c((T44*)oRBC27cpp);
}T0*oRBC281frozen_general;
/*RUN_FEATURE_6*/void rT281pre_computing(T281 *C){
T0* _bfbc=NULL;
_bfbc=((T263*)(C)->_base_feature)->_base_class;
rT42put_string((T42*)oRBC1std_output,((T51*)((T53*)_bfbc)->_base_class_name)->_to_string);
rT42put_character((T42*)oRBC1std_output,'\56');
rT42put_string((T42*)oRBC1std_output,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
/*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT275compile_to_c((T275*)(C)->_require_assertion);
}
/*FI*/}
/*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC281tmp_string)->_count=(0);/*]*/
rT7extend((T7*)oRBC281tmp_string,'\173');
XrT62c_type_in((C)->_result_type,oRBC281tmp_string);
rT7append((T7*)oRBC281tmp_string,(T0 *)ms15_281);
rT44put_string((T44*)oRBC27cpp,oRBC281tmp_string);
/*IF*/if (((int)(C)->_local_vars)) {
rT141compile_to_c((T141*)(C)->_local_vars);
}
/*FI*//*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT161compile_to_c((T161*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*/rT281once_result(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms16_281);
}/*RUN_FEATURE_6*/void rT281error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_6*/void rT281add_clients(T281 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(271,0,1,a1);
}
else {
_i=((T271*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) {
rT271add_last((T271*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_6*/T0* rT281clients(T281 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T263*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T263*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position);
rT48add_position(rT263start_position((T263*)(C)->_base_feature));
rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string);
rT48append((T0 *)ms1_268);
rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string);
rT281error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_6*/void rT281std_compute_use_current(T281 *C){
/*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (rT275use_current((T275*)(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 (rT142use_current((T142*)(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 (rT161use_current((T161*)(C)->_ensure_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
C->_use_current_state=1017;
}
/*FI*/}/*RUN_FEATURE_6*/int rT281id(T281 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_6*/T0* rT281start_position(T281 *C){
T0* R=NULL;
R=rT263start_position((T263*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_6*/int rT281use_current(T281 *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;
rT281compute_use_current(C);
R=rT281use_current(C);
goto l100;
 l106: ;
if (1020 == iv1) goto l107;
goto l108;
 l107: ;
R=1;
goto l100;
 l108: ;
 l100: ;
}
return R;
}
/*RUN_FEATURE_6*/void rT281c_define(T281 *C){
T0* _bfbc=NULL;
_bfbc=((T263*)(C)->_base_feature)->_base_class;
/*IF*/if (rT281is_pre_computable(C)) {
/*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) {
rT281once_variable(C);
rT53set_already_defined((T53*)_bfbc,(C)->_name);
}
/*FI*/rT44incr_pre_computed_once_count((T44*)oRBC27cpp,(T0 *)C);
}
else {
/*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) {
rT281once_boolean(C);
rT281once_variable(C);
rT53set_already_defined((T53*)_bfbc,(C)->_name);
}
/*FI*/rT281define_prototype(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_281);
rT281once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_281);
rT281define_opening(C);
rT281once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_281);
/*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*/rT281define_closing(C);
rT281once_result(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_281);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_281);
rT281once_result(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_281);
}
/*FI*/}/*RUN_FEATURE_6*/int rT281can_be_dropped(T281 *C){
int R=0;
/*IF*/if (rT281is_pre_computable(C)) {
R=1;
}
/*FI*/return R;
}
/*RUN_FEATURE_6*/void rT281mapping_c(T281 *C){
int _tcbd=0;
/*IF*/if (rT281is_pre_computable(C)) {
rT281once_result(C);
}
 else if (rT281use_current(C)) {
rT281mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
/*IF*/if ((rT281arg_count(C))>(0)) {
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_character((T44*)oRBC27cpp,'\51');
}
else {
_tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp);
rT281mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if ((rT281arg_count(C))>(0)) {
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_character((T44*)oRBC27cpp,'\51');
/*IF*/if (_tcbd) {
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_6*/void rT281mapping_name(T281 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT281id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_6*/T0* rT281run_class(T281 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_6*/int rT281is_exported_in(T281 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT281clients(C),a1);
return R;
}
/*RUN_FEATURE_6*/int rT281arg_count(T281 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_6*/int rT281is_pre_computable(T281 *C){
int R=0;
/*IF*/if (rT45has((T45*)oRBC281frozen_general,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string)) {
R=1;
}
 else if ((!((C)->_arguments))&&(!(rT281use_current(C)))) {
/*IF*/if (!((C)->_routine_body)) {
R=1;
}
else {
R=rT142is_pre_computable((T142*)(C)->_routine_body);
}
/*FI*/}
/*FI*/return R;
}
/*RUN_FEATURE_6*/void rT281initialize(T281 *C){
C->_arguments=((T263*)(C)->_base_feature)->_arguments;
/*IF*/if ((((int)(C)->_arguments))&&((rT97count((T97*)(C)->_arguments))>(0))) {
C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_result_type=XrT62to_runnable(((T263*)(C)->_base_feature)->_result_type,(C)->_current_type);
C->_local_vars=((T263*)(C)->_base_feature)->_local_vars;
/*IF*/if ((((int)(C)->_local_vars))&&((rT141count((T141*)(C)->_local_vars))>(0))) {
C->_local_vars=rT141to_runnable((T141*)(C)->_local_vars,(C)->_current_type);
}
/*FI*/C->_routine_body=((T263*)(C)->_base_feature)->_routine_body;
/*IF*/if (((int)(C)->_routine_body)) {
C->_routine_body=rT142to_runnable((T142*)(C)->_routine_body,(C)->_current_type);
}
/*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) {
C->_require_assertion=rT263run_require((T0 *)C);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT263run_ensure((T0 *)C);
}
/*FI*/}/*RUN_FEATURE_6*/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=XrT62run_class((C)->_current_type);
_running=((T269*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT62base_class((C)->_current_type);
_i=((T271*)_running)->_lower;
while (!((_i)>(((T271*)_running)->_upper))) {
_sub_rc=rT271item((T271*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type);
_sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name);
_rf=rT269get_feature((T269*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}/*RUN_FEATURE_6*/void rT281make(T281 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT281run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name));
rT55incr_magic_count((T55*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT55push((T55*)oRBC27small_eiffel,(T0 *)C);
rT281initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_3*/void rT274address_of(T274 *C){
rT274mapping_name(C);
}/*RUN_FEATURE_3*/void rT274compute_use_current(T274 *C){
rT274std_compute_use_current(C);
}/*RUN_FEATURE_3*/int rT274isa_in_line(T274 *C){
int R=0;
/*IF*/if (rT47boost((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (rT259attribute_writer((T259*)(C)->_base_feature)) {
R=1;
}
 else if ((rT274arg_count(C))==(0)) {
/*IF*/if (!((C)->_routine_body)) {
R=1;
}
else {
R=!(rT142use_current((T142*)(C)->_routine_body));
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*RUN_FEATURE_3*/void rT274define_closing(T274 *C){
/*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT161compile_to_c((T161*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_unlink((T44*)oRBC27cpp);
}
/*FI*/}/*RUN_FEATURE_3*/void rT274define_opening(T274 *C){
T0* _t=NULL;
int _i=0;
/*IF*/if (((int)(C)->_result_type)) {
_t=XrT62run_type((C)->_result_type);
/*[IRF3:clear*//*AW*/((T7*)oRBC268dos)->_count=(0);/*]*/
XrT62c_type_in(_t,oRBC268dos);
rT44put_string((T44*)oRBC27cpp,oRBC268dos);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms19_268);
XrT62c_initialize(_t);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms20_268);
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT141compile_to_c((T141*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_ensure_assertion)) {
rT161compile_to_c_old((T161*)(C)->_ensure_assertion);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT141initialize_expanded((T141*)(C)->_local_vars);
}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_link((T44*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT274use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT274arg_count(C)))) {
_t=XrT62run_type(rT97type((T97*)(C)->_arguments,_i));
rT44rs_push_argument((T44*)oRBC27cpp,((T92*)rT97name((T97*)(C)->_arguments,_i))->_to_string,_i,_t);
_i=(_i)+(1);
}
/*IF*/if (((int)(C)->_result_type)) {
rT44rs_push_result((T44*)oRBC27cpp,XrT62run_type((C)->_result_type));
}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
_i=1;
while (!((_i)>(rT141count((T141*)(C)->_local_vars)))) {
_t=XrT62run_type(rT141type((T141*)(C)->_local_vars,_i));
rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)(C)->_local_vars,_i))->_to_string,_t);
_i=(_i)+(1);
}
}
/*FI*/}
/*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_require_assertion)) {
rT275compile_to_c((T275*)(C)->_require_assertion);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_3*/void rT274define_prototype(T274 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT274id(C);
/*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_268);
rT44put_integer((T44*)oRBC27cpp,_mem_id);
XrT71mapping_c((C)->_name);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_268);
_fn=rT259first_name((T259*)(C)->_base_feature);
/*IF*/if (XrT71is_infix_name(_fn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_268);
}
 else if (XrT71is_prefix_name(_fn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_268);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_fn)->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_268);
rT44put_string((T44*)oRBC27cpp,((T51*)rT259base_class_name((T259*)(C)->_base_feature))->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_268);
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_268);
rT44put_integer((T44*)oRBC27cpp,_mem_id);
XrT71mapping_c((C)->_name);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_268);
}
/*FI*//*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/
rT7append((T7*)oRBC268dps,(T0 *)ms13_268);
rT7append((T7*)oRBC268dps,XrT62run_time_mark((C)->_current_type));
rT7append((T7*)oRBC268dps,(T0 *)ms14_268);
/*IF*/if (!((C)->_result_type)) {
rT7append((T7*)oRBC268dps,(T0 *)ms15_268);
}
else {
_t=XrT62run_type((C)->_result_type);
XrT62c_type_in(_t,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
}
/*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms16_268);
rT2append_in(_mem_id,oRBC268dps);
XrT71mapping_c_in((C)->_name,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\50');
/*IF*/if (rT274use_current(C)) {
rT7extend((T7*)oRBC268dps,'T');
rT2append_in(_mem_id,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
/*IF*/if (!(XrT62fast_mapping_c((C)->_current_type))) {
rT7extend((T7*)oRBC268dps,'\52');
}
/*FI*/rT7extend((T7*)oRBC268dps,'C');
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC268dps,'\54');
}
/*FI*/}
else {
rT7append((T7*)oRBC268dps,(T0 *)ms17_268);
}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(rT274use_current(C))) {
rT7append((T7*)oRBC268dps,(T0 *)ms18_268);
}
/*FI*/}
else {
rT97compile_to_c_in((T97*)(C)->_arguments,oRBC268dps);
}
/*FI*/rT7extend((T7*)oRBC268dps,'\51');
rT44put_c_heading((T44*)oRBC27cpp,oRBC268dps);
rT44swap_on_c((T44*)oRBC27cpp);
}/*RUN_FEATURE_3*/void rT274error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_3*/void rT274in_line(T274 *C){
int _tcbd=0;
T0* _argument_name=NULL;
T0* _right_side=NULL;
T0* _left_side=NULL;
T0* _writable=NULL;
T0* _assignment=NULL;
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_274);
rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_274);
/*IF*/if (((int)(C)->_local_vars)) {
rT44put_character((T44*)oRBC27cpp,'\173');
rT274define_opening(C);
}
/*FI*//*IF*/if (rT259attribute_writer((T259*)(C)->_base_feature)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_274);
_assignment=rT142first((T142*)(C)->_routine_body);
if ((int)_assignment) switch (((T0 *)_assignment)->id) {
case 256: 
break;
default:
_assignment = NULL;
};_right_side=((T256*)_assignment)->_right_side;
_writable=((T256*)_assignment)->_left_side;
if ((int)_writable) switch (((T0 *)_writable)->id) {
case 70: case 74: case 71: 
break;
default:
_writable = NULL;
};rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_274);
rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)_writable)->_to_string);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_274);
/*IF*/if (!((C)->_arguments)) {
/*IF*/if (XrT62is_string(XrT72result_type(_right_side))) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_274);
}
/*FI*/XrT72compile_to_c(_right_side);
}
else {
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_274);
}
else {
_tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp);
/*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_local_vars)) {
rT274define_closing(C);
rT44put_character((T44*)oRBC27cpp,'\175');
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_274);
}/*RUN_FEATURE_3*/void rT274add_clients(T274 *C,T0* a1){
int _i=0;
/*IF*/if (!((C)->_actuals_clients)) {
C->_actuals_clients=ma(271,0,1,a1);
}
else {
_i=((T271*)(C)->_actuals_clients)->_lower;
while (!(((_i)>(((T271*)(C)->_actuals_clients)->_upper))||(((T0 *)rT271item((T271*)(C)->_actuals_clients,_i))==((T0 *)a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)>(((T271*)(C)->_actuals_clients)->_upper)) {
rT271add_last((T271*)(C)->_actuals_clients,a1);
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_3*/T0* rT274clients(T274 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T259*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T259*)(C)->_base_feature)->_clients;
}
else {
/*IF*/if (!(rT53is_subclass_of((T53*)_bc,_bfbc))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_start_position);
rT48add_position(rT259start_position((T259*)(C)->_base_feature));
rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string);
rT48append((T0 *)ms1_268);
rT48append(((T51*)((T53*)_bfbc)->_base_class_name)->_to_string);
rT274error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_3*/void rT274std_compute_use_current(T274 *C){
/*IF*/if (((C)->_use_current_state)==(1020)) {
/*IF*/if (((int)(C)->_require_assertion)) {
/*IF*/if (rT275use_current((T275*)(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 (rT142use_current((T142*)(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 (rT161use_current((T161*)(C)->_ensure_assertion)) {
C->_use_current_state=1018;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((C)->_use_current_state)==(1020)) {
C->_use_current_state=1017;
}
/*FI*/}/*RUN_FEATURE_3*/int rT274id(T274 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_3*/T0* rT274start_position(T274 *C){
T0* R=NULL;
R=rT259start_position((T259*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_3*/int rT274use_current(T274 *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;
rT274compute_use_current(C);
R=rT274use_current(C);
goto l109;
 l115: ;
if (1020 == iv1) goto l116;
goto l117;
 l116: ;
R=1;
goto l109;
 l117: ;
 l109: ;
}
return R;
}
/*RUN_FEATURE_3*/void rT274c_define(T274 *C){
/*IF*/if (rT274isa_in_line(C)) {
rT44incr_inlined_procedure_count((T44*)oRBC27cpp);
}
else {
/*IF*/if (rT274use_current(C)) {
rT44incr_procedure_count((T44*)oRBC27cpp);
}
else {
rT44incr_real_procedure_count((T44*)oRBC27cpp);
}
/*FI*/rT274define_prototype(C);
rT274define_opening(C);
/*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*/rT274define_closing(C);
rT44put_character((T44*)oRBC27cpp,'\175');
}
/*FI*/}/*RUN_FEATURE_3*/void rT274mapping_c(T274 *C){
int _tcbd=0;
/*IF*/if (rT274isa_in_line(C)) {
rT274in_line(C);
}
 else if (rT274use_current(C)) {
rT274mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
/*IF*/if ((rT274arg_count(C))>(0)) {
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_274);
}
else {
_tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp);
rT274mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if ((rT274arg_count(C))>(0)) {
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_274);
}
/*FI*/}/*RUN_FEATURE_3*/void rT274mapping_name(T274 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT274id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_3*/T0* rT274run_class(T274 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_3*/int rT274is_exported_in(T274 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT274clients(C),a1);
return R;
}
/*RUN_FEATURE_3*/int rT274arg_count(T274 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_3*/int rT274is_pre_computable(T274 *C){
int R=0;
/*IF*/if (!((C)->_arguments)) {
/*IF*/if (!((C)->_routine_body)) {
R=1;
}
else {
/*IF*/if (!((C)->_local_vars)) {
R=rT142is_pre_computable((T142*)(C)->_routine_body);
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*RUN_FEATURE_3*/void rT274initialize(T274 *C){
C->_arguments=((T259*)(C)->_base_feature)->_arguments;
/*IF*/if (((int)(C)->_arguments)) {
C->_arguments=rT97to_runnable((T97*)(C)->_arguments,(C)->_current_type);
}
/*FI*/C->_local_vars=((T259*)(C)->_base_feature)->_local_vars;
/*IF*/if (((int)(C)->_local_vars)) {
C->_local_vars=rT141to_runnable((T141*)(C)->_local_vars,(C)->_current_type);
}
/*FI*/C->_routine_body=((T259*)(C)->_base_feature)->_routine_body;
/*IF*/if (((int)(C)->_routine_body)) {
C->_routine_body=rT142to_runnable((T142*)(C)->_routine_body,(C)->_current_type);
}
/*FI*//*IF*/if (rT47require_check((T47*)oRBC27eiffel_run_control)) {
C->_require_assertion=rT259run_require((T0 *)C);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT259run_ensure((T0 *)C);
}
/*FI*/}/*RUN_FEATURE_3*/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=XrT62run_class((C)->_current_type);
_running=((T269*)_current_rc)->_running;
/*IF*/if (((int)_running)) {
_current_bc=XrT62base_class((C)->_current_type);
_i=((T271*)_running)->_lower;
while (!((_i)>(((T271*)_running)->_upper))) {
_sub_rc=rT271item((T271*)_running,_i);
/*IF*/if (((T0 *)_sub_rc)!=((T0 *)_current_rc)) {
_sub_bc=XrT62base_class(((T269*)_sub_rc)->_current_type);
_sub_name=rT53new_name_of((T53*)_sub_bc,_current_bc,(C)->_name);
_rf=rT269get_feature((T269*)_sub_rc,_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}/*RUN_FEATURE_3*/void rT274make(T274 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT274run_class(C))->_feature_dictionary,(T0 *)C,XrT71to_key((C)->_name));
rT55incr_magic_count((T55*)oRBC27small_eiffel);
C->_use_current_state=1019;
rT55push((T55*)oRBC27small_eiffel,(T0 *)C);
rT274initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}int ofBC27type_any=0;
T0*oRBC27type_any;
/*E_STRIP*/T0* rT174type_any(/*C*/void){
if (ofBC27type_any==0){
T0* R=NULL;
ofBC27type_any=1;
{T91 *n=((T91*)se_new(91));
rT91make(n,NULL);
R=(T0 *)n;}
oRBC27type_any=R;}
return oRBC27type_any;}
/*E_STRIP*/int rT174static_value(T174 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*E_STRIP*/T0* rT174to_runnable(T174 *C,T0* a1){
T0* R=NULL;
rT174error(rT174start_position(C),(T0 *)ms3_174);
return R;
}
/*E_STRIP*/void rT174error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*E_STRIP*/T0* rT174add_comment(T174 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T228 *n=((T228*)se_new(228));
rT228make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int ofBC174result_type=0;
T0*oRBC174result_type;
/*E_STRIP*/T0* rT174result_type(/*C*/void){
if (ofBC174result_type==0){
T0* R=NULL;
ofBC174result_type=1;
{T107 *n=((T107*)se_new(107));
rT107make(n,NULL,rT174type_any());
R=(T0 *)n;}
oRBC174result_type=R;}
return oRBC174result_type;}
/*E_STRIP*/T0* rT174start_position(T174 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_list)) {
R=/*XrT*FEATURE_NAME*/((T70*)rT130item((T130*)(C)->_list,1))->_start_position;
}
/*FI*/return R;
}
/*E_STRIP*/void rT174compile_to_c(T174 *C){
rT174error(rT174start_position(C),(T0 *)ms1_174);
}/*E_STRIP*/int rT174to_integer(T174 *C){
int R=0;
rT174error(rT174start_position(C),(T0 *)ms104_27);
return R;
}
/*E_STRIP*/int rT174is_a(T174 *C,T0* a1){
int R=0;
R=rT107is_a((T107*)((T107*)rT174result_type())->_run_type,XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position(rT174start_position(C));
rT174error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*E_STRIP*/void rT174make(T174 *C,T0* a1,T0* a2){
/*IF*/if (((int)a2)) {
{T130 *n=((T130*)se_new(130));
rT130make(n,a2);
C->_list=(T0 *)n;}
}
/*FI*/}T0*oRBC73tmp_string;
/*TMP_NAME*/T0* rT73to_prefix_name(T73 *C){
T0* R=NULL;
{T70 *n=((T70*)se_new(70));
rT70make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/void rT73extend(T73 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
}/*TMP_NAME*/T0* rT73to_e_void(T73 *C){
T0* R=NULL;
{T177 *n=((T177*)se_new(177));
rT177make(n,rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_e_result(T73 *C){
T0* R=NULL;
{T176 *n=((T176*)se_new(176));
rT176make(n,rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_e_current(T73 *C){
T0* R=NULL;
{T94 *n=((T94*)se_new(94));
rT94make(n,rT73pos((C)->_li,(C)->_co),1);
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/int rT73isa_keyword(T73 *C){
int R=0;
T0* _kt=NULL;
int _i=0;
_kt=oRBC73keyword_table;
_i=((T45*)_kt)->_upper;
while (!(((_i)==(0))||(rT7same_as((T7*)rT45item((T45*)_kt,_i),(C)->_to_string)))) {
_i=(_i)-(1);
}
R=(_i)>(0);
return R;
}
/*TMP_NAME*/int rT73count(T73 *C){
int R=0;
R=((T7*)(C)->_to_string)->_count;
return R;
}
/*TMP_NAME*/T0* rT73to_feature_name(T73 *C){
T0* R=NULL;
{T71 *n=((T71*)se_new(71));
rT71make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73start_position(T73 *C){
T0* R=NULL;
{T49 *n=((T49*)se_new(49));
rT49make(n,(C)->_li,(C)->_co);
R=(T0 *)n;}
return R;
}
T0*oRBC73keyword_table;
/*TMP_NAME*/T0* rT73to_class_name(T73 *C){
T0* R=NULL;
{T51 *n=((T51*)se_new(51));
rT51make(n,(C)->_to_string,rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_key(T73 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
/*TMP_NAME*/T0* rT73pos(/*C*/int a1,int a2){
T0* R=NULL;
{T49 *n=((T49*)se_new(49));
rT49make(n,a1,a2);
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_argument_name_declaration(T73 *C){
T0* R=NULL;
{T92 *n=((T92*)se_new(92));
rT92make(n,rT73pos((C)->_li,(C)->_co),rT7twin((T7*)(C)->_to_string));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_argument_name(T73 *C,T0* a1,int a2){
T0* R=NULL;
{T92 *n=((T92*)se_new(92));
rT92refer_to(n,rT73pos((C)->_li,(C)->_co),a1,a2);
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_tag_name(T73 *C){
T0* R=NULL;
{T163 *n=((T163*)se_new(163));
rT163make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_infix_name_use(T73 *C){
T0* R=NULL;
{T74 *n=((T74*)se_new(74));
rT74make(n,rT7twin((T7*)(C)->_to_string),rT73pos((C)->_li,(C)->_co));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_infix_name(T73 *C,T0* a1){
T0* R=NULL;
{T74 *n=((T74*)se_new(74));
rT74make(n,rT7twin((T7*)(C)->_to_string),a1);
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_local_name_declaration(T73 *C){
T0* R=NULL;
{T186 *n=((T186*)se_new(186));
rT186make(n,rT73pos((C)->_li,(C)->_co),rT7twin((T7*)(C)->_to_string));
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/T0* rT73to_local_name(T73 *C,T0* a1,int a2){
T0* R=NULL;
{T186 *n=((T186*)se_new(186));
rT186refer_to(n,rT73pos((C)->_li,(C)->_co),a1,a2);
R=(T0 *)n;}
return R;
}
/*TMP_NAME*/void rT73make(T73 *C,int a1,int a2){
C->_li=a1;
C->_co=a2;
C->_to_string=oRBC73tmp_string;
/*[IRF3:clear*//*AW*/((T7*)(C)->_to_string)->_count=(0);/*]*/
}

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