/*
-- 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_jvm.h"
void r873make(T873* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_to_string=r902item(a2);
}
/*No:ARGUMENT_NAME1.to_string*/
/*No:ARGUMENT_NAME1.compile_to_jvm_assignment*/
/*No:ARGUMENT_NAME1.fz_iinaiv*/
int r873jvm_branch_if_true(T873* C){
int R=0;
r873compile_to_jvm(C);
R=r256opcode_ifne(((T256*)(oBC364code_attribute)));
return R;
}
/*No:ARGUMENT_NAME1.set_result_type*/
/*No:ARGUMENT_NAME1.start_position*/
/*No:ARGUMENT_NAME1.compile_to_jvm_old*/
/*No:ARGUMENT_NAME1.set_rank*/
T0* r873to_runnable(T873* C,T0* a1){
T0* R=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
_t1=(((T873*)C))->_result_type/*24*/;
_t2=X291to_runnable(_t1,a1);
/*IF*/if ((_t2)==((void*)(NULL))) {
r683add_position(X291start_position(_t1));
r873error((((T873*)C))->_start_position/*16*/,((T0*)ms5_361));
}
/*FI*//*IF*/if (((((T873*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
C->_result_type=_t2;
R=(T0*)C;
}
else {
{T873*n=malloc(sizeof(*n));
*n=M873;
r873make_runnable(n,(T0*)C,a1,_t2);
R=(T0*)n;
}
}
/*FI*/return R;
}
/*No:ARGUMENT_NAME1.rank*/
/*No:ARGUMENT_NAME1.result_type*/
/*No:ARGUMENT_NAME1.is_result*/
/*No:ARGUMENT_NAME1.is_static*/
void r873standard_compile_target_to_jvm(T873* C){
r873compile_to_jvm(C);
X291jvm_check_class_invariant((((T873*)C))->_result_type/*24*/);
}
int r873compile_to_jvm_into(T873* C,T0* a1){
int R=0;
R=r873standard_compile_to_jvm_into(C,a1);
return R;
}
/*No:ARGUMENT_NAME1.compile_target_to_jvm*/
T0* r873base_class_written(T873* C){
T0* R=NULL;
R=r451base_class(((T451*)(r873written_in(C))));
return R;
}
/*No:ARGUMENT_NAME1.can_be_dropped*/
/*No:ARGUMENT_NAME1.current_type*/
/*No:ARGUMENT_NAME1.jvm_assign*/
/*No:ARGUMENT_NAME1.static_value_mem*/
/*No:ARGUMENT_NAME1.is_manifest_string*/
/*No:ARGUMENT_NAME1.is_void*/
void r873compile_to_jvm(T873* C){
int _jvm_offset=0;
_jvm_offset=r228argument_offset_of(((T228*)(oBC364jvm)),(T0*)C);
X291jvm_push_local(X291run_type((((T873*)C))->_result_type/*24*/),_jvm_offset);
}
/*No:ARGUMENT_NAME1.is_pre_computable*/
/*No:ARGUMENT_NAME1.use_current*/
void r873error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:ARGUMENT_NAME1.isa_dca_inline_argument*/
int r873standard_compile_to_jvm_into(T873* C,T0* a1){
int R=0;
r873compile_to_jvm(C);
R=X291jvm_convert_to(X291run_type((((T873*)C))->_result_type/*24*/),a1);
return R;
}
/*No:ARGUMENT_NAME1.em_ba*/
/*No:ARGUMENT_NAME1.afd_check*/
void r873make_runnable(T873* C,T0* a1,T0* a2,T0* a3){
*((T873*)(C))=*((T873*)(a1));
C->_current_type=a2;
C->_result_type=a3;
}
T0* r292add_comment(T292* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
 else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
R=(T0*)C;
}
else {
{T46*n=malloc(sizeof(*n));
*n=M46;
r46make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/}
/*FI*/return R;
}
void r292make(T292* C,T0* a1,T0* a2,T0* a3){
{T623*n=malloc(sizeof(*n));
*n=M623;
r623make(n,a1,a2,a3);
C->_check_invariant=(T0*)n;
}
}
/*No:E_CHECK.start_position*/
T0* r292to_runnable(T292* C,T0* a1){
T0* R=NULL;
T0* _al=NULL;
/*IF*/if (((((T292*)C))->_run_compound/*4*/)==((void*)(NULL))) {
C->_run_compound=a1;
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
_al=r623to_runnable(((T623*)((((T292*)C))->_check_invariant/*8*/)),(((T592*)((T592*)a1)))->_current_type/*4*/);
/*IF*/if ((_al)==((void*)(NULL))) {
r292error(/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,((T0*)ms1_292));
}
else {
C->_check_invariant=_al;
R=(T0*)C;
}
/*FI*/}
else {
R=(T0*)C;
}
/*FI*/}
else {
{T292*n=malloc(sizeof(*n));
*n=M292;
r292make(n,/*(IRF4.6start_position*/(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_start_position/*0*//*)*/,NULL,(((T623*)((T623*)((((T292*)C))->_check_invariant/*8*/))))->_list/*8*/);
R=(T0*)n;
}
R=r292to_runnable(((T292*)R),a1);
}
/*FI*/return R;
}
/*No:E_CHECK.check_invariant*/
/*No:E_CHECK.run_compound*/
void r292compile_to_jvm(T292* C){
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
r623compile_to_jvm(((T623*)((((T292*)C))->_check_invariant/*8*/)),1);
}
/*FI*/}
int r292is_pre_computable(T292* C){
int R=0;
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
R=r623is_pre_computable(((T623*)((((T292*)C))->_check_invariant/*8*/)));
}
else {
R=1;
}
/*FI*/return R;
}
int r292use_current(T292* C){
int R=0;
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
R=r623use_current(((T623*)((((T292*)C))->_check_invariant/*8*/)));
}
/*FI*/return R;
}
void r292error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:E_CHECK.end_mark_comment*/
void r292afd_check(T292* C){
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
r623afd_check(((T623*)((((T292*)C))->_check_invariant/*8*/)));
}
/*FI*/}
/*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.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*/
/*No:SMALL_EIFFEL.dos_system*/
T0*oBC364cecil_pool=NULL;
/*No:SMALL_EIFFEL.fz_system_se*/
/*No:SMALL_EIFFEL.fz_sys*/
T0*oBC364gc_handler=NULL;
/*No:SMALL_EIFFEL.falling_down*/
T0* r604get_started(T604* C,T0* a1,T0* a2){
T0* R=NULL;
int _magic=0;
T0* _root_type=NULL;
T0* _root_proc=NULL;
T0* _root=NULL;
T0* _root_proc_name=NULL;
T0* _root_name=NULL;
r306put_string(((T306*)(oBC364echo)),((T0*)ms1_604));
r306put_string(((T306*)(oBC364echo)),((T0*)ms28_604));
_root=r604load_class(C,a1);
/*IF*/if ((_root)==((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms29_604);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a1;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
else {
_root_name=(((T605*)((T605*)_root)))->_base_class_name/*24*/;
{T446*n=malloc(sizeof(*n));
*n=M446;
r446make(n,a2,NULL);
_root_proc_name=(T0*)n;
}
_root_proc=r605root_procedure(((T605*)_root),a2);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (((((T297*)((T297*)_root_proc)))->_arguments/*28*/)!=((void*)(NULL))) {
r683add_position(r297start_position(((T297*)_root_proc)));
/*[IRF3.6append*/{T0* b1=((T0*)ms30_604);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=a2;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms31_604));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_root_type=(((T355*)((T355*)(r605run_class(((T605*)_root))))))->_current_type/*0*/;
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=r297to_run_feature(((T297*)_root_proc),_root_type,_root_proc_name);
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
/*[IRF3.3do_not_inline*/((((T832*)(((T832*)R))))->_in_line_status)=(-(1));
/*]*/
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
r306put_string(((T306*)(oBC364echo)),((T0*)ms32_604));
r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604));
/*[IRF3.2falling_down*/{int _i=0;
T0* _rc=NULL;
/*[IRF3.2falling_down*/{int _count2=0;
int _count1=0;
T0* _dictionary2=NULL;
/*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) {
_count1=1;
while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) {
_dictionary2=r338item(((T338*)(oBC576dictionary)),_count1);
_count2=1;
while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) {
X496fall_down(r199item(((T199*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI*/}/*]*/
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
r355falling_down(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
r625fill_up(((T625*)(oBC364cecil_pool)));
while (!(((_magic)==((((T604*)C))->_magic_count/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
_magic=(((T604*)C))->_magic_count/*8*/;
/*[IRF3.2falling_down*/{int _i=0;
T0* _rc=NULL;
/*[IRF3.2falling_down*/{int _count2=0;
int _count1=0;
T0* _dictionary2=NULL;
/*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) {
_count1=1;
while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) {
_dictionary2=r338item(((T338*)(oBC576dictionary)),_count1);
_count2=1;
while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) {
X496fall_down(r199item(((T199*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI*/}/*]*/
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
r355falling_down(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r306put_string(((T306*)(oBC364echo)),((T0*)ms33_604));
r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
r306put_string(((T306*)(oBC364echo)),((T0*)ms34_604));
r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604));
/*[IRF3.2afd_check*/{int _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
r355afd_check(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
while (!(((_magic)==((((T604*)C))->_magic_count/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
_magic=(((T604*)C))->_magic_count/*8*/;
/*[IRF3.2falling_down*/{int _i=0;
T0* _rc=NULL;
/*[IRF3.2falling_down*/{int _count2=0;
int _count1=0;
T0* _dictionary2=NULL;
/*IF*/if (!(/*(IRF4.7empty*/((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/)==(0)/*)*/)) {
_count1=1;
while (!((_count1)>((((T338*)((T338*)(oBC576dictionary))))->_count/*40*/))) {
_dictionary2=r338item(((T338*)(oBC576dictionary)),_count1);
_count2=1;
while (!((_count2)>((((T199*)((T199*)_dictionary2)))->_count/*40*/))) {
X496fall_down(r199item(((T199*)_dictionary2),_count2));
_count2=(_count2)+(1);
}
_count1=(_count1)+(1);
}
}
/*FI*/}/*]*/
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
r355falling_down(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
/*[IRF3.2afd_check*/{int _i=0;
T0* _rc=NULL;
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
r355afd_check(((T355*)_rc));
_i=(_i)+(1);
}
}/*]*/
}
r306put_string(((T306*)(oBC364echo)),((T0*)ms35_604));
r306put_integer(((T306*)(oBC364echo)),(((T604*)C))->_magic_count/*8*/);
r306put_string(((T306*)(oBC364echo)),((T0*)ms61_604));
/*[IRF3.2check_for_deferred*/{T0* _rc=NULL;
T0* _rf9=NULL;
int _i=0;
_i=/*X308*/((int)(((T308*)((T308*)(oBC604rf9_memory))))->_upper/*12*/);
r306print_count(((T306*)(oBC364echo)),((T0*)ms38_604),(_i)+(1));
while (!((_i)<(0))) {
_rf9=/*X308*/((T0*)r308item(((T308*)(oBC604rf9_memory)),_i));
_rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_current_type/*4*/));
/*IF*/if ((((T355*)((T355*)_rc)))->_at_run_time/*8*/) {
r683add_position(X496start_position(_rf9));
/*[IRF3.6append*/{T0* b1=X776to_string(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_name/*16*/));
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms39_604);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291written_mark(/*X496*/((T0*)(((T832*)((T832*)_rf9)))->_current_type/*4*/));
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms67_470);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_i=(_i)-(1);
}
}/*]*/
}
/*FI*//*IF*/if (!(r683empty())) {
/*[IRF3.6append*/{T0* b1=((T0*)ms36_604);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
C->_is_ready=1;
r306print_count(((T306*)(oBC364echo)),((T0*)ms37_604),(((T718*)((T718*)(oBC604base_class_dictionary))))->_count/*32*/);
}
/*FI*/return R;
}
int fBC604loading_path=0;
T0*oBC604loading_path=NULL;
T0* r604loading_path(T604* C){
if (fBC604loading_path==0){
T0* R=NULL;
T0* _file=NULL;
T0* _path=NULL;
fBC604loading_path=1;
{T52*n=malloc(sizeof(*n));
*n=M52;
r52make(n,1,10);
R=(T0*)n;
}
r52clear(((T52*)R));
{T675*n=malloc(sizeof(*n));
*n=M675;
r675connect_to(n,((T0*)ms2_604));
_file=(T0*)n;
}
/*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)_file)))->_path/*4*/)!=(NULL)/*)*/) {
while (!(r675end_of_input(((T675*)_file)))) {
r675read_line(((T675*)_file));
r52add_last(((T52*)R),r7twin(((T7*)(oBC762last_string))));
}
r675disconnect(((T675*)_file));
}
/*FI*/_path=r7twin(((T7*)(r604small_eiffel_directory(C))));
r604add_directory(C,_path,((T0*)ms126_470));
r7append(((T7*)_path),((T0*)ms3_604));
r7append(((T7*)_path),r604system_name(C));
r675connect_to(((T675*)_file),_path);
/*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)_file)))->_path/*4*/)!=(NULL)/*)*/) {
while (!(r675end_of_input(((T675*)_file)))) {
r675read_line(((T675*)_file));
r52add_last(((T52*)R),r7twin(((T7*)(oBC762last_string))));
}
r675disconnect(((T675*)_file));
}
else {
r306w_put_string(((T0*)ms4_604));
r306w_put_string(_path);
r306w_put_string(((T0*)ms5_604));
}
/*FI*/oBC604loading_path=R;}
return oBC604loading_path;}
/*No:SMALL_EIFFEL.unix_system*/
/*No:SMALL_EIFFEL.exit_failure_code*/
/*No:SMALL_EIFFEL.vms_system*/
T0*oBC604run_class_dictionary=NULL;
T0* r604small_eiffel_directory(T604* C){
if (fBC364small_eiffel_directory==0){
T0* R=NULL;
char _slash=0;
int _i=0;
fBC364small_eiffel_directory=1;
R=r604get_environment_variable(C,((T0*)ms121_470));
/*IF*/if ((R)==((void*)(NULL))) {
R=r7twin(((T7*)(((T0*)ms121_470))));
r7to_upper(((T7*)R));
R=r604get_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;}
T0*oBC604stack_rf=NULL;
/*No:SMALL_EIFFEL.amiga_system*/
void r604afd_check_deferred(T0* a1){
/*IF*/if (!(X308fast_has(oBC604rf9_memory,a1))) {
X308add_last(oBC604rf9_memory,a1);
}
/*FI*/}
/*No:SMALL_EIFFEL.make*/
/*No:SMALL_EIFFEL.last_unique*/
/*No:SMALL_EIFFEL.nb_errors*/
T0*oBC604tmp_tail=NULL;
int fBC604tmp_class_name=0;
T0*oBC604tmp_class_name=NULL;
T0* r604tmp_class_name(void){
if (fBC604tmp_class_name==0){
T0* R=NULL;
fBC604tmp_class_name=1;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms1_473),NULL);
R=(T0*)n;
}
oBC604tmp_class_name=R;}
return oBC604tmp_class_name;}
/*No:SMALL_EIFFEL.check_for_deferred*/
T0*oBC364parser_buffer=NULL;
void r604add_class(T604* C,T0* a1){
r718put(((T718*)(oBC604base_class_dictionary)),a1,(((T451*)((T451*)((((T605*)((T605*)a1)))->_base_class_name/*24*/))))->_to_string/*0*/);
r604incr_magic_count(C);
}
void r604push(T604* C,T0* a1){
C->_top=((((T604*)C))->_top/*12*/)+(1);
X477force(oBC604stack_rf,a1,(((T604*)C))->_top/*12*/);
}
int r604next_unique(T604* C){
int R=0;
/*IF*/if (((((T604*)C))->_last_unique/*16*/)<(1000)) {
C->_last_unique=1000;
}
/*FI*/C->_last_unique=((((T604*)C))->_last_unique/*16*/)+(1);
R=(((T604*)C))->_last_unique/*16*/;
return R;
}
T0* r604top_rf(T604* C){
T0* R=NULL;
R=/*X477*/((T0*)r477item(((T477*)(oBC604stack_rf)),(((T604*)C))->_top/*12*/));
return R;
}
/*No:SMALL_EIFFEL.copyright*/
void r604add_directory(T604* C,T0* a1,T0* a2){
/*IF*/if ((((T0*)ms17_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms19_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms15_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if ((((T0*)ms14_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms16_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms13_364))==((void*)(r604system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms18_364))==((void*)(r604system_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*oBC604parser_buffer_path=NULL;
/*No:SMALL_EIFFEL.windows_system*/
T0* r604get_environment_variable(T604* 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;
}
/*No:SMALL_EIFFEL.short_flag*/
/*No:SMALL_EIFFEL.fz_03*/
T0* r604get_class(T0* a1){
T0* R=NULL;
/*IF*/if (r718has(((T718*)(oBC604base_class_dictionary)),a1)) {
R=r718at(((T718*)(oBC604base_class_dictionary)),a1);
}
else {
r451make(((T451*)(r604tmp_class_name())),a1,NULL);
R=r451base_class(((T451*)(r604tmp_class_name())));
}
/*FI*/return R;
}
T0* r604system_name(T604* C){
if (fBC364system_name==0){
T0* R=NULL;
int _i=0;
fBC364system_name=1;
r7copy(((T7*)(oBC364tmp_path)),r604small_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)),r604small_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)),r604small_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)),r604small_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)),r604small_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(r604small_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;}
int r604parser_buffer_for(T604* C,T0* a1){
int R=0;
int _i=0;
r7copy(((T7*)(oBC604tmp_tail)),a1);
r7to_lower(((T7*)(oBC604tmp_tail)));
/*IF*/if (!(r7has_suffix(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)))) {
r7append(((T7*)(oBC604tmp_tail)),((T0*)ms25_364));
}
/*FI*/_i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/;
while (!(((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))||(R))) {
r7copy(((T7*)(oBC604parser_buffer_path)),r52item(((T52*)(r604loading_path(C))),_i));
r7append(((T7*)(oBC604parser_buffer_path)),oBC604tmp_tail);
r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path);
R=/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
/*IF*/if ((!(R))&&(r794has(((T794*)(r604rename_dictionary(C))),oBC604tmp_tail))) {
r7copy(((T7*)(oBC604parser_buffer_path)),r794at(((T794*)(r604rename_dictionary(C))),oBC604tmp_tail));
r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path);
/*IF*/if (/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/) {
R=1;
}
else {
r306w_put_string(((T0*)ms10_604));
r306w_put_string(oBC604parser_buffer_path);
r306w_put_string(((T0*)ms137_470));
exit(1);
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
r7copy(((T7*)(oBC604tmp_tail)),a1);
/*IF*/if (!(r7has_suffix(((T7*)(oBC604tmp_tail)),((T0*)ms25_364)))) {
r7append(((T7*)(oBC604tmp_tail)),((T0*)ms25_364));
}
/*FI*/_i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/;
while (!(((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))||(R))) {
r7copy(((T7*)(oBC604parser_buffer_path)),r52item(((T52*)(r604loading_path(C))),_i));
r7append(((T7*)(oBC604parser_buffer_path)),oBC604tmp_tail);
r676load_file(((T676*)(oBC364parser_buffer)),oBC604parser_buffer_path);
R=/*(IRF4.7is_ready*/((((T676*)((T676*)(oBC364parser_buffer))))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
}
/*FI*//*IF*/if (!(R)) {
r306w_put_string(((T0*)ms11_604));
r306w_put_string(a1);
r306w_put_string(((T0*)ms12_604));
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC604parser_buffer_path)))))->_count)=(0);
/*]*/
r604append_loading_path_in(C,oBC604parser_buffer_path);
r306w_put_string(oBC604parser_buffer_path);
}
/*FI*/return R;
}
/*No:SMALL_EIFFEL.fz_b0*/
/*No:SMALL_EIFFEL.em1*/
/*No:SMALL_EIFFEL.is_ready*/
/*No:SMALL_EIFFEL.base_class_count*/
/*No:SMALL_EIFFEL.fz_se*/
/*No:SMALL_EIFFEL.os2_system*/
void r604pop(T604* C){
C->_top=((((T604*)C))->_top/*12*/)-(1);
}
int fBC604rename_dictionary=0;
T0*oBC604rename_dictionary=NULL;
T0* r604rename_dictionary(T604* C){
if (fBC604rename_dictionary==0){
T0* R=NULL;
T0* _short_name=NULL;
T0* _full_name=NULL;
int _i=0;
fBC604rename_dictionary=1;
{T794*n=malloc(sizeof(*n));
*n=M794;
r794make(n);
R=(T0*)n;
}
_i=1;
while (!((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))) {
r7copy(((T7*)(oBC364tmp_path)),r52item(((T52*)(r604loading_path(C))),_i));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms13_604));
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
/*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/) {
while (!(r675end_of_input(((T675*)(oBC364tmp_file_read))))) {
r675read_word(((T675*)(oBC364tmp_file_read)));
_full_name=r7twin(((T7*)(oBC762last_string)));
r675read_word(((T675*)(oBC364tmp_file_read)));
_short_name=r7twin(((T7*)(oBC762last_string)));
r7prepend(((T7*)_short_name),r52item(((T52*)(r604loading_path(C))),_i));
/*IF*/if (r794has(((T794*)R),_full_name)) {
r306w_put_string(((T0*)ms14_604));
r306w_put_string(_full_name);
r306w_put_string(((T0*)ms15_604));
r306w_put_string(_short_name);
r306w_put_string(((T0*)ms16_604));
r306w_put_string(r794at(((T794*)R),_full_name));
r306w_put_string(((T0*)ms17_604));
exit(1);
}
/*FI*/r794put(((T794*)R),_short_name,_full_name);
r675skip_separators(((T675*)(oBC364tmp_file_read)));
}
r675disconnect(((T675*)(oBC364tmp_file_read)));
}
/*FI*/_i=(_i)+(1);
}
oBC604rename_dictionary=R;}
return oBC604rename_dictionary;}
T0* r604run_class(T0* a1){
T0* R=NULL;
T0* _run_string=NULL;
_run_string=X291run_time_mark(a1);
/*IF*/if (r250has(((T250*)(oBC604run_class_dictionary)),_run_string)) {
R=r250at(((T250*)(oBC604run_class_dictionary)),_run_string);
}
else {
{T355*n=malloc(sizeof(*n));
*n=M355;
r355make(n,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
void r604append_loading_path_in(T604* C,T0* a1){
T0* _sed=NULL;
int _i=0;
r7append(((T7*)a1),((T0*)ms62_604));
_i=(((T52*)((T52*)(r604loading_path(C)))))->_lower/*12*/;
while (!((_i)>((((T52*)((T52*)(r604loading_path(C)))))->_upper/*8*/))) {
r7extend(((T7*)a1),'\42');
r7append(((T7*)a1),r52item(((T52*)(r604loading_path(C))),_i));
r7extend(((T7*)a1),'\42');
r7extend(((T7*)a1),'\n');
_i=(_i)+(1);
}
r7append(((T7*)a1),((T0*)ms63_604));
r7append(((T7*)a1),((T0*)ms121_470));
_sed=r604get_environment_variable(C,((T0*)ms121_470));
r7append(((T7*)a1),((T0*)ms64_604));
/*IF*/if ((_sed)==((void*)(NULL))) {
r7append(((T7*)a1),((T0*)ms65_604));
}
else {
r7append(((T7*)a1),((T0*)ms66_604));
r7append(((T7*)a1),_sed);
r7append(((T7*)a1),((T0*)ms67_604));
}
/*FI*/r7extend(((T7*)a1),'\n');
}
/*No:SMALL_EIFFEL.top*/
T0*oBC604rf9_memory=NULL;
int r604is_used(T0* a1){
int R=0;
R=r718has(((T718*)(oBC604base_class_dictionary)),a1);
return R;
}
/*No:SMALL_EIFFEL.macintosh_system*/
/*No:SMALL_EIFFEL.fz_dot*/
void r604compile_to_jvm(T604* C,T0* a1,T0* a2){
int _i=0;
int _run_count=0;
T0* _rc=NULL;
T0* _rf3=NULL;
_rf3=r604get_started(C,a1,a2);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
r228mkdir(((T228*)(oBC364jvm)),_rf3);
_i=1;
while (!((_i)>((((T250*)((T250*)(oBC604run_class_dictionary))))->_count/*40*/))) {
_rc=r250item(((T250*)(oBC604run_class_dictionary)),_i);
/*IF*/if ((((T355*)((T355*)_rc)))->_at_run_time/*8*/) {
_run_count=(_run_count)+(1);
r355compile_to_jvm(((T355*)_rc));
}
/*FI*/_i=(_i)+(1);
}
r306print_count(((T306*)(oBC364echo)),((T0*)ms26_604),_run_count);
r228write_jvm_root_class(((T228*)(oBC364jvm)));
r228write_main_class(((T228*)(oBC364jvm)),_rf3);
}
else {
r683error(((T683*)(oBC364eh)),((T0*)ms27_604));
}
/*FI*/}
void r604incr_magic_count(T604* C){
C->_magic_count=((((T604*)C))->_magic_count/*8*/)+(1);
}
/*No:SMALL_EIFFEL.magic_count*/
/*No:SMALL_EIFFEL.eiffel_suffix*/
T0* r604base_class(T604* C,T0* a1){
T0* R=NULL;
/*IF*/if (r718has(((T718*)(oBC604base_class_dictionary)),(((T451*)((T451*)a1)))->_to_string/*0*/)) {
R=r718at(((T718*)(oBC604base_class_dictionary)),(((T451*)((T451*)a1)))->_to_string/*0*/);
}
 else if ((((T818*)((T818*)(oBC364eiffel_parser))))->_is_running/*8*/) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms6_604);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
else {
/*IF*/if (r604parser_buffer_for(C,(((T451*)((T451*)a1)))->_to_string/*0*/)) {
R=r818analyse_class(((T818*)(oBC364eiffel_parser)),a1);
}
/*FI*//*IF*/if ((R)==((void*)(NULL))) {
r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms7_604);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
/*FI*/return R;
}
/*No:SMALL_EIFFEL.fatal_error*/
T0* r604load_class(T604* C,T0* a1){
T0* R=NULL;
/*IF*/if (r604parser_buffer_for(C,a1)) {
R=r818analyse_class(((T818*)(oBC364eiffel_parser)),NULL);
/*IF*/if ((R)==((void*)(NULL))) {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_604);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
else {
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_604);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/return R;
}
/*No:SMALL_EIFFEL.afd_check*/
/*No:SMALL_EIFFEL.us_any*/
T0*oBC604base_class_dictionary=NULL;

