/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "compile_to_c.h"
void r31make(T31* C,T0* a1,T0* a2){
T0* _an2=NULL;
int _rank=0;
int _i=0;
T0* _tla2=NULL;
T0* _tla=NULL;
T0* _tlf=NULL;
T0* _an=NULL;
r31standard_make(C,a1,a2);
_i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
while (!((_i)==(0))) {
_an=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
_tlf=(((T873*)((T873*)_an)))->_result_type/*24*/;
if(NULL!=(_tlf))switch(((T0*)_tlf)->id) {
case 648: 
break;
default:
_tlf=NULL;
};/*IF*/if ((_tlf)!=((void*)(NULL))) {
_rank=r31rank_of(C,X776to_string((((T648*)((T648*)_tlf)))->_like_what/*12*/));
/*IF*/if ((_rank)==(_i)) {
r683add_position((((T648*)((T648*)_tlf)))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
 else if ((_rank)>(0)) {
{T886*n=malloc(sizeof(*n));
*n=M886;
r886refer_to(n,X776start_position((((T648*)((T648*)_tlf)))->_like_what/*12*/),(T0*)C,_rank);
_an2=(T0*)n;
}
{T239*n=malloc(sizeof(*n));
*n=M239;
r239make(n,(((T648*)((T648*)_tlf)))->_start_position/*4*/,_an2);
_tla=(T0*)n;
}
/*[IRF3.3set_result_type*/((((T873*)(((T873*)_an))))->_result_type)=(_tla);
/*]*/
}
/*FI*/}
/*FI*/_i=(_i)-(1);
}
/*IF*/if (r590all_check(((T590*)(oBC364run_control)))) {
_i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
while (!((_i)==(0))) {
_tla=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i)))))->_result_type/*24*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 239: 
break;
default:
_tla=NULL;
};/*IF*/if ((_tla)!=((void*)(NULL))) {
_rank=r31rank_of(C,(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_to_string/*12*/);
_tla2=(((T873*)((T873*)(r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_rank)))))->_result_type/*24*/;
if(NULL!=(_tla2))switch(((T0*)_tla2)->id) {
case 239: 
break;
default:
_tla2=NULL;
};/*IF*/if ((_tla2)!=((void*)(NULL))) {
r683add_position((((T239*)((T239*)_tla)))->_start_position/*4*/);
r683add_position((((T239*)((T239*)_tla2)))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/}
/*FI*/_i=(_i)-(1);
}
}
/*FI*/}
/*No:FORMAL_ARG_LIST.name*/
/*No:FORMAL_ARG_LIST.nb_errors*/
T0* r31type(T31* C,int a1){
T0* R=NULL;
R=(((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),a1)/*)*/))))->_result_type/*24*/;
return R;
}
void r31standard_make(T31* C,T0* a1,T0* a2){
int _actual_count=0;
int _il=0;
C->_start_position=a1;
C->_list=a2;
_il=1;
while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) {
_actual_count=(_actual_count)+(X411count(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il)));
_il=(_il)+(1);
}
{T65*n=malloc(sizeof(*n));
*n=M65;
r65make(n,1,_actual_count);
C->_flat_list=(T0*)n;
}
_il=1;
while (!((_il)>((((T382*)((T382*)((((T31*)C))->_list/*8*/))))->_upper/*8*/))) {
X411append_in(r382item(((T382*)((((T31*)C))->_list/*8*/)),_il),(T0*)C);
_il=(_il)+(1);
}
}
/*No:FORMAL_ARG_LIST.start_position*/
void r31compile_to_c_in(T31* C,T0* a1){
T0* _t=NULL;
int _i=0;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) {
_t=X291run_type(r31type(C,_i));
X291c_type_for_argument_in(_t,a1);
r7extend(((T7*)a1),'\40');
r7extend(((T7*)a1),'a');
r2append_in(_i,a1);
_i=(_i)+(1);
/*IF*/if ((_i)<=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r7extend(((T7*)a1),'\54');
}
/*FI*/}
}
void r31inline_one_pc(T31* C){
T0* _t=NULL;
int _i=0;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) {
_t=X291run_type(r31type(C,_i));
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC31tmp_string)))))->_count)=(0);
/*]*/
X291c_type_for_argument_in(_t,oBC31tmp_string);
r7extend(((T7*)(oBC31tmp_string)),'\40');
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC31tmp_string);
/*]*/
r324inline_level_incr(((T324*)(oBC364cpp)));
r324print_argument(((T324*)(oBC364cpp)),_i);
r324inline_level_decr(((T324*)(oBC364cpp)));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\75';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324put_ith_argument(((T324*)(oBC364cpp)),_i);
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
/*]*/
_i=(_i)+(1);
}
}
/*No:FORMAL_ARG_LIST.fz_00*/
T0* r31to_runnable(T31* C,T0* a1){
T0* R=NULL;
T0* _n2=NULL;
T0* _n1=NULL;
int _i=0;
/*IF*/if (((((T31*)C))->_current_type/*16*/)==((void*)(NULL))) {
C->_current_type=a1;
R=(T0*)C;
_i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
_n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
_n2=r873to_runnable(((T873*)_n1),a1);
/*IF*/if ((_n2)==((void*)(NULL))) {
r31error((((T873*)((T873*)_n1)))->_start_position/*16*/,((T0*)ms3_535));
}
 else if ((_n1)!=((void*)(_n2))) {
/*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
T0* b1=_n2;
int b2=_i;
((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
}/*]*/
}
/*FI*/r873name_clash(((T873*)_n2));
_i=(_i)-(1);
}
}
else {
{T31*n=malloc(sizeof(*n));
*n=M31;
r31runnable_from_current(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
/*No:FORMAL_ARG_LIST.em1*/
/*No:FORMAL_ARG_LIST.list*/
T0*oBC31tmp_string=NULL;
int r31rank_of(T31* C,T0* a1){
int R=0;
R=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/;
while (!(((R)==(0))||((a1)==((void*)((((T873*)((T873*)(/*(IRF4.6name*/r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),R)/*)*/))))->_to_string/*12*/))))) {
R=(R)-(1);
}
return R;
}
void r31external_prototype(T31* C,T0* a1){
T0* _t=NULL;
int _i=0;
_i=1;
while (!((_i)>(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/))) {
_t=X291run_type(r31type(C,_i));
X291c_type_for_external_in(_t,a1);
r7extend(((T7*)a1),'\40');
r7extend(((T7*)a1),'a');
r2append_in(_i,a1);
_i=(_i)+(1);
/*IF*/if ((_i)<=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r7extend(((T7*)a1),'\54');
}
/*FI*/}
}
/*No:FORMAL_ARG_LIST.current_type*/
int r31is_a_in(T31* C,T0* a1,T0* a2){
int R=0;
T0* _t2=NULL;
T0* _t1=NULL;
int _i=0;
/*IF*/if ((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(/*(IRF4.6count*/(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*//*)*/)) {
r683add_position((((T31*)((T31*)a1)))->_start_position/*4*/);
r31error((((T31*)C))->_start_position/*4*/,((T0*)ms8_31));
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=1;
_i=1;
while (!((!(R))||((_i)>((((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/)))) {
_t1=r31type(C,_i);
_t2=r31type(((T31*)a1),_i);
/*IF*/if (!(X291is_a_in(_t1,_t2,a2))) {
R=0;
r683print_as_error(((T683*)(oBC364eh)));
r683add_position(X291start_position(_t1));
r683add_position(X291start_position(_t2));
/*[IRF3.6append*/{T0* b1=((T0*)ms9_31);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)a2)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/return R;
}
/*No:FORMAL_ARG_LIST.fz_cad*/
/*No:FORMAL_ARG_LIST.fz_dot*/
void r31runnable_from_current(T31* C,T0* a1,T0* a2){
T0* _n2=NULL;
T0* _n1=NULL;
int _i=0;
C->_start_position=(((T31*)((T31*)a1)))->_start_position/*4*/;
C->_list=(((T31*)((T31*)a1)))->_list/*8*/;
C->_current_type=a2;
C->_flat_list=r65twin(((T65*)((((T31*)((T31*)a1)))->_flat_list/*12*/)));
_i=(((T65*)((T65*)((((T31*)C))->_flat_list/*12*/))))->_upper/*12*/;
while (!((_i)==(0))) {
_n1=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
_n2=r873to_runnable(((T873*)_n1),a2);
/*IF*/if ((_n2)==((void*)(NULL))) {
r31error((((T873*)((T873*)_n1)))->_start_position/*16*/,((T0*)ms3_535));
}
/*FI*//*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
T0* b1=_n2;
int b2=_i;
((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
}/*]*/
_i=(_i)-(1);
}
}
void r31add_last(T31* C,T0* a1){
T0* _n2=NULL;
int _i=0;
_i=1;
while (!((r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i))==((void*)(NULL)))) {
_n2=r65item(((T65*)((((T31*)C))->_flat_list/*12*/)),_i);
/*IF*/if (((((T873*)((T873*)_n2)))->_to_string/*12*/)==((void*)((((T873*)((T873*)a1)))->_to_string/*12*/))) {
r683add_position((((T873*)((T873*)a1)))->_start_position/*16*/);
r683add_position((((T873*)((T873*)_n2)))->_start_position/*16*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_535);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/_i=(_i)+(1);
}
/*[IRF3.6put*/{T65* C1=((T65*)((((T31*)C))->_flat_list/*12*/));
T0* b1=a1;
int b2=_i;
((((T65*)C1))->_storage/*4*/)[(b2)-((((T65*)C1))->_lower/*16*/)]=(b1);
}/*]*/
/*[IRF3.3set_rank*/((((T873*)(((T873*)a1))))->_rank)=(_i);
/*]*/
}
void r31error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:FORMAL_ARG_LIST.count*/
/*No:FORMAL_ARG_LIST.fatal_error*/
/*No:FORMAL_ARG_LIST.flat_list*/
int r33gives_permission_to_any(T33* C){
int R=0;
int _i=0;
_i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_to_string/*0*/)==((void*)(((T0*)ms1_473)));
_i=(_i)-(1);
}
return R;
}
void r33merge(T33* C,T0* a1,T0* a2){
T0* _a=NULL;
T0* _cn=NULL;
int _i=0;
C->_list=r901twin(((T901*)((((T33*)((T33*)a1)))->_list/*0*/)));
_a=(((T33*)((T33*)a2)))->_list/*0*/;
_i=(((T901*)((T901*)_a)))->_upper/*8*/;
while (!((_i)==(0))) {
_cn=r901item(((T901*)_a),_i);
/*IF*/if (!(r33gives_permission_to(C,_cn))) {
r901add_last(((T901*)((((T33*)C))->_list/*0*/)),_cn);
}
/*FI*/_i=(_i)-(1);
}
}
void r33make(T33* C,T0* a1){
int _i2=0;
int _i=0;
C->_list=a1;
_i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
while (!((_i)==(0))) {
_i2=r33index_of(C,r901item(((T901*)((((T33*)C))->_list/*0*/)),_i));
/*IF*/if ((_i2)!=(_i)) {
r683add_position((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i2)))))->_start_position/*4*/);
r33warning((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),_i)))))->_start_position/*4*/,((T0*)ms1_33));
}
/*FI*/_i=(_i)-(1);
}
}
int r33gives_permission_to(T33* C,T0* a1){
int R=0;
int _i=0;
/*IF*/if ((r33index_of(C,a1))>(0)) {
R=1;
}
else {
_i=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r451is_subclass_of(((T451*)a1),r901item(((T901*)((((T33*)C))->_list/*0*/)),_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*No:CLASS_NAME_LIST.list*/
int r33index_of(T33* C,T0* a1){
int R=0;
T0* _to_string=NULL;
_to_string=(((T451*)((T451*)a1)))->_to_string/*0*/;
R=(((T901*)((T901*)((((T33*)C))->_list/*0*/))))->_upper/*8*/;
while (!(((R)==(0))||((_to_string)==((void*)((((T451*)((T451*)(r901item(((T901*)((((T33*)C))->_list/*0*/)),R)))))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:CLASS_NAME_LIST.us_any*/
void r33warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}
int r963id(T963* C){
int R=0;
R=(((T355*)((T355*)(r963run_class(C)))))->_id/*4*/;
return R;
}
/*No:TYPE_BIT_REF.gc_set_unmarked_in*/
/*No:TYPE_BIT_REF.has_creation*/
/*No:TYPE_BIT_REF.is_anchored*/
/*No:TYPE_BIT_REF.is_array*/
/*No:TYPE_BIT_REF.fz_typedef*/
/*No:TYPE_BIT_REF.fz_else*/
int r963is_a(T963* C,T0* a1){
int R=0;
/*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) {
R=1;
}
else {
R=r605is_subclass_of(((T605*)(r963base_class(C))),X291base_class(a1));
/*IF*/if (!(R)) {
r683add_type((T0*)C,((T0*)ms71_470));
r683add_type(a1,((T0*)ms67_470));
}
/*FI*/}
/*FI*/return R;
}
void r963gcmt_max_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms55_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.fz_to_t*/
/*No:TYPE_BIT_REF.c_initialize_in*/
/*No:TYPE_BIT_REF.fz_gc_sweep*/
/*No:TYPE_BIT_REF.c_type_for_argument_in*/
void r963gc_call_new_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms115_470));
r2append_in(r963id(C),a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
int r963space_for_pointer(void){
int R=0;
void* _p=0;
R=sizeof(T8);
return R;
}
/*No:TYPE_BIT_REF.is_pointer*/
/*No:TYPE_BIT_REF.run_type*/
void r963gc_align_mark_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms58_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.is_dummy_expanded*/
void r963gcmt_used_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms56_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.is_string*/
/*No:TYPE_BIT_REF.space_for_variable*/
/*No:TYPE_BIT_REF.is_like_feature*/
/*No:TYPE_BIT_REF.fz_t0_star*/
/*No:TYPE_BIT_REF.is_like_current*/
void r963make(T963* C,T0* a1){
C->_type_bit=a1;
C->_run_time_mark=((T0*)ms1_963);
r2append_in(X609nb((((T963*)C))->_type_bit/*4*/),(((T963*)C))->_run_time_mark/*12*/);
r7append(((T7*)((((T963*)C))->_run_time_mark/*12*/)),((T0*)ms2_963));
C->_run_time_mark=r902item((((T963*)C))->_run_time_mark/*12*/);
C->_written_mark=(((T963*)C))->_run_time_mark/*12*/;
}
/*No:TYPE_BIT_REF.fz_gc*/
T0* r963type_any(void){
if (fBC364type_any==0){
T0* R=NULL;
fBC364type_any=1;
{T669*n=malloc(sizeof(*n));
*n=M669;
r669make(n,NULL);
R=(T0*)n;
}
oBC364type_any=R;}
return oBC364type_any;}
/*No:TYPE_BIT_REF.gc_if_marked_in*/
/*No:TYPE_BIT_REF.fz_gc_sweep_pool*/
/*No:TYPE_BIT_REF.start_position*/
void r963mapping_cast(T963* C){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC291tmp_string)),'\50');
r963c_type_for_target_in(C,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\51');
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
}
void r963c_type_for_target_in(T963* C,T0* a1){
r7extend(((T7*)a1),'T');
r2append_in(r963id(C),a1);
r7extend(((T7*)a1),'\52');
}
/*No:TYPE_BIT_REF.fz_printf*/
void r963gc_free_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms57_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.gc_set_marked_in*/
/*No:TYPE_BIT_REF.fz_gc_mark*/
/*No:TYPE_BIT_REF.fz_inako*/
void r963standard_gc_initialize(T963* C){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
r963gcmt_in(C,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291));
r963gcmt_max_in(C,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms150_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
}
/*No:TYPE_BIT_REF.gc_initialize*/
/*No:TYPE_BIT_REF.fz_00*/
/*No:TYPE_BIT_REF.is_character*/
/*No:TYPE_BIT_REF.is_user_expanded*/
/*No:TYPE_BIT_REF.written_mark*/
/*No:TYPE_BIT_REF.is_run_type*/
/*No:TYPE_BIT_REF.to_runnable*/
/*No:TYPE_BIT_REF.fz_c_if_eq_null*/
/*No:TYPE_BIT_REF.fz_10*/
void r963c_type_for_external_in(T0* a1){
/*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470));
r7extend(((T7*)a1),'\52');
}
/*FI*/}
T0* r963generic_list(T963* C){
T0* R=NULL;
r963fatal_error_generic_list(C);
return R;
}
/*No:TYPE_BIT_REF.is_formal_generic*/
/*No:TYPE_BIT_REF.fz_null*/
void r963demangling_in(T963* C,T0* a1){
/*IF*/{/*AT*/r7extend(((T7*)a1),'R');
}
/*FI*/r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),(((T963*)C))->_run_time_mark/*12*/);
}
/*No:TYPE_BIT_REF.is_real*/
void r963gc_info_nb_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms59_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.fz_14*/
/*No:TYPE_BIT_REF.is_bit*/
void r963fatal_error_generic_list(T963* C){
r683add_type((T0*)C,((T0*)ms12_291));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*No:TYPE_BIT_REF.fz_new*/
/*No:TYPE_BIT_REF.fz_c_void_args*/
T0* r963smallest_ancestor(T963* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T963*)C))->_run_time_mark/*12*/)==((void*)(X291run_time_mark(a1)))) {
R=(T0*)C;
}
else {
R=r963type_any();
}
/*FI*/return R;
}
/*No:TYPE_BIT_REF.fz_16*/
void r963standard_gc_info_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms119_470));
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\42');
r7append(((T7*)a1),(((T963*)C))->_run_time_mark/*12*/);
r7append(((T7*)a1),((T0*)ms144_470));
r963gc_info_nb_in(C,a1);
r7append(((T7*)a1),((T0*)ms148_470));
r7append(((T7*)a1),((T0*)ms119_470));
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\42');
r963gcmt_used_in(C,a1);
r7append(((T7*)a1),((T0*)ms144_470));
r963gcmt_used_in(C,a1);
r7append(((T7*)a1),((T0*)ms148_470));
r7append(((T7*)a1),((T0*)ms119_470));
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\42');
r963gcmt_max_in(C,a1);
r7append(((T7*)a1),((T0*)ms144_470));
r963gcmt_max_in(C,a1);
r7append(((T7*)a1),((T0*)ms148_470));
}
/*No:TYPE_BIT_REF.is_boolean*/
void r963standard_c_typedef(T963* C){
int _mem_id=0;
_mem_id=r963id(C);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
/*IF*/{/*AT*/r7append(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
r7extend(((T7*)(oBC291tmp_string)),'S');
r2append_in(_mem_id,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\40');
r7extend(((T7*)(oBC291tmp_string)),'T');
r2append_in(_mem_id,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
}
/*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
}
/*No:TYPE_BIT_REF.is_double*/
T0* r963run_class(T963* C){
T0* R=NULL;
R=r604run_class(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
return R;
}
void r963gcmt_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms54_291));
r2append_in(r963id(C),a1);
}
/*No:TYPE_BIT_REF.c_initialize*/
/*No:TYPE_BIT_REF.run_time_mark*/
void r963cast_to_ref(T963* C){
r963cast_to_ref(((T963*)(/*(IRF4.4run_type*/((T0*)(C))/*)*/)));
}
void r963gc_mark_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms107_470));
r2append_in(r963id(C),a1);
}
int r963is_a_in(T963* C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if (((((T963*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) {
R=1;
}
else {
_ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
_t1=/*(IRF4.4to_runnable*/((T0*)(C))/*)*/;
_t2=X291to_runnable(a1,_ct);
/*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
R=1;
}
else {
R=X291is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
T0* r963look_up_for(T963* C,T0* a1,T0* a2){
T0* R=NULL;
R=r605look_up_for(((T605*)(r963base_class(C))),a1,a2);
return R;
}
void r963c_header_pass1(T963* C){
r963standard_c_typedef(C);
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
r7extend(((T7*)(oBC291tmp_string)),'S');
r2append_in(r963id(C),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms3_963));
r2append_in(X609id((((T963*)C))->_type_bit/*4*/),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_963));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms5_963));
r2append_in(r963id(C),oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\50');
r7extend(((T7*)(oBC291tmp_string)),'T');
r2append_in(X609id((((T963*)C))->_type_bit/*4*/),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms6_963));
r324put_c_heading(((T324*)(oBC364cpp)),oBC291tmp_string);
/*[IRF3.3swap_on_c*/((((T324*)(((T324*)(oBC364cpp)))))->_current_out)=(oBC324out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC291tmp_string)),'T');
r2append_in(r963id(C),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms7_963));
r2append_in(r963id(C),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms8_963));
r2append_in(r963id(C),oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms9_963));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
r324swap_on_h(((T324*)(oBC364cpp)));
}
/*No:TYPE_BIT_REF.c_type_for_result_in*/
/*No:TYPE_BIT_REF.expanded_initializer*/
/*No:TYPE_BIT_REF.fz_int*/
void r963gc_declare_h_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms105_470));
r2append_in(r963id(C),a1);
r7append(((T7*)a1),((T0*)ms60_291));
r2append_in(r963id(C),a1);
r7append(((T7*)a1),((T0*)ms61_291));
}
void r963standard_gc_define1(T963* C){
int _rcid=0;
T0* _rc=NULL;
_rc=r963run_class(C);
_rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms131_470));
r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
r7extend(((T7*)(oBC291tmp_string)),'B');
r2append_in(_rcid,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\40');
r7append(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
r2append_in(_rcid,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
r7append(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
r7extend(((T7*)(oBC291tmp_string)),'B');
r2append_in(_rcid,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms13_291));
r2append_in(_rcid,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms14_291));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
r2append_in(_rcid,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\52');
r7extend(((T7*)(oBC291tmp_string)),'\52');
r963gcmt_in(C,oBC291tmp_string);
r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string);
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
r7extend(((T7*)(oBC291tmp_string)),'\40');
r963gcmt_used_in(C,oBC291tmp_string);
r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
r7extend(((T7*)(oBC291tmp_string)),'\40');
r963gcmt_max_in(C,oBC291tmp_string);
r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'8');
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms105_470));
r2append_in(_rcid,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\52');
r963gc_free_in(C,oBC291tmp_string);
r324put_extern5(((T324*)(oBC364cpp)),oBC291tmp_string,((T0*)ms117_470));
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
r7extend(((T7*)(oBC291tmp_string)),'\40');
r963gc_info_nb_in(C,oBC291tmp_string);
r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
}
/*FI*/}
/*No:TYPE_BIT_REF.fz_void*/
/*No:TYPE_BIT_REF.fz_dot*/
/*No:TYPE_BIT_REF.is_generic*/
/*No:TYPE_BIT_REF.used_as_reference*/
/*No:TYPE_BIT_REF.us_bit_n_ref*/
/*No:TYPE_BIT_REF.c_header_pass2*/
/*No:TYPE_BIT_REF.gc_define1*/
/*No:TYPE_BIT_REF.need_c_struct*/
/*No:TYPE_BIT_REF.type_bit*/
/*No:TYPE_BIT_REF.gc_info_in*/
/*No:TYPE_BIT_REF.is_reference*/
T0* r963base_class(T963* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r963base_class_name();
/*IF*/if ((_bcn)!=((void*)(NULL))) {
R=r451base_class(((T451*)_bcn));
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type((T0*)C,((T0*)ms67_470));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/return R;
}
/*No:TYPE_BIT_REF.call_gc_sweep_in*/
/*No:TYPE_BIT_REF.gc_define2*/
/*No:TYPE_BIT_REF.need_gc_mark_function*/
void r963standard_gc_define2(T963* C){
int _rcid=0;
T0* _rc=NULL;
_rc=r963run_class(C);
_rcid=(((T355*)((T355*)_rc)))->_id/*4*/;
r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
r7extend(((T7*)(oBC291header)),'\40');
r7append(((T7*)(oBC291header)),((T0*)ms109_470));
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\50');
r7append(((T7*)(oBC291header)),((T0*)ms105_470));
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7extend(((T7*)(oBC291header)),'b');
r7extend(((T7*)(oBC291header)),'\54');
r7append(((T7*)(oBC291header)),((T0*)ms105_470));
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7extend(((T7*)(oBC291header)),'h');
r7extend(((T7*)(oBC291header)),'\51');
r7copy(((T7*)(oBC291body)),((T0*)ms15_291));
/*[IRF3.6gc_if_marked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms64_291));
}/*]*/
/*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms63_291));
}/*]*/
r7extend(((T7*)(oBC291body)),'\175');
r7append(((T7*)(oBC291body)),((T0*)ms10_470));
r7extend(((T7*)(oBC291body)),'\n');
/*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms65_291));
}/*]*/
r7append(((T7*)(oBC291body)),((T0*)ms16_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms17_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms18_291));
/*IF*/{/*AT*/r7append(((T7*)(oBC291body)),((T0*)ms19_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms134_470));
}
/*FI*/r7append(((T7*)(oBC291body)),((T0*)ms20_291));
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
r7extend(((T7*)(oBC291header)),'\40');
r7append(((T7*)(oBC291header)),((T0*)ms108_470));
r2append_in(_rcid,oBC291header);
r7append(((T7*)(oBC291header)),((T0*)ms97_470));
r7copy(((T7*)(oBC291body)),((T0*)ms21_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms22_291));
r963gcmt_in(C,oBC291body);
r7extend(((T7*)(oBC291body)),'\53');
r963gcmt_used_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms23_291));
r963gcmt_used_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms24_291));
r7append(((T7*)(oBC291body)),((T0*)ms25_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms26_291));
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
r7extend(((T7*)(oBC291header)),'\40');
r963gc_mark_in(C,oBC291header);
r7extend(((T7*)(oBC291header)),'\50');
r7extend(((T7*)(oBC291header)),'T');
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7extend(((T7*)(oBC291header)),'o');
r7extend(((T7*)(oBC291header)),'\51');
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
/*]*/
r963gc_declare_h_in(C,oBC291body);
/*[IRF3.6gc_if_unmarked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms65_291));
}/*]*/
/*[IRF3.6gc_set_marked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms62_291));
}/*]*/
/*IF*/if (r355gc_mark_to_follow(((T355*)_rc))) {
r355gc_mark_in(((T355*)_rc),oBC291body);
}
/*FI*/r7extend(((T7*)(oBC291body)),'\175');
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
r7extend(((T7*)(oBC291header)),'\40');
r963gc_align_mark_in(C,oBC291header);
r7extend(((T7*)(oBC291header)),'\50');
r7extend(((T7*)(oBC291header)),'T');
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7extend(((T7*)(oBC291header)),'o');
r7extend(((T7*)(oBC291header)),'\54');
r7append(((T7*)(oBC291header)),((T0*)ms105_470));
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7extend(((T7*)(oBC291header)),'B');
r7extend(((T7*)(oBC291header)),'\51');
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291body)))))->_count)=(0);
/*]*/
r963gc_declare_h_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms27_291));
r963gc_mark_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms28_291));
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
r7copy(((T7*)(oBC291header)),((T0*)ms133_470));
r7extend(((T7*)(oBC291header)),'\40');
r7append(((T7*)(oBC291header)),((T0*)ms116_470));
r2append_in(_rcid,oBC291header);
r7append(((T7*)(oBC291header)),((T0*)ms97_470));
r7copy(((T7*)(oBC291body)),((T0*)ms29_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms30_291));
r963gcmt_used_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms31_291));
/*IF*/if (r355is_tagged(((T355*)_rc))) {
r7append(((T7*)(oBC291body)),((T0*)ms32_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms134_470));
}
/*FI*/r7append(((T7*)(oBC291body)),((T0*)ms33_291));
r963gcmt_max_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms34_291));
r963gcmt_max_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms35_291));
r963gcmt_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms36_291));
r963gcmt_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms37_291));
r963gcmt_max_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms38_291));
r963gcmt_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms39_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms40_291));
r7append(((T7*)(oBC291body)),((T0*)ms41_291));
r963gc_align_mark_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms42_291));
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291header)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC291header)),'T');
r2append_in(_rcid,oBC291header);
r7extend(((T7*)(oBC291header)),'\52');
r7append(((T7*)(oBC291header)),((T0*)ms115_470));
r2append_in(_rcid,oBC291header);
r7append(((T7*)(oBC291header)),((T0*)ms97_470));
r7copy(((T7*)(oBC291body)),((T0*)ms105_470));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms43_291));
/*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_info_flag/*4*/) {
r963gc_info_nb_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms44_291));
}
/*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms46_291));
r2append_in(r548threshold_start(_rcid),oBC291body);
r7extend(((T7*)(oBC291body)),'\74');
r963gcmt_used_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms47_291));
r7append(((T7*)(oBC291body)),((T0*)ms89_470));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms48_291));
r2append_in(_rcid,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms49_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms50_291));
r963gc_free_in(C,oBC291body);
r7append(((T7*)(oBC291body)),((T0*)ms51_291));
/*[IRF3.6gc_set_unmarked_in*/{T0* b1=oBC291body;
r7append(((T7*)b1),((T0*)ms63_291));
}/*]*/
r7append(((T7*)(oBC291body)),((T0*)ms52_291));
r324put_c_function(((T324*)(oBC364cpp)),oBC291header,oBC291body);
}
/*No:TYPE_BIT_REF.is_any*/
void r963to_reference(T963* C){
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms130_470));
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),r963id(C));
/*]*/
}
/*No:TYPE_BIT_REF.c_header_pass3*/
/*No:TYPE_BIT_REF.fz_new_pool*/
int fBC963base_class_name=0;
T0*oBC963base_class_name=NULL;
T0* r963base_class_name(void){
if (fBC963base_class_name==0){
T0* R=NULL;
fBC963base_class_name=1;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms5_473),NULL);
R=(T0*)n;
}
oBC963base_class_name=R;}
return oBC963base_class_name;}
/*No:TYPE_BIT_REF.is_expanded*/
void r963standard_call_gc_sweep_in(T963* C,T0* a1){
r7append(((T7*)a1),((T0*)ms108_470));
r2append_in(r963id(C),a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
r7append(((T7*)a1),((T0*)ms134_470));
}
/*No:TYPE_BIT_REF.gc_if_unmarked_in*/
/*No:TYPE_BIT_REF.is_basic_eiffel_expanded*/
/*No:TYPE_BIT_REF.is_none*/
/*No:TYPE_BIT_REF.to_expanded*/
/*No:TYPE_BIT_REF.is_integer*/
/*No:TYPE_BIT_REF.c_header_pass4*/
/*No:TYPE_BIT_REF.fz_struct*/
/*No:TYPE_BOOLEAN.id*/
int r707has_creation(T707* C,T0* a1){
int R=0;
r683add_position(X776start_position(a1));
r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
return R;
}
/*No:TYPE_BOOLEAN.is_anchored*/
/*No:TYPE_BOOLEAN.is_array*/
/*No:TYPE_BOOLEAN.fz_typedef*/
int r707is_a(T707* C,T0* a1){
int R=0;
/*IF*/if (X291is_boolean(a1)) {
R=1;
}
else {
R=r605is_subclass_of(((T605*)(r707base_class(C))),X291base_class(a1));
/*IF*/if (R) {
r707used_as_reference();
}
/*FI*/}
/*FI*//*IF*/if (!(R)) {
r683add_type((T0*)C,((T0*)ms71_470));
r683add_type(a1,((T0*)ms67_470));
}
/*FI*/return R;
}
/*No:TYPE_BOOLEAN.c_initialize_in*/
/*No:TYPE_BOOLEAN.c_type_for_argument_in*/
void r707gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms115_470));
r2append_in(6,a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_BOOLEAN.run_type*/
/*No:TYPE_BOOLEAN.is_pointer*/
/*No:TYPE_BOOLEAN.is_dummy_expanded*/
/*No:TYPE_BOOLEAN.is_string*/
int r707space_for_variable(void){
int R=0;
R=sizeof(T6);
return R;
}
/*No:TYPE_BOOLEAN.is_like_feature*/
/*No:TYPE_BOOLEAN.is_like_current*/
void r707make(T707* C,T0* a1){
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms6_473),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_BOOLEAN.nb_errors*/
/*No:TYPE_BOOLEAN.us_item*/
void r707load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,a1,NULL);
_cn=(T0*)n;
}
_rc=r605run_class(((T605*)(r451base_class(((T451*)_cn)))));
r355set_at_run_time(((T355*)_rc));
_rf=r355get_feature_with(((T355*)_rc),((T0*)ms86_473));
}
int fBC707check_type=0;
void r707check_type(T707* C){
if (fBC707check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC707check_type=1;
_bc=r707base_class(C);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_rc=r707run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
r707error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T707*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_707));
}
/*FI*/}
/*FI*/}}
/*No:TYPE_BOOLEAN.mapping_cast*/
/*No:TYPE_BOOLEAN.start_position*/
/*No:TYPE_BOOLEAN.c_type_for_target_in*/
/*No:TYPE_BOOLEAN.fz_gc_mark*/
/*No:TYPE_BOOLEAN.fz_inako*/
/*No:TYPE_BOOLEAN.gc_initialize*/
/*No:TYPE_BOOLEAN.fz_00*/
/*No:TYPE_BOOLEAN.is_character*/
/*No:TYPE_BOOLEAN.is_user_expanded*/
T0* r707written_mark(void){
T0* R=NULL;
R=((T0*)ms6_473);
return R;
}
/*No:TYPE_BOOLEAN.is_run_type*/
T0* r707to_runnable(T707* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r707check_type(C);
return R;
}
void r707c_type_for_external_in(T0* a1){
/*IF*//*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
/*[IRF3.6c_type_for_argument_in*/{T0* c1=b1;
r7append(((T7*)c1),((T0*)ms111_470));
}/*]*/
}/*]*/
/*FI*/}
T0* r707generic_list(T707* C){
T0* R=NULL;
r707fatal_error_generic_list(C);
return R;
}
/*No:TYPE_BOOLEAN.is_formal_generic*/
void r707demangling_in(T0* a1){
/*IF*//*AF*//*AE*/
r7extend(((T7*)a1),'E');
/*FI*/r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),r707run_time_mark());
}
/*No:TYPE_BOOLEAN.is_real*/
/*No:TYPE_BOOLEAN.is_bit*/
void r707fatal_error_generic_list(T707* C){
r683add_type((T0*)C,((T0*)ms12_291));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
int fBC364type_boolean_ref=0;
T0*oBC364type_boolean_ref=NULL;
T0* r707type_boolean_ref(void){
if (fBC364type_boolean_ref==0){
T0* R=NULL;
T0* _boolean_ref=NULL;
fBC364type_boolean_ref=1;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms7_473),NULL);
_boolean_ref=(T0*)n;
}
{T657*n=malloc(sizeof(*n));
*n=M657;
/*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_boolean_ref);
/*]*/
R=(T0*)n;
}
oBC364type_boolean_ref=R;}
return oBC364type_boolean_ref;}
/*No:TYPE_BOOLEAN.fz_new*/
T0* r707smallest_ancestor(T707* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X291run_type(a1);
/*IF*/if (X291is_boolean(_rto)) {
R=(T0*)C;
}
else {
R=r657smallest_ancestor(((T657*)(r707type_boolean_ref())),_rto);
}
/*FI*/return R;
}
/*No:TYPE_BOOLEAN.is_boolean*/
/*No:TYPE_BOOLEAN.is_double*/
T0* r707run_class(T707* C){
T0* R=NULL;
R=r604run_class((T0*)C);
return R;
}
T0* r707run_time_mark(void){
T0* R=NULL;
R=((T0*)ms6_473);
return R;
}
/*No:TYPE_BOOLEAN.c_initialize*/
/*No:TYPE_BOOLEAN.cast_to_ref*/
void r707gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms107_470));
r2append_in(6,a1);
}
int r707is_a_in(T707* C,T0* a1,T0* a2){
int R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*IF*/if ((r707written_mark())==((void*)(X291written_mark(a1)))) {
R=1;
}
else {
_ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
_t1=r707to_runnable(C,_ct);
_t2=X291to_runnable(a1,_ct);
/*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
R=1;
}
else {
R=X291is_a(_t1,_t2);
}
/*FI*/}
/*FI*/return R;
}
T0* r707look_up_for(T707* C,T0* a1,T0* a2){
T0* R=NULL;
R=r605look_up_for(((T605*)(r707base_class(C))),a1,a2);
return R;
}
/*No:TYPE_BOOLEAN.c_header_pass1*/
/*No:TYPE_BOOLEAN.c_type_for_result_in*/
/*No:TYPE_BOOLEAN.us_boolean*/
/*No:TYPE_BOOLEAN.expanded_initializer*/
/*No:TYPE_BOOLEAN.fz_int*/
/*No:TYPE_BOOLEAN.fz_void*/
/*No:TYPE_BOOLEAN.fz_dot*/
/*No:TYPE_BOOLEAN.is_generic*/
int fBC707used_as_reference=0;
void r707used_as_reference(void){
if (fBC707used_as_reference==0){
fBC707used_as_reference=1;
r707load_ref(((T0*)ms7_473));
}}
/*No:TYPE_BOOLEAN.c_header_pass2*/
/*No:TYPE_BOOLEAN.gc_define1*/
/*No:TYPE_BOOLEAN.need_c_struct*/
/*No:TYPE_BOOLEAN.is_reference*/
/*No:TYPE_BOOLEAN.gc_info_in*/
void r707error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
T0* r707base_class(T707* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(((T707*)C))->_base_class_name/*4*/;
/*IF*/if ((_bcn)!=((void*)(NULL))) {
R=r451base_class(((T451*)_bcn));
}
else {
/*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683add_type((T0*)C,((T0*)ms67_470));
r683print_as_fatal_error(((T683*)(oBC364eh)));
}
/*FI*/return R;
}
/*No:TYPE_BOOLEAN.call_gc_sweep_in*/
/*No:TYPE_BOOLEAN.gc_define2*/
/*No:TYPE_BOOLEAN.need_gc_mark_function*/
/*No:TYPE_BOOLEAN.is_any*/
/*No:TYPE_BOOLEAN.to_reference*/
/*No:TYPE_BOOLEAN.c_header_pass3*/
/*No:TYPE_BOOLEAN.us_boolean_ref*/
/*No:TYPE_BOOLEAN.base_class_name*/
/*No:TYPE_BOOLEAN.is_expanded*/
/*No:TYPE_BOOLEAN.is_basic_eiffel_expanded*/
/*No:TYPE_BOOLEAN.is_none*/
/*No:TYPE_BOOLEAN.to_expanded*/
/*No:TYPE_BOOLEAN.is_integer*/
/*No:TYPE_BOOLEAN.c_header_pass4*/
/*No:COUNTER.value*/
void r417increment(T417* C){
C->_value=((((T417*)C))->_value/*0*/)+(1);
}
/*No:IFTHENLIST.static_false*/
/*No:IFTHENLIST.make*/
/*No:IFTHENLIST.nb_errors*/
/*No:IFTHENLIST.static_true*/
int r712compile_to_c(T712* C){
int R=0;
int _i=0;
int _previous=0;
int _state=0;
_i=1;
while (!((_state)==(2))) {
{int z1=_state;

if((0==z1)){
/*IF*/if ((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/)) {
_state=2;
R=_previous;
}
else {
_previous=r809compile_to_c(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),0);
{int z2=_previous;

if((1018==z2)){
_state=1;
}
 else 
if((1017==z2)){
}
 else {R=1016;
_state=2;
}}
}
/*FI*/}
 else{/*IF*/if ((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/)) {
_state=2;
{int z2=_previous;

if((1016==z2)){
R=1016;
}
 else{R=1018;
}}
}
else {
_previous=r809compile_to_c(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),1);
{int z2=_previous;

if((1018==z2)){
}
 else 
if((1017==z2)){
}
 else {_state=2;
R=1016;
}}
}
/*FI*/}}
_i=(_i)+(1);
}
return R;
}
T0* r712to_runnable(T712* C,T0* a1){
T0* R=NULL;
int _i=0;
/*IF*/if (((((T712*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
{T712*n=malloc(sizeof(*n));
*n=M712;
/*[IRF3.3make*/((((T712*)(n)))->_list)=(r948twin(((T948*)((((T712*)C))->_list/*0*/))));
/*]*/
R=(T0*)n;
}
R=r712to_runnable(((T712*)R),a1);
}
else {
C->_run_compound=a1;
_i=1;
while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
/*[IRF3.6put*/{T948* C1=((T948*)((((T712*)C))->_list/*0*/));
T0* b1=r809to_runnable(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))),a1);
int b2=_i;
((((T948*)C1))->_storage/*0*/)[(b2)-((((T948*)C1))->_lower/*12*/)]=(b1);
}/*]*/
_i=(_i)+(1);
}
R=(T0*)C;
}
/*FI*/return R;
}
/*No:IFTHENLIST.list*/
/*No:IFTHENLIST.run_compound*/
/*No:IFTHENLIST.non_static*/
int r712use_current(T712* C){
int R=0;
int _i=0;
_i=1;
while (!(((_i)>((((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/))||(R))) {
R=r809use_current(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))));
_i=(_i)+(1);
}
return R;
}
/*No:IFTHENLIST.add_last*/
void r712afd_check(T712* C){
int _i=0;
_i=(((T948*)((T948*)((((T712*)C))->_list/*0*/))))->_upper/*8*/;
while (!((_i)==(0))) {
r809afd_check(((T809*)(r948item(((T948*)((((T712*)C))->_list/*0*/)),_i))));
_i=(_i)-(1);
}
}
/*No:CALL_INFIX_XOR.arguments*/
T0* r760add_comment(T760* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r760to_integer(T760* C){
int R=0;
r760error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
return R;
}
int r760is_a(T760* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T760*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
r760error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_INFIX_XOR.is_current*/
void r760mapping_c_arg(T760* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X291run_type((((T760*)C))->_result_type/*20*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
/*FI*/}
/*FI*/}
/*FI*/}
/*No:CALL_INFIX_XOR.static_value*/
void r760make(T760* C,T0* a1,T0* a2,T0* a3){
T0* _eal=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
r683add_position(a2);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,r760operator(),a2);
C->_feature_name=(T0*)n;
}
{T431*n=malloc(sizeof(*n));
*n=M431;
/*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
/*]*/
_eal=(T0*)n;
}
r760make_call_1(C,a1,(((T760*)C))->_feature_name/*28*/,_eal);
}
void r760mapping_c_target(T760* C,T0* a1){
T0* _actual_type=NULL;
int _flag=0;
_flag=r324call_invariant_start(a1);
_actual_type=X291run_type((((T760*)C))->_result_type/*20*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T760* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:CALL_INFIX_XOR.nb_errors*/
/*No:CALL_INFIX_XOR.feature_name*/
/*No:CALL_INFIX_XOR.fz_iinaiv*/
/*No:CALL_INFIX_XOR.arg_count*/
/*No:CALL_INFIX_XOR.dca_inline_argument*/
/*No:CALL_INFIX_XOR.run_feature*/
/*No:CALL_INFIX_XOR.call_proc_call_c2c*/
/*No:CALL_INFIX_XOR.start_position*/
/*No:CALL_INFIX_XOR.target*/
/*No:CALL_INFIX_XOR.compile_to_c*/
/*No:CALL_INFIX_XOR.c_simple*/
T0* r760to_runnable(T760* C,T0* a1){
T0* R=NULL;
T0* _tla=NULL;
T0* _a=NULL;
/*IF*/if (((((T760*)C))->_current_type/*8*/)==((void*)(NULL))) {
r760to_runnable_0(C,a1);
_a=X431to_runnable((((T760*)C))->_arguments/*24*/,a1);
/*IF*/if ((_a)==((void*)(NULL))) {
r760error(X662start_position(r760arg1(C)),((T0*)ms55_470));
}
else {
C->_arguments=_a;
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
X431match_with((((T760*)C))->_arguments/*24*/,(((T760*)C))->_run_feature/*16*/);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_tla=(((T760*)C))->_result_type/*20*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 239: 
break;
default:
_tla=NULL;
};/*IF*/if ((_tla)!=((void*)(NULL))) {
C->_result_type=X291run_type(X662result_type(r760arg1(C)));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r760twin(C);
/*[IRF3.3set_current_type*/((((T760*)(((T760*)R))))->_current_type)=(NULL);
/*]*/
R=r760to_runnable(((T760*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_INFIX_XOR.result_type*/
/*No:CALL_INFIX_XOR.is_result*/
T0* r760twin(T760* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T760*)R)=*C;
return R;
}
/*No:CALL_INFIX_XOR.set_current_type*/
T0* r760operator(void){
T0* R=NULL;
R=((T0*)ms50_473);
return R;
}
int r760is_static(T760* C){
int R=0;
/*IF*/if (X291is_boolean(X662result_type((((T760*)C))->_target/*12*/))) {
/*IF*/if ((X662is_static((((T760*)C))->_target/*12*/))&&(X662is_static(r760arg1(C)))) {
R=1;
C->_static_value_mem=(X662static_value((((T760*)C))->_target/*12*/))+(X662static_value(r760arg1(C)));
/*IF*/if (((((T760*)C))->_static_value_mem/*4*/)==(1)) {
C->_static_value_mem=1;
}
else {
C->_static_value_mem=0;
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*No:CALL_INFIX_XOR.fz_07*/
/*No:CALL_INFIX_XOR.can_be_dropped*/
/*No:CALL_INFIX_XOR.current_type*/
void r760compile_to_c_old(T760* C){
X662compile_to_c_old((((T760*)C))->_target/*12*/);
/*IF*/{/*AT*/X431compile_to_c_old((((T760*)C))->_arguments/*24*/);
}
/*FI*/}
/*No:CALL_INFIX_XOR.static_value_mem*/
void r760make_call_1(T760* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_INFIX_XOR.is_manifest_string*/
/*No:CALL_INFIX_XOR.is_void*/
/*No:CALL_INFIX_XOR.us_xor*/
void r760to_runnable_0(T760* C,T0* a1){
C->_current_type=a1;
r760cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T760*)C))->_run_feature/*16*/))))->_result_type/*24*/);
/*IF*/if (((((T760*)C))->_result_type/*20*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T760*)C))->_run_feature/*16*/));
r760error((((T454*)((T454*)((((T760*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
}
 else if (X291is_like_current((((T760*)C))->_result_type/*20*/)) {
C->_result_type=X662result_type((((T760*)C))->_target/*12*/);
}
/*FI*/}
/*No:CALL_INFIX_XOR.is_pre_computable*/
void r760cpc_to_runnable(T760* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T760*)C))->_target/*12*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T760*)C))->_target/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T760*)C))->_target/*12*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T760*)C))->_target/*12*/,(((T760*)C))->_run_feature/*16*/);
}
int r760use_current(T760* C){
int R=0;
/*IF*/{/*AT*/R=X431use_current((((T760*)C))->_arguments/*24*/);
}
/*FI*//*IF*/if (R) {
}
 else if (X662is_current((((T760*)C))->_target/*12*/)) {
R=X496use_current((((T760*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T760*)C))->_target/*12*/);
}
/*FI*/return R;
}
void r760finalize(T760* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(((T760*)C))->_run_feature/*16*/;
_rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
/*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
_rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
C->_run_feature=_rf;
}
/*FI*/}
void r760error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_INFIX_XOR.isa_dca_inline_argument*/
/*No:CALL_INFIX_XOR.fatal_error*/
/*No:CALL_INFIX_XOR.fz_bad_argument*/
T0* r760arg1(T760* C){
T0* R=NULL;
R=X431first((((T760*)C))->_arguments/*24*/);
return R;
}
void r760afd_check(T760* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T760*)C))->_target/*12*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T760*)C))->_target/*12*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
 else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T760*)C))->_target/*12*/,(((T760*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T760*)C))->_target/*12*/);
/*IF*/{/*AT*/X431afd_check((((T760*)C))->_arguments/*24*/);
}
/*FI*/}
T0* r716add_comment(T716* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r716to_integer(T716* C){
int R=0;
r716error((((T716*)C))->_start_position/*20*/,((T0*)ms69_470));
return R;
}
int r716is_a(T716* C,T0* a1){
int R=0;
R=X291is_a(X291run_type(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position((((T716*)C))->_start_position/*20*/);
r716error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CECIL_TARGET.is_current*/
void r716mapping_c_arg(T716* C,T0* a1){
T0* _rt=NULL;
_rt=X291run_type(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/);
/*IF*/if (X291is_reference(_rt)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms85_470));
/*]*/
r324print_current(((T324*)(oBC364cpp)));
}
else {
X291to_expanded(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324print_current(((T324*)(oBC364cpp)));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_rt);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
r324print_current(((T324*)(oBC364cpp)));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
r324print_current(((T324*)(oBC364cpp)));
}
/*FI*/}
/*FI*/}
/*No:CECIL_TARGET.static_value*/
/*No:CECIL_TARGET.is_written*/
void r716make(T716* C,T0* a1){
r716super_make(C,X496start_position(a1),0);
C->_current_type=/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/);
}
void r716mapping_c_target(T716* C,T0* a1){
int _flag=0;
/*IF*/if ((((T716*)C))->_is_written/*16*/) {
_flag=r324call_invariant_start(a1);
}
/*FI*/r324print_current(((T324*)(oBC364cpp)));
/*IF*/if (_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:CECIL_TARGET.us_current*/
/*No:CECIL_TARGET.to_string*/
/*No:CECIL_TARGET.fz_iinaiv*/
/*No:CECIL_TARGET.dca_inline_argument*/
/*No:CECIL_TARGET.start_position*/
void r716compile_to_c(T716* C){
/*IF*/if (X291is_user_expanded(/*(IRF4.3result_type*/(((T716*)C))->_current_type/*8*//*)*/)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/r324print_current(((T324*)(oBC364cpp)));
}
/*No:CECIL_TARGET.c_simple*/
T0* r716to_runnable(T716* C,T0* a1){
T0* R=NULL;
/*IF*/if (((((T716*)C))->_current_type/*8*/)==((void*)(NULL))) {
C->_current_type=a1;
R=(T0*)C;
}
 else if (((((T716*)C))->_current_type/*8*/)==((void*)(a1))) {
R=(T0*)C;
}
else {
{T716*n=malloc(sizeof(*n));
*n=M716;
r716super_make(n,(((T716*)C))->_start_position/*20*/,(((T716*)C))->_is_written/*16*/);
R=(T0*)n;
}
/*[IRF3.3set_current_type*/((((T716*)(((T716*)R))))->_current_type)=(a1);
/*]*/
}
/*FI*/return R;
}
/*No:CECIL_TARGET.result_type*/
/*No:CECIL_TARGET.is_result*/
/*No:CECIL_TARGET.set_current_type*/
/*No:CECIL_TARGET.is_static*/
/*No:CECIL_TARGET.can_be_dropped*/
/*No:CECIL_TARGET.current_type*/
/*No:CECIL_TARGET.compile_to_c_old*/
/*No:CECIL_TARGET.static_value_mem*/
void r716super_make(T716* C,T0* a1,int a2){
C->_start_position=a1;
C->_is_written=a2;
C->_to_string=((T0*)ms143_473);
}
/*No:CECIL_TARGET.is_manifest_string*/
/*No:CECIL_TARGET.is_void*/
/*No:CECIL_TARGET.is_pre_computable*/
/*No:CECIL_TARGET.fz_cast_t0_star*/
/*No:CECIL_TARGET.use_current*/
void r716error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CECIL_TARGET.isa_dca_inline_argument*/
/*No:CECIL_TARGET.afd_check*/
int r669id(T669* C){
int R=0;
R=(((T605*)((T605*)(r669base_class(C)))))->_id/*0*/;
return R;
}
/*No:TYPE_ANY.gc_set_unmarked_in*/
int r669has_creation(T669* C,T0* a1){
int R=0;
r683add_position(X776start_position(a1));
r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_669));
return R;
}
/*No:TYPE_ANY.is_anchored*/
/*No:TYPE_ANY.is_array*/
/*No:TYPE_ANY.fz_typedef*/
/*No:TYPE_ANY.fz_else*/
int r669is_a(T669* C,T0* a1){
int R=0;
/*IF*/if (X291is_any(a1)) {
R=1;
}
else {
R=r605is_subclass_of(((T605*)(r669base_class(C))),X291base_class(a1));
}
/*FI*//*IF*/if (!(R)) {
r683add_type((T0*)C,((T0*)ms71_470));
r683add_type(a1,((T0*)ms67_470));
}
/*FI*/return R;
}
void r669gcmt_max_in(T669* C,T0* a1){
r7append(((T7*)a1),((T0*)ms55_291));
r2append_in(r669id(C),a1);
}
/*No:TYPE_ANY.c_initialize_in*/
/*No:TYPE_ANY.fz_gc_sweep*/
/*No:TYPE_ANY.c_type_for_argument_in*/
void r669gc_call_new_in(T669* C,T0* a1){
r7append(((T7*)a1),((T0*)ms115_470));
r2append_in(r669id(C),a1);
r7extend(((T7*)a1),'\50');
r7extend(((T7*)a1),'\51');
}
/*No:TYPE_ANY.fz_se_cmpt*/
int r669space_for_pointer(void){
int R=0;
void* _p=0;
R=sizeof(T8);
return R;
}
/*No:TYPE_ANY.run_type*/
/*No:TYPE_ANY.is_pointer*/
void r669gc_align_mark_in(T669* C,T0* a1){
r7append(((T7*)a1),((T0*)ms58_291));
r2append_in(r669id(C),a1);
}
/*No:TYPE_ANY.is_dummy_expanded*/
void r669gcmt_used_in(T669* C,T0* a1){
r7append(((T7*)a1),((T0*)ms56_291));
r2append_in(r669id(C),a1);
}
/*No:TYPE_ANY.is_string*/
/*No:TYPE_ANY.space_for_variable*/
void r669standard_c_struct(T669* C){
T0* _t=NULL;
T0* _a=NULL;
int _mem_id=0;
int _i=0;
T0* _wa=NULL;
_mem_id=r669id(C);
_wa=r355writable_attributes(((T355*)(r669run_class(C))));
r7copy(((T7*)(oBC291tmp_string)),((T0*)ms125_470));
r7extend(((T7*)(oBC291tmp_string)),'S');
r2append_in(_mem_id,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\173');
/*IF*/{/*AT*//*IF*/if (r355is_tagged(((T355*)(r669run_class(C))))) {
r7append(((T7*)(oBC291tmp_string)),((T0*)ms4_291));
}
/*FI*/}
/*FI*//*IF*/if ((_wa)!=((void*)(NULL))) {
_i=(((T280*)((T280*)_wa)))->_upper/*12*/;
while (!((_i)==(0))) {
_a=r280item(((T280*)_wa),_i);
_t=X291run_type((((T820*)((T820*)_a)))->_result_type/*24*/);
X291c_type_for_result_in(_t,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\40');
r7extend(((T7*)(oBC291tmp_string)),'\137');
r7append(((T7*)(oBC291tmp_string)),X776to_string((((T820*)((T820*)_a)))->_name/*16*/));
r7extend(((T7*)(oBC291tmp_string)),'\73');
_i=(_i)-(1);
}
}
/*FI*/r7extend(((T7*)(oBC291tmp_string)),'\175');
r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
/*IF*//*AF*//*AE*/
/*FI*/}
/*No:TYPE_ANY.is_like_feature*/
/*No:TYPE_ANY.fz_t0_star*/
/*No:TYPE_ANY.is_like_current*/
void r669make(T669* C,T0* a1){
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,((T0*)ms1_473),a1);
C->_base_class_name=(T0*)n;
}
}
/*No:TYPE_ANY.nb_errors*/
/*No:TYPE_ANY.fz_gc*/
/*No:TYPE_ANY.gc_if_marked_in*/
/*No:TYPE_ANY.fz_gc_sweep_pool*/
int fBC669check_type=0;
void r669check_type(T669* C){
if (fBC669check_type==0){
T0* _rc=NULL;
T0* _bc=NULL;
fBC669check_type=1;
_bc=r669base_class(C);
/*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_rc=r669run_class(C);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
/*IF*/if ((((T605*)((T605*)_bc)))->_is_expanded/*20*/) {
r669error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T669*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms2_669));
}
/*FI*/}
/*FI*/}}
void r669mapping_cast(T669* C){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
r7extend(((T7*)(oBC291tmp_string)),'\50');
r669c_type_for_target_in(C,oBC291tmp_string);
r7extend(((T7*)(oBC291tmp_string)),'\51');
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
}
/*No:TYPE_ANY.start_position*/
void r669c_type_for_target_in(T669* C,T0* a1){
r7extend(((T7*)a1),'T');
r2append_in(r669id(C),a1);
r7extend(((T7*)a1),'\52');
}
/*No:TYPE_ANY.fz_printf*/
void r669gc_free_in(T669* C,T0* a1){
r7append(((T7*)a1),((T0*)ms57_291));
r2append_in(r669id(C),a1);
}
/*No:TYPE_ANY.gc_set_marked_in*/
/*No:TYPE_ANY.fz_gc_mark*/
/*No:TYPE_ANY.fz_inako*/
void r669standard_gc_initialize(T669* C){
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
/*]*/
r669gcmt_in(C,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291));
r669gcmt_max_in(C,oBC291tmp_string);
r7append(((T7*)(oBC291tmp_string)),((T0*)ms150_470));
/*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
/*]*/
}
/*No:TYPE_ANY.gc_initialize*/
/*No:TYPE_ANY.fz_00*/
/*No:TYPE_ANY.is_character*/
/*No:TYPE_ANY.is_user_expanded*/
T0* r669written_mark(void){
T0* R=NULL;
R=((T0*)ms1_473);
return R;
}
/*No:TYPE_ANY.is_run_type*/
T0* r669to_runnable(T669* C,T0* a1){
T0* R=NULL;
R=(T0*)C;
r669check_type(C);
return R;
}
/*No:TYPE_ANY.fz_c_if_eq_null*/
/*No:TYPE_ANY.fz_10*/
void r669c_type_for_external_in(T0* a1){
/*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470));
r7extend(((T7*)a1),'\52');
}
/*FI*/}
T0* r669generic_list(T669* C){
T0* R=NULL;
r669fatal_error_generic_list(C);
return R;
}
/*No:TYPE_ANY.is_formal_generic*/
/*No:TYPE_ANY.fz_null*/
void r669demangling_in(T0* a1){
/*IF*/{/*AT*/r7extend(((T7*)a1),'R');
}
/*FI*/r7extend(((T7*)a1),'\40');
r7append(((T7*)a1),r669run_time_mark());
}
/*No:TYPE_ANY.is_real*/

