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

This is compile_to_c18.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"
int ofBC113used_as_reference=0;
/*TYPE_INTEGER*/void rT113used_as_reference(/*C*/void){
if (ofBC113used_as_reference==0){
ofBC113used_as_reference=1;
rT113load_ref((T0 *)ms50_27);
}}
/*TYPE_INTEGER*/T0* rT113generic_list(T113 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_INTEGER*/T0* rT113look_up_for(T113 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT113base_class(C),a1,a2);
return R;
}
/*TYPE_INTEGER*/T0* rT113run_class(T113 *C){
T0* R=NULL;
R=rT55run_class(rT113run_type(C));
return R;
}
/*TYPE_INTEGER*/void rT113mapping_c_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms3_113);
}/*TYPE_INTEGER*/T0* rT113smallest_ancestor(T113 *C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=XrT62run_type(a1);
/*IF*/if (XrT62is_integer(_rto)) {
R=(T0 *)C;
}
 else if (XrT62is_real(_rto)) {
R=a1;
}
 else if (XrT62is_double(_rto)) {
R=a1;
}
else {
R=rT118smallest_ancestor((T118*)rT113type_integer_ref(),_rto);
}
/*FI*/return R;
}
/*TYPE_INTEGER*/void rT113to_reference(T113 *C){
rT44to_reference((T44*)oRBC27cpp,(T0 *)C,rT113type_integer_ref());
}/*TYPE_INTEGER*/int rT113is_a(T113 *C,T0* a1){
int R=0;
/*IF*/if (((XrT62is_integer(a1))||(XrT62is_double(a1)))||(XrT62is_real(a1))) {
R=1;
}
else {
R=rT53is_subclass_of((T53*)rT113base_class(C),XrT62base_class(a1));
/*IF*/if (R) {
rT113used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms105_27);
rT48add_type(a1,(T0 *)ms102_27);
}
/*FI*/return R;
}
/*TYPE_INTEGER*/void rT113make(T113 *C,T0* a1){
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms49_27,a1);
C->_base_class_name=(T0 *)n;}
}/*TYPE_INTEGER*/void rT113to_expanded(T113 *C){
rT44to_expanded((T44*)oRBC27cpp,rT113type_integer_ref(),(T0 *)C);
}/*TYPE_INTEGER*/void rT113c_type_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms2_113);
}int ofBC27type_integer_ref=0;
T0*oRBC27type_integer_ref;
/*TYPE_INTEGER*/T0* rT113type_integer_ref(/*C*/void){
if (ofBC27type_integer_ref==0){
T0* R=NULL;
T0* _integer_ref=NULL;
ofBC27type_integer_ref=1;
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms50_27,NULL);
_integer_ref=(T0 *)n;}
{T118 *n=((T118*)se_new(118));
/*[IRF3:make*//*AW*/(n)->_base_class_name=(_integer_ref);/*]*/
R=(T0 *)n;}
oRBC27type_integer_ref=R;}
return oRBC27type_integer_ref;}
/*TYPE_INTEGER*/T0* rT113run_type(T113 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_INTEGER*/T0* rT113to_runnable(T113 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
rT113check_type(C);
return R;
}
/*TYPE_INTEGER*/void rT113error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_INTEGER*/T0* rT113start_position(T113 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_INTEGER*/T0* rT113base_class(T113 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_INTEGER*/int rT113is_a_in(T113 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms49_27/*)*/,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT113to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
int ofBC113check_type=0;
/*TYPE_INTEGER*/void rT113check_type(T113 *C){
if (ofBC113check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
ofBC113check_type=1;
_bc=rT113base_class(C);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_rc=rT113run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (!(((T53*)_bc)->_is_expanded)) {
rT113error(rT113start_position(C),(T0 *)ms4_113);
}
/*FI*/}
/*FI*/}}
/*TYPE_INTEGER*/int rT113has_creation(T113 *C,T0* a1){
int R=0;
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position);
rT113error(rT113start_position(C),(T0 *)ms1_110);
return R;
}
/*TYPE_INTEGER*/void rT113load_ref(/*C*/T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T51 *n=((T51*)se_new(51));
rT51make(n,a1,NULL);
_cn=(T0 *)n;}
_rc=rT53run_class((T53*)rT51base_class((T51*)_cn));
rT269set_at_run_time((T269*)_rc);
_rf=rT269get_feature_with((T269*)_rc,(T0 *)ms2_110);
}/*TYPE_NONE*/void rT114fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*TYPE_NONE*/T0* rT114run_type(T114 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_NONE*/T0* rT114to_runnable(T114 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_NONE*/void rT114error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_NONE*/void rT114cast_to_ref(T114 *C){
XrT62cast_to_ref(rT114run_type(C));
}/*TYPE_NONE*/int rT114id(/*C*/void){
int R=0;
rT114fatal_error((T0 *)ms3_114);
return R;
}
/*TYPE_NONE*/T0* rT114start_position(T114 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_NONE*/T0* rT114generic_list(T114 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_NONE*/T0* rT114look_up_for(T114 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT114base_class(C),a1,a2);
return R;
}
/*TYPE_NONE*/T0* rT114run_class(T114 *C){
T0* R=NULL;
R=rT55run_class(rT114run_type(C));
return R;
}
/*TYPE_NONE*/void rT114mapping_c_in(/*C*/T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT114id(),a1);
}/*TYPE_NONE*/T0* rT114smallest_ancestor(/*C*/T0* a1){
T0* R=NULL;
R=a1;
return R;
}
/*TYPE_NONE*/T0* rT114base_class(T114 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_NONE*/int rT114is_a_in(T114 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms52_27/*)*/,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT114to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
/*TYPE_NONE*/int rT114displacement(T114 *C){
int R=0;
rT48add_position(rT114start_position(C));
rT114fatal_error((T0 *)ms1_114);
return R;
}
/*TYPE_NONE*/int rT114is_a(/*C*/T0* a1){
int R=0;
R=1;
return R;
}
/*TYPE_NONE*/int rT114has_creation(T114 *C,T0* a1){
int R=0;
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position);
rT114error(rT114start_position(C),(T0 *)ms2_114);
return R;
}
/*TYPE_NONE*/void rT114make(T114 *C,T0* a1){
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms52_27,a1);
C->_base_class_name=(T0 *)n;}
}/*TYPE_NONE*/void rT114c_type_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms3_62);
}int ofBC115used_as_reference=0;
/*TYPE_POINTER*/void rT115used_as_reference(/*C*/void){
if (ofBC115used_as_reference==0){
ofBC115used_as_reference=1;
rT115load_ref((T0 *)ms54_27);
}}
/*TYPE_POINTER*/T0* rT115generic_list(T115 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_POINTER*/T0* rT115look_up_for(T115 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT115base_class(C),a1,a2);
return R;
}
/*TYPE_POINTER*/T0* rT115run_class(T115 *C){
T0* R=NULL;
R=rT55run_class(rT115run_type(C));
return R;
}
/*TYPE_POINTER*/void rT115mapping_c_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms5_115);
}/*TYPE_POINTER*/T0* rT115smallest_ancestor(T115 *C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=XrT62run_type(a1);
/*IF*/if (XrT62is_pointer(_rto)) {
R=(T0 *)C;
}
else {
R=rT118smallest_ancestor((T118*)rT115type_pointer_ref(),_rto);
}
/*FI*/return R;
}
/*TYPE_POINTER*/void rT115to_reference(T115 *C){
rT44to_reference((T44*)oRBC27cpp,(T0 *)C,rT115type_pointer_ref());
}/*TYPE_POINTER*/int rT115displacement(/*C*/void){
int R=0;
void * _p=0;
R=((0),sizeof(T8));
return R;
}
/*TYPE_POINTER*/int rT115is_a(T115 *C,T0* a1){
int R=0;
/*IF*/if (XrT62is_pointer(a1)) {
R=1;
}
else {
R=rT53is_subclass_of((T53*)rT115base_class(C),XrT62base_class(a1));
/*IF*/if (R) {
rT115used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms1_115);
rT48add_type(a1,(T0 *)ms102_27);
}
/*FI*/return R;
}
/*TYPE_POINTER*/void rT115make(T115 *C,T0* a1){
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms53_27,a1);
C->_base_class_name=(T0 *)n;}
}/*TYPE_POINTER*/void rT115to_expanded(T115 *C){
rT44to_expanded((T44*)oRBC27cpp,rT115type_pointer_ref(),(T0 *)C);
}/*TYPE_POINTER*/void rT115c_type_in(T115 *C,T0* a1){
rT7append((T7*)a1,(C)->_c_type);
}int ofBC27type_pointer_ref=0;
T0*oRBC27type_pointer_ref;
/*TYPE_POINTER*/T0* rT115type_pointer_ref(/*C*/void){
if (ofBC27type_pointer_ref==0){
T0* R=NULL;
T0* _pointer_ref=NULL;
ofBC27type_pointer_ref=1;
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms54_27,NULL);
_pointer_ref=(T0 *)n;}
{T118 *n=((T118*)se_new(118));
/*[IRF3:make*//*AW*/(n)->_base_class_name=(_pointer_ref);/*]*/
R=(T0 *)n;}
oRBC27type_pointer_ref=R;}
return oRBC27type_pointer_ref;}
/*TYPE_POINTER*/T0* rT115run_type(T115 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_POINTER*/T0* rT115to_runnable(T115 *C,T0* a1){
T0* R=NULL;
T0* _bcw=NULL;
rT115check_type(C);
/*IF*/if (!((C)->_c_type)) {
R=(T0 *)C;
_bcw=((T51*)((T49*)rT115start_position(C))->_base_class_name)->_to_string;
/*IF*/if (((((T0 *)_bcw)==((T0 *)(T0 *)ms37_27))||(((T0 *)_bcw)==((T0 *)(T0 *)ms47_27)))&&(XrT62is_generic(a1))) {
{T7 *n=((T7*)se_new(7));
rT7make(n,8);
C->_c_type=(T0 *)n;}
XrT62c_type_in(rT108item((T108*)XrT62generic_list(XrT62run_type(a1)),1),(C)->_c_type);
rT7extend((T7*)(C)->_c_type,'\52');
}
 else if (((T0 *)_bcw)==((T0 *)(T0 *)ms57_27)) {
C->_c_type=(T0 *)ms2_115;
}
else {
C->_c_type=(T0 *)ms3_115;
}
/*FI*/}
else {
{T115 *n=((T115*)se_new(115));
rT115make(n,rT115start_position(C));
R=(T0 *)n;}
R=rT115to_runnable((T115*)R,a1);
}
/*FI*/return R;
}
/*TYPE_POINTER*/void rT115error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_POINTER*/T0* rT115start_position(T115 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_POINTER*/T0* rT115base_class(T115 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_POINTER*/int rT115is_a_in(T115 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms53_27/*)*/,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT115to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
int ofBC115check_type=0;
/*TYPE_POINTER*/void rT115check_type(T115 *C){
if (ofBC115check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
ofBC115check_type=1;
_bc=rT115base_class(C);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_rc=rT115run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (!(((T53*)_bc)->_is_expanded)) {
rT115error(rT115start_position(C),(T0 *)ms7_115);
}
/*FI*/}
/*FI*/}}
/*TYPE_POINTER*/int rT115has_creation(T115 *C,T0* a1){
int R=0;
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position);
rT115error(rT115start_position(C),(T0 *)ms1_110);
return R;
}
/*TYPE_POINTER*/void rT115load_ref(/*C*/T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T51 *n=((T51*)se_new(51));
rT51make(n,a1,NULL);
_cn=(T0 *)n;}
_rc=rT53run_class((T53*)rT51base_class((T51*)_cn));
rT269set_at_run_time((T269*)_rc);
_rf=rT269get_feature_with((T269*)_rc,(T0 *)ms2_110);
}int ofBC116used_as_reference=0;
/*TYPE_REAL*/void rT116used_as_reference(/*C*/void){
if (ofBC116used_as_reference==0){
ofBC116used_as_reference=1;
rT116load_ref((T0 *)ms56_27);
}}
/*TYPE_REAL*/T0* rT116generic_list(T116 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_REAL*/T0* rT116look_up_for(T116 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT116base_class(C),a1,a2);
return R;
}
/*TYPE_REAL*/T0* rT116run_class(T116 *C){
T0* R=NULL;
R=rT55run_class(rT116run_type(C));
return R;
}
/*TYPE_REAL*/void rT116mapping_c_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms3_116);
}/*TYPE_REAL*/T0* rT116smallest_ancestor(T116 *C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=XrT62run_type(a1);
/*IF*/if (XrT62is_integer(_rto)) {
R=(T0 *)C;
}
 else if (XrT62is_real(_rto)) {
R=(T0 *)C;
}
 else if (XrT62is_double(_rto)) {
R=a1;
}
else {
R=rT118smallest_ancestor((T118*)rT116type_real_ref(),_rto);
}
/*FI*/return R;
}
/*TYPE_REAL*/void rT116to_reference(T116 *C){
rT44to_reference((T44*)oRBC27cpp,(T0 *)C,rT116type_real_ref());
}/*TYPE_REAL*/int rT116is_a(T116 *C,T0* a1){
int R=0;
/*IF*/if ((XrT62is_real(a1))||(XrT62is_double(a1))) {
R=1;
}
else {
R=rT53is_subclass_of((T53*)rT116base_class(C),XrT62base_class(a1));
/*IF*/if (R) {
rT116used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms105_27);
rT48add_type(a1,(T0 *)ms102_27);
}
/*FI*/return R;
}
/*TYPE_REAL*/void rT116make(T116 *C,T0* a1){
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms55_27,a1);
C->_base_class_name=(T0 *)n;}
}/*TYPE_REAL*/void rT116to_expanded(T116 *C){
rT44to_expanded((T44*)oRBC27cpp,(T0 *)C,rT116type_real_ref());
}/*TYPE_REAL*/void rT116c_type_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms2_116);
}int ofBC27type_real_ref=0;
T0*oRBC27type_real_ref;
/*TYPE_REAL*/T0* rT116type_real_ref(/*C*/void){
if (ofBC27type_real_ref==0){
T0* R=NULL;
T0* _real_ref=NULL;
ofBC27type_real_ref=1;
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms56_27,NULL);
_real_ref=(T0 *)n;}
{T118 *n=((T118*)se_new(118));
/*[IRF3:make*//*AW*/(n)->_base_class_name=(_real_ref);/*]*/
R=(T0 *)n;}
oRBC27type_real_ref=R;}
return oRBC27type_real_ref;}
/*TYPE_REAL*/T0* rT116run_type(T116 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_REAL*/T0* rT116to_runnable(T116 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
rT116check_type(C);
return R;
}
/*TYPE_REAL*/void rT116error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_REAL*/T0* rT116start_position(T116 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_REAL*/T0* rT116base_class(T116 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_REAL*/int rT116is_a_in(T116 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms55_27/*)*/,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT116to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
int ofBC116check_type=0;
/*TYPE_REAL*/void rT116check_type(T116 *C){
if (ofBC116check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
ofBC116check_type=1;
_bc=rT116base_class(C);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_rc=rT116run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (!(((T53*)_bc)->_is_expanded)) {
rT116error(rT116start_position(C),(T0 *)ms4_116);
}
/*FI*/}
/*FI*/}}
/*TYPE_REAL*/int rT116has_creation(T116 *C,T0* a1){
int R=0;
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a1)->_start_position);
rT116error(rT116start_position(C),(T0 *)ms1_110);
return R;
}
/*TYPE_REAL*/void rT116load_ref(/*C*/T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T51 *n=((T51*)se_new(51));
rT51make(n,a1,NULL);
_cn=(T0 *)n;}
_rc=rT53run_class((T53*)rT51base_class((T51*)_cn));
rT269set_at_run_time((T269*)_rc);
_rf=rT269get_feature_with((T269*)_rc,(T0 *)ms2_110);
}/*TYPE_STRING*/T0* rT117run_type(T117 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_STRING*/T0* rT117to_runnable(T117 *C,T0* a1){
T0* R=NULL;
R=(T0 *)C;
rT117check_type(C);
return R;
}
/*TYPE_STRING*/void rT117cast_to_ref(T117 *C){
XrT62cast_to_ref(rT117run_type(C));
}/*TYPE_STRING*/void rT117error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_STRING*/T0* rT117start_position(T117 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_STRING*/T0* rT117generic_list(T117 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_STRING*/T0* rT117look_up_for(T117 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT117base_class(C),a1,a2);
return R;
}
/*TYPE_STRING*/void rT117mapping_c_in(/*C*/T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(/*(IRF4*/7/*)*/,a1);
}/*TYPE_STRING*/T0* rT117run_class(T117 *C){
T0* R=NULL;
R=rT55run_class(rT117run_type(C));
return R;
}
/*TYPE_STRING*/T0* rT117smallest_ancestor(T117 *C,T0* a1){
T0* R=NULL;
T0* _rto_bc=NULL;
T0* _rto=NULL;
_rto=XrT62run_type(a1);
/*IF*/if (XrT62is_string(_rto)) {
R=(T0 *)C;
}
 else if (XrT62is_expanded(_rto)) {
R=XrT62smallest_ancestor(_rto,(T0 *)C);
}
else {
_rto_bc=XrT62base_class(_rto);
/*IF*/if (rT53is_subclass_of((T53*)_rto_bc,rT117base_class(C))) {
R=(T0 *)C;
}
else {
R=XrT62smallest_ancestor(_rto,(T0 *)C);
}
/*FI*/}
/*FI*/return R;
}
/*TYPE_STRING*/T0* rT117base_class(T117 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_STRING*/int rT117is_a_in(T117 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)/*(IRF4*/(T0 *)ms57_27/*)*/,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT117to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
/*TYPE_STRING*/int rT117displacement(/*C*/void){
int R=0;
void * _p=0;
R=((0),sizeof(T8));
return R;
}
/*TYPE_STRING*/int rT117is_a(T117 *C,T0* a1){
int R=0;
/*IF*/if (XrT62is_string(a1)) {
R=1;
}
else {
R=rT53is_subclass_of((T53*)rT117base_class(C),XrT62base_class(a1));
}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms105_27);
rT48add_type(a1,(T0 *)ms102_27);
}
/*FI*/return R;
}
/*TYPE_STRING*/int rT117has_creation(T117 *C,T0* a1){
int R=0;
R=rT53has_creation((T53*)rT117base_class(C),a1);
return R;
}
int ofBC117check_type=0;
/*TYPE_STRING*/void rT117check_type(T117 *C){
if (ofBC117check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
ofBC117check_type=1;
_bc=rT117base_class(C);
/*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
_rc=rT117run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (((T53*)_bc)->_is_expanded) {
rT117error(rT117start_position(C),(T0 *)ms2_117);
}
/*FI*/}
/*FI*/}}
/*TYPE_STRING*/void rT117make(T117 *C,T0* a1){
{T51 *n=((T51*)se_new(51));
rT51make(n,(T0 *)ms57_27,a1);
C->_base_class_name=(T0 *)n;}
}/*TYPE_STRING*/void rT117c_type_in(/*C*/T0* a1){
rT7append((T7*)a1,(T0 *)ms3_62);
}/*TYPE_CLASS*/T0* rT118type_any(/*C*/void){
if (ofBC27type_any==0){
T0* R=NULL;
ofBC27type_any=1;
{T91 *n=((T91*)se_new(91));
rT91make(n,NULL);
R=(T0 *)n;}
oRBC27type_any=R;}
return oRBC27type_any;}
/*TYPE_CLASS*/void rT118c_initialize_expanded(T118 *C){
T0* _rf=NULL;
int _i=0;
T0* _wa=NULL;
rT44put_character((T44*)oRBC27cpp,'\173');
_wa=rT269writable_attributes((T269*)rT118run_class(C));
/*IF*/if (!(_wa)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms14_62);
}
else {
_i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper;
while (!((_i)==(0))) {
_rf=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i);
XrT62c_initialize(/*XrT*RUN_FEATURE*/((T274*)_rf)->_result_type);
_i=(_i)-(1);
/*IF*/if ((_i)>(0)) {
rT44put_character((T44*)oRBC27cpp,'\54');
}
/*FI*/}
}
/*FI*/rT44put_character((T44*)oRBC27cpp,'\175');
}/*TYPE_CLASS*/void rT118c_initialize(T118 *C){
/*IF*/if (rT118is_expanded(C)) {
rT118c_initialize_expanded(C);
}
else {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_118);
}
/*FI*/}/*TYPE_CLASS*/void rT118fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*TYPE_CLASS*/T0* rT118run_time_mark(T118 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_to_string;
return R;
}
/*TYPE_CLASS*/T0* rT118run_type(T118 *C){
T0* R=NULL;
R=(T0 *)C;
return R;
}
/*TYPE_CLASS*/T0* rT118to_runnable(T118 *C,T0* a1){
T0* R=NULL;
T0* _rc=NULL;
T0* _bc=NULL;
_bc=rT51base_class((T51*)(C)->_base_class_name);
/*IF*/if (((T53*)_bc)->_is_expanded) {
/*IF*/if (!(rT60fast_has((T60*)oRBC118check_memory,_bc))) {
rT53check_expanded_with((T53*)_bc,(T0 *)C);
rT60add_last((T60*)oRBC118check_memory,_bc);
}
/*FI*/}
/*FI*/_rc=rT118run_class(C);
R=(T0 *)C;
return R;
}
/*TYPE_CLASS*/void rT118cast_to_ref(T118 *C){
XrT62cast_to_ref(rT118run_type(C));
}/*TYPE_CLASS*/int rT118id(T118 *C){
int R=0;
R=((T53*)rT118base_class(C))->_id;
return R;
}
/*TYPE_CLASS*/T0* rT118start_position(T118 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_CLASS*/T0* rT118generic_list(T118 *C){
T0* R=NULL;
rT48add_type((T0 *)C,(T0 *)ms1_62);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
return R;
}
/*TYPE_CLASS*/int rT118is_reference(T118 *C){
int R=0;
T0* _bc=NULL;
R=!(((T53*)rT118base_class(C))->_is_expanded);
return R;
}
/*TYPE_CLASS*/T0* rT118look_up_for(T118 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT118base_class(C),a1,a2);
return R;
}
/*TYPE_CLASS*/void rT118mapping_c_in(T118 *C,T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT118id(C),a1);
}/*TYPE_CLASS*/void rT118mapping_cast(T118 *C){
rT7copy((T7*)oRBC62tmp_string,(T0 *)ms4_62);
rT2append_in(rT118id(C),oRBC62tmp_string);
/*IF*/if (rT118is_reference(C)) {
rT7extend((T7*)oRBC62tmp_string,'\52');
}
/*FI*/rT7extend((T7*)oRBC62tmp_string,'\51');
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_CLASS*/T0* rT118run_class(T118 *C){
T0* R=NULL;
R=rT55run_class(rT118run_type(C));
return R;
}
/*TYPE_CLASS*/int rT118is_expanded(T118 *C){
int R=0;
R=((T53*)rT118base_class(C))->_is_expanded;
return R;
}
/*TYPE_CLASS*/T0* rT118smallest_ancestor(T118 *C,T0* a1){
T0* R=NULL;
T0* _bc=NULL;
T0* _rto_bc=NULL;
T0* _pl2=NULL;
T0* _pl1=NULL;
T0* _rto=NULL;
_rto=XrT62run_type(a1);
/*IF*/if (XrT62is_none(a1)) {
R=(T0 *)C;
}
 else if (XrT62is_any(_rto)) {
R=_rto;
}
else {
_rto_bc=XrT62base_class(_rto);
_bc=rT118base_class(C);
/*IF*/if (((T0 *)_rto_bc)==((T0 *)_bc)) {
R=(T0 *)C;
}
 else if (rT53is_subclass_of((T53*)_rto_bc,_bc)) {
R=(T0 *)C;
}
 else if (rT53is_subclass_of((T53*)_bc,_rto_bc)) {
R=_rto;
}
 else if ((XrT62is_expanded(_rto))&&(!(rT118is_expanded(C)))) {
R=XrT62smallest_ancestor(_rto,(T0 *)C);
}
else {
_pl1=((T53*)_bc)->_parent_list;
_pl2=((T53*)_rto_bc)->_parent_list;
/*IF*/if ((!(_pl1))||(!(_pl2))) {
R=rT118type_any();
}
 else if ((rT133count((T133*)_pl2))==(1)) {
R=XrT62smallest_ancestor(((T120*)rT133super((T133*)_pl2))->_type,(T0 *)C);
}
 else if ((rT133count((T133*)_pl1))==(1)) {
R=XrT62smallest_ancestor(((T120*)rT133super((T133*)_pl1))->_type,a1);
}
else {
rT118fatal_error((T0 *)ms1_118);
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*TYPE_CLASS*/T0* rT118written_mark(T118 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_to_string;
return R;
}
/*TYPE_CLASS*/T0* rT118base_class(T118 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_CLASS*/int rT118is_a_in(T118 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)rT118written_mark(C),XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT118to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
/*TYPE_CLASS*/void rT118c_struct(T118 *C){
T0* _wa=NULL;
T0* _a=NULL;
int _i=0;
rT7copy((T7*)oRBC62tmp_string,(T0 *)ms5_62);
rT2append_in(rT118id(C),oRBC62tmp_string);
rT7extend((T7*)oRBC62tmp_string,'\173');
/*IF*/if (rT118is_reference(C)) {
rT7append((T7*)oRBC62tmp_string,(T0 *)ms6_62);
}
/*FI*/_wa=rT269writable_attributes((T269*)rT118run_class(C));
/*IF*/if (!(_wa)) {
rT7append((T7*)oRBC62tmp_string,(T0 *)ms7_62);
}
else {
_i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper;
while (!((_i)==(0))) {
_a=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i);
XrT62c_type_in(XrT62run_type(/*XrT*RUN_FEATURE*/((T274*)_a)->_result_type),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms8_62);
rT7append((T7*)oRBC62tmp_string,/*XrT*FEATURE_NAME*/((T70*)/*XrT*RUN_FEATURE*/((T274*)_a)->_name)->_to_string);
rT7extend((T7*)oRBC62tmp_string,'\73');
_i=(_i)-(1);
}
}
/*FI*/rT7append((T7*)oRBC62tmp_string,(T0 *)ms9_62);
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_CLASS*/int rT118displacement(T118 *C){
int R=0;
void * _p=0;
/*IF*/if (rT118is_reference(C)) {
R=((0),sizeof(T8));
}
else {
R=rT118user_expanded_displacement(C);
}
/*FI*/return R;
}
/*TYPE_CLASS*/int rT118is_a(T118 *C,T0* a1){
int R=0;
T0* _other_bcn=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
_other_bcn=XrT62base_class_name(a1);
/*IF*/if (((T0 *)((T51*)_bcn)->_to_string)==((T0 *)((T51*)_other_bcn)->_to_string)) {
R=1;
}
 else if (rT51is_subclass_of((T51*)_bcn,_other_bcn)) {
/*IF*/if (XrT62is_generic(a1)) {
R=rT53is_a_vncg((T53*)rT51base_class((T51*)_bcn),(T0 *)C,a1);
}
else {
R=1;
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms105_27);
rT48add_type(a1,(T0 *)ms102_27);
}
/*FI*/return R;
}
/*TYPE_CLASS*/int rT118user_expanded_displacement(T118 *C){
int R=0;
int _i=0;
T0* _a=NULL;
T0* _wa=NULL;
_wa=rT269writable_attributes((T269*)rT118run_class(C));
/*IF*/if (((int)_wa)) {
_i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper;
while (!((_i)==(0))) {
_a=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i);
R=(R)+(XrT62displacement(/*XrT*RUN_FEATURE*/((T274*)_a)->_result_type));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*TYPE_CLASS*/int rT118has_creation(T118 *C,T0* a1){
int R=0;
R=rT53has_creation((T53*)rT118base_class(C),a1);
return R;
}
T0*oRBC118check_memory;
/*TYPE_CLASS*/void rT118c_typedef(T118 *C){
int _mem_id=0;
_mem_id=rT118id(C);
/*[IRF3:clear*//*AW*/((T7*)oRBC62tmp_string)->_count=(0);/*]*/
rT7append((T7*)oRBC62tmp_string,(T0 *)ms10_62);
rT2append_in(rT118id(C),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms11_62);
rT2append_in(rT118id(C),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms12_62);
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_CLASS*/void rT118c_type_in(T118 *C,T0* a1){
/*IF*/if (rT118is_reference(C)) {
rT7append((T7*)a1,(T0 *)ms2_118);
}
else {
rT7extend((T7*)a1,'T');
rT2append_in(rT118id(C),a1);
}
/*FI*/}/*TYPE_GENERIC*/T0* rT119twin(T119 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);AF_1
rT119copy((T119*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
/*TYPE_GENERIC*/void rT119fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*TYPE_GENERIC*/void rT119cast_to_ref(T119 *C){
rT119cast_to_ref((T119*)(C)->_run_type);
}/*TYPE_GENERIC*/int rT119id(T119 *C){
int R=0;
R=((T269*)rT119run_class(C))->_id;
return R;
}
/*TYPE_GENERIC*/T0* rT119look_up_for(T119 *C,T0* a1,T0* a2){
T0* R=NULL;
R=rT53look_up_for((T53*)rT119base_class(C),a1,a2);
return R;
}
/*TYPE_GENERIC*/T0* rT119run_class(T119 *C){
T0* R=NULL;
R=rT55run_class((C)->_run_type);
return R;
}
/*TYPE_GENERIC*/void rT119mapping_c_in(T119 *C,T0* a1){
rT7extend((T7*)a1,'T');
rT2append_in(rT119id(C),a1);
}/*TYPE_GENERIC*/void rT119mapping_cast(T119 *C){
rT7copy((T7*)oRBC62tmp_string,(T0 *)ms4_62);
rT2append_in(rT119id(C),oRBC62tmp_string);
/*IF*/{/*AT*/rT7extend((T7*)oRBC62tmp_string,'\52');
}
/*FI*/rT7extend((T7*)oRBC62tmp_string,'\51');
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_GENERIC*/int rT119is_expanded(T119 *C){
int R=0;
R=((T53*)rT119base_class(C))->_is_expanded;
return R;
}
/*TYPE_GENERIC*/T0* rT119smallest_ancestor(/*C*/T0* a1){
T0* R=NULL;
rT119fatal_error((T0 *)ms1_119);
return R;
}
/*TYPE_GENERIC*/void rT119c_struct(T119 *C){
T0* _wa=NULL;
T0* _a=NULL;
int _i=0;
rT7copy((T7*)oRBC62tmp_string,(T0 *)ms5_62);
rT2append_in(rT119id(C),oRBC62tmp_string);
rT7extend((T7*)oRBC62tmp_string,'\173');
/*IF*/{/*AT*/rT7append((T7*)oRBC62tmp_string,(T0 *)ms6_62);
}
/*FI*/_wa=rT269writable_attributes((T269*)rT119run_class(C));
/*IF*/if (!(_wa)) {
rT7append((T7*)oRBC62tmp_string,(T0 *)ms7_62);
}
else {
_i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper;
while (!((_i)==(0))) {
_a=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i);
XrT62c_type_in(XrT62run_type(/*XrT*RUN_FEATURE*/((T274*)_a)->_result_type),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms8_62);
rT7append((T7*)oRBC62tmp_string,/*XrT*FEATURE_NAME*/((T70*)/*XrT*RUN_FEATURE*/((T274*)_a)->_name)->_to_string);
rT7extend((T7*)oRBC62tmp_string,'\73');
_i=(_i)-(1);
}
}
/*FI*/rT7append((T7*)oRBC62tmp_string,(T0 *)ms9_62);
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_GENERIC*/int rT119displacement(T119 *C){
int R=0;
void * _p=0;
/*IF*/{/*AT*/R=((0),sizeof(T8));
}
/*FI*/return R;
}
/*TYPE_GENERIC*/int rT119is_a(T119 *C,T0* a1){
int R=0;
T0* _t2=NULL;
T0* _t1=NULL;
int _i=0;
/*IF*/if (XrT62is_none(a1)) {
}
 else if (((T0 *)rT119run_class(C))==((T0 *)XrT62run_class(a1))) {
R=1;
}
 else if ((rT119is_expanded(C))&&(XrT62is_expanded(a1))) {
}
 else if (XrT62is_generic(a1)) {
/*IF*/if (((T0 *)rT119base_class(C))==((T0 *)XrT62base_class(a1))) {
R=1;
_i=((T108*)(C)->_generic_list)->_upper;
while (!((!(R))||((_i)==(0)))) {
_t1=XrT62run_type(rT108item((T108*)(C)->_generic_list,_i));
_t2=XrT62run_type(rT108item((T108*)XrT62generic_list(a1),_i));
/*IF*/if (XrT62is_a(_t1,_t2)) {
_i=(_i)-(1);
}
else {
R=0;
rT48append((T0 *)ms98_27);
}
/*FI*/}
}
 else if (rT53is_subclass_of((T53*)rT119base_class(C),XrT62base_class(a1))) {
R=rT53is_a_vncg((T53*)rT119base_class(C),(T0 *)C,a1);
}
/*FI*/}
else {
/*IF*/if (rT53is_subclass_of((T53*)rT119base_class(C),XrT62base_class(a1))) {
R=1;
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
rT48add_type((T0 *)C,(T0 *)ms105_27);
rT48add_type(a1,(T0 *)ms2_119);
}
/*FI*/return R;
}
/*TYPE_GENERIC*/int rT119user_expanded_displacement(T119 *C){
int R=0;
int _i=0;
T0* _a=NULL;
T0* _wa=NULL;
_wa=rT269writable_attributes((T269*)rT119run_class(C));
/*IF*/if (((int)_wa)) {
_i=/*XrT*ARRAY[RUN_FEATURE]*/((T273*)_wa)->_upper;
while (!((_i)==(0))) {
_a=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)_wa,_i);
R=(R)+(XrT62displacement(/*XrT*RUN_FEATURE*/((T274*)_a)->_result_type));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*TYPE_GENERIC*/void rT119make(T119 *C,T0* a1,T0* a2){
int _is_rt=0;
T0* _t=NULL;
int _i=0;
C->_base_class_name=a1;
C->_generic_list=a2;
{T7 *n=((T7*)se_new(7));
rT7copy(n,((T51*)a1)->_to_string);
C->_written_mark=(T0 *)n;}
rT7extend((T7*)(C)->_written_mark,'\133');
_i=1;
_is_rt=1;
while (!((_i)>(((T108*)a2)->_upper))) {
_t=rT108item((T108*)a2,_i);
rT7append((T7*)(C)->_written_mark,XrT62written_mark(_t));
/*IF*/if (!(XrT62is_run_type(_t))) {
_is_rt=0;
}
/*FI*/_i=(_i)+(1);
/*IF*/if ((_i)<=(((T108*)a2)->_upper)) {
rT7extend((T7*)(C)->_written_mark,'\54');
}
/*FI*/}
rT7extend((T7*)(C)->_written_mark,'\135');
/*IF*/if (_is_rt) {
C->_run_type=(T0 *)C;
}
/*FI*/}/*TYPE_GENERIC*/void rT119c_type_in(T119 *C,T0* a1){
/*IF*/{/*AT*/rT7append((T7*)a1,(T0 *)ms3_119);
}
/*FI*/}/*TYPE_GENERIC*/void rT119c_typedef(T119 *C){
int _mem_id=0;
_mem_id=rT119id(C);
/*[IRF3:clear*//*AW*/((T7*)oRBC62tmp_string)->_count=(0);/*]*/
rT7append((T7*)oRBC62tmp_string,(T0 *)ms10_62);
rT2append_in(rT119id(C),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms11_62);
rT2append_in(rT119id(C),oRBC62tmp_string);
rT7append((T7*)oRBC62tmp_string,(T0 *)ms12_62);
rT44put_string((T44*)oRBC27cpp,oRBC62tmp_string);
}/*TYPE_GENERIC*/int rT119is_run_type(T119 *C){
int R=0;
R=((int)(C)->_run_type);
return R;
}
/*TYPE_GENERIC*/T0* rT119run_time_mark(T119 *C){
T0* R=NULL;
R=((T119*)(C)->_run_type)->_written_mark;
return R;
}
/*TYPE_GENERIC*/T0* rT119to_runnable(T119 *C,T0* a1){
T0* R=NULL;
T0* _fgl=NULL;
T0* _bc=NULL;
T0* _rgl=NULL;
T0* _t=NULL;
int _i=0;
/*IF*/if (((T0 *)(C)->_run_type)==((T0 *)C)) {
R=(T0 *)C;
}
 else if (!((C)->_run_type)) {
_bc=rT119base_class(C);
_fgl=((T53*)_bc)->_formal_generic_list;
/*IF*/if (!(_fgl)) {
rT48add_position(rT119start_position(C));
rT48append(((T51*)((T53*)_bc)->_base_class_name)->_to_string);
rT119fatal_error((T0 *)ms4_119);
}
 else if ((rT89count((T89*)_fgl))!=(rT108count((T108*)(C)->_generic_list))) {
rT48add_position(rT119start_position(C));
rT48add_position(((T89*)_fgl)->_start_position);
rT119fatal_error((T0 *)ms5_119);
}
/*FI*/_rgl=(C)->_generic_list;
_i=((T108*)_rgl)->_upper;
while (!((_i)==(0))) {
_t=rT108item((T108*)_rgl,_i);
/*IF*/if (((T0 *)XrT62run_type(_t))==((T0 *)_t)) {
_i=(_i)-(1);
}
else {
_i=0;
_rgl=NULL;
}
/*FI*/}
/*IF*/if (!(_rgl)) {
_rgl=rT108twin((T108*)(C)->_generic_list);
_i=((T108*)_rgl)->_upper;
while (!((_i)==(0))) {
_t=XrT62to_runnable(rT108item((T108*)_rgl,_i),a1);
/*IF*/if ((!(_t))||(!(XrT62is_run_type(_t)))) {
rT48add_type(rT108item((T108*)_rgl,_i),(T0 *)ms106_27);
rT48print_as_error((T48*)oRBC27eh);
_i=0;
}
else {
rT108put((T108*)_rgl,XrT62run_type(_t),_i);
_i=(_i)-(1);
}
/*FI*/}
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (((T0 *)_rgl)==((T0 *)(C)->_generic_list)) {
C->_run_type=(T0 *)C;
}
else {
{T119 *n=((T119*)se_new(119));
rT119make(n,(C)->_base_class_name,_rgl);
C->_run_type=(T0 *)n;}
/*[IRF3:set_run_type*//*AW*/((T119*)(C)->_run_type)->_run_type=((C)->_run_type);/*]*/
}
/*FI*/R=(T0 *)C;
}
else {
rT119error(rT119start_position(C),(T0 *)ms6_119);
}
/*FI*/}
else {
R=rT119twin(C);
/*[IRF3:set_run_type*//*AW*/((T119*)R)->_run_type=(NULL);/*]*/
R=rT119to_runnable((T119*)rT119twin(C),a1);
}
/*FI*/return R;
}
/*TYPE_GENERIC*/void rT119error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*TYPE_GENERIC*/T0* rT119start_position(T119 *C){
T0* R=NULL;
R=((T51*)(C)->_base_class_name)->_start_position;
return R;
}
/*TYPE_GENERIC*/T0* rT119base_class(T119 *C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(C)->_base_class_name;
/*IF*/if (((int)_bcn)) {
R=rT51base_class((T51*)_bcn);
}
else {
rT48append((T0 *)ms2_62);
rT48add_type((T0 *)C,(T0 *)ms102_27);
/*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48);
rT48die_with_code(1);
/*]*/
}
/*FI*/return R;
}
/*TYPE_GENERIC*/void rT119copy(T119 *C,T0* a1){
C->_base_class_name=((T119*)a1)->_base_class_name;
C->_written_mark=((T119*)a1)->_written_mark;
C->_generic_list=rT108twin((T108*)((T119*)a1)->_generic_list);
}/*TYPE_GENERIC*/int rT119is_a_in(T119 *C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT62written_mark(a1))) {
R=1;
}
else {
_ct=((T269*)a2)->_current_type;
_t1=rT119to_runnable(C,_ct);
_t2=XrT62to_runnable(a1,_ct);
/*IF*/if (rT7is_equal((T7*)XrT62run_time_mark(_t1),XrT62run_time_mark(_t2))) {
R=1;
}
else {
R=XrT62is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
/*TYPE_GENERIC*/int rT119has_creation(T119 *C,T0* a1){
int R=0;
/*IF*/if (((T0 *)C)==((T0 *)(C)->_run_type)) {
R=rT53has_creation((T53*)rT119base_class(C),a1);
}
else {
R=rT119has_creation((T119*)(C)->_run_type,a1);
}
/*FI*/return R;
}

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