This is finder1.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.95) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "finder.h" T0 *se_new(int id){ int sz=s[id]; T0 *n=malloc(sz); memset(n,0,sz); n->id=id; return n; } T0* rT26get_environment_variable(/*C*/T0* a1){ T0* R=NULL; void * _p=0; _p=rT7to_external((T7*)a1); _p=((void*)getenv((char*)_p)); /*IF*/if (((int)_p)) { R=(T0*)e2s((char*)_p); } /*FI*/return R; } int ofBC27directory_separator=0; T3 oRBC27directory_separator; char rT26directory_separator(/*C*/void){ if (ofBC27directory_separator==0){ char R=0; ofBC27directory_separator=1; R=rT7last((T7*)rT26small_eiffel_directory()); oRBC27directory_separator=R;} return oRBC27directory_separator;} void rT26die_with_code(/*C*/int a1){ exit(a1); } T0*oRBC27hlp_file_name; void rT26add_directory(/*C*/T0* a1,T0* a2){ rT7append((T7*)a1,a2); rT7extend((T7*)a1,rT26directory_separator()); } void rT26print_hlp(/*C*/T0* a1){ rT7copy((T7*)oRBC27hlp_file_name,rT26small_eiffel_directory()); rT26add_directory(oRBC27hlp_file_name,(T0 *)ms20); rT7append((T7*)oRBC27hlp_file_name,a1); /*IF*/if (!(rT7has_suffix((T7*)oRBC27hlp_file_name,(T0 *)ms21))) { rT7append((T7*)oRBC27hlp_file_name,(T0 *)ms21); } /*FI*//*IF*/if (!(rT26file_exists(oRBC27hlp_file_name))) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms23); rT37put_string((T37*)oRBC1std_error,oRBC27hlp_file_name); rT37put_string((T37*)oRBC1std_error,(T0 *)ms24); rT26die_with_code(1); } /*FI*/rT41append_file((T41*)oRBC1std_output,oRBC27hlp_file_name); } T0*oRBC1command_arguments; T0*oRBC1std_error; T0*oRBC27small_eiffel; T0*oRBC1std_output; int ofBC27small_eiffel_directory=0; T0*oRBC27small_eiffel_directory; T0* rT26small_eiffel_directory(/*C*/void){ if (ofBC27small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; ofBC27small_eiffel_directory=1; R=rT26get_environment_variable((T0 *)ms15); /*IF*/if (!(R)) { R=rT7twin((T7*)(T0 *)ms15); rT7to_upper((T7*)R); R=rT26get_environment_variable(R); /*IF*/if (((int)R)) { rT7to_upper((T7*)(T0 *)ms15); } /*FI*/} /*FI*//*IF*/if (!(R)) { R=(T0 *)ms19; } /*FI*/_i=((T7*)R)->_count; while (!((_i)<(0))) { _slash=rT7item((T7*)R,_i); /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { rT7extend((T7*)R,'\57'); } else if (!((rT7last((T7*)R))==(_slash))) { rT7extend((T7*)R,_slash); } /*FI*/oRBC27small_eiffel_directory=R;} return oRBC27small_eiffel_directory;} T0* rT26argument(/*C*/int a1){ T0* R=NULL; R=rT34item((T34*)oRBC1command_arguments,a1); return R; } int rT26file_exists(/*C*/T0* a1){ int R=0; void * _p=0; _p=rT7to_external((T7*)a1); {FILE *f=fopen(((char*)_p),"r"); R=(f != NULL); if (R) fclose(f);} return R; } void rT45resize(T45 *C,int a1){ int _p=0; int _n=0; int _i=0; T0* _new_buc=NULL; int _hash=0; {T46 *n=((T46*)se_new(46)); rT46make(n,0,(a1)-(1)); _new_buc=(T0 *)n;} _i=0; while (!((_i)>=((C)->_modulus))) { _n=rT46item((T46*)(C)->_buckets,_i); while (!((_n)==(0))) { _p=rT46item((T46*)(C)->_chain,_n); _hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1); rT46put((T46*)(C)->_chain,rT46item((T46*)_new_buc,_hash),_n); rT46put((T46*)_new_buc,_n,_hash); _n=_p; } _i=(_i)+(1); } C->_buckets=_new_buc; C->_modulus=a1; C->_item_mem=0; } T0* rT45at(T45 *C,T0* a1){ T0* R=NULL; int _foo=0; _foo=rT45has(C,a1); R=rT34item((T34*)(C)->_store,(C)->_has_mem); return R; } void rT45put(T45 *C,T0* a1,T0* a2){ int _hash=0; _hash=(rT7hash_code((T7*)a2))%((C)->_modulus); /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT46item((T46*)(C)->_buckets,_hash); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT46item((T46*)(C)->_chain,(C)->_has_mem); } /*IF*/if (((C)->_has_mem)==(0)) { /*IF*/if (((C)->_count)>=(rT34count((T34*)(C)->_store))) { rT45expand(C); } /*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free); rT34put((T34*)(C)->_store,a1,(C)->_free); C->_has_mem=(C)->_free; C->_free=rT46item((T46*)(C)->_chain,(C)->_free); rT46put((T46*)(C)->_chain,rT46item((T46*)(C)->_buckets,_hash),(C)->_has_mem); rT46put((T46*)(C)->_buckets,(C)->_has_mem,_hash); C->_count=((C)->_count)+(1); /*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) { rT45resize(C,(2)*((C)->_modulus)); } /*FI*/} /*FI*/} else { rT34put((T34*)(C)->_store,a1,(C)->_has_mem); } /*FI*/C->_item_mem=0; } void rT45expand(T45 *C){ int _old_size=0; int _i=0; C->_item_mem=0; _old_size=rT34count((T34*)(C)->_store); rT46resize((T46*)(C)->_chain,1,(2)*(_old_size)); rT34resize((T34*)(C)->_keys,1,(2)*(_old_size)); rT34resize((T34*)(C)->_store,1,(2)*(_old_size)); _i=(_old_size)+(1); while (!((_i)==(rT46count((T46*)(C)->_chain)))) { rT46put((T46*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT46put((T46*)(C)->_chain,(C)->_free,_i); C->_free=(_old_size)+(1); } int rT45has(T45 *C,T0* a1){ int R=0; /*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT46item((T46*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus)); while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) { C->_has_mem=rT46item((T46*)(C)->_chain,(C)->_has_mem); } } /*FI*/R=((C)->_has_mem)!=(0); return R; } void rT45make(T45 *C){ int _i=0; C->_modulus=32; C->_count=0; C->_free=1; C->_has_mem=0; C->_item_mem=0; {T46 *n=((T46*)se_new(46)); rT46make(n,0,((C)->_modulus)-(1)); C->_buckets=(T0 *)n;} {T46 *n=((T46*)se_new(46)); rT46make(n,1,16); C->_chain=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_store=(T0 *)n;} {T34 *n=((T34*)se_new(34)); rT34make(n,1,16); C->_keys=(T0 *)n;} _i=1; while (!((_i)==(rT46count((T46*)(C)->_chain)))) { rT46put((T46*)(C)->_chain,(_i)+(1),_i); _i=(_i)+(1); } rT46put((T46*)(C)->_chain,0,_i); _i=0; while (!((_i)>=((C)->_modulus))) { rT46put((T46*)(C)->_buckets,0,_i); _i=(_i)+(1); } } void rT37die_with_code(/*C*/int a1){ exit(a1); } void rT37put_string(T37 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT37put_character(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } } void rT37put_character(T37 *C,char a1){ char _err=0; _err=fputc(a1,(C)->_output_stream); /*IF*/if ((_err)!=(a1)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms5); /*(IRF3*/rsp(); rT37die_with_code(1); /*)*/} /*FI*/} void rT37make(T37 *C){ C->_output_stream=stderr; } int rT42feof(T42 *C,void * a1){ int R=0; R=feof((FILE*)C->_input_stream); return R; } int rT42end_of_input(T42 *C){ int R=0; R=rT42feof(C,(C)->_input_stream); return R; } int rT42is_connected(T42 *C){ int R=0; R=((int)(C)->_path); return R; } void rT42disconnect(T42 *C){ int _err=0; _err=fclose((C)->_input_stream); C->_path=NULL; } T0*oRBC42last_string; char rT42last_character(T42 *C){ char R=0; R=(C)->_last_character_memory; return R; } void rT42connect_to(T42 *C,T0* a1){ /*(IRF3*/((C)->_mode)=((T0 *)ms25); /*)*/C->_input_stream=rT42fopen(a1,(C)->_mode); /*IF*/{/*AT*/C->_path=a1; } /*FI*/} void rT42skip_separators(T42 *C){ while (!((rT42end_of_input(C))||(!(rT3is_separator(rT42last_character(C)))))) { rT42read_character(C); } } void * rT42fopen(/*C*/T0* a1,T0* a2){ void * R=0; void * _pm=0; void * _pf=0; _pf=rT7to_external((T7*)a1); _pm=rT7to_external((T7*)a2); R=(void*)fopen(((char*)_pf),((char*)_pm)); return R; } void rT42read_word(T42 *C){ rT42skip_separators(C); /*(IRF3*/(((T7*)oRBC42last_string)->_count)=(0); /*)*/while (!((rT42end_of_input(C))||(rT3is_separator(rT42last_character(C))))) { rT7extend((T7*)oRBC42last_string,rT42last_character(C)); rT42read_character(C); } } void rT42read_line_in(T42 *C,T0* a1){ /*(IRF3*/(((T7*)a1)->_count)=(0); /*)*/rT42read_character(C); while (!((rT42end_of_input(C))||((rT42last_character(C))==('\12')))) { rT7extend((T7*)a1,rT42last_character(C)); rT42read_character(C); } } void rT42read_line(T42 *C){ rT42read_line_in(C,oRBC42last_string); } void rT42read_character(T42 *C){ C->_last_character_memory=fgetc((C)->_input_stream); } T0* rT7twin(T7 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT7copy((T7*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT7hash_code(T7 *C){ int R=0; int _i=0; _i=(C)->_count; /*IF*/if ((_i)>(5)) { _i=5; } /*FI*/while (!((_i)==(0))) { R=(R)+(((unsigned char)rT7item(C,_i))); _i=(_i)-(1); } return R; } void rT7extend(T7 *C,char a1){ /*IF*/if (((C)->_capacity)>((C)->_count)) { } else if (((C)->_capacity)==(0)) { C->_capacity=32; C->_storage=rT7malloc((C)->_capacity); } else { C->_capacity=((C)->_capacity)+(32); C->_storage=rT7realloc((C)->_storage,(C)->_capacity); } /*FI*/C->_count=((C)->_count)+(1); rT7put(C,a1,(C)->_count); } void rT7to_upper(T7 *C){ int _i=0; _i=(C)->_count; while (!((_i)==(0))) { rT7put(C,rT3to_upper(rT7item(C,_i)),_i); _i=(_i)-(1); } } void rT7remove_last(T7 *C,int a1){ C->_count=((C)->_count)-(a1); } int rT7has_suffix(T7 *C,T0* a1){ int R=0; int _i2=0; int _i1=0; /*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) { _i1=(((C)->_count)-(((T7*)a1)->_count))+(1); _i2=1; while (!((((_i1)>((C)->_count))||((_i2)>(((T7*)a1)->_count)))||((rT7item(C,_i1))!=(rT7item((T7*)a1,_i2))))) { _i1=(_i1)+(1); _i2=(_i2)+(1); } R=(_i1)>((C)->_count); } /*FI*/return R; } int rT7empty(T7 *C){ int R=0; R=((C)->_count)==(0); return R; } char rT7item(T7 *C,int a1){ char R=0; /*IF*//*AF*//*AE*/ /*FI*/R=(C->_storage)[a1-1]; return R; } char * rT7realloc(/*C*/char * a1,int a2){ char * R=0; R=(char*)realloc(a1,(size_t)a2); return R; } int rT7is_equal(T7 *C,T0* a1){ int R=0; int _i=0; /*IF*/if (((T0 *)C)==((T0 *)a1)) { R=1; } else { _i=(C)->_count; R=(_i)==(((T7*)a1)->_count); while (!(((!(R))||((_i)==(0))))) { R=(rT7item(C,_i))==(rT7item((T7*)a1,_i)); _i=(_i)-(1); } } /*FI*/return R; } void rT7append(T7 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT7extend(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } } char rT7last(T7 *C){ char R=0; R=rT7item(C,(C)->_count); return R; } char * rT7malloc(/*C*/int a1){ char * R=0; R=(char*)malloc((size_t)a1); return R; } void rT7put(T7 *C,char a1,int a2){ /*IF*//*AF*//*AE*/ /*FI*/(C->_storage)[a2-1]=a1; } void rT7copy(T7 *C,T0* a1){ int _i=0; /*IF*/if (((C)->_capacity)<(((T7*)a1)->_count)) { rT7make(C,((T7*)a1)->_count); } /*FI*/_i=((T7*)a1)->_count; C->_count=_i; while (!((_i)==(0))) { rT7put(C,rT7item((T7*)a1,_i),_i); _i=(_i)-(1); } } void rT7prepend(T7 *C,T0* a1){ int _old_count=0; int _i=0; _old_count=(C)->_count; _i=((T7*)a1)->_count; while (!((_i)==(0))) { rT7extend(C,'\40'); _i=(_i)-(1); } _i=(C)->_count; while (!((_old_count)==(0))) { rT7put(C,rT7item(C,_old_count),_i); _i=(_i)-(1); _old_count=(_old_count)-(1); } _i=((T7*)a1)->_count; while (!((_i)==(0))) { rT7put(C,rT7item((T7*)a1,_i),_i); _i=(_i)-(1); } } void rT7to_lower(T7 *C){ int _i=0; _i=(C)->_count; while (!((_i)==(0))) { rT7put(C,rT3to_lower(rT7item(C,_i)),_i); _i=(_i)-(1); } } void rT7make(T7 *C,int a1){ /*IF*/if ((a1)>(0)) { /*IF*/if (((C)->_capacity)<(a1)) { /*IF*/if (((C)->_capacity)==(0)) { C->_storage=rT7malloc(a1); } else { C->_storage=rT7realloc((C)->_storage,a1); } /*FI*/C->_capacity=a1; } /*FI*/} /*FI*/C->_count=0; } char * rT7to_external(T7 *C){ char * R=0; rT7extend(C,'\0'); rT7remove_last(C,1); R=(C)->_storage; return R; } int rT6_ix111114(T6 C,int a1){ int R=0; R=(C)||(a1); return R; } int rT6_px110111116(T6 C){ int R=0; /*IF*/if (C) { } else { R=1; } /*FI*/return R; } int rT2min(T2 C,int a1){ int R=0; /*IF*/if ((C)<(a1)) { R=C; } else { R=a1; } /*FI*/return R; } int rT2max(T2 C,int a1){ int R=0; /*IF*/if ((a1)<(C)) { R=C; } else { R=a1; } /*FI*/return R; } T0* rT43find_path_for(/*C*/T0* a1){ T0* R=NULL; int _i=0; rT7copy((T7*)(T0 *)ms30,a1); rT7to_lower((T7*)(T0 *)ms30); /*IF*/if (!(rT7has_suffix((T7*)(T0 *)ms30,(T0 *)ms31))) { rT7append((T7*)(T0 *)ms30,(T0 *)ms31); } /*FI*//*IF*/if (rT43file_exists((T0 *)ms30)) { R=rT7twin((T7*)(T0 *)ms30); } else { _i=((T34*)rT43loading_path())->_lower; while (!((((_i)>(((T34*)rT43loading_path())->_upper))||(((int)R))))) { rT7copy((T7*)(T0 *)ms39,rT34item((T34*)rT43loading_path(),_i)); rT7append((T7*)(T0 *)ms39,(T0 *)ms30); /*IF*/if (rT43file_exists((T0 *)ms39)) { R=rT7twin((T7*)(T0 *)ms39); } /*FI*/_i=(_i)+(1); } } /*FI*//*IF*/if ((!(R))&&(rT45has((T45*)rT43rename_dictionary(),(T0 *)ms30))) { rT7copy((T7*)(T0 *)ms39,rT45at((T45*)rT43rename_dictionary(),(T0 *)ms30)); /*IF*/if (rT43file_exists((T0 *)ms39)) { R=(T0 *)ms39; } else { rT37put_string((T37*)oRBC1std_error,(T0 *)ms46); rT37put_string((T37*)oRBC1std_error,(T0 *)ms39); rT37put_string((T37*)oRBC1std_error,(T0 *)ms47); rT43die_with_code(1); } /*FI*/} /*FI*//*IF*/if (!(R)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms48); rT37put_string((T37*)oRBC1std_error,a1); rT37put_string((T37*)oRBC1std_error,(T0 *)ms49); /*(IRF3*/(((T7*)(T0 *)ms39)->_count)=(0); /*)*/rT43append_loading_path_in((T0 *)ms39); rT37put_string((T37*)oRBC1std_error,(T0 *)ms39); } /*FI*/return R; } T0* rT43get_environment_variable(/*C*/T0* a1){ T0* R=NULL; void * _p=0; _p=rT7to_external((T7*)a1); _p=((void*)getenv((char*)_p)); /*IF*/if (((int)_p)) { R=(T0*)e2s((char*)_p); } /*FI*/return R; } char rT43directory_separator(/*C*/void){ if (ofBC27directory_separator==0){ char R=0; ofBC27directory_separator=1; R=rT7last((T7*)rT43small_eiffel_directory()); oRBC27directory_separator=R;} return oRBC27directory_separator;} void rT43die_with_code(/*C*/int a1){ exit(a1); } int ofBC43loading_path=0; T0*oRBC43loading_path; T0* rT43loading_path(/*C*/void){ if (ofBC43loading_path==0){ T0* R=NULL; T0* _file=NULL; T0* _defaults=NULL; char _slash=0; int _i=0; T0* _path=NULL; ofBC43loading_path=1; _path=(T0 *)ms32; {T34 *n=((T34*)se_new(34)); rT34make(n,1,10); R=(T0 *)n;} rT34clear((T34*)R); _slash=rT43directory_separator(); /*IF*/if (rT43file_exists(_path)) { {T42 *n=((T42*)se_new(42)); /*(IRF3*/((n)->_mode)=((T0 *)ms25); /*)*/_file=(T0 *)n;} rT43open_read(_file,_path); while (!(rT42end_of_input((T42*)_file))) { rT42read_line((T42*)_file); _path=rT7twin((T7*)oRBC42last_string); /*IF*/if (!(rT7empty((T7*)_path))) { /*IF*/if ((rT7last((T7*)_path))!=(_slash)) { rT7extend((T7*)_path,_slash); } /*FI*/rT34add_last((T34*)R,_path); } /*FI*/} rT42disconnect((T42*)_file); } /*FI*/_defaults=ma(34,0,3,ms36,ms37,ms38); _i=1; while (!((_i)>(((T34*)_defaults)->_upper))) { _path=rT34item((T34*)_defaults,_i); rT7prepend((T7*)_path,rT43small_eiffel_directory()); rT7extend((T7*)_path,_slash); rT34add_last((T34*)R,_path); _i=(_i)+(1); } oRBC43loading_path=R;} return oRBC43loading_path;} void rT43open_read(/*C*/T0* a1,T0* a2){ rT42connect_to((T42*)a1,a2); /*IF*/if (!(rT42is_connected((T42*)a1))) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms33); rT37put_string((T37*)oRBC1std_error,a2); rT37put_string((T37*)oRBC1std_error,(T0 *)ms34); rT43die_with_code(1); } /*FI*/} int ofBC43rename_dictionary=0; T0*oRBC43rename_dictionary; T0* rT43rename_dictionary(/*C*/void){ if (ofBC43rename_dictionary==0){ T0* R=NULL; T0* _short_name=NULL; T0* _full_name=NULL; int _i=0; ofBC43rename_dictionary=1; {T45 *n=((T45*)se_new(45)); rT45make(n); R=(T0 *)n;} _i=1; while (!((_i)>(((T34*)rT43loading_path())->_upper))) { rT7copy((T7*)(T0 *)ms39,rT34item((T34*)rT43loading_path(),_i)); rT7append((T7*)(T0 *)ms39,(T0 *)ms40); /*IF*/if (rT43file_exists((T0 *)ms39)) { rT43open_read(rT43tmp_file_read(),(T0 *)ms39); while (!(rT42end_of_input((T42*)rT43tmp_file_read()))) { rT42read_word((T42*)rT43tmp_file_read()); _full_name=rT7twin((T7*)oRBC42last_string); rT42read_word((T42*)rT43tmp_file_read()); _short_name=rT7twin((T7*)oRBC42last_string); rT7prepend((T7*)_short_name,rT34item((T34*)rT43loading_path(),_i)); /*IF*/if (rT45has((T45*)R,_full_name)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms41); rT37put_string((T37*)oRBC1std_error,_full_name); rT37put_string((T37*)oRBC1std_error,(T0 *)ms42); rT37put_string((T37*)oRBC1std_error,_short_name); rT37put_string((T37*)oRBC1std_error,(T0 *)ms43); rT37put_string((T37*)oRBC1std_error,rT45at((T45*)R,_full_name)); rT37put_string((T37*)oRBC1std_error,(T0 *)ms44); rT43die_with_code(1); } /*FI*/rT45put((T45*)R,_short_name,_full_name); rT42skip_separators((T42*)rT43tmp_file_read()); } rT42disconnect((T42*)rT43tmp_file_read()); } /*FI*/_i=(_i)+(1); } oRBC43rename_dictionary=R;} return oRBC43rename_dictionary;} void rT43append_loading_path_in(/*C*/T0* a1){ T0* _sed=NULL; int _i=0; rT7append((T7*)a1,(T0 *)ms50); _i=((T34*)rT43loading_path())->_lower; while (!((_i)>(((T34*)rT43loading_path())->_upper))) { rT7extend((T7*)a1,'\42'); rT7append((T7*)a1,rT34item((T34*)rT43loading_path(),_i)); rT7extend((T7*)a1,'\42'); rT7extend((T7*)a1,'\12'); _i=(_i)+(1); } rT7append((T7*)a1,(T0 *)ms51); rT7append((T7*)a1,(T0 *)ms15); _sed=rT43get_environment_variable((T0 *)ms15); rT7append((T7*)a1,(T0 *)ms52); /*IF*/if (!(_sed)) { rT7append((T7*)a1,(T0 *)ms53); } else { rT7append((T7*)a1,(T0 *)ms54); rT7append((T7*)a1,_sed); rT7append((T7*)a1,(T0 *)ms55); } /*FI*/rT7extend((T7*)a1,'\12'); } int ofBC27tmp_file_read=0; T0*oRBC27tmp_file_read; T0* rT43tmp_file_read(/*C*/void){ if (ofBC27tmp_file_read==0){ T0* R=NULL; ofBC27tmp_file_read=1; {T42 *n=((T42*)se_new(42)); /*(IRF3*/((n)->_mode)=((T0 *)ms25); /*)*/R=(T0 *)n;} oRBC27tmp_file_read=R;} return oRBC27tmp_file_read;} T0* rT43small_eiffel_directory(/*C*/void){ if (ofBC27small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; ofBC27small_eiffel_directory=1; R=rT43get_environment_variable((T0 *)ms15); /*IF*/if (!(R)) { R=rT7twin((T7*)(T0 *)ms15); rT7to_upper((T7*)R); R=rT43get_environment_variable(R); /*IF*/if (((int)R)) { rT7to_upper((T7*)(T0 *)ms15); } /*FI*/} /*FI*//*IF*/if (!(R)) { R=(T0 *)ms19; } /*FI*/_i=((T7*)R)->_count; while (!((_i)<(0))) { _slash=rT7item((T7*)R,_i); /*IF*/if ((rT3is_letter(_slash))||(rT3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { rT7extend((T7*)R,'\57'); } else if (!((rT7last((T7*)R))==(_slash))) { rT7extend((T7*)R,_slash); } /*FI*/oRBC27small_eiffel_directory=R;} return oRBC27small_eiffel_directory;} int rT43file_exists(/*C*/T0* a1){ int R=0; void * _p=0; _p=rT7to_external((T7*)a1); {FILE *f=fopen(((char*)_p),"r"); R=(f != NULL); if (R) fclose(f);} return R; } void rT41die_with_code(/*C*/int a1){ exit(a1); } void rT41put_string(T41 *C,T0* a1){ int _i=0; _i=1; while (!((_i)>(((T7*)a1)->_count))) { rT41put_character(C,rT7item((T7*)a1,_i)); _i=(_i)+(1); } } void rT41append_file(T41 *C,T0* a1){ char _c=0; rT42connect_to((T42*)rT41tmp_file_read(),a1); rT42read_character((T42*)rT41tmp_file_read()); while (!(rT42end_of_input((T42*)rT41tmp_file_read()))) { _c=rT42last_character((T42*)rT41tmp_file_read()); rT41put_character(C,_c); rT42read_character((T42*)rT41tmp_file_read()); } rT42disconnect((T42*)rT41tmp_file_read()); } int ofBC38tmp_file_read=0; T0*oRBC38tmp_file_read; T0* rT41tmp_file_read(/*C*/void){ if (ofBC38tmp_file_read==0){ T0* R=NULL; ofBC38tmp_file_read=1; {T42 *n=((T42*)se_new(42)); /*(IRF3*/((n)->_mode)=((T0 *)ms25); /*)*/R=(T0 *)n;} oRBC38tmp_file_read=R;} return oRBC38tmp_file_read;} void rT41put_character(T41 *C,char a1){ char _err=0; _err=fputc(a1,(C)->_output_stream); /*IF*/if ((_err)!=(a1)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms5); /*(IRF3*/rsp(); rT41die_with_code(1); /*)*/} /*FI*/} void rT41make(T41 *C){ C->_output_stream=stdout; } void rT46clear_all(T46 *C){ int _value=0; rT46set_all_with(C,_value); } int rT46count(T46 *C){ int R=0; R=(((C)->_upper)-((C)->_lower))+(1); return R; } void rT46set_all_with(T46 *C,int a1){ int _i=0; _i=(C)->_upper; while (!((_i)<((C)->_lower))) { rT46put(C,a1,_i); _i=(_i)-(1); } } void rT46resize(T46 *C,int a1,int a2){ int _up=0; int _i=0; T0* _other=NULL; {T46 *n=((T46*)se_new(46)); rT46make(n,a1,a2); _other=(T0 *)n;} _i=rT2max((C)->_lower,((T46*)_other)->_lower); _up=rT2min((C)->_upper,((T46*)_other)->_upper); while (!((_i)>(_up))) { rT46put((T46*)_other,rT46item(C,_i),_i); _i=(_i)+(1); } /*IF*/if (((int)(C)->_storage)) { free((C)->_storage); } /*FI*/rT46standard_copy(C,_other); free((T46*)_other); } int rT46item(T46 *C,int a1){ int R=0; /*IF*//*AF*//*AE*/ /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(((C->_storage))[a1-(C->_lower)]); return R; } int* rT46malloc(T46 *C,int a1){ int* R=0; R=malloc((size_t)(a1*sizeof(*(C->_storage)))); return R; } void rT46put(T46 *C,int a1,int a2){ /*IF*//*AF*//*AE*/ /*FI*//*IF*//*AF*//*AE*/ /*FI*/((C->_storage)[a2-(C->_lower)])=a1; } void rT46standard_copy(T46 *C,T0* a1){ memcpy(C,a1,s[a1->id]); } void rT46make(T46 *C,int a1,int a2){ /*IF*/if (((int)(C)->_storage)) { free((C)->_storage); } /*FI*/C->_lower=a1; C->_upper=a2; C->_capacity=(((C)->_upper)-((C)->_lower))+(1); /*IF*/if (((C)->_capacity)>(0)) { C->_capacity=((C)->_capacity)+(16); C->_storage=rT46malloc(C,(C)->_capacity); rT46clear_all(C); } /*FI*/} char rT3to_upper(T3 C){ char R=0; /*IF*/if ((((unsigned char)C))<(97)) { R=C; } else if ((((unsigned char)C))>(122)) { R=C; } else { R=(((unsigned char)C))-(32); } /*FI*/return R; } int rT3is_digit(T3 C){ int R=0; {int iv1=C; if ((48<=iv1)&&(iv1<=57)) goto l2; goto l3; l2: ; R=1; goto l1; l3: ; l1: ; } return R; } int rT3is_letter(T3 C){ int R=0; {int iv1=C; if ((65<=iv1)&&(iv1<=90)) goto l5; if ((97<=iv1)&&(iv1<=122)) goto l5; goto l6; l5: ; R=1; goto l4; l6: ; l4: ; } return R; } int rT3is_separator(T3 C){ int R=0; {int iv1=C; if (0 == iv1) goto l8; if ((9<=iv1)&&(iv1<=10)) goto l8; if (13 == iv1) goto l8; if (32 == iv1) goto l8; goto l9; l8: ; R=1; goto l7; l9: ; l7: ; } return R; } char rT3to_lower(T3 C){ char R=0; /*IF*/if ((((unsigned char)C))<(65)) { R=C; } else if ((((unsigned char)C))>(90)) { R=C; } else { R=(((unsigned char)C))+(32); } /*FI*/return R; } void rT34clear(T34 *C){ C->_upper=((C)->_lower)-(1); } void rT34clear_all(T34 *C){ T0* _value=NULL; rT34set_all_with(C,_value); } int rT34count(T34 *C){ int R=0; R=(((C)->_upper)-((C)->_lower))+(1); return R; } void rT34set_all_with(T34 *C,T0* a1){ int _i=0; _i=(C)->_upper; while (!((_i)<((C)->_lower))) { rT34put(C,a1,_i); _i=(_i)-(1); } } void rT34resize(T34 *C,int a1,int a2){ int _up=0; int _i=0; T0* _other=NULL; {T34 *n=((T34*)se_new(34)); rT34make(n,a1,a2); _other=(T0 *)n;} _i=rT2max((C)->_lower,((T34*)_other)->_lower); _up=rT2min((C)->_upper,((T34*)_other)->_upper); while (!((_i)>(_up))) { rT34put((T34*)_other,rT34item(C,_i),_i); _i=(_i)+(1); } /*IF*/if (((int)(C)->_storage)) { free((C)->_storage); } /*FI*/rT34standard_copy(C,_other); free((T34*)_other); } T0* rT34item(T34 *C,int a1){ T0* R=NULL; /*IF*//*AF*//*AE*/ /*FI*//*IF*//*AF*//*AE*/ /*FI*/R=(((C->_storage))[a1-(C->_lower)]); return R; } T0** rT34realloc(T34 *C,T0** a1,int a2){ T0** R=0; R=realloc(a1,((size_t)(a2*sizeof(*(C->_storage))))); return R; } void rT34add_last(T34 *C,T0* a1){ /*IF*//*AF*//*AE*/ /*FI*//*IF*/if (((C)->_capacity)<((rT34count(C))+(1))) { /*IF*/if (((C)->_capacity)==(0)) { C->_capacity=16; C->_storage=rT34malloc(C,(C)->_capacity); } else { C->_capacity=((C)->_capacity)+(16); C->_storage=rT34realloc(C,(C)->_storage,(C)->_capacity); } /*FI*/} /*FI*/C->_upper=((C)->_upper)+(1); rT34put(C,a1,(C)->_upper); } T0** rT34malloc(T34 *C,int a1){ T0** R=0; R=malloc((size_t)(a1*sizeof(*(C->_storage)))); return R; } void rT34put(T34 *C,T0* a1,int a2){ /*IF*//*AF*//*AE*/ /*FI*//*IF*//*AF*//*AE*/ /*FI*/((C->_storage)[a2-(C->_lower)])=a1; } void rT34standard_copy(T34 *C,T0* a1){ memcpy(C,a1,s[a1->id]); } void rT34make(T34 *C,int a1,int a2){ /*IF*/if (((int)(C)->_storage)) { free((C)->_storage); } /*FI*/C->_lower=a1; C->_upper=a2; C->_capacity=(((C)->_upper)-((C)->_lower))+(1); /*IF*/if (((C)->_capacity)>(0)) { C->_capacity=((C)->_capacity)+(16); C->_storage=rT34malloc(C,(C)->_capacity); rT34clear_all(C); } /*FI*/} int se_argc; char **se_argv; void main(int argc,char *argv[]){ se_sz_initialize();{ T26 *n=((T26*)se_new(26)); se_argc=argc; se_argv=argv; signal(SIGINT,sigrsp); signal(SIGQUIT,sigrsp); signal(SIGKILL,sigrsp); se_manifest_strings(); {T0* R; {T37 *n=((T37*)se_new(37)); rT37make(n); R=(T0 *)n;} oRBC1std_error=R;}/*PCO*/ {T0* R; {T7 *n=((T7*)se_new(7)); rT7make(n,256); R=(T0 *)n;} oRBC42last_string=R;}/*PCO*/ {T0* R; {T41 *n=((T41*)se_new(41)); rT41make(n); R=(T0 *)n;} oRBC1std_output=R;}/*PCO*/ {T0* R; {T43 *n=((T43*)se_new(43)); /*(IRF3*//*)*/R=(T0 *)n;} oRBC27small_eiffel=R;}/*PCO*/ {T0* R; T0* _arg=NULL; int _i=0; _i=se_argc-1; {T34 *n=((T34*)se_new(34)); rT34make(n,0,_i); R=(T0 *)n;} while (!((_i)<(0))) { _arg=((T0*)e2s(se_argv[_i])); rT34put((T34*)R,_arg,_i); _i=(_i)-(1); } oRBC1command_arguments=R;}/*PCO*/ {T0* R; {T7 *n=((T7*)se_new(7)); rT7make(n,256); R=(T0 *)n;} oRBC27hlp_file_name=R;}/*PCO*/ /*(IRF3*/{ T0* _file_name=NULL; T0* _class_name=NULL; /*IF*/if ((/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/)!=(1)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms9); rT26print_hlp((T0 *)ms28); rT26die_with_code(1); } /*FI*/_class_name=rT26argument(1); _file_name=((/*UT*/(void)(T43*)oRBC27small_eiffel), rT43find_path_for(_class_name)); /*IF*/if (!(_file_name)) { rT41put_string((T41*)oRBC1std_output,_class_name); rT41put_string((T41*)oRBC1std_output,(T0 *)ms56); rT26die_with_code(1); } else { rT41put_string((T41*)oRBC1std_output,_file_name); rT41put_character((T41*)oRBC1std_output,'\12'); } /*FI*/} /*)*/exit(0);}} Tstring *ms56; Tstring *ms55; Tstring *ms54; Tstring *ms53; Tstring *ms52; Tstring *ms51; Tstring *ms50; Tstring *ms49; Tstring *ms48; Tstring *ms47; Tstring *ms46; Tstring *ms44; Tstring *ms43; Tstring *ms42; Tstring *ms41; Tstring *ms40; Tstring *ms39; Tstring *ms38; Tstring *ms37; Tstring *ms36; Tstring *ms34; Tstring *ms33; Tstring *ms32; Tstring *ms31; Tstring *ms30; Tstring *ms28; Tstring *ms25; Tstring *ms24; Tstring *ms23; Tstring *ms21; Tstring *ms20; Tstring *ms19; Tstring *ms15; Tstring *ms9; Tstring *ms5; void se_manifest_strings(void){ ms56=e2s(": not found.\n"); ms55=e2s("\". "); ms54=e2s("set to \""); ms53=e2s("not set. "); ms52=e2s("\" is\n"); ms51=e2s("Environment Variable \""); ms50=e2s("\nLoading path is :\n"); ms49=e2s("\". "); ms48=e2s("Unable to find file for class \""); ms47=e2s("\"."); ms46=e2s("Bad \"rename.se\" file.\nCannot open \""); ms44=e2s(".\n"); ms43=e2s("\" and \n\""); ms42=e2s("\" in \"rename.se\" files.\nClash for \n\""); ms41=e2s("Multiple entry for \""); ms40=e2s("rename.se"); ms39=e2s(" "); ms38=e2s("lib_test"); ms37=e2s("lib_show"); ms36=e2s("lib_std"); ms34=e2s("\".\n"); ms33=e2s("Cannot read file \""); ms32=e2s("loadpath.se"); ms31=e2s(".e"); ms30=e2s(" "); ms28=e2s("finder"); ms25=e2s("r"); ms24=e2s("\".\n"); ms23=e2s("Unable to find help file \""); ms21=e2s(".hlp"); ms20=e2s("man"); ms19=e2s("/usr/local/logiciel/SmallEiffel"); ms15=e2s("SmallEiffel"); ms9=e2s("Bad use of command `finder\'.\n"); ms5=e2s("Error while writing character."); } char *s2e(Tstring *s){ char *e=(char*)malloc((s->_count)+1); memcpy(e,s->_storage,s->_count); e[s->_count]='\0'; return e; } Tstring *e2s(char *e){ Tstring *s=(Tstring*)se_new(7); if (e!=NULL) { s->_capacity=strlen(e)+1; s->_count=(s->_capacity)-1; s->_storage=(char *)malloc(sizeof(char)*s->_capacity); strcpy(s->_storage,e);} return s; } T0 *ma(int aid,int eid,int argc,...){ va_list pa; Tarray *a=((Tarray *)se_new(aid)); char* store=0; a->_capacity=argc; a->_lower=1; a->_upper=argc; a->_storage=NULL; if (argc) {va_start(pa,argc); if (eid) store=(char*)malloc(argc*(s[eid])); else store=(char*)malloc(argc*(sizeof(char*))); a->_storage=(T0**)store; switch (eid){ case 0: while (argc--){*((char**)store)=va_arg(pa,char*); store+=sizeof(char*);}break; case 2:case 6: while (argc--){*((int*)store)=va_arg(pa,int); store+=sizeof(int);}break; case 3: while (argc--){*((char*)store)=((char)va_arg(pa,int)); store+=sizeof(char);}break; case 4: while (argc--){*((float*)store)=va_arg(pa,double); store+=sizeof(float);}break; case 5: while (argc--){*((double*)store)=va_arg(pa,double); store+=sizeof(double);}break; while (argc--){ memcpy(*((char**)va_arg(pa,T0 *)),store,s[eid]); store+=s[eid];}} va_end(pa);} return ((T0*)a); } void rsp(void){ printf("Eiffel program crash at run time.\n"); printf("No trace when using option \"-boost\"\n"); exit(1); } void sigrsp(int sig){ printf("Received signal %d (man signal).\n",sig); rsp(); exit(1); } size_t s[47]; Tstring * gt[47]; Tstring * g[47]; char * p[47]; void se_sz_initialize(void){ s[26]=sizeof(T26); s[35]=sizeof(T35); s[8]=sizeof(T8); s[45]=sizeof(T45); s[37]=sizeof(T37); s[42]=sizeof(T42); s[7]=sizeof(T7); s[36]=sizeof(T36); s[6]=sizeof(T6); s[30]=sizeof(T30); s[2]=sizeof(T2); s[43]=sizeof(T43); s[41]=sizeof(T41); s[46]=sizeof(T46); s[3]=sizeof(T3); s[34]=sizeof(T34); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.