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

This is compile_to_c10.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"
/*WHEN_ITEM_1*/T0* rT235current_type(T235 *C){
T0* R=NULL;
R=rT234current_type((T234*)(C)->_e_when);
return R;
}
/*WHEN_ITEM_1*/T0* rT235twin(T235 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);AF_1
rT235copy((T235*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
/*WHEN_ITEM_1*/T0* rT235to_runnable_character(T235 *C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_e_when)) {
C->_e_when=a1;
_e=XrT72to_runnable((C)->_expression,rT235current_type(C));
/*IF*/if ((((int)_e))&&(XrT62is_character(XrT72result_type(_e)))) {
C->_expression=_e;
C->_expression_value=XrT72to_integer((C)->_expression);
rT234add_when_item_1((T234*)(C)->_e_when,(T0 *)C);
}
else {
rT235error(XrT72start_position((C)->_expression),(T0 *)ms2_235);
}
/*FI*/R=(T0 *)C;
}
else {
{T235 *n=((T235*)se_new(235));
/*[IRF3:make*//*AW*/(n)->_expression=((C)->_expression);/*]*/
R=(T0 *)n;}
R=rT235to_runnable_character((T235*)R,a1);
}
/*FI*/return R;
}
/*WHEN_ITEM_1*/T0* rT235to_runnable_integer(T235 *C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_e_when)) {
C->_e_when=a1;
_e=XrT72to_runnable((C)->_expression,rT235current_type(C));
/*IF*/if ((((int)_e))&&(XrT62is_integer(XrT72result_type(_e)))) {
C->_expression=_e;
C->_expression_value=XrT72to_integer((C)->_expression);
rT234add_when_item_1((T234*)(C)->_e_when,(T0 *)C);
}
else {
rT235error(XrT72start_position((C)->_expression),(T0 *)ms1_235);
}
/*FI*/R=(T0 *)C;
}
else {
{T235 *n=((T235*)se_new(235));
/*[IRF3:make*//*AW*/(n)->_expression=((C)->_expression);/*]*/
R=(T0 *)n;}
R=rT235to_runnable_integer((T235*)R,a1);
}
/*FI*/return R;
}
/*WHEN_ITEM_1*/void rT235error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*WHEN_ITEM_1*/T0* rT235start_position(T235 *C){
T0* R=NULL;
R=XrT72start_position((C)->_expression);
return R;
}
/*WHEN_ITEM_1*/void rT235copy(T235 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}/*E_VOID*/T0* rT177twin(T177 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);AF_1
rT177copy((T177*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
/*E_VOID*/int rT177static_value(T177 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*E_VOID*/T0* rT177to_runnable(T177 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
}
else {
R=rT177twin(C);
/*[IRF3:set_current_type*//*AW*/((T177*)R)->_current_type=(a1);/*]*/
}
/*FI*/return R;
}
/*E_VOID*/void rT177error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*E_VOID*/T0* rT177add_comment(T177 *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;
}
int ofBC177result_type=0;
T0*oRBC177result_type;
/*E_VOID*/T0* rT177result_type(/*C*/void){
if (ofBC177result_type==0){
T0* R=NULL;
ofBC177result_type=1;
{T114 *n=((T114*)se_new(114));
rT114make(n,NULL);
R=(T0 *)n;}
oRBC177result_type=R;}
return oRBC177result_type;}
/*E_VOID*/T0* rT177to_key(T177 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
/*E_VOID*/int rT177to_integer(T177 *C){
int R=0;
rT177error((C)->_start_position,(T0 *)ms104_27);
return R;
}
/*E_VOID*/void rT177copy(T177 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}/*E_VOID*/int rT177is_a(T177 *C,T0* a1){
int R=0;
R=XrT62is_a(rT114run_type((T114*)rT177result_type()),XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position((C)->_start_position);
rT177error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*E_VOID*/void rT177make(T177 *C,T0* a1){
C->_start_position=a1;
C->_to_string=(T0 *)ms121_27;
}/*PROC_CALL_N*/T0* rT185current_type(T185 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T142*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
/*PROC_CALL_N*/void rT185fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*PROC_CALL_N*/void rT185cpc_to_runnable(T185 *C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=XrT72to_runnable((C)->_target,a1);
/*IF*/if (!(_t)) {
rT48add_position(XrT72start_position((C)->_target));
rT185fatal_error((T0 *)ms1_169);
}
/*FI*/C->_target=_t;
_rc=XrT62run_class(XrT72result_type((C)->_target));
C->_run_feature=rT269get_rf((T269*)_rc,(T0 *)C);
}/*PROC_CALL_N*/void rT185to_runnable_0(T185 *C,T0* a1){
C->_run_compound=a1;
rT185cpc_to_runnable(C,rT185current_type(C));
/*IF*/if (((int)/*XrT*RUN_FEATURE*/((T274*)(C)->_run_feature)->_result_type)) {
rT48add_position(XrT268start_position((C)->_run_feature));
rT185error(/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1_182);
}
/*FI*/}/*PROC_CALL_N*/T0* rT185to_runnable(T185 *C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT185to_runnable_0(C,a1);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_a=rT175to_runnable((T175*)(C)->_arguments,rT185current_type(C));
/*IF*/if (!(_a)) {
rT185error(rT175start_position((T175*)(C)->_arguments),(T0 *)ms1_185);
}
else {
C->_arguments=_a;
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
rT175match_with((T175*)(C)->_arguments,(C)->_run_feature);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T185 *n=((T185*)se_new(185));
rT185make(n,(C)->_target,(C)->_feature_name,(C)->_arguments);
R=(T0 *)n;}
R=rT185to_runnable((T185*)R,a1);
}
/*FI*/return R;
}
/*PROC_CALL_N*/void rT185error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*PROC_CALL_N*/T0* rT185add_comment(T185 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T224 *n=((T224*)se_new(224));
rT224make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*PROC_CALL_N*/T0* rT185start_position(T185 *C){
T0* R=NULL;
R=/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position;
return R;
}
/*PROC_CALL_N*/int rT185use_current(T185 *C){
int R=0;
/*IF*/if ((rT185arg_count(C))>(0)) {
R=rT175use_current((T175*)(C)->_arguments);
}
/*FI*//*IF*/if (R) {
}
 else if (XrT72is_current((C)->_target)) {
R=XrT268use_current((C)->_run_feature);
}
else {
R=XrT72use_current((C)->_target);
}
/*FI*/return R;
}
/*PROC_CALL_N*/void rT185compile_to_c(T185 *C){
T0* _dyn_rf=NULL;
T0* _tt=NULL;
T0* _r=NULL;
rT44rs_push_position((T44*)oRBC27cpp,'3',rT185start_position(C));
rT185call_proc_call_c2c(C);
rT44rs_pop_position((T44*)oRBC27cpp);
}/*PROC_CALL_N*/void rT185call_proc_call_c2c(T185 *C){
T0* _tt=NULL;
_tt=XrT62run_type(XrT72result_type((C)->_target));
/*IF*/if (((XrT72is_current((C)->_target))||(XrT72is_manifest_string((C)->_target)))||(XrT62is_expanded(_tt))) {
rT44push_direct((T44*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
XrT268mapping_c((C)->_run_feature);
rT44pop((T44*)oRBC27cpp);
}
else {
rT44push_cpc((T44*)oRBC27cpp,(C)->_run_feature,((T269*)XrT62run_class(_tt))->_running,(C)->_target,(C)->_arguments);
}
/*FI*/}/*PROC_CALL_N*/int rT185arg_count(T185 *C){
int R=0;
R=rT175count((T175*)(C)->_arguments);
return R;
}
/*PROC_CALL_N*/void rT185make(T185 *C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}/*PROC_CALL_1*/T0* rT184current_type(T184 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T142*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
/*PROC_CALL_1*/void rT184fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*PROC_CALL_1*/void rT184cpc_to_runnable(T184 *C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=XrT72to_runnable((C)->_target,a1);
/*IF*/if (!(_t)) {
rT48add_position(XrT72start_position((C)->_target));
rT184fatal_error((T0 *)ms1_169);
}
/*FI*/C->_target=_t;
_rc=XrT62run_class(XrT72result_type((C)->_target));
C->_run_feature=rT269get_rf((T269*)_rc,(T0 *)C);
}/*PROC_CALL_1*/void rT184to_runnable_0(T184 *C,T0* a1){
C->_run_compound=a1;
rT184cpc_to_runnable(C,rT184current_type(C));
/*IF*/if (((int)/*XrT*RUN_FEATURE*/((T274*)(C)->_run_feature)->_result_type)) {
rT48add_position(XrT268start_position((C)->_run_feature));
rT184error(/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1_182);
}
/*FI*/}/*PROC_CALL_1*/T0* rT184to_runnable(T184 *C,T0* a1){
T0* R=NULL;
T0* _a=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT184to_runnable_0(C,a1);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_a=rT175to_runnable((T175*)(C)->_arguments,rT184current_type(C));
/*IF*/if (!(_a)) {
rT184error(XrT72start_position(rT184arg1(C)),(T0 *)ms1_184);
}
else {
C->_arguments=_a;
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
rT175match_with((T175*)(C)->_arguments,(C)->_run_feature);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T184 *n=((T184*)se_new(184));
rT184make(n,(C)->_target,(C)->_feature_name,(C)->_arguments);
R=(T0 *)n;}
R=rT184to_runnable((T184*)R,a1);
}
/*FI*/return R;
}
/*PROC_CALL_1*/void rT184error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*PROC_CALL_1*/T0* rT184add_comment(T184 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T224 *n=((T224*)se_new(224));
rT224make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*PROC_CALL_1*/T0* rT184arg1(T184 *C){
T0* R=NULL;
R=rT175first((T175*)(C)->_arguments);
return R;
}
/*PROC_CALL_1*/T0* rT184start_position(T184 *C){
T0* R=NULL;
R=/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position;
return R;
}
/*PROC_CALL_1*/int rT184use_current(T184 *C){
int R=0;
T0* _s=NULL;
T0* _ms=NULL;
/*IF*/if (rT7is_equal((T7*)(T0 *)ms69_27,/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_to_string)) {
_ms=rT184arg1(C);
if ((int)_ms) switch (((T0 *)_ms)->id) {
case 80: 
break;
default:
_ms = NULL;
};_s=((T80*)_ms)->_to_string;
R=rT7has((T7*)_s,'C');
}
else {
R=rT184standard_use_current(C);
}
/*FI*/return R;
}
/*PROC_CALL_1*/void rT184compile_to_c(T184 *C){
T0* _dyn_rf=NULL;
T0* _tt=NULL;
T0* _r=NULL;
rT44rs_push_position((T44*)oRBC27cpp,'3',rT184start_position(C));
rT184call_proc_call_c2c(C);
rT44rs_pop_position((T44*)oRBC27cpp);
}/*PROC_CALL_1*/int rT184standard_use_current(T184 *C){
int R=0;
/*IF*/{/*AT*/R=rT175use_current((T175*)(C)->_arguments);
}
/*FI*//*IF*/if (R) {
}
 else if (XrT72is_current((C)->_target)) {
R=XrT268use_current((C)->_run_feature);
}
else {
R=XrT72use_current((C)->_target);
}
/*FI*/return R;
}
/*PROC_CALL_1*/void rT184call_proc_call_c2c(T184 *C){
T0* _tt=NULL;
_tt=XrT62run_type(XrT72result_type((C)->_target));
/*IF*/if (((XrT72is_current((C)->_target))||(XrT72is_manifest_string((C)->_target)))||(XrT62is_expanded(_tt))) {
rT44push_direct((T44*)oRBC27cpp,(C)->_run_feature,(C)->_target,(C)->_arguments);
XrT268mapping_c((C)->_run_feature);
rT44pop((T44*)oRBC27cpp);
}
else {
rT44push_cpc((T44*)oRBC27cpp,(C)->_run_feature,((T269*)XrT62run_class(_tt))->_running,(C)->_target,(C)->_arguments);
}
/*FI*/}/*PROC_CALL_1*/void rT184make(T184 *C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}/*PROC_CALL_0*/T0* rT183current_type(T183 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T142*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
/*PROC_CALL_0*/void rT183fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*PROC_CALL_0*/void rT183cpc_to_runnable(T183 *C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=XrT72to_runnable((C)->_target,a1);
/*IF*/if (!(_t)) {
rT48add_position(XrT72start_position((C)->_target));
rT183fatal_error((T0 *)ms1_169);
}
/*FI*/C->_target=_t;
_rc=XrT62run_class(XrT72result_type((C)->_target));
C->_run_feature=rT269get_rf((T269*)_rc,(T0 *)C);
}/*PROC_CALL_0*/void rT183to_runnable_0(T183 *C,T0* a1){
C->_run_compound=a1;
rT183cpc_to_runnable(C,rT183current_type(C));
/*IF*/if (((int)/*XrT*RUN_FEATURE*/((T274*)(C)->_run_feature)->_result_type)) {
rT48add_position(XrT268start_position((C)->_run_feature));
rT183error(/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position,(T0 *)ms1_182);
}
/*FI*/}/*PROC_CALL_0*/T0* rT183to_runnable(T183 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT183to_runnable_0(C,a1);
/*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((XrT268arg_count((C)->_run_feature))>(0))) {
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position);
rT183error(XrT268start_position((C)->_run_feature),(T0 *)ms1_183);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T183 *n=((T183*)se_new(183));
rT183make(n,(C)->_target,(C)->_feature_name);
R=(T0 *)n;}
R=rT183to_runnable((T183*)R,a1);
}
/*FI*/return R;
}
/*PROC_CALL_0*/void rT183error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*PROC_CALL_0*/T0* rT183add_comment(T183 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T224 *n=((T224*)se_new(224));
rT224make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*PROC_CALL_0*/T0* rT183start_position(T183 *C){
T0* R=NULL;
R=/*XrT*FEATURE_NAME*/((T70*)(C)->_feature_name)->_start_position;
return R;
}
/*PROC_CALL_0*/int rT183use_current(T183 *C){
int R=0;
/*IF*//*AF*//*AE*/
/*FI*//*IF*/if (R) {
}
 else if (XrT72is_current((C)->_target)) {
R=XrT268use_current((C)->_run_feature);
}
else {
R=XrT72use_current((C)->_target);
}
/*FI*/return R;
}
/*PROC_CALL_0*/void rT183compile_to_c(T183 *C){
T0* _dyn_rf=NULL;
T0* _tt=NULL;
T0* _r=NULL;
rT44rs_push_position((T44*)oRBC27cpp,'3',rT183start_position(C));
rT183call_proc_call_c2c(C);
rT44rs_pop_position((T44*)oRBC27cpp);
}/*PROC_CALL_0*/void rT183call_proc_call_c2c(T183 *C){
T0* _tt=NULL;
_tt=XrT62run_type(XrT72result_type((C)->_target));
/*IF*/if (((XrT72is_current((C)->_target))||(XrT72is_manifest_string((C)->_target)))||(XrT62is_expanded(_tt))) {
rT44push_direct((T44*)oRBC27cpp,(C)->_run_feature,(C)->_target,/*(IRF4*/NULL/*)*/);
XrT268mapping_c((C)->_run_feature);
rT44pop((T44*)oRBC27cpp);
}
else {
rT44push_cpc((T44*)oRBC27cpp,(C)->_run_feature,((T269*)XrT62run_class(_tt))->_running,(C)->_target,/*(IRF4*/NULL/*)*/);
}
/*FI*/}/*PROC_CALL_0*/void rT183make(T183 *C,T0* a1,T0* a2){
C->_target=a1;
C->_feature_name=a2;
}

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