/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile.h"
T34 M34=NULL;
T36 M36={NULL};
T27 M27={NULL,NULL,NULL};
T20 M20={0};
T38 M38={NULL,0,0};
T7 M7={NULL,0,0};
T30 M30={NULL,0,0,0};
T22 M22=NULL;
T10 M10={0};
T28 M28={0,NULL,0,0};
T35 M35=0;


T7*se_ms(int c,char*e){
T7*s=malloc(sizeof(T7));
s->_count=c;
s->_capacity=c+1;
s->_storage=malloc(c+2);
memcpy(s->_storage,e,c);
return s;}


T7*e2s(char*e){
return se_ms(strlen(e),e);}


char*s2e(T7*s){
char*e=malloc(1+s->_count);
memcpy(e,s->_storage,s->_count);
e[s->_count]='\0';
return e;}
/*
-- This file is  free  software, which  comes  along  with  SmallEiffel. This
-- software  is  distributed  in the hope that it will be useful, but WITHOUT 
-- ANY  WARRANTY;  without  even  the  implied warranty of MERCHANTABILITY or
-- FITNESS  FOR A PARTICULAR PURPOSE. You can modify it as you want, provided
-- this header is kept unaltered, and a notification of the changes is added.
-- You  are  allowed  to  redistribute  it and sell it, alone or as a part of 
-- another product.
--          Copyright (C) 1994-98 LORIA - UHP - CRIN - INRIA - FRANCE
--            Dominique COLNET and Suzanne COLLIN - colnet@loria.fr 
--                       http://www.loria.fr/SmallEiffel
--
*/

/*
  This file (boost.c) is automatically included when `run_control.boost' is
  true (ie. only for mode -boost).
*/

void se_print_run_time_stack (void) {
  fprintf(SE_ERR,"Eiffel program crash at run time.\n");
  fprintf(SE_ERR,"No trace when using option \"-boost\"\n");
}

void sigrsp(int sig) {
  printf("Received signal %d (man signal).\n",sig);
  se_print_run_time_stack();
  exit(1);
}


T3 r3to_upper(T3 C){
T3 R=0;
/*[IF*/
if((((unsigned char)C))<(97)){
R=C;
}
 else if((((unsigned char)C))>(122)){
R=C;
}
else{
R=((T3)((((unsigned char)C))-(32)));
}
/*FI]*/
return R;
}


T6 r3is_separator(T3 C){
T6 R=0;
{int z1=C;

if((0==z1)||((9<=z1)&&(z1<=10))||(13==z1)||(32==z1)){
R=1;
}
}
return R;
}


T3 r3to_lower(T3 C){
T3 R=0;
/*[IF*/
if((((unsigned char)C))<(65)){
R=C;
}
 else if((((unsigned char)C))>(90)){
R=C;
}
else{
R=((T3)((((unsigned char)C))+(32)));
}
/*FI]*/
return R;
}


T6 r3is_letter(T3 C){
T6 R=0;
{int z1=C;

if(((65<=z1)&&(z1<=90))||((97<=z1)&&(z1<=122))){
R=1;
}
}
return R;
}


T6 r3is_digit(T3 C){
T6 R=0;
{int z1=C;

if(((48<=z1)&&(z1<=57))){
R=1;
}
}
return R;
}


T6 r6_ix_not(T6 C){
T6 R=0;
/*[IF*/
if(C){
}
else{
R=1;
}
/*FI]*/
return R;
}


void r33set_all_with(T33 C,T0* a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=(a1);
_i=(_i)-(1);
}
}


T6 r33equal_like(T0* a1,T0* a2){
T6 R=0;
/*[IF*/
/*AF*//*AF*/if((a1)==((void*)(a2))){
R=1;
}
 else if(((a1)==((void*)(NULL)))||((a2)==((void*)(NULL)))){
}
else{
R=r7is_equal(((T7*)a1),a2);
}
/*FI]*/
return R;
}


T2 r33index_of(T33 C,T0* a1,T2 a2){
T2 R=0;
while (!(((R)>(a2))||(r33equal_like(a1,(C)[R])))) {
R=(R)+(1);
}
return R;
}


T6 r9fast_memcmp(T9 C,T9 a1,T2 a2){
T6 R=0;
T2 _i=0;
R=1;
_i=(a2)-(1);
while (!(((_i)<(0))||(!(R)))) {
R=((C)[_i])==((a1)[_i]);
_i=(_i)-(1);
}
return R;
}


T9 r9realloc(T9 C,T2 a1,T2 a2){
T9 R=NULL;
R=calloc(a2,sizeof(T3));
r9copy_from(R,C,(a1)-(1));
return R;
}


void r9copy_at(T9 C,T2 a1,T9 a2,T2 a3){
T2 _i2=0;
T2 _i1=0;
_i1=a1;
while (!((_i2)==(a3))) {
(C)[_i1]=((a2)[_i2]);
_i2=(_i2)+(1);
_i1=(_i1)+(1);
}
}


T2 r9fast_index_of(T9 C,T3 a1,T2 a2){
T2 R=0;
while (!(((R)>(a2))||((a1)==((C)[R])))) {
R=(R)+(1);
}
return R;
}


void r9copy_from(T9 C,T9 a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=((a1)[_i]);
_i=(_i)-(1);
}
}


void r7remove_first(T7* C,T2 a1){
/*[IF*/
if((a1)>(0)){
r7remove_between(C,1,a1);
}
/*FI]*/
}


T6 r7has(T7* C,T3 a1){
T6 R=0;
R=(r7index_of(C,a1))!=(((C)->_count/*4*/)+(1));
return R;
}


T8 r7to_external(T7* C){
T8 R=0;
/*[IF*/
if(((C)->_capacity/*8*/)>((C)->_count/*4*/)){
C->_count=((C)->_count/*4*/)+(1);
/*[IF*/
if((/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/)!=('\0')){
/*[IRF3.5put*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]=('\0');
/*]*/
}
/*FI]*/
}
else{
r7extend(C,'\0');
}
/*FI]*/
C->_count=((C)->_count/*4*/)-(1);
R=((void*)(C)->_storage/*0*/);
return R;
}


