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

This is compile_to_c12.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_to_c.h"
int rT123is_omitted(T123 *C){
int R=0;
R=!((C)->_start_position);
return R;
}
int rT123gives_permission_to_any(T123 *C){
int R=0;
R=rT123gives_permission_to(C,((T50*)/*(IRF4*/rT123class_with((T0 *)ms177)/*)*/)->_base_class_name);
return R;
}
int rT123gives_permission_to(T123 *C,T0* a1){
int R=0;
/*IF*/if (rT123is_omitted(C)) {
R=1;
}
 else if (!((C)->_list)) {
}
else {
R=rT126gives_permission_to((T126*)(C)->_list,a1);
}
/*FI*//*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)a1)->_to_string);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms466);
}
/*FI*/return R;
}
void rT123make(T123 *C,T0* a1,T0* a2){
C->_start_position=a1;
/*IF*/if (((int)a2)) {
{T126 *n=((T126*)se_new(126));
rT126make(n,a2);
C->_list=(T0 *)n;}
}
/*FI*/}
T0* rT139name(T139 *C,int a1){
T0* R=NULL;
R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_name;
return R;
}
T0* rT139twin(T139 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT139copy((T139*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
T0* rT139type(T139 *C,int a1){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_types)) {
R=rT106item((T106*)(C)->_run_types,a1);
}
else {
R=((T94*)rT96item((T96*)(C)->_flat_list,a1))->_type;
}
/*FI*/return R;
}
T0*oRBC139c2c_mem;
T0* rT139to_runnable(T139 *C,T0* a1){
T0* R=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
int _i=0;
/*IF*/if (!((C)->_run_types)) {
R=(T0 *)C;
{T106 *n=((T106*)se_new(106));
rT106make(n,1,((T96*)(C)->_flat_list)->_upper);
C->_run_types=(T0 *)n;}
_i=1;
while (!((_i)>(((T106*)(C)->_run_types)->_upper))) {
_t1=((T94*)rT96item((T96*)(C)->_flat_list,_i))->_type;
_t2=XrT58to_runnable(_t1,a1);
/*IF*/if (!(_t2)) {
rT139error(XrT58start_position(_t1),(T0 *)ms510);
}
else {
rT106put((T106*)(C)->_run_types,_t2,_i);
}
/*FI*/_i=(_i)+(1);
}
}
else {
R=rT139to_runnable((T139*)rT139twin(C),a1);
}
/*FI*/return R;
}
int rT139count(T139 *C){
int R=0;
R=((T96*)(C)->_flat_list)->_upper;
return R;
}
void rT139error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
int rT139rank_of(T139 *C,T0* a1){
int R=0;
T0* _ns=NULL;
_ns=XrT49to_string(a1);
R=rT139count(C);
while (!(((R)==(0))||(rT7is_equal((T7*)_ns,XrT49to_string(rT139name(C,R)))))) {
R=(R)-(1);
}
return R;
}
void rT139compile_to_c(T139 *C){
T0* _t=NULL;
int _i=0;
_i=rT139count(C);
while (!((_i)==(0))) {
_t=XrT58run_type(rT139type(C,_i));
/*(IRF3*/(((T7*)oRBC139c2c_mem)->_count)=(0);
/*)*/XrT58c_type_in(_t,oRBC139c2c_mem);
rT7append((T7*)oRBC139c2c_mem,(T0 *)ms856);
rT7append((T7*)oRBC139c2c_mem,XrT49to_string(rT139name(C,_i)));
rT7extend((T7*)oRBC139c2c_mem,'\75');
rT43put_string((T43*)oRBC27cpp,oRBC139c2c_mem);
XrT58c_initialize(_t);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms858);
_i=(_i)-(1);
}
}
void rT139copy(T139 *C,T0* a1){
C->_start_position=((T139*)a1)->_start_position;
C->_list=((T139*)a1)->_list;
C->_flat_list=((T139*)a1)->_flat_list;
}
void rT139initialize_expanded(T139 *C){
T0* _rf=NULL;
T0* _t=NULL;
int _i=0;
_i=rT139count(C);
while (!((_i)==(0))) {
_t=XrT58run_type(rT139type(C,_i));
/*IF*/if (XrT58is_expanded(_t)) {
/*IF*/if (!(XrT58fast_mapping_c(_t))) {
_rf=rT50expanded_initializer((T50*)XrT58base_class(_t),_t);
/*IF*/if (((int)_rf)) {
rT43push_local_expanded((T43*)oRBC27cpp,XrT49to_string(rT139name(C,_i)));
XrT262mapping_c(_rf);
rT43pop((T43*)oRBC27cpp);
/*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,XrT262current_type(_rf))) {
rT43put_character((T43*)oRBC27cpp,'\46');
rT43put_local_name((T43*)oRBC27cpp,XrT49to_string(rT139name(C,_i)));
rT43call_invariant_end((T43*)oRBC27cpp);
rT43put_semicolon((T43*)oRBC27cpp);
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)-(1);
}
}
void rT139make(T139 *C,T0* a1,T0* a2){
int _actual_count=0;
int _ifl=0;
int _il=0;
C->_start_position=a1;
C->_list=a2;
_il=1;
while (!((_il)>(XrT143upper((C)->_list)))) {
_actual_count=(_actual_count)+(XrT95count(XrT143item((C)->_list,_il)));
_il=(_il)+(1);
}
{T96 *n=((T96*)se_new(96));
rT96make(n,1,_actual_count);
C->_flat_list=(T0 *)n;}
_ifl=1;
_il=1;
while (!((_il)>(XrT143upper((C)->_list)))) {
_ifl=XrT95put_into(XrT143item((C)->_list,_il),(C)->_flat_list,_ifl);
_il=(_il)+(1);
}
}
T0* rT160type_any(/*C*/void){
if (ofBC27type_any==0){
T0* R=NULL;
ofBC27type_any=1;
{T87 *n=((T87*)se_new(87));
rT87make(n,NULL);
R=(T0 *)n;}
oRBC27type_any=R;}
return oRBC27type_any;}
int rT160static_value(T160 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT160to_runnable(T160 *C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _e=NULL;
int _i=0;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
/*IF*/if (!((C)->_list)) {
_t=rT160type_any();
}
else {
_i=1;
while (!((_i)>(XrT81upper((C)->_list)))) {
_e=XrT68to_runnable(XrT81item((C)->_list,_i),a1);
/*IF*/if (!(_e)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT160error(XrT68start_position(XrT81item((C)->_list,_i)),(T0 *)ms1132);
_i=(XrT81upper((C)->_list))+(1);
}
else {
XrT81put((C)->_list,_e,_i);
/*IF*/if (!(_t)) {
_t=XrT68result_type(_e);
}
else {
_t=XrT58smallest_ancestor(_t,XrT68result_type(_e));
}
/*FI*/_i=(_i)+(1);
}
/*FI*/}
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
{T105 *n=((T105*)se_new(105));
rT105make(n,NULL,_t);
C->_result_type=(T0 *)n;}
C->_result_type=rT105to_runnable((T105*)(C)->_result_type,(C)->_current_type);
rT261set_at_run_time((T261*)rT105run_class((T105*)(C)->_result_type));
R=(T0 *)C;
}
/*FI*/}
else {
/*IF*/if (!((C)->_list)) {
{T160 *n=((T160*)se_new(160));
rT160make(n,(C)->_start_position,NULL);
R=(T0 *)n;}
}
else {
{T160 *n=((T160*)se_new(160));
rT160make(n,(C)->_start_position,XrT81twin((C)->_list));
R=(T0 *)n;}
}
/*FI*/R=rT160to_runnable((T160*)R,a1);
}
/*FI*/return R;
}
void rT160error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT160add_comment(T160 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int rT160use_current(T160 *C){
int R=0;
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=1;
while (!(((_i)>(XrT81upper((C)->_list)))||(R))) {
R=XrT68use_current(XrT81item((C)->_list,_i));
_i=(_i)+(1);
}
}
/*FI*/return R;
}
void rT160compile_to_c_old(T160 *C){
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=1;
while (!((_i)>(XrT81upper((C)->_list)))) {
XrT68compile_to_c_old(XrT81item((C)->_list,_i));
_i=(_i)+(1);
}
}
/*FI*/}
void rT160compile_to_c(T160 *C){
int _adr=0;
T0* _elt_type=NULL;
int _i=0;
_elt_type=XrT58run_type(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list));
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1176);
rT43put_integer((T43*)oRBC27cpp,rT105id((T105*)(C)->_result_type));
rT43put_character((T43*)oRBC27cpp,'\54');
/*IF*/if (XrT58is_reference(_elt_type)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1177);
}
else {
rT43put_integer((T43*)oRBC27cpp,XrT58id(_elt_type));
rT43put_character((T43*)oRBC27cpp,'\54');
}
/*FI*//*IF*/if (!((C)->_list)) {
rT43put_character((T43*)oRBC27cpp,'0');
}
else {
_adr=((XrT58is_expanded(_elt_type))&&(!(XrT58fast_mapping_c(_elt_type))));
rT43put_integer((T43*)oRBC27cpp,XrT81upper((C)->_list));
_i=1;
while (!((_i)>(XrT81upper((C)->_list)))) {
rT43put_character((T43*)oRBC27cpp,'\54');
/*IF*/if (_adr) {
rT43put_character((T43*)oRBC27cpp,'\46');
}
/*FI*/XrT68compile_to_c(XrT81item((C)->_list,_i));
_i=(_i)+(1);
}
}
/*FI*/rT43put_character((T43*)oRBC27cpp,'\51');
}
int rT160to_integer(T160 *C){
int R=0;
rT160error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT160written_in(T160 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT160is_a(T160 *C,T0* a1){
int R=0;
R=rT105is_a((T105*)((T105*)(C)->_result_type)->_run_type,XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT160error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
int rT160is_pre_computable(T160 *C){
int R=0;
T0* _e=NULL;
int _i=0;
/*IF*/if (!((C)->_list)) {
R=1;
}
 else if (XrT58is_string(rT106first((T106*)((T105*)(C)->_result_type)->_generic_list))) {
R=1;
_i=XrT81upper((C)->_list);
while (!(((!(R))||((_i)==(0))))) {
_e=XrT81item((C)->_list,_i);
R=XrT68is_pre_computable(_e);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
void rT160make(T160 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_list=a2;
}
void rT265forth(T265 *C){
int _i=0;
/*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j);
}
else {
_i=((C)->_item_mem_i)+(1);
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
}
/*FI*/C->_item_mem=((C)->_item_mem)+(1);
}
void rT265first(T265 *C){
int _i=0;
_i=0;
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
C->_item_mem=1;
}
void rT265resize(T265 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,(a1)-(1));
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT55item((T55*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT55item((T55*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1);
rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
rT55put((T55*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}
T0* rT265item(T265 *C,int a1){
T0* R=NULL;
/*IF*/if (((C)->_item_mem)==(0)) {
rT265first(C);
while (!((a1)==((C)->_item_mem))) {
rT265forth(C);
}
R=XrT266item((C)->_store,(C)->_item_mem_j);
}
 else if (((C)->_item_mem)<=(a1)) {
while (!((a1)==((C)->_item_mem))) {
rT265forth(C);
}
R=XrT266item((C)->_store,(C)->_item_mem_j);
}
else {
C->_item_mem=0;
R=rT265item(C,a1);
}
/*FI*/return R;
}
T0* rT265at(T265 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT265has(C,a1);
R=XrT266item((C)->_store,(C)->_has_mem);
return R;
}
void rT265put(T265 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(XrT266count((C)->_store))) {
rT265expand(C);
}
/*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free);
XrT266put((C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT265resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
XrT266put((C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}
int rT265has(T265 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
void rT265expand(T265 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=XrT266count((C)->_store);
rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
rT34resize((T34*)(C)->_keys,1,(2)*(_old_size));
XrT266resize((C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}
void rT265make(T265 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,((C)->_modulus)-(1));
C->_buckets=(T0 *)n;}
{T55 *n=((T55*)se_new(55));
rT55make(n,1,16);
C->_chain=(T0 *)n;}
{T266 *n=((T266*)se_new(266));
rT266make(n,1,16);
C->_store=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT55put((T55*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}
void rT263forth(T263 *C){
int _i=0;
/*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j);
}
else {
_i=((C)->_item_mem_i)+(1);
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
}
/*FI*/C->_item_mem=((C)->_item_mem)+(1);
}
void rT263first(T263 *C){
int _i=0;
_i=0;
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
C->_item_mem=1;
}
void rT263resize(T263 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,(a1)-(1));
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT55item((T55*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT55item((T55*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1);
rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
rT55put((T55*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}
T0* rT263item(T263 *C,int a1){
T0* R=NULL;
/*IF*/if (((C)->_item_mem)==(0)) {
rT263first(C);
while (!((a1)==((C)->_item_mem))) {
rT263forth(C);
}
R=rT264item((T264*)(C)->_store,(C)->_item_mem_j);
}
 else if (((C)->_item_mem)<=(a1)) {
while (!((a1)==((C)->_item_mem))) {
rT263forth(C);
}
R=rT264item((T264*)(C)->_store,(C)->_item_mem_j);
}
else {
C->_item_mem=0;
R=rT263item(C,a1);
}
/*FI*/return R;
}
T0* rT263at(T263 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT263has(C,a1);
R=rT264item((T264*)(C)->_store,(C)->_has_mem);
return R;
}
void rT263put(T263 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(rT264count((T264*)(C)->_store))) {
rT263expand(C);
}
/*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free);
rT264put((T264*)(C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT263resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
rT264put((T264*)(C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}
void rT263expand(T263 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=rT264count((T264*)(C)->_store);
rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
rT34resize((T34*)(C)->_keys,1,(2)*(_old_size));
rT264resize((T264*)(C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}
int rT263has(T263 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
void rT263make(T263 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,((C)->_modulus)-(1));
C->_buckets=(T0 *)n;}
{T55 *n=((T55*)se_new(55));
rT55make(n,1,16);
C->_chain=(T0 *)n;}
{T264 *n=((T264*)se_new(264));
rT264make(n,1,16);
C->_store=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT55put((T55*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}
void rT61resize(T61 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,(a1)-(1));
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT55item((T55*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT55item((T55*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1);
rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
rT55put((T55*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}
T0* rT61at(T61 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT61has(C,a1);
R=XrT63item((C)->_store,(C)->_has_mem);
return R;
}
void rT61put(T61 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(XrT63count((C)->_store))) {
rT61expand(C);
}
/*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free);
XrT63put((C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT61resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
XrT63put((C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}
void rT61expand(T61 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=XrT63count((C)->_store);
rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
rT34resize((T34*)(C)->_keys,1,(2)*(_old_size));
XrT63resize((C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}
int rT61has(T61 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
void rT61make(T61 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,((C)->_modulus)-(1));
C->_buckets=(T0 *)n;}
{T55 *n=((T55*)se_new(55));
rT55make(n,1,16);
C->_chain=(T0 *)n;}
{T63 *n=((T63*)se_new(63));
rT63make(n,1,16);
C->_store=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT55put((T55*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}
void rT57resize(T57 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,(a1)-(1));
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT55item((T55*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT55item((T55*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1);
rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
rT55put((T55*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}
T0* rT57at(T57 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT57has(C,a1);
R=rT34item((T34*)(C)->_store,(C)->_has_mem);
return R;
}
void rT57put(T57 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(rT34count((T34*)(C)->_store))) {
rT57expand(C);
}
/*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free);
rT34put((T34*)(C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT57resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
rT34put((T34*)(C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}
void rT57expand(T57 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=rT34count((T34*)(C)->_store);
rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
rT34resize((T34*)(C)->_keys,1,(2)*(_old_size));
rT34resize((T34*)(C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}
int rT57has(T57 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
void rT57make(T57 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,((C)->_modulus)-(1));
C->_buckets=(T0 *)n;}
{T55 *n=((T55*)se_new(55));
rT55make(n,1,16);
C->_chain=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_store=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT55put((T55*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}
void rT54forth(T54 *C){
int _i=0;
/*IF*/if ((rT55item((T55*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
C->_item_mem_j=rT55item((T55*)(C)->_chain,(C)->_item_mem_j);
}
else {
_i=((C)->_item_mem_i)+(1);
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
}
/*FI*/C->_item_mem=((C)->_item_mem)+(1);
}
void rT54first(T54 *C){
int _i=0;
_i=0;
while (!((rT55item((T55*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT55item((T55*)(C)->_buckets,_i);
C->_item_mem=1;
}
void rT54resize(T54 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,(a1)-(1));
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT55item((T55*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT55item((T55*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT34item((T34*)(C)->_keys,_n)))%(a1);
rT55put((T55*)(C)->_chain,rT55item((T55*)_new_buc,_hash),_n);
rT55put((T55*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}
T0* rT54item(T54 *C,int a1){
T0* R=NULL;
/*IF*/if (((C)->_item_mem)==(0)) {
rT54first(C);
while (!((a1)==((C)->_item_mem))) {
rT54forth(C);
}
R=rT56item((T56*)(C)->_store,(C)->_item_mem_j);
}
 else if (((C)->_item_mem)<=(a1)) {
while (!((a1)==((C)->_item_mem))) {
rT54forth(C);
}
R=rT56item((T56*)(C)->_store,(C)->_item_mem_j);
}
else {
C->_item_mem=0;
R=rT54item(C,a1);
}
/*FI*/return R;
}
T0* rT54at(T54 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT54has(C,a1);
R=rT56item((T56*)(C)->_store,(C)->_has_mem);
return R;
}
void rT54put(T54 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(rT56count((T56*)(C)->_store))) {
rT54expand(C);
}
/*FI*/rT34put((T34*)(C)->_keys,a2,(C)->_free);
rT56put((T56*)(C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT55item((T55*)(C)->_chain,(C)->_free);
rT55put((T55*)(C)->_chain,rT55item((T55*)(C)->_buckets,_hash),(C)->_has_mem);
rT55put((T55*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT54resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
rT56put((T56*)(C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}
void rT54expand(T54 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=rT56count((T56*)(C)->_store);
rT55resize((T55*)(C)->_chain,1,(2)*(_old_size));
rT34resize((T34*)(C)->_keys,1,(2)*(_old_size));
rT56resize((T56*)(C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}
int rT54has(T54 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT34item((T34*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT55item((T55*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
void rT54make(T54 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T55 *n=((T55*)se_new(55));
rT55make(n,0,((C)->_modulus)-(1));
C->_buckets=(T0 *)n;}
{T55 *n=((T55*)se_new(55));
rT55make(n,1,16);
C->_chain=(T0 *)n;}
{T56 *n=((T56*)se_new(56));
rT56make(n,1,16);
C->_store=(T0 *)n;}
{T34 *n=((T34*)se_new(34));
rT34make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT55count((T55*)(C)->_chain)))) {
rT55put((T55*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT55put((T55*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT55put((T55*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}
T0* rT248current_type(T248 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
void rT248fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT248to_runnable(T248 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT248check_writable(C,a1);
rT248check_explicit_type(C);
rT248check_created_type(C,(C)->_type);
rT248check_creation_clause(C,(C)->_type);
R=(T0 *)C;
}
else {
{T248 *n=((T248*)se_new(248));
rT248make(n,(C)->_start_position,(C)->_type,(C)->_writable,(C)->_call);
R=(T0 *)n;}
R=rT248to_runnable((T248*)R,a1);
}
/*FI*/return R;
}
void rT248error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT248add_comment(T248 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int rT248use_current(T248 *C){
int R=0;
/*IF*/if (((int)(C)->_run_args)) {
R=rT171use_current((T171*)(C)->_run_args);
}
/*FI*/R=(R)||(XrT68use_current((C)->_writable));
return R;
}
void rT248compile_to_c(T248 *C){
int _id=0;
_id=XrT58id((C)->_type);
rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1351);
rT43put_integer((T43*)oRBC27cpp,_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1352);
rT43put_new_id((T43*)oRBC27cpp,_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1353);
rT43expanded_attributes((T43*)oRBC27cpp,(T0 *)ms1354,NULL,(C)->_type);
rT43push_new((T43*)oRBC27cpp,(C)->_run_feature,(C)->_run_args);
XrT262mapping_c((C)->_run_feature);
rT43pop((T43*)oRBC27cpp);
XrT68compile_to_c((C)->_writable);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1355);
rT248call_invariant(C,(C)->_type);
rT43rs_pop_position((T43*)oRBC27cpp);
}
void rT248call_invariant(T248 *C,T0* a1){
/*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) {
XrT58mapping_cast(a1);
XrT68compile_to_c((C)->_writable);
rT43call_invariant_end((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\73');
}
/*FI*/}
int rT248arg_count(T248 *C){
int R=0;
/*IF*/if (((int)(C)->_call)) {
R=XrT178arg_count((C)->_call);
}
/*FI*/return R;
}
int rT248is_pre_computable(T248 *C){
int R=0;
T0* _rfctn=NULL;
T0* _rfct=NULL;
int _i=0;
/*IF*/if (XrT68is_result((C)->_writable)) {
/*IF*/if (!((C)->_run_args)) {
R=1;
}
else {
R=1;
_i=rT171count((T171*)(C)->_run_args);
while (!((!(R))||((_i)==(0)))) {
R=XrT68is_pre_computable(rT171expression((T171*)(C)->_run_args,_i));
_i=(_i)-(1);
}
}
/*FI*//*IF*/if (R) {
/*IF*/if (XrT262is_pre_computable((C)->_run_feature)) {
R=1;
}
 else if (rT7is_equal(ms1602,XrT67to_string(XrT262name((C)->_run_feature)))) {
_rfct=XrT262current_type((C)->_run_feature);
R=(XrT58is_array(_rfct))||(XrT58is_string(_rfct));
/*IF*/if (!(R)) {
_rfctn=XrT58run_time_mark(_rfct);
R=(rT7has_prefix((T7*)_rfctn,(T0 *)ms1603))||(rT7has_prefix((T7*)_rfctn,(T0 *)ms1604));
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void rT248check_creation_clause(T248 *C,T0* a1){
T0* _proc_name=NULL;
_proc_name=XrT178feature_name((C)->_call);
/*IF*/if (!(XrT58has_creation(a1,_proc_name))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_proc_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_proc_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1282);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms36);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
C->_run_feature=rT261get_feature((T261*)XrT58run_class(a1),_proc_name);
/*IF*/if (!((C)->_run_feature)) {
rT248error(XrT67start_position(_proc_name),(T0 *)ms1283);
}
else {
XrT262add_clients((C)->_run_feature,rT140run_class((T140*)(C)->_run_compound));
/*IF*/if (((int)XrT262result_type((C)->_run_feature))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position((C)->_run_feature));
rT248error(XrT67start_position(_proc_name),(T0 *)ms1284);
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (((rT248arg_count(C))==(0))&&(((int)XrT262arguments((C)->_run_feature)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position((C)->_run_feature));
rT248error((C)->_start_position,(T0 *)ms1285);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((rT248arg_count(C))>(0))) {
C->_run_args=rT171to_runnable((T171*)XrT178arguments((C)->_call),rT248current_type(C));
/*IF*/if (!((C)->_run_args)) {
rT248error(rT171start_position((T171*)XrT178arguments((C)->_call)),(T0 *)ms1286);
}
else {
rT171match_with((T171*)(C)->_run_args,(C)->_run_feature);
}
/*FI*/}
/*FI*/}
/*FI*/}
void rT248check_created_type(T248 *C,T0* a1){
T0* _rt=NULL;
_rt=XrT58run_type(a1);
/*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(_rt,(T0 *)ms1271);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT248fatal_error((T0 *)ms1272);
}
/*FI*//*IF*/if (XrT58is_expanded(_rt)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1273);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1274);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*//*IF*/if (XrT58is_formal_generic(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1275);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1276);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt));
}
void rT248check_explicit_type(T248 *C){
T0* _t=NULL;
_t=XrT58to_runnable((C)->_type,rT248current_type(C));
/*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position((C)->_type));
rT248fatal_error((T0 *)ms1280);
}
/*FI*//*IF*/if (!(XrT58is_a((C)->_type,XrT68result_type((C)->_writable)))) {
rT248fatal_error((T0 *)ms1281);
}
/*FI*/}
void rT248check_writable(T248 *C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=XrT68to_runnable((C)->_writable,rT248current_type(C));
/*IF*/if (!(_w)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_writable));
rT248fatal_error((T0 *)ms1270);
}
else {
C->_writable=_w;
}
/*FI*/}
void rT248make(T248 *C,T0* a1,T0* a2,T0* a3,T0* a4){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
C->_call=a4;
}
T0* rT246current_type(T246 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
void rT246fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT246to_runnable(T246 *C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT246check_writable(C,a1);
_t=XrT68result_type((C)->_writable);
rT246check_created_type(C,_t);
rT246check_creation_clause(C,_t);
R=(T0 *)C;
}
else {
{T246 *n=((T246*)se_new(246));
rT246make(n,(C)->_start_position,(C)->_writable,(C)->_call);
R=(T0 *)n;}
R=rT246to_runnable((T246*)R,a1);
}
/*FI*/return R;
}
void rT246error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT246add_comment(T246 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int rT246use_current(T246 *C){
int R=0;
/*IF*/if (((int)(C)->_run_args)) {
R=rT171use_current((T171*)(C)->_run_args);
}
/*FI*/R=(R)||(XrT68use_current((C)->_writable));
return R;
}
void rT246compile_to_c(T246 *C){
int _id=0;
T0* _t=NULL;
rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position);
_t=XrT58run_type(XrT68result_type((C)->_writable));
_id=XrT58id(_t);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1346);
rT43put_integer((T43*)oRBC27cpp,_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1347);
rT43put_new_id((T43*)oRBC27cpp,_id);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1348);
rT43expanded_attributes((T43*)oRBC27cpp,(T0 *)ms1349,NULL,_t);
rT43push_new((T43*)oRBC27cpp,(C)->_run_feature,(C)->_run_args);
XrT262mapping_c((C)->_run_feature);
rT43pop((T43*)oRBC27cpp);
XrT68compile_to_c((C)->_writable);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1350);
rT246call_invariant(C,_t);
rT43rs_pop_position((T43*)oRBC27cpp);
}
void rT246call_invariant(T246 *C,T0* a1){
/*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) {
XrT58mapping_cast(a1);
XrT68compile_to_c((C)->_writable);
rT43call_invariant_end((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\73');
}
/*FI*/}
int rT246arg_count(T246 *C){
int R=0;
/*IF*/if (((int)(C)->_call)) {
R=XrT178arg_count((C)->_call);
}
/*FI*/return R;
}
int rT246is_pre_computable(T246 *C){
int R=0;
T0* _rfctn=NULL;
T0* _rfct=NULL;
int _i=0;
/*IF*/if (XrT68is_result((C)->_writable)) {
/*IF*/if (!((C)->_run_args)) {
R=1;
}
else {
R=1;
_i=rT171count((T171*)(C)->_run_args);
while (!((!(R))||((_i)==(0)))) {
R=XrT68is_pre_computable(rT171expression((T171*)(C)->_run_args,_i));
_i=(_i)-(1);
}
}
/*FI*//*IF*/if (R) {
/*IF*/if (XrT262is_pre_computable((C)->_run_feature)) {
R=1;
}
 else if (rT7is_equal(ms1602,XrT67to_string(XrT262name((C)->_run_feature)))) {
_rfct=XrT262current_type((C)->_run_feature);
R=(XrT58is_array(_rfct))||(XrT58is_string(_rfct));
/*IF*/if (!(R)) {
_rfctn=XrT58run_time_mark(_rfct);
R=(rT7has_prefix((T7*)_rfctn,(T0 *)ms1603))||(rT7has_prefix((T7*)_rfctn,(T0 *)ms1604));
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
void rT246check_creation_clause(T246 *C,T0* a1){
T0* _proc_name=NULL;
_proc_name=XrT178feature_name((C)->_call);
/*IF*/if (!(XrT58has_creation(a1,_proc_name))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_proc_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_proc_name));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1282);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms36);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
C->_run_feature=rT261get_feature((T261*)XrT58run_class(a1),_proc_name);
/*IF*/if (!((C)->_run_feature)) {
rT246error(XrT67start_position(_proc_name),(T0 *)ms1283);
}
else {
XrT262add_clients((C)->_run_feature,rT140run_class((T140*)(C)->_run_compound));
/*IF*/if (((int)XrT262result_type((C)->_run_feature))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position((C)->_run_feature));
rT246error(XrT67start_position(_proc_name),(T0 *)ms1284);
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (((rT246arg_count(C))==(0))&&(((int)XrT262arguments((C)->_run_feature)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position((C)->_run_feature));
rT246error((C)->_start_position,(T0 *)ms1285);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((rT246arg_count(C))>(0))) {
C->_run_args=rT171to_runnable((T171*)XrT178arguments((C)->_call),rT246current_type(C));
/*IF*/if (!((C)->_run_args)) {
rT246error(rT171start_position((T171*)XrT178arguments((C)->_call)),(T0 *)ms1286);
}
else {
rT171match_with((T171*)(C)->_run_args,(C)->_run_feature);
}
/*FI*/}
/*FI*/}
/*FI*/}
void rT246check_created_type(T246 *C,T0* a1){
T0* _rt=NULL;
_rt=XrT58run_type(a1);
/*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(_rt,(T0 *)ms1271);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT246fatal_error((T0 *)ms1272);
}
/*FI*//*IF*/if (XrT58is_expanded(_rt)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1273);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1274);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*//*IF*/if (XrT58is_formal_generic(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1275);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1276);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt));
}
void rT246check_writable(T246 *C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=XrT68to_runnable((C)->_writable,rT246current_type(C));
/*IF*/if (!(_w)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_writable));
rT246fatal_error((T0 *)ms1270);
}
else {
C->_writable=_w;
}
/*FI*/}
void rT246make(T246 *C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_writable=a2;
C->_call=a3;
}
T0* rT244current_type(T244 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
void rT244fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT244to_runnable(T244 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT244check_writable(C,a1);
rT244check_explicit_type(C);
rT244check_created_type(C,(C)->_type);
rT244check_creation_clause(C,(C)->_type);
R=(T0 *)C;
}
else {
{T244 *n=((T244*)se_new(244));
rT244make(n,(C)->_start_position,(C)->_type,(C)->_writable);
R=(T0 *)n;}
R=rT244to_runnable((T244*)R,a1);
}
/*FI*/return R;
}
void rT244error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT244add_comment(T244 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int rT244use_current(T244 *C){
int R=0;
R=XrT68use_current((C)->_writable);
return R;
}
void rT244compile_to_c(T244 *C){
rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position);
XrT68compile_to_c((C)->_writable);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1344);
rT43put_new((T43*)oRBC27cpp,(C)->_type);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1345);
rT43expanded_attributes((T43*)oRBC27cpp,NULL,(C)->_writable,(C)->_type);
rT244call_invariant(C,(C)->_type);
rT43rs_pop_position((T43*)oRBC27cpp);
}
void rT244call_invariant(T244 *C,T0* a1){
/*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) {
XrT58mapping_cast(a1);
XrT68compile_to_c((C)->_writable);
rT43call_invariant_end((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\73');
}
/*FI*/}
int rT244is_pre_computable(T244 *C){
int R=0;
T0* _args=NULL;
int _i=0;
R=XrT68is_result((C)->_writable);
return R;
}
void rT244check_creation_clause(T244 *C,T0* a1){
/*IF*/if (rT50has_creation_clause((T50*)XrT58base_class(a1))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1277);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1278);
rT244error((C)->_start_position,(T0 *)ms1279);
}
/*FI*/}
void rT244check_created_type(T244 *C,T0* a1){
T0* _rt=NULL;
_rt=XrT58run_type(a1);
/*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(_rt,(T0 *)ms1271);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT244fatal_error((T0 *)ms1272);
}
/*FI*//*IF*/if (XrT58is_expanded(_rt)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1273);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1274);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*//*IF*/if (XrT58is_formal_generic(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1275);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1276);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt));
}
void rT244check_explicit_type(T244 *C){
T0* _t=NULL;
_t=XrT58to_runnable((C)->_type,rT244current_type(C));
/*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT58start_position((C)->_type));
rT244fatal_error((T0 *)ms1280);
}
/*FI*//*IF*/if (!(XrT58is_a((C)->_type,XrT68result_type((C)->_writable)))) {
rT244fatal_error((T0 *)ms1281);
}
/*FI*/}
void rT244check_writable(T244 *C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=XrT68to_runnable((C)->_writable,rT244current_type(C));
/*IF*/if (!(_w)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_writable));
rT244fatal_error((T0 *)ms1270);
}
else {
C->_writable=_w;
}
/*FI*/}
void rT244make(T244 *C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_type=a2;
C->_writable=a3;
}
T0* rT241current_type(T241 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
void rT241fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT241to_runnable(T241 *C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
/*IF*/if (!((C)->_run_compound)) {
rT241check_writable(C,a1);
_t=XrT68result_type((C)->_writable);
rT241check_created_type(C,_t);
rT241check_creation_clause(C,_t);
R=(T0 *)C;
}
else {
{T241 *n=((T241*)se_new(241));
rT241make(n,(C)->_start_position,(C)->_writable);
R=(T0 *)n;}
R=rT241to_runnable((T241*)R,a1);
}
/*FI*/return R;
}
void rT241error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT241add_comment(T241 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int rT241use_current(T241 *C){
int R=0;
R=XrT68use_current((C)->_writable);
return R;
}
void rT241compile_to_c(T241 *C){
T0* _t=NULL;
rT43rs_push_position((T43*)oRBC27cpp,'5',(C)->_start_position);
_t=XrT58run_type(XrT68result_type((C)->_writable));
XrT68compile_to_c((C)->_writable);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1342);
rT43put_new((T43*)oRBC27cpp,_t);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1343);
rT43expanded_attributes((T43*)oRBC27cpp,NULL,(C)->_writable,_t);
rT241call_invariant(C,_t);
rT43rs_pop_position((T43*)oRBC27cpp);
}
void rT241call_invariant(T241 *C,T0* a1){
/*IF*/if (rT43call_invariant_start((T43*)oRBC27cpp,a1)) {
XrT58mapping_cast(a1);
XrT68compile_to_c((C)->_writable);
rT43call_invariant_end((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\73');
}
/*FI*/}
int rT241is_pre_computable(T241 *C){
int R=0;
T0* _args=NULL;
int _i=0;
R=XrT68is_result((C)->_writable);
return R;
}
void rT241check_creation_clause(T241 *C,T0* a1){
/*IF*/if (rT50has_creation_clause((T50*)XrT58base_class(a1))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1277);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1278);
rT241error((C)->_start_position,(T0 *)ms1279);
}
/*FI*/}
void rT241check_created_type(T241 *C,T0* a1){
T0* _rt=NULL;
_rt=XrT58run_type(a1);
/*IF*/if (((T50*)XrT58base_class(_rt))->_is_deferred) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(_rt,(T0 *)ms1271);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT241fatal_error((T0 *)ms1272);
}
/*FI*//*IF*/if (XrT58is_expanded(_rt)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1273);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1274);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*//*IF*/if (XrT58is_formal_generic(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1275);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1276);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*/rT261set_at_run_time((T261*)XrT58run_class(_rt));
}
void rT241check_writable(T241 *C,T0* a1){
T0* _w=NULL;
C->_run_compound=a1;
_w=XrT68to_runnable((C)->_writable,rT241current_type(C));
/*IF*/if (!(_w)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_writable));
rT241fatal_error((T0 *)ms1270);
}
else {
C->_writable=_w;
}
/*FI*/}
void rT241make(T241 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_writable=a2;
}
T0* rT216current_type(T216 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
T0* rT216to_runnable(T216 *C,T0* a1){
T0* R=NULL;
/*IF*/if (rT44boost((T44*)oRBC27eiffel_run_control)) {
C->_run_compound=a1;
R=(T0 *)C;
}
 else if (!((C)->_run_compound)) {
C->_run_compound=a1;
/*IF*/if (((int)(C)->_compound)) {
C->_compound=rT140to_runnable((T140*)(C)->_compound,rT216current_type(C));
}
/*FI*/R=(T0 *)C;
}
 else if (((T0 *)(C)->_run_compound)==((T0 *)a1)) {
R=(T0 *)C;
}
else {
{T216 *n=((T216*)se_new(216));
rT216make(n,(C)->_start_position,(C)->_list,(C)->_compound);
R=(T0 *)n;}
R=rT216to_runnable((T216*)R,a1);
}
/*FI*/return R;
}
T0* rT216add_comment(T216 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
 else {/*AT*//*IF*/if ((rT59count((T59*)a1))==(1)) {
R=(T0 *)C;
}
else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/}
/*FI*/return R;
}
int rT216use_current(T216 *C){
int R=0;
/*IF*/if (rT44all_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_compound)) {
R=rT140use_current((T140*)(C)->_compound);
}
/*FI*/}
/*FI*/return R;
}
void rT216compile_to_c(T216 *C){
/*IF*/if (rT44all_check((T44*)oRBC27eiffel_run_control)) {
/*IF*/if (((int)(C)->_compound)) {
rT140compile_to_c((T140*)(C)->_compound);
}
/*FI*/}
/*FI*/}
void rT216make(T216 *C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_list=a2;
C->_compound=a3;
}
void rT132fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT132start_position(T132 *C){
T0* R=NULL;
R=XrT67start_position(rT128item((T128*)(C)->_procedure_list,1));
return R;
}
T0* rT132expanded_initializer(T132 *C,T0* a1){
T0* R=NULL;
R=rT261get_feature((T261*)XrT58run_class(a1),rT128item((T128*)(C)->_procedure_list,1));
return R;
}
int rT132has(T132 *C,T0* a1){
int R=0;
R=rT128has((T128*)(C)->_procedure_list,a1);
return R;
}
void rT132check_expanded_with(T132 *C,T0* a1){
T0* _rf3=NULL;
T0* _rf=NULL;
/*IF*/if ((rT128count((T128*)(C)->_procedure_list))>(1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1440);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position(C));
/*(IRF3*/rT132fatal_error((T0 *)ms1439);
/*)*/}
/*FI*/_rf=rT261get_feature((T261*)XrT58run_class(a1),rT128item((T128*)(C)->_procedure_list,1));
/*IF*/if (!(_rf)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1441);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1442);
/*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh);
rT45do_print((T0 *)ms43);
rT45die_with_code(1);
/*)*/}
/*FI*/_rf3=_rf;
if ((int)_rf3) switch (((T0 *)_rf3)->id) {
case 267: 
break;
default:
_rf3 = NULL;
};/*IF*/if (!(_rf3)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT262start_position(_rf));
rT132fatal_error((T0 *)ms1443);
}
/*FI*//*IF*/if ((rT267arg_count((T267*)_rf3))>(0)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1444);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT267start_position((T267*)_rf3));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1445);
/*(IRF3*/rT132fatal_error((T0 *)ms1439);
/*)*/}
/*FI*/}
void rT132make(T132 *C,T0* a1,T0* a2,T0* a3){
C->_clients=a1;
C->_comment=a2;
{T128 *n=((T128*)se_new(128));
rT128make(n,a3);
C->_procedure_list=(T0 *)n;}
}
T0* rT133get_clause(T133 *C,T0* a1){
T0* R=NULL;
int _i=0;
_i=1;
while (!(((_i)>(((T134*)(C)->_list)->_upper))||(rT132has((T132*)rT134item((T134*)(C)->_list,_i),a1)))) {
_i=(_i)+(1);
}
/*IF*/if ((_i)<=(((T134*)(C)->_list)->_upper)) {
R=rT134item((T134*)(C)->_list,_i);
}
/*FI*/return R;
}
void rT133fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
void rT133add_last(T133 *C,T0* a1){
rT134add_last((T134*)(C)->_list,a1);
}
T0* rT133expanded_initializer(T133 *C,T0* a1){
T0* R=NULL;
R=rT132expanded_initializer((T132*)rT134item((T134*)(C)->_list,1),a1);
return R;
}
void rT133check_expanded_with(T133 *C,T0* a1){
/*IF*/if ((((T134*)(C)->_list)->_upper)>(1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(a1,(T0 *)ms1438);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position((T132*)rT134item((T134*)(C)->_list,1)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT132start_position((T132*)rT134item((T134*)(C)->_list,2)));
/*(IRF3*/rT133fatal_error((T0 *)ms1439);
/*)*/}
/*FI*/rT132check_expanded_with((T132*)rT134item((T134*)(C)->_list,1),a1);
}
T0* rT223to_runnable(T223 *C,T0* a1){
T0* R=NULL;
int _i=0;
int _ne=0;
/*IF*/if (((int)(C)->_run_compound)) {
{T223 *n=((T223*)se_new(223));
/*(IRF3*/((n)->_list)=(rT224twin((T224*)(C)->_list));
/*)*/R=(T0 *)n;}
R=rT223to_runnable((T223*)R,a1);
}
else {
C->_run_compound=a1;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
_i=1;
while (!((((_i)>(((T224*)(C)->_list)->_upper))||(((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))>(0))))) {
rT224put((T224*)(C)->_list,rT222to_runnable((T222*)rT224item((T224*)(C)->_list,_i),a1),_i);
_i=(_i)+(1);
}
R=(T0 *)C;
}
/*FI*/return R;
}
int rT223use_current(T223 *C){
int R=0;
int _i=0;
_i=1;
while (!(((_i)>(((T224*)(C)->_list)->_upper))||(R))) {
R=rT222use_current((T222*)rT224item((T224*)(C)->_list,_i));
_i=(_i)+(1);
}
return R;
}
void rT223add_last(T223 *C,T0* a1){
rT224add_last((T224*)(C)->_list,a1);
}
int rT223compile_to_c(T223 *C){
int R=0;
int _i=0;
int _previous=0;
int _state=0;
_i=1;
while (!((_state)==(2))) {
{int iv1=_state;
if (0 == iv1) goto l476;
goto l477;
 l476: ;
/*IF*/if ((_i)>(((T224*)(C)->_list)->_upper)) {
_state=2;
R=_previous;
}
else {
_previous=rT222compile_to_c((T222*)rT224item((T224*)(C)->_list,_i),0);
{int iv2=_previous;
if (1012 == iv2) goto l479;
goto l480;
 l479: ;
_state=1;
goto l478;
 l480: ;
if (1011 == iv2) goto l481;
goto l482;
 l481: ;
goto l478;
 l482: ;
if (1010 == iv2) goto l483;
goto l484;
 l483: ;
R=1010;
_state=2;
goto l478;
 l484: ;
 l478: ;
}
}
/*FI*/goto l475;
 l477: ;
/*IF*/if ((_i)>(((T224*)(C)->_list)->_upper)) {
_state=2;
{int iv2=_previous;
if (1010 == iv2) goto l486;
goto l487;
 l486: ;
R=1010;
goto l485;
 l487: ;
R=1012;
 l485: ;
}
}
else {
_previous=rT222compile_to_c((T222*)rT224item((T224*)(C)->_list,_i),1);
{int iv2=_previous;
if (1012 == iv2) goto l489;
goto l490;
 l489: ;
goto l488;
 l490: ;
if (1011 == iv2) goto l491;
goto l492;
 l491: ;
goto l488;
 l492: ;
if (1010 == iv2) goto l493;
goto l494;
 l493: ;
_state=2;
R=1010;
goto l488;
 l494: ;
 l488: ;
}
}
/*FI*/ l475: ;
}
_i=(_i)+(1);
}
return R;
}
T0* rT222current_type(T222 *C){
T0* R=NULL;
R=((T140*)(C)->_run_compound)->_current_type;
return R;
}
T0* rT222to_runnable(T222 *C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _tc=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
_e=XrT68to_runnable((C)->_expression,rT222current_type(C));
/*IF*/if (!(_e)) {
rT222error(XrT68start_position((C)->_expression),(T0 *)ms1256);
}
else {
C->_expression=_e;
_t=XrT68result_type((C)->_expression);
/*IF*/if (!(XrT58is_boolean(_t))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1257);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(XrT68result_type((C)->_expression),(T0 *)ms475);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT68start_position((C)->_expression));
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_then_compound)) {
_tc=rT140to_runnable((T140*)(C)->_then_compound,rT222current_type(C));
/*IF*/if (((int)_tc)) {
C->_then_compound=_tc;
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T222 *n=((T222*)se_new(222));
rT222make(n,(C)->_expression,(C)->_then_compound);
R=(T0 *)n;}
R=rT222to_runnable((T222*)R,a1);
}
/*FI*/return R;
}
void rT222error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT222print_else(/*C*/int a1){
/*IF*/if (a1) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1302);
}
/*FI*/}
int rT222use_current(T222 *C){
int R=0;
R=XrT68use_current((C)->_expression);
/*IF*/if ((!(R))&&(((int)(C)->_then_compound))) {
R=rT140use_current((T140*)(C)->_then_compound);
}
/*FI*/return R;
}
int rT222compile_to_c(T222 *C,int a1){
int R=0;
int _trace=0;
/*IF*/if (XrT68is_static((C)->_expression)) {
R=XrT68static_value((C)->_expression);
rT43incr_static_expression_count((T43*)oRBC27cpp);
/*IF*/if ((R)==(1)) {
rT222print_else(a1);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1303);
/*IF*/if (((int)(C)->_then_compound)) {
rT140compile_to_c((T140*)(C)->_then_compound);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1304);
R=1010;
}
else {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1305);
R=1011;
}
/*FI*/}
else {
R=1012;
_trace=(!(XrT68c_simple((C)->_expression)))&&(rT44no_check((T44*)oRBC27eiffel_run_control));
rT222print_else(a1);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1306);
/*IF*/if (_trace) {
rT43trace_boolean_expression((T43*)oRBC27cpp,(C)->_expression);
}
else {
XrT68compile_to_c((C)->_expression);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1308);
/*IF*/if (((int)(C)->_then_compound)) {
rT140compile_to_c((T140*)(C)->_then_compound);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1309);
}
/*FI*/return R;
}
void rT222make(T222 *C,T0* a1,T0* a2){
C->_expression=a1;
C->_then_compound=a2;
}
T0* rT219current_type(T219 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}

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