home *** CD-ROM | disk | FTP | other *** search
- /*
- -- 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"
- /*No:ADDRESS_OF.rf*/
- T0* r708add_comment(T708* 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 r708to_integer(T708* C){
- int R=0;
- r708error(r708start_position(C),((T0*)ms69_470));
- return R;
- }
- int r708is_a(T708* C,T0* a1){
- int R=0;
- R=X291is_a(/*(IRF4.4run_type*/((T0*)((T900*)/*(IRF4.8result_type*/r708type_pointer()/*)*/))/*)*/,X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(r708start_position(C));
- r708error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:ADDRESS_OF.is_current*/
- /*No:ADDRESS_OF.mapping_c_arg*/
- /*No:ADDRESS_OF.static_value*/
- /*No:ADDRESS_OF.make*/
- /*No:ADDRESS_OF.mapping_c_target*/
- /*No:ADDRESS_OF.feature_name*/
- /*No:ADDRESS_OF.fz_iinaiv*/
- /*No:ADDRESS_OF.dca_inline_argument*/
- T0* r708start_position(T708* C){
- T0* R=NULL;
- R=X776start_position((((T708*)C))->_feature_name/*12*/);
- return R;
- }
- void r708compile_to_c(T708* C){
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_708));
- /*]*/
- X496address_of((((T708*)C))->_rf/*16*/);
- /*[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*/)));
- }/*]*/
- /*]*/
- }
- /*No:ADDRESS_OF.c_simple*/
- T0* r708to_runnable(T708* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T708*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- C->_rf=r355get_rf_with(((T355*)(X291run_class(a1))),(((T708*)C))->_feature_name/*12*/);
- /*IF*/if (((((T708*)C))->_rf/*16*/)==((void*)(NULL))) {
- r708error(r708start_position(C),((T0*)ms2_708));
- }
- /*FI*/R=(T0*)C;
- }
- else {
- {T708*n=malloc(sizeof(*n));
- *n=M708;
- /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=((((T708*)C))->_feature_name/*12*/);
- /*]*/
- R=(T0*)n;
- }
- R=r708to_runnable(((T708*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:ADDRESS_OF.result_type*/
- /*No:ADDRESS_OF.is_result*/
- /*No:ADDRESS_OF.is_static*/
- /*No:ADDRESS_OF.can_be_dropped*/
- /*No:ADDRESS_OF.current_type*/
- /*No:ADDRESS_OF.compile_to_c_old*/
- /*No:ADDRESS_OF.static_value_mem*/
- /*No:ADDRESS_OF.is_manifest_string*/
- /*No:ADDRESS_OF.is_void*/
- int fBC364type_pointer=0;
- T0*oBC364type_pointer=NULL;
- T0* r708type_pointer(void){
- if (fBC364type_pointer==0){
- T0* R=NULL;
- fBC364type_pointer=1;
- {T900*n=malloc(sizeof(*n));
- *n=M900;
- r900make(n,NULL);
- R=(T0*)n;
- }
- oBC364type_pointer=R;}
- return oBC364type_pointer;}
- /*No:ADDRESS_OF.is_pre_computable*/
- /*No:ADDRESS_OF.use_current*/
- void r708error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:ADDRESS_OF.isa_dca_inline_argument*/
- /*No:ADDRESS_OF.afd_check*/
- /*No:MANIFEST_STRING_POOL.fz_se_msi*/
- /*No:MANIFEST_STRING_POOL.c_define*/
- void r340character_to_c_code(char a1,T0* a2){
- /*IF*/if ((a1)==('\n')) {
- r7extend(((T7*)a2),'\134');
- r7extend(((T7*)a2),'n');
- }
- else if ((a1)==('\134')) {
- r7extend(((T7*)a2),'\134');
- r7extend(((T7*)a2),'\134');
- }
- else if ((a1)==('\42')) {
- r7extend(((T7*)a2),'\134');
- r7extend(((T7*)a2),'\42');
- }
- else if ((a1)==('\47')) {
- r7extend(((T7*)a2),'\134');
- r7extend(((T7*)a2),'\47');
- }
- else if (((((unsigned char)a1))<(32))||((122)<(((unsigned char)a1)))) {
- r7extend(((T7*)a2),'\134');
- r2append_in(r2to_octal(((unsigned char)a1)),a2);
- r7extend(((T7*)a2),'\42');
- r7extend(((T7*)a2),'\42');
- }
- else {
- r7extend(((T7*)a2),a1);
- }
- /*FI*/}
- /*No:MANIFEST_STRING_POOL.fz_t7_star*/
- T0*oBC340header=NULL;
- /*No:MANIFEST_STRING_POOL.c_call_initialize*/
- /*No:MANIFEST_STRING_POOL.used_for_inline*/
- T0* r340type_string(void){
- if (fBC364type_string==0){
- T0* R=NULL;
- fBC364type_string=1;
- {T491*n=malloc(sizeof(*n));
- *n=M491;
- r491make(n,NULL);
- R=(T0*)n;
- }
- oBC364type_string=R;}
- return oBC364type_string;}
- /*No:MANIFEST_STRING_POOL.fz_gc_mark*/
- /*No:MANIFEST_STRING_POOL.fz_00*/
- void r340string_to_c_code(T0* a1,T0* a2){
- int _i=0;
- r7extend(((T7*)a2),'\42');
- _i=1;
- while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) {
- r340character_to_c_code(/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/,a2);
- _i=(_i)+(1);
- }
- r7extend(((T7*)a2),'\42');
- }
- /*No:MANIFEST_STRING_POOL.fz_c_no_args_procedure*/
- /*No:MANIFEST_STRING_POOL.fz_14*/
- /*No:MANIFEST_STRING_POOL.fz_new*/
- /*No:MANIFEST_STRING_POOL.fz_c_void_args*/
- int r340not_dummy(T0* a1){
- int R=0;
- R=!(r256fast_has(((T256*)(oBC340dummy_ms_list)),a1));
- return R;
- }
- T0*oBC340body=NULL;
- void r340gc_mark_in(T0* a1){
- T0* _ms=NULL;
- int _i=0;
- _i=(((T256*)((T256*)(oBC340ms_list))))->_upper/*12*/;
- while (!((_i)<(0))) {
- _ms=/*(IRF4.6item*/((((T256*)((T256*)(oBC340ms_list))))->_storage/*4*/)[_i]/*)*/;
- /*IF*/if (r340not_dummy(_ms)) {
- r7append(((T7*)a1),((T0*)ms107_470));
- r7extend(((T7*)a1),'7');
- r7extend(((T7*)a1),'\50');
- r7append(((T7*)a1),(((T805*)((T805*)_ms)))->_mapping_c/*32*/);
- r7extend(((T7*)a1),'\51');
- r7append(((T7*)a1),((T0*)ms134_470));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*No:MANIFEST_STRING_POOL.nb_ms_per_function*/
- T0*oBC340ms_list=NULL;
- /*No:MANIFEST_STRING_POOL.define_se_ms*/
- /*No:MANIFEST_STRING_POOL.fz_void*/
- void r340add_last(T0* a1){
- r256add_last(((T256*)(oBC340ms_list)),a1);
- }
- /*No:MANIFEST_STRING_POOL.count*/
- T0*oBC340dummy_ms_list=NULL;
- /*No:MANIFEST_STRING_POOL.us_malloc*/
- int r709id(T709* C){
- int R=0;
- R=(((T355*)((T355*)(r709run_class(C)))))->_id/*4*/;
- return R;
- }
- /*No:TYPE_ARRAY.gc_set_unmarked_in*/
- /*No:TYPE_ARRAY.array_of*/
- T0*oBC709tmp_written_mark=NULL;
- int r709has_creation(T709* C,T0* a1){
- int R=0;
- /*IF*/if ((C)==((void*)((((T709*)C))->_run_type/*16*/))) {
- R=r605has_creation(((T605*)(r709base_class(C))),a1);
- }
- else {
- R=r709has_creation(((T709*)((((T709*)C))->_run_type/*16*/)),a1);
- }
- /*FI*/return R;
- }
- /*No:TYPE_ARRAY.is_anchored*/
- /*No:TYPE_ARRAY.is_array*/
- /*No:TYPE_ARRAY.fz_typedef*/
- /*No:TYPE_ARRAY.fz_else*/
- int r709is_a(T709* C,T0* a1){
- int R=0;
- /*IF*/if ((r709run_class(C))==((void*)(X291run_class(a1)))) {
- R=1;
- }
- else if (X291is_array(a1)) {
- R=X291is_a(/*(IRF4.6array_of*/r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1)/*)*/,r701item(((T701*)(X291generic_list(a1))),1));
- /*IF*/if (!(R)) {
- /*[IRF3.6extend*/{char b1='\40';
- r7extend(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- /*FI*/}
- else if (r605is_subclass_of(((T605*)(r709base_class(C))),X291base_class(a1))) {
- /*IF*/if (X291is_generic(a1)) {
- R=r605is_a_vncg(((T605*)(r709base_class(C))),(T0*)C,a1);
- }
- else {
- R=1;
- }
- /*FI*/}
- /*FI*//*IF*/if (!(R)) {
- r683add_type((T0*)C,((T0*)ms71_470));
- r683add_type(a1,((T0*)ms67_470));
- }
- /*FI*/return R;
- }
- void r709gcmt_max_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms55_291));
- r2append_in(r709id(C),a1);
- }
- /*No:TYPE_ARRAY.c_initialize_in*/
- /*No:TYPE_ARRAY.fz_gc_sweep*/
- /*No:TYPE_ARRAY.c_type_for_argument_in*/
- void r709standard_c_object_model(T709* C){
- T0* _rc=NULL;
- int _mem_id=0;
- T0* _wa=NULL;
- _rc=r709run_class(C);
- _mem_id=(((T355*)((T355*)_rc)))->_id/*4*/;
- _wa=r355writable_attributes(((T355*)_rc));
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms103_470));
- r7extend(((T7*)(oBC291tmp_string)),'T');
- r2append_in(_mem_id,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7extend(((T7*)(oBC291tmp_string)),'M');
- r2append_in(_mem_id,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),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(_mem_id,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r7extend(((T7*)(oBC291tmp_string)),'M');
- r2append_in(_mem_id,oBC291tmp_string);
- r7extend(((T7*)(oBC291tmp_string)),'\75');
- r355c_object_model_in(((T355*)_rc),oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms134_470));
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC291tmp_string);
- /*]*/
- r324swap_on_h(((T324*)(oBC364cpp)));
- }
- void r709gc_call_new_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms115_470));
- r2append_in(r709id(C),a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- }
- /*No:TYPE_ARRAY.fz_se_cmpt*/
- int r709space_for_pointer(void){
- int R=0;
- void* _p=0;
- R=sizeof(T8);
- return R;
- }
- /*No:TYPE_ARRAY.is_pointer*/
- /*No:TYPE_ARRAY.run_type*/
- void r709gc_align_mark_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms58_291));
- r2append_in(r709id(C),a1);
- }
- /*No:TYPE_ARRAY.us_lower*/
- /*No:TYPE_ARRAY.is_dummy_expanded*/
- /*No:TYPE_ARRAY.us_array*/
- void r709gcmt_used_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms56_291));
- r2append_in(r709id(C),a1);
- }
- /*No:TYPE_ARRAY.is_string*/
- /*No:TYPE_ARRAY.space_for_variable*/
- void r709standard_c_struct(T709* C){
- T0* _t=NULL;
- T0* _a=NULL;
- int _mem_id=0;
- int _i=0;
- T0* _wa=NULL;
- _mem_id=r709id(C);
- _wa=r355writable_attributes(((T355*)(r709run_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*)(r709run_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_ARRAY.is_like_feature*/
- /*No:TYPE_ARRAY.fz_t0_star*/
- /*No:TYPE_ARRAY.is_like_current*/
- /*No:TYPE_ARRAY.us_capacity*/
- void r709make(T709* C,T0* a1,T0* a2){
- T0* _owwm=NULL;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms2_473),a1);
- C->_base_class_name=(T0*)n;
- }
- C->_generic_list=se_ma701(1,a2);
- _owwm=X291written_mark(a2);
- r7copy(((T7*)(oBC709tmp_written_mark)),((T0*)ms2_473));
- r7extend(((T7*)(oBC709tmp_written_mark)),'\133');
- r7append(((T7*)(oBC709tmp_written_mark)),_owwm);
- r7extend(((T7*)(oBC709tmp_written_mark)),'\135');
- C->_written_mark=r902item(oBC709tmp_written_mark);
- }
- /*No:TYPE_ARRAY.nb_errors*/
- /*No:TYPE_ARRAY.fz_gc*/
- /*No:TYPE_ARRAY.gc_if_marked_in*/
- /*No:TYPE_ARRAY.fz_gc_sweep_pool*/
- void r709mapping_cast(T709* C){
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC291tmp_string)),'\50');
- r709c_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_ARRAY.start_position*/
- void r709c_type_for_target_in(T709* C,T0* a1){
- r7extend(((T7*)a1),'T');
- r2append_in(r709id(C),a1);
- r7extend(((T7*)a1),'\52');
- }
- /*No:TYPE_ARRAY.fz_printf*/
- void r709gc_free_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms57_291));
- r2append_in(r709id(C),a1);
- }
- /*No:TYPE_ARRAY.gc_set_marked_in*/
- /*No:TYPE_ARRAY.fz_gc_mark*/
- /*No:TYPE_ARRAY.fz_inako*/
- void r709standard_gc_initialize(T709* C){
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC291tmp_string)))))->_count)=(0);
- /*]*/
- r709gcmt_in(C,oBC291tmp_string);
- r7append(((T7*)(oBC291tmp_string)),((T0*)ms53_291));
- r709gcmt_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_ARRAY.gc_initialize*/
- /*No:TYPE_ARRAY.fz_00*/
- /*No:TYPE_ARRAY.is_character*/
- /*No:TYPE_ARRAY.is_user_expanded*/
- /*No:TYPE_ARRAY.written_mark*/
- T0* r709to_runnable(T709* C,T0* a1){
- T0* R=NULL;
- T0* _rc=NULL;
- T0* _rt=NULL;
- T0* _elt2=NULL;
- T0* _elt1=NULL;
- /*IF*/if (((((T709*)C))->_run_type/*16*/)==((void*)(C))) {
- R=(T0*)C;
- }
- else {
- _elt1=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
- _elt2=X291to_runnable(_elt1,a1);
- /*IF*/if (((_elt2)==((void*)(NULL)))||(!(X291is_run_type(_elt2)))) {
- /*IF*/if ((_elt2)!=((void*)(NULL))) {
- r683add_position(X291start_position(_elt2));
- }
- /*FI*/r709error(X291start_position(_elt1),((T0*)ms59_470));
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _elt2=X291run_type(_elt2);
- /*IF*/if (((((T709*)C))->_run_type/*16*/)==((void*)(NULL))) {
- R=(T0*)C;
- /*IF*/if ((_elt2)==((void*)(_elt1))) {
- C->_run_type=(T0*)C;
- r709load_basic_features(C);
- }
- else {
- {T709*n=malloc(sizeof(*n));
- *n=M709;
- r709make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T709*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
- C->_run_type=(T0*)n;
- }
- r709load_basic_features(((T709*)((((T709*)C))->_run_type/*16*/)));
- }
- /*FI*/}
- else {
- R=r709twin(C);
- {T709*n=malloc(sizeof(*n));
- *n=M709;
- r709make_runnable(n,/*(IRF4.6start_position*/(((T451*)((T451*)((((T709*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,_elt2);
- _rt=(T0*)n;
- }
- /*[IRF3.3set_run_type*/((((T709*)(((T709*)R))))->_run_type)=(_rt);
- /*]*/
- r709load_basic_features(((T709*)_rt));
- }
- /*FI*/}
- /*FI*/}
- /*FI*/_rc=X291run_class(r701item(((T701*)((((T709*)((T709*)R)))->_generic_list/*8*/)),1));
- _rc=r709run_class(((T709*)R));
- return R;
- }
- int r709is_run_type(T709* C){
- int R=0;
- T0* _t=NULL;
- /*IF*/if (((((T709*)C))->_run_type/*16*/)!=((void*)(NULL))) {
- R=1;
- }
- else {
- _t=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
- /*IF*/if ((X291is_run_type(_t))&&((X291run_type(_t))==((void*)(_t)))) {
- C->_run_type=(T0*)C;
- R=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:TYPE_ARRAY.fz_c_if_eq_null*/
- /*No:TYPE_ARRAY.fz_10*/
- void r709c_type_for_external_in(T0* a1){
- /*IF*/{/*AT*/r7append(((T7*)a1),((T0*)ms133_470));
- r7extend(((T7*)a1),'\52');
- }
- /*FI*/}
- /*No:TYPE_ARRAY.is_formal_generic*/
- /*No:TYPE_ARRAY.generic_list*/
- /*No:TYPE_ARRAY.fz_null*/
- void r709demangling_in(T709* C,T0* a1){
- /*IF*/{/*AT*/r7extend(((T7*)a1),'R');
- }
- /*FI*/r7extend(((T7*)a1),'\40');
- r7append(((T7*)a1),r709run_time_mark(C));
- }
- /*No:TYPE_ARRAY.is_real*/
- T0* r709twin(T709* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T709*)R)=*C;
- return R;
- }
- void r709gc_info_nb_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms59_291));
- r2append_in(r709id(C),a1);
- }
- /*No:TYPE_ARRAY.fz_14*/
- /*No:TYPE_ARRAY.is_bit*/
- /*No:TYPE_ARRAY.fz_new*/
- /*No:TYPE_ARRAY.fz_c_void_args*/
- T0* r709smallest_ancestor(T709* C,T0* a1){
- T0* R=NULL;
- T0* _array_of3=NULL;
- T0* _array_of2=NULL;
- T0* _array_of1=NULL;
- T0* _rto=NULL;
- _rto=X291run_type(a1);
- /*IF*/if (X291is_array(_rto)) {
- _array_of1=X291run_type(/*(IRF4.6array_of*/r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1)/*)*/);
- _array_of2=r701item(((T701*)(X291generic_list(_rto))),1);
- _array_of3=X291smallest_ancestor(_array_of1,_array_of2);
- /*IF*/if ((_array_of3)==((void*)(_array_of1))) {
- R=(T0*)C;
- }
- else if ((_array_of3)==((void*)(_array_of2))) {
- R=a1;
- }
- else {
- {T709*n=malloc(sizeof(*n));
- *n=M709;
- r709make(n,NULL,_array_of3);
- R=(T0*)n;
- }
- }
- /*FI*/}
- else {
- R=X291smallest_ancestor(_rto,(T0*)C);
- }
- /*FI*/return R;
- }
- /*No:TYPE_ARRAY.fz_16*/
- void r709standard_gc_info_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms119_470));
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\42');
- r7append(((T7*)a1),r709run_time_mark(C));
- r7append(((T7*)a1),((T0*)ms144_470));
- r709gc_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');
- r709gcmt_used_in(C,a1);
- r7append(((T7*)a1),((T0*)ms144_470));
- r709gcmt_used_in(C,a1);
- r7append(((T7*)a1),((T0*)ms148_470));
- r7append(((T7*)a1),((T0*)ms119_470));
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\42');
- r709gcmt_max_in(C,a1);
- r7append(((T7*)a1),((T0*)ms144_470));
- r709gcmt_max_in(C,a1);
- r7append(((T7*)a1),((T0*)ms148_470));
- }
- /*No:TYPE_ARRAY.set_run_type*/
- /*No:TYPE_ARRAY.is_boolean*/
- void r709standard_c_typedef(T709* C){
- int _mem_id=0;
- _mem_id=r709id(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_ARRAY.is_double*/
- /*No:TYPE_ARRAY.us_storage*/
- T0* r709run_class(T709* C){
- T0* R=NULL;
- /*IF*/if (r709is_run_type(C)) {
- R=r604run_class((((T709*)C))->_run_type/*16*/);
- }
- /*FI*/return R;
- }
- /*No:TYPE_ARRAY.fz_extern*/
- void r709gcmt_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms54_291));
- r2append_in(r709id(C),a1);
- }
- T0* r709run_time_mark(T709* C){
- T0* R=NULL;
- /*IF*/if (r709is_run_type(C)) {
- R=(((T709*)((T709*)((((T709*)C))->_run_type/*16*/))))->_written_mark/*12*/;
- }
- /*FI*/return R;
- }
- /*No:TYPE_ARRAY.c_initialize*/
- void r709cast_to_ref(T709* C){
- r709cast_to_ref(((T709*)((((T709*)C))->_run_type/*16*/)));
- }
- void r709gc_mark_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms107_470));
- r2append_in(r709id(C),a1);
- }
- int r709is_a_in(T709* C,T0* a1,T0* a2){
- int R=0;
- T0* _ct=NULL;
- T0* _t2=NULL;
- T0* _t1=NULL;
- /*IF*/if (((((T709*)C))->_written_mark/*12*/)==((void*)(X291written_mark(a1)))) {
- R=1;
- }
- else {
- _ct=(((T355*)((T355*)a2)))->_current_type/*0*/;
- _t1=r709to_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* r709look_up_for(T709* C,T0* a1,T0* a2){
- T0* R=NULL;
- R=r605look_up_for(((T605*)(r709base_class(C))),a1,a2);
- return R;
- }
- /*No:TYPE_ARRAY.c_header_pass1*/
- /*No:TYPE_ARRAY.c_type_for_result_in*/
- /*No:TYPE_ARRAY.expanded_initializer*/
- /*No:TYPE_ARRAY.fz_int*/
- void r709gc_declare_h_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms105_470));
- r2append_in(r709id(C),a1);
- r7append(((T7*)a1),((T0*)ms60_291));
- r2append_in(r709id(C),a1);
- r7append(((T7*)a1),((T0*)ms61_291));
- }
- void r709standard_gc_define1(T709* C){
- int _rcid=0;
- T0* _rc=NULL;
- _rc=r709run_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');
- r709gcmt_in(C,oBC291tmp_string);
- r324put_extern1(((T324*)(oBC364cpp)),oBC291tmp_string);
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r709gcmt_used_in(C,oBC291tmp_string);
- r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
- r7copy(((T7*)(oBC291tmp_string)),((T0*)ms111_470));
- r7extend(((T7*)(oBC291tmp_string)),'\40');
- r709gcmt_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');
- r709gc_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');
- r709gc_info_nb_in(C,oBC291tmp_string);
- r324put_extern2(((T324*)(oBC364cpp)),oBC291tmp_string,'0');
- }
- /*FI*/}
- /*No:TYPE_ARRAY.fz_void*/
- /*No:TYPE_ARRAY.fz_dot*/
- /*No:TYPE_ARRAY.is_generic*/
- /*No:TYPE_ARRAY.fz_bga*/
- /*No:TYPE_ARRAY.used_as_reference*/
- /*No:TYPE_ARRAY.c_header_pass2*/
- /*No:TYPE_ARRAY.gc_define1*/
- /*No:TYPE_ARRAY.need_c_struct*/
- /*No:TYPE_ARRAY.gc_info_in*/
- /*No:TYPE_ARRAY.is_reference*/
- void r709error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- void r709load_basic_features(T709* C){
- T0* _rc=NULL;
- T0* _rf=NULL;
- T0* _elt_type=NULL;
- _elt_type=r701item(((T701*)((((T709*)C))->_generic_list/*8*/)),1);
- /*IF*/if (X291is_expanded(_elt_type)) {
- r355set_at_run_time(((T355*)(X291run_class(_elt_type))));
- }
- /*FI*/_rc=r709run_class(C);
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms55_473));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms87_473));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms140_473));
- _rf=r355get_feature_with(((T355*)_rc),((T0*)ms130_473));
- }
- T0* r709base_class(T709* C){
- T0* R=NULL;
- T0* _bcn=NULL;
- _bcn=(((T709*)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_ARRAY.call_gc_sweep_in*/
- /*No:TYPE_ARRAY.gc_define2*/
- /*No:TYPE_ARRAY.need_gc_mark_function*/
- void r709standard_gc_define2(T709* C){
- int _rcid=0;
- T0* _rc=NULL;
- _rc=r709run_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));
- r709gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms17_291));
- r709gc_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));
- r709gcmt_in(C,oBC291body);
- r7extend(((T7*)(oBC291body)),'\53');
- r709gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms23_291));
- r709gcmt_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');
- r709gc_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);
- /*]*/
- r709gc_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');
- r709gc_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);
- /*]*/
- r709gc_declare_h_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms27_291));
- r709gc_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));
- r709gcmt_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));
- r709gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms34_291));
- r709gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms35_291));
- r709gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms36_291));
- r709gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms37_291));
- r709gcmt_max_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms38_291));
- r709gcmt_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms39_291));
- r709gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms40_291));
- r7append(((T7*)(oBC291body)),((T0*)ms41_291));
- r709gc_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*/) {
- r709gc_info_nb_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms44_291));
- }
- /*FI*/r7append(((T7*)(oBC291body)),((T0*)ms45_291));
- r709gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms46_291));
- r2append_in(r548threshold_start(_rcid),oBC291body);
- r7extend(((T7*)(oBC291body)),'\74');
- r709gcmt_used_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms47_291));
- r7append(((T7*)(oBC291body)),((T0*)ms89_470));
- r709gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms48_291));
- r2append_in(_rcid,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms49_291));
- r709gc_free_in(C,oBC291body);
- r7append(((T7*)(oBC291body)),((T0*)ms50_291));
- r709gc_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_ARRAY.is_any*/
- /*No:TYPE_ARRAY.to_reference*/
- /*No:TYPE_ARRAY.c_header_pass3*/
- /*No:TYPE_ARRAY.fz_new_pool*/
- /*No:TYPE_ARRAY.us_upper*/
- /*No:TYPE_ARRAY.base_class_name*/
- /*No:TYPE_ARRAY.is_expanded*/
- void r709standard_call_gc_sweep_in(T709* C,T0* a1){
- r7append(((T7*)a1),((T0*)ms108_470));
- r2append_in(r709id(C),a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- r7append(((T7*)a1),((T0*)ms134_470));
- }
- /*No:TYPE_ARRAY.gc_if_unmarked_in*/
- /*No:TYPE_ARRAY.is_basic_eiffel_expanded*/
- /*No:TYPE_ARRAY.is_none*/
- /*No:TYPE_ARRAY.to_expanded*/
- /*No:TYPE_ARRAY.is_integer*/
- void r709make_runnable(T709* C,T0* a1,T0* a2){
- r709make(C,a1,a2);
- C->_run_type=(T0*)C;
- }
- void r709c_header_pass4(T709* C){
- r709standard_c_struct(C);
- r709standard_c_object_model(C);
- }
- /*No:TYPE_ARRAY.fz_struct*/
- /*No:E_OLD.id*/
- T0* r664add_comment(T664* 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 r664to_integer(T664* C){
- int R=0;
- r664error(r664start_position(C),((T0*)ms69_470));
- return R;
- }
- int r664is_a(T664* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type(r664result_type(C)),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(r664start_position(C));
- r664error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:E_OLD.is_current*/
- /*No:E_OLD.mapping_c_arg*/
- /*No:E_OLD.static_value*/
- /*No:E_OLD.make*/
- /*No:E_OLD.mapping_c_target*/
- /*No:E_OLD.fz_iinaiv*/
- /*No:E_OLD.expression*/
- /*No:E_OLD.dca_inline_argument*/
- T0* r664start_position(T664* C){
- T0* R=NULL;
- R=X662start_position((((T664*)C))->_expression/*12*/);
- return R;
- }
- void r664compile_to_c(T664* C){
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='o';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),(((T664*)C))->_id/*16*/);
- /*]*/
- }
- /*No:E_OLD.c_simple*/
- /*No:E_OLD.fz_00*/
- T0* r664to_runnable(T664* C,T0* a1){
- T0* R=NULL;
- T0* _exp=NULL;
- /*IF*/if (((((T664*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- _exp=X662to_runnable((((T664*)C))->_expression/*12*/,a1);
- /*IF*/if ((_exp)==((void*)(NULL))) {
- r664error(r664start_position(C),((T0*)ms1_664));
- }
- else {
- C->_expression=_exp;
- }
- /*FI*/r417increment(((T417*)(oBC664id_counter)));
- C->_id=(((T417*)((T417*)(oBC664id_counter))))->_value/*0*/;
- R=(T0*)C;
- }
- else {
- {T664*n=malloc(sizeof(*n));
- *n=M664;
- /*[IRF3.3make*/((((T664*)(n)))->_expression)=((((T664*)C))->_expression/*12*/);
- /*]*/
- R=(T0*)n;
- }
- R=r664to_runnable(((T664*)R),a1);
- }
- /*FI*/return R;
- }
- T0* r664result_type(T664* C){
- T0* R=NULL;
- R=X662result_type((((T664*)C))->_expression/*12*/);
- return R;
- }
- /*No:E_OLD.is_result*/
- /*No:E_OLD.is_static*/
- T0*oBC664tmp_string=NULL;
- /*No:E_OLD.can_be_dropped*/
- /*No:E_OLD.current_type*/
- void r664compile_to_c_old(T664* C){
- T0* _t=NULL;
- _t=X291run_type(r664result_type(C));
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC664tmp_string)))))->_count)=(0);
- /*]*/
- X291c_type_for_argument_in(_t,oBC664tmp_string);
- r7extend(((T7*)(oBC664tmp_string)),'\40');
- r7extend(((T7*)(oBC664tmp_string)),'o');
- r2append_in((((T664*)C))->_id/*16*/,oBC664tmp_string);
- r7extend(((T7*)(oBC664tmp_string)),'\75');
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),oBC664tmp_string);
- /*]*/
- X662mapping_c_arg((((T664*)C))->_expression/*12*/,_t);
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms134_470));
- /*]*/
- }
- /*No:E_OLD.static_value_mem*/
- /*No:E_OLD.is_manifest_string*/
- /*No:E_OLD.is_void*/
- /*No:E_OLD.is_pre_computable*/
- int r664use_current(T664* C){
- int R=0;
- R=X662use_current((((T664*)C))->_expression/*12*/);
- return R;
- }
- void r664error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:E_OLD.isa_dca_inline_argument*/
- T0*oBC664id_counter=NULL;
- void r664afd_check(T664* C){
- X662afd_check((((T664*)C))->_expression/*12*/);
- }
- /*No:CST_ATT_CHARACTER.arguments*/
- T0* r554try_to_undefine(T554* C,T0* a1,T0* a2){
- T0* R=NULL;
- X776undefine_in(a1,a2);
- R=r554try_to_undefine_aux(C,a1,a2);
- /*IF*/if ((R)!=((void*)(NULL))) {
- /*X249*//*[IRF3.3set_clients*/((((T853*)(((T853*)R))))->_clients)=((((T554*)C))->_clients/*20*/);
- /*]*/
- }
- else {
- r605fatal_undefine(((T605*)a2),a1);
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_CHARACTER.is_deferred*/
- void r554add_into(T554* C,T0* a1){
- T0* _fn=NULL;
- int _i=0;
- C->_base_class=r627base_class(((T627*)(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*/))));
- _i=1;
- while (!((_i)>(/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/))))->_upper/*8*//*)*/))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/;
- /*IF*/if (r237has(((T237*)a1),X776to_key(_fn))) {
- _fn=/*X359*/((T0*)/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T398*)((T398*)(r237at(((T237*)a1),X776to_key(_fn))))))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- r683add_position(X776start_position(_fn));
- r683add_position(X776start_position(/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),_i)/*)*/));
- r683error(((T683*)(oBC364eh)),((T0*)ms11_359));
- /*[IRF3.6append*/{T0* b1=X776to_string(_fn);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683error(((T683*)(oBC364eh)),((T0*)ms67_470));
- }
- else {
- r237put(((T237*)a1),(T0*)C,X776to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0* r554try_to_undefine_aux(T554* C,T0* a1,T0* a2){
- T0* R=NULL;
- r683add_position(r554start_position(C));
- r554error(X776start_position(a1),((T0*)ms1_308));
- r605fatal_undefine(((T605*)a2),a1);
- return R;
- }
- void r554make(T554* C,T0* a1,T0* a2,T0* a3){
- r554make_e_feature(C,a1,a2);
- C->_value_mem=a3;
- }
- /*No:CST_ATT_CHARACTER.nb_errors*/
- /*No:CST_ATT_CHARACTER.set_header_comment*/
- T0* r554start_position(T554* C){
- T0* R=NULL;
- R=X776start_position(/*(IRF4.6first_name*//*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T554*)C))->_names/*8*/))))->_list/*0*/)),1)/*)*//*)*/);
- return R;
- }
- T0* r554to_run_feature(T554* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(a1);
- R=r355at(((T355*)_rc),a2);
- if(NULL!=(R))switch(((T0*)R)->id) {
- case 808:
- break;
- default:
- R=NULL;
- };/*IF*/if ((R)==((void*)(NULL))) {
- {T808*n=malloc(sizeof(*n));
- *n=M808;
- r808make(n,a1,a2,(T0*)C);
- R=(T0*)n;
- }
- }
- /*FI*/return R;
- }
- /*No:CST_ATT_CHARACTER.ensure_assertion*/
- /*No:CST_ATT_CHARACTER.code_require*/
- /*No:CST_ATT_CHARACTER.result_type*/
- /*No:CST_ATT_CHARACTER.em1*/
- /*No:CST_ATT_CHARACTER.set_clients*/
- /*No:CST_ATT_CHARACTER.em2*/
- /*No:CST_ATT_CHARACTER.value*/
- /*No:CST_ATT_CHARACTER.require_assertion*/
- /*No:CST_ATT_CHARACTER.names*/
- /*No:CST_ATT_CHARACTER.value_mem*/
- /*No:CST_ATT_CHARACTER.stupid_switch*/
- int r554can_hide(T554* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T554*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r554error(r554start_position(C),((T0*)ms5_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r554error(r554start_position(C),((T0*)ms6_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T554*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
- /*[IRF3.6append*/{T0* b1=((T0*)ms13_359);
- 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*/}
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
- return R;
- }
- /*No:CST_ATT_CHARACTER.header_comment*/
- int r554is_merge_with(T554* C,T0* a1,T0* a2){
- int R=0;
- /*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/)))) {
- /*IF*/if ((((((T554*)C))->_result_type/*12*/)==((void*)(NULL)))||((/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/))==((void*)(NULL)))) {
- r683add_position(X359start_position(a1));
- r554error(r554start_position(C),((T0*)ms2_359));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X359arguments(a1)))) {
- /*IF*/{/*AT*/r683add_position(X359start_position(a1));
- r554error(r554start_position(C),((T0*)ms3_359));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T554*)C))->_result_type/*12*/)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_a_in((((T554*)C))->_result_type/*12*/,/*X359*/((T0*)(((T398*)((T398*)a1)))->_result_type/*12*/),a2))) {
- r683error(((T683*)(oBC364eh)),((T0*)ms12_359));
- }
- /*FI*/}
- /*FI*//*IF*//*AF*//*AE*/
- /*FI*/R=(/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0);
- return R;
- }
- /*No:CST_ATT_CHARACTER.fz_dot*/
- /*No:CST_ATT_CHARACTER.first_name*/
- /*No:CST_ATT_CHARACTER.clients*/
- void r554collect_for(int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- else {
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*FI*/}
- void r554error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CST_ATT_CHARACTER.base_class*/
- /*No:CST_ATT_CHARACTER.base_class_name*/
- void r554make_e_feature(T554* C,T0* a1,T0* a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- /*No:CALL_INFIX_POWER.arguments*/
- T0* r557add_comment(T557* 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 r557to_integer(T557* C){
- int R=0;
- r557error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r557is_a(T557* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T557*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r557error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_POWER.is_current*/
- void r557mapping_c_arg(T557* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T557*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T557* 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*/{T557* 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*/{T557* 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*/{T557* 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*/{T557* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_POWER.static_value*/
- void r557make(T557* 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,r557operator(),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;
- }
- r557make_call_1(C,a1,(((T557*)C))->_feature_name/*28*/,_eal);
- }
- void r557mapping_c_target(T557* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T557*)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*/{T557* 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*/{T557* 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*/{T557* 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*/{T557* 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*/{T557* 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_POWER.nb_errors*/
- /*No:CALL_INFIX_POWER.feature_name*/
- /*No:CALL_INFIX_POWER.fz_iinaiv*/
- /*No:CALL_INFIX_POWER.arg_count*/
- /*No:CALL_INFIX_POWER.dca_inline_argument*/
- /*No:CALL_INFIX_POWER.run_feature*/
- /*No:CALL_INFIX_POWER.call_proc_call_c2c*/
- /*No:CALL_INFIX_POWER.start_position*/
- /*No:CALL_INFIX_POWER.target*/
- /*No:CALL_INFIX_POWER.compile_to_c*/
- /*No:CALL_INFIX_POWER.c_simple*/
- T0* r557to_runnable(T557* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T557*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r557to_runnable_0(C,a1);
- _a=X431to_runnable((((T557*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r557error(X662start_position(r557arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T557*)C))->_arguments/*24*/,(((T557*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T557*)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(r557arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r557twin(C);
- /*[IRF3.3set_current_type*/((((T557*)(((T557*)R))))->_current_type)=(NULL);
- /*]*/
- R=r557to_runnable(((T557*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_POWER.result_type*/
- /*No:CALL_INFIX_POWER.is_result*/
- T0* r557twin(T557* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T557*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_POWER.set_current_type*/
- T0* r557operator(void){
- T0* R=NULL;
- R=((T0*)ms44_473);
- return R;
- }
- int r557is_static(T557* C){
- int R=0;
- /*IF*/if (X291is_integer((((T557*)C))->_result_type/*20*/)) {
- /*IF*/if ((X662is_static((((T557*)C))->_target/*12*/))&&(X662is_static(r557arg1(C)))) {
- R=1;
- C->_static_value_mem=r2_px_94(X662static_value((((T557*)C))->_target/*12*/),X662static_value(r557arg1(C)));
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_POWER.fz_07*/
- /*No:CALL_INFIX_POWER.can_be_dropped*/
- /*No:CALL_INFIX_POWER.current_type*/
- void r557compile_to_c_old(T557* C){
- X662compile_to_c_old((((T557*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T557*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_POWER.static_value_mem*/
- void r557make_call_1(T557* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_POWER.is_manifest_string*/
- /*No:CALL_INFIX_POWER.is_void*/
- void r557to_runnable_0(T557* C,T0* a1){
- C->_current_type=a1;
- r557cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T557*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T557*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T557*)C))->_run_feature/*16*/));
- r557error((((T454*)((T454*)((((T557*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T557*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T557*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_POWER.is_pre_computable*/
- void r557cpc_to_runnable(T557* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T557*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T557*)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((((T557*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T557*)C))->_target/*12*/,(((T557*)C))->_run_feature/*16*/);
- }
- int r557use_current(T557* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T557*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T557*)C))->_target/*12*/)) {
- R=X496use_current((((T557*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T557*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r557finalize(T557* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T557*)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 r557error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_POWER.isa_dca_inline_argument*/
- /*No:CALL_INFIX_POWER.fatal_error*/
- /*No:CALL_INFIX_POWER.fz_bad_argument*/
- T0* r557arg1(T557* C){
- T0* R=NULL;
- R=X431first((((T557*)C))->_arguments/*24*/);
- return R;
- }
- /*No:CALL_INFIX_POWER.us_pow*/
- void r557afd_check(T557* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T557*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T557*)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((((T557*)C))->_target/*12*/,(((T557*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T557*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T557*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:MANIFEST_ARRAY_POOL.c_define*/
- void r94c_call(T0* a1){
- int _id=0;
- _id=X291id(a1);
- /*IF*/if (!(r79has(((T79*)(oBC94manifest_array_types)),_id))) {
- r79put(((T79*)(oBC94manifest_array_types)),a1,_id);
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_94));
- /*]*/
- /*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),_id);
- /*]*/
- }
- T0*oBC94manifest_array_types=NULL;
- /*No:MANIFEST_ARRAY_POOL.fz_t0_star*/
- T0*oBC94header=NULL;
- /*No:MANIFEST_ARRAY_POOL.fz_sizeof*/
- /*No:MANIFEST_ARRAY_POOL.fz_00*/
- /*No:MANIFEST_ARRAY_POOL.fz_new*/
- T0*oBC94body=NULL;
- /*No:MANIFEST_ARRAY_POOL.us_se_ma*/
- /*No:MANIFEST_ARRAY_POOL.fz_void*/
- /*No:MANIFEST_ARRAY_POOL.us_malloc*/
- void r94c_define_for(T0* a1){
- T0* _elt_type=NULL;
- int _elt_id=0;
- int _ma_id=0;
- _ma_id=X291id(a1);
- _elt_type=X291run_type(r701item(((T701*)(X291generic_list(a1))),1));
- _elt_id=X291id(_elt_type);
- r7copy(((T7*)(oBC94header)),((T0*)ms133_470));
- r7extend(((T7*)(oBC94header)),'\52');
- r7append(((T7*)(oBC94header)),((T0*)ms1_94));
- r2append_in(_ma_id,oBC94header);
- r7append(((T7*)(oBC94header)),((T0*)ms2_94));
- /*[IRF3.3clear*/((((T7*)(((T7*)(oBC94body)))))->_count)=(0);
- /*]*/
- r7extend(((T7*)(oBC94body)),'T');
- r2append_in(_ma_id,oBC94body);
- r7append(((T7*)(oBC94body)),((T0*)ms3_94));
- /*IF*/if (X291is_reference(_elt_type)) {
- r7append(((T7*)(oBC94body)),((T0*)ms128_470));
- }
- else {
- r7extend(((T7*)(oBC94body)),'T');
- r2append_in(_elt_id,oBC94body);
- }
- /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms4_94));
- /*IF*/if ((((T548*)((T548*)(oBC364gc_handler))))->_is_on/*0*/) {
- r7append(((T7*)(oBC94body)),((T0*)ms115_470));
- r2append_in(_ma_id,oBC94body);
- r7extend(((T7*)(oBC94body)),'\50');
- r7extend(((T7*)(oBC94body)),'\51');
- r7append(((T7*)(oBC94body)),((T0*)ms134_470));
- }
- else {
- r7append(((T7*)(oBC94body)),((T0*)ms88_473));
- r7extend(((T7*)(oBC94body)),'\50');
- r7append(((T7*)(oBC94body)),((T0*)ms123_470));
- r7extend(((T7*)(oBC94body)),'\50');
- r7extend(((T7*)(oBC94body)),'\52');
- r7extend(((T7*)(oBC94body)),'m');
- r7extend(((T7*)(oBC94body)),'\51');
- r7extend(((T7*)(oBC94body)),'\51');
- r7append(((T7*)(oBC94body)),((T0*)ms134_470));
- r7extend(((T7*)(oBC94body)),'\52');
- r7extend(((T7*)(oBC94body)),'m');
- r7extend(((T7*)(oBC94body)),'\75');
- r7extend(((T7*)(oBC94body)),'M');
- r2append_in(_ma_id,oBC94body);
- r7append(((T7*)(oBC94body)),((T0*)ms134_470));
- }
- /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms5_94));
- /*IF*/if (((X291is_integer(_elt_type))||(X291is_boolean(_elt_type)))||(X291is_character(_elt_type))) {
- r7append(((T7*)(oBC94body)),((T0*)ms6_94));
- }
- else if ((X291is_real(_elt_type))||(X291is_double(_elt_type))) {
- r7append(((T7*)(oBC94body)),((T0*)ms7_94));
- }
- else if (X291is_user_expanded(_elt_type)) {
- r7append(((T7*)(oBC94body)),((T0*)ms8_94));
- }
- else {
- r7append(((T7*)(oBC94body)),((T0*)ms9_94));
- }
- /*FI*/r7append(((T7*)(oBC94body)),((T0*)ms10_94));
- r324put_c_function(((T324*)(oBC364cpp)),oBC94header,oBC94body);
- }
- /*No:CALL_PREFIX_MINUS.arguments*/
- T0* r72add_comment(T72* 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 r72to_integer(T72* C){
- int R=0;
- T0* _rf1=NULL;
- _rf1=(((T72*)C))->_run_feature/*16*/;
- if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
- case 808:
- break;
- default:
- _rf1=NULL;
- };/*IF*/if ((_rf1)==((void*)(NULL))) {
- r72error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- }
- else {
- R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
- }
- /*FI*/return R;
- }
- int r72is_a(T72* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T72*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
- r72error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_MINUS.is_current*/
- void r72mapping_c_arg(T72* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T72*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- r72compile_to_c(C);
- }
- 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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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 {
- r72compile_to_c(C);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_PREFIX_MINUS.static_value*/
- void r72make(T72* C,T0* a1,T0* a2){
- {T406*n=malloc(sizeof(*n));
- *n=M406;
- r406make(n,r72operator(),a1);
- C->_feature_name=(T0*)n;
- }
- r72make_call0(C,a2,(((T72*)C))->_feature_name/*24*/);
- }
- void r72mapping_c_target(T72* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T72*)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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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*/)));
- }/*]*/
- /*]*/
- r72compile_to_c(C);
- /*[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 {
- r72compile_to_c(C);
- }
- /*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_PREFIX_MINUS.nb_errors*/
- /*No:CALL_PREFIX_MINUS.feature_name*/
- /*No:CALL_PREFIX_MINUS.fz_iinaiv*/
- /*No:CALL_PREFIX_MINUS.arg_count*/
- void r72dca_inline_argument(T72* C,T0* a1){
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\55';
- 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*/)));
- }/*]*/
- /*]*/
- X662dca_inline_argument((((T72*)C))->_target/*12*/,a1);
- /*[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*/)));
- }/*]*/
- /*]*/
- }
- /*No:CALL_PREFIX_MINUS.run_feature*/
- /*No:CALL_PREFIX_MINUS.call_proc_call_c2c*/
- /*No:CALL_PREFIX_MINUS.start_position*/
- /*No:CALL_PREFIX_MINUS.target*/
- void r72compile_to_c(T72* C){
- /*IF*/if ((r590boost(((T590*)(oBC364run_control))))&&(X291is_basic_eiffel_expanded(/*X496*/((T0*)(((T832*)((T832*)((((T72*)C))->_run_feature/*16*/))))->_current_type/*4*/)))) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\55';
- 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*/)));
- }/*]*/
- /*]*/
- X662compile_to_c((((T72*)C))->_target/*12*/);
- /*[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.6call_proc_call_c2c*/{T72* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- }
- /*FI*/}
- /*No:CALL_PREFIX_MINUS.c_simple*/
- T0* r72to_runnable(T72* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T72*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r72to_runnable_0(C,a1);
- /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T72*)C))->_run_feature/*16*/))>(0))) {
- r683add_position((((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*/);
- r72error(X496start_position((((T72*)C))->_run_feature/*16*/),((T0*)ms1_752));
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r72twin(C);
- /*[IRF3.3set_current_type*/((((T72*)(((T72*)R))))->_current_type)=(NULL);
- /*]*/
- R=r72to_runnable(((T72*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_MINUS.result_type*/
- /*No:CALL_PREFIX_MINUS.is_result*/
- T0* r72twin(T72* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T72*)R)=*C;
- return R;
- }
- /*No:CALL_PREFIX_MINUS.set_current_type*/
- T0* r72operator(void){
- T0* R=NULL;
- R=((T0*)ms37_473);
- return R;
- }
- int r72is_static(T72* C){
- int R=0;
- /*IF*/if (X291is_integer(X662result_type((((T72*)C))->_target/*12*/))) {
- /*IF*/if (X662is_static((((T72*)C))->_target/*12*/)) {
- R=1;
- C->_static_value_mem=-(X662static_value((((T72*)C))->_target/*12*/));
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_MINUS.fz_07*/
- int r72can_be_dropped(T72* C){
- int R=0;
- /*IF*/if (X662can_be_dropped((((T72*)C))->_target/*12*/)) {
- R=X496can_be_dropped((((T72*)C))->_run_feature/*16*/);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_MINUS.us_minus*/
- /*No:CALL_PREFIX_MINUS.current_type*/
- void r72compile_to_c_old(T72* C){
- X662compile_to_c_old((((T72*)C))->_target/*12*/);
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*No:CALL_PREFIX_MINUS.static_value_mem*/
- /*No:CALL_PREFIX_MINUS.is_manifest_string*/
- /*No:CALL_PREFIX_MINUS.is_void*/
- void r72to_runnable_0(T72* C,T0* a1){
- C->_current_type=a1;
- r72cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T72*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T72*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T72*)C))->_run_feature/*16*/));
- r72error((((T406*)((T406*)((((T72*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T72*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T72*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_PREFIX_MINUS.is_pre_computable*/
- void r72cpc_to_runnable(T72* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T72*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T72*)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((((T72*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T72*)C))->_target/*12*/,(((T72*)C))->_run_feature/*16*/);
- }
- int r72use_current(T72* C){
- int R=0;
- /*IF*//*AF*//*AE*/
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T72*)C))->_target/*12*/)) {
- R=X496use_current((((T72*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T72*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r72make_call0(T72* C,T0* a1,T0* a2){
- C->_target=a1;
- C->_feature_name=a2;
- }
- void r72finalize(T72* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T72*)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 r72error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r72isa_dca_inline_argument(T72* C){
- int R=0;
- /*IF*/if (X291is_integer((((T72*)C))->_result_type/*20*/)) {
- R=X662isa_dca_inline_argument((((T72*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_MINUS.fatal_error*/
- void r72afd_check(T72* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T72*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T72*)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((((T72*)C))->_target/*12*/,(((T72*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T72*)C))->_target/*12*/);
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*No:TYPE_REAL.id*/
- int fBC364type_real_ref=0;
- T0*oBC364type_real_ref=NULL;
- T0* r209type_real_ref(void){
- if (fBC364type_real_ref==0){
- T0* R=NULL;
- T0* _real_ref=NULL;
- fBC364type_real_ref=1;
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms24_473),NULL);
- _real_ref=(T0*)n;
- }
- {T657*n=malloc(sizeof(*n));
- *n=M657;
- /*[IRF3.3make*/((((T657*)(n)))->_base_class_name)=(_real_ref);
- /*]*/
- R=(T0*)n;
- }
- oBC364type_real_ref=R;}
- return oBC364type_real_ref;}
- int r209has_creation(T209* C,T0* a1){
- int R=0;
- r683add_position(X776start_position(a1));
- r209error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T209*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_84));
- return R;
- }
- /*No:TYPE_REAL.is_anchored*/
- /*No:TYPE_REAL.is_array*/
- /*No:TYPE_REAL.fz_typedef*/
- int r209is_a(T209* C,T0* a1){
- int R=0;
- /*IF*/if ((X291is_real(a1))||(X291is_double(a1))) {
- R=1;
- }
- else {
- R=r605is_subclass_of(((T605*)(r209base_class(C))),X291base_class(a1));
- /*IF*/if (R) {
- r209used_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_REAL.c_initialize_in*/
- /*No:TYPE_REAL.c_type_for_argument_in*/
- void r209gc_call_new_in(T0* a1){
- r7append(((T7*)a1),((T0*)ms115_470));
- r2append_in(4,a1);
- r7extend(((T7*)a1),'\50');
- r7extend(((T7*)a1),'\51');
- }
- /*No:TYPE_REAL.run_type*/
- /*No:TYPE_REAL.is_pointer*/
- /*No:TYPE_REAL.is_dummy_expanded*/
- /*No:TYPE_REAL.is_string*/
- int r209space_for_variable(void){
- int R=0;
- R=sizeof(T4);
- return R;
- }
- /*No:TYPE_REAL.is_like_feature*/
- /*No:TYPE_REAL.is_like_current*/
- void r209make(T209* C,T0* a1){
- {T451*n=malloc(sizeof(*n));
- *n=M451;
- r451make(n,((T0*)ms23_473),a1);
- C->_base_class_name=(T0*)n;
- }
- }
- /*No:TYPE_REAL.nb_errors*/
- /*No:TYPE_REAL.us_item*/
- void r209load_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 fBC209check_type=0;
- void r209check_type(T209* C){
- if (fBC209check_type==0){
- T0* _rc=NULL;
- T0* _bc=NULL;
- fBC209check_type=1;
- _bc=r209base_class(C);
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _rc=r209run_class(C);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- /*IF*/if (!((((T605*)((T605*)_bc)))->_is_expanded/*20*/)) {
- r209error(/*(IRF4.6start_position*/(((T451*)((T451*)((((T209*)C))->_base_class_name/*4*/))))->_start_position/*4*//*)*/,((T0*)ms1_209));
- }
- /*FI*/}
- /*FI*/}}
- /*No:TYPE_REAL.mapping_cast*/
- /*No:TYPE_REAL.start_position*/
- /*No:TYPE_REAL.c_type_for_target_in*/
- /*No:TYPE_REAL.fz_gc_mark*/
- /*No:TYPE_REAL.fz_inako*/
- /*No:TYPE_REAL.gc_initialize*/
- /*No:TYPE_REAL.fz_00*/
- /*No:TYPE_REAL.is_character*/
- /*No:TYPE_REAL.is_user_expanded*/
- T0* r209written_mark(void){
- T0* R=NULL;
- R=((T0*)ms23_473);
- return R;
- }
- /*No:TYPE_REAL.is_run_type*/
- T0* r209to_runnable(T209* C,T0* a1){
- T0* R=NULL;
- R=(T0*)C;
- r209check_type(C);
- return R;
- }
-
-