void r7to_upper(T7* C){
T2 _i=0;
_i=(C)->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(r3to_upper(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}
/*No:STRING.remove_suffix*/


T0* r7twin(T7* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T7*)R)=M7;
r7copy(((T7*)R),((T0*)C));
return R;
}


void r7set_last(T7* C,T3 a1){
/*[IF*/
if((((C)->_count/*4*/)==(0))||((/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/)!=(a1))){
r7extend(C,a1);
}
/*FI]*/
}


void r7remove_last(T7* C,T2 a1){
C->_count=((C)->_count/*4*/)-(a1);
}


void r7to_lower(T7* C){
T2 _i=0;
_i=(C)->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(_i)-(1)]=(r3to_lower(/*(IRF4.6item*/((C)->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}


T6 r7is_equal(T7* C,T0* a1){
T6 R=0;
/*[IF*/
if((C)==((void*)(a1))){
R=1;
}
 else if(((C)->_count/*4*/)==((((T7*)a1))->_count/*4*/)){
R=r9fast_memcmp((C)->_storage/*0*/,(((T7*)a1))->_storage/*0*/,(C)->_count/*4*/);
}
/*FI]*/
return R;
}


T6 r7has_suffix(T7* C,T0* a1){
T6 R=0;
T2 _i2=0;
T2 _i1=0;
/*[IF*/
if(((((T7*)a1))->_count/*4*/)<=((C)->_count/*4*/)){
_i1=(((C)->_count/*4*/)-((((T7*)a1))->_count/*4*/))+(1);
_i2=1;
while (!((((_i1)>((C)->_count/*4*/))||((_i2)>((((T7*)a1))->_count/*4*/)))||((/*(IRF4.6item*/((C)->_storage/*0*/)[(_i1)-(1)]/*)*/)!=(/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i2)-(1)]/*)*/)))) {
_i1=(_i1)+(1);
_i2=(_i2)+(1);
}
R=(_i1)>((C)->_count/*4*/);
}
/*FI]*/
return R;
}
/*No:STRING.item*/


void r7remove_between(T7* C,T2 a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)>=((C)->_count/*4*/))) {
/*[IRF3.5put*/((C)->_storage/*0*/)[(((a1)+(_i))-(a2))-(1)]=(/*(IRF4.6item*/((C)->_storage/*0*/)[((_i)+(1))-(1)]/*)*/);
/*]*/
_i=(_i)+(1);
}
C->_count=((C)->_count/*4*/)-(((a2)-(a1))+(1));
}


T3 r7last(T7* C){
T3 R=0;
R=/*(IRF4.6item*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]/*)*/;
return R;
}
/*No:STRING.count*/


void r7make(T7* C,T2 a1){
/*[IF*/
if((a1)>(0)){
/*[IF*/
if(((C)->_capacity/*8*/)<(a1)){
C->_storage=calloc(a1,sizeof(T3));
C->_capacity=a1;
}
/*FI]*/
}
/*FI]*/
C->_count=0;
}


void r7append(T7* C,T0* a1){
T2 _needed_capacity=0;
T2 _other_count=0;
_other_count=(((T7*)a1))->_count/*4*/;
_needed_capacity=((C)->_count/*4*/)+(_other_count);
/*[IF*/
if(((C)->_capacity/*8*/)<(_needed_capacity)){
/*[IF*/
if(((C)->_capacity/*8*/)==(0)){
C->_capacity=_needed_capacity;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T3));
}
else{
C->_storage=r9realloc((C)->_storage/*0*/,(C)->_capacity/*8*/,_needed_capacity);
C->_capacity=_needed_capacity;
}
/*FI]*/
}
/*FI]*/
r9copy_at((C)->_storage/*0*/,(C)->_count/*4*/,(((T7*)a1))->_storage/*0*/,_other_count);
C->_count=_needed_capacity;
}


void r7extend(T7* C,T3 a1){
T2 _new_capacity=0;
/*[IF*/
if(((C)->_capacity/*8*/)>((C)->_count/*4*/)){
}
 else if(((C)->_capacity/*8*/)==(0)){
C->_capacity=32;
C->_storage=calloc((C)->_capacity/*8*/,sizeof(T3));
}
else{
_new_capacity=(2)*((C)->_capacity/*8*/);
C->_storage=r9realloc((C)->_storage/*0*/,(C)->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI]*/
C->_count=((C)->_count/*4*/)+(1);
/*[IRF3.5put*/((C)->_storage/*0*/)[((C)->_count/*4*/)-(1)]=(a1);
/*]*/
}
/*No:STRING.clear*/


void r7copy(T7* C,T0* a1){
C->_count=(((T7*)a1))->_count/*4*/;
/*[IF*/
if(((C)->_count/*4*/)>(0)){
/*[IF*/
if(((C)->_capacity/*8*/)<((C)->_count/*4*/)){
C->_storage=calloc((C)->_count/*4*/,sizeof(T3));
C->_capacity=(C)->_count/*4*/;
}
/*FI]*/
r9copy_from((C)->_storage/*0*/,(((T7*)a1))->_storage/*0*/,((C)->_count/*4*/)-(1));
}
/*FI]*/
}


T2 r7index_of(T7* C,T3 a1){
T2 R=0;
R=(1)+(r9fast_index_of((C)->_storage/*0*/,a1,((C)->_count/*4*/)-(1)));
return R;
}
/*No:STRING.capacity*/
/*No:STRING.put*/
/*No:STRING.storage*/
/*No:FIXED_ARRAY[STRING].clear_all*/
/*No:FIXED_ARRAY[STRING].item*/
/*No:FIXED_ARRAY[STRING].set_all_with*/


void r38make(T38* C,T2 a1){
/*[IF*/
if((a1)==(0)){
C->_upper=-(1);
}
 else if(((C)->_capacity/*4*/)==(0)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if(((C)->_capacity/*4*/)<(a1)){
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
else{
C->_upper=(a1)-(1);
/*[IRF3.6clear_all*/{T38* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T38* C2=C1;
T0* c1=__value;
r33set_all_with((C2)->_storage/*0*/,c1,(C2)->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI]*/
}
/*No:FIXED_ARRAY[STRING].upper*/
/*No:FIXED_ARRAY[STRING].capacity*/
/*No:FIXED_ARRAY[STRING].put*/
/*No:FIXED_ARRAY[STRING].storage*/


T0* r30item(T30* C,T2 a1){
T0* R=NULL;
R=((C)->_storage/*0*/)[(a1)-((C)->_lower/*12*/)];
return R;
}
/*No:ARRAY[STRING].lower*/
/*No:ARRAY[STRING].upper*/


T2 r30index_of(T30* C,T0* a1){
T2 R=0;
R=((C)->_lower/*12*/)+(r33index_of((C)->_storage/*0*/,a1,((C)->_upper/*8*/)-((C)->_lower/*12*/)));
return R;
}
/*No:ARRAY[STRING].capacity*/
/*No:ARRAY[STRING].storage*/
/*No:STD_ERROR.flush*/


void r34put_string(T34* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((((T7*)a1))->_count/*4*/))) {
/*[IRF3.6put_character*/{T34* C1=C;
T3 b1=/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stderr)));
}/*]*/
_i=(_i)+(1);
}
}
/*No:STD_ERROR.make*/
/*No:STD_ERROR.put_character*/
/*No:RUN_CONTROL.root_class*/
/*No:RUN_CONTROL.eiffel_suffix*/
/*No:RUN_CONTROL.make*/


