/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_c.h"
/*No:UNIQUE_STRING.us_put*/
/*No:UNIQUE_STRING.us_character_bits*/
/*No:UNIQUE_STRING.us_none*/
/*No:UNIQUE_STRING.us_dictionary*/
/*No:UNIQUE_STRING.us_minimum_integer*/
/*No:UNIQUE_STRING.us_character_ref*/
/*No:UNIQUE_STRING.us_integer*/
/*No:UNIQUE_STRING.us_copy*/
/*No:UNIQUE_STRING.us_generator*/
/*No:UNIQUE_STRING.us_minimum_character_code*/
/*No:UNIQUE_STRING.us_maximum_integer*/
/*No:UNIQUE_STRING.us_standard_copy*/
/*No:UNIQUE_STRING.us_maximum_character_code*/
/*No:UNIQUE_STRING.us_minimum_real*/
/*No:UNIQUE_STRING.us_sprintf_double*/
/*No:UNIQUE_STRING.us_with_capacity*/
void r902key_pfx_ifx(T0* a1){
char _c=0;
int _i=0;
_i=1;
while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
_c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*IF*/if (r3is_letter(_c)) {
r7extend(((T7*)(oBC902pfx_ifx)),_c);
}
else {
r2append_in(((unsigned char)_c),oBC902pfx_ifx);
}
/*FI*/_i=(_i)+(1);
}
}
/*No:UNIQUE_STRING.us_backslash_backslash*/
/*No:UNIQUE_STRING.us_compile_to_jvm*/
/*No:UNIQUE_STRING.us_maximum_real*/
/*No:UNIQUE_STRING.us_conforms_to*/
/*No:UNIQUE_STRING.us_and*/
/*No:UNIQUE_STRING.us_print*/
/*No:UNIQUE_STRING.us_print_on*/
/*No:UNIQUE_STRING.us_double_ref*/
/*No:UNIQUE_STRING.us_and_then*/
/*No:UNIQUE_STRING.us_put_0*/
/*No:UNIQUE_STRING.us_array*/
/*No:UNIQUE_STRING.us_from_pointer*/
/*No:UNIQUE_STRING.us_lower*/
/*No:UNIQUE_STRING.us_std_neq*/
/*No:UNIQUE_STRING.us_pointer_bits*/
/*No:UNIQUE_STRING.us_slash_slash*/
/*No:UNIQUE_STRING.us_double_floor*/
/*No:UNIQUE_STRING.us_integer_bits*/
/*No:UNIQUE_STRING.us_stdout*/
/*No:UNIQUE_STRING.us_capacity*/
/*No:UNIQUE_STRING.us_put_1*/
/*No:UNIQUE_STRING.make*/
/*No:UNIQUE_STRING.us_current*/
/*No:UNIQUE_STRING.us_item*/
T0* r902read(T0* a1){
T0* R=NULL;
R=r794at(((T794*)(oBC902memory)),a1);
return R;
}
/*No:UNIQUE_STRING.us_pointer*/
/*No:UNIQUE_STRING.us_string*/
/*No:UNIQUE_STRING.us_se_remove*/
/*No:UNIQUE_STRING.us_flush_stream*/
/*No:UNIQUE_STRING.us_realloc*/
/*No:UNIQUE_STRING.us_like_current*/
/*No:UNIQUE_STRING.us_floor*/
/*No:UNIQUE_STRING.us_double_bits*/
/*No:UNIQUE_STRING.us_or_else*/
/*No:UNIQUE_STRING.us_blank*/
/*No:UNIQUE_STRING.us_is_expanded_type*/
/*No:UNIQUE_STRING.us_std_output*/
/*No:UNIQUE_STRING.us_fclose*/
T0* r902item(T0* a1){
T0* R=NULL;
r902initialize();
/*IF*/if (r794has(((T794*)(oBC902memory)),a1)) {
R=r902read(a1);
}
else {
R=r7twin(((T7*)a1));
r902add1(R);
}
/*FI*/return R;
}
/*No:UNIQUE_STRING.us_ge*/
/*No:UNIQUE_STRING.us_neq*/
/*No:UNIQUE_STRING.us_stdin*/
/*No:UNIQUE_STRING.us_slash*/
/*No:UNIQUE_STRING.us_compile_to_c*/
/*No:UNIQUE_STRING.us_crash*/
/*No:UNIQUE_STRING.us_c_inline_c*/
/*No:UNIQUE_STRING.us_standard_twin*/
/*No:UNIQUE_STRING.us_truncated_to_integer*/
/*No:UNIQUE_STRING.us_write_byte*/
/*No:UNIQUE_STRING.us_stderr*/
/*No:UNIQUE_STRING.us_se_system*/
/*No:UNIQUE_STRING.us_std_file_read*/
/*No:UNIQUE_STRING.us_sfr_open*/
/*No:UNIQUE_STRING.us_sfw_open*/
/*No:UNIQUE_STRING.us_character*/
/*No:UNIQUE_STRING.us_pointer_ref*/
/*No:UNIQUE_STRING.us_shift_left*/
/*No:UNIQUE_STRING.us_std_error*/
T0*oBC902pfx_ifx=NULL;
/*No:UNIQUE_STRING.us_le*/
/*No:UNIQUE_STRING.us_make*/
/*No:UNIQUE_STRING.us_integer_ref*/
/*No:UNIQUE_STRING.us_bitn*/
/*No:UNIQUE_STRING.us_twin*/
/*No:UNIQUE_STRING.us_bit_n*/
/*No:UNIQUE_STRING.us_real*/
/*No:UNIQUE_STRING.us_die_with_code*/
/*No:UNIQUE_STRING.us_implies*/
/*No:UNIQUE_STRING.us_result*/
/*No:UNIQUE_STRING.us_generating_type*/
/*No:UNIQUE_STRING.us_is_basic_expanded_type*/
T0* r902for_prefix(T0* a1){
T0* R=NULL;
r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms1_902));
r902key_pfx_ifx(a1);
R=r902item(oBC902pfx_ifx);
return R;
}
T0* r902for_infix(T0* a1){
T0* R=NULL;
r7copy(((T7*)(oBC902pfx_ifx)),((T0*)ms2_902));
r902key_pfx_ifx(a1);
R=r902item(oBC902pfx_ifx);
return R;
}
/*No:UNIQUE_STRING.us_bit*/
/*No:UNIQUE_STRING.us_minus*/
/*No:UNIQUE_STRING.us_shift_right*/
/*No:UNIQUE_STRING.us_count*/
/*No:UNIQUE_STRING.us_se_argc*/
/*No:UNIQUE_STRING.us_storage*/
/*No:UNIQUE_STRING.us_object_size*/
/*No:UNIQUE_STRING.us_se_rename*/
/*No:UNIQUE_STRING.us_memory*/
/*No:UNIQUE_STRING.us_code*/
/*No:UNIQUE_STRING.us_sprintf_pointer*/
/*No:UNIQUE_STRING.us_standard_is_equal*/
/*No:UNIQUE_STRING.us_real_ref*/
/*No:UNIQUE_STRING.us_boolean*/
/*No:UNIQUE_STRING.us_is_not_void*/
/*No:UNIQUE_STRING.us_at*/
/*No:UNIQUE_STRING.us_eq*/
/*No:UNIQUE_STRING.us_double*/
/*No:UNIQUE_STRING.us_pointer_size*/
/*No:UNIQUE_STRING.us_to_double*/
/*No:UNIQUE_STRING.us_xor*/
/*No:UNIQUE_STRING.us_io*/
/*No:UNIQUE_STRING.us_platform*/
/*No:UNIQUE_STRING.us_is_equal*/
/*No:UNIQUE_STRING.us_to_bit*/
/*No:UNIQUE_STRING.us_bit_n_ref*/
/*No:UNIQUE_STRING.us_to_character*/
/*No:UNIQUE_STRING.us_se_string2double*/
/*No:UNIQUE_STRING.us_free*/
/*No:UNIQUE_STRING.us_read_byte*/
/*No:UNIQUE_STRING.us_not*/
/*No:UNIQUE_STRING.us_void*/
/*No:UNIQUE_STRING.us_muls*/
/*No:UNIQUE_STRING.us_trace_switch*/
/*No:UNIQUE_STRING.us_feof*/
/*No:UNIQUE_STRING.us_boolean_bits*/
/*No:UNIQUE_STRING.count*/
/*No:UNIQUE_STRING.us_gt*/
/*No:UNIQUE_STRING.us_se_getenv*/
/*No:UNIQUE_STRING.us_to_integer*/
/*No:UNIQUE_STRING.us_native_array_character*/
/*No:UNIQUE_STRING.us_calloc*/
/*No:UNIQUE_STRING.us_to_pointer*/
/*No:UNIQUE_STRING.us_clear_all*/
/*No:UNIQUE_STRING.us_real_bits*/
/*No:UNIQUE_STRING.us_plus*/
/*No:UNIQUE_STRING.us_boolean_ref*/
/*No:UNIQUE_STRING.us_c_inline_h*/
/*No:UNIQUE_STRING.us_element_sizeof*/
/*No:UNIQUE_STRING.us_upper*/
/*No:UNIQUE_STRING.us_native_array*/
void r902add1(T0* a1){
r794put(((T794*)(oBC902memory)),a1,a1);
}
/*No:UNIQUE_STRING.us_pow*/
void r902add2(T0* a1){
/*IF*/if ((((T818*)((T818*)(oBC364eiffel_parser))))->_case_insensitive/*0*/) {
r7to_lower(((T7*)a1));
}
/*FI*/r902add1(a1);
}
T0*oBC902memory=NULL;
/*No:UNIQUE_STRING.us_eof_code*/
/*No:UNIQUE_STRING.us_print_run_time_stack*/
int fBC902initialize=0;
void r902initialize(void){
if (fBC902initialize==0){
fBC902initialize=1;
r902add1(((T0*)ms1_473));
r902add1(((T0*)ms2_473));
r902add1(((T0*)ms3_473));
r902add1(((T0*)ms4_473));
r902add1(((T0*)ms5_473));
r902add1(((T0*)ms6_473));
r902add1(((T0*)ms7_473));
r902add1(((T0*)ms8_473));
r902add1(((T0*)ms9_473));
r902add1(((T0*)ms10_473));
r902add1(((T0*)ms11_473));
r902add1(((T0*)ms12_473));
r902add1(((T0*)ms13_473));
r902add1(((T0*)ms14_473));
r902add1(((T0*)ms15_473));
r902add1(((T0*)ms16_473));
r902add1(((T0*)ms17_473));
r902add1(((T0*)ms18_473));
r902add1(((T0*)ms19_473));
r902add1(((T0*)ms20_473));
r902add1(((T0*)ms21_473));
r902add1(((T0*)ms22_473));
r902add1(((T0*)ms23_473));
r902add1(((T0*)ms24_473));
r902add1(((T0*)ms25_473));
r902add1(((T0*)ms26_473));
r902add1(((T0*)ms27_473));
r902add1(((T0*)ms28_473));
r902add1(((T0*)ms29_473));
r902add1(((T0*)ms30_473));
r902add1(((T0*)ms31_473));
r902add1(((T0*)ms32_473));
r902add1(((T0*)ms33_473));
r902add1(((T0*)ms34_473));
r902add1(((T0*)ms35_473));
r902add1(((T0*)ms36_473));
r902add1(((T0*)ms37_473));
r902add1(((T0*)ms38_473));
r902add1(((T0*)ms39_473));
r902add1(((T0*)ms40_473));
r902add1(((T0*)ms41_473));
r902add1(((T0*)ms42_473));
r902add1(((T0*)ms43_473));
r902add1(((T0*)ms44_473));
r902add1(((T0*)ms45_473));
r902add1(((T0*)ms46_473));
r902add1(((T0*)ms47_473));
r902add1(((T0*)ms48_473));
r902add1(((T0*)ms49_473));
r902add1(((T0*)ms50_473));
r902add1(((T0*)ms51_473));
r902add1(((T0*)ms52_473));
r902add1(((T0*)ms53_473));
r902add1(((T0*)ms54_473));
r902add1(((T0*)ms55_473));
r902add1(((T0*)ms56_473));
r902add1(((T0*)ms57_473));
r902add1(((T0*)ms58_473));
r902add1(((T0*)ms59_473));
r902add1(((T0*)ms60_473));
r902add1(((T0*)ms61_473));
r902add1(((T0*)ms62_473));
r902add1(((T0*)ms63_473));
r902add1(((T0*)ms64_473));
r902add1(((T0*)ms65_473));
r902add1(((T0*)ms66_473));
r902add1(((T0*)ms67_473));
r902add1(((T0*)ms68_473));
r902add1(((T0*)ms69_473));
r902add1(((T0*)ms70_473));
r902add1(((T0*)ms71_473));
r902add1(((T0*)ms72_473));
r902add1(((T0*)ms73_473));
r902add1(((T0*)ms74_473));
r902add1(((T0*)ms75_473));
r902add1(((T0*)ms76_473));
r902add1(((T0*)ms77_473));
r902add1(((T0*)ms78_473));
r902add1(((T0*)ms79_473));
r902add1(((T0*)ms80_473));
r902add1(((T0*)ms81_473));
r902add1(((T0*)ms82_473));
r902add1(((T0*)ms83_473));
r902add1(((T0*)ms84_473));
r902add1(((T0*)ms85_473));
r902add1(((T0*)ms86_473));
r902add1(((T0*)ms87_473));
r902add1(((T0*)ms88_473));
r902add1(((T0*)ms89_473));
r902add2(((T0*)ms90_473));
r902add2(((T0*)ms91_473));
r902add2(((T0*)ms92_473));
r902add2(((T0*)ms93_473));
r902add2(((T0*)ms94_473));
r902add2(((T0*)ms95_473));
r902add2(((T0*)ms96_473));
r902add2(((T0*)ms97_473));
r902add1(((T0*)ms98_473));
r902add1(((T0*)ms99_473));
r902add1(((T0*)ms100_473));
r902add1(((T0*)ms101_473));
r902add1(((T0*)ms102_473));
r902add1(((T0*)ms103_473));
r902add1(((T0*)ms104_473));
r902add1(((T0*)ms105_473));
r902add1(((T0*)ms106_473));
r902add1(((T0*)ms107_473));
r902add1(((T0*)ms108_473));
r902add1(((T0*)ms109_473));
r902add1(((T0*)ms110_473));
r902add1(((T0*)ms111_473));
r902add1(((T0*)ms112_473));
r902add1(((T0*)ms113_473));
r902add1(((T0*)ms114_473));
r902add1(((T0*)ms115_473));
r902add1(((T0*)ms116_473));
r902add1(((T0*)ms117_473));
r902add1(((T0*)ms118_473));
r902add1(((T0*)ms119_473));
r902add1(((T0*)ms120_473));
r902add1(((T0*)ms121_473));
r902add1(((T0*)ms122_473));
r902add1(((T0*)ms123_473));
r902add1(((T0*)ms124_473));
r902add1(((T0*)ms125_473));
r902add1(((T0*)ms126_473));
r902add1(((T0*)ms127_473));
r902add1(((T0*)ms128_473));
r902add1(((T0*)ms129_473));
r902add1(((T0*)ms130_473));
r902add1(((T0*)ms131_473));
r902add1(((T0*)ms132_473));
r902add1(((T0*)ms133_473));
r902add1(((T0*)ms134_473));
r902add1(((T0*)ms135_473));
r902add1(((T0*)ms136_473));
r902add1(((T0*)ms137_473));
r902add1(((T0*)ms138_473));
r902add1(((T0*)ms139_473));
r902add1(((T0*)ms140_473));
r902add1(((T0*)ms141_473));
r902add1(((T0*)ms142_473));
r902add1(((T0*)ms143_473));
r902add1(((T0*)ms144_473));
r902add1(((T0*)ms145_473));
r902add1(((T0*)ms146_473));
r902add1(((T0*)ms147_473));
}}
/*No:UNIQUE_STRING.us_malloc*/
/*No:UNIQUE_STRING.us_fixed_array*/
/*No:UNIQUE_STRING.us_std_input*/
/*No:UNIQUE_STRING.us_lt*/
/*No:UNIQUE_STRING.us_minimum_double*/
/*No:UNIQUE_STRING.us_se_argv*/
/*No:UNIQUE_STRING.us_any*/
/*No:UNIQUE_STRING.us_or*/
/*No:UNIQUE_STRING.us_general*/
/*No:UNIQUE_STRING.us_maximum_double*/
/*No:UNIQUE_STRING.us_to_real*/
void r548sort_running(T0* a1){
int _moved=0;
int _buble=0;
int _max=0;
int _min=0;
_max=(((T396*)((T396*)a1)))->_upper/*8*/;
_min=1;
_moved=1;
while (!(!(_moved))) {
_moved=0;
/*IF*/if (((_max)-(_min))>(0)) {
_buble=(_min)+(1);
while (!((_buble)>(_max))) {
/*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),(_buble)-(1))))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)) {
r396swap(((T396*)a1),(_buble)-(1),_buble);
_moved=1;
}
/*FI*/_buble=(_buble)+(1);
}
_max=(_max)-(1);
}
/*FI*//*IF*/if ((_moved)&&(((_max)-(_min))>(0))) {
_moved=0;
_buble=(_max)-(1);
while (!((_buble)<(_min))) {
/*IF*/if (((((T355*)((T355*)(r396item(((T396*)a1),_buble)))))->_id/*4*/)>((((T355*)((T355*)(r396item(((T396*)a1),(_buble)+(1))))))->_id/*4*/)) {
r396swap(((T396*)a1),_buble,(_buble)+(1));
_moved=1;
}
/*FI*/_buble=(_buble)-(1);
}
_min=(_min)+(1);
}
/*FI*/}
}
void r548define1(T548* C){
int _j=0;
int _i=0;
r324swap_on_h(((T324*)(oBC364cpp)));
r306put_string(((T306*)(oBC364echo)),((T0*)ms1_548));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_548));
/*]*/
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms3_548),((T0*)ms117_470));
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms4_548),((T0*)ms117_470));
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms5_548),((T0*)ms117_470));
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms6_548),((T0*)ms117_470));
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms7_548),((T0*)ms8_548));
r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms9_548),'0');
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms10_548),((T0*)ms117_470));
r324put_extern5(((T324*)(oBC364cpp)),((T0*)ms11_548),((T0*)ms12_548));
r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms13_548),'0');
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms14_548));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),2048);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms15_548));
/*]*/
_i=(2048)-(2);
_j=7;
while (!((_i)==(0))) {
/*IF*/if ((_j)==(0)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
_j=7;
}
else {
_j=(_j)-(1);
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms117_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
_i=(_i)-(1);
}
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms117_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\175';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\73';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324swap_on_h(((T324*)(oBC364cpp)));
/*IF*/if ((((T548*)C))->_info_flag/*4*/) {
r324put_extern2(((T324*)(oBC364cpp)),((T0*)ms16_548),'0');
}
/*FI*/}
void r548define2(T548* C){
T0* _rcd=NULL;
T0* _rc=NULL;
int _i=0;
_rcd=oBC604run_class_dictionary;
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms17_548),((T0*)ms18_548));
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms19_548),((T0*)ms20_548));
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms21_548),((T0*)ms22_548));
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0);
/*]*/
r7append(((T7*)(oBC548body)),((T0*)ms23_548));
/*IF*/if ((((T548*)C))->_info_flag/*4*/) {
r7append(((T7*)(oBC548body)),((T0*)ms24_548));
}
/*FI*/r340gc_mark_in(oBC548body);
r916gc_mark_in(oBC548body);
r548call_gc_sweep(_rcd);
r7append(((T7*)(oBC548body)),((T0*)ms25_548));
r2append_in((2048)-(1),oBC548body);
r7append(((T7*)(oBC548body)),((T0*)ms26_548));
r324put_c_function(((T324*)(oBC364cpp)),((T0*)ms27_548),oBC548body);
r324swap_on_h(((T324*)(oBC364cpp)));
_i=1;
while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
_rc=r250item(((T250*)_rcd),_i);
r355gc_define1(((T355*)_rc));
_i=(_i)+(1);
}
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
_i=1;
while (!((_i)>((((T250*)((T250*)_rcd)))->_count/*40*/))) {
_rc=r250item(((T250*)_rcd),_i);
r355gc_define2(((T355*)_rc));
_i=(_i)+(1);
}
_i=(((T187*)((T187*)(oBC548run_class_list))))->_upper/*8*/;
while (!((_i)<(0))) {
r548switch_for(C,/*(IRF4.6item*/((((T187*)((T187*)(oBC548run_class_list))))->_storage/*0*/)[_i]/*)*/);
_i=(_i)-(1);
}
/*IF*/if ((((T548*)C))->_info_flag/*4*/) {
r548define_gc_info(_rcd);
}
/*FI*/}
int r548threshold_start(int a1){
int R=0;
double _log2_nb=0;
int _nb=0;
R=9;
{int z1=a1;

if((7==z1)||(9==z1)){
_nb=/*(IRF4.9count*//*(IRF4.6count*/((((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/)+(1)/*)*//*)*/;
/*IF*/if ((_nb)>(0)) {
_log2_nb=(r2log(_nb))/(r2log(2));
_nb=(r5rounded(_log2_nb))+(2);
/*IF*/if ((_nb)>(R)) {
R=_nb;
}
/*FI*/}
/*FI*/}
}
return R;
}
/*No:GC_HANDLER.info_flag*/
void r548define_gc_info(T0* a1){
T0* _rc=NULL;
int _i=0;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548header)))))->_count)=(0);
/*]*/
r7append(((T7*)(oBC548header)),((T0*)ms133_470));
r7extend(((T7*)(oBC548header)),'\40');
r7append(((T7*)(oBC548header)),((T0*)ms106_470));
r7append(((T7*)(oBC548header)),((T0*)ms97_470));
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0);
/*]*/
_i=1;
while (!((_i)>((((T250*)((T250*)a1)))->_count/*40*/))) {
_rc=r250item(((T250*)a1),_i);
r355gc_info_in(((T355*)_rc),oBC548body);
_i=(_i)+(1);
}
r7append(((T7*)(oBC548body)),((T0*)ms42_548));
r324put_c_function(((T324*)(oBC364cpp)),oBC548header,oBC548body);
}
/*No:GC_HANDLER.fz_t0_star*/
T0*oBC548header=NULL;
/*No:GC_HANDLER.make*/
/*No:GC_HANDLER.fz_sizeof*/
/*No:GC_HANDLER.fz_00*/
/*No:GC_HANDLER.fz_cast_void_star*/
/*No:GC_HANDLER.fz_gc_info*/
/*No:GC_HANDLER.fz_null*/
/*No:GC_HANDLER.fz_c_if_neq_null*/
/*No:GC_HANDLER.fz_13*/
void r548switch_for(T548* C,T0* a1){
T0* _r=NULL;
T0* _ct=NULL;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548header)))))->_count)=(0);
/*]*/
r7append(((T7*)(oBC548header)),((T0*)ms133_470));
r7extend(((T7*)(oBC548header)),'\40');
r7extend(((T7*)(oBC548header)),'X');
_ct=(((T355*)((T355*)a1)))->_current_type/*0*/;
X291gc_mark_in(_ct,oBC548header);
r7extend(((T7*)(oBC548header)),'\50');
r7append(((T7*)(oBC548header)),((T0*)ms128_470));
r7extend(((T7*)(oBC548header)),'o');
r7extend(((T7*)(oBC548header)),'\51');
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0);
/*]*/
_r=(((T355*)((T355*)a1)))->_running/*12*/;
r548sort_running(_r);
r7append(((T7*)(oBC548body)),((T0*)ms38_548));
r548c_dicho(C,_r,1,(((T396*)((T396*)_r)))->_upper/*8*/);
r7extend(((T7*)(oBC548body)),'\175');
r324put_c_function(((T324*)(oBC364cpp)),oBC548header,oBC548body);
}
/*No:GC_HANDLER.fz_new*/
/*No:GC_HANDLER.fz_c_void_args*/
void r548call_gc_sweep(T0* a1){
T0* _rc=NULL;
int _i=0;
_i=1;
while (!((_i)>((((T250*)((T250*)a1)))->_count/*40*/))) {
_rc=r250item(((T250*)a1),_i);
r355call_gc_sweep_in(((T355*)_rc),oBC548body);
_i=(_i)+(1);
}
}
T0*oBC548body=NULL;
void r548set_info_flag(T548* C){
C->_is_on=1;
C->_info_flag=1;
}
/*No:GC_HANDLER.nafl_size*/
void r548c_dicho(T548* C,T0* a1,int a2,int a3){
T0* _rc=NULL;
int _m=0;
/*IF*/if ((a2)==(a3)) {
_rc=r396item(((T396*)a1),a2);
X291gc_mark_in((((T355*)((T355*)_rc)))->_current_type/*0*/,oBC548body);
r7extend(((T7*)(oBC548body)),'\50');
r7extend(((T7*)(oBC548body)),'\50');
r7extend(((T7*)(oBC548body)),'T');
r2append_in((((T355*)((T355*)_rc)))->_id/*4*/,oBC548body);
r7extend(((T7*)(oBC548body)),'\52');
r7extend(((T7*)(oBC548body)),'\51');
r7extend(((T7*)(oBC548body)),'o');
r7extend(((T7*)(oBC548body)),'\51');
r7append(((T7*)(oBC548body)),((T0*)ms134_470));
}
else {
_m=((a2)+(a3))/(2);
_rc=r396item(((T396*)a1),_m);
r7append(((T7*)(oBC548body)),((T0*)ms39_548));
r2append_in((((T355*)((T355*)_rc)))->_id/*4*/,oBC548body);
r7append(((T7*)(oBC548body)),((T0*)ms40_548));
r548c_dicho(C,a1,a2,_m);
r7append(((T7*)(oBC548body)),((T0*)ms41_548));
r548c_dicho(C,a1,(_m)+(1),a3);
r7extend(((T7*)(oBC548body)),'\175');
}
/*FI*/}
void r548put_new(T548* C,T0* a1){
int _id=0;
T0* _ct=NULL;
_ct=(((T355*)((T355*)a1)))->_current_type/*0*/;
_id=(((T355*)((T355*)a1)))->_id/*4*/;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC548body)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC548body)),'T');
r2append_in(_id,oBC548body);
r7extend(((T7*)(oBC548body)),'\52');
r7extend(((T7*)(oBC548body)),'n');
r7extend(((T7*)(oBC548body)),'\75');
/*IF*/if ((((T548*)C))->_is_on/*0*/) {
r7append(((T7*)(oBC548body)),((T0*)ms115_470));
r2append_in(_id,oBC548body);
r7extend(((T7*)(oBC548body)),'\50');
r7extend(((T7*)(oBC548body)),'\51');
}
 else if (X291need_c_struct(_ct)) {
r7append(((T7*)(oBC548body)),((T0*)ms88_473));
r7extend(((T7*)(oBC548body)),'\50');
r7append(((T7*)(oBC548body)),((T0*)ms123_470));
r7extend(((T7*)(oBC548body)),'\50');
r7extend(((T7*)(oBC548body)),'\52');
r7extend(((T7*)(oBC548body)),'n');
r7extend(((T7*)(oBC548body)),'\51');
r7extend(((T7*)(oBC548body)),'\51');
r7append(((T7*)(oBC548body)),((T0*)ms134_470));
r7extend(((T7*)(oBC548body)),'\52');
r7extend(((T7*)(oBC548body)),'n');
r7extend(((T7*)(oBC548body)),'\75');
r7extend(((T7*)(oBC548body)),'M');
r2append_in(_id,oBC548body);
}
else {
r7append(((T7*)(oBC548body)),((T0*)ms88_473));
r7extend(((T7*)(oBC548body)),'\50');
r7extend(((T7*)(oBC548body)),'1');
r7extend(((T7*)(oBC548body)),'\51');
}
/*FI*/r7append(((T7*)(oBC548body)),((T0*)ms134_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC548body);
/*]*/
}
/*No:GC_HANDLER.fz_void*/
/*No:GC_HANDLER.is_on*/
void r548native_array_mark(T0* a1,T0* a2){
T0* _r=NULL;
T0* _ct=NULL;
_ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
/*IF*/if (X291is_reference(_ct)) {
r7append(((T7*)a1),((T0*)ms37_548));
}
/*FI*/_r=(((T355*)((T355*)a2)))->_running/*12*/;
/*IF*/if ((r396count(((T396*)_r)))>(1)) {
/*IF*/if (!(r187fast_has(((T187*)(oBC548run_class_list)),a2))) {
r187add_last(((T187*)(oBC548run_class_list)),a2);
}
/*FI*/r7extend(((T7*)a1),'X');
X291gc_mark_in(_ct,a1);
}
else {
X291gc_mark_in((((T355*)((T355*)(r396first(((T396*)_r))))))->_current_type/*0*/,a1);
}
/*FI*/r7extend(((T7*)a1),'\50');
/*IF*/if (X291is_expanded(_ct)) {
r7extend(((T7*)a1),'\46');
}
else {
r7append(((T7*)a1),((T0*)ms86_470));
}
/*FI*/r7extend(((T7*)a1),'o');
r7extend(((T7*)a1),'\51');
r7append(((T7*)a1),((T0*)ms134_470));
}
void r548call_gc_mark(T0* a1,T0* a2){
T0* _r=NULL;
T0* _field=NULL;
T0* _ct=NULL;
T0* _rc=NULL;
_ct=(((T820*)((T820*)a2)))->_result_type/*24*/;
/*IF*/if (X291need_gc_mark_function(_ct)) {
_field=X776to_string((((T820*)((T820*)a2)))->_name/*16*/);
/*IF*/if (X291is_expanded(_ct)) {
/*IF*/if (X291is_user_expanded(_ct)) {
r7append(((T7*)a1),((T0*)ms29_548));
}
else {
r7append(((T7*)a1),((T0*)ms88_470));
r7append(((T7*)a1),((T0*)ms30_548));
r7append(((T7*)a1),_field);
r7append(((T7*)a1),((T0*)ms147_470));
X291gc_mark_in(_ct,a1);
r7append(((T7*)a1),((T0*)ms31_548));
r7append(((T7*)a1),_field);
r7append(((T7*)a1),((T0*)ms32_548));
}
/*FI*/}
else {
_rc=X291run_class(_ct);
_r=(((T355*)((T355*)_rc)))->_running/*12*/;
r7append(((T7*)a1),((T0*)ms33_548));
r7append(((T7*)a1),_field);
r7append(((T7*)a1),((T0*)ms34_548));
/*IF*/if ((r396count(((T396*)_r)))>(1)) {
/*IF*/if (!(r187fast_has(((T187*)(oBC548run_class_list)),_rc))) {
r187add_last(((T187*)(oBC548run_class_list)),_rc);
}
/*FI*/r7extend(((T7*)a1),'X');
X291gc_mark_in(_ct,a1);
}
else {
X291gc_mark_in((((T355*)((T355*)(r396first(((T396*)_r))))))->_current_type/*0*/,a1);
}
/*FI*/r7append(((T7*)a1),((T0*)ms35_548));
r7append(((T7*)a1),_field);
r7append(((T7*)a1),((T0*)ms36_548));
}
/*FI*/}
/*FI*/}
T0*oBC548run_class_list=NULL;
/*No:GC_HANDLER.initialize*/
/*No:GC_HANDLER.us_malloc*/
/*No:GC_HANDLER.enable*/
void r390check_creation_clause(T390* C,T0* a1){
T0* _args=NULL;
T0* _top=NULL;
T0* _bottom=NULL;
T0* _fn=NULL;
_fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/);
/*IF*/if (X291is_like_current(a1)) {
_top=r627base_class(((T627*)(X776start_position(_fn))));
_bottom=X291base_class(a1);
_fn=r605new_name_of(((T605*)_bottom),_top,_fn);
/*IF*/if ((_fn)==((void*)(NULL))) {
_fn=/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/);
r683add_position(X776start_position(_fn));
/*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms1_394);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark(a1);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
/*FI*/C->_run_feature=r355get_feature(((T355*)(X291run_class(a1))),_fn);
/*IF*/if (((((T390*)C))->_run_feature/*16*/)==((void*)(NULL))) {
r390cp_not_found(C,_fn);
}
/*FI*//*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
}
 else if (!(X291has_creation(a1,_fn))) {
r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/)));
r683add_position(X776start_position(_fn));
/*[IRF3.6append*/{T0* b1=X776to_string(_fn);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms2_394);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms67_470));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/X496add_client((((T390*)C))->_run_feature/*16*/,r592run_class(((T592*)((((T390*)C))->_run_compound/*4*/))));
/*IF*/if ((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_result_type/*24*/))!=((void*)(NULL))) {
r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/));
r683add_position(X776start_position(_fn));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_394);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if (((r390arg_count(C))==(0))&&((/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_arguments/*20*/))!=((void*)(NULL)))) {
r683add_position(X496start_position((((T390*)C))->_run_feature/*16*/));
r683add_position((((T390*)C))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_394);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if ((r390arg_count(C))>(0)) {
_args=X431to_runnable(X173arguments((((T390*)C))->_call/*20*/),r390current_type(C));
/*IF*/if ((_args)==((void*)(NULL))) {
r390error(X431start_position(X173arguments((((T390*)C))->_call/*20*/)),((T0*)ms56_470));
}
else {
X431match_with(_args,(((T390*)C))->_run_feature/*16*/);
}
/*FI*/}
/*FI*/C->_call=X173make_runnable((((T390*)C))->_call/*20*/,(((T390*)C))->_run_compound/*4*/,(((T390*)C))->_writable/*12*/,_args,(((T390*)C))->_run_feature/*16*/);
}
T0* r390add_comment(T390* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
/*AF*/else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r390check_created_type(T390* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type(a1);
/*IF*/if ((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/) {
}
 else if ((((T605*)((T605*)(X291base_class(_rt)))))->_is_deferred/*16*/) {
r683add_type(_rt,((T0*)ms2_747));
r683add_position((((T390*)C))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*//*IF*/if (X291is_formal_generic(a1)) {
r683add_position((((T390*)C))->_start_position/*8*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms4_747);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type(a1,((T0*)ms5_747));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/r355set_at_run_time(((T355*)(X291run_class(_rt))));
}
void r390cp_not_found(T390* C,T0* a1){
r683add_position(X776start_position(/*X173*/((T0*)(((T268*)((T268*)((((T390*)C))->_call/*20*/))))->_feature_name/*12*/)));
r683add_position(X776start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms5_394);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*No:CREATION_CALL_3.writable*/
/*No:CREATION_CALL_3.us_dictionary*/
/*No:CREATION_CALL_3.us_with_capacity*/
/*No:CREATION_CALL_3.fz_bad_arguments*/
/*No:CREATION_CALL_3.us_array*/
void r390make(T390* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_writable=a2;
C->_call=a3;
}
T0* r390run_args(T390* C){
T0* R=NULL;
R=X173arguments((((T390*)C))->_call/*20*/);
return R;
}
/*No:CREATION_CALL_3.us_string*/
int r390arg_count(T390* C){
int R=0;
/*IF*/if (((((T390*)C))->_call/*20*/)!=((void*)(NULL))) {
R=X173arg_count((((T390*)C))->_call/*20*/);
}
/*FI*/return R;
}
void r390c2c_closing(T390* C,T0* a1){
X662compile_to_c((((T390*)C))->_writable/*12*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
/*IF*/if (r324call_invariant_start(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\73';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*//*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\175';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\n';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324rs_pop_position(((T324*)(oBC364cpp)));
}
void r390c2c_clear_expanded(T390* C,int a1){
X662compile_to_c((((T390*)C))->_writable/*12*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='M';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
}
/*No:CREATION_CALL_3.call*/
/*No:CREATION_CALL_3.run_feature*/
/*No:CREATION_CALL_3.start_position*/
void r390c2c_expanded_initializer(T390* C,T0* a1){
T0* _rf3=NULL;
_rf3=X291expanded_initializer(a1);
/*IF*/if ((_rf3)!=((void*)(NULL))) {
r324expanded_writable(((T324*)(oBC364cpp)),_rf3,(((T390*)C))->_writable/*12*/);
}
/*FI*/}
/*No:CREATION_CALL_3.us_blank*/
void r390compile_to_c(T390* C){
T0* _t=NULL;
_t=X291run_type(X662result_type((((T390*)C))->_writable/*12*/));
/*IF*/if (X291is_reference(_t)) {
r390c2c_opening(C,_t);
r324push_new(((T324*)(oBC364cpp)),(((T390*)C))->_run_feature/*16*/,r390run_args(C));
X496mapping_c((((T390*)C))->_run_feature/*16*/);
r324pop(((T324*)(oBC364cpp)));
r390c2c_closing(C,_t);
}
else {
r390c2c_clear_expanded(C,X291id(_t));
r390c2c_expanded_initializer(C,_t);
}
/*FI*/}
/*No:CREATION_CALL_3.fz_00*/
T0* r390to_runnable(T390* C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
/*IF*/if (((((T390*)C))->_run_compound/*4*/)==((void*)(NULL))) {
r390check_writable(C,a1);
_t=X662result_type((((T390*)C))->_writable/*12*/);
r390check_created_type(C,_t);
r390check_creation_clause(C,_t);
R=(T0*)C;
}
else {
{T390*n=malloc(sizeof(*n));
*n=M390;
r390make(n,(((T390*)C))->_start_position/*8*/,(((T390*)C))->_writable/*12*/,(((T390*)C))->_call/*20*/);
R=(T0*)n;
}
R=r390to_runnable(((T390*)R),a1);
}
/*FI*/return R;
}
/*No:CREATION_CALL_3.us_std_file_read*/
/*No:CREATION_CALL_3.fz_03*/
/*No:CREATION_CALL_3.us_make*/
T0*oBC394make_precomputable=NULL;
T0* r390current_type(T390* C){
T0* R=NULL;
/*IF*/if (((((T390*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
R=(((T592*)((T592*)((((T390*)C))->_run_compound/*4*/))))->_current_type/*4*/;
}
/*FI*/return R;
}
void r390c2c_opening(T390* C,T0* a1){
T0* _rc=NULL;
_rc=X291run_class(a1);
r324rs_push_position(((T324*)(oBC364cpp)),'5',(((T390*)C))->_start_position/*8*/);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\173';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r548put_new(((T548*)(oBC364gc_handler)),_rc);
r324expanded_attributes(((T324*)(oBC364cpp)),a1);
}
/*No:CREATION_CALL_3.fz_09*/
/*No:CREATION_CALL_3.run_compound*/
/*No:CREATION_CALL_3.fz_dot*/
int r390is_pre_computable(T390* C){
int R=0;
T0* _rfctbcn=NULL;
T0* _rfn=NULL;
T0* _rfct=NULL;
/*IF*/if (X662is_result((((T390*)C))->_writable/*12*/)) {
/*IF*/if ((r390run_args(C))==((void*)(NULL))) {
R=1;
}
else {
R=X431is_pre_computable(r390run_args(C));
}
/*FI*//*IF*/if (R) {
/*IF*/if (X496is_pre_computable((((T390*)C))->_run_feature/*16*/)) {
R=1;
}
else {
_rfct=/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_current_type/*4*/);
_rfctbcn=(((T451*)((T451*)((((T605*)((T605*)(X291base_class(_rfct)))))->_base_class_name/*24*/))))->_to_string/*0*/;
_rfn=X776to_string(/*X496*/((T0*)(((T832*)((T832*)((((T390*)C))->_run_feature/*16*/))))->_name/*16*/));
/*IF*/if ((((T0*)ms89_473))==((void*)(_rfn))) {
R=r52has(((T52*)(oBC394make_precomputable)),_rfctbcn);
}
 else if ((((T0*)ms51_473))==((void*)(_rfn))) {
R=(((T0*)ms25_473))==((void*)(_rfctbcn));
}
 else if ((((T0*)ms141_473))==((void*)(_rfn))) {
/*IF*/if ((((T0*)ms2_473))==((void*)(_rfctbcn))) {
R=1;
}
 else if ((((T0*)ms13_473))==((void*)(_rfctbcn))) {
R=1;
}
 else if ((((T0*)ms10_473))==((void*)(_rfctbcn))) {
R=1;
}
else {
R=0;
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*No:CREATION_CALL_3.fz_cast_t0_star*/
int r390use_current(T390* C){
int R=0;
/*IF*/if ((r390run_args(C))!=((void*)(NULL))) {
R=X431use_current(r390run_args(C));
}
/*FI*/R=(R)||(X662use_current((((T390*)C))->_writable/*12*/));
return R;
}
void r390check_writable(T390* C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=X662to_runnable((((T390*)C))->_writable/*12*/,r390current_type(C));
/*IF*/if ((_w)==((void*)(NULL))) {
r683add_position(X662start_position((((T390*)C))->_writable/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_747);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
C->_writable=_w;
}
/*FI*/}
void r390error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CREATION_CALL_3.fatal_error*/
/*No:CREATION_CALL_3.end_mark_comment*/
/*No:CREATION_CALL_3.us_fixed_array*/
void r390afd_check(T390* C){
/*IF*/if ((r390arg_count(C))>(0)) {
X431afd_check(r390run_args(C));
}
/*FI*/}
void r699c_define(T699* C){
int _id=0;
_id=X291id((((T699*)C))->_current_type/*12*/);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC699cdm)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC699cdm)),'T');
r2append_in(_id,oBC699cdm);
r7extend(((T7*)(oBC699cdm)),'\52');
r7extend(((T7*)(oBC699cdm)),'i');
r2append_in(_id,oBC699cdm);
r7extend(((T7*)(oBC699cdm)),'\50');
r7extend(((T7*)(oBC699cdm)),'T');
r2append_in(_id,oBC699cdm);
r7extend(((T7*)(oBC699cdm)),'\52');
r7extend(((T7*)(oBC699cdm)),'C');
r7extend(((T7*)(oBC699cdm)),'\51');
r324put_c_heading(((T324*)(oBC364cpp)),oBC699cdm);
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
r7copy(((T7*)(oBC699cdm)),((T0*)ms74_699));
r2append_in(_id,oBC699cdm);
r7extend(((T7*)(oBC699cdm)),'\135');
r7append(((T7*)(oBC699cdm)),((T0*)ms134_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC699cdm);
/*]*/
r699compile_to_c(C);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms75_699));
/*]*/
}
void r699add_into(T699* C,T0* a1){
T0* _a=NULL;
int _i=0;
/*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) {
_i=1;
while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) {
_a=r608item(((T608*)((((T699*)C))->_list/*8*/)),_i);
/*IF*/if (!(r608fast_has(((T608*)a1),_a))) {
r608add_last(((T608*)a1),_a);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
void r699from_runnable(T699* C,T0* a1){
C->_list=a1;
C->_current_type=(((T348*)((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),1)))))->_current_type/*12*/;
}
void r699make(T699* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
T0* r699check_assertion_mode(void){
T0* R=NULL;
R=((T0*)ms73_699);
return R;
}
/*No:CLASS_INVARIANT.start_position*/
void r699compile_to_c(T699* C){
int _i=0;
/*IF*/if (((((T699*)C))->_list/*8*/)!=((void*)(NULL))) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_596));
/*]*/
_i=1;
while (!((_i)>((((T608*)((T608*)((((T699*)C))->_list/*8*/))))->_upper/*8*/))) {
/*[IRF3.3set_check_assertion_mode*/((((T324*)(((T324*)(oBC364cpp)))))->_check_assertion_mode)=(r699check_assertion_mode());
/*]*/
r348compile_to_c(((T348*)(r608item(((T608*)((((T699*)C))->_list/*8*/)),_i))));
_i=(_i)+(1);
}
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_596));
/*]*/
}
/*FI*/}
/*No:CLASS_INVARIANT.fz_00*/
T0*oBC699cdm=NULL;
/*No:CLASS_INVARIANT.list*/
/*No:CLASS_INVARIANT.current_type*/
/*No:CLASS_INVARIANT.header_comment*/
/*No:COMPILE_TO_C.dos_system*/
/*No:COMPILE_TO_C.fz_system_se*/
/*No:COMPILE_TO_C.fz_sys*/
/*No:COMPILE_TO_C.unix_system*/
/*No:COMPILE_TO_C.exit_failure_code*/
/*No:COMPILE_TO_C.vms_system*/
T0* r111small_eiffel_directory(T111* C){
if (fBC364small_eiffel_directory==0){
T0* R=NULL;
char _slash=0;
int _i=0;
fBC364small_eiffel_directory=1;
R=r111get_environment_variable(C,((T0*)ms121_470));
/*IF*/if ((R)==((void*)(NULL))) {
R=r7twin(((T7*)(((T0*)ms121_470))));
r7to_upper(((T7*)R));
R=r111get_environment_variable(C,R);
/*IF*/if ((R)!=((void*)(NULL))) {
r7to_upper(((T7*)(((T0*)ms121_470))));
}
/*FI*/}
/*FI*//*IF*/if ((R)==((void*)(NULL))) {
R=((T0*)ms1_364);
}
/*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/;
while (!((_i)<(0))) {
_slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) {
_i=(_i)-(1);
}
else {
_i=-(1);
}
/*FI*/}
/*IF*/if ((_i)==(0)) {
r7extend(((T7*)R),'\57');
}
 else if (!((r7last(((T7*)R)))==(_slash))) {
r7extend(((T7*)R),_slash);
}
/*FI*/oBC364small_eiffel_directory=R;}
return oBC364small_eiffel_directory;}
/*No:COMPILE_TO_C.root_class*/
T0* r111command_name(void){
T0* R=NULL;
R=((T0*)ms58_473);
return R;
}
void r111automat(T111* C){
T0* _a=NULL;
int _arg=0;
_arg=1;
while (!(((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r111command_arguments()))))->_upper/*8*//*)*/))||(((((T111*)C))->_state/*0*/)>(7)))) {
_a=r111argument(_arg);
{int z1=(((T111*)C))->_state/*0*/;

if((0==z1)){
/*IF*/if ((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')) {
/*IF*/if (r7has_suffix(((T7*)_a),r111o_suffix(C))) {
r324add_c_object(((T324*)(oBC364cpp)),_a);
}
 else if (r7has_suffix(((T7*)_a),((T0*)ms26_364))) {
r324add_c_object(((T324*)(oBC364cpp)),_a);
}
 else if (((((T111*)C))->_root_class/*8*/)==((void*)(NULL))) {
C->_root_class=_a;
/*[IRF3.3set_root_class*/((((T590*)(((T590*)(oBC364run_control)))))->_root_class)=(_a);
/*]*/
C->_state=2;
}
else {
r324add_c_compiler_option(((T324*)(oBC364cpp)),_a);
}
/*FI*/}
 else if (r7is_equal(ms3_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_boost*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-6);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms4_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms5_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_require_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-4);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms6_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_ensure_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-3);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms7_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_invariant_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-2);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms8_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_loop_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-1);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms9_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_all_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(0);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms10_111,_a)) {
/*IF*/if (((((T111*)C))->_level/*4*/)!=((void*)(NULL))) {
r111error_level(C,_a);
}
else {
/*[IRF3.3set_debug_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(1);
/*]*/
C->_level=_a;
}
/*FI*/}
 else if (r7is_equal(ms11_111,_a)) {
/*[IRF3.3set_case_insensitive*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_case_insensitive)=(1);
/*]*/
}
 else if (r7is_equal(ms12_111,_a)) {
/*[IRF3.3set_no_warning*/((((T683*)(((T683*)(oBC364eh)))))->_no_warning)=(1);
/*]*/
}
 else if (r7is_equal(ms13_111,_a)) {
/*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1);
/*]*/
}
 else if (r7is_equal(ms14_111,_a)) {
/*[IRF3.3enable*/((((T548*)(((T548*)(oBC364gc_handler)))))->_is_on)=(1);
/*]*/
}
 else if (r7is_equal(ms15_111,_a)) {
r548set_info_flag(((T548*)(oBC364gc_handler)));
}
 else if (r7is_equal(ms16_111,_a)) {
/*[IRF3.3set_no_strip*/((((T324*)(((T324*)(oBC364cpp)))))->_no_strip)=(1);
/*]*/
}
 else if (r7is_equal(ms17_111,_a)) {
/*[IRF3.3set_no_split*/((((T324*)(((T324*)(oBC364cpp)))))->_no_split)=(1);
/*]*/
}
 else if (r7is_equal(ms18_111,_a)) {
/*[IRF3.3set_trace*/((((T590*)(((T590*)(oBC364run_control)))))->_trace)=(1);
/*]*/
}
 else if (r7is_equal(ms19_111,_a)) {
C->_state=3;
}
 else if (r7is_equal(ms20_111,_a)) {
C->_state=4;
}
 else if (r7has_prefix(((T7*)_a),((T0*)ms21_111))) {
r324add_c_library(((T324*)(oBC364cpp)),_a);
}
 else if (r7is_equal(ms22_111,_a)) {
C->_state=1;
}
 else if (((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))&&((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(2)-(1)]/*)*/)==('o'))) {
r7remove_first(((T7*)_a),2);
/*[IRF3.3set_output_name*/((((T324*)(((T324*)(oBC364cpp)))))->_output_name)=(_a);
/*]*/
/*[IRF3.3set_oflag*/((((T324*)(((T324*)(oBC364cpp)))))->_oflag)=(((T0*)ms23_111));
/*]*/
}
else {
r324add_c_compiler_option(((T324*)(oBC364cpp)),_a);
}
/*FI*/}
 else 
