/*
-- 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 "clean.h"
T7 M7={NULL,0,0};
T675 M675={0,NULL,0,0};
T441 M441=NULL;
T650 M650=NULL;
T830 M830=NULL;
T479 M479={0};
T670 M670=0;
T306 M306={0};
T927 M927={NULL,0,0};
T52 M52={NULL,0,0,0};
void r2append_in(int C,T0* a1){
int _i=0;
int _val=0;
/*IF*/if ((C)==(0)) {
r7extend(((T7*)a1),'0');
}
else {
/*IF*/if ((C)>(0)) {
_i=((((T7*)((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*)((T7*)a1)))->_count/*4*/)+(1);
_val=C;
while (!((_val)==(0))) {
r7extend(((T7*)a1),r2digit(-((_val)%(10))));
_val=(_val)/(10);
}
}
/*FI*/_val=(((T7*)((T7*)a1)))->_count/*4*/;
while (!((_i)>=(_val))) {
r7swap(((T7*)a1),_i,_val);
_val=(_val)-(1);
_i=(_i)+(1);
}
}
/*FI*/}
char r2digit(int C){
char R=0;
R=((char)((C)+(((unsigned char)'0'))));
return R;
}
int r6_ix_not(int C){
int R=0;
/*IF*/if (C) {
}
else {
R=1;
}
/*FI*/return R;
}
char r3to_lower(char C){
char R=0;
/*IF*/if ((((unsigned char)C))<(65)) {
R=C;
}
 else if ((((unsigned char)C))>(90)) {
R=C;
}
else {
R=((char)((((unsigned char)C))+(32)));
}
/*FI*/return R;
}
int r3is_digit(char C){
int R=0;
{int z1=C;

if(((48<=z1)&&(z1<=57))){
R=1;
}
}
return R;
}
char r3to_upper(char C){
char R=0;
/*IF*/if ((((unsigned char)C))<(97)) {
R=C;
}
 else if ((((unsigned char)C))>(122)) {
R=C;
}
else {
R=((char)((((unsigned char)C))-(32)));
}
/*FI*/return R;
}
int r3is_letter(char C){
int R=0;
{int z1=C;

if(((65<=z1)&&(z1<=90))||((97<=z1)&&(z1<=122))){
R=1;
}
}
return R;
}
void r400set_all_with(T400 C,T0* a1,int a2){
int _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=(a1);
_i=(_i)-(1);
}
}
int r400equal_like(T0* a1,T0* a2){
int 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;
}
int r400index_of(T400 C,T0* a1,int a2){
int R=0;
while (!(((R)>(a2))||(r400equal_like(a1,(C)[R])))) {
R=(R)+(1);
}
return R;
}
int r9fast_memcmp(T9 C,T9 a1,int a2){
int R=0;
int _i=0;
R=((C)[0])==((a1)[0]);
_i=(a2)-(1);
while (!(((_i)==(0))||(!(R)))) {
R=((C)[_i])==((a1)[_i]);
_i=(_i)-(1);
}
return R;
}
int r9fast_index_of(T9 C,char a1,int a2){
int R=0;
while (!(((R)>(a2))||((a1)==((C)[R])))) {
R=(R)+(1);
}
return R;
}
void r9copy_from(T9 C,T9 a1,int a2){
int _i=0;
_i=a2;
while (!((_i)<(0))) {
(C)[_i]=((a1)[_i]);
_i=(_i)-(1);
}
}
T9 r9realloc(T9 C,int a1,int a2){
T9 R=NULL;
R=calloc(a2,sizeof(char));
r9copy_from(R,C,(a1)-(1));
return R;
}
void r7extend(T7* C,char a1){
int _new_capacity=0;
/*IF*/if (((((T7*)C))->_capacity/*8*/)>((((T7*)C))->_count/*4*/)) {
}
 else if (((((T7*)C))->_capacity/*8*/)==(0)) {
C->_capacity=32;
C->_storage=calloc((((T7*)C))->_capacity/*8*/,sizeof(char));
}
else {
_new_capacity=(2)*((((T7*)C))->_capacity/*8*/);
C->_storage=r9realloc((((T7*)C))->_storage/*0*/,(((T7*)C))->_capacity/*8*/,_new_capacity);
C->_capacity=_new_capacity;
}
/*FI*/C->_count=((((T7*)C))->_count/*4*/)+(1);
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]=(a1);
/*]*/
}
void r7set_last(T7* C,char a1){
/*IF*/if ((((((T7*)C))->_count/*4*/)==(0))||((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/)!=(a1))) {
r7extend(C,a1);
}
/*FI*/}
/*No:STRING.remove_suffix*/
void r7to_lower(T7* C){
int _i=0;
_i=(((T7*)C))->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]=(r3to_lower(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}
void r7make(T7* C,int a1){
/*IF*/if ((a1)>(0)) {
/*IF*/if (((((T7*)C))->_capacity/*8*/)<(a1)) {
C->_storage=calloc(a1,sizeof(char));
C->_capacity=a1;
}
/*FI*/}
/*FI*/C->_count=0;
}
void* r7to_external(T7* C){
void* R=0;
/*IF*/if (((((T7*)C))->_capacity/*8*/)>((((T7*)C))->_count/*4*/)) {
C->_count=((((T7*)C))->_count/*4*/)+(1);
/*IF*/if ((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/)!=('\0')) {
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]=('\0');
/*]*/
}
/*FI*/}
else {
r7extend(C,'\0');
}
/*FI*/C->_count=((((T7*)C))->_count/*4*/)-(1);
R=((void*)(((T7*)C))->_storage/*0*/);
return R;
}
/*No:STRING.item*/
/*No:STRING.clear*/
/*No:STRING.storage*/
T0* r7twin(T7* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T7*)R)=M7;
r7copy(((T7*)R),((T0*)C));
return R;
}
int r7is_equal(T7* C,T0* a1){
int R=0;
/*IF*/if ((C)==((void*)(a1))) {
R=1;
}
 else if (((((T7*)C))->_count/*4*/)==((((T7*)((T7*)a1)))->_count/*4*/)) {
/*IF*/if (((((T7*)C))->_count/*4*/)>(0)) {
R=r9fast_memcmp((((T7*)C))->_storage/*0*/,(((T7*)((T7*)a1)))->_storage/*0*/,(((T7*)C))->_count/*4*/);
}
else {
R=1;
}
/*FI*/}
/*FI*/return R;
}
void r7swap(T7* C,int a1,int a2){
char _tmp=0;
_tmp=/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(a1)-(1)]/*)*/;
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(a1)-(1)]=(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(a2)-(1)]/*)*/);
/*]*/
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(a2)-(1)]=(_tmp);
/*]*/
}
char r7last(T7* C){
char R=0;
R=/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[((((T7*)C))->_count/*4*/)-(1)]/*)*/;
return R;
}
/*No:STRING.capacity*/
int r7has_suffix(T7* C,T0* a1){
int R=0;
int _i2=0;
int _i1=0;
/*IF*/if (((((T7*)((T7*)a1)))->_count/*4*/)<=((((T7*)C))->_count/*4*/)) {
_i1=(((((T7*)C))->_count/*4*/)-((((T7*)((T7*)a1)))->_count/*4*/))+(1);
_i2=1;
while (!((((_i1)>((((T7*)C))->_count/*4*/))||((_i2)>((((T7*)((T7*)a1)))->_count/*4*/)))||((/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i1)-(1)]/*)*/)!=(/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i2)-(1)]/*)*/)))) {
_i1=(_i1)+(1);
_i2=(_i2)+(1);
}
R=(_i1)>((((T7*)C))->_count/*4*/);
}
/*FI*/return R;
}
int r7has(T7* C,char a1){
int R=0;
R=(r7index_of(C,a1))!=(((((T7*)C))->_count/*4*/)+(1));
return R;
}
void r7copy(T7* C,T0* a1){
C->_count=(((T7*)((T7*)a1)))->_count/*4*/;
/*IF*/if (((((T7*)C))->_count/*4*/)>(0)) {
/*IF*/if (((((T7*)C))->_capacity/*8*/)<((((T7*)C))->_count/*4*/)) {
C->_storage=calloc((((T7*)C))->_count/*4*/,sizeof(char));
C->_capacity=(((T7*)C))->_count/*4*/;
}
/*FI*/r9copy_from((((T7*)C))->_storage/*0*/,(((T7*)((T7*)a1)))->_storage/*0*/,((((T7*)C))->_count/*4*/)-(1));
}
/*FI*/}
/*No:STRING.put*/
/*No:STRING.count*/
void r7to_upper(T7* C){
int _i=0;
_i=(((T7*)C))->_count/*4*/;
while (!((_i)==(0))) {
/*[IRF3.5put*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]=(r3to_upper(/*(IRF4.6item*/((((T7*)C))->_storage/*0*/)[(_i)-(1)]/*)*/));
/*]*/
_i=(_i)-(1);
}
}
void r7remove_last(T7* C,int a1){
C->_count=((((T7*)C))->_count/*4*/)-(a1);
}
int r7index_of(T7* C,char a1){
int R=0;
R=(1)+(r9fast_index_of((((T7*)C))->_storage/*0*/,a1,((((T7*)C))->_count/*4*/)-(1)));
return R;
}
void r7append(T7* C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
r7extend(C,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/);
_i=(_i)+(1);
}
}
/*No:FIXED_ARRAY[STRING].clear_all*/
/*No:FIXED_ARRAY[STRING].set_all_with*/
void r927make(T927* C,int a1){
/*IF*/if ((a1)==(0)) {
C->_upper=-(1);
}
 else if (((((T927*)C))->_capacity/*4*/)==(0)) {
C->_storage=calloc(a1,sizeof(T0*));
C->_capacity=a1;
C->_upper=(a1)-(1);
}
 else if (((((T927*)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*/{T927* C1=C;
T0* __value=NULL;
/*[IRF3.6set_all_with*/{T927* C2=C1;
T0* c1=__value;
r400set_all_with((((T927*)C2))->_storage/*0*/,c1,(((T927*)C2))->_upper/*8*/);
}/*]*/
}/*]*/
}
/*FI*/}
/*No:FIXED_ARRAY[STRING].item*/
/*No:FIXED_ARRAY[STRING].storage*/
/*No:FIXED_ARRAY[STRING].capacity*/
/*No:FIXED_ARRAY[STRING].put*/
/*No:FIXED_ARRAY[STRING].upper*/
T0* r52item(T52* C,int a1){
T0* R=NULL;
R=((((T52*)C))->_storage/*0*/)[(a1)-((((T52*)C))->_lower/*12*/)];
return R;
}
/*No:ARRAY[STRING].storage*/
/*No:ARRAY[STRING].capacity*/
/*No:ARRAY[STRING].lower*/
/*No:ARRAY[STRING].upper*/
int r52index_of(T52* C,T0* a1){
int R=0;
R=((((T52*)C))->_lower/*12*/)+(r400index_of((((T52*)C))->_storage/*0*/,a1,((((T52*)C))->_upper/*8*/)-((((T52*)C))->_lower/*12*/)));
return R;
}
void r675connect_to(T675* C,T0* a1){
C->_input_stream=fopen(r7to_external(((T7*)a1)),"r");
/*IF*/if ((NULL!=(((T675*)C))->_input_stream/*8*/)) {
C->_push_back_flag=0;
C->_memory=((unsigned char)'\40');
C->_path=a1;
}
/*FI*/}
T0*oBC762last_string=NULL;
/*No:STD_FILE_READ.push_back_flag*/
/*No:STD_FILE_READ.make*/
void r675disconnect(T675* C){
fclose((((T675*)C))->_input_stream/*8*/);
C->_path=NULL;
}
/*No:STD_FILE_READ.path*/
void r675read_character(T675* C){
/*IF*/if ((((T675*)C))->_push_back_flag/*0*/) {
C->_push_back_flag=0;
}
else {
C->_memory=getc((FILE*)((((T675*)C))->_input_stream/*8*/));
}
/*FI*/}
/*No:STD_FILE_READ.is_connected*/
/*No:STD_FILE_READ.last_character*/
void r675read_line_in(T675* C,T0* a1){
int _mem=0;
r675read_character(C);
_mem=(((T675*)C))->_memory/*12*/;
while (!(((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))) {
r7extend(((T7*)a1),((char)(_mem)));
_mem=getc((FILE*)((((T675*)C))->_input_stream/*8*/));
}
C->_memory=_mem;
}
int r675end_of_input(T675* C){
int R=0;
/*IF*/if (!((((T675*)C))->_push_back_flag/*0*/)) {
R=((((T675*)C))->_memory/*12*/)==((EOF));
}
/*FI*/return R;
}
void r675read_line(T675* C){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0);
/*]*/
r675read_line_in(C,oBC762last_string);
}
/*No:STD_FILE_READ.input_stream*/
/*No:STD_FILE_READ.memory*/
/*No:STD_ERROR.make*/
/*No:STD_ERROR.flush*/
void r441put_string(T441* C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
/*[IRF3.6put_character*/{T441* C1=C;
char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stderr)));
}/*]*/
_i=(_i)+(1);
}
}
/*No:STD_ERROR.put_character*/
/*No:CLEAN.dos_system*/
/*No:CLEAN.fz_system_se*/
/*No:CLEAN.fz_sys*/
T0*oBC364tmp_file_read=NULL;
/*No:CLEAN.unix_system*/
/*No:CLEAN.exit_failure_code*/
/*No:CLEAN.vms_system*/
int fBC364small_eiffel_directory=0;
T0*oBC364small_eiffel_directory=NULL;
T0* r650small_eiffel_directory(T650* C){
if (fBC364small_eiffel_directory==0){
T0* R=NULL;
char _slash=0;
int _i=0;
fBC364small_eiffel_directory=1;
R=r650get_environment_variable(C,((T0*)ms121_470));
/*IF*/if ((R)==((void*)(NULL))) {
R=r7twin(((T7*)(((T0*)ms121_470))));
r7to_upper(((T7*)R));
R=r650get_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;}
int fBC364make_suffix=0;
T0*oBC364make_suffix=NULL;
T0* r650make_suffix(T650* C){
if (fBC364make_suffix==0){
T0* R=NULL;
fBC364make_suffix=1;
/*IF*/if ((((T0*)ms14_364))==((void*)(r650system_name(C)))) {
R=((T0*)ms33_364);
}
 else if ((((T0*)ms19_364))==((void*)(r650system_name(C)))) {
R=((T0*)ms34_364);
}
 else if ((((T0*)ms18_364))==((void*)(r650system_name(C)))) {
R=((T0*)ms35_364);
}
 else if ((((T0*)ms16_364))==((void*)(r650system_name(C)))) {
R=((T0*)ms36_364);
}
else {
R=((T0*)ms37_364);
}
/*FI*/oBC364make_suffix=R;}
return oBC364make_suffix;}
/*No:CLEAN.amiga_system*/
void r650make(T650* C){
T0* _str=NULL;
int _arg=0;
/*IF*/if ((/*(IRF4.9argument_count*/(((T927*)((T927*)(r650command_arguments()))))->_upper/*8*//*)*/)<(1)) {
r441put_string(((T441*)(oBC1std_error)),((T0*)ms1_650));
r650print_help(C,((T0*)ms2_650));
exit(1);
}
/*FI*/_arg=1;
while (!((_arg)>(/*(IRF4.9argument_count*/(((T927*)((T927*)(r650command_arguments()))))->_upper/*8*//*)*/))) {
_str=r650argument(_arg);
/*IF*/if (r7is_equal(ms3_650,_str)) {
/*[IRF3.3set_verbose*/((((T306*)(((T306*)(oBC364echo)))))->_verbose)=(1);
/*]*/
}
else {
/*IF*/if (r7has_suffix(((T7*)_str),((T0*)ms25_364))) {
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)_str);
T0* b1=((T0*)ms25_364);
r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/);
}/*]*/
}
 else if (r7has_suffix(((T7*)_str),r650make_suffix(C))) {
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)_str);
T0* b1=r650make_suffix(C);
r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/);
}/*]*/
}
/*FI*//*IF*/if ((((T0*)ms14_364))==((void*)(r650system_name(C)))) {
while (!(((((T7*)((T7*)_str)))->_count/*4*/)<=(4))) {
r7remove_last(((T7*)_str),1);
}
}
/*FI*/r650c_files_removing(C,_str);
r7to_upper(((T7*)_str));
r650c_files_removing(C,_str);
r7to_lower(((T7*)_str));
r650c_files_removing(C,_str);
}
/*FI*/_arg=(_arg)+(1);
}
}
/*No:CLEAN.help_suffix*/
T0*oBC364help_file_name=NULL;
T0*oBC1std_error=NULL;
void r650add_directory(T650* C,T0* a1,T0* a2){
/*IF*/if ((((T0*)ms17_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms19_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms15_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\72');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\72');
}
 else if ((((T0*)ms14_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms16_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\134');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\134');
}
 else if ((((T0*)ms13_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\57');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\57');
}
 else if ((((T0*)ms18_364))==((void*)(r650system_name(C)))) {
r7set_last(((T7*)a1),'\135');
r7remove_last(((T7*)a1),1);
r7set_last(((T7*)a1),'\56');
r7append(((T7*)a1),a2);
r7set_last(((T7*)a1),'\135');
}
/*FI*/}
T0*oBC1std_output=NULL;
T670 oBC1file_tools=0;
/*No:CLEAN.windows_system*/
T0*oBC364echo=NULL;
T0* r650get_environment_variable(T650* C,T0* a1){
T0* R=NULL;
void* _p=0;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p));
return R;
}
void r650print_help(T650* C,T0* a1){
r7copy(((T7*)(oBC364help_file_name)),r650small_eiffel_directory(C));
r650add_directory(C,oBC364help_file_name,((T0*)ms2_364));
r7append(((T7*)(oBC364help_file_name)),a1);
/*IF*/if (!(r7has_suffix(((T7*)(oBC364help_file_name)),((T0*)ms39_364)))) {
r7append(((T7*)(oBC364help_file_name)),((T0*)ms39_364));
}
/*FI*//*IF*/if (!(r650file_exists(oBC364help_file_name))) {
r306w_put_string(((T0*)ms3_364));
r306w_put_string(oBC364help_file_name);
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r830append_file(((T830*)(oBC1std_output)),oBC364help_file_name);
}
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;
T0* r650command_arguments(void){
if (fBC1command_arguments==0){
T0* R=NULL;
T0* _arg=NULL;
int _i=0;
fBC1command_arguments=1;
_i=se_argc;
{T927*n=malloc(sizeof(*n));
*n=M927;
r927make(n,_i);
R=(T0*)n;
}
while (!((_i)==(0))) {
_i=(_i)-(1);
_arg=((T0*)e2s(se_argv[_i]));
/*[IRF3.5put*/((((T927*)((T927*)R)))->_storage/*0*/)[_i]=(_arg);
/*]*/
}
oBC1command_arguments=R;}
return oBC1command_arguments;}
T0*oBC364system_list=NULL;
int fBC364system_name=0;
T0*oBC364system_name=NULL;
T0* r650system_name(T650* C){
if (fBC364system_name==0){
T0* R=NULL;
int _i=0;
fBC364system_name=1;
r7copy(((T7*)(oBC364tmp_path)),r650small_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)),r650small_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)),r650small_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)),r650small_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)),r650small_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(r650small_eiffel_directory(C));
r306w_put_string(((T0*)ms242_470));
exit(1);
}
/*FI*/r675read_line(((T675*)(oBC364tmp_file_read)));
R=oBC762last_string;
_i=r52index_of(((T52*)(oBC364system_list)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
/*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) {
r306w_put_string(((T0*)ms22_364));
r306w_put_string(oBC364tmp_path);
r306w_put_string(((T0*)ms23_364));
_i=1;
while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) {
r306w_put_string(r52item(((T52*)(oBC364system_list)),_i));
r306w_put_character('\n');
_i=(_i)+(1);
}
}
else {
R=r52item(((T52*)(oBC364system_list)),_i);
r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364));
r306put_string(((T306*)(oBC364echo)),R);
r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470));
}
/*FI*/oBC364system_name=R;}
return oBC364system_name;}
/*No:CLEAN.fz_b0*/
T0*oBC364tmp_path=NULL;
T0*oBC650tmp_string=NULL;
/*No:CLEAN.fz_se*/
/*No:CLEAN.os2_system*/
void r650c_files_removing(T650* C,T0* a1){
int _i=0;
_i=1;
while (!((_i)==(0))) {
r7copy(((T7*)(oBC650tmp_string)),a1);
r2append_in(_i,oBC650tmp_string);
r7append(((T7*)(oBC650tmp_string)),((T0*)ms26_364));
/*IF*/if (r650file_exists(oBC650tmp_string)) {
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
r7extend(((T7*)(oBC650tmp_string)),'\176');
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
r7remove_last(((T7*)(oBC650tmp_string)),1);
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)(oBC650tmp_string));
T0* b1=((T0*)ms26_364);
r7remove_last(C1,(((T7*)((T7*)b1)))->_count/*4*/);
}/*]*/
r7append(((T7*)(oBC650tmp_string)),r650o_suffix(C));
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
_i=(_i)+(1);
}
else {
_i=0;
}
/*FI*/}
r7copy(((T7*)(oBC650tmp_string)),a1);
r7append(((T7*)(oBC650tmp_string)),((T0*)ms27_364));
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
r7copy(((T7*)(oBC650tmp_string)),a1);
r7append(((T7*)(oBC650tmp_string)),((T0*)ms26_364));
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
r7copy(((T7*)(oBC650tmp_string)),a1);
r7append(((T7*)(oBC650tmp_string)),r650make_suffix(C));
r306file_removing(((T306*)(oBC364echo)),oBC650tmp_string);
}
int r650file_exists(T0* a1){
int R=0;
R=r670is_readable(a1);
return R;
}
/*No:CLEAN.argument_count*/
/*No:CLEAN.macintosh_system*/
/*No:CLEAN.eiffel_suffix*/
/*No:CLEAN.c_suffix*/
T0* r650argument(int a1){
T0* R=NULL;
R=/*(IRF4.6item*/((((T927*)((T927*)(r650command_arguments()))))->_storage/*0*/)[a1]/*)*/;
return R;
}
/*No:CLEAN.h_suffix*/
int fBC364o_suffix=0;
T0*oBC364o_suffix=NULL;
T0* r650o_suffix(T650* C){
if (fBC364o_suffix==0){
T0* R=NULL;
T0* _sn=NULL;
fBC364o_suffix=1;
_sn=r650system_name(C);
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,4);
R=(T0*)n;
}
r7copy(((T7*)(oBC364tmp_path)),r650small_eiffel_directory(C));
r650add_directory(C,oBC364tmp_path,((T0*)ms126_470));
r7append(((T7*)(oBC364tmp_path)),((T0*)ms28_364));
r7append(((T7*)(oBC364tmp_path)),_sn);
r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path);
r675read_line_in(((T675*)(oBC364tmp_file_read)),R);
r675disconnect(((T675*)(oBC364tmp_file_read)));
oBC364o_suffix=R;}
return oBC364o_suffix;}
T0*oBC817tmp_file_read=NULL;
/*No:STD_OUTPUT.make*/
void r830append_file(T830* C,T0* a1){
char _c=0;
r675connect_to(((T675*)(oBC817tmp_file_read)),a1);
r675read_character(((T675*)(oBC817tmp_file_read)));
while (!(r675end_of_input(((T675*)(oBC817tmp_file_read))))) {
_c=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC817tmp_file_read))))->_memory/*12*/))/*)*/;
/*[IRF3.6put_character*/{T830* C1=C;
char b1=_c;
putc(b1,((FILE*)(stdout)));
}/*]*/
r675read_character(((T675*)(oBC817tmp_file_read)));
}
r675disconnect(((T675*)(oBC817tmp_file_read)));
}
/*No:STD_OUTPUT.flush*/
void r830put_string(T830* C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
/*[IRF3.6put_character*/{T830* C1=C;
char b1=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/;
putc(b1,((FILE*)(stdout)));
}/*]*/
_i=(_i)+(1);
}
}
/*No:STD_OUTPUT.put_character*/
/*No:FILE_TOOLS.delete*/
T0*oBC670std_fr1=NULL;
int r670is_readable(T0* a1){
int R=0;
r675connect_to(((T675*)(oBC670std_fr1)),a1);
R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/;
/*IF*/if (R) {
r675disconnect(((T675*)(oBC670std_fr1)));
}
/*FI*/return R;
}
/*No:ECHO.make*/
/*No:ECHO.verbose*/
void r306file_removing(T306* C,T0* a1){
/*IF*/if (r306file_exists(a1)) {
r306put_string(C,((T0*)ms1_306));
r306put_string(C,a1);
r306put_string(C,((T0*)ms2_306));
/*[IRF3.6remove_file*/{T0* b1=a1;
/*[IRF3.6delete*/{T0* c1=b1;
remove(((char*)r7to_external(((T7*)c1))));
}/*]*/
}/*]*/
}
/*FI*/}
/*No:ECHO.remove_file*/
void r306sfr_connect(T306* C,T0* a1,T0* a2){
r306put_string(C,((T0*)ms3_306));
r306put_string(C,a2);
r306put_string(C,((T0*)ms4_306));
r675connect_to(((T675*)a1),a2);
}
void r306put_string(T306* C,T0* a1){
/*IF*/if ((((T306*)C))->_verbose/*0*/) {
r830put_string(((T830*)(oBC1std_output)),a1);
/*[IRF3.6flush*/{T830* C1=((T830*)(oBC1std_output));
fflush(stdout);
}/*]*/
}
/*FI*/}
void r306w_put_string(T0* a1){
r441put_string(((T441*)(oBC1std_error)),a1);
/*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error));
fflush(stderr);
}/*]*/
}
int r306file_exists(T0* a1){
int R=0;
R=r670is_readable(a1);
return R;
}
void r306w_put_character(char a1){
/*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
char b1=a1;
putc(b1,((FILE*)(stderr)));
}/*]*/
/*[IRF3.6flush*/{T441* C1=((T441*)(oBC1std_error));
fflush(stderr);
}/*]*/
}
/*No:ECHO.set_verbose*/
/*No:BOOLEAN_REF.item*/
int se_argc;
char**se_argv;
int main(int argc,char*argv[]){
se_initialize();
{
T650*n=malloc(1);
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();
se_msi2();
{int R=0;
oBC1file_tools=R;}/*PCO*/
{T0* R=NULL;
{T830*n=malloc(1);
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC1std_output=R;}/*PCO*/
{T0* R=NULL;
{T441*n=malloc(1);
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC1std_error=R;}/*PCO*/
{T0* R=NULL;
{T675*n=malloc(sizeof(*n));
*n=M675;
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC670std_fr1=R;}/*PCO*/
{T0* R=NULL;
{T675*n=malloc(sizeof(*n));
*n=M675;
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC817tmp_file_read=R;}/*PCO*/
{T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
R=(T0*)n;
}
oBC650tmp_string=R;}/*PCO*/
{T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
R=(T0*)n;
}
oBC364tmp_path=R;}/*PCO*/
{T0* R=NULL;
R=se_ma52(7,((T0*)ms13_364),((T0*)ms14_364),((T0*)ms15_364),((T0*)ms16_364),((T0*)ms17_364),((T0*)ms18_364),((T0*)ms19_364));
oBC364system_list=R;}/*PCO*/
{T0* R=NULL;
{T306*n=malloc(sizeof(*n));
*n=M306;
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC364echo=R;}/*PCO*/
{T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
R=(T0*)n;
}
oBC364help_file_name=R;}/*PCO*/
{T0* R=NULL;
{T675*n=malloc(sizeof(*n));
*n=M675;
/*[IRF3.1make*//*]*/
R=(T0*)n;
}
oBC364tmp_file_read=R;}/*PCO*/
{T0* R=NULL;
{T7*n=malloc(sizeof(*n));
*n=M7;
r7make(n,256);
R=(T0*)n;
}
oBC762last_string=R;}/*PCO*/
r650make(n);
exit(0);}}
T7*ms1_650;
T7*ms2_650;
T7*ms2_364;
T7*ms39_364;
T7*ms3_364;
T7*ms25_364;
T7*ms28_364;
T7*ms27_364;
T7*ms26_364;
T7*ms37_364;
T7*ms36_364;
T7*ms35_364;
T7*ms34_364;
T7*ms33_364;
T7*ms126_470;
T7*ms3_306;
T7*ms4_306;
T7*ms20_364;
T7*ms127_470;
T7*ms21_364;
T7*ms121_470;
T7*ms1_364;
T7*ms24_364;
T7*ms242_470;
T7*ms22_364;
T7*ms23_364;
T7*ms13_364;
T7*ms15_364;
T7*ms16_364;
T7*ms17_364;
T7*ms18_364;
T7*ms19_364;
T7*ms14_364;
T7*ms1_306;
T7*ms2_306;
T7*ms3_650;
void se_msi1(void){
ms1_650=se_ms(28,"Bad use of command `clean\'.\n");
ms2_650=se_ms(5,"clean");
ms2_364=se_ms(3,"man");
ms39_364=se_ms(4,".txt");
ms3_364=se_ms(26,"Unable to find help file \"");
ms25_364=se_ms(2,".e");
ms28_364=se_ms(9,"o_suffix.");
ms27_364=se_ms(2,".h");
ms26_364=se_ms(2,".c");
ms37_364=se_ms(5,".make");
ms36_364=se_ms(4,".CMD");
ms35_364=se_ms(4,".COM");
ms34_364=se_ms(4,".bat");
ms33_364=se_ms(4,".BAT");
ms126_470=se_ms(3,"sys");
ms3_306=se_ms(18,"Try to read file \"");
ms4_306=se_ms(3,"\".\n");
ms20_364=se_ms(21,"Unable to find file\n\"");
ms127_470=se_ms(9,"system.se");
ms21_364=se_ms(14,"\" using path \"");
}
void se_msi2(void){
ms121_470=se_ms(11,"SmallEiffel");
ms1_364=se_ms(31,"/usr/local/logiciel/SmallEiffel");
ms24_364=se_ms(11,"System is \"");
ms242_470=se_ms(3,"\".\n");
ms22_364=se_ms(29,"Unknown system name in file\n\"");
ms23_364=se_ms(36,"\".\nCurrently handled system names :\n");
ms13_364=se_ms(5,"Amiga");
ms15_364=se_ms(9,"Macintosh");
ms16_364=se_ms(3,"OS2");
ms17_364=se_ms(4,"UNIX");
ms18_364=se_ms(3,"VMS");
ms19_364=se_ms(7,"Windows");
ms14_364=se_ms(3,"DOS");
ms1_306=se_ms(10,"Removing \"");
ms2_306=se_ms(2,"\"\n");
ms3_650=se_ms(8,"-verbose");
}
T7*se_ms(int c,char*e){
T7*s=malloc(sizeof(T7));
s->_count=c;
s->_capacity=c+1;
s->_storage=malloc(c+1);
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;}
void*se_ma52(int argc,...){
T52*m;
va_list pa;
T0**s;
m=malloc(sizeof(*m));
*m=M52;
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);
}
return m;}
void rsp(void){
printf("Eiffel program crash at run time.\n");
printf("No trace when using option \"-boost\"\n");}
void sigrsp(int sig){
printf("Received signal %d (man signal).\n",sig);
rsp();
exit(1);}
void se_initialize(void){
}

