ftp.nice.ch/pub/next/developer/languages/eiffel/SmallEiffel.0.95.N.bs.tar.gz#/SmallEiffel/bin_c/compile1.c

This is compile1.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 "compile.h"
T0 *se_new(int id){
int sz=s[id];
T0 *n=malloc(sz);
memset(n,0,sz);
n->id=id;
return n;
}
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);
}
}
T0*oRBC1std_error;
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_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_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_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;
}
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_suffix(T7 *C,T0* a1){
rT7remove_last(C,((T7*)a1)->_count);
}
void rT7remove_between(T7 *C,int a1,int a2){
int _i=0;
_i=a2;
while (!((_i)>=((C)->_count))) {
rT7put(C,rT7item(C,(_i)+(1)),((a1)+(_i))-(a2));
_i=(_i)+(1);
}
C->_count=((C)->_count)-(((a2)-(a1))+(1));
}
void rT7remove_first(T7 *C,int a1){
/*IF*/if ((a1)>(0)) {
rT7remove_between(C,1,a1);
}
/*FI*/}
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;
}
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 rT7swap(T7 *C,int a1,int a2){
char _tmp=0;
_tmp=rT7item(C,a1);
rT7put(C,rT7item(C,a2),a1);
rT7put(C,_tmp,a2);
}
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 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;
}
char rT2digit(T2 C){
char R=0;
R=rT7item(ms69,(C)+(1));
return R;
}
void rT2append_in(T2 C,T0* a1){
int _i=0;
int _val=0;
/*IF*/if ((C)==(0)) {
rT7extend((T7*)a1,'0');
}
else {
/*IF*/if ((C)<(0)) {
rT7extend((T7*)a1,'\55');
rT2append_in(-(C),a1);
}
else {
_i=(((T7*)a1)->_count)+(1);
_val=C;
while (!((_val)==(0))) {
rT7extend((T7*)a1,rT2digit((_val)%(10)));
_val=(_val)/(10);
}
_val=((T7*)a1)->_count;
while (!((_i)>=(_val))) {
rT7swap((T7*)a1,_i,_val);
_val=(_val)-(1);
_i=(_i)+(1);
}
}
/*FI*/}
/*FI*/}
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 ofBC27x_suffix=0;
T0*oRBC27x_suffix;
T0* rT26x_suffix(/*C*/void){
if (ofBC27x_suffix==0){
T0* R=NULL;
ofBC27x_suffix=1;
/*IF*/if (((T0 *)(T0 *)ms32)==((T0 *)rT26system_name())) {
R=(T0 *)ms47;
}
else {
R=(T0 *)ms48;
}
/*FI*/oRBC27x_suffix=R;}
return oRBC27x_suffix;}
void rT26automat(T26 *C){
T0* _a=NULL;
int _arg=0;
int _state=0;
_arg=1;
while (!(((_arg)>(/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/))||((_state)>(2)))) {
_a=rT26argument(_arg);
/*IF*/if (rT7is_equal(ms53,_a)) {
C->_c_code=1;
}
else {
rT7extend((T7*)(T0 *)ms29,'\40');
rT7append((T7*)(T0 *)ms29,_a);
{int iv1=_state;
if (0 == iv1) goto l2;
goto l3;
 l2: ;
/*IF*/if ((rT7item((T7*)_a,1))!=('\55')) {
/*IF*/if (rT7has_suffix((T7*)_a,(T0 *)ms54)) {
}
 else if (rT7has_suffix((T7*)_a,(T0 *)ms55)) {
}
 else if (!((C)->_root)) {
C->_root=rT26to_bcn(_a);
rT7to_lower((T7*)(C)->_root);
_state=2;
}
/*FI*/}
 else if (rT7is_equal(ms57,_a)) {
_state=1;
}
/*FI*/goto l1;
 l3: ;
if (1 == iv1) goto l4;
goto l5;
 l4: ;
_state=0;
goto l1;
 l5: ;
if (2 == iv1) goto l6;
goto l7;
 l6: ;
_state=0;
goto l1;
 l7: ;
 l1: ;
}
}
/*FI*/_arg=(_arg)+(1);
}
}
T0* rT26to_bcn(/*C*/T0* a1){
T0* R=NULL;
char _c=0;
int _i=0;
R=rT7twin((T7*)a1);
/*IF*/if (rT7has_suffix((T7*)R,(T0 *)ms56)) {
rT7remove_last((T7*)R,2);
}
/*FI*/_i=((T7*)R)->_count;
while (!((_i)==(0))) {
_c=rT7item((T7*)R,_i);
/*IF*/if (rT3is_letter(_c)) {
_i=(_i)-(1);
}
 else if ((_c)==('\137')) {
_i=(_i)-(1);
}
 else if (rT3is_digit(_c)) {
_i=(_i)-(1);
}
else {
rT7remove_first((T7*)R,_i);
_i=0;
}
/*FI*/}
rT7to_upper((T7*)R);
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);
}
void rT26remove_file(/*C*/T0* a1){
void * _p=0;
_p=rT7to_external((T7*)a1);
remove(((char*)_p));
}
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;
void rT26open_read(/*C*/T0* a1,T0* a2){
rT42connect_to((T42*)a1,a2);
/*IF*/if (!(rT42is_connected((T42*)a1))) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms37);
rT37put_string((T37*)oRBC1std_error,a2);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms38);
rT26die_with_code(1);
}
/*FI*/}
int ofBC27tmp_file_read=0;
T0*oRBC27tmp_file_read;
T0* rT26tmp_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;}
void rT26system(/*C*/T0* a1){
void * _p=0;
_p=rT7to_external((T7*)a1);
system(((char*)_p));
}
T0*oRBC27system_list;
int ofBC27system_name=0;
T0*oRBC27system_name;
T0* rT26system_name(/*C*/void){
if (ofBC27system_name==0){
T0* R=NULL;
int _i=0;
T0* _path=NULL;
ofBC27system_name=1;
_path=rT7twin((T7*)rT26small_eiffel_directory());
rT26add_directory(_path,(T0 *)ms33);
rT7append((T7*)_path,(T0 *)ms34);
/*IF*/if (!(rT26file_exists(_path))) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms35);
rT37put_string((T37*)oRBC1std_error,_path);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms36);
rT26die_with_code(1);
}
/*FI*/rT26open_read(rT26tmp_file_read(),_path);
rT42read_word((T42*)rT26tmp_file_read());
R=oRBC42last_string;
_i=rT34index_of((T34*)oRBC27system_list,R);
rT42disconnect((T42*)rT26tmp_file_read());
/*IF*/if ((_i)>(((T34*)oRBC27system_list)->_upper)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms45);
rT37put_string((T37*)oRBC1std_error,_path);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms46);
_i=1;
while (!((_i)>(((T34*)oRBC27system_list)->_upper))) {
rT37put_string((T37*)oRBC1std_error,rT34item((T34*)oRBC27system_list,_i));
rT37put_character((T37*)oRBC1std_error,'\12');
_i=(_i)+(1);
}
}
else {
R=rT34item((T34*)oRBC27system_list,_i);
}
/*FI*/oRBC27system_name=R;}
return oRBC27system_name;}
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 ofBC26make_file=0;
T0*oRBC26make_file;
T0* rT26make_file(/*C*/void){
if (ofBC26make_file==0){
T0* R=NULL;
ofBC26make_file=1;
{T42 *n=((T42*)se_new(42));
/*(IRF3*/((n)->_mode)=((T0 *)ms25);
/*)*/R=(T0 *)n;}
oRBC26make_file=R;}
return oRBC26make_file;}
int ofBC27make_suffix=0;
T0*oRBC27make_suffix;
T0* rT26make_suffix(/*C*/void){
if (ofBC27make_suffix==0){
T0* R=NULL;
ofBC27make_suffix=1;
/*IF*/if (((T0 *)(T0 *)ms32)==((T0 *)rT26system_name())) {
R=(T0 *)ms58;
}
 else if (((T0 *)(T0 *)ms42)==((T0 *)rT26system_name())) {
R=(T0 *)ms59;
}
else {
R=(T0 *)ms60;
}
/*FI*/oRBC27make_suffix=R;}
return oRBC27make_suffix;}
void rT26make(T26 *C){
int _i=0;
T0* _str=NULL;
/*IF*/if ((/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/)<(2)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms9);
rT26print_hlp((T0 *)ms28);
rT26die_with_code(1);
}
/*FI*//*(IRF3*/(((T7*)(T0 *)ms29)->_count)=(0);
/*)*/rT7append((T7*)(T0 *)ms29,rT26small_eiffel_directory());
rT26add_directory((T0 *)ms29,(T0 *)ms30);
rT7append((T7*)(T0 *)ms29,(T0 *)ms31);
rT7append((T7*)(T0 *)ms29,rT26x_suffix());
/*IF*/if (!(rT26file_exists((T0 *)ms29))) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms49);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms50);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms29);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms51);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms15);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms52);
rT26die_with_code(1);
}
/*FI*/rT26automat(C);
_str=rT7twin((T7*)(C)->_root);
rT7append((T7*)_str,rT26make_suffix());
/*IF*/if (rT26file_exists(_str)) {
rT26remove_file(_str);
}
/*FI*//*(IRF3*/rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT41put_character((T41*)oRBC1std_output,'\12');
rT26system((T0 *)ms29);
/*)*//*IF*/if (!(rT26file_exists(_str))) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms63);
rT37put_string((T37*)oRBC1std_error,_str);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms64);
rT26die_with_code(1);
}
/*FI*/rT41put_string((T41*)oRBC1std_output,(T0 *)ms65);
rT41put_string((T41*)oRBC1std_output,_str);
rT41put_string((T41*)oRBC1std_output,(T0 *)ms66);
rT26open_read(rT26make_file(),_str);
rT42read_line((T42*)rT26make_file());
while (!(rT42end_of_input((T42*)rT26make_file()))) {
rT7copy((T7*)(T0 *)ms29,oRBC42last_string);
/*(IRF3*/rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT41put_character((T41*)oRBC1std_output,'\12');
rT26system((T0 *)ms29);
/*)*/rT42read_line((T42*)rT26make_file());
}
/*IF*/if ((C)->_c_code) {
rT41put_string((T41*)oRBC1std_output,(T0 *)ms67);
}
else {
rT41put_string((T41*)oRBC1std_output,(T0 *)ms68);
_i=1;
while (!((_i)==(0))) {
/*(IRF3*/(((T7*)(T0 *)ms29)->_count)=(0);
/*)*/rT7append((T7*)(T0 *)ms29,(C)->_root);
rT2append_in(_i,(T0 *)ms29);
rT7append((T7*)(T0 *)ms29,(T0 *)ms55);
/*IF*/if (rT26file_exists((T0 *)ms29)) {
/*(IRF3*/rT41put_character((T41*)oRBC1std_output,'\40');
rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT26remove_file((T0 *)ms29);
/*)*/rT7remove_suffix((T7*)(T0 *)ms29,(T0 *)ms55);
rT7append((T7*)(T0 *)ms29,(T0 *)ms54);
/*(IRF3*/rT41put_character((T41*)oRBC1std_output,'\40');
rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT26remove_file((T0 *)ms29);
/*)*/_i=(_i)+(1);
}
else {
_i=0;
}
/*FI*/}
/*(IRF3*/(((T7*)(T0 *)ms29)->_count)=(0);
/*)*/rT7append((T7*)(T0 *)ms29,(C)->_root);
rT7append((T7*)(T0 *)ms29,(T0 *)ms70);
/*(IRF3*/rT41put_character((T41*)oRBC1std_output,'\40');
rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT26remove_file((T0 *)ms29);
/*)*//*(IRF3*/(((T7*)(T0 *)ms29)->_count)=(0);
/*)*/rT7append((T7*)(T0 *)ms29,(C)->_root);
rT7append((T7*)(T0 *)ms29,rT26make_suffix());
/*(IRF3*/rT41put_character((T41*)oRBC1std_output,'\40');
rT41put_string((T41*)oRBC1std_output,(T0 *)ms29);
rT26remove_file((T0 *)ms29);
/*)*/rT41put_character((T41*)oRBC1std_output,'\12');
}
/*FI*/rT41put_string((T41*)oRBC1std_output,(T0 *)ms71);
}
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 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;
}
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 l9;
goto l10;
 l9: ;