if((1==z1)){
/*[IRF3.3set_output_name*/((((T324*)(((T324*)(oBC364cpp)))))->_output_name)=(_a);
/*]*/
C->_state=0;
}
 else 
if((2==z1)){
/*IF*/if ((((/*(IRF4.6item*/((((T7*)((T7*)_a)))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))||(r7has_suffix(((T7*)_a),((T0*)ms26_364))))||(r7has_suffix(((T7*)_a),r111o_suffix(C)))) {
_arg=(_arg)-(1);
}
else {
C->_start_proc=_a;
}
/*FI*/C->_state=0;
}
 else 
if((3==z1)){
/*[IRF3.3clear*/((((T7*)(((T7*)(r324c_compiler(((T324*)(oBC364cpp))))))))->_count)=(0);
/*]*/
r7append(((T7*)(r324c_compiler(((T324*)(oBC364cpp))))),_a);
C->_state=0;
}
 else {/*[IRF3.3set_cecil_path*/((((T590*)(((T590*)(oBC364run_control)))))->_cecil_path)=(_a);
/*]*/
C->_state=0;
}}
_arg=(_arg)+(1);
}
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if ((((T590*)((T590*)(oBC364run_control))))->_trace/*4*/) {
/*IF*/if (r590boost(((T590*)(oBC364run_control)))) {
/*[IRF3.3set_no_check*/((((T590*)(((T590*)(oBC364run_control)))))->_level)=(-5);
/*]*/
}
/*FI*/}
/*FI*/r604compile_to_c(((T604*)(oBC364small_eiffel)),(((T111*)C))->_root_class/*8*/,(((T111*)C))->_start_proc/*12*/);
}
/*FI*/}
/*No:COMPILE_TO_C.amiga_system*/
void r111make(T111* C){
C->_start_proc=((T0*)ms89_473);
/*[IRF3.3set_drop_comments*/((((T818*)(((T818*)(oBC364eiffel_parser)))))->_drop_comments)=(1);
/*]*/
/*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r111command_arguments()))))->_upper/*8*//*)*/)<(1)) {
r441put_string(((T441*)(oBC1std_error)),((T0*)ms1_111));
r111print_help(C,((T0*)ms2_111));
exit(1);
}
else {
r111automat(C);
}
/*FI*/}
/*No:COMPILE_TO_C.nb_errors*/
/*No:COMPILE_TO_C.help_suffix*/
T0*oBC364help_file_name=NULL;
T0*oBC1std_error=NULL;
void r111add_directory(T111* C,T0* a1,T0* a2){
/*IF*/if ((((T0*)ms17_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms19_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms15_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if ((((T0*)ms14_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms16_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms13_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms18_364))==((void*)(r111system_name(C)))) {
r7set_last(((T7*)a1),'\135');
r7remove_last(((T7*)a1),1);
r7set_last(((T7*)a1),'\56');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\135');
}
/*FI*/}
T0*oBC1std_output=NULL;
/*No:COMPILE_TO_C.level*/
/*No:COMPILE_TO_C.windows_system*/
/*No:COMPILE_TO_C.us_compile_to_c*/
T0* r111get_environment_variable(T111* C,T0* a1){
T0* R=NULL;
void* _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
void r111print_help(T111* C,T0* a1){
r7copy(((T7*)(oBC364help_file_name)),r111small_eiffel_directory(C));
r111add_directory(C,oBC364help_file_name,((T0*)ms2_364));
r7append(((T7*)(oBC364help_file_name)),a1);
/*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) {
r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364));
}
/*FI*//*IF*/if (!(r111file_exists(oBC364help_file_name))) {
r306w_put_string(((T0*)ms3_364));
r306w_put_string(oBC364help_file_name);
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name);
}
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;
T0* r111command_arguments(void){
if (fBC1command_arguments==0){
T0* R=NULL;
T0* _arg=NULL;
int _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T927*n=malloc(sizeof(*n));
*n=M927;
r927make(n,_i);
R=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
oBC1command_arguments=R;}
return oBC1command_arguments;}
/*No:COMPILE_TO_C.us_make*/
T0* r111system_name(T111* C){
if (fBC364system_name==0){
T0* R=NULL;
int _i=0;
fBC364system_name=1;
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) {
r7set_last(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\57');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) {
r7set_last(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\134');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) {
r7set_last(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\72');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
/*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) {
r7set_last(((T7*)(oBC364tmp_path)),'\135');
r7remove_last(((T7*)(oBC364tmp_path)),1);
r7extend(((T7*)(oBC364tmp_path)),'\56');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470));
r7extend(((T7*)(oBC364tmp_path)),'\135');
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*/}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
}
/*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) {
r306w_put_string(((T0*)ms20_364));
r306w_put_string(((T0*)ms127_470));
r306w_put_string(((T0*)ms21_364));
r306w_put_string(r111small_eiffel_directory(C));
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
R=oBC762last_string;
_i=r52index_of(((T52*)(oBC364system_list)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
/*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
r306w_put_string(((T0*)ms22_364));
r306w_put_string(oBC364tmp_path);
r306w_put_string(((T0*)ms23_364));
_i=1;
while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
r306w_put_character('\n');
_i=(_i)+(1);
}
}
else {
R=r52item(((T52*)(oBC364system_list)),_i);
r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
r306put_string(((T306*)(oBC364echo)),R);
r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
}
/*FI*/oBC364system_name=R;}
return oBC364system_name;}
/*No:COMPILE_TO_C.fz_b0*/
/*No:COMPILE_TO_C.fz_se*/
/*No:COMPILE_TO_C.os2_system*/
/*No:COMPILE_TO_C.state*/
int r111file_exists(T0* a1){
int R=0;
R=r670is_readable(a1);
return R;
}
/*No:COMPILE_TO_C.argument_count*/
/*No:COMPILE_TO_C.macintosh_system*/
/*No:COMPILE_TO_C.fz_dot*/
void r111error_level(T111* C,T0* a1){
C->_state=9;
/*[IRF3.6append*/{T0* b1=r111command_name();
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms1_765);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T111*)C))->_level/*4*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms2_765);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms67_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_error(((T683*)(oBC364eh)));
}
/*No:COMPILE_TO_C.start_proc*/
/*No:COMPILE_TO_C.c_suffix*/
T0* r111argument(int a1){
T0* R=NULL;
R=/*(IRF4.6item*/((((T927*)((T927*)(r111command_arguments()))))->_storage/*0*/)[a1]/*)*/;
return R;
}
T0* r111o_suffix(T111* C){
if (fBC364o_suffix==0){
T0* R=NULL;
T0* _sn=NULL;
fBC364o_suffix=1;
_sn=r111system_name(C);
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,4);
R=(T0*)n;
}
r7copy(((T7*)(oBC364tmp_path)),r111small_eiffel_directory(C));
r111add_directory(C,oBC364tmp_path,((T0*)ms126_470));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms28_364));
r7append(((T7*)(oBC364tmp_path)),_sn);
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
r675read_line_in(((T675*)(oBC364tmp_file_read)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
oBC364o_suffix=R;}
return oBC364o_suffix;}
int r906id(T906* C){
int R=0;
R=X291id((((T906*)C))->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_7.arguments*/
/*No:RUN_FEATURE_7.c_prototype*/
/*No:RUN_FEATURE_7.ucs_true*/
/*No:RUN_FEATURE_7.us_copy*/
void r906c_define(T906* C){
T0* _bcn=NULL;
T0* _native=NULL;
T0* _bf=NULL;
_bf=(((T906*)C))->_base_feature/*44*/;
_native=(((T883*)((T883*)_bf)))->_native/*48*/;
_bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/;
X845c_define_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
}
/*No:RUN_FEATURE_7.actuals_clients*/
void r906define_closing(T906* C){
/*IF*/if (r906use_current(C)) {
r324current_class_invariant(((T324*)(oBC364cpp)),(((T906*)C))->_current_type/*4*/);
}
/*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
/*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
r633compile_to_c(((T633*)((((T906*)C))->_ensure_assertion/*36*/)));
}
/*FI*/}
/*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
/*[IRF3.6rs_unlink*/{T324* C1=((T324*)(oBC364cpp));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)C1))->_current_out/*56*/)),((T0*)ms156_324));
/*]*/
}/*]*/
}
/*FI*/}
/*No:RUN_FEATURE_7.ucs_in_computation*/
void r906make(T906* C,T0* a1,T0* a2,T0* a3){
C->_current_type=a1;
C->_name=a2;
C->_base_feature=a3;
r199put(((T199*)((((T355*)((T355*)(r906run_class(C)))))->_feature_dictionary/*24*/)),(T0*)C,X776to_key(a2));
r604incr_magic_count(((T604*)(oBC364small_eiffel)));
C->_use_current_state=1005;
r604push(((T604*)(oBC364small_eiffel)),(T0*)C);
r906initialize(C);
r604pop(((T604*)(oBC364small_eiffel)));
}
void r906std_compute_use_current(T906* C){
/*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
/*IF*/if (r567use_current(((T567*)((((T906*)C))->_require_assertion/*28*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
/*IF*/if (r592use_current(((T592*)((((T906*)C))->_routine_body/*32*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
/*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
/*IF*/if (r633use_current(((T633*)((((T906*)C))->_ensure_assertion/*36*/)))) {
C->_use_current_state=1004;
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_use_current_state/*40*/)==(1006)) {
C->_use_current_state=1003;
}
/*FI*/}
/*No:RUN_FEATURE_7.name*/
void r906mapping_name(T906* C){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='r';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r906id(C));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_key((((T906*)C))->_name/*16*/));
/*]*/
}
int r906arg_count(T906* C){
int R=0;
/*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/;
}
/*FI*/return R;
}
void r906routine_afd_check(T906* C){
/*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
r567afd_check(((T567*)((((T906*)C))->_require_assertion/*28*/)));
}
/*FI*//*IF*/if (((((T906*)C))->_routine_body/*32*/)!=((void*)(NULL))) {
r592afd_check(((T592*)((((T906*)C))->_routine_body/*32*/)));
}
/*FI*//*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
r633afd_check(((T633*)((((T906*)C))->_ensure_assertion/*36*/)));
}
/*FI*/}
/*No:RUN_FEATURE_7.local_vars*/
void r906default_mapping_procedure(T906* C){
r906mapping_name(C);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_target_as_target(((T324*)(oBC364cpp)));
/*IF*/if ((r906arg_count(C))>(0)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\54';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_arguments(((T324*)(oBC364cpp)));
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms148_470));
/*]*/
}
/*No:RUN_FEATURE_7.base_feature*/
void r906define_opening(T906* C){
T0* _t=NULL;
int _i=0;
/*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) {
_t=X291run_type((((T906*)C))->_result_type/*24*/);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
/*]*/
X291c_type_for_result_in(_t,oBC496c_code);
r7extend(((T7*)(oBC496c_code)),'\40');
r7extend(((T7*)(oBC496c_code)),'R');
r7extend(((T7*)(oBC496c_code)),'\75');
X291c_initialize_in(_t,oBC496c_code);
r7append(((T7*)(oBC496c_code)),((T0*)ms134_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
/*]*/
}
/*FI*//*IF*//*AF*//*AE*/
/*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
/*IF*/if (((((T906*)C))->_ensure_assertion/*36*/)!=((void*)(NULL))) {
r633compile_to_c_old(((T633*)((((T906*)C))->_ensure_assertion/*36*/)));
}
/*FI*/}
/*FI*//*IF*//*AF*//*AE*/
/*FI*//*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
r324rs_link(((T324*)(oBC364cpp)),(T0*)C);
/*IF*/if (r906use_current(C)) {
/*[IRF3.6rs_push_current*/{T324* C1=((T324*)(oBC364cpp));
T0* b1=(((T906*)C))->_current_type/*4*/;
r324rs_push(C1,((T0*)ms143_473),((T0*)ms157_324),b1);
}/*]*/
}
/*FI*/_i=1;
while (!((_i)>(r906arg_count(C)))) {
_t=X291run_type(r31type(((T31*)((((T906*)C))->_arguments/*20*/)),_i));
r324rs_push_argument(((T324*)(oBC364cpp)),(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/)),_i)/*)*/))))->_to_string/*12*/,_i,_t);
_i=(_i)+(1);
}
/*IF*/if (((((T906*)C))->_result_type/*24*/)!=((void*)(NULL))) {
/*[IRF3.6rs_push_result*/{T324* C1=((T324*)(oBC364cpp));
T0* b1=X291run_type((((T906*)C))->_result_type/*24*/);
r324rs_push(C1,((T0*)ms146_473),((T0*)ms158_324),b1);
}/*]*/
}
/*FI*//*IF*//*AF*//*AE*/
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_require_assertion/*28*/)!=((void*)(NULL))) {
r567compile_to_c(((T567*)((((T906*)C))->_require_assertion/*28*/)));
}
/*FI*/}
/*No:RUN_FEATURE_7.start_position*/
/*No:RUN_FEATURE_7.fz_00*/
void r906c_define_with_body(T906* C,T0* a1){
r906define_prototype(C);
r906define_opening(C);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),a1);
/*]*/
r906define_closing(C);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470));
/*]*/
}
/*No:RUN_FEATURE_7.ensure_assertion*/
int r906is_exported_in(T906* C,T0* a1){
int R=0;
R=r636gives_permission_to(((T636*)(r906clients(C))),a1);
return R;
}
void r906compute_use_current(T906* C){
/*IF*/if (r883use_current(((T883*)((((T906*)C))->_base_feature/*44*/)))) {
C->_use_current_state=1004;
}
else {
r906std_compute_use_current(C);
}
/*FI*/}
/*No:RUN_FEATURE_7.fz_12*/
/*No:RUN_FEATURE_7.result_type*/
/*No:RUN_FEATURE_7.is_static*/
/*No:RUN_FEATURE_7.fz_14*/
void r906add_client(T906* C,T0* a1){
int _i=0;
/*IF*/if (((((T906*)C))->_actuals_clients/*12*/)==((void*)(NULL))) {
{T187*n=malloc(sizeof(*n));
*n=M187;
r187with_capacity(n,4);
C->_actuals_clients=(T0*)n;
}
r187add_last(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1);
}
else {
_i=r187fast_index_of(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1);
/*IF*/if ((_i)>((((T187*)((T187*)((((T906*)C))->_actuals_clients/*12*/))))->_upper/*8*/)) {
r187add_last(((T187*)((((T906*)C))->_actuals_clients/*12*/)),a1);
}
/*FI*/}
/*FI*/r355add_client(((T355*)(r906run_class(C))),a1);
}
/*No:RUN_FEATURE_7.require_assertion*/
/*No:RUN_FEATURE_7.use_current_state*/
void r906external_prototype(T906* C,T0* a1){
T0* _t=NULL;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
/*]*/
r7append(((T7*)(oBC496c_code)),((T0*)ms2_496));
_t=(((T906*)C))->_result_type/*24*/;
/*IF*/if ((_t)==((void*)(NULL))) {
r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
}
else {
X291c_type_for_external_in(_t,oBC496c_code);
}
/*FI*/r7extend(((T7*)(oBC496c_code)),'\40');
r7append(((T7*)(oBC496c_code)),X279external_c_name(a1));
r7extend(((T7*)(oBC496c_code)),'\50');
/*IF*/if (X279use_current(a1)) {
X291c_type_for_external_in((((T906*)C))->_current_type/*4*/,oBC496c_code);
r7extend(((T7*)(oBC496c_code)),'\40');
r7extend(((T7*)(oBC496c_code)),'C');
/*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
r7extend(((T7*)(oBC496c_code)),'\54');
}
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_arguments/*20*/)==((void*)(NULL))) {
/*IF*/if (!(X279use_current(a1))) {
r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
}
/*FI*/}
else {
r31external_prototype(((T31*)((((T906*)C))->_arguments/*20*/)),oBC496c_code);
}
/*FI*/r7append(((T7*)(oBC496c_code)),((T0*)ms3_496));
r324swap_on_h(((T324*)(oBC364cpp)));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC496c_code);
/*]*/
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
}
/*No:RUN_FEATURE_7.can_be_dropped*/
/*No:RUN_FEATURE_7.current_type*/
T0* r906run_class(T906* C){
T0* R=NULL;
R=X291run_class((((T906*)C))->_current_type/*4*/);
return R;
}
/*No:RUN_FEATURE_7.static_value_mem*/
void r906define_prototype(T906* C){
int _mem_id=0;
_mem_id=r906id(C);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC496c_code)))))->_count)=(0);
/*]*/
/*IF*/if (((((T906*)C))->_result_type/*24*/)==((void*)(NULL))) {
r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
}
else {
X291c_type_for_result_in(X291run_type((((T906*)C))->_result_type/*24*/),oBC496c_code);
}
/*FI*/r7extend(((T7*)(oBC496c_code)),'\40');
r7extend(((T7*)(oBC496c_code)),'r');
r2append_in(_mem_id,oBC496c_code);
X776mapping_c_in((((T906*)C))->_name/*16*/,oBC496c_code);
r7extend(((T7*)(oBC496c_code)),'\50');
/*IF*/if (r906use_current(C)) {
X291c_type_for_target_in((((T906*)C))->_current_type/*4*/,oBC496c_code);
r7extend(((T7*)(oBC496c_code)),'\40');
r7extend(((T7*)(oBC496c_code)),'C');
/*IF*/if (((((T906*)C))->_arguments/*20*/)!=((void*)(NULL))) {
r7extend(((T7*)(oBC496c_code)),'\54');
}
/*FI*/}
/*FI*//*IF*/if (((((T906*)C))->_arguments/*20*/)==((void*)(NULL))) {
/*IF*/if (!(r906use_current(C))) {
r7append(((T7*)(oBC496c_code)),((T0*)ms133_470));
}
/*FI*/}
else {
r31compile_to_c_in(((T31*)((((T906*)C))->_arguments/*20*/)),oBC496c_code);
}
/*FI*/r7extend(((T7*)(oBC496c_code)),'\51');
r324put_c_heading(((T324*)(oBC364cpp)),oBC496c_code);
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
}
/*No:RUN_FEATURE_7.ucs_not_computed*/
void r906fall_down(T906* 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=X291run_class((((T906*)C))->_current_type/*4*/);
_running=(((T355*)((T355*)_current_rc)))->_running/*12*/;
/*IF*/if ((_running)!=((void*)(NULL))) {
_current_bc=X291base_class((((T906*)C))->_current_type/*4*/);
_i=(((T396*)((T396*)_running)))->_lower/*12*/;
while (!((_i)>((((T396*)((T396*)_running)))->_upper/*8*/))) {
_sub_rc=r396item(((T396*)_running),_i);
/*IF*/if ((_sub_rc)!=((void*)(_current_rc))) {
_sub_bc=X291base_class((((T355*)((T355*)_sub_rc)))->_current_type/*0*/);
_sub_name=r605new_name_of(((T605*)_sub_bc),_current_bc,(((T906*)C))->_name/*16*/);
_rf=r355get_feature(((T355*)_sub_rc),_sub_name);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
/*No:RUN_FEATURE_7.routine_body*/
/*No:RUN_FEATURE_7.fz_void*/
/*No:RUN_FEATURE_7.ucs_false*/
/*No:RUN_FEATURE_7.is_pre_computable*/
T0* r906clients(T906* C){
T0* R=NULL;
T0* _bfbc=NULL;
T0* _bc=NULL;
/*IF*/if (((((T906*)C))->_clients_memory/*8*/)==((void*)(NULL))) {
_bc=X291base_class((((T906*)C))->_current_type/*4*/);
_bfbc=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/;
/*IF*/if ((_bc)==((void*)(_bfbc))) {
R=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_clients/*20*/;
}
else {
R=r605clients_for(((T605*)_bc),(((T906*)C))->_name/*16*/);
}
/*FI*/C->_clients_memory=R;
}
else {
R=(((T906*)C))->_clients_memory/*8*/;
}
/*FI*/return R;
}
int r906use_current(T906* C){
int R=0;
{int z1=(((T906*)C))->_use_current_state/*40*/;

if((1004==z1)){
R=1;
}
 else 
if((1003==z1)){
}
 else 
if((1005==z1)){
C->_use_current_state=1006;
r906compute_use_current(C);
R=r906use_current(C);
}
 else {R=1;
}}
return R;
}
void r906mapping_c(T906* C){
T0* _bcn=NULL;
T0* _native=NULL;
T0* _bf=NULL;
_bf=(((T906*)C))->_base_feature/*44*/;
_native=(((T883*)((T883*)_bf)))->_native/*48*/;
_bcn=(((T451*)((T451*)((((T605*)((T605*)((((T883*)((T883*)_bf)))->_base_class/*4*/))))->_base_class_name/*24*/))))->_to_string/*0*/;
X845c_mapping_procedure(_native,(T0*)C,_bcn,X776to_string(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)_bf)))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/));
}
/*No:RUN_FEATURE_7.address_of*/
void r906put_tag(T906* C){
T0* _fn=NULL;
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\42';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
_fn=/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/;
X776cpp_put_infix_or_prefix(_fn);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X776to_string(_fn));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_496));
/*]*/
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T451*)((T451*)(/*(IRF4.6base_class_name*/(((T605*)((T605*)((((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_base_class/*4*/))))->_base_class_name/*24*//*)*/))))->_to_string/*0*/);
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\42';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*No:RUN_FEATURE_7.clients_memory*/
void r906initialize(T906* C){
C->_arguments=(((T883*)((T883*)((((T906*)C))->_base_feature/*44*/))))->_arguments/*24*/;
/*IF*/if ((((((T906*)C))->_arguments/*20*/)!=((void*)(NULL)))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)((((T906*)C))->_arguments/*20*/))))->_flat_list/*12*/))))->_upper/*12*//*)*/)>(0))) {
C->_arguments=r31to_runnable(((T31*)((((T906*)C))->_arguments/*20*/)),(((T906*)C))->_current_type/*4*/);
}
/*FI*//*IF*/if (r590require_check(((T590*)(oBC364run_control)))) {
/*IF*/if (((((T0*)ms64_473))==((void*)(X776to_string((((T906*)C))->_name/*16*/))))&&(X291is_expanded((((T906*)C))->_current_type/*4*/))) {
}
else {
C->_require_assertion=r883run_require((T0*)C);
}
/*FI*/}
/*FI*//*IF*/if (r590ensure_check(((T590*)(oBC364run_control)))) {
C->_ensure_assertion=r883run_ensure((T0*)C);
}
/*FI*/}
/*No:RUN_FEATURE_7.afd_check*/
T0* r349to_runnable_integer(T349* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) {
C->_e_when=a1;
_e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
/*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_integer(X662result_type(_e)))) {
C->_expression=_e;
C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/);
r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C);
}
else {
r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms60_470));
}
/*FI*/R=(T0*)C;
}
else {
{T349*n=malloc(sizeof(*n));
*n=M349;
/*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/);
/*]*/
R=(T0*)n;
}
R=r349to_runnable_integer(((T349*)R),a1);
}
/*FI*/return R;
}
/*No:WHEN_ITEM_1.make*/
/*No:WHEN_ITEM_1.expression*/
T0* r349start_position(T349* C){
T0* R=NULL;
R=X662start_position((((T349*)C))->_expression/*8*/);
return R;
}
/*No:WHEN_ITEM_1.clear_e_when*/
/*No:WHEN_ITEM_1.expression_value*/
/*No:WHEN_ITEM_1.fz_bcv*/
T0* r349twin(T349* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T349*)R)=*C;
return R;
}
/*No:WHEN_ITEM_1.current_type*/
/*No:WHEN_ITEM_1.fz_biv*/
void r349error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r349to_runnable_character(T349* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (((((T349*)C))->_e_when/*4*/)==((void*)(NULL))) {
C->_e_when=a1;
_e=X662to_runnable((((T349*)C))->_expression/*8*/,/*(IRF4.6current_type*//*(IRF4.6current_type*//*(IRF4.6current_type*/r270current_type(((T270*)((((T377*)((T377*)((((T843*)((T843*)((((T349*)C))->_e_when/*4*/))))->_when_list/*16*/))))->_e_inspect/*0*/)))/*)*//*)*//*)*/);
/*IF*/if (((_e)!=((void*)(NULL)))&&(X291is_character(X662result_type(_e)))) {
C->_expression=_e;
C->_expression_value=X662to_integer((((T349*)C))->_expression/*8*/);
r843add_when_item_1(((T843*)((((T349*)C))->_e_when/*4*/)),(T0*)C);
}
else {
r349error(X662start_position((((T349*)C))->_expression/*8*/),((T0*)ms58_470));
}
/*FI*/R=(T0*)C;
}
else {
{T349*n=malloc(sizeof(*n));
*n=M349;
/*[IRF3.3make*/((((T349*)(n)))->_expression)=((((T349*)C))->_expression/*8*/);
/*]*/
R=(T0*)n;
}
R=r349to_runnable_character(((T349*)R),a1);
}
/*FI*/return R;
}
/*No:WHEN_ITEM_1.e_when*/
/*No:EIFFEL_PARSER.cc*/
/*No:EIFFEL_PARSER.ok*/
void r818a_r5(T818* C,T0* a1){
T0* _sp=NULL;
T0* _infix_minus=NULL;
T0* _infix_plus=NULL;
/*IF*/if (r818skip1(C,'\53')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e5(C)) {
{T253*n=malloc(sizeof(*n));
*n=M253;
r253make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_plus=(T0*)n;
}
r818a_r5(C,_infix_plus);
}
else {
r818err_exp(_sp,((T0*)ms43_473));
}
/*FI*/}
 else if (r818skip1(C,'\55')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e5(C)) {
{T574*n=malloc(sizeof(*n));
*n=M574;
r574make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_minus=(T0*)n;
}
r818a_r5(C,_infix_minus);
}
else {
r818err_exp(_sp,((T0*)ms37_473));
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int r818a_e5(T818* C){
int R=0;
R=r818a_e6(C);
r818a_r6(C,(((T818*)C))->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.arguments*/
/*No:EIFFEL_PARSER.fz_creation*/
/*No:EIFFEL_PARSER.em14*/
int r818a_binary(T818* C,T0* a1){
int R=0;
R=1;
/*IF*/if (r818skip2(C,'\74','\75')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms35_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip2(C,'\76','\75')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms32_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip2(C,'\57','\57')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms45_818),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip2(C,'\134','\134')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms46_818),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\53')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms43_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\55')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms37_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\52')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms38_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\57')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms47_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\76')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms33_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\74')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms36_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818skip1(C,'\136')) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms47_818),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms50_473))) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms50_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms34_473))) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms34_473),a1);
C->_last_binary=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms27_473))) {
/*IF*/if (r818a_keyword(C,((T0*)ms46_470))) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms28_473),a1);
C->_last_binary=(T0*)n;
}
}
else {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms27_473),a1);
C->_last_binary=(T0*)n;
}
}
/*FI*/}
 else if (r818a_keyword(C,((T0*)ms41_473))) {
/*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms42_473),a1);
C->_last_binary=(T0*)n;
}
}
else {
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,((T0*)ms41_473),a1);
C->_last_binary=(T0*)n;
}
}
/*FI*/}
else {
C->_last_binary=NULL;
R=0;
}
/*FI*/return R;
}
void r818a_r6(T818* C,T0* a1){
T0* _sp=NULL;
T0* _infix_div=NULL;
T0* _infix_int_rem=NULL;
T0* _infix_int_div=NULL;
T0* _infix_times=NULL;
/*IF*/if (r818skip1(C,'\52')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e6(C)) {
{T414*n=malloc(sizeof(*n));
*n=M414;
r414make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_times=(T0*)n;
}
r818a_r6(C,_infix_times);
}
else {
r818err_exp(_sp,((T0*)ms38_473));
}
/*FI*/}
 else if (r818skip2(C,'\57','\57')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e6(C)) {
{T460*n=malloc(sizeof(*n));
*n=M460;
r460make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_int_div=(T0*)n;
}
r818a_r6(C,_infix_int_div);
}
else {
r818err_exp(_sp,((T0*)ms120_818));
}
/*FI*/}
 else if (r818skip2(C,'\134','\134')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e6(C)) {
{T453*n=malloc(sizeof(*n));
*n=M453;
r453make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_int_rem=(T0*)n;
}
r818a_r6(C,_infix_int_rem);
}
else {
r818err_exp(_sp,((T0*)ms121_818));
}
/*FI*/}
 else if (r818skip1unless2(C,'\57','\75')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e6(C)) {
{T520*n=malloc(sizeof(*n));
*n=M520;
r520make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_div=(T0*)n;
}
r818a_r6(C,_infix_div);
}
else {
r818err_exp(_sp,((T0*)ms47_473));
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int r818a_e6(T818* C){
int R=0;
R=r818a_e7(C);
r818a_r7(C,(((T818*)C))->_last_expression/*97*/);
return R;
}
/*No:EIFFEL_PARSER.em15*/
/*No:EIFFEL_PARSER.last_parent*/
void r818a_r7(T818* C,T0* a1){
T0* _sp=NULL;
T0* _infix_power=NULL;
/*IF*/if (r818skip1(C,'\136')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e7(C)) {
{T557*n=malloc(sizeof(*n));
*n=M557;
r557make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/);
_infix_power=(T0*)n;
}
r818a_r7(C,_infix_power);
}
else {
r818err_exp(_sp,((T0*)ms122_818));
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int r818a_e7(T818* C){
int R=0;
R=r818a_e8(C);
r818a_r8(C,(((T818*)C))->_last_expression/*97*/);
return R;
}
int r818a_boolean_constant(T818* C){
int R=0;
/*IF*/if (r818a_keyword(C,((T0*)ms47_470))) {
{T849*n=malloc(sizeof(*n));
*n=M849;
/*[IRF3.3make*/((((T849*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
 else if (r818a_keyword(C,((T0*)ms17_470))) {
{T367*n=malloc(sizeof(*n));
*n=M367;
/*[IRF3.3make*/((((T367*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
/*]*/
C->_last_boolean_constant=(T0*)n;
}
R=1;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.last_type*/
int r818a_base_type(T818* C){
int R=0;
T0* _sp=NULL;
R=1;
/*IF*/if (r818a_keyword(C,((T0*)ms1_473))) {
{T669*n=malloc(sizeof(*n));
*n=M669;
r669make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms2_473))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
{T709*n=malloc(sizeof(*n));
*n=M709;
r709make(n,_sp,(((T818*)C))->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else {
r818fcp(C,((T0*)ms40_818));
}
/*FI*/}
 else if (r818a_keyword(C,((T0*)ms18_473))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
{T933*n=malloc(sizeof(*n));
*n=M933;
r933make(n,_sp,(((T818*)C))->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else {
r818fcp(C,((T0*)ms41_818));
}
/*FI*/}
 else if (r818a_keyword(C,((T0*)ms42_818))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (((r818skip1(C,'\133'))&&(r818a_type(C)))&&(r818skip1(C,'\135'))) {
{T933*n=malloc(sizeof(*n));
*n=M933;
r933make(n,_sp,(((T818*)C))->_last_type/*157*/);
C->_last_base_type=(T0*)n;
}
}
else {
r818fcp(C,((T0*)ms43_818));
}
/*FI*/r818warning(_sp,((T0*)ms44_818));
}
 else if (r818a_keyword(C,((T0*)ms6_473))) {
{T707*n=malloc(sizeof(*n));
*n=M707;
r707make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms8_473))) {
{T252*n=malloc(sizeof(*n));
*n=M252;
r252make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms11_473))) {
{T388*n=malloc(sizeof(*n));
*n=M388;
r388make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms15_473))) {
{T788*n=malloc(sizeof(*n));
*n=M788;
r788make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms19_473))) {
{T284*n=malloc(sizeof(*n));
*n=M284;
r284make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms21_473))) {
{T900*n=malloc(sizeof(*n));
*n=M900;
r900make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms23_473))) {
{T209*n=malloc(sizeof(*n));
*n=M209;
r209make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms25_473))) {
{T491*n=malloc(sizeof(*n));
*n=M491;
r491make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_base_type=(T0*)n;
}
}
else {
R=0;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.em16*/
/*No:EIFFEL_PARSER.nb_warnings*/
/*No:EIFFEL_PARSER.last_expression*/
/*No:EIFFEL_PARSER.last_character_constant*/
void r818a_r8(T818* C,T0* a1){
T0* _infix_freeop=NULL;
T0* _infix_name=NULL;
/*IF*/if (r818a_free_operator(C)) {
_infix_name=r511to_infix_name_use(((T511*)(oBC818tmp_name)));
/*IF*/if (r818a_e8(C)) {
{T534*n=malloc(sizeof(*n));
*n=M534;
r534make(n,a1,_infix_name,(((T818*)C))->_last_expression/*97*/);
_infix_freeop=(T0*)n;
}
r818a_r8(C,_infix_freeop);
}
else {
r818err_exp((((T454*)((T454*)_infix_name)))->_start_position/*8*/,(((T454*)((T454*)_infix_name)))->_to_string/*4*/);
}
/*FI*/}
else {
C->_last_expression=a1;
}
/*FI*/}
int r818a_e8(T818* C){
int R=0;
T0* _sp=NULL;
T0* _prefix_freeop=NULL;
T0* _op=NULL;
T0* _prefix_moins=NULL;
T0* _prefix_plus=NULL;
T0* _prefix_not=NULL;
/*IF*/if (r818a_keyword(C,((T0*)ms40_473))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e8(C)) {
{T180*n=malloc(sizeof(*n));
*n=M180;
r180make(n,_sp,(((T818*)C))->_last_expression/*97*/);
_prefix_not=(T0*)n;
}
C->_last_expression=_prefix_not;
R=1;
}
else {
r818err_exp(_sp,((T0*)ms40_473));
}
/*FI*/}
 else if (r818skip1(C,'\53')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e8(C)) {
{T767*n=malloc(sizeof(*n));
*n=M767;
r767make(n,_sp,(((T818*)C))->_last_expression/*97*/);
_prefix_plus=(T0*)n;
}
C->_last_expression=_prefix_plus;
R=1;
}
else {
r818err_exp(_sp,((T0*)ms73_818));
}
/*FI*/}
 else if (r818skip1(C,'\55')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
/*IF*/if (r818a_e8(C)) {
{T72*n=malloc(sizeof(*n));
*n=M72;
r72make(n,_sp,(((T818*)C))->_last_expression/*97*/);
_prefix_moins=(T0*)n;
}
C->_last_expression=_prefix_moins;
R=1;
}
else {
r818err_exp(_sp,((T0*)ms74_818));
}
/*FI*/}
 else if (r818a_free_operator(C)) {
_op=r511to_prefix_name(((T511*)(oBC818tmp_name)));
/*IF*/if (r818a_e8(C)) {
{T990*n=malloc(sizeof(*n));
*n=M990;
/*[IRF3.6make*/{T990* C1=n;
T0* b1=(((T818*)C))->_last_expression/*97*/;
T0* b2=_op;
r990make_call0(C1,b1,b2);
}/*]*/
_prefix_freeop=(T0*)n;
}
C->_last_expression=_prefix_freeop;
R=1;
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms75_818);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r818err_exp((((T406*)((T406*)_op)))->_start_position/*8*/,(((T406*)((T406*)_op)))->_to_string/*4*/);
}
/*FI*/}
else {
R=r818a_e9(C);
}
/*FI*/return R;
}
int r818a_feature_declaration(T818* C){
int R=0;
r505initialize(((T505*)(oBC818tmp_feature)));
/*IF*/if (r818a_keyword(C,((T0*)ms20_470))) {
/*IF*/if (r818a_feature_name(C)) {
R=1;
X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1);
/*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
r855add_last(((T855*)(oBC505names)),b1);
}/*]*/
}
else {
r818fcp(C,((T0*)ms140_818));
}
/*FI*/}
 else if (r818a_feature_name(C)) {
R=1;
/*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
r855add_last(((T855*)(oBC505names)),b1);
}/*]*/
}
/*FI*/while (!(!(r818skip1(C,'\54')))) {
/*IF*/if (r818a_keyword(C,((T0*)ms20_470))) {
/*IF*/if (r818a_feature_name(C)) {
X776set_is_frozen((((T818*)C))->_last_feature_name/*109*/,1);
/*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
r855add_last(((T855*)(oBC505names)),b1);
}/*]*/
}
else {
r818fcp(C,((T0*)ms92_818));
}
/*FI*/}
 else if (r818a_feature_name(C)) {
/*[IRF3.6add_synonym*/{T0* b1=(((T818*)C))->_last_feature_name/*109*/;
r855add_last(((T855*)(oBC505names)),b1);
}/*]*/
}
else {
/*[IRF3.6ecp*/{T818* C1=C;
T0* b1=((T0*)ms93_818);
r818error(r818current_position(C1),b1);
}/*]*/
}
/*FI*/}
/*IF*/if (R) {
r818a_formal_arg_list(C);
C->_function_type=NULL;
/*IF*/if (r818skip1(C,'\72')) {
/*IF*/if (r818a_type(C)) {
C->_function_type=(((T818*)C))->_last_type/*157*/;
/*[IRF3.3set_type*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_type)=((((T818*)C))->_last_type/*157*/);
/*]*/
}
else {
r818fcp(C,((T0*)ms156_818));
}
/*FI*/}
/*FI*//*IF*/if (r818a_keyword(C,((T0*)ms27_470))) {
/*IF*/if (r818a_keyword(C,((T0*)ms49_470))) {
C->_last_feature_declaration=r505to_cst_att_unique(((T505*)(oBC818tmp_feature)));
}
 else if (r818a_boolean_constant(C)) {
C->_last_feature_declaration=r505to_cst_att_boolean(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_boolean_constant/*81*/);
}
 else if (r818a_character_constant(C)) {
C->_last_feature_declaration=r505to_cst_att_character(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_character_constant/*85*/);
}
 else if (r818a_manifest_string(C)) {
C->_last_feature_declaration=r505to_cst_att_string(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_manifest_string/*145*/);
}
 else if (r818a_bit_constant(C)) {
C->_last_feature_declaration=r505to_cst_att_bit(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_bit_constant/*77*/);
}
 else if (r818a_real_constant(C)) {
C->_last_feature_declaration=r505to_cst_att_real(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_real_constant/*153*/);
}
 else if (r818a_integer_constant(C)) {
C->_last_feature_declaration=r505to_cst_att_integer(((T505*)(oBC818tmp_feature)),(((T818*)C))->_last_integer_constant/*129*/);
}
else {
C->_last_feature_declaration=r818a_routine(C);
}
/*FI*/}
else {
C->_last_feature_declaration=r505to_writable_attribute(((T505*)(oBC818tmp_feature)));
}
/*FI*/C->_function_type=NULL;
C->_arguments=NULL;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.us_integer*/
/*No:EIFFEL_PARSER.em17*/
int r818a_integer_constant(T818* C){
int R=0;
int _c=0;
int _l=0;
/*IF*/if (r818skip1(C,'\53')) {
_l=(((T818*)C))->_start_line/*169*/;
_c=(((T818*)C))->_start_column/*165*/;
/*IF*/if (r818a_integer(C)) {
r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c);
R=1;
}
else {
r818fcp(C,((T0*)ms69_470));
}
/*FI*/}
 else if (r818skip1(C,'\55')) {
_l=(((T818*)C))->_start_line/*169*/;
_c=(((T818*)C))->_start_column/*165*/;
/*IF*/if (r818a_integer(C)) {
r627set_line_column(((T627*)((((T342*)((T342*)((((T818*)C))->_last_integer_constant/*129*/))))->_start_position/*12*/)),_l,_c);
r342unary_minus(((T342*)((((T818*)C))->_last_integer_constant/*129*/)));
R=1;
}
else {
r818fcp(C,((T0*)ms69_470));
}
/*FI*/}
else {
R=r818a_integer(C);
}
/*FI*/return R;
}
void r818a_creation_clause(T818* C,T0* a1){
T0* _creation_clause=NULL;
T0* _list=NULL;
T0* _comments=NULL;
T0* _clients=NULL;
_clients=r818a_clients(C);
_comments=r818get_comments(C);
/*IF*/if (r818a_feature_list(C)) {
_list=(((T818*)C))->_last_feature_list/*105*/;
}
/*FI*/{T583*n=malloc(sizeof(*n));
*n=M583;
r583make(n,a1,_clients,_comments,_list);
_creation_clause=(T0*)n;
}
r605add_creation_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_creation_clause);
}
int r818a_e9(T818* C){
int R=0;
T0* _e_old=NULL;
/*IF*/if (r818a_keyword(C,((T0*)ms34_470))) {
/*IF*/if (!((((T818*)C))->_in_ensure/*37*/)) {
r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms76_818));
}
/*FI*//*IF*/if (r818a_e10(C)) {
{T664*n=malloc(sizeof(*n));
*n=M664;
/*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T818*)C))->_last_expression/*97*/);
/*]*/
_e_old=(T0*)n;
}
C->_last_expression=_e_old;
R=1;
}
else {
r818fcp(C,((T0*)ms77_818));
}
/*FI*/}
else {
R=r818a_e10(C);
}
/*FI*/return R;
}
int r818a_index_value(T818* C){
int R=0;
/*IF*/if (r818a_identifier(C)) {
C->_last_index_value=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
R=1;
}
 else if (r818a_manifest_constant(C)) {
C->_last_index_value=(((T818*)C))->_last_manifest_constant/*141*/;
R=1;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.em18*/
void r818a_new_export_list(T818* C){
int _state=0;
T0* _new_export_item=NULL;
T0* _items=NULL;
T0* _clients=NULL;
T0* _sp=NULL;
T0* _export_list=NULL;
/*IF*/if (r818a_keyword(C,((T0*)ms15_470))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
while (!((_state)>(3))) {
{int z1=_state;

if((0==z1)){
/*IF*/if (((((T818*)C))->_cc/*24*/)==('\173')) {
_clients=r818a_clients(C);
_state=1;
}
 else if (((((T818*)C))->_cc/*24*/)==('\73')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms68_470);
r818warning(r818current_position(C1),b1);
}/*]*/
C->_ok=r818skip1(C,'\73');
}
else {
/*IF*/if ((_items)!=((void*)(NULL))) {
{T671*n=malloc(sizeof(*n));
*n=M671;
r671make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list);
/*]*/
}
/*FI*/_state=4;
}
/*FI*/}
 else 
if((1==z1)){
/*IF*/if (r818a_keyword(C,((T0*)ms2_470))) {
{T542*n=malloc(sizeof(*n));
*n=M542;
r542make_all(n,_clients);
_new_export_item=(T0*)n;
}
/*IF*/if ((_items)==((void*)(NULL))) {
_items=se_ma587(1,_new_export_item);
}
else {
r587add_last(((T587*)_items),_new_export_item);
}
/*FI*/_state=2;
}
else {
/*IF*/if (r818a_feature_list(C)) {
{T542*n=malloc(sizeof(*n));
*n=M542;
r542make(n,_clients,(((T818*)C))->_last_feature_list/*105*/);
_new_export_item=(T0*)n;
}
/*IF*/if ((_items)==((void*)(NULL))) {
_items=se_ma587(1,_new_export_item);
}
else {
r587add_last(((T587*)_items),_new_export_item);
}
/*FI*/_state=2;
}
else {
_state=3;
}
/*FI*/}
/*FI*/}
 else 
if((2==z1)){
/*IF*/if (r818skip1(C,'\73')) {
_state=0;
}
 else if (((((T818*)C))->_cc/*24*/)==('\173')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms144_818);
r818warning(r818current_position(C1),b1);
}/*]*/
_state=0;
}
else {
/*IF*/if ((_items)!=((void*)(NULL))) {
{T671*n=malloc(sizeof(*n));
*n=M671;
r671make(n,_sp,_items);
_export_list=(T0*)n;
}
/*[IRF3.3set_export*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_export_list)=(_export_list);
/*]*/
}
/*FI*/_state=4;
}
/*FI*/}
 else{r818fcp(C,((T0*)ms149_818));
_state=4;
}}
}
}
/*FI*/}
/*No:EIFFEL_PARSER.last_manifest_string*/
/*No:EIFFEL_PARSER.last_base_type*/
/*No:EIFFEL_PARSER.em19*/
/*No:EIFFEL_PARSER.last_comments*/
int r818a_retry(T818* C){
int R=0;
/*IF*/if (r818a_keyword(C,((T0*)ms42_470))) {
/*IF*/if (!((((T818*)C))->_in_rescue/*41*/)) {
r818error(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),((T0*)ms30_818));
}
/*FI*/{T526*n=malloc(sizeof(*n));
*n=M526;
/*[IRF3.3make*/((((T526*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
/*]*/
C->_last_instruction=(T0*)n;
}
R=1;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.drop_comments*/
int r818a_e10(T818* C){
int R=0;
/*IF*/if (r818a_strip(C)) {
R=1;
}
 else if (r818skip1(C,'\50')) {
R=1;
/*IF*/if (r818a_expression(C)) {
/*IF*/if (r818skip1(C,'\51')) {
r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
}
else {
r818fcp(C,((T0*)ms78_818));
}
/*FI*/}
else {
r818fcp(C,((T0*)ms79_818));
}
/*FI*/}
 else if (r818a_manifest_constant(C)) {
C->_last_expression=(((T818*)C))->_last_manifest_constant/*141*/;
R=1;
/*IF*/if (r818skip1unless2(C,'\56','\56')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms80_818);
r818warning(r818current_position(C1),b1);
}/*]*/
r818a_after_a_dot(C,0,(((T818*)C))->_last_expression/*97*/);
}
/*FI*/}
 else if (r818a_identifier(C)) {
R=1;
/*IF*/if (((((r818a_result(C))||(r818a_current(C)))||(r818a_void(C)))||(r818a_local_variable(C)))||(r818a_argument(C))) {
r818a_r10(C,0,(((T818*)C))->_last_expression/*97*/,NULL,NULL);
}
else {
r818a_function_call(C);
}
/*FI*/}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.last_prefix*/
void r818a_r10(T818* C,int a1,T0* a2,T0* a3,T0* a4){
/*IF*/if (r818skip1unless2(C,'\56','\56')) {
r818a_after_a_dot(C,a1,r818to_call(a2,a3,a4));
}
else {
/*IF*/if (a1) {
C->_last_instruction=r818to_proc_call(C,a2,a3,a4);
C->_last_expression=NULL;
}
else {
C->_last_expression=r818to_call(a2,a3,a4);
C->_last_instruction=NULL;
}
/*FI*/}
/*FI*/}
void r818skip_comments(T818* C){
int _state=0;
T0* _sp=NULL;
while (!((_state)==(2))) {
{int z1=_state;

if((0==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((9<=z2)&&(z2<=10))||(32==z2)){
r818next_char(C);
}
 else 
if((45==z2)){
r818next_char(C);
_state=1;
}
 else{_state=2;
}}
}
 else {{int z2=(((T818*)C))->_cc/*24*/;

if((45==z2)){
/*IF*/if ((((T818*)C))->_drop_comments/*4*/) {
}
else {
/*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_line/*16*/,((((T818*)C))->_column/*12*/)-(1));
_sp=(T0*)n;
}
}
/*FI*/}
/*FI*/r818next_char(C);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC818lcs)))))->_count)=(0);
/*]*/
while (!(((((T818*)C))->_cc/*24*/)==('\n'))) {
r7extend(((T7*)(oBC818lcs)),(((T818*)C))->_cc/*24*/);
r818next_char(C);
}
/*IF*/if ((((T818*)C))->_drop_comments/*4*/) {
}
else {
/*IF*/if (((((T818*)C))->_last_comments/*25*/)==((void*)(NULL))) {
{T393*n=malloc(sizeof(*n));
*n=M393;
r393make(n,_sp,se_ma52(1,r7twin(((T7*)(oBC818lcs)))));
C->_last_comments=(T0*)n;
}
}
else {
/*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)((T393*)((((T818*)C))->_last_comments/*25*/))))->_list/*4*/)),r7twin(((T7*)(oBC818lcs))));
/*]*/
}
/*FI*/}
/*FI*/_state=0;
}
 else{r818prev_char(C);
_state=2;
}}
}}
}
}
/*No:EIFFEL_PARSER.last_class_type*/
/*No:EIFFEL_PARSER.us_array*/
/*No:EIFFEL_PARSER.fz_c_withoutcurrent*/
T0* r818to_proc_call(T818* C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*IF*/if ((a2)==((void*)(NULL))) {
r818fcp(C,((T0*)ms135_818));
}
 else if ((a3)==((void*)(NULL))) {
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,a1,a2);
R=(T0*)n;
}
}
 else if ((X431count(a3))==(1)) {
{T317*n=malloc(sizeof(*n));
*n=M317;
r317make(n,a1,a2,a3);
R=(T0*)n;
}
}
else {
{T568*n=malloc(sizeof(*n));
*n=M568;
r568make(n,a1,a2,a3);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r818a_tag_mark(T818* C){
int R=0;
/*IF*/if (r818a_identifier(C)) {
/*IF*/if (r818skip1unless2(C,'\72','\75')) {
R=1;
C->_last_tag_mark=r511to_tag_name(((T511*)(oBC818tmp_name)));
}
else {
C->_last_tag_mark=NULL;
r818go_back_at(C,(((T511*)((T511*)(oBC818tmp_name))))->_li/*8*/,(((T511*)((T511*)(oBC818tmp_name))))->_co/*4*/);
}
/*FI*/}
else {
C->_last_tag_mark=NULL;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.nb_errors*/
/*No:EIFFEL_PARSER.start_line*/
void r818a_index_list(T818* C){
while (!(!(r818a_index_clause(C)))) {
C->_ok=r818skip1(C,'\73');
}
}
/*No:EIFFEL_PARSER.last_real_constant*/
T0* r818a_external(T818* C){
T0* R=NULL;
T0* _l=NULL;
/*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms157_818);
r818warning(r818current_position(C1),b1);
}/*]*/
}
else {
C->_ok=r818skip1(C,'\42');
}
/*FI*//*IF*/if (r818a_keyword(C,((T0*)ms121_470))) {
{T85*n=malloc(sizeof(*n));
*n=M85;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms98_470))) {
{T893*n=malloc(sizeof(*n));
*n=M893;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms90_470))) {
{T240*n=malloc(sizeof(*n));
*n=M240;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms99_470))) {
{T320*n=malloc(sizeof(*n));
*n=M320;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms91_470))) {
{T680*n=malloc(sizeof(*n));
*n=M680;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms81_818))) {
{T85*n=malloc(sizeof(*n));
*n=M85;
_l=(T0*)n;
}
r818wcpefnc(C,((T0*)ms82_818),((T0*)ms121_470));
}
 else if (r818a_keyword(C,((T0*)ms83_818))) {
{T893*n=malloc(sizeof(*n));
*n=M893;
_l=(T0*)n;
}
r818wcpefnc(C,((T0*)ms84_818),((T0*)ms98_470));
}
 else if (r818a_keyword(C,((T0*)ms85_818))) {
{T240*n=malloc(sizeof(*n));
*n=M240;
_l=(T0*)n;
}
r818wcpefnc(C,((T0*)ms86_818),((T0*)ms90_470));
}
 else if (r818a_keyword(C,((T0*)ms87_818))) {
{T320*n=malloc(sizeof(*n));
*n=M320;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms88_818))) {
{T680*n=malloc(sizeof(*n));
*n=M680;
_l=(T0*)n;
}
r818wcpefnc(C,((T0*)ms89_818),((T0*)ms91_470));
}
 else if (r818a_keyword(C,((T0*)ms28_470))) {
{T300*n=malloc(sizeof(*n));
*n=M300;
_l=(T0*)n;
}
}
 else if (r818a_keyword(C,((T0*)ms29_470))) {
{T970*n=malloc(sizeof(*n));
*n=M970;
_l=(T0*)n;
}
}
else {
r818fcp(C,((T0*)ms90_818));
}
/*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)!=('\42')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms157_818);
r818warning(r818current_position(C1),b1);
}/*]*/
}
else {
C->_ok=r818skip1(C,'\42');
}
/*FI*/R=r505to_external_routine(((T505*)(oBC818tmp_feature)),_l,r818a_alias(C));
return R;
}
/*No:EIFFEL_PARSER.show_nb_errors*/
int r818a_class_type(T818* C){
int R=0;
T0* _generic_list=NULL;
T0* _base_class_name=NULL;
int _state=0;
/*IF*/if (r818a_base_type(C)) {
C->_last_class_type=(((T818*)C))->_last_base_type/*69*/;
R=1;
}
 else if (r818a_base_class_name(C)) {
R=1;
_base_class_name=(((T818*)C))->_last_class_name/*89*/;
while (!((_state)>(2))) {
{int z1=_state;

if((0==z1)){
/*IF*/if (r818skip1(C,'\133')) {
_state=1;
}
else {
{T657*n=malloc(sizeof(*n));
*n=M657;
/*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
_state=3;
}
/*FI*/}
 else 
if((1==z1)){
/*IF*/if (r818a_type(C)) {
/*IF*/if ((_generic_list)==((void*)(NULL))) {
_generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/);
}
else {
r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/);
}
/*FI*/_state=2;
}
 else if (((((T818*)C))->_cc/*24*/)==('\54')) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms150_818);
r818warning(r818current_position(C1),b1);
}/*]*/
C->_ok=r818skip1(C,'\54');
}
 else if (((((T818*)C))->_cc/*24*/)==('\135')) {
_state=2;
}
else {
r818fcp(C,((T0*)ms156_818));
_state=2;
}
/*FI*/}
 else{/*IF*/if (r818skip1(C,'\54')) {
_state=1;
}
 else if (((((T818*)C))->_cc/*24*/)==('\135')) {
/*IF*/if ((_generic_list)==((void*)(NULL))) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms54_818);
r818warning(r818current_position(C1),b1);
}/*]*/
{T657*n=malloc(sizeof(*n));
*n=M657;
/*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_base_class_name);
/*]*/
C->_last_class_type=(T0*)n;
}
}
else {
{T720*n=malloc(sizeof(*n));
*n=M720;
r720make(n,_base_class_name,_generic_list);
C->_last_class_type=(T0*)n;
}
}
/*FI*/C->_ok=r818skip1(C,'\135');
_state=3;
}
 else if (r818a_type(C)) {
/*IF*/if ((_generic_list)==((void*)(NULL))) {
_generic_list=se_ma701(1,(((T818*)C))->_last_type/*157*/);
}
else {
r701add_last(((T701*)_generic_list),(((T818*)C))->_last_type/*157*/);
}
/*FI*/r818warning(X291start_position((((T818*)C))->_last_type/*157*/),((T0*)ms143_818));
}
else {
r818fcp(C,((T0*)ms55_818));
_state=3;
}
/*FI*/}}
}
}
/*FI*/return R;
}
T0* r818analyse_class(T818* C,T0* a1){
T0* R=NULL;
T0* _path=NULL;
int _old_nbw=0;
int _old_nbe=0;
_path=(((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/;
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)) {
/*[IRF3.6append*/{T0* b1=((T0*)ms1_818);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/r306put_integer(((T306*)(oBC364echo)),(/*(IRF4.9base_class_count*/(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*40*//*)*/)+(1));
r306put_character(((T306*)(oBC364echo)),'\11');
r306put_string(((T306*)(oBC364echo)),_path);
r306put_character(((T306*)(oBC364echo)),'\n');
_old_nbe=/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/;
_old_nbw=/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/;
C->_is_running=1;
C->_function_type=NULL;
C->_in_ensure=0;
C->_last_comments=NULL;
C->_ms_numbering=0;
C->_line=1;
C->_column=1;
C->_current_line=r676item((((T818*)C))->_line/*16*/);
/*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) {
C->_cc='\n';
}
else {
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI*/{T605*n=malloc(sizeof(*n));
*n=M605;
r605make(n);
C->_last_base_class=(T0*)n;
}
r818skip_comments(C);
r818a_class_declaration(C);
C->_is_running=0;
/*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL);
/*]*/
R=(((T818*)C))->_last_base_class/*65*/;
/*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)-(_old_nbe))>(0)) {
/*[IRF3.2show_nb_errors*/r818show_nb(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/,((T0*)ms10_818));
/*]*/
r306w_put_string(((T0*)ms4_818));
r306w_put_string(_path);
r306w_put_string(((T0*)ms5_818));
R=NULL;
}
 else if (((/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/)-(_old_nbw))>(0)) {
/*[IRF3.2show_nb_warnings*/r818show_nb(/*(IRF4.9nb_warnings*/(((T683*)((T683*)(oBC364eh))))->_nb_warnings/*4*//*)*/,((T0*)ms9_818));
/*]*/
}
/*FI*//*IF*/if ((R)!=((void*)(NULL))) {
r604add_class(((T604*)(oBC364small_eiffel)),R);
/*IF*/if (((a1)!=((void*)(NULL)))&&(((((T451*)((T451*)a1)))->_to_string/*0*/)!=((void*)((((T451*)((T451*)((((T605*)((T605*)R)))->_base_class_name/*24*/))))->_to_string/*0*/)))) {
r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
/*[IRF3.6append*/{T0* b1=((T0*)ms135_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=_path;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms6_818);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T451*)((T451*)a1)))->_to_string/*0*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms137_470);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/r605get_started(((T605*)R));
}
/*FI*/return R;
}
T0*oBC818tmp_feature=NULL;
T0* r818parse_c_name(T818* C){
T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,32);
R=(T0*)n;
}
while (!(r3is_separator((((T818*)C))->_cc/*24*/))) {
r7extend(((T7*)R),(((T818*)C))->_cc/*24*/);
r818next_char(C);
}
r818skip_comments(C);
return R;
}
void r818disconnect(T818* C){
C->_is_running=0;
/*[IRF3.3unset_is_ready*/((((T676*)(((T676*)(oBC364parser_buffer)))))->_path)=(NULL);
/*]*/
}
int r818a_character_constant(T818* C){
int R=0;
char _value=0;
int _printing_mode=0;
int _state=0;
T0* _sp=NULL;
/*IF*/if (((((T818*)C))->_cc/*24*/)==('\47')) {
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
_sp=(T0*)n;
}
R=1;
while (!((_state)>(2))) {
r818next_char(C);
{int z1=_state;

if((0==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if((37==z2)){
_state=1;
}
 else 
if((39==z2)){
r818fcp(C,((T0*)ms148_818));
_state=2;
}
 else{_value=(((T818*)C))->_cc/*24*/;
_printing_mode=0;
_state=2;
}}
}
 else 
if((1==z1)){
_printing_mode=1;
_state=2;
{int z2=(((T818*)C))->_cc/*24*/;

if((65==z2)){
_value='\100';
}
 else 
if((66==z2)){
_value='\10';
}
 else 
if((67==z2)){
_value='\136';
}
 else 
if((68==z2)){
_value='\44';
}
 else 
if((70==z2)){
_value='\14';
}
 else 
if((72==z2)){
_value='\134';
}
 else 
if((76==z2)){
_value='\176';
}
 else 
if((78==z2)){
_value='\n';
}
 else 
if((81==z2)){
_value='\140';
}
 else 
if((82==z2)){
_value='\15';
}
 else 
if((83==z2)){
_value='\43';
}
 else 
if((84==z2)){
_value='\11';
}
 else 
if((85==z2)){
_value='\0';
}
 else 
if((86==z2)){
_value='\174';
}
 else 
if((37==z2)){
_value='\45';
}
 else 
if((39==z2)){
_value='\47';
}
 else 
if((34==z2)){
_value='\42';
}
 else 
if((40==z2)){
_value='\133';
}
 else 
if((41==z2)){
_value='\135';
}
 else 
if((60==z2)){
_value='\173';
}
 else 
if((62==z2)){
_value='\175';
}
 else 
if((47==z2)){
r818a_ascii_code(C);
_value=((char)((((T818*)C))->_last_ascii_code/*61*/));
_printing_mode=2;
}
 else{r818fcp(C,((T0*)ms24_818));
}}
}
 else{_state=3;
{int z2=(((T818*)C))->_cc/*24*/;

if((39==z2)){
}
 else{r818fcp(C,((T0*)ms148_818));
}}
r818next_char(C);
r818skip_comments(C);
}}
}
{T260*n=malloc(sizeof(*n));
*n=M260;
r260make(n,_sp,_value,_printing_mode);
C->_last_character_constant=(T0*)n;
}
}
/*FI*/return R;
}
int r818a_check(T818* C){
int R=0;
T0* _al=NULL;
T0* _hc=NULL;
T0* _sp=NULL;
/*IF*/if (r818a_keyword(C,((T0*)ms4_470))) {
R=1;
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/);
_sp=(T0*)n;
}
_hc=r818get_comments(C);
_al=r818a_assertion(C);
/*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) {
{T292*n=malloc(sizeof(*n));
*n=M292;
r292make(n,_sp,_hc,_al);
C->_last_instruction=(T0*)n;
}
}
else {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms48_818);
r818warning(r818current_position(C1),b1);
}/*]*/
}
/*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
r818fcp(C,((T0*)ms49_818));
}
/*FI*/}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.go_back*/
/*No:EIFFEL_PARSER.current_class*/
/*No:EIFFEL_PARSER.fz_export*/
/*No:EIFFEL_PARSER.fz_invariant*/
/*No:EIFFEL_PARSER.us_or_else*/
/*No:EIFFEL_PARSER.is_running*/
int r818a_result(T818* C){
int R=0;
/*IF*/if (r511is_result()) {
/*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) {
r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818));
}
/*FI*/C->_last_expression=r511to_e_result(((T511*)(oBC818tmp_name)));
R=1;
}
/*FI*/return R;
}
int r818a_manifest_string(T818* C){
int R=0;
int _state=0;
/*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) {
R=1;
C->_ms_numbering=((((T818*)C))->_ms_numbering/*57*/)+(1);
{T805*n=malloc(sizeof(*n));
*n=M805;
r805make(n,r818pos((((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/),(((T818*)C))->_ms_numbering/*57*/);
C->_last_manifest_string=(T0*)n;
}
while (!((_state)>(3))) {
r818next_char(C);
{int z1=_state;

if((0==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if((10==z2)){
r818fcp(C,((T0*)ms146_818));
}
 else 
if((34==z2)){
_state=4;
}
 else 
if((37==z2)){
_state=1;
}
 else{/*[IRF3.5add*/r7extend(((T7*)((((T805*)((T805*)((((T818*)C))->_last_manifest_string/*145*/))))->_to_string/*16*/)),(((T818*)C))->_cc/*24*/);
/*]*/
}}
}
 else 
if((1==z1)){
_state=0;
{int z2=(((T818*)C))->_cc/*24*/;

if((10==z2)){
_state=3;
}
 else 
if((65==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\100');
}
 else 
if((66==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\10');
}
 else 
if((67==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\136');
}
 else 
if((68==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\44');
}
 else 
if((70==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\14');
}
 else 
if((72==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\134');
}
 else 
if((76==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\176');
}
 else 
if((78==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\n');
}
 else 
if((81==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\140');
}
 else 
if((82==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\15');
}
 else 
if((83==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\43');
}
 else 
if((84==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\11');
}
 else 
if((85==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\0');
}
 else 
if((86==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\174');
}
 else 
if((37==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\45');
}
 else 
if((39==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\47');
}
 else 
if((34==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\42');
}
 else 
if((40==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\133');
}
 else 
if((41==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\135');
}
 else 
if((60==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\173');
}
 else 
if((62==z2)){
r805add_percent(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),'\175');
}
 else 
if((47==z2)){
r818a_ascii_code(C);
r805add_ascii(((T805*)((((T818*)C))->_last_manifest_string/*145*/)),((char)((((T818*)C))->_last_ascii_code/*61*/)));
}
 else 
if((9==z2)||(32==z2)){
_state=2;
}
 else{r818fcp(C,((T0*)ms26_818));
_state=0;
}}
}
 else 
if((2==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if((10==z2)){
_state=3;
}
 else 
if((9==z2)||(32==z2)){
}
 else{r818fcp(C,((T0*)ms27_818));
}}
}
 else{{int z2=(((T818*)C))->_cc/*24*/;

if((9==z2)||(32==z2)){
}
 else 
if((37==z2)){
r805break_line(((T805*)((((T818*)C))->_last_manifest_string/*145*/)));
_state=0;
}
 else 
if((10==z2)){
r818fcp(C,((T0*)ms146_818));
_state=0;
}
 else{r818fcp(C,((T0*)ms28_818));
_state=0;
}}
}}
}
r818next_char(C);
r818skip_comments(C);
}
/*FI*/return R;
}
void r818a_function_call(T818* C){
T0* _e_current=NULL;
T0* _sfn=NULL;
_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
{T358*n=malloc(sizeof(*n));
*n=M358;
r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0);
_e_current=(T0*)n;
}
r818a_r10(C,0,_e_current,_sfn,r818a_actuals(C));
}
/*No:EIFFEL_PARSER.fz_01*/
int r818a_real_constant(T818* C){
int R=0;
int _c=0;
int _l=0;
_l=(((T818*)C))->_line/*16*/;
_c=(((T818*)C))->_column/*12*/;
/*IF*/if (r818skip1(C,'\53')) {
/*IF*/if (r818a_real(C)) {
r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c);
R=1;
}
else {
r818go_back_at(C,_l,_c);
}
/*FI*/}
 else if (r818skip1(C,'\55')) {
/*IF*/if (r818a_real(C)) {
r627set_line_column(((T627*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_start_position/*12*/)),_l,_c);
/*[IRF3.5unary_minus*/r7add_first(((T7*)((((T936*)((T936*)((((T818*)C))->_last_real_constant/*153*/))))->_to_string/*16*/)),'\55');
/*]*/
R=1;
}
else {
r818go_back_at(C,_l,_c);
}
/*FI*/}
 else if (r818a_real(C)) {
R=1;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.fz_inspect*/
void r818show_nb(int a1,T0* a2){
/*IF*/if ((a1)>(0)) {
r306w_put_string(((T0*)ms75_470));
r306w_put_integer(a1);
r306w_put_string(a2);
}
/*FI*/}
/*No:EIFFEL_PARSER.fz_c_withcurrent*/
/*No:EIFFEL_PARSER.fz_03*/
/*No:EIFFEL_PARSER.fz_rename*/
T0* r818parse_feature_name(T818* C){
T0* R=NULL;
/*IF*/if (r818a_feature_name(C)) {
R=(((T818*)C))->_last_feature_name/*109*/;
}
else {
r818fcp(C,((T0*)ms140_818));
}
/*FI*/return R;
}
T0* r818connect_to_cecil(T818* C){
T0* R=NULL;
T0* _path=NULL;
_path=(((T590*)((T590*)(oBC364run_control))))->_cecil_path/*12*/;
r306put_string(((T306*)(oBC364echo)),((T0*)ms7_818));
r306put_string(((T306*)(oBC364echo)),_path);
r306put_character(((T306*)(oBC364echo)),'\n');
r676load_file(((T676*)(oBC364parser_buffer)),_path);
/*IF*/if (!(/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/)) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_818);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_is_running=1;
C->_formal_generic_list=NULL;
C->_function_type=NULL;
C->_in_ensure=0;
C->_last_comments=NULL;
C->_line=1;
C->_column=1;
C->_current_line=r676item((((T818*)C))->_line/*16*/);
/*IF*/if (((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)==(0)) {
C->_cc='\n';
}
else {
C->_cc=/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/;
}
/*FI*/r818skip_comments(C);
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,32);
R=(T0*)n;
}
while (!(((((T818*)C))->_cc/*24*/)==('\n'))) {
r7extend(((T7*)R),(((T818*)C))->_cc/*24*/);
r818next_char(C);
}
r818skip_comments(C);
return R;
}
int r818a_identifier1(T818* C){
int R=0;
int _state=0;
/*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/);
/*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/);
r7extend(((T7*)(oBC511tmp_string)),b1);
}/*]*/
while (!((_state)>(0))) {
r818next_char(C);
{int z1=(((T818*)C))->_cc/*24*/;

if(((48<=z1)&&(z1<=57))||(95==z1)||((97<=z1)&&(z1<=122))){
/*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/;
r7extend(((T7*)(oBC511tmp_string)),b1);
}/*]*/
}
 else 
if(((65<=z1)&&(z1<=90))){
/*[IRF3.6extend*/{char b1=r3to_lower((((T818*)C))->_cc/*24*/);
r7extend(((T7*)(oBC511tmp_string)),b1);
}/*]*/
}
 else{_state=1;
}}
}
/*IF*/if (r511isa_keyword()) {
_state=/*(IRF4.9count*/(((T7*)((T7*)(oBC511tmp_string))))->_count/*4*//*)*/;
while (!((_state)==(0))) {
_state=(_state)-(1);
r818prev_char(C);
}
}
else {
R=1;
r818skip_comments(C);
}
/*FI*/}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.fz_once*/
/*No:EIFFEL_PARSER.ecp*/
void r818fcp(T818* C,T0* a1){
r683add_position(r818current_position(C));
/*[IRF3.6fatal_error*/{T0* b1=a1;
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
int r818a_conditional(T818* C){
int R=0;
T0* _ifthenelse=NULL;
/*IF*/if (r818a_keyword(C,((T0*)ms21_470))) {
R=1;
{T530*n=malloc(sizeof(*n));
*n=M530;
/*[IRF3.3make*/((((T530*)(n)))->_start_position)=(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
/*]*/
_ifthenelse=(T0*)n;
}
r818a_then_part_list(C,_ifthenelse);
/*IF*/if (r818a_keyword(C,((T0*)ms10_470))) {
/*[IRF3.3set_else_compound*/((((T530*)(((T530*)_ifthenelse))))->_else_compound)=(r818a_compound2(C,((T0*)ms60_818),((T0*)ms12_470)));
/*]*/
}
else {
/*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) {
/*[IRF3.6wcp*/{T818* C1=C;
T0* b1=((T0*)ms61_818);
r818warning(r818current_position(C1),b1);
}/*]*/
}
/*FI*/}
/*FI*/C->_last_instruction=_ifthenelse;
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.us_real*/
void r818a_procedure_call(T818* C){
T0* _e_current=NULL;
T0* _sfn=NULL;
_sfn=r511to_simple_feature_name(((T511*)(oBC818tmp_name)));
{T358*n=malloc(sizeof(*n));
*n=M358;
r358make(n,(((T446*)((T446*)_sfn)))->_start_position/*20*/,0);
_e_current=(T0*)n;
}
r818a_r10(C,1,_e_current,_sfn,r818a_actuals(C));
}
/*No:EIFFEL_PARSER.us_implies*/
T0*oBC818tmp_string=NULL;
int r818a_integer(T818* C){
int R=0;
int _value=0;
int _state=0;
/*IF*/if (r3is_digit((((T818*)C))->_cc/*24*/)) {
R=1;
C->_start_line=(((T818*)C))->_line/*16*/;
C->_start_column=(((T818*)C))->_column/*12*/;
_value=r3value((((T818*)C))->_cc/*24*/);
while (!((_state)>(7))) {
r818next_char(C);
{int z1=_state;

if((0==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=1;
}
 else 
if((95==z2)){
_state=4;
}
 else{_state=8;
}}
}
 else 
if((1==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=2;
}
 else 
if((95==z2)){
_state=4;
}
 else{_state=8;
}}
}
 else 
if((2==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=3;
}
 else 
if((95==z2)){
_state=4;
}
 else{_state=8;
}}
}
 else 
if((3==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
}
 else 
if((95==z2)){
r818fcp(C,((T0*)ms147_818));
}
 else{_state=8;
}}
}
 else 
if((4==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=5;
}
 else{r818fcp(C,((T0*)ms147_818));
}}
}
 else 
if((5==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=6;
}
 else{r818fcp(C,((T0*)ms147_818));
}}
}
 else 
if((6==z1)){
{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
_value=((_value)*(10))+(r3value((((T818*)C))->_cc/*24*/));
_state=7;
}
 else{r818fcp(C,((T0*)ms147_818));
}}
}
 else {{int z2=(((T818*)C))->_cc/*24*/;

if(((48<=z2)&&(z2<=57))){
r818fcp(C,((T0*)ms147_818));
}
 else 
if((95==z2)){
_state=4;
}
 else{_state=8;
}}
}}
}
/*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) {
r818fcp(C,((T0*)ms158_818));
}
/*FI*/r818skip_comments(C);
{T342*n=malloc(sizeof(*n));
*n=M342;
r342make(n,_value,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/));
C->_last_integer_constant=(T0*)n;
}
}
/*FI*/return R;
}
/*No:EIFFEL_PARSER.last_binary*/

