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

This is compile_to_c12.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"
/*STD_OUTPUT*/void rT42put_integer(T42 *C,int a1){
/*[IRF3:clear*//*AW*/((T7*)oRBC39tmp_string)->_count=(0);/*]*/
rT2append_in(a1,oRBC39tmp_string);
rT42put_string(C,oRBC39tmp_string);
}/*STD_OUTPUT*/void rT42die_with_code(/*C*/int a1){
exit(a1);
}/*STD_OUTPUT*/void rT42put_string(T42 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT42put_character(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
}/*STD_OUTPUT*/int rT42is_connected(T42 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
/*STD_OUTPUT*/void rT42disconnect(T42 *C){
int _err=0;
_err=fclose((C)->_output_stream);
C->_path=NULL;
C->_output_stream=stdout;
}/*STD_OUTPUT*/void rT42connect_to(T42 *C,T0* a1){
C->_mode=(T0 *)ms1_39;
C->_output_stream=rT42fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}/*STD_OUTPUT*/void rT42append_file(T42 *C,T0* a1){
char _c=0;
rT43connect_to((T43*)oRBC39tmp_file_read,a1);
rT43read_character((T43*)oRBC39tmp_file_read);
while (!(rT43end_of_input((T43*)oRBC39tmp_file_read))) {
_c=rT43last_character((T43*)oRBC39tmp_file_read);
rT42put_character(C,_c);
rT43read_character((T43*)oRBC39tmp_file_read);
}
rT43disconnect((T43*)oRBC39tmp_file_read);
}T0*oRBC39tmp_file_read;
/*STD_OUTPUT*/void * rT42fopen(/*C*/T0* a1,T0* a2){
void * R=0;
void * _pm=0;
void * _pf=0;
_pf=rT7to_external((T7*)a1);
_pm=rT7to_external((T7*)a2);
R=(void*)fopen(((char*)_pf),((char*)_pm));
return R;
}
/*STD_OUTPUT*/void rT42put_character(T42 *C,char a1){
char _err=0;
_err=fputc(a1,(C)->_output_stream);
/*IF*/if ((_err)!=(a1)) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms2_39);
/*[IRF3:crash*/rsp();
rT42die_with_code(1);
/*]*/
}
/*FI*/}/*STD_OUTPUT*/void rT42make(T42 *C){
C->_output_stream=stdout;
}/*RUN_FEATURE_2*/void rT291address_of(T291 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_291);
rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
rT44put_character((T44*)oRBC27cpp,'\51');
}/*RUN_FEATURE_2*/void rT291error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_2*/void rT291add_clients(T291 *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_2*/T0* rT291clients(T291 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T264*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T264*)(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(rT264start_position((T264*)(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);
rT291error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_2*/int rT291id(T291 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_2*/T0* rT291start_position(T291 *C){
T0* R=NULL;
R=rT264start_position((T264*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_2*/int rT291use_current(T291 *C){
int R=0;
{int iv1=(C)->_use_current_state;
if (1018 == iv1) goto l38;
goto l39;
 l38: ;
R=1;
goto l37;
 l39: ;
if (1017 == iv1) goto l40;
goto l41;
 l40: ;
goto l37;
 l41: ;
if (1019 == iv1) goto l42;
goto l43;
 l42: ;
C->_use_current_state=1020;
/*[IRF3:compute_use_current*//*AW*/(C)->_use_current_state=(1018);/*]*/
R=rT291use_current(C);
goto l37;
 l43: ;
if (1020 == iv1) goto l44;
goto l45;
 l44: ;
R=1;
goto l37;
 l45: ;
 l37: ;
}
return R;
}
/*RUN_FEATURE_2*/void rT291mapping_c(T291 *C){
/*IF*/if (XrT62fast_mapping_c((C)->_current_type)) {
rT44put_target((T44*)oRBC27cpp);
}
else {
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_291);
rT44put_string((T44*)oRBC27cpp,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
}
/*FI*/}/*RUN_FEATURE_2*/void rT291mapping_name(T291 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT291id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_2*/T0* rT291run_class(T291 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_2*/int rT291is_exported_in(T291 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT291clients(C),a1);
return R;
}
/*RUN_FEATURE_2*/int rT291arg_count(T291 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_2*/void rT291initialize(T291 *C){
C->_result_type=XrT62to_runnable(((T264*)(C)->_base_feature)->_result_type,(C)->_current_type);
}/*RUN_FEATURE_2*/void rT291fall_down(T291 *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_2*/void rT291make(T291 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT291run_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);
rT291initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_5*/void rT290address_of(T290 *C){
rT290mapping_name(C);
}/*RUN_FEATURE_5*/void rT290once_flag(T290 *C){
rT44put_character((T44*)oRBC27cpp,'o');
rT44put_character((T44*)oRBC27cpp,'f');
rT262mapping_c_name((T262*)(C)->_base_feature);
}/*RUN_FEATURE_5*/void rT290once_boolean(T290 *C){
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms26_268);
rT290once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms27_268);
rT44swap_on_c((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms28_268);
rT290once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms29_268);
}/*RUN_FEATURE_5*/void rT290compute_use_current(T290 *C){
rT290std_compute_use_current(C);
}/*RUN_FEATURE_5*/void rT290define_closing(T290 *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*/}T0*oRBC268dos;
/*RUN_FEATURE_5*/void rT290define_opening(T290 *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 (rT290use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT290arg_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_5*/void rT290define_prototype(T290 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT290id(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=rT262first_name((T262*)(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*)rT262base_class_name((T262*)(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 (rT290use_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 (!(rT290use_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*oRBC268dps;
/*RUN_FEATURE_5*/void rT290error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_5*/void rT290add_clients(T290 *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_5*/T0* rT290clients(T290 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T262*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T262*)(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(rT262start_position((T262*)(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);
rT290error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_5*/void rT290std_compute_use_current(T290 *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_5*/int rT290id(T290 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_5*/T0* rT290start_position(T290 *C){
T0* R=NULL;
R=rT262start_position((T262*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_5*/int rT290use_current(T290 *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;
rT290compute_use_current(C);
R=rT290use_current(C);
goto l46;
 l52: ;
if (1020 == iv1) goto l53;
goto l54;
 l53: ;
R=1;
goto l46;
 l54: ;
 l46: ;
}
return R;
}
/*RUN_FEATURE_5*/void rT290c_define(T290 *C){
T0* _bfbc=NULL;
_bfbc=((T262*)(C)->_base_feature)->_base_class;
/*IF*/if (!(rT53already_defined((T53*)_bfbc,(C)->_name))) {
rT290once_boolean(C);
rT53set_already_defined((T53*)_bfbc,(C)->_name);
}
/*FI*/rT290define_prototype(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_290);
rT290once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_290);
rT290define_opening(C);
rT290once_flag(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_290);
/*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*/rT290define_closing(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms6_290);
}/*RUN_FEATURE_5*/void rT290mapping_c(T290 *C){
int _tcbd=0;
/*IF*/if (rT290use_current(C)) {
rT290mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
/*IF*/if ((rT290arg_count(C))>(0)) {
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_290);
}
else {
_tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp);
rT290mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if ((rT290arg_count(C))>(0)) {
rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_290);
}
/*FI*/}/*RUN_FEATURE_5*/void rT290mapping_name(T290 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT290id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_5*/T0* rT290run_class(T290 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_5*/int rT290is_exported_in(T290 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT290clients(C),a1);
return R;
}
/*RUN_FEATURE_5*/int rT290arg_count(T290 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_5*/void rT290initialize(T290 *C){
C->_arguments=((T262*)(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->_local_vars=((T262*)(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=((T262*)(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=rT262run_require((T0 *)C);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT262run_ensure((T0 *)C);
}
/*FI*/}/*RUN_FEATURE_5*/void rT290fall_down(T290 *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_5*/void rT290make(T290 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT290run_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);
rT290initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_4*/void rT289address_of(T289 *C){
rT289mapping_name(C);
}/*RUN_FEATURE_4*/int rT289is_static(T289 *C){
int R=0;
C->_static_value_mem=-(7);
/*IF*/if (rT289isa_in_line(C)) {
R=((C)->_static_value_mem)!=(-(7));
}
/*FI*/return R;
}
/*RUN_FEATURE_4*/void rT289compute_use_current(T289 *C){
rT289std_compute_use_current(C);
}/*RUN_FEATURE_4*/int rT289isa_in_line(T289 *C){
int R=0;
T0* _expression=NULL;
T0* _a=NULL;
/*IF*/if (rT47boost((T47*)oRBC27eiffel_run_control)) {
/*IF*/if (((rT289arg_count(C))==(0))&&(!((C)->_local_vars))) {
/*IF*/if (!((C)->_routine_body)) {
C->_static_value_mem=0;
R=1;
}
 else if ((rT142count((T142*)(C)->_routine_body))==(1)) {
_a=rT142first((T142*)(C)->_routine_body);
if ((int)_a) switch (((T0 *)_a)->id) {
case 256: 
break;
default:
_a = NULL;
};/*IF*/if (((int)_a)) {
_expression=((T256*)_a)->_left_side;
/*IF*/if (XrT72is_result(_expression)) {
_expression=((T256*)_a)->_right_side;
R=!(XrT72use_current(_expression));
/*IF*/if (R) {
/*IF*/if (XrT72is_static(_expression)) {
C->_static_value_mem=XrT72static_value(_expression);
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*RUN_FEATURE_4*/void rT289define_closing(T289 *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_4*/void rT289define_opening(T289 *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 (rT289use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT289arg_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_4*/void rT289define_prototype(T289 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT289id(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=rT260first_name((T260*)(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*)rT260base_class_name((T260*)(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 (rT289use_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 (!(rT289use_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_4*/void rT289error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_4*/void rT289in_line(T289 *C){
int _tcbd=0;
T0* _e=NULL;
T0* _a=NULL;
rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_289);
_tcbd=rT44target_cannot_be_dropped((T44*)oRBC27cpp);
/*IF*/if (!((C)->_routine_body)) {
XrT62c_initialize(XrT62run_type((C)->_result_type));
}
else {
_a=rT142first((T142*)(C)->_routine_body);
if ((int)_a) switch (((T0 *)_a)->id) {
case 256: 
break;
default:
_a = NULL;
};_e=((T256*)_a)->_right_side;
/*IF*/if (XrT72is_manifest_string(_e)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_289);
}
/*FI*/XrT72compile_to_c(_e);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_289);
/*IF*/if (_tcbd) {
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}/*RUN_FEATURE_4*/void rT289add_clients(T289 *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_4*/T0* rT289clients(T289 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T260*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T260*)(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(rT260start_position((T260*)(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);
rT289error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_4*/void rT289std_compute_use_current(T289 *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_4*/int rT289id(T289 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_4*/T0* rT289start_position(T289 *C){
T0* R=NULL;
R=rT260start_position((T260*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_4*/int rT289use_current(T289 *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;
rT289compute_use_current(C);
R=rT289use_current(C);
goto l55;
 l61: ;
if (1020 == iv1) goto l62;
goto l63;
 l62: ;
R=1;
goto l55;
 l63: ;
 l55: ;
}
return R;
}
/*RUN_FEATURE_4*/void rT289c_define(T289 *C){
/*IF*/if (rT289isa_in_line(C)) {
rT44incr_inlined_function_count((T44*)oRBC27cpp);
}
else {
/*IF*/if (rT289use_current(C)) {
rT44incr_function_count((T44*)oRBC27cpp);
}
else {
rT44incr_real_function_count((T44*)oRBC27cpp);
}
/*FI*/rT289define_prototype(C);
rT289define_opening(C);
/*IF*/if (((int)(C)->_routine_body)) {
rT142compile_to_c((T142*)(C)->_routine_body);
}
/*FI*/rT289define_closing(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_289);
}
/*FI*/}/*RUN_FEATURE_4*/int rT289can_be_dropped(T289 *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)) {
R=0;
}
/*FI*/}
/*FI*/return R;
}
/*RUN_FEATURE_4*/void rT289mapping_c(T289 *C){
int _tcbd=0;
/*IF*/if (rT289isa_in_line(C)) {
rT289in_line(C);
}
 else if (rT289use_current(C)) {
rT289mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
/*IF*/if ((rT289arg_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);
rT289mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if ((rT289arg_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_4*/void rT289mapping_name(T289 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT289id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_4*/T0* rT289run_class(T289 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_4*/int rT289is_exported_in(T289 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT289clients(C),a1);
return R;
}
/*RUN_FEATURE_4*/int rT289arg_count(T289 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_4*/void rT289initialize(T289 *C){
C->_arguments=((T260*)(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(((T260*)(C)->_base_feature)->_result_type,(C)->_current_type);
C->_local_vars=((T260*)(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=((T260*)(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=rT260run_require((T0 *)C);
}
/*FI*//*IF*/if (rT47ensure_check((T47*)oRBC27eiffel_run_control)) {
C->_ensure_assertion=rT260run_ensure((T0 *)C);
}
/*FI*/}/*RUN_FEATURE_4*/void rT289fall_down(T289 *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_4*/void rT289make(T289 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT289run_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);
rT289initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_8*/void rT288address_of(T288 *C){
rT288mapping_name(C);
}/*RUN_FEATURE_8*/void rT288map_external(/*C*/T0* a1,T0* a2){
/*IF*/if (XrT62is_reference(a1)) {
rT7append((T7*)a2,(T0 *)ms126_27);
}
else {
XrT62c_type_in(a1,a2);
}
/*FI*/}/*RUN_FEATURE_8*/T0* rT288to_c_numeric_operator(/*C*/T0* a1){
T0* R=NULL;
/*IF*/if (rT7is_equal(ms19_288,a1)) {
R=(T0 *)ms20_288;
}
 else if (rT7is_equal(ms21_288,a1)) {
R=(T0 *)ms125_27;
}
else {
R=a1;
}
/*FI*/return R;
}
/*RUN_FEATURE_8*/void rT288define_prototype(T288 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT288id(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=rT220first_name((T220*)(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*)rT220base_class_name((T220*)(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 (rT288use_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 (!(rT288use_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_8*/void rT288define_opening(T288 *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)/*(IRF4*/NULL/*)*/)) {
rT141compile_to_c((T141*)/*(IRF4*/NULL/*)*/);
}
/*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)/*(IRF4*/NULL/*)*/)) {
rT141initialize_expanded((T141*)/*(IRF4*/NULL/*)*/);
}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_link((T44*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT288use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT288arg_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)/*(IRF4*/NULL/*)*/)) {
_i=1;
while (!((_i)>(rT141count((T141*)/*(IRF4*/NULL/*)*/)))) {
_t=XrT62run_type(rT141type((T141*)/*(IRF4*/NULL/*)*/,_i));
rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)/*(IRF4*/NULL/*)*/,_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_8*/void rT288define_closing(T288 *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*/}T0*oRBC288arg1_ansi_math;
/*RUN_FEATURE_8*/T0* rT288clients(T288 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T220*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T220*)(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(rT220start_position((T220*)(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);
rT288error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_8*/int rT288id(T288 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_8*/void rT288std_compute_use_current(T288 *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_8*/int rT288use_current(T288 *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;
rT288compute_use_current(C);
R=rT288use_current(C);
goto l64;
 l70: ;
if (1020 == iv1) goto l71;
goto l72;
 l71: ;
R=1;
goto l64;
 l72: ;
 l64: ;
}
return R;
}
/*RUN_FEATURE_8*/void rT288mapping_cse_double(T288 *C){
T0* _n=NULL;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
/*IF*/if (rT7is_equal(ms22_288,_n)) {
rT44include((T44*)oRBC27cpp,(T0 *)ms123_27);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms23_288);
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (rT45has((T45*)oRBC288arg1_ansi_math,_n)) {
rT44include((T44*)oRBC27cpp,(T0 *)ms123_27);
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (rT7is_equal(ms24_288,_n)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms25_288);
rT44put_target((T44*)oRBC27cpp);
}
else {
_n=rT288to_c_numeric_operator(_n);
/*IF*/if ((rT288arg_count(C))==(1)) {
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
else {
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}
/*FI*/}/*RUN_FEATURE_8*/T0* rT288run_class(T288 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_8*/void rT288mapping_name(T288 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT288id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_8*/void rT288mapping_c(T288 *C){
int _bfuc=0;
/*IF*/if (rT220is_cse((T220*)(C)->_base_feature)) {
rT288mapping_cse(C);
}
else {
_bfuc=rT220use_current((T220*)(C)->_base_feature);
/*IF*/if ((!(_bfuc))&&(rT44target_cannot_be_dropped((T44*)oRBC27cpp))) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_288);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,((T220*)(C)->_base_feature)->_external_name);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if (_bfuc) {
rT44put_target((T44*)oRBC27cpp);
}
/*FI*//*IF*/if ((rT288arg_count(C))>(0)) {
/*IF*/if (_bfuc) {
rT44put_character((T44*)oRBC27cpp,'\54');
}
/*FI*/rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse(T288 *C){
T0* _n=NULL;
T0* _bcn=NULL;
_bcn=((T51*)((T53*)((T220*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
/*IF*/if (((T0 *)(T0 *)ms48_27)==((T0 *)_bcn)) {
/*IF*/if (rT7is_equal((T7*)(T0 *)ms72_27,_n)) {
rT44put_generating_type((T44*)oRBC27cpp,(C)->_current_type);
}
 else if (rT7is_equal((T7*)(T0 *)ms73_27,_n)) {
rT44put_generator((T44*)oRBC27cpp,(C)->_current_type);
}
 else if (rT7is_equal((T7*)(T0 *)ms92_27,_n)) {
rT44put_to_pointer((T44*)oRBC27cpp);
}
 else if (rT7is_equal((T7*)(T0 *)ms80_27,_n)) {
rT44put_object_size((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/}
 else if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) {
rT288mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (((T0 *)(T0 *)ms49_27)==((T0 *)_bcn)) {
rT288mapping_cse_integer(C);
}
 else if (((T0 *)(T0 *)ms55_27)==((T0 *)_bcn)) {
rT288mapping_cse_real(C);
}
 else if (((T0 *)(T0 *)ms45_27)==((T0 *)_bcn)) {
rT288mapping_cse_double(C);
}
 else if (((T0 *)(T0 *)ms40_27)==((T0 *)_bcn)) {
/*IF*/if (rT7is_equal((T7*)(T0 *)ms117_27,_n)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_288);
rT44put_target((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms11_288);
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
else {
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
/*IF*/if (rT7is_equal((T7*)(T0 *)ms82_27,_n)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms12_288);
}
else {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms13_288);
}
/*FI*/rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}
 else if (((T0 *)(T0 *)ms42_27)==((T0 *)_bcn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms15_288);
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (((T0 *)(T0 *)ms53_27)==((T0 *)_bcn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms17_288);
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (((T0 *)(T0 *)ms51_27)==((T0 *)_bcn)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms18_288);
}
 else if (((T0 *)(T0 *)ms39_27)==((T0 *)_bcn)) {
rT44put_bit_count((T44*)oRBC27cpp);
}
else {
rT44put_string((T44*)oRBC27cpp,_n);
}
/*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse_integer(T288 *C){
T0* _n=NULL;
_n=rT288to_c_numeric_operator(/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string);
/*IF*/if ((rT288arg_count(C))==(1)) {
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
 else if (rT7is_equal((T7*)(T0 *)ms91_27,/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string)) {
rT44put_target((T44*)oRBC27cpp);
}
else {
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}/*RUN_FEATURE_8*/void rT288mapping_cse_real(T288 *C){
T0* _n=NULL;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
_n=rT288to_c_numeric_operator(_n);
/*IF*/if ((rT288arg_count(C))==(1)) {
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
else {
rT44put_string((T44*)oRBC27cpp,_n);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\51');
}
/*FI*/}/*RUN_FEATURE_8*/int rT288is_exported_in(T288 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT288clients(C),a1);
return R;
}
/*RUN_FEATURE_8*/void rT288initialize(T288 *C){
C->_arguments=((T220*)(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(((T220*)(C)->_base_feature)->_result_type,(C)->_current_type);
}/*RUN_FEATURE_8*/void rT288make(T288 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT288run_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);
rT288initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}/*RUN_FEATURE_8*/int rT288is_static(T288 *C){
int R=0;
T0* _n=NULL;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
/*IF*/if (rT7is_equal((T7*)(T0 *)ms75_27,_n)) {
R=1;
/*IF*/if (XrT62is_expanded((C)->_current_type)) {
C->_static_value_mem=1;
}
/*FI*/}
 else if (rT7is_equal((T7*)(T0 *)ms74_27,_n)) {
R=1;
/*IF*/if (XrT62fast_mapping_c((C)->_current_type)) {
C->_static_value_mem=1;
}
/*FI*/}
/*FI*/return R;
}
T0*oRBC288tmp_string;
/*RUN_FEATURE_8*/void rT288compute_use_current(T288 *C){
/*IF*/if (rT220use_current((T220*)(C)->_base_feature)) {
C->_use_current_state=1018;
}
else {
rT288std_compute_use_current(C);
}
/*FI*/}/*RUN_FEATURE_8*/void rT288external_prototype(T288 *C,T0* a1){
T0* _t=NULL;
/*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/
rT7append((T7*)oRBC268dps,(T0 *)ms21_268);
_t=(C)->_result_type;
/*IF*/if (!(_t)) {
rT7append((T7*)oRBC268dps,(T0 *)ms22_268);
}
else {
rT288map_external(_t,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
}
/*FI*/rT7append((T7*)oRBC268dps,/*XrT*EXTERNAL_ROUTINE*/((T219*)a1)->_external_name);
rT7extend((T7*)oRBC268dps,'\50');
/*IF*/if (XrT218use_current(a1)) {
rT288map_external((C)->_current_type,oRBC268dps);
rT7append((T7*)oRBC268dps,(T0 *)ms23_268);
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC268dps,'\54');
}
/*FI*/}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(XrT218use_current(a1))) {
rT7append((T7*)oRBC268dps,(T0 *)ms24_268);
}
/*FI*/}
else {
rT97external_prototype((T97*)(C)->_arguments,oRBC268dps);
}
/*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms25_268);
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,oRBC268dps);
rT44swap_on_c((T44*)oRBC27cpp);
}/*RUN_FEATURE_8*/void rT288error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_8*/void rT288add_clients(T288 *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_8*/T0* rT288start_position(T288 *C){
T0* R=NULL;
R=rT220start_position((T220*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_8*/void rT288c_define(T288 *C){
T0* _bcn=NULL;
/*IF*/if (rT220is_cse((T220*)(C)->_base_feature)) {
_bcn=((T51*)((T53*)((T220*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
/*IF*/if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) {
rT288define_prototype(C);
rT288define_opening(C);
rT7copy((T7*)oRBC288tmp_string,(T0 *)ms5_288);
XrT62c_type_in(XrT62run_type((C)->_result_type),oRBC288tmp_string);
rT7append((T7*)oRBC288tmp_string,(T0 *)ms6_288);
/*IF*/if (((T0 *)(T0 *)ms37_27)==((T0 *)_bcn)) {
rT7append((T7*)oRBC288tmp_string,(T0 *)ms7_288);
}
/*FI*/rT7append((T7*)oRBC288tmp_string,(T0 *)ms8_288);
rT44put_string((T44*)oRBC27cpp,oRBC288tmp_string);
rT288define_closing(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms9_288);
}
/*FI*/}
 else if (rT220need_prototype((T220*)(C)->_base_feature)) {
rT288external_prototype(C,(C)->_base_feature);
}
/*FI*/}/*RUN_FEATURE_8*/int rT288arg_count(T288 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_8*/void rT288fall_down(T288 *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_7*/void rT287address_of(T287 *C){
rT287mapping_name(C);
}/*RUN_FEATURE_7*/void rT287map_external(/*C*/T0* a1,T0* a2){
/*IF*/if (XrT62is_reference(a1)) {
rT7append((T7*)a2,(T0 *)ms126_27);
}
else {
XrT62c_type_in(a1,a2);
}
/*FI*/}T0*oRBC287tmp_string;
/*RUN_FEATURE_7*/void rT287compute_use_current(T287 *C){
/*IF*/if (rT219use_current((T219*)(C)->_base_feature)) {
C->_use_current_state=1018;
}
else {
rT287std_compute_use_current(C);
}
/*FI*/}/*RUN_FEATURE_7*/void rT287define_closing(T287 *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_7*/void rT287define_opening(T287 *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)/*(IRF4*/NULL/*)*/)) {
rT141compile_to_c((T141*)/*(IRF4*/NULL/*)*/);
}
/*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)/*(IRF4*/NULL/*)*/)) {
rT141initialize_expanded((T141*)/*(IRF4*/NULL/*)*/);
}
/*FI*//*IF*/if (rT47no_check((T47*)oRBC27eiffel_run_control)) {
rT44rs_link((T44*)oRBC27cpp,(T0 *)C);
/*IF*/if (rT287use_current(C)) {
rT44rs_push_current((T44*)oRBC27cpp,(C)->_current_type);
}
/*FI*/_i=1;
while (!((_i)>(rT287arg_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)/*(IRF4*/NULL/*)*/)) {
_i=1;
while (!((_i)>(rT141count((T141*)/*(IRF4*/NULL/*)*/)))) {
_t=XrT62run_type(rT141type((T141*)/*(IRF4*/NULL/*)*/,_i));
rT44rs_push_local((T44*)oRBC27cpp,((T186*)rT141name((T141*)/*(IRF4*/NULL/*)*/,_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_7*/void rT287define_prototype(T287 *C){
int _mem_id=0;
T0* _t=NULL;
T0* _fn=NULL;
_mem_id=rT287id(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=rT219first_name((T219*)(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*)rT219base_class_name((T219*)(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 (rT287use_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 (!(rT287use_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_7*/void rT287external_prototype(T287 *C,T0* a1){
T0* _t=NULL;
/*[IRF3:clear*//*AW*/((T7*)oRBC268dps)->_count=(0);/*]*/
rT7append((T7*)oRBC268dps,(T0 *)ms21_268);
_t=(C)->_result_type;
/*IF*/if (!(_t)) {
rT7append((T7*)oRBC268dps,(T0 *)ms22_268);
}
else {
rT287map_external(_t,oRBC268dps);
rT7extend((T7*)oRBC268dps,'\40');
}
/*FI*/rT7append((T7*)oRBC268dps,/*XrT*EXTERNAL_ROUTINE*/((T219*)a1)->_external_name);
rT7extend((T7*)oRBC268dps,'\50');
/*IF*/if (XrT218use_current(a1)) {
rT287map_external((C)->_current_type,oRBC268dps);
rT7append((T7*)oRBC268dps,(T0 *)ms23_268);
/*IF*/if (((int)(C)->_arguments)) {
rT7extend((T7*)oRBC268dps,'\54');
}
/*FI*/}
/*FI*//*IF*/if (!((C)->_arguments)) {
/*IF*/if (!(XrT218use_current(a1))) {
rT7append((T7*)oRBC268dps,(T0 *)ms24_268);
}
/*FI*/}
else {
rT97external_prototype((T97*)(C)->_arguments,oRBC268dps);
}
/*FI*/rT7append((T7*)oRBC268dps,(T0 *)ms25_268);
rT44swap_on_h((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,oRBC268dps);
rT44swap_on_c((T44*)oRBC27cpp);
}/*RUN_FEATURE_7*/void rT287error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*RUN_FEATURE_7*/void rT287add_clients(T287 *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_7*/T0* rT287clients(T287 *C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
_bc=XrT62base_class((C)->_current_type);
_bfbc=((T219*)(C)->_base_feature)->_base_class;
/*IF*/if (((T0 *)_bc)==((T0 *)_bfbc)) {
R=((T219*)(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(rT219start_position((T219*)(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);
rT287error(NULL,(T0 *)ms2_268);
}
/*FI*/R=rT53clients_for((T53*)_bc,(C)->_name,(C)->_base_feature);
}
/*FI*/return R;
}
/*RUN_FEATURE_7*/void rT287std_compute_use_current(T287 *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_7*/int rT287id(T287 *C){
int R=0;
R=XrT62id((C)->_current_type);
return R;
}
/*RUN_FEATURE_7*/T0* rT287start_position(T287 *C){
T0* R=NULL;
R=rT219start_position((T219*)(C)->_base_feature);
return R;
}
/*RUN_FEATURE_7*/int rT287use_current(T287 *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;
rT287compute_use_current(C);
R=rT287use_current(C);
goto l73;
 l79: ;
if (1020 == iv1) goto l80;
goto l81;
 l80: ;
R=1;
goto l73;
 l81: ;
 l73: ;
}
return R;
}
/*RUN_FEATURE_7*/void rT287c_define(T287 *C){
T0* _bcn=NULL;
/*IF*/if (rT219is_cse((T219*)(C)->_base_feature)) {
_bcn=((T51*)((T53*)((T219*)(C)->_base_feature)->_base_class)->_base_class_name)->_to_string;
/*IF*/if ((((T0 *)(T0 *)ms37_27)==((T0 *)_bcn))||(((T0 *)(T0 *)ms47_27)==((T0 *)_bcn))) {
rT287define_prototype(C);
rT287define_opening(C);
rT7copy((T7*)oRBC287tmp_string,(T0 *)ms3_287);
XrT62c_type_in(XrT62run_type(rT97type((T97*)(C)->_arguments,1)),oRBC287tmp_string);
rT7append((T7*)oRBC287tmp_string,(T0 *)ms4_287);
/*IF*/if (((T0 *)(T0 *)ms37_27)==((T0 *)_bcn)) {
rT7append((T7*)oRBC287tmp_string,(T0 *)ms5_287);
}
/*FI*/rT7append((T7*)oRBC287tmp_string,(T0 *)ms6_287);
rT44put_string((T44*)oRBC27cpp,oRBC287tmp_string);
rT287define_closing(C);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms7_287);
}
/*FI*/}
 else if (rT219need_prototype((T219*)(C)->_base_feature)) {
rT287external_prototype(C,(C)->_base_feature);
}
/*FI*/}/*RUN_FEATURE_7*/void rT287mapping_cse(T287 *C){
T0* _n=NULL;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
/*IF*/if (rT7is_equal((T7*)(T0 *)ms69_27,_n)) {
rT44put_c_inline_c((T44*)oRBC27cpp);
}
 else if (rT7is_equal((T7*)(T0 *)ms70_27,_n)) {
rT44put_c_inline_h((T44*)oRBC27cpp);
}
else {
rT287mapping_name(C);
rT44put_character((T44*)oRBC27cpp,'\50');
rT44put_target((T44*)oRBC27cpp);
rT44put_character((T44*)oRBC27cpp,'\54');
rT44put_arguments((T44*)oRBC27cpp);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms8_287);
}
/*FI*/}/*RUN_FEATURE_7*/void rT287mapping_c(T287 *C){
int _bfuc=0;
/*IF*/if (rT219is_cse((T219*)(C)->_base_feature)) {
rT287mapping_cse(C);
}
else {
_bfuc=rT219use_current((T219*)(C)->_base_feature);
/*IF*/if ((!(_bfuc))&&(rT44target_cannot_be_dropped((T44*)oRBC27cpp))) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_287);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,((T219*)(C)->_base_feature)->_external_name);
rT44put_character((T44*)oRBC27cpp,'\50');
/*IF*/if (_bfuc) {
rT44put_target((T44*)oRBC27cpp);
}
/*FI*//*IF*/if ((rT287arg_count(C))>(0)) {
/*IF*/if (_bfuc) {
rT44put_character((T44*)oRBC27cpp,'\54');
}
/*FI*/rT44put_arguments((T44*)oRBC27cpp);
}
/*FI*/rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_287);
}
/*FI*/}/*RUN_FEATURE_7*/void rT287mapping_name(T287 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_268);
rT44put_integer((T44*)oRBC27cpp,rT287id(C));
XrT71mapping_c((C)->_name);
}/*RUN_FEATURE_7*/T0* rT287run_class(T287 *C){
T0* R=NULL;
R=XrT62run_class((C)->_current_type);
return R;
}
/*RUN_FEATURE_7*/int rT287is_exported_in(T287 *C,T0* a1){
int R=0;
R=rT125gives_permission_to((T125*)rT287clients(C),a1);
return R;
}
/*RUN_FEATURE_7*/int rT287arg_count(T287 *C){
int R=0;
/*IF*/if (((int)(C)->_arguments)) {
R=rT97count((T97*)(C)->_arguments);
}
/*FI*/return R;
}
/*RUN_FEATURE_7*/void rT287initialize(T287 *C){
T0* _n=NULL;
_n=/*XrT*FEATURE_NAME*/((T70*)(C)->_name)->_to_string;
C->_arguments=((T219*)(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*/}/*RUN_FEATURE_7*/void rT287fall_down(T287 *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_7*/void rT287make(T287 *C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
rT272put((T272*)((T269*)rT287run_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);
rT287initialize(C);
rT55pop((T55*)oRBC27small_eiffel);
}

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