void r36compute_root_class(T36* C,T0* a1){
T3 _c=0;
T2 _i=0;
C->_root_class=r7twin(((T7*)a1));
/*[IF*/
if(r7has_suffix((T7*)((C)->_root_class/*0*/),((T0*)ms11_300))){
r7remove_last((T7*)((C)->_root_class/*0*/),2);
}
/*FI]*/
_i=((T7*)((C)->_root_class/*0*/))->_count/*4*/;
while (!((_i)==(0))) {
_c=/*(IRF4.6item*/(((T7*)((C)->_root_class/*0*/))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*[IF*/
if(r3is_letter(_c)){
_i=(_i)-(1);
}
 else if((_c)==('\137')){
_i=(_i)-(1);
}
 else if(r3is_digit(_c)){
_i=(_i)-(1);
}
else{
r7remove_first((T7*)((C)->_root_class/*0*/),_i);
_i=0;
}
/*FI]*/
}
r7to_upper((T7*)((C)->_root_class/*0*/));
}


T0* r27remove_make_script(T27* C){
T0* R=NULL;
R=r27path_h(C);
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)R);
T0* b1=((T0*)ms11_306);
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
r7append(((T7*)R),r27make_suffix(C));
r20file_removing((T20*)(oBC11echo),R);
return R;
}
/*No:SYSTEM_TOOLS.system_name*/


void r27parent_directory(T27* C,T0* a1){
/*[IF*/
if(r27slash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\57'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if(r27backslash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\134'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if(r27colon_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\72'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if((((T0*)ms27_756))==((void*)((C)->_system_name/*0*/))){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\56'))) {
r7remove_last(((T7*)a1),1);
}
r7remove_last(((T7*)a1),1);
r7extend(((T7*)a1),'\135');
}
/*FI]*/
}
/*No:SYSTEM_TOOLS.windows_system*/
/*No:SYSTEM_TOOLS.us_compile_to_c*/
int fBC27o_suffix_memory=0;
T0*oBC27o_suffix_memory=NULL;


T0* r27o_suffix_memory(T27* C){
if(fBC27o_suffix_memory==0){
fBC27o_suffix_memory=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,4);
oBC27o_suffix_memory=(T0*)n;
}
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms27_8721));
r7append((T7*)(((T0*)ms11_583550)),(C)->_system_name/*0*/);
r20sfr_connect_or_exit((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
oBC27o_suffix_memory=r20read_word_in((T20*)(oBC11echo),oBC11tmp_file_read);
r28disconnect((T28*)(oBC11tmp_file_read));
}
return oBC27o_suffix_memory;}
T0*oBC11tmp_file_read=NULL;
/*No:SYSTEM_TOOLS.fz_clean*/
/*No:SYSTEM_TOOLS.help_suffix*/
/*No:SYSTEM_TOOLS.fz_03*/
/*No:SYSTEM_TOOLS.vms_system*/
/*No:SYSTEM_TOOLS.fz_se*/


T0* r27path_h(T27* C){
T0* R=NULL;
R=r7twin((T7*)(((T36*)(oBC11run_control))->_root_class/*0*/));
r7to_lower(((T7*)R));
/*[IF*/
if((((T0*)ms27_708))==((void*)((C)->_system_name/*0*/))){
while (!(((((T7*)R))->_count/*4*/)<=(4))) {
r7remove_last(((T7*)R),1);
}
}
/*FI]*/
r7append(((T7*)R),((T0*)ms11_306));
return R;
}
/*No:SYSTEM_TOOLS.beos_system*/


T0* r27get_environment_variable(T27* C,T0* a1){
T0* R=NULL;
T8 _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
/*No:SYSTEM_TOOLS.fz_sys*/
/*No:SYSTEM_TOOLS.fz_system_se*/
/*No:SYSTEM_TOOLS.fz_bin*/
/*No:SYSTEM_TOOLS.dos_system*/
/*No:SYSTEM_TOOLS.sys_directory*/
int fBC27x_suffix=0;
T0*oBC27x_suffix=NULL;


T0* r27x_suffix(T27* C){
if(fBC27x_suffix==0){
fBC27x_suffix=1;
/*[IF*/
if(((((T0*)ms27_708))==((void*)((C)->_system_name/*0*/)))||((((T0*)ms27_756))==((void*)((C)->_system_name/*0*/)))){
oBC27x_suffix=((T0*)ms27_1128);
}
 else if((((T0*)ms27_654))==((void*)((C)->_system_name/*0*/))){
oBC27x_suffix=((T0*)ms27_1512);
}
 else if((((T0*)ms27_9331))==((void*)((C)->_system_name/*0*/))){
oBC27x_suffix=((T0*)ms27_1512a);
}
else{
oBC27x_suffix=((T0*)ms27_0);
}
/*FI]*/
}
return oBC27x_suffix;}
/*No:SYSTEM_TOOLS.fz_b0*/
T0*oBC27system_list=NULL;
T0*oBC11run_control=NULL;


void r27bad_use_exit(T27* C,T0* a1){
r20w_put_string(((T0*)ms27_46940));
r20w_put_string(a1);
r20w_put_string(((T0*)ms27_303));
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r27parent_directory(C,((T0*)ms11_583550));
r27add_directory(C,((T0*)ms11_583550),((T0*)ms27_966));
r7append((T7*)(((T0*)ms11_583550)),a1);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms11_1632));
r20w_put_string(((T0*)ms27_39440));
r20w_put_string(((T0*)ms11_583550));
r20w_put_character('\n');
exit(1);
}
/*No:SYSTEM_TOOLS.amiga_system*/
int fBC27make_suffix=0;
T0*oBC27make_suffix=NULL;


