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

This is compile_to_c26.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 "compile_to_c.h"
/*RENAME_LIST*/void rT122fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*RENAME_LIST*/void rT122get_started(T122 *C,T0* a1){
T0* _rp=NULL;
int _i=0;
_i=((T123*)(C)->_list)->_upper;
while (!((_i)==(0))) {
_rp=rT123item((T123*)(C)->_list,_i);
/*IF*/if (!(rT53has((T53*)a1,((T121*)_rp)->_old_name))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)((T121*)_rp)->_old_name)->_start_position);
rT122fatal_error((T0 *)ms3_122);
}
/*FI*/_i=(_i)-(1);
}
}/*RENAME_LIST*/void rT122add_last(T122 *C,T0* a1){
rT123add_last((T123*)(C)->_list,a1);
}/*RENAME_LIST*/int rT122affect(T122 *C,T0* a1){
int R=0;
T0* _rp=NULL;
int _i=0;
_i=((T123*)(C)->_list)->_upper;
while (!((R)||((_i)==(0)))) {
_rp=rT123item((T123*)(C)->_list,_i);
/*IF*/if ((XrT71same_as(((T121*)_rp)->_new_name,a1))||(XrT71same_as(((T121*)_rp)->_old_name,a1))) {
R=1;
}
else {
_i=(_i)-(1);
}
/*FI*/}
return R;
}
/*RENAME_LIST*/T0* rT122to_new_name(T122 *C,T0* a1){
T0* R=NULL;
int _i=0;
_i=1;
while (!((((int)R))||((_i)>(((T123*)(C)->_list)->_upper)))) {
/*IF*/if (XrT71same_as(((T121*)rT123item((T123*)(C)->_list,_i))->_old_name,a1)) {
R=((T121*)rT123item((T123*)(C)->_list,_i))->_new_name;
}
/*FI*/_i=(_i)+(1);
}
/*IF*/if (!(R)) {
R=a1;
}
/*FI*/return R;
}
/*RENAME_LIST*/T0* rT122to_old_name(T122 *C,T0* a1){
T0* R=NULL;
int _i=0;
_i=1;
while (!((((int)R))||((_i)>(((T123*)(C)->_list)->_upper)))) {
/*IF*/if (XrT71same_as(((T121*)rT123item((T123*)(C)->_list,_i))->_new_name,a1)) {
R=((T121*)rT123item((T123*)(C)->_list,_i))->_old_name;
}
/*FI*/_i=(_i)+(1);
}
/*IF*/if (!(R)) {
R=a1;
}
/*FI*/return R;
}
/*E_CHECK*/T0* rT221to_runnable(T221 *C,T0* a1){
T0* R=NULL;
T0* _al=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
/*IF*/if (rT47all_check((T47*)oRBC27eiffel_run_control)) {
_al=rT222to_runnable((T222*)(C)->_check_invariant,((T142*)a1)->_current_type);
/*IF*/if (!(_al)) {
rT221error(rT221start_position(C),(T0 *)ms1_221);
}
else {
C->_check_invariant=_al;
R=(T0 *)C;
}
/*FI*/}
else {
R=(T0 *)C;
}
/*FI*/}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,rT221start_position(C),NULL,((T222*)(C)->_check_invariant)->_list);
R=(T0 *)n;}
R=rT221to_runnable((T221*)R,a1);
}
/*FI*/return R;
}
/*E_CHECK*/void rT221error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*E_CHECK*/T0* rT221add_comment(T221 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
 else {/*AT*//*IF*/if ((rT63count((T63*)a1))==(1)) {
R=(T0 *)C;
}
else {
{T224 *n=((T224*)se_new(224));
rT224make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/}
/*FI*/return R;
}
/*E_CHECK*/T0* rT221start_position(T221 *C){
T0* R=NULL;
R=((T222*)(C)->_check_invariant)->_start_position;
return R;
}
/*E_CHECK*/int rT221use_current(T221 *C){
int R=0;
/*IF*/if (rT47all_check((T47*)oRBC27eiffel_run_control)) {
R=rT222use_current((T222*)(C)->_check_invariant);
}
/*FI*/return R;
}
/*E_CHECK*/void rT221compile_to_c(T221 *C){
/*IF*/if (rT47all_check((T47*)oRBC27eiffel_run_control)) {
rT222compile_to_c((T222*)(C)->_check_invariant);
}
/*FI*/}/*E_CHECK*/int rT221is_pre_computable(T221 *C){
int R=0;
int _i=0;
/*IF*/if (rT47all_check((T47*)oRBC27eiffel_run_control)) {
R=rT222is_pre_computable((T222*)(C)->_check_invariant);
}
else {
R=1;
}
/*FI*/return R;
}
/*E_CHECK*/void rT221make(T221 *C,T0* a1,T0* a2,T0* a3){
{T222 *n=((T222*)se_new(222));
rT222make(n,a1,a2,a3);
C->_check_invariant=(T0 *)n;}
}/*FEATURE_CLAUSE_LIST*/void rT265get_started(T265 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T266*)(C)->_list)->_upper))) {
rT137add_into((T137*)rT266item((T266*)(C)->_list,_i),a1);
_i=(_i)+(1);
}
}/*FEATURE_CLAUSE_LIST*/void rT265add_last(T265 *C,T0* a1){
rT266add_last((T266*)(C)->_list,a1);
}/*FORMAL_ARG_LIST*/T0* rT97name(T97 *C,int a1){
T0* R=NULL;
R=rT99item((T99*)(C)->_flat_list,a1);
return R;
}
/*FORMAL_ARG_LIST*/void rT97map_external(/*C*/T0* a1,T0* a2){
/*IF*/if (XrT62is_reference(a1)) {
rT7append((T7*)a2,(T0 *)ms126_27);
}
else {
XrT62c_type_in(a1,a2);
}
/*FI*/}/*FORMAL_ARG_LIST*/T0* rT97type(T97 *C,int a1){
T0* R=NULL;
R=((T92*)rT97name(C,a1))->_result_type;
return R;
}
/*FORMAL_ARG_LIST*/void rT97fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*FORMAL_ARG_LIST*/void rT97external_prototype(T97 *C,T0* a1){
T0* _t=NULL;
int _i=0;
_i=1;
while (!((_i)>(rT97count(C)))) {
_t=XrT62run_type(rT97type(C,_i));
rT97map_external(_t,a1);
rT7extend((T7*)a1,'\40');
rT7extend((T7*)a1,'a');
rT2append_in(_i,a1);
_i=(_i)+(1);
/*IF*/if ((_i)<=(rT97count(C))) {
rT7extend((T7*)a1,'\54');
}
/*FI*/}
}/*FORMAL_ARG_LIST*/T0* rT97to_runnable(T97 *C,T0* a1){
T0* R=NULL;
T0* _n2=NULL;
T0* _n1=NULL;
int _i=0;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
_i=((T99*)(C)->_flat_list)->_upper;
while (!((((_i)==(0))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(0))))) {
_n1=rT99item((T99*)(C)->_flat_list,_i);
_n2=rT92to_runnable((T92*)_n1,a1);
/*IF*/if (!(_n2)) {
rT97error(((T92*)_n1)->_start_position,(T0 *)ms1_98);
}
 else if (((T0 *)_n1)!=((T0 *)_n2)) {
rT99put((T99*)(C)->_flat_list,_n2,_i);
}
/*FI*/rT92name_clash((T92*)_n2);
_i=(_i)-(1);
}
}
else {
{T97 *n=((T97*)se_new(97));
rT97from_current(n,(T0 *)C);
R=(T0 *)n;}
R=rT97to_runnable((T97*)R,a1);
}
/*FI*/return R;
}
/*FORMAL_ARG_LIST*/int rT97count(T97 *C){
int R=0;
R=((T99*)(C)->_flat_list)->_upper;
return R;
}
/*FORMAL_ARG_LIST*/void rT97error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*FORMAL_ARG_LIST*/int rT97rank_of(T97 *C,T0* a1){
int R=0;
R=rT97count(C);
while (!(((R)==(0))||(rT7is_equal((T7*)a1,((T92*)rT97name(C,R))->_to_string)))) {
R=(R)-(1);
}
return R;
}
/*FORMAL_ARG_LIST*/void rT97from_current(T97 *C,T0* a1){
T0* _n=NULL;
int _i=0;
C->_start_position=((T97*)a1)->_start_position;
C->_list=((T97*)a1)->_list;
C->_flat_list=rT99twin((T99*)((T97*)a1)->_flat_list);
_i=((T99*)(C)->_flat_list)->_upper;
while (!((_i)==(0))) {
_n=rT92twin((T92*)rT99item((T99*)(C)->_flat_list,_i));
rT92set_declaration_name((T92*)_n);
/*[IRF3:set_current_type*//*AW*/((T92*)_n)->_current_type=(NULL);/*]*/
rT99put((T99*)(C)->_flat_list,_n,_i);
_i=(_i)-(1);
}
}/*FORMAL_ARG_LIST*/void rT97add_last(T97 *C,T0* a1){
T0* _n2=NULL;
int _i=0;
_i=1;
while (!(!(rT99item((T99*)(C)->_flat_list,_i)))) {
_n2=rT99item((T99*)(C)->_flat_list,_i);
/*IF*/if (rT7is_equal((T7*)((T92*)_n2)->_to_string,((T92*)a1)->_to_string)) {
rT48add_position(((T92*)a1)->_start_position);
rT48add_position(((T92*)_n2)->_start_position);
rT97fatal_error((T0 *)ms2_98);
}
/*FI*/_i=(_i)+(1);
}
rT99put((T99*)(C)->_flat_list,a1,_i);
/*[IRF3:set_rank*//*AW*/((T92*)a1)->_rank=(_i);/*]*/
}/*FORMAL_ARG_LIST*/void rT97compile_to_c_in(T97 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(rT97count(C)))) {
XrT62c_type_in(XrT62run_type(rT97type(C,_i)),a1);
rT7append((T7*)a1,(T0 *)ms3_97);
rT2append_in(_i,a1);
_i=(_i)+(1);
/*IF*/if ((_i)<=(rT97count(C))) {
rT7extend((T7*)a1,'\54');
}
/*FI*/}
}/*FORMAL_ARG_LIST*/void rT97standard_make(T97 *C,T0* a1,T0* a2){
int _actual_count=0;
int _il=0;
C->_start_position=a1;
C->_list=a2;
_il=1;
while (!((_il)>(((T147*)(C)->_list)->_upper))) {
_actual_count=(_actual_count)+(XrT143count(rT147item((T147*)(C)->_list,_il)));
_il=(_il)+(1);
}
{T99 *n=((T99*)se_new(99));
rT99make(n,1,_actual_count);
C->_flat_list=(T0 *)n;}
_il=1;
while (!((_il)>(((T147*)(C)->_list)->_upper))) {
XrT143append_in(rT147item((T147*)(C)->_list,_il),(T0 *)C);
_il=(_il)+(1);
}
}/*FORMAL_ARG_LIST*/int rT97is_a_in(T97 *C,T0* a1,T0* a2){
int R=0;
T0* _t2=NULL;
T0* _t1=NULL;
int _i=0;
/*IF*/if ((rT97count((T97*)a1))!=(rT97count(C))) {
rT48add_position(((T97*)a1)->_start_position);
rT97error((C)->_start_position,(T0 *)ms4_97);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=1;
_i=1;
while (!(((!(R))||((_i)>(((T99*)(C)->_flat_list)->_upper))))) {
_t1=rT97type(C,_i);
_t2=rT97type((T97*)a1,_i);
/*IF*/if (!(XrT62is_a_in(_t1,_t2,a2))) {
R=0;
rT48print_as_error((T48*)oRBC27eh);
rT48add_position(XrT62start_position(_t1));
rT48add_position(XrT62start_position(_t2));
rT48append((T0 *)ms5_97);
rT48append(XrT62run_time_mark(((T269*)a2)->_current_type));
rT48error((T48*)oRBC27eh,(T0 *)ms102_27);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/return R;
}
/*FORMAL_ARG_LIST*/void rT97make(T97 *C,T0* a1,T0* a2){
int _rank=0;
int _i=0;
T0* _tla=NULL;
T0* _tlf=NULL;
T0* _an=NULL;
rT97standard_make(C,a1,a2);
_i=((T99*)(C)->_flat_list)->_upper;
while (!((_i)==(0))) {
_an=rT99item((T99*)(C)->_flat_list,_i);
_tlf=((T92*)_an)->_result_type;
if ((int)_tlf) switch (((T0 *)_tlf)->id) {
case 101: 
break;
default:
_tlf = NULL;
};/*IF*/if (((int)_tlf)) {
_rank=rT97rank_of(C,/*XrT*FEATURE_NAME*/((T70*)((T101*)_tlf)->_like_what)->_to_string);
/*IF*/if ((_rank)==(_i)) {
rT97error(((T101*)_tlf)->_start_position,(T0 *)ms1_97);
}
 else if ((_rank)>(0)) {
{T100 *n=((T100*)se_new(100));
rT100make(n,((T101*)_tlf)->_start_position,rT99item((T99*)(C)->_flat_list,_rank));
_tla=(T0 *)n;}
/*[IRF3:set_result_type*//*AW*/((T92*)_an)->_result_type=(_tla);/*]*/
}
/*FI*/}
/*FI*/_i=(_i)-(1);
}
}/*FORMAL_GENERIC_LIST*/void rT89fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*FORMAL_GENERIC_LIST*/int rT89count(T89 *C){
int R=0;
R=((T90*)(C)->_list)->_upper;
return R;
}
/*FORMAL_GENERIC_LIST*/T0* rT89item(T89 *C,int a1){
T0* R=NULL;
R=rT90item((T90*)(C)->_list,a1);
return R;
}
/*FORMAL_GENERIC_LIST*/int rT89index_of(T89 *C,T0* a1){
int R=0;
T0* _to_string=NULL;
_to_string=((T51*)a1)->_to_string;
R=((T90*)(C)->_list)->_upper;
while (!(((R)==(0))||(((T0 *)_to_string)==((T0 *)((T51*)((T88*)rT90item((T90*)(C)->_list,R))->_name)->_to_string)))) {
R=(R)-(1);
}
return R;
}
/*FORMAL_GENERIC_LIST*/void rT89make(T89 *C,T0* a1,T0* a2){
T0* _fga=NULL;
int _i=0;
int _rank=0;
C->_start_position=a1;
C->_list=a2;
_i=((T90*)a2)->_upper;
while (!((_i)==(0))) {
_fga=rT90item((T90*)a2,_i);
_rank=rT89index_of(C,((T88*)_fga)->_name);
/*IF*/if ((_rank)!=(_i)) {
rT48add_position(rT88start_position((T88*)rT90item((T90*)a2,_rank)));
rT48add_position(rT88start_position((T88*)_fga));
rT89fatal_error((T0 *)ms1_89);
}
/*FI*/_i=(_i)-(1);
}
}/*FORMAL_GENERIC_ARG*/T0* rT88start_position(T88 *C){
T0* R=NULL;
R=((T51*)(C)->_name)->_start_position;
return R;
}
/*FORMAL_GENERIC_ARG*/void rT88make(T88 *C,T0* a1,T0* a2){
C->_name=a1;
C->_constraint=a2;
}/*FEATURE_NAME*/int rT71static_value(T71 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*FEATURE_NAME*/int rT71same_as(T71 *C,T0* a1){
int R=0;
R=rT7is_equal((T7*)rT71to_key(C),XrT52to_key(a1));
return R;
}
/*FEATURE_NAME*/void rT71fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*FEATURE_NAME*/T0* rT71to_runnable(T71 *C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
_rf=rT269get_feature((T269*)XrT62run_class((C)->_current_type),(T0 *)C);
/*IF*/if (!(_rf)) {
rT71error((C)->_start_position,(T0 *)ms2_71);
}
 else if (XrT268is_writable(_rf)) {
C->_result_type=/*XrT*RUN_FEATURE*/((T274*)_rf)->_result_type;
}
else {
rT48add_position(XrT268start_position(_rf));
rT71error((C)->_start_position,(T0 *)ms3_71);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
else {
rT71error((C)->_start_position,(T0 *)ms4_71);
}
/*FI*/}
 else if (((T0 *)a1)==((T0 *)(C)->_current_type)) {
R=(T0 *)C;
}
 else if (rT7is_equal((T7*)XrT62run_time_mark(a1),XrT62run_time_mark((C)->_current_type))) {
rT71error((C)->_start_position,(T0 *)ms5_71);
rT48add_type(a1,(T0 *)ms6_71);
rT48add_type((C)->_current_type,(T0 *)ms7_71);
rT48print_as_error((T48*)oRBC27eh);
}
else {
{T71 *n=((T71*)se_new(71));
rT71make(n,(C)->_to_string,(C)->_start_position);
R=(T0 *)n;}
R=XrT71to_runnable(R,a1);
}
/*FI*/return R;
}
/*FEATURE_NAME*/void rT71error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*FEATURE_NAME*/T0* rT71add_comment(T71 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T228 *n=((T228*)se_new(228));
rT228make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*FEATURE_NAME*/int rT71is_equal(T71 *C,T0* a1){
int R=0;
R=rT71standard_is_equal(C,a1);
return R;
}
/*FEATURE_NAME*/void rT71undefine_in(T71 *C,T0* a1){
/*IF*/if ((C)->_is_frozen) {
rT71error((C)->_start_position,(T0 *)ms12_71);
rT53fatal_undefine((T53*)a1,(T0 *)C);
}
/*FI*/}/*FEATURE_NAME*/T0* rT71to_key(T71 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
/*FEATURE_NAME*/int rT71can_be_dropped(T71 *C){
int R=0;
rT48add_position((C)->_start_position);
rT71fatal_error((T0 *)ms1_71);
return R;
}
/*FEATURE_NAME*/void rT71mapping_c_aux(T71 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)(C)->_to_string)->_count))) {
rT2append_in(((unsigned char)rT7item((T7*)(C)->_to_string,_i)),a1);
_i=(_i)+(1);
}
}/*FEATURE_NAME*/void rT71mapping_c_in(T71 *C,T0* a1){
/*IF*/if (/*(IRF4*/0/*)*/) {
/*IF*/if (rT7is_equal((T7*)(T0 *)ms117_27,(C)->_to_string)) {
rT7append((T7*)a1,(C)->_to_string);
}
else {
rT7append((T7*)a1,(T0 *)ms8_71);
rT71mapping_c_aux(C,a1);
}
/*FI*/}
 else if (/*(IRF4*/0/*)*/) {
rT7append((T7*)a1,(T0 *)ms9_71);
rT71mapping_c_aux(C,a1);
}
else {
rT7append((T7*)a1,(C)->_to_string);
}
/*FI*/}T0*oRBC71mapping_c_mem;
/*FEATURE_NAME*/void rT71mapping_c(T71 *C){
/*[IRF3:clear*//*AW*/((T7*)oRBC71mapping_c_mem)->_count=(0);/*]*/
rT71mapping_c_in(C,oRBC71mapping_c_mem);
rT44put_string((T44*)oRBC27cpp,oRBC71mapping_c_mem);
}/*FEATURE_NAME*/void rT71compile_to_c(T71 *C){
rT44put_string((T44*)oRBC27cpp,(T0 *)ms10_71);
rT44put_string((T44*)oRBC27cpp,(C)->_to_string);
}/*FEATURE_NAME*/int rT71to_integer(T71 *C){
int R=0;
rT71error((C)->_start_position,(T0 *)ms104_27);
return R;
}
/*FEATURE_NAME*/T0* rT71run_feature(T71 *C,T0* a1){
T0* R=NULL;
R=rT269get_feature((T269*)XrT62run_class(a1),(T0 *)C);
return R;
}
/*FEATURE_NAME*/int rT71standard_is_equal(T71 *C,T0* a1){
int R=0;
/*IF*//*AF*/if (((T0 *)a1)==((T0 *)C)) {
R=1;
}
else {
R=!memcmp(C,a1,s[C->id]);
}
/*FI*/return R;
}
/*FEATURE_NAME*/T0* rT71written_in(T71 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T49*)_sp)->_base_class_name;
}
/*FI*/return R;
}
/*FEATURE_NAME*/int rT71is_a(T71 *C,T0* a1){
int R=0;
R=XrT62is_a(XrT62run_type((C)->_result_type),XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position((C)->_start_position);
rT71error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*FEATURE_NAME*/void rT71make(T71 *C,T0* a1,T0* a2){
C->_to_string=a1;
C->_start_position=a2;
}

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