/*
-- 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 "clean.h"
T37 M37=NULL;
T38 M38={NULL};
T10 M10=NULL;
T35 M35={NULL,NULL,NULL};
T28 M28={0};
T23 M23={NULL,0,0};
T7 M7={NULL,0,0};
T36 M36={NULL,0,0,0};
T33 M33=NULL;
T30 M30={0,NULL,0,0};
T29 M29=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);
}


void r2append_in(T2 C,T0* a1){
T2 _i=0;
T2 _val=0;
/*[IF*/
if((C)==(0)){
r7extend(((T7*)a1),'0');
}
else{
/*[IF*/
if((C)>(0)){
_i=((((T7*)a1))->_count/*4*/)+(1);
_val=C;
while (!((_val)==(0))) {
r7extend(((T7*)a1),r2digit((_val)%(10)));
_val=(_val)/(10);
}
}
else{
r7extend(((T7*)a1),'\55');
_i=((((T7*)a1))->_count/*4*/)+(1);
_val=C;
while (!((_val)==(0))) {
r7extend(((T7*)a1),r2digit(-((_val)%(10))));
_val=(_val)/(10);
}
}
/*FI]*/
_val=(((T7*)a1))->_count/*4*/;
while (!((_i)>=(_val))) {
r7swap(((T7*)a1),_i,_val);
_val=(_val)-(1);
_i=(_i)+(1);
}
}
/*FI]*/
}


T3 r2digit(T2 C){
T3 R=0;
R=((T3)((C)+(((unsigned char)'0'))));
return R;
}


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 r24set_all_with(T24 C,T0* a1,T2 a2){
T2 _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=(a1);
_i=(_i)-(1);
}
}