T0* r27make_suffix(T27* C){
if(fBC27make_suffix==0){
fBC27make_suffix=1;
/*[IF*/
if((((T0*)ms27_708))==((void*)((C)->_system_name/*0*/))){
oBC27make_suffix=((T0*)ms27_1084);
}
 else if((((T0*)ms27_9331))==((void*)((C)->_system_name/*0*/))){
oBC27make_suffix=((T0*)ms27_1468);
}
 else if((((T0*)ms27_756))==((void*)((C)->_system_name/*0*/))){
oBC27make_suffix=((T0*)ms27_1116);
}
 else if((((T0*)ms27_654))==((void*)((C)->_system_name/*0*/))){
oBC27make_suffix=((T0*)ms27_1072);
}
else{
oBC27make_suffix=((T0*)ms27_2375);
}
/*FI]*/
}
return oBC27make_suffix;}


void r27clean_in(T27* C,T0* a1){
/*[IF*/
if((((T0*)ms27_9331))!=((void*)((C)->_system_name/*0*/))){
r7append(((T7*)a1),(C)->_bin_directory/*8*/);
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms12_2650));
r7append(((T7*)a1),r27x_suffix(C));
}
/*No:SYSTEM_TOOLS.h_suffix*/


void r27add_directory(T27* C,T0* a1,T0* a2){
/*[IF*/
if(r27slash_separator(C)){
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if(r27backslash_separator(C)){
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if(r27colon_separator(C)){
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if((((T0*)ms27_756))==((void*)((C)->_system_name/*0*/))){
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]*/
}


void r27make(T27* C){
T2 _i=0;
T0* _system_se_path=NULL;
_system_se_path=r27get_environment_variable(C,((T0*)ms12_18788));
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
_system_se_path=r7twin((T7*)(((T0*)ms12_18788)));
r7to_upper(((T7*)_system_se_path));
_system_se_path=r27get_environment_variable(C,_system_se_path);
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
r20put_string((T20*)(oBC11echo),((T0*)ms27_226958));
_system_se_path=((T0*)ms27_132226);
r20put_string((T20*)(oBC11echo),_system_se_path);
r20put_string((T20*)(oBC11echo),((T0*)ms12_166));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r7has_suffix(((T7*)_system_se_path),((T0*)ms12_13428))){
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,_system_se_path);
}
else{
r20put_string((T20*)(oBC11echo),((T0*)ms27_852461));
/*[IF*/
if(r7has(((T7*)_system_se_path),'\57')){
r20put_string((T20*)(oBC11echo),((T0*)ms27_26690));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\57');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\57');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\134')){
r20put_string((T20*)(oBC11echo),((T0*)ms27_38940));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\134');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\134');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\72')){
r20put_string((T20*)(oBC11echo),((T0*)ms27_32565));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\72');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\72');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\135')){
r20put_string((T20*)(oBC11echo),((T0*)ms27_20300));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7set_last((T7*)(((T0*)ms11_583550)),'\135');
r7remove_last((T7*)(((T0*)ms11_583550)),1);
r7extend((T7*)(((T0*)ms11_583550)),'\56');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_1071));
r7extend((T7*)(((T0*)ms11_583550)),'\135');
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r20put_string((T20*)(oBC11echo),((T0*)ms27_8302));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r20sfr_connect((T20*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r20w_put_string(((T0*)ms27_720532));
exit(1);
}
/*FI]*/
r28read_line((T28*)(oBC11tmp_file_read));
C->_system_name=oBC29last_string;
_i=r30index_of((T30*)(oBC27system_list),(C)->_system_name/*0*/);
/*[IF*/
if((_i)>(((T30*)(oBC27system_list))->_upper/*8*/)){
r20w_put_string(((T0*)ms27_44196));
r20w_put_string(((T28*)(oBC11tmp_file_read))->_path/*4*/);
r20w_put_string(((T0*)ms27_23364));
_i=1;
while (!((_i)>(((T30*)(oBC27system_list))->_upper/*8*/))) {
r20w_put_string(r30item((T30*)(oBC27system_list),_i));
r20w_put_character('\n');
_i=(_i)+(1);
}
exit(1);
}
else{
C->_system_name=r30item((T30*)(oBC27system_list),_i);
r20put_string((T20*)(oBC11echo),((T0*)ms27_10175));
r20put_string((T20*)(oBC11echo),(C)->_system_name/*0*/);
r20put_string((T20*)(oBC11echo),((T0*)ms12_288));
}
/*FI]*/
C->_sys_directory=r7twin((T7*)(((T28*)(oBC11tmp_file_read))->_path/*4*/));
/*[IRF3.6remove_suffix*/{T7* C1=(T7*)((C)->_sys_directory/*4*/);
T0* b1=((T0*)ms12_13428);
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
r28disconnect((T28*)(oBC11tmp_file_read));
C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
r27parent_directory(C,(C)->_bin_directory/*8*/);
r27add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms12_957));
}
T0*oBC11echo=NULL;
/*No:SYSTEM_TOOLS.os2_system*/


T6 r27colon_separator(T27* C){
T6 R=0;
/*[IF*/
if((((T0*)ms27_12951))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms27_1356))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}


T6 r27slash_separator(T27* C){
T6 R=0;
/*[IF*/
if((((T0*)ms27_1336))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms27_2470))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}


T6 r27backslash_separator(T27* C){
T6 R=0;
/*[IF*/
if((((T0*)ms27_9331))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms27_708))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms27_654))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}
/*No:SYSTEM_TOOLS.unix_system*/
/*No:SYSTEM_TOOLS.exit_failure_code*/
/*No:SYSTEM_TOOLS.macintosh_system*/
/*No:SYSTEM_TOOLS.bin_directory*/


