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

This is pretty7.c in view mode; [Download] [Up]

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.91)    --      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 "pretty.h"
/*EXPORT_ITEM*/int rT122for_all(T122 *C){
int R=0;
R=!((C)->_list);
return R;
}
/*EXPORT_ITEM*/void rT122pretty_print(T122 *C){
int _i=0;
rT123pretty_print((T123*)(C)->_clients);
/*IF*/if (rT122for_all(C)) {
rT267keyword((T267*)oRBC27fmt,(T0 *)ms1_122);
}
else {
rT128pretty_print((T128*)(C)->_list);
}
/*FI*/}/*EXPORT_ITEM*/void rT122make_all(T122 *C,T0* a1){
C->_clients=a1;
C->_list=NULL;
}/*EXPORT_ITEM*/void rT122make(T122 *C,T0* a1,T0* a2){
C->_clients=a1;
{T128 *n=((T128*)se_new(128));
rT128make(n,a2);
C->_list=(T0 *)n;}
}/*EXPORT_LIST*/void rT124pretty_print(T124 *C){
int _i=0;
/*[IRF3:set_indent_level*//*AW*/((T267*)oRBC27fmt)->_indent_level=(2);/*]*/
rT267indent((T267*)oRBC27fmt);
rT267keyword((T267*)oRBC27fmt,(T0 *)ms1_124);
_i=1;
while (!((_i)>(((T127*)(C)->_items)->_upper))) {
/*[IRF3:set_indent_level*//*AW*/((T267*)oRBC27fmt)->_indent_level=(3);/*]*/
rT122pretty_print((T122*)rT127item((T127*)(C)->_items,_i));
_i=(_i)+(1);
/*IF*/if ((_i)<=(((T127*)(C)->_items)->_upper)) {
rT267put_character((T267*)oRBC27fmt,'\73');
/*[IRF3:set_indent_level*//*AW*/((T267*)oRBC27fmt)->_indent_level=(3);/*]*/
rT267indent((T267*)oRBC27fmt);
}
/*FI*/}
}/*EXPORT_LIST*/void rT124make(T124 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_items=a2;
}/*E_RETRY*/T0* rT230add_comment(T230 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT61count((T61*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T222 *n=((T222*)se_new(222));
rT222make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*POSITION*/void rT47show(T47 *C){
T0* _the_line=NULL;
T0* _str=NULL;
T0* _n=NULL;
int _nb=0;
int _c=0;
_n=((T49*)(C)->_base_class_name)->_to_string;
rT38put_string((T38*)oRBC1std_error,(T0 *)ms3_47);
rT38put_integer((T38*)oRBC1std_error,(C)->_line);
rT38put_string((T38*)oRBC1std_error,(T0 *)ms4_47);
rT38put_integer((T38*)oRBC1std_error,(C)->_column);
rT38put_string((T38*)oRBC1std_error,(T0 *)ms5_47);
rT38put_string((T38*)oRBC1std_error,_n);
_str=rT47path(C);
/*IF*/if (((int)_str)) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms6_47);
rT38put_string((T38*)oRBC1std_error,_str);
rT38put_character((T38*)oRBC1std_error,'\51');
}
/*FI*/rT38put_string((T38*)oRBC1std_error,(T0 *)ms7_47);
/*IF*/if ((/*(IRF4*/((T52*)oRBC27eiffel_parser)->_is_running/*)*/)&&(rT7is_equal((T7*)((T49*)rT52current_class_name((T52*)oRBC27eiffel_parser))->_to_string,_n))) {
_the_line=((/*UT*/(void)(T62*)oRBC52text),
rT62item((C)->_line));
}
 else if (((int)rT47path(C))) {
rT62read((T62*)oRBC52text,((T51*)rT47base_class(C))->_path);
_the_line=((/*UT*/(void)(T62*)oRBC52text),
rT62item((C)->_line));
}
/*FI*//*IF*/if (((int)_the_line)) {
_c=(C)->_column;
rT38put_string((T38*)oRBC1std_error,_the_line);
rT38put_new_line((T38*)oRBC1std_error);
_nb=1;
while (!((_nb)==(_c))) {
/*IF*/if ((rT7item((T7*)_the_line,_nb))==('\11')) {
rT38put_character((T38*)oRBC1std_error,'\11');
}
else {
rT38put_character((T38*)oRBC1std_error,'\40');
}
/*FI*/_nb=(_nb)+(1);
}
rT38put_string((T38*)oRBC1std_error,(T0 *)ms8_47);
}
else {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms9_47);
rT38put_string((T38*)oRBC1std_error,_n);
rT38put_string((T38*)oRBC1std_error,(T0 *)ms10_47);
}
/*FI*/}/*POSITION*/void rT47fatal_error(/*C*/T0* a1){
rT46fatal_error(a1);
}/*POSITION*/T0* rT47path(T47 *C){
T0* R=NULL;
T0* _bc=NULL;
/*IF*/if (/*(IRF4*/((T52*)oRBC27eiffel_parser)->_is_running/*)*/) {
/*IF*/if (rT53is_used(((T49*)(C)->_base_class_name)->_to_string)) {
_bc=rT49base_class((T49*)(C)->_base_class_name);
}
/*FI*/}
else {
_bc=rT49base_class((T49*)(C)->_base_class_name);
}
/*FI*//*IF*/if (((int)_bc)) {
R=((T51*)_bc)->_path;
}
/*FI*/return R;
}
/*POSITION*/int rT47is_equal(T47 *C,T0* a1){
int R=0;
R=((((((C)->_line)==(((T47*)a1)->_line))&&(((C)->_column)==(((T47*)a1)->_column)))&&(((int)(C)->_base_class_name)))&&(((int)((T47*)a1)->_base_class_name)))&&(((T0 *)((T49*)(C)->_base_class_name)->_to_string)==((T0 *)((T49*)((T47*)a1)->_base_class_name)->_to_string));
return R;
}
/*POSITION*/T0* rT47base_class(T47 *C){
T0* R=NULL;
/*IF*/if (/*(IRF4*/((T52*)oRBC27eiffel_parser)->_is_running/*)*/) {
/*IF*/if (rT7empty((T7*)((T49*)(C)->_base_class_name)->_to_string)) {
rT47fatal_error((T0 *)ms1_47);
}
 else if (rT53is_used(((T49*)(C)->_base_class_name)->_to_string)) {
R=rT49base_class((T49*)(C)->_base_class_name);
}
else {
rT47fatal_error((T0 *)ms2_47);
}
/*FI*/}
else {
R=rT49base_class((T49*)(C)->_base_class_name);
}
/*FI*/return R;
}
/*POSITION*/void rT47with(T47 *C,int a1,int a2,T0* a3){
C->_line=a1;
C->_column=a2;
C->_base_class_name=a3;
}/*POSITION*/void rT47make(T47 *C,int a1,int a2){
C->_line=a1;
C->_column=a2;
C->_base_class_name=rT52current_class_name((T52*)oRBC27eiffel_parser);
}T0*oRBC27eiffel_parser;
/*STD_ERROR*/void rT38put_integer(T38 *C,int a1){
/*[IRF3:clear*//*AW*/((T7*)oRBC39tmp_string)->_count=(0);/*]*/
rT2append_in(a1,oRBC39tmp_string);
rT38put_string(C,oRBC39tmp_string);
}T0*oRBC39tmp_string;
/*STD_ERROR*/void rT38put_new_line(T38 *C){
rT38put_character(C,'\12');
}/*STD_ERROR*/void rT38die_with_code(/*C*/int a1){
exit(a1);
}/*STD_ERROR*/void rT38put_string(T38 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT38put_character(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
}/*STD_ERROR*/int rT38is_connected(T38 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
/*STD_ERROR*/void rT38disconnect(T38 *C){
int _err=0;
_err=fclose((C)->_output_stream);
C->_path=NULL;
C->_output_stream=stderr;
}/*STD_ERROR*/void rT38connect_to(T38 *C,T0* a1){
C->_mode=(T0 *)ms1_39;
C->_output_stream=rT38fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}/*STD_ERROR*/void * rT38fopen(/*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;
}
/*STD_ERROR*/void rT38put_character(T38 *C,char a1){
char _err=0;
_err=fputc(a1,(C)->_output_stream);
/*IF*/if ((_err)!=(a1)) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms2_39);
/*[IRF3:crash*/rsp();
rT38die_with_code(1);
/*]*/
}
/*FI*/}/*STD_ERROR*/void rT38make(T38 *C){
C->_output_stream=stderr;
}/*PRETTY*/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;
}
T0*oRBC26backup;
/*PRETTY*/void rT26automat(T26 *C){
T0* _a=NULL;
int _arg=0;
_arg=1;
while (!(((_arg)>(/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/))||(((C)->_state)>(0)))) {
_a=rT26argument(_arg);
/*IF*/if ((rT7item((T7*)_a,1))!=('\55')) {
rT45add_last((T45*)rT26class_names(),_a);
}
 else if (rT7is_equal(ms3_26,_a)) {
/*IF*/if (((int)(C)->_style)) {
rT26error_style(C,_a);
}
else {
rT267format_default((T267*)oRBC27fmt);
C->_style=_a;
}
/*FI*/}
 else if (rT7is_equal(ms4_26,_a)) {
/*IF*/if (((int)(C)->_style)) {
rT26error_style(C,_a);
}
else {
rT267format_zen((T267*)oRBC27fmt);
C->_style=_a;
}
/*FI*/}
 else if (rT7is_equal(ms5_26,_a)) {
/*IF*/if (((int)(C)->_style)) {
rT26error_style(C,_a);
}
else {
rT267format_end((T267*)oRBC27fmt);
C->_style=_a;
}
/*FI*/}
 else if (rT7is_equal(ms6_26,_a)) {
/*IF*/if (((int)(C)->_style)) {
rT26error_style(C,_a);
}
else {
rT267format_parano((T267*)oRBC27fmt);
C->_style=_a;
}
/*FI*/}
else {
rT42put_string((T42*)oRBC1std_output,(T0 *)ms7_26);
rT42put_string((T42*)oRBC1std_output,_a);
rT42put_string((T42*)oRBC1std_output,(T0 *)ms8_26);
C->_state=2;
}
/*FI*/_arg=(_arg)+(1);
}
/*IF*/if ((/*(IRF4*/((T46*)oRBC27eh)->_nb_errors/*)*/)>(0)) {
rT46append((T0 *)ms9_26);
rT46print_as_error((T46*)oRBC27eh);
}
else {
/*IF*/if (rT45empty((T45*)rT26class_names())) {
rT46append((T0 *)ms10_26);
rT46print_as_error((T46*)oRBC27eh);
}
else {
/*[IRF3:pretty_print*/{int _i=0;
_i=((T45*)rT26class_names())->_lower;
while (!((_i)>(((T45*)rT26class_names())->_upper))) {
rT26pretty_for(rT45item((T45*)rT26class_names(),_i));
_i=(_i)+(1);
}
}/*]*/
}
/*FI*/}
/*FI*/}int ofBC27directory_separator=0;
T3 oRBC27directory_separator;
/*PRETTY*/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;}
/*PRETTY*/void rT26fatal_error(/*C*/T0* a1){
rT46fatal_error(a1);
}/*PRETTY*/void rT26die_with_code(/*C*/int a1){
exit(a1);
}T0*oRBC27hlp_file_name;
/*PRETTY*/void rT26error_style(T26 *C,T0* a1){
C->_state=2;
rT46append((T0 *)ms11_26);
rT46append((C)->_style);
rT46append((T0 *)ms12_26);
rT46append(a1);
rT46append((T0 *)ms102_27);
rT46print_as_error((T46*)oRBC27eh);
}/*PRETTY*/void rT26add_directory(/*C*/T0* a1,T0* a2){
rT7append((T7*)a1,a2);
rT7extend((T7*)a1,rT26directory_separator());
}T0*oRBC26path;
/*PRETTY*/void rT26print_hlp(/*C*/T0* a1){
rT7copy((T7*)oRBC27hlp_file_name,rT26small_eiffel_directory());
rT26add_directory(oRBC27hlp_file_name,(T0 *)ms2_27);
rT7append((T7*)oRBC27hlp_file_name,a1);
/*IF*/if (!(rT7has_suffix((T7*)oRBC27hlp_file_name,(T0 *)ms35_27))) {
rT7append((T7*)oRBC27hlp_file_name,(T0 *)ms35_27);
}
/*FI*//*IF*/if (!(rT26file_exists(oRBC27hlp_file_name))) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms3_27);
rT38put_string((T38*)oRBC1std_error,oRBC27hlp_file_name);
rT38put_string((T38*)oRBC1std_error,(T0 *)ms4_27);
rT26die_with_code(1);
}
/*FI*/rT42append_file((T42*)oRBC1std_output,oRBC27hlp_file_name);
}T0*oRBC1command_arguments;
/*PRETTY*/void rT26pretty_for(/*C*/T0* a1){
T0* _new_file=NULL;
T0* _e_class=NULL;
_e_class=rT53load_class(a1);
/*IF*/if (!(_e_class)) {
rT46append((T0 *)ms13_26);
rT46append(a1);
rT26fatal_error((T0 *)ms14_26);
}
else {
rT7copy((T7*)oRBC26path,((T51*)_e_class)->_path);
rT7copy((T7*)oRBC26backup,oRBC26path);
rT7remove_suffix((T7*)oRBC26backup,(T0 *)ms24_27);
rT7append((T7*)oRBC26backup,(T0 *)ms34_27);
/*IF*/if (rT26file_exists(oRBC26backup)) {
rT46append((T0 *)ms15_26);
rT46append(oRBC26backup);
rT26fatal_error((T0 *)ms16_26);
}
/*FI*/rT26rename_file(oRBC26path,oRBC26backup);
/*IF*/if (!(rT26file_exists(oRBC26backup))) {
rT46append((T0 *)ms17_26);
rT46append(oRBC26path);
rT26fatal_error((T0 *)ms18_26);
}
/*FI*/_new_file=rT26open_write(oRBC26path);
rT267connect_to((T267*)oRBC27fmt,_new_file);
rT51pretty_print((T51*)_e_class);
XrT39disconnect(_new_file);
/*IF*/if (!(rT53re_load_class(_e_class))) {
rT46append((T0 *)ms19_26);
rT46append(oRBC26backup);
rT26fatal_error((T0 *)ms20_26);
}
/*FI*/}
/*FI*/}/*PRETTY*/T0* rT26open_write(/*C*/T0* a1){
T0* R=NULL;
{T39 *n=((T39*)se_new(39));
rT39connect_to(n,a1);
R=(T0 *)n;}
/*IF*/if (!(XrT39is_connected(R))) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms5_27);
rT38put_string((T38*)oRBC1std_error,a1);
rT38put_string((T38*)oRBC1std_error,(T0 *)ms6_27);
rT26die_with_code(1);
}
/*FI*/return R;
}
/*PRETTY*/void rT26rename_file(/*C*/T0* a1,T0* a2){
void * _np=0;
void * _op=0;
_op=rT7to_external((T7*)a1);
_np=rT7to_external((T7*)a2);
rename(((char*)_op),((char*)_np));
}int ofBC26class_names=0;
T0*oRBC26class_names;
/*PRETTY*/T0* rT26class_names(/*C*/void){
if (ofBC26class_names==0){
T0* R=NULL;
ofBC26class_names=1;
{T45 *n=((T45*)se_new(45));
rT45make(n,1,10);
R=(T0 *)n;}
rT45clear((T45*)R);
oRBC26class_names=R;}
return oRBC26class_names;}
T0*oRBC1std_output;
int ofBC27small_eiffel_directory=0;
T0*oRBC27small_eiffel_directory;
/*PRETTY*/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 *)ms124_27);
/*IF*/if (!(R)) {
R=rT7twin((T7*)(T0 *)ms124_27);
rT7to_upper((T7*)R);
R=rT26get_environment_variable(R);
/*IF*/if (((int)R)) {
rT7to_upper((T7*)(T0 *)ms124_27);
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
R=(T0 *)ms1_27;
}
/*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;}
/*PRETTY*/T0* rT26argument(/*C*/int a1){
T0* R=NULL;
R=rT34item((T34*)oRBC1command_arguments,a1);
return R;
}
/*PRETTY*/void rT26make(T26 *C){
/*IF*/if ((/*(IRF4*/((T34*)oRBC1command_arguments)->_upper/*)*/)<(1)) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms1_26);
rT26print_hlp((T0 *)ms2_26);
rT26die_with_code(1);
}
else {
rT26automat(C);
}
/*FI*/}/*PRETTY*/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;
}
/*STD_FILE_WRITE*/void rT39die_with_code(/*C*/int a1){
exit(a1);
}/*STD_FILE_WRITE*/int rT39is_connected(T39 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
/*STD_FILE_WRITE*/void rT39disconnect(T39 *C){
int _err=0;
_err=fclose((C)->_output_stream);
C->_path=NULL;
}/*STD_FILE_WRITE*/void rT39connect_to(T39 *C,T0* a1){
C->_mode=(T0 *)ms1_39;
C->_output_stream=rT39fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}/*STD_FILE_WRITE*/void * rT39fopen(/*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;
}
/*STD_FILE_WRITE*/void rT39put_character(T39 *C,char a1){
char _err=0;
_err=fputc(a1,(C)->_output_stream);
/*IF*/if ((_err)!=(a1)) {
rT38put_string((T38*)oRBC1std_error,(T0 *)ms2_39);
/*[IRF3:crash*/rsp();
rT39die_with_code(1);
/*]*/
}
/*FI*/}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.