T6 r24equal_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 r24index_of(T24 C,T0* a1,T2 a2){
T2 R=0;
while (!(((R)>(a2))||(r24equal_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 r7swap(T7* C,T2 a1,T2 a2){
T3 _tmp=0;
_tmp=/*(IRF4.6item*/((C)->_storage/*0*/)[(a1)-(1)]/*)*/;
/*[IRF3.5put*/((C)->_storage/*0*/)[(a1)-(1)]=(/*(IRF4.6item*/((C)->_storage/*0*/)[(a2)-(1)]/*)*/);
/*]*/
/*[IRF3.5put*/((C)->_storage/*0*/)[(a2)-(1)]=(_tmp);
/*]*/
}


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 r23make(T23* 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*/{T23* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T23* C2=C1;
T0* c1=__value;
r24set_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* r36item(T36* 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 r36index_of(T36* C,T0* a1){
T2 R=0;
R=((C)->_lower/*12*/)+(r24index_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 r37put_string(T37* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((((T7*)a1))->_count/*4*/))) {
/*[IRF3.6put_character*/{T37* 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 r38compute_root_class(T38* 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*oBC11run_control=NULL;


T6 r10file_exists(T0* a1){
T6 R=0;
R=r29is_readable(a1);
return R;
}
/*No:CLEAN.o_suffix*/
int fBC11system_tools=0;
T0*oBC11system_tools=NULL;


T0* r10system_tools(void){
if(fBC11system_tools==0){
fBC11system_tools=1;
{T35*n=malloc(sizeof(*n));
*n=M35;
r35make(n);
oBC11system_tools=(T0*)n;
}
}
return oBC11system_tools;}


void r10h_c_d_removing(T0* a1){
T2 _i=0;
_i=1;
while (!((_i)==(0))) {
r7copy((T7*)(oBC10tmp_string),a1);
r2append_in(_i,oBC10tmp_string);
r7extend((T7*)(oBC10tmp_string),'\56');
r7extend((T7*)(oBC10tmp_string),'c');
/*[IF*/
if(r10file_exists(oBC10tmp_string)){
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
/*[IRF3.5put*/(((T7*)(oBC10tmp_string))->_storage/*0*/)[(((T7*)(oBC10tmp_string))->_count/*4*/)-(1)]=('d');
/*]*/
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
r7remove_last((T7*)(oBC10tmp_string),2);
r7append((T7*)(oBC10tmp_string),/*(IRF4.9o_suffix*/r35o_suffix_memory((T35*)(r10system_tools()))/*)*/);
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
_i=(_i)+(1);
}
else{
_i=0;
}
/*FI]*/
}
r7copy((T7*)(oBC10tmp_string),a1);
r7extend((T7*)(oBC10tmp_string),'\56');
r7extend((T7*)(oBC10tmp_string),'h');
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
/*[IRF3.5put*/(((T7*)(oBC10tmp_string))->_storage/*0*/)[(((T7*)(oBC10tmp_string))->_count/*4*/)-(1)]=('c');
/*]*/
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
/*[IRF3.5put*/(((T7*)(oBC10tmp_string))->_storage/*0*/)[(((T7*)(oBC10tmp_string))->_count/*4*/)-(1)]=('d');
/*]*/
r28file_removing((T28*)(oBC11echo),oBC10tmp_string);
}
/*No:CLEAN.eiffel_suffix*/


T0* r10argument(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/(((T23*)(r10command_arguments()))->_storage/*0*/)[a1]/*)*/;
return R;
}
T29 oBC1file_tools=0;
/*No:CLEAN.make*/
T0*oBC11echo=NULL;
/*No:CLEAN.argument_count*/
/*No:CLEAN.fz_verbose_flag*/
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;


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


T0* r35remove_make_script(T35* C){
T0* R=NULL;
R=r35path_h(C);
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)R);
T0* b1=((T0*)ms11_306);
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
r7append(((T7*)R),r35make_suffix(C));
r28file_removing((T28*)(oBC11echo),R);
return R;
}
/*No:SYSTEM_TOOLS.system_name*/


void r35parent_directory(T35* C,T0* a1){
/*[IF*/
if(r35slash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\57'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if(r35backslash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\134'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if(r35colon_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((r7last(((T7*)a1)))==('\72'))) {
r7remove_last(((T7*)a1),1);
}
}
 else if((((T0*)ms35_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*/
int fBC35o_suffix_memory=0;
T0*oBC35o_suffix_memory=NULL;


T0* r35o_suffix_memory(T35* C){
if(fBC35o_suffix_memory==0){
fBC35o_suffix_memory=1;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,4);
oBC35o_suffix_memory=(T0*)n;
}
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms35_8721));
r7append((T7*)(((T0*)ms11_583550)),(C)->_system_name/*0*/);
r28sfr_connect_or_exit((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
oBC35o_suffix_memory=r28read_word_in((T28*)(oBC11echo),oBC11tmp_file_read);
r30disconnect((T30*)(oBC11tmp_file_read));
}
return oBC35o_suffix_memory;}
T0*oBC11tmp_file_read=NULL;
/*No:SYSTEM_TOOLS.help_suffix*/
/*No:SYSTEM_TOOLS.fz_03*/
/*No:SYSTEM_TOOLS.vms_system*/
/*No:SYSTEM_TOOLS.fz_se*/


T0* r35path_h(T35* C){
T0* R=NULL;
R=r7twin((T7*)(((T38*)(oBC11run_control))->_root_class/*0*/));
r7to_lower(((T7*)R));
/*[IF*/
if((((T0*)ms35_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* r35get_environment_variable(T35* 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*/
/*No:SYSTEM_TOOLS.fz_b0*/
T0*oBC35system_list=NULL;


void r35bad_use_exit(T35* C,T0* a1){
r28w_put_string(((T0*)ms35_46940));
r28w_put_string(a1);
r28w_put_string(((T0*)ms35_303));
r7copy((T7*)(((T0*)ms11_583550)),(C)->_sys_directory/*4*/);
r35parent_directory(C,((T0*)ms11_583550));
r35add_directory(C,((T0*)ms11_583550),((T0*)ms35_966));
r7append((T7*)(((T0*)ms11_583550)),a1);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms11_1632));
r28w_put_string(((T0*)ms35_39440));
r28w_put_string(((T0*)ms11_583550));
r28w_put_character('\n');
exit(1);
}
/*No:SYSTEM_TOOLS.amiga_system*/
int fBC35make_suffix=0;
T0*oBC35make_suffix=NULL;


T0* r35make_suffix(T35* C){
if(fBC35make_suffix==0){
fBC35make_suffix=1;
/*[IF*/
if((((T0*)ms35_708))==((void*)((C)->_system_name/*0*/))){
oBC35make_suffix=((T0*)ms35_1084);
}
 else if((((T0*)ms35_9331))==((void*)((C)->_system_name/*0*/))){
oBC35make_suffix=((T0*)ms35_1468);
}
 else if((((T0*)ms35_756))==((void*)((C)->_system_name/*0*/))){
oBC35make_suffix=((T0*)ms35_1116);
}
 else if((((T0*)ms35_654))==((void*)((C)->_system_name/*0*/))){
oBC35make_suffix=((T0*)ms35_1072);
}
else{
oBC35make_suffix=((T0*)ms35_2375);
}
/*FI]*/
}
return oBC35make_suffix;}
/*No:SYSTEM_TOOLS.h_suffix*/


void r35add_directory(T35* C,T0* a1,T0* a2){
/*[IF*/
if(r35slash_separator(C)){
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if(r35backslash_separator(C)){
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if(r35colon_separator(C)){
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if((((T0*)ms35_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 r35make(T35* C){
T2 _i=0;
T0* _system_se_path=NULL;
_system_se_path=r35get_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=r35get_environment_variable(C,_system_se_path);
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
r28put_string((T28*)(oBC11echo),((T0*)ms35_226958));
_system_se_path=((T0*)ms35_132226);
r28put_string((T28*)(oBC11echo),_system_se_path);
r28put_string((T28*)(oBC11echo),((T0*)ms12_166));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(r7has_suffix(((T7*)_system_se_path),((T0*)ms12_13428))){
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,_system_se_path);
}
else{
r28put_string((T28*)(oBC11echo),((T0*)ms35_852461));
/*[IF*/
if(r7has(((T7*)_system_se_path),'\57')){
r28put_string((T28*)(oBC11echo),((T0*)ms35_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));
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T30*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\134')){
r28put_string((T28*)(oBC11echo),((T0*)ms35_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));
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T30*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\72')){
r28put_string((T28*)(oBC11echo),((T0*)ms35_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));
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T30*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),'\135')){
r28put_string((T28*)(oBC11echo),((T0*)ms35_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));
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T30*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r28put_string((T28*)(oBC11echo),((T0*)ms35_8302));
r7copy((T7*)(((T0*)ms11_583550)),_system_se_path);
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms12_13428));
r28sfr_connect((T28*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/(((T30*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/)){
r28w_put_string(((T0*)ms35_720532));
exit(1);
}
/*FI]*/
r30read_line((T30*)(oBC11tmp_file_read));
C->_system_name=oBC31last_string;
_i=r36index_of((T36*)(oBC35system_list),(C)->_system_name/*0*/);
/*[IF*/
if((_i)>(((T36*)(oBC35system_list))->_upper/*8*/)){
r28w_put_string(((T0*)ms35_44196));
r28w_put_string(((T30*)(oBC11tmp_file_read))->_path/*4*/);
r28w_put_string(((T0*)ms35_23364));
_i=1;
while (!((_i)>(((T36*)(oBC35system_list))->_upper/*8*/))) {
r28w_put_string(r36item((T36*)(oBC35system_list),_i));
r28w_put_character('\n');
_i=(_i)+(1);
}
exit(1);
}
else{
C->_system_name=r36item((T36*)(oBC35system_list),_i);
r28put_string((T28*)(oBC11echo),((T0*)ms35_10175));
r28put_string((T28*)(oBC11echo),(C)->_system_name/*0*/);
r28put_string((T28*)(oBC11echo),((T0*)ms12_288));
}
/*FI]*/
C->_sys_directory=r7twin((T7*)(((T30*)(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*/);
}/*]*/
r30disconnect((T30*)(oBC11tmp_file_read));
C->_bin_directory=r7twin((T7*)((C)->_sys_directory/*4*/));
r35parent_directory(C,(C)->_bin_directory/*8*/);
r35add_directory(C,(C)->_bin_directory/*8*/,((T0*)ms12_957));
}
/*No:SYSTEM_TOOLS.os2_system*/


T6 r35colon_separator(T35* C){
T6 R=0;
/*[IF*/
if((((T0*)ms35_12951))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms35_1356))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}


T6 r35slash_separator(T35* C){
T6 R=0;
/*[IF*/
if((((T0*)ms35_1336))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms35_2470))==((void*)((C)->_system_name/*0*/))){
R=1;
}
/*FI]*/
return R;
}


T6 r35backslash_separator(T35* C){
T6 R=0;
/*[IF*/
if((((T0*)ms35_9331))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms35_708))==((void*)((C)->_system_name/*0*/))){
R=1;
}
 else if((((T0*)ms35_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*/
/*No:SYSTEM_TOOLS.tmp_path*/
T0*oBC1std_error=NULL;
/*No:ECHO.fz_b0*/


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


void r28sfr_connect(T28* C,T0* a1,T0* a2){
r28put_string(C,((T0*)ms28_26523));
r28put_string(C,a2);
r28put_string(C,((T0*)ms12_288));
r30connect_to(((T30*)a1),a2);
}
/*No:ECHO.verbose*/


void r28search_for_verbose_flag(T28* C){
T2 _i=0;
_i=/*(IRF4.9argument_count*/((T23*)(r28command_arguments()))->_upper/*8*//*)*/;
while (!((_i)==(0))) {
/*[IF*/
if(r7is_equal((T7*)(((T0*)ms12_10392)),r28argument(_i))){
C->_verbose=1;
_i=0;
}
else{
_i=(_i)-(1);
}
/*FI]*/
}
}


T6 r28file_exists(T0* a1){
T6 R=0;
R=r29is_readable(a1);
return R;
}


T0* r28read_word_in(T28* C,T0* a1){
T0* R=NULL;
r28put_string(C,((T0*)ms28_25494));
r28put_string(C,(((T30*)a1))->_path/*4*/);
r28put_string(C,((T0*)ms12_288));
/*[IF*/
if(r30end_of_input(((T30*)a1))){
r28w_put_string(((T0*)ms28_72891));
r28w_put_string((((T30*)a1))->_path/*4*/);
r28w_put_string(((T0*)ms12_288));
exit(1);
}
else{
r30read_word(((T30*)a1));
R=r7twin((T7*)(oBC31last_string));
}
/*FI]*/
return R;
}


void r28w_put_string(T0* a1){
r37put_string((T37*)(oBC1std_error),a1);
/*[IRF3.6flush*/{T37* C1=(T37*)(oBC1std_error);
fflush(stderr);
}/*]*/
}
T0*oBC1std_output=NULL;
/*No:ECHO.remove_file*/
/*No:ECHO.fz_01*/


void r28file_removing(T28* C,T0* a1){
/*[IF*/
if(r28file_exists(a1)){
r28put_string(C,((T0*)ms28_8760));
r28put_string(C,a1);
r28put_string(C,((T0*)ms12_288));
/*[IRF3.6remove_file*/{T0* b1=a1;
r29delete(oBC1file_tools,b1);
}/*]*/
}
/*FI]*/
}


T0* r28argument(T2 a1){
T0* R=NULL;
R=/*(IRF4.6item*/(((T23*)(r28command_arguments()))->_storage/*0*/)[a1]/*)*/;
return R;
}


void r28put_string(T28* C,T0* a1){
/*[IF*/
if((C)->_verbose/*0*/){
r33put_string((T33*)(oBC1std_output),a1);
/*[IRF3.6flush*/{T33* C1=(T33*)(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*/


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


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


void r33put_string(T33* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>((((T7*)a1))->_count/*4*/))) {
/*[IRF3.6put_character*/{T33* 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 r30read_line(T30* C){
/*[IRF3.3clear*/((((T7*)((T7*)(oBC31last_string))))->_count)=(0);
/*]*/
r30read_line_in(C,oBC31last_string);
}


void r30read_line_in(T30* C,T0* a1){
T2 _mem=0;
r30read_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'))){
r30read_character(C);
/*[IF*/
if((/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/)!=('\n')){
/*[IRF3.3unread_character*/((((T30*)(C)))->_push_back_flag)=(1);
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*No:STD_FILE_READ.path*/


void r30skip_separators(T30* C){
while (!((r30end_of_input(C))||(!(r3is_separator(/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/))))) {
r30read_character(C);
}
}


void r30read_word(T30* C){
r30skip_separators(C);
/*[IRF3.3clear*/((((T7*)((T7*)(oBC31last_string))))->_count)=(0);
/*]*/
while (!((r30end_of_input(C))||(r3is_separator(/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/)))) {
r7extend((T7*)(oBC31last_string),/*(IRF4.6last_character*/((T3)((C)->_memory/*12*/))/*)*/);
r30read_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*oBC31last_string=NULL;


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


void r30connect_to(T30* 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 r30disconnect(T30* C){
fclose((C)->_input_stream/*8*/);
C->_path=NULL;
}
/*No:STD_FILE_READ.push_back_flag*/
/*No:STD_FILE_READ.make*/


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


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


T6 r29is_readable(T0* a1){
T6 R=0;
r30connect_to((T30*)(oBC29std_fr1),a1);
R=/*(IRF4.7is_connected*/(((T30*)(oBC29std_fr1))->_path/*4*/)!=(NULL)/*)*/;
/*[IF*/
if(R){
r30disconnect((T30*)(oBC29std_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();
oBC29std_fr1=NULL;
{T30*n=malloc(sizeof(*n));
*n=M30;
/*[IRF3.1make*//*]*/
oBC29std_fr1=(T0*)n;
}
/*PCO*/
oBC31last_string=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
oBC31last_string=(T0*)n;
}
/*PCO*/
oBC1file_tools=0;
/*PCO*/
oBC1std_output=NULL;
{T33*n=malloc(1);
/*[IRF3.1make*//*]*/
oBC1std_output=(T0*)n;
}
/*PCO*/
oBC1std_error=NULL;
{T37*n=malloc(1);
/*[IRF3.1make*//*]*/
oBC1std_error=(T0*)n;
}
/*PCO*/
oBC11echo=NULL;
{T28*n=malloc(sizeof(*n));
*n=M28;
/*[IRF3.1make*//*]*/
oBC11echo=(T0*)n;
}
/*PCO*/
oBC11run_control=NULL;
{T38*n=malloc(sizeof(*n));
*n=M38;
/*[IRF3.1make*//*]*/
oBC11run_control=(T0*)n;
}
/*PCO*/
oBC35system_list=NULL;
oBC35system_list=se_ma36(8,
((T0*)ms35_2470),
((T0*)ms35_1356),
((T0*)ms35_708),
((T0*)ms35_12951),
((T0*)ms35_654),
((T0*)ms35_1336),
((T0*)ms35_756),
((T0*)ms35_9331));
/*PCO*/
oBC11tmp_file_read=NULL;
{T30*n=malloc(sizeof(*n));
*n=M30;
/*[IRF3.1make*//*]*/
oBC11tmp_file_read=(T0*)n;
}
/*PCO*/
oBC10tmp_string=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
oBC10tmp_string=(T0*)n;
}
/*PCO*/
eiffel_root_object=malloc(1);
}
int main(int argc,char*argv[]){
initialize_eiffel_runtime(argc,argv);
{T10*n=eiffel_root_object;
/*[IRF3.2make*/{T0* _str=NULL;
T2 _arg=0;
/*[IF*/
if((/*(IRF4.9argument_count*/((T23*)(r10command_arguments()))->_upper/*8*//*)*/)<(1)){
r35bad_use_exit((T35*)(r10system_tools()),((T0*)ms10_2650));
}
/*FI]*/
r28search_for_verbose_flag((T28*)(oBC11echo));
_arg=1;
while (!((_arg)>(/*(IRF4.9argument_count*/((T23*)(r10command_arguments()))->_upper/*8*//*)*/))) {
_str=r10argument(_arg);
/*[IF*/
if(r7is_equal((T7*)(((T0*)ms12_10392)),_str)){
}
else{
/*[IF*/
if(r7has_suffix(((T7*)_str),((T0*)ms11_300))){
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)_str);
T0* b1=((T0*)ms11_300);
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
}
 else if(r7has_suffix(((T7*)_str),r35make_suffix((T35*)(r10system_tools())))){
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)_str);
T0* b1=r35make_suffix((T35*)(r10system_tools()));
r7remove_last(C1,(((T7*)b1))->_count/*4*/);
}/*]*/
}
/*FI]*/
r38compute_root_class((T38*)(oBC11run_control),_str);
r10h_c_d_removing(_str);
r7to_upper(((T7*)_str));
r10h_c_d_removing(_str);
r7to_lower(((T7*)_str));
r10h_c_d_removing(_str);
_str=r35remove_make_script((T35*)(r10system_tools()));
_str=r7twin((T7*)(((T38*)(oBC11run_control))->_root_class/*0*/));
r10h_c_d_removing(_str);
r7to_lower(((T7*)_str));
r10h_c_d_removing(_str);
}
/*FI]*/
_arg=(_arg)+(1);
}
}/*]*/
}
exit(0);
}
T7*ms11_300;
T7*ms11_306;
T7*ms28_25494;
T7*ms11_583550;
T7*ms12_166;
T7*ms35_132226;
T7*ms35_1468;
T7*ms35_8721;
T7*ms35_9331;
T7*ms35_303;
T7*ms35_966;
T7*ms35_756;
T7*ms35_1116;
T7*ms35_1356;
T7*ms35_1336;
T7*ms35_12951;
T7*ms11_1632;
T7*ms12_957;
T7*ms35_226958;
T7*ms35_32565;
T7*ms35_10175;
T7*ms28_72891;
T7*ms10_2650;
T7*ms35_1084;
T7*ms28_26523;
T7*ms12_3810;
T7*ms12_11640;
T7*ms35_654;
T7*ms12_10392;
T7*ms35_720532;
T7*ms35_1072;
T7*ms35_8302;
T7*ms12_288;
T7*ms12_18788;
T7*ms12_13428;
T7*ms35_2470;
T7*ms35_46940;
T7*ms35_39440;
T7*ms35_26690;
T7*ms35_38940;
T7*ms35_20300;
T7*ms28_8760;
T7*ms35_2375;
T7*ms35_23364;
T7*ms35_708;
T7*ms35_44196;
T7*ms12_1071;
T7*ms35_852461;


void se_msi1(void){
ms11_300=se_ms(2,".e");
ms11_306=se_ms(2,".h");
ms28_25494=se_ms(21,"Reading one word in \"");
ms11_583550=se_ms(110,"..............................................................................................................");
ms12_166=se_ms(2,"\".");
ms35_132226=se_ms(34,"/usr/lib/SmallEiffel/sys/system.se");
ms35_1468=se_ms(4,".bat");
ms35_8721=se_ms(9,"o_suffix.");
ms35_9331=se_ms(7,"Windows");
ms35_303=se_ms(3,"\'.\n");
ms35_966=se_ms(3,"man");
ms35_756=se_ms(3,"VMS");
ms35_1116=se_ms(4,".COM");
ms35_1356=se_ms(4,"BeOS");
ms35_1336=se_ms(4,"UNIX");
ms35_12951=se_ms(9,"Macintosh");
ms11_1632=se_ms(4,".txt");
ms12_957=se_ms(3,"bin");
ms35_226958=se_ms(74,"System environment variable \"SmallEiffel\" not set.\nTrying default value: \"");
ms35_32565=se_ms(39,"\"Hope this is a Macintosh like system.\n");
ms35_10175=se_ms(11,"System is \"");
ms28_72891=se_ms(39,"Unexpected end_of_input while reading \"");
ms10_2650=se_ms(5,"clean");
ms35_1084=se_ms(4,".BAT");
ms28_26523=se_ms(21,"Trying to read file \"");
ms12_3810=se_ms(6,"File \"");
ms12_11640=se_ms(12,"\" not found.");
ms35_654=se_ms(3,"OS2");
ms12_10392=se_ms(8,"-verbose");
ms35_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");
ms35_1072=se_ms(4,".CMD");
ms35_8302=se_ms(14,"\"Last chance.\n");
ms12_288=se_ms(3,"\".\n");
ms12_18788=se_ms(11,"SmallEiffel");
ms12_13428=se_ms(9,"system.se");
ms35_2470=se_ms(5,"Amiga");
ms35_46940=se_ms(20,"Bad use of command `");
ms35_39440=se_ms(29,"See docmentation in file:\n   ");
ms35_26690=se_ms(34,"\"Hope this is a Unix like system.\n");
ms35_38940=se_ms(44,"\"Hope this is a DOS or Windows like system.\n");
ms35_20300=se_ms(28,"\"Hope this is a VMS system.\n");
ms28_8760=se_ms(10,"Removing \"");
ms35_2375=se_ms(5,".make");
ms35_23364=se_ms(36,"\".\nCurrently handled system names :\n");
ms35_708=se_ms(3,"DOS");
ms35_44196=se_ms(29,"Unknown system name in file\n\"");
ms12_1071=se_ms(3,"sys");
ms35_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");
}


void*se_ma36(int argc,...){
T36*m;
va_list pa;
T0**s;
m=malloc(sizeof(*m));
*m=M36;
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;}