void r27compile_to_c_in(T27* C,T0* a1){
/*[IF*/
if((((T0*)ms27_9331))!=((void*)((C)->_system_name/*0*/))){
r7append(((T7*)a1),(C)->_bin_directory/*8*/);
}
/*FI]*/
r7append(((T7*)a1),((T0*)ms13_20868));
r7append(((T7*)a1),r27x_suffix(C));
}
/*No:SYSTEM_TOOLS.tmp_path*/
T0*oBC1std_error=NULL;
/*No:ECHO.fz_b0*/


void r20sfr_connect_or_exit(T20* C,T0* a1,T0* a2){
r20sfr_connect(C,a1,a2);
/*[IF*/
if(!(/*(IRF4.7is_connected*/((((T28*)a1))->_path/*4*/)!=(NULL)/*)*/)){
r20w_put_string(((T0*)ms12_3810));
r20w_put_string(a2);
r20w_put_string(((T0*)ms12_11640));
exit(1);
}
/*FI]*/
}


void r20sfr_connect(T20* C,T0* a1,T0* a2){
r20put_string(C,((T0*)ms20_26523));
r20put_string(C,a2);
r20put_string(C,((T0*)ms12_288));
r28connect_to(((T28*)a1),a2);
}
/*No:ECHO.verbose*/


void r20search_for_verbose_flag(T20* C){
T2 _i=0;
_i=/*(IRF4.9argument_count*/((T38*)(r20command_arguments()))->_upper/*8*//*)*/;
while (!((_i)==(0))) {
/*[IF*/
if(r7is_equal((T7*)(((T0*)ms12_10392)),r20argument(_i))){
C->_verbose=1;
_i=0;
}
else{
_i=(_i)-(1);
}
/*FI]*/
}
}


void r20call_system(T20* C,T0* a1){
r20put_string(C,((T0*)ms20_12909));
r20put_string(C,a1);
r20put_string(C,((T0*)ms12_288));
r20system(a1);
}


T6 r20file_exists(T0* a1){
T6 R=0;
R=r35is_readable(a1);
return R;
}


T0* r20read_word_in(T20* C,T0* a1){
T0* R=NULL;
r20put_string(C,((T0*)ms20_25494));
r20put_string(C,(((T28*)a1))->_path/*4*/);
r20put_string(C,((T0*)ms12_288));
/*[IF*/
if(r28end_of_input(((T28*)a1))){
r20w_put_string(((T0*)ms20_72891));
r20w_put_string((((T28*)a1))->_path/*4*/);
r20w_put_string(((T0*)ms12_288));
exit(1);
}
else{
r28read_word(((T28*)a1));
R=r7twin((T7*)(oBC29last_string));
}
/*FI]*/
return R;
}


void r20w_put_string(T0* a1){
r34put_string((T34*)(oBC1std_error),a1);
/*[IRF3.6flush*/{T34* C1=(T34*)(oBC1std_error);
fflush(stderr);
}/*]*/
}


void r20system(T0* a1){
T8 _p=0;
_p=r7to_external(((T7*)a1));
system(((char*)_p));
}
T0*oBC1std_output=NULL;
/*No:ECHO.remove_file*/
/*No:ECHO.fz_01*/


void r20file_removing(T20* C,T0* a1){
/*[IF*/
if(r20file_exists(a1)){
r20put_string(C,((T0*)ms20_8760));
r20put_string(C,a1);
r20put_string(C,((T0*)ms12_288));
/*[IRF3.6remove_file*/{T0* b1=a1;
r35delete(oBC1file_tools,b1);
}/*]*/
}
/*FI]*/
}


T0* r20argument(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/(((T38*)(r20command_arguments()))->_storage/*0*/)[a1]/*)*/;
return R;
}
T35 oBC1file_tools=0;


void r20put_string(T20* C,T0* a1){
/*[IF*/
if((C)->_verbose/*0*/){
r22put_string((T22*)(oBC1std_output),a1);
/*[IRF3.6flush*/{T22* C1=(T22*)(oBC1std_output);
fflush(stdout);
}/*]*/
}
/*FI]*/
}
/*No:ECHO.make*/
/*No:ECHO.fz_43*/
/*No:ECHO.argument_count*/
/*No:ECHO.exit_failure_code*/
/*No:ECHO.fz_verbose_flag*/
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;


T0* r20command_arguments(void){
if(fBC1command_arguments==0){
T0* _arg=NULL;
T2 _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T38*n=malloc(sizeof(*n));
*n=M38;
r38make(n,_i);
oBC1command_arguments=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T38*)oBC1command_arguments))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
}
return oBC1command_arguments;}


void r20w_put_character(T3 a1){
/*[IRF3.6put_character*/{T34* C1=(T34*)(oBC1std_error);
T3 b1=a1;
putc(b1,((FILE*)(stderr)));
}/*]*/
/*[IRF3.6flush*/{T34* C1=(T34*)(oBC1std_error);
fflush(stderr);
}/*]*/
}
/*No:STD_OUTPUT.flush*/


void r22put_string(T22* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((((T7*)a1))->_count/*4*/))) {
/*[IRF3.6put_character*/{T22* C1=C;
T3 b1=/*(IRF4.6item*/((((T7*)a1))->_storage/*0*/)[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stdout)));
}/*]*/
_i=(_i)+(1);
}
}
/*No:STD_OUTPUT.make*/
/*No:STD_OUTPUT.put_character*/