R=1;
goto l8;
 l10: ;
 l8: ;
}
return R;
}
int rT3is_letter(T3 C){
int R=0;
{int iv1=C;
if ((65<=iv1)&&(iv1<=90)) goto l12;
if ((97<=iv1)&&(iv1<=122)) goto l12;
goto l13;
 l12: ;
R=1;
goto l11;
 l13: ;
 l11: ;
}
return R;
}
int rT3is_separator(T3 C){
int R=0;
{int iv1=C;
if (0 == iv1) goto l15;
if ((9<=iv1)&&(iv1<=10)) goto l15;
if (13 == iv1) goto l15;
if (32 == iv1) goto l15;
goto l16;
 l15: ;
R=1;
goto l14;
 l16: ;
 l14: ;
}
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_all(T34 *C){
T0* _value=NULL;
rT34set_all_with(C,_value);
}
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);
}
}
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** rT34malloc(T34 *C,int a1){
T0** R=0;
R=malloc((size_t)(a1*sizeof(*(C->_storage))));
return R;
}
int rT34equal_like(/*C*/T0* a1,T0* a2){
int R=0;
/*IF*//*AF*/if (((T0 *)a1)==((T0 *)a2)) {
R=1;
}
 else if ((!(a1))||(!(a2))) {
}
else {
R=rT7is_equal((T7*)a1,a2);
}
/*FI*/return R;
}
int rT34index_of(T34 *C,T0* a1){
int R=0;
R=(C)->_lower;
while (!(((R)>((C)->_upper))||(rT34equal_like(a1,rT34item(C,R))))) {
R=(R)+(1);
}
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 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;
{T41 *n=((T41*)se_new(41));
rT41make(n);
R=(T0 *)n;}
oRBC1std_output=R;}/*PCO*/
{T0* R;
R=ma(34,0,6,(T0 *)ms39,(T0 *)ms40,(T0 *)ms41,(T0 *)ms32,(T0 *)ms42,(T0 *)ms43);
oRBC27system_list=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*/
{T0* R;
{T7 *n=((T7*)se_new(7));
rT7make(n,256);
R=(T0 *)n;}
oRBC42last_string=R;}/*PCO*/
rT26make(n);
exit(0);}}
Tstring *ms71;
Tstring *ms70;
Tstring *ms69;
Tstring *ms68;
Tstring *ms67;
Tstring *ms66;
Tstring *ms65;
Tstring *ms64;
Tstring *ms63;
Tstring *ms60;
Tstring *ms59;
Tstring *ms58;
Tstring *ms57;
Tstring *ms56;
Tstring *ms55;
Tstring *ms54;
Tstring *ms53;
Tstring *ms52;
Tstring *ms51;
Tstring *ms50;
Tstring *ms49;
Tstring *ms48;
Tstring *ms47;
Tstring *ms46;
Tstring *ms45;
Tstring *ms43;
Tstring *ms42;
Tstring *ms41;
Tstring *ms40;
Tstring *ms39;
Tstring *ms38;
Tstring *ms37;
Tstring *ms36;
Tstring *ms35;
Tstring *ms34;
Tstring *ms33;
Tstring *ms32;
Tstring *ms31;
Tstring *ms30;
Tstring *ms29;
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){
ms71=e2s("Done.\n");
ms70=e2s(".h");
ms69=e2s("0123456789");
ms68=e2s("Removing: ");
ms67=e2s("C code not removed (-c_code).\n");
ms66=e2s("\" command file.\n");
ms65=e2s("C compiling using \"");
ms64=e2s("\" not found. Error(s) during `compile_to_c\'.\n");
ms63=e2s("File \"");
ms60=e2s(".make");
ms59=e2s(".CMD");
ms58=e2s(".BAT");
ms57=e2s("-o");
ms56=e2s(".e");
ms55=e2s(".c");
ms54=e2s(".o");
ms53=e2s("-c_code");
ms52=e2s("\" must be set to a correct value.\nOr install not done correctly.\n");
ms51=e2s("\" not found.\nEnvironment variable \"");
ms50=e2s("File \"");
ms49=e2s("Cannot find command `compile_to_c\'.\n");
ms48=e2s("");
ms47=e2s(".EXE");
ms46=e2s("\".\nCurrently handled system :\n");
ms45=e2s("Unknow system name in file\n\"");
ms43=e2s("Amiga");
ms42=e2s("OS2");
ms41=e2s("Macintosh");
ms40=e2s("Windows");
ms39=e2s("UNIX");
ms38=e2s("\".\n");
ms37=e2s("Cannot read file \"");
ms36=e2s("\".\n");
ms35=e2s("Unable to find system name file\n\"");
ms34=e2s("system.se");
ms33=e2s("bin");
ms32=e2s("DOS");
ms31=e2s("compile_to_c");
ms30=e2s("bin");
ms29=e2s("................................................");
ms28=e2s("compile");
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 `compile\'.\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[43];
Tstring * gt[43];
Tstring * g[43];
char * p[43];
void se_sz_initialize(void){
s[35]=sizeof(T35);
s[8]=sizeof(T8);
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[26]=sizeof(T26);
s[41]=sizeof(T41);
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.