void r10scan_command_line(T10* C){
T0* _a=NULL;
T2 _arg=0;
T2 _state=0;
_arg=1;
while (!((_arg)>(/*(IRF4.9argument_count*/((T38*)(r10command_arguments()))->_upper/*8*//*)*/))) {
_a=r10argument(_arg);
/*[IF*/
if(r7is_equal((T7*)(((T0*)ms12_10392)),_a)){
r7extend((T7*)(oBC10command),'\40');
r7append((T7*)(oBC10command),_a);
}
 else if(r7is_equal(ms10_8197,_a)){
r20w_put_string(((T0*)ms10_137690));
C->_clean=0;
}
 else if(r7is_equal(ms10_6750,_a)){
C->_clean=1;
}
else{
r7extend((T7*)(oBC10command),'\40');
r7append((T7*)(oBC10command),_a);
{int z1=_state;

if((0==z1)){
/*[IF*/
if((/*(IRF4.6item*/((((T7*)_a))->_storage/*0*/)[(1)-(1)]/*)*/)!=('\55')){
/*[IF*/
if(r7has_suffix(((T7*)_a),/*(IRF4.9o_suffix*/r27o_suffix_memory((T27*)(r10system_tools()))/*)*/)){
}
 else if(r7has_suffix(((T7*)_a),((T0*)ms11_296))){
}
 else if((/*(IRF4.6item*/((((T7*)_a))->_storage/*0*/)[(1)-(1)]/*)*/)==('\53')){
}
 else if((((T36*)(oBC11run_control))->_root_class/*0*/)==((void*)(NULL))){
r36compute_root_class((T36*)(oBC11run_control),_a);
_state=2;
}
/*FI]*/
}
 else if(r7is_equal(ms10_318,_a)){
_state=1;
}
 else if(((/*(IRF4.6item*/((((T7*)_a))->_storage/*0*/)[(1)-(1)]/*)*/)==('\55'))&&((/*(IRF4.6item*/((((T7*)_a))->_storage/*0*/)[(2)-(1)]/*)*/)==('o'))){
}
 else if(r7is_equal(ms10_747,_a)){
_state=1;
}
 else if(r7is_equal(ms10_6672,_a)){
_state=1;
}
/*FI]*/
}
 else 
if((1==z1)){
_state=0;
}
 else {_state=0;
}}
}
/*FI]*/
_arg=(_arg)+(1);
}
}
/*No:COMPILE.c_suffix*/
/*No:COMPILE.o_suffix*/
T0*oBC10make_file=NULL;
int fBC11system_tools=0;
T0*oBC11system_tools=NULL;


T0* r10system_tools(void){
if(fBC11system_tools==0){
fBC11system_tools=1;
{T27*n=malloc(sizeof(*n));
*n=M27;
r27make(n);
oBC11system_tools=(T0*)n;
}
}
return oBC11system_tools;}
T0*oBC10command=NULL;
/*No:COMPILE.fz_01*/
/*No:COMPILE.fz_02*/


T0* r10argument(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/(((T38*)(r10command_arguments()))->_storage/*0*/)[a1]/*)*/;
return R;
}
/*No:COMPILE.clean*/


void r10make(T10* C){
T0* _str=NULL;
T2 _time_out=0;
/*[IF*/
if((/*(IRF4.9argument_count*/((T38*)(r10command_arguments()))->_upper/*8*//*)*/)<(1)){
r27bad_use_exit((T27*)(r10system_tools()),((T0*)ms10_8806));
}
/*FI]*/
r20search_for_verbose_flag((T20*)(oBC11echo));
r27compile_to_c_in((T27*)(r10system_tools()),oBC10command);
r10scan_command_line(C);
/*[IF*/
if((((T36*)(oBC11run_control))->_root_class/*0*/)==((void*)(NULL))){
r20w_put_string(((T0*)ms10_38827));
exit(1);
}
/*FI]*/
_str=r27remove_make_script((T27*)(r10system_tools()));
r20call_system((T20*)(oBC11echo),oBC10command);
_time_out=2000;
while (!(((_time_out)==(0))||(/*(IRF4.7is_connected*/(((T28*)(oBC10make_file))->_path/*4*/)!=(NULL)/*)*/))) {
r28connect_to((T28*)(oBC10make_file),_str);
_time_out=(_time_out)-(1);
}
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T28*)(oBC10make_file))->_path/*4*/)!=(NULL)/*)*/)){
r20w_put_string(((T0*)ms12_3810));
r20w_put_string(_str);
r20w_put_string(((T0*)ms10_39060));
exit(1);
}
/*FI]*/
r20put_string((T20*)(oBC11echo),((T0*)ms10_20501));
r20put_string((T20*)(oBC11echo),_str);
r20put_string((T20*)(oBC11echo),((T0*)ms10_8960));
r28read_line((T28*)(oBC10make_file));
while (!((((T7*)(oBC29last_string))->_count/*4*/)==(0))) {
r7copy((T7*)(oBC10command),oBC29last_string);
r20call_system((T20*)(oBC11echo),oBC10command);
r28read_line((T28*)(oBC10make_file));
}
r28disconnect((T28*)(oBC10make_file));
/*[IF*/
if((C)->_clean/*0*/){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC10command))))->_count)=(0);
/*]*/
r27clean_in((T27*)(r10system_tools()),oBC10command);
r7extend((T7*)(oBC10command),'\40');
/*[IF*/
if(((T20*)(oBC11echo))->_verbose/*0*/){
r7append((T7*)(oBC10command),((T0*)ms12_10392));
r7extend((T7*)(oBC10command),'\40');
}
/*FI]*/
r7append((T7*)(oBC10command),_str);
r20call_system((T20*)(oBC11echo),oBC10command);
}
else{
r20put_string((T20*)(oBC11echo),((T0*)ms10_12480));
}
/*FI]*/
r20put_string((T20*)(oBC11echo),((T0*)ms12_3066));
}
/*No:COMPILE.argument_count*/
/*No:COMPILE.exit_failure_code*/
/*No:COMPILE.fz_verbose_flag*/


T0* r10command_arguments(void){
if(fBC1command_arguments==0){
T0* _arg=NULL;
T2 _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T38*n=malloc(sizeof(*n));
*n=M38;
r38make(n,_i);
oBC1command_arguments=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T38*)oBC1command_arguments))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
}
return oBC1command_arguments;}


void r28read_line(T28* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC29last_string))))->_count)=(0);
/*]*/
r28read_line_in(C,oBC29last_string);
}


void r28read_line_in(T28* C,T0* a1){
T2 _mem=0;
r28read_character(C);
_mem=(C)->_memory/*12*/;
while (!((((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))||((_mem)==(((unsigned char)'\15'))))) {
r7extend(((T7*)a1),((T3)(_mem)));
_mem=getc((FILE*)((C)->_input_stream/*8*/));
}
C->_memory=_mem;
/*[IF*/
if((_mem)==(((unsigned char)'\15'))){
r28read_character(C);
/*[IF*/
if((/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/)!=('\n')){
/*[IRF3.3unread_character*/((((T28*)(C)))->_push_back_flag)=(1);
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:STD_FILE_READ.path*/


void r28skip_separators(T28* C){
while (!((r28end_of_input(C))||(!(r3is_separator(/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/))))) {
r28read_character(C);
}
}


void r28read_word(T28* C){
r28skip_separators(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC29last_string))))->_count)=(0);
/*]*/
while (!((r28end_of_input(C))||(r3is_separator(/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/)))) {
r7extend((T7*)(oBC29last_string),/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/);
r28read_character(C);
}
}
/*No:STD_FILE_READ.memory*/
/*No:STD_FILE_READ.unread_character*/
/*No:STD_FILE_READ.last_character*/
/*No:STD_FILE_READ.input_stream*/
T0*oBC29last_string=NULL;


T6 r28end_of_input(T28* C){
T6 R=0;
/*[IF*/
if(!((C)->_push_back_flag/*0*/)){
R=((C)->_memory/*12*/)==((EOF));
}
/*FI]*/
return R;
}


void r28connect_to(T28* C,T0* a1){
T8 _p=0;
_p=r7to_external(((T7*)a1));
C->_input_stream=fopen((char*)_p,"r");
/*[IF*/
if((NULL!=(C)->_input_stream/*8*/)){
C->_push_back_flag=0;
C->_memory=((unsigned char)'\40');
C->_path=a1;
}
/*FI]*/
}
/*No:STD_FILE_READ.is_connected*/


void r28disconnect(T28* C){
fclose((C)->_input_stream/*8*/);
C->_path=NULL;
}
/*No:STD_FILE_READ.push_back_flag*/
/*No:STD_FILE_READ.make*/


void r28read_character(T28* C){
/*[IF*/
if((C)->_push_back_flag/*0*/){
C->_push_back_flag=0;
}
else{
C->_memory=getc((FILE*)((C)->_input_stream/*8*/));
}
/*FI]*/
}
T0*oBC35std_fr1=NULL;


void r35delete(int C,T0* a1){
T8 _p=0;
_p=r7to_external(((T7*)a1));
remove(((char*)_p));
}


T6 r35is_readable(T0* a1){
T6 R=0;
r28connect_to((T28*)(oBC35std_fr1),a1);
R=/*(IRF4.7is_connected*/(((T28*)(oBC35std_fr1))->_path/*4*/)!=(NULL)/*)*/;
/*[IF*/
if(R){
r28disconnect((T28*)(oBC35std_fr1));
}
/*FI]*/
return R;
}
T10*eiffel_root_object=NULL;
int se_argc;
char**se_argv;


void initialize_eiffel_runtime(int argc,char*argv[]){
se_argc=argc;
se_argv=argv;
#ifdef SIGINT
signal(SIGINT,sigrsp);
#endif
#ifdef SIGQUIT
signal(SIGQUIT,sigrsp);
#endif
#ifdef SIGTERM
signal(SIGTERM,sigrsp);
#endif
#ifdef SIGBREAK
signal(SIGBREAK,sigrsp);
#endif
#ifdef SIGKILL
signal(SIGKILL,sigrsp);
#endif
se_msi1();
oBC35std_fr1=NULL;
{T28*n=malloc(sizeof(*n));
*n=M28;
/*[IRF3.1make*//*]*/
oBC35std_fr1=(T0*)n;
}
/*PCO*/
oBC29last_string=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
oBC29last_string=(T0*)n;
}
/*PCO*/
oBC11echo=NULL;
{T20*n=malloc(sizeof(*n));
*n=M20;
/*[IRF3.1make*//*]*/
oBC11echo=(T0*)n;
}
/*PCO*/
oBC10command=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
oBC10command=(T0*)n;
}
/*PCO*/
oBC10make_file=NULL;
{T28*n=malloc(sizeof(*n));
*n=M28;
/*[IRF3.1make*//*]*/
oBC10make_file=(T0*)n;
}
/*PCO*/
oBC11run_control=NULL;
{T36*n=malloc(sizeof(*n));
*n=M36;
/*[IRF3.1make*//*]*/
oBC11run_control=(T0*)n;
}
/*PCO*/
oBC1file_tools=0;
/*PCO*/
oBC1std_output=NULL;
{T22*n=malloc(1);
/*[IRF3.1make*//*]*/
oBC1std_output=(T0*)n;
}
/*PCO*/
oBC1std_error=NULL;
{T34*n=malloc(1);
/*[IRF3.1make*//*]*/
oBC1std_error=(T0*)n;
}
/*PCO*/
oBC27system_list=NULL;
oBC27system_list=se_ma30(8,
((T0*)ms27_2470),
((T0*)ms27_1356),
((T0*)ms27_708),
((T0*)ms27_12951),
((T0*)ms27_654),
((T0*)ms27_1336),
((T0*)ms27_756),
((T0*)ms27_9331));
/*PCO*/
oBC11tmp_file_read=NULL;
{T28*n=malloc(sizeof(*n));
*n=M28;
/*[IRF3.1make*//*]*/
oBC11tmp_file_read=(T0*)n;
}
/*PCO*/
eiffel_root_object=malloc(sizeof(*eiffel_root_object));
*eiffel_root_object=M10;
}
int main(int argc,char*argv[]){
initialize_eiffel_runtime(argc,argv);
{T10*n=eiffel_root_object;
r10make(n);
}
exit(0);
}
T7*ms11_300;
T7*ms11_296;
T7*ms11_306;
T7*ms20_72891;
T7*ms27_852461;
T7*ms12_166;
T7*ms20_12909;
T7*ms27_1128;
T7*ms27_1468;
T7*ms27_966;
T7*ms27_756;
T7*ms10_747;
T7*ms12_957;
T7*ms27_12951;
T7*ms27_226958;
T7*ms10_6750;
T7*ms10_8960;
T7*ms27_32565;
T7*ms27_10175;
T7*ms20_8760;
T7*ms27_1084;
T7*ms12_3810;
T7*ms12_2650;
T7*ms12_10392;
T7*ms10_318;
T7*ms27_720532;
T7*ms12_288;
T7*ms27_0;
T7*ms27_2470;
T7*ms27_2375;
T7*ms10_137690;
T7*ms27_708;
T7*ms12_1071;
T7*ms10_8806;
T7*ms27_44196;
T7*ms11_583550;
T7*ms20_26523;
T7*ms12_3066;
T7*ms10_38827;
T7*ms27_132226;
T7*ms27_9331;
T7*ms27_8721;
T7*ms27_303;
T7*ms10_6672;
T7*ms11_1632;
T7*ms27_1356;
T7*ms27_1336;
T7*ms27_1116;
T7*ms27_1512a;
T7*ms10_8197;
T7*ms10_39060;
T7*ms10_12480;
T7*ms12_11640;
T7*ms20_25494;
T7*ms27_654;
T7*ms27_8302;
T7*ms27_1072;
T7*ms27_1512;
T7*ms12_18788;
T7*ms12_13428;
T7*ms13_20868;
T7*ms27_46940;
T7*ms27_26690;
T7*ms27_38940;
T7*ms27_20300;
T7*ms27_39440;
T7*ms27_23364;
T7*ms10_20501;


void se_msi1(void){
ms11_300=se_ms(2,".e");
ms11_296=se_ms(2,".c");
ms11_306=se_ms(2,".h");
ms20_72891=se_ms(39,"Unexpected end_of_input while reading \"");
ms27_852461=se_ms(269,"You should update the value of the \"SmallEiffel\" system environment variable.\nSince release -0.79, the \"SmallEiffel\" system environment variable must be the absolute path of the \"system.se\" file.\nFor example \"/usr/lib/SmallEiffel/sys/system.se\" under Unix like system.\n");
ms12_166=se_ms(2,"\".");
ms20_12909=se_ms(13,"System call \"");
ms27_1128=se_ms(4,".EXE");
ms27_1468=se_ms(4,".bat");
ms27_966=se_ms(3,"man");
ms27_756=se_ms(3,"VMS");
ms10_747=se_ms(3,"-cc");
ms12_957=se_ms(3,"bin");
ms27_12951=se_ms(9,"Macintosh");
ms27_226958=se_ms(74,"System environment variable \"SmallEiffel\" not set.\nTrying default value: \"");
ms10_6750=se_ms(6,"-clean");
ms10_8960=se_ms(16,"\" command file.\n");
ms27_32565=se_ms(39,"\"Hope this is a Macintosh like system.\n");
ms27_10175=se_ms(11,"System is \"");
ms20_8760=se_ms(10,"Removing \"");
ms27_1084=se_ms(4,".BAT");
ms12_3810=se_ms(6,"File \"");
ms12_2650=se_ms(5,"clean");
ms12_10392=se_ms(8,"-verbose");
ms10_318=se_ms(2,"-o");
ms27_720532=se_ms(244,"Unable to find file \"system.se\".\nPlease, set the environment variable \"SmallEiffel\" with the appropriate absolute path to this file.\nExample for Unix: \"/usr/lib/SmallEiffel/sys/system.se\"\nExample for DOS/Windows: \"C:\\SmallEiffel\\sys\\system.se\"\n");
ms12_288=se_ms(3,"\".\n");
ms27_0=se_ms(0,"");
ms27_2470=se_ms(5,"Amiga");
ms27_2375=se_ms(5,".make");
ms10_137690=se_ms(98,"Flag -c_code is now obsolete (this is the default).\nSee documentation of `compile\' (flag -clean).\n");
ms27_708=se_ms(3,"DOS");
ms12_1071=se_ms(3,"sys");
ms10_8806=se_ms(7,"compile");
ms27_44196=se_ms(29,"Unknown system name in file\n\"");
ms11_583550=se_ms(110,"..............................................................................................................");
ms20_26523=se_ms(21,"Trying to read file \"");
ms12_3066=se_ms(6,"Done.\n");
ms10_38827=se_ms(41,"Error : No <Root-Class> in command line.\n");
ms27_132226=se_ms(34,"/usr/lib/SmallEiffel/sys/system.se");
ms27_9331=se_ms(7,"Windows");
ms27_8721=se_ms(9,"o_suffix.");
ms27_303=se_ms(3,"\'.\n");
ms10_6672=se_ms(6,"-cecil");
ms11_1632=se_ms(4,".txt");
ms27_1356=se_ms(4,"BeOS");
ms27_1336=se_ms(4,"UNIX");
ms27_1116=se_ms(4,".COM");
ms27_1512a=se_ms(4,".exe");
ms10_8197=se_ms(7,"-c_code");
se_msi2();
}


void se_msi2(void){
ms10_39060=se_ms(45,"\" not found. Error(s) during `compile_to_c\'.\n");
ms10_12480=se_ms(20,"C code not removed.\n");
ms12_11640=se_ms(12,"\" not found.");
ms20_25494=se_ms(21,"Reading one word in \"");
ms27_654=se_ms(3,"OS2");
ms27_8302=se_ms(14,"\"Last chance.\n");
ms27_1072=se_ms(4,".CMD");
ms27_1512=se_ms(4,".exe");
ms12_18788=se_ms(11,"SmallEiffel");
ms12_13428=se_ms(9,"system.se");
ms13_20868=se_ms(12,"compile_to_c");
ms27_46940=se_ms(20,"Bad use of command `");
ms27_26690=se_ms(34,"\"Hope this is a Unix like system.\n");
ms27_38940=se_ms(44,"\"Hope this is a DOS or Windows like system.\n");
ms27_20300=se_ms(28,"\"Hope this is a VMS system.\n");
ms27_39440=se_ms(29,"See docmentation in file:\n   ");
ms27_23364=se_ms(36,"\".\nCurrently handled system names :\n");
ms10_20501=se_ms(19,"C compiling using \"");
}


void*se_ma30(int argc,...){
T30*m;
va_list pa;
T0**s;
m=malloc(sizeof(*m));
*m=M30;
if(argc){
s=malloc(argc*sizeof(*s));
m->_storage=s;
m->_capacity=argc;
m->_lower=1;
m->_upper=argc;
va_start(pa,argc);
while(argc--){
*(s++)=((void*)(va_arg(pa,char*)));
}
va_end(pa);
}
else{
m->_storage=NULL;
m->_capacity=0;
m->_lower=1;
m->_upper=0;
}
return m;}

