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"
- void r59make(T59* C,T0* a1,T0* a2){
- C->_name=a1;
- C->_constraint=a2;
- }
- /*No:FORMAL_GENERIC_ARG.name*/
- /*No:FORMAL_GENERIC_ARG.start_position*/
- /*No:FORMAL_GENERIC_ARG.constraint*/
- /*No:CALL_INFIX_PLUS.arguments*/
- T0* r253add_comment(T253* 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 r253to_integer(T253* C){
- int R=0;
- r253error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r253is_a(T253* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T253*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r253error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_PLUS.is_current*/
- void r253mapping_c_arg(T253* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T253*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T253* 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*/{T253* 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*/{T253* 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*/{T253* 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*/{T253* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_PLUS.static_value*/
- void r253make(T253* 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,r253operator(),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;
- }
- r253make_call_1(C,a1,(((T253*)C))->_feature_name/*28*/,_eal);
- }
- void r253mapping_c_target(T253* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T253*)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*/{T253* 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*/{T253* 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*/{T253* 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*/{T253* 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*/{T253* 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_PLUS.nb_errors*/
- /*No:CALL_INFIX_PLUS.feature_name*/
- /*No:CALL_INFIX_PLUS.fz_iinaiv*/
- /*No:CALL_INFIX_PLUS.arg_count*/
- void r253dca_inline_argument(T253* C,T0* 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*/)));
- }/*]*/
- /*]*/
- X662dca_inline_argument((((T253*)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*/)));
- }/*]*/
- /*]*/
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\53';
- 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(r253arg1(C),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_INFIX_PLUS.run_feature*/
- /*No:CALL_INFIX_PLUS.call_proc_call_c2c*/
- /*No:CALL_INFIX_PLUS.start_position*/
- /*No:CALL_INFIX_PLUS.target*/
- /*No:CALL_INFIX_PLUS.compile_to_c*/
- /*No:CALL_INFIX_PLUS.c_simple*/
- T0* r253to_runnable(T253* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T253*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r253to_runnable_0(C,a1);
- _a=X431to_runnable((((T253*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r253error(X662start_position(r253arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T253*)C))->_arguments/*24*/,(((T253*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T253*)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(r253arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r253twin(C);
- /*[IRF3.3set_current_type*/((((T253*)(((T253*)R))))->_current_type)=(NULL);
- /*]*/
- R=r253to_runnable(((T253*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_PLUS.result_type*/
- /*No:CALL_INFIX_PLUS.is_result*/
- T0* r253twin(T253* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T253*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_PLUS.set_current_type*/
- T0* r253operator(void){
- T0* R=NULL;
- R=((T0*)ms43_473);
- return R;
- }
- int r253is_static(T253* C){
- int R=0;
- /*IF*/if (X291is_integer((((T253*)C))->_result_type/*20*/)) {
- /*IF*/if ((X662is_static((((T253*)C))->_target/*12*/))&&(X662is_static(r253arg1(C)))) {
- R=1;
- C->_static_value_mem=(X662static_value((((T253*)C))->_target/*12*/))+(X662static_value(r253arg1(C)));
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_PLUS.fz_07*/
- /*No:CALL_INFIX_PLUS.can_be_dropped*/
- /*No:CALL_INFIX_PLUS.current_type*/
- void r253compile_to_c_old(T253* C){
- X662compile_to_c_old((((T253*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T253*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_PLUS.static_value_mem*/
- void r253make_call_1(T253* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_PLUS.is_manifest_string*/
- /*No:CALL_INFIX_PLUS.is_void*/
- void r253to_runnable_0(T253* C,T0* a1){
- C->_current_type=a1;
- r253cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T253*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T253*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T253*)C))->_run_feature/*16*/));
- r253error((((T454*)((T454*)((((T253*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T253*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T253*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_PLUS.is_pre_computable*/
- void r253cpc_to_runnable(T253* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T253*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T253*)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((((T253*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T253*)C))->_target/*12*/,(((T253*)C))->_run_feature/*16*/);
- }
- int r253use_current(T253* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T253*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T253*)C))->_target/*12*/)) {
- R=X496use_current((((T253*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T253*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r253finalize(T253* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T253*)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 r253error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r253isa_dca_inline_argument(T253* C){
- int R=0;
- /*IF*/if (X291is_integer((((T253*)C))->_result_type/*20*/)) {
- R=X662isa_dca_inline_argument((((T253*)C))->_target/*12*/);
- /*IF*/if ((R)==(-(1))) {
- R=X662isa_dca_inline_argument(r253arg1(C));
- }
- else if ((R)>(0)) {
- /*IF*/if ((X662isa_dca_inline_argument(r253arg1(C)))>=(0)) {
- R=0;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_PLUS.fatal_error*/
- /*No:CALL_INFIX_PLUS.fz_bad_argument*/
- /*No:CALL_INFIX_PLUS.us_plus*/
- T0* r253arg1(T253* C){
- T0* R=NULL;
- R=X431first((((T253*)C))->_arguments/*24*/);
- return R;
- }
- void r253afd_check(T253* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T253*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T253*)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((((T253*)C))->_target/*12*/,(((T253*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T253*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T253*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:PARENT.us_none*/
- void r877multiple_check(T877* C,T0* a1){
- T0* _fn2=NULL;
- T0* _fn1=NULL;
- int _i=0;
- T0* _bc2=NULL;
- T0* _bc1=NULL;
- _bc1=X291base_class((((T877*)C))->_type/*4*/);
- _bc2=X291base_class((((T877*)((T877*)a1)))->_type/*4*/);
- /*IF*/if ((((_bc1)==((void*)(_bc2)))||(r605is_subclass_of(((T605*)_bc1),_bc2)))||(r605is_subclass_of(((T605*)_bc2),_bc1))) {
- /*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
- _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/))))->_upper/*8*//*)*/;
- while (!((_i)==(0))) {
- _fn1=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/)),_i)/*)*/;
- /*IF*/if (((((T877*)((T877*)a1)))->_rename_list/*12*/)==((void*)(NULL))) {
- }
- else if (r644affect(((T644*)((((T877*)((T877*)a1)))->_rename_list/*12*/)),_fn1)) {
- _fn2=r644to_new_name(((T644*)((((T877*)((T877*)a1)))->_rename_list/*12*/)),_fn1);
- /*IF*/if ((_fn2)!=((void*)(_fn1))) {
- /*IF*/if (((((T877*)C))->_select_list/*28*/)!=((void*)(NULL))) {
- /*IF*/if (r953has(((T953*)((((T877*)C))->_select_list/*28*/)),_fn1)) {
- /*IF*/if (((((T877*)((T877*)a1)))->_select_list/*28*/)!=((void*)(NULL))) {
- /*IF*/if (r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2)) {
- r877select_conflict(_fn1,_fn2);
- }
- /*FI*/}
- /*FI*/}
- else if (((((T877*)((T877*)a1)))->_select_list/*28*/)==((void*)(NULL))) {
- r877missing_select(_fn1,_fn2);
- }
- else if (!(r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2))) {
- r877missing_select(_fn1,_fn2);
- }
- /*FI*/}
- else if (((((T877*)((T877*)a1)))->_select_list/*28*/)==((void*)(NULL))) {
- r877missing_select(_fn1,_fn2);
- }
- else if (!(r953has(((T953*)((((T877*)((T877*)a1)))->_select_list/*28*/)),_fn2))) {
- r877missing_select(_fn1,_fn2);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/}
- /*FI*/}
- /*No:PARENT.us_integer*/
- void r877get_started(T877* C,T0* a1){
- int _all_check=0;
- T0* _new_fn=NULL;
- T0* _old_fn=NULL;
- T0* _fn=NULL;
- T0* _pbc=NULL;
- T0* _wbc=NULL;
- int _i=0;
- _all_check=r590all_check(((T590*)(oBC364run_control)));
- C->_parent_list=a1;
- _pbc=X291base_class((((T877*)C))->_type/*4*/);
- _wbc=(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/;
- /*IF*/if ((_all_check)&&(((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL)))) {
- r644get_started(((T644*)((((T877*)C))->_rename_list/*12*/)),_pbc);
- }
- /*FI*//*IF*/if ((_all_check)&&(((((T877*)C))->_undefine_list/*20*/)!=((void*)(NULL)))) {
- _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_undefine_list/*20*/))))->_list/*0*/))))->_upper/*8*//*)*/;
- while (!((_i)==(0))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_undefine_list/*20*/))))->_list/*0*/)),_i)/*)*/;
- _old_fn=r877get_old_name(C,_fn);
- /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
- r683add_position(X776start_position(_fn));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms9_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*//*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
- _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/))))->_upper/*8*//*)*/;
- while (!((_i)==(0))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_redefine_list/*24*/))))->_list/*0*/)),_i)/*)*/;
- /*IF*/if (!(r605proper_has(((T605*)_wbc),_fn))) {
- r683add_position(X776start_position(_fn));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms10_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*//*IF*/if (_all_check) {
- _old_fn=r877get_old_name(C,_fn);
- /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
- r683add_position(X776start_position(_fn));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms11_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*//*IF*/if ((_all_check)&&(((((T877*)C))->_select_list/*28*/)!=((void*)(NULL)))) {
- _i=/*(IRF4.6count*/(((T855*)((T855*)((((T953*)((T953*)((((T877*)C))->_select_list/*28*/))))->_list/*0*/))))->_upper/*8*//*)*/;
- while (!((_i)==(0))) {
- _fn=/*(IRF4.6item*/r855item(((T855*)((((T953*)((T953*)((((T877*)C))->_select_list/*28*/))))->_list/*0*/)),_i)/*)*/;
- _old_fn=r877get_old_name(C,_fn);
- /*IF*/if (((_old_fn)==((void*)(NULL)))&&(!(r605has(((T605*)_pbc),_fn)))) {
- r683add_position(X776start_position(_fn));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms16_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/_new_fn=r877get_new_name(C,_fn);
- /*IF*/if ((_new_fn)!=((void*)(NULL))) {
- /*IF*/if ((r877get_old_name(C,_new_fn))==((void*)(NULL))) {
- r683add_position(X776start_position(_new_fn));
- r683add_position(X776start_position(_fn));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms16_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*FI*/_i=(_i)-(1);
- }
- }
- /*FI*/}
- /*No:PARENT.select_list*/
- /*No:PARENT.undefine_memory1*/
- T0* r877get_new_name(T877* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL))) {
- R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
- /*IF*/if ((R)==((void*)(a1))) {
- R=NULL;
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0* r877get_old_name(T877* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)!=((void*)(NULL))) {
- R=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
- /*IF*/if ((R)==((void*)(a1))) {
- R=NULL;
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r877make(T877* C,T0* a1){
- C->_type=a1;
- /*IF*/if (r52fast_has(((T52*)(oBC877forbidden_parent_list)),X291written_mark((((T877*)C))->_type/*4*/))) {
- r683add_position(X291start_position((((T877*)C))->_type/*4*/));
- /*[IRF3.6append*/{T0* b1=((T0*)ms1_877);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X291written_mark((((T877*)C))->_type/*4*/);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*No:PARENT.rename_list*/
- /*No:PARENT.parent_list*/
- /*No:PARENT.us_pointer*/
- void r877set_select(T877* C,T0* a1){
- {T953*n=malloc(sizeof(*n));
- *n=M953;
- r953make(n,a1);
- C->_select_list=(T0*)n;
- }
- }
- /*No:PARENT.type*/
- T0* r877going_down(T877* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _previous=NULL;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- R=a2;
- }
- else {
- R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
- }
- /*FI*//*IF*/if (!(r854empty(((T854*)a1)))) {
- _previous=r854last(((T854*)a1));
- r854remove_last(((T854*)a1));
- R=r877going_down(((T877*)_previous),a1,R);
- }
- /*FI*/return R;
- }
- /*No:PARENT.set_comment*/
- /*No:PARENT.undefine_memory2*/
- T0* r877start_position(T877* C){
- T0* R=NULL;
- R=X291start_position((((T877*)C))->_type/*4*/);
- return R;
- }
- /*No:PARENT.comment*/
- T0* r877do_rename(T877* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- R=a1;
- }
- else {
- R=r644to_new_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
- }
- /*FI*/return R;
- }
- int r877has_select_for(T877* C,T0* a1){
- int R=0;
- /*IF*/if (((((T877*)C))->_select_list/*28*/)!=((void*)(NULL))) {
- R=r953has(((T953*)((((T877*)C))->_select_list/*28*/)),a1);
- }
- /*FI*/return R;
- }
- /*No:PARENT.export_list*/
- void r877add_rename(T877* C,T0* a1){
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- {T644*n=malloc(sizeof(*n));
- *n=M644;
- /*[IRF3.3make*/((((T644*)(n)))->_list)=(se_ma552(1,a1));
- /*]*/
- C->_rename_list=(T0*)n;
- }
- }
- else {
- /*[IRF3.5add_last*/r552add_last(((T552*)((((T644*)((T644*)((((T877*)C))->_rename_list/*12*/))))->_list/*0*/)),a1);
- /*]*/
- }
- /*FI*/}
- /*No:PARENT.us_character*/
- /*No:PARENT.em1*/
- /*No:PARENT.us_real*/
- T0* r877up_to_original(T877* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _bc=NULL;
- T0* _old_name=NULL;
- _bc=X291base_class((((T877*)C))->_type/*4*/);
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- R=r605up_to_original(((T605*)_bc),a1,a2);
- }
- else if (r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)) {
- _old_name=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
- /*IF*/if ((_old_name)!=((void*)(a2))) {
- R=r605up_to_original(((T605*)_bc),a1,_old_name);
- }
- /*FI*/}
- else {
- R=r605up_to_original(((T605*)_bc),a1,a2);
- }
- /*FI*/return R;
- }
- void r877select_conflict(T0* a1,T0* a2){
- r683add_position(X776start_position(a1));
- r683add_position(X776start_position(a2));
- /*[IRF3.6append*/{T0* b1=((T0*)ms14_877);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- T0* r877smallest_ancestor(T877* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (X291is_generic((((T877*)C))->_type/*4*/)) {
- R=X291to_runnable((((T877*)C))->_type/*4*/,a1);
- }
- else {
- R=(((T877*)C))->_type/*4*/;
- }
- /*FI*/return R;
- }
- int r877has(T877* C,T0* a1){
- int R=0;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- R=r605has(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
- }
- else {
- R=r605has(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1));
- }
- /*FI*/return R;
- }
- void r877missing_select(T0* a1,T0* a2){
- r683add_position(X776start_position(a1));
- r683add_position(X776start_position(a2));
- /*[IRF3.6append*/{T0* b1=((T0*)ms15_877);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*No:PARENT.us_bit*/
- /*No:PARENT.fz_09*/
- int r877has_redefine(T877* C,T0* a1){
- int R=0;
- /*IF*/if (((((T877*)C))->_redefine_list/*24*/)!=((void*)(NULL))) {
- R=r953has(((T953*)((((T877*)C))->_redefine_list/*24*/)),a1);
- }
- /*FI*/return R;
- }
- int r877has_undefine(T877* C,T0* a1){
- int R=0;
- /*IF*/if (((((T877*)C))->_undefine_list/*20*/)!=((void*)(NULL))) {
- R=r953has(((T953*)((((T877*)C))->_undefine_list/*20*/)),a1);
- }
- /*FI*/return R;
- }
- T0* r877look_up_for(T877* C,T0* a1,T0* a2){
- T0* R=NULL;
- T0* _f=NULL;
- T0* _fn2=NULL;
- /*IF*/if ((((((T877*)C))->_rename_list/*12*/)==((void*)(NULL)))||(!(r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)))) {
- _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,a2);
- R=r877apply_undefine(C,_f,a2);
- }
- else {
- _fn2=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
- /*IF*/if ((_fn2)!=((void*)(a2))) {
- _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,_fn2);
- R=r877apply_undefine(C,_f,_fn2);
- }
- else {
- _f=X291look_up_for((((T877*)C))->_type/*4*/,a1,a2);
- /*IF*/if ((_f)==((void*)(NULL))) {
- r683add_position(X776start_position(a2));
- /*[IRF3.6append*/{T0* b1=((T0*)ms143_470);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6append*/{T0* b1=X776to_string(a2);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms3_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- T0*oBC877forbidden_parent_list=NULL;
- /*No:PARENT.us_boolean*/
- /*No:PARENT.us_double*/
- T0* r877clients_for(T877* C,T0* a1){
- T0* R=NULL;
- T0* _old_fn=NULL;
- /*IF*/if (((((T877*)C))->_rename_list/*12*/)==((void*)(NULL))) {
- /*IF*/if (((((T877*)C))->_export_list/*16*/)==((void*)(NULL))) {
- R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
- }
- else {
- R=r671clients_for(((T671*)((((T877*)C))->_export_list/*16*/)),a1);
- /*IF*/if ((R)==((void*)(NULL))) {
- R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1);
- }
- /*FI*/}
- /*FI*/}
- else {
- _old_fn=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a1);
- /*IF*/if (((((T877*)C))->_export_list/*16*/)==((void*)(NULL))) {
- R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),_old_fn);
- }
- else {
- R=r671clients_for(((T671*)((((T877*)C))->_export_list/*16*/)),_old_fn);
- /*IF*/if ((R)==((void*)(NULL))) {
- R=r605clients_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),_old_fn);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- void r877set_redefine(T877* C,T0* a1){
- {T953*n=malloc(sizeof(*n));
- *n=M953;
- r953make(n,a1);
- C->_redefine_list=(T0*)n;
- }
- }
- void r877set_undefine(T877* C,T0* a1){
- {T953*n=malloc(sizeof(*n));
- *n=M953;
- r953make(n,a1);
- C->_undefine_list=(T0*)n;
- }
- }
- T0* r877going_up(T877* C,T0* a1,T0* a2,T0* a3){
- T0* R=NULL;
- T0* _bc=NULL;
- _bc=X291base_class((((T877*)C))->_type/*4*/);
- /*IF*/if ((_bc)==((void*)(a2))) {
- R=r877going_down(C,a1,a3);
- }
- else if (r605is_general(((T605*)_bc))) {
- R=r877going_down(C,a1,a3);
- }
- else if (r605is_subclass_of(((T605*)_bc),a2)) {
- r854add_last(((T854*)a1),(T0*)C);
- R=r605going_up(((T605*)_bc),a1,a2,a3);
- }
- /*FI*/return R;
- }
- int r877is_a_vncg(T877* C,T0* a1,T0* a2){
- int R=0;
- T0* _t2_bcn=NULL;
- T0* _type_bcn=NULL;
- T0* _t2_bc=NULL;
- T0* _type_bc=NULL;
- T0* _rt=NULL;
- T0* _tfg=NULL;
- T0* _gl2=NULL;
- T0* _gl1=NULL;
- T0* _gl=NULL;
- int _i=0;
- int _rank=0;
- _type_bc=X291base_class((((T877*)C))->_type/*4*/);
- _type_bcn=(((T451*)((T451*)((((T605*)((T605*)_type_bc)))->_base_class_name/*24*/))))->_to_string/*0*/;
- _t2_bc=X291base_class(a2);
- _t2_bcn=(((T451*)((T451*)((((T605*)((T605*)_t2_bc)))->_base_class_name/*24*/))))->_to_string/*0*/;
- /*IF*/if ((_type_bcn)==((void*)(_t2_bcn))) {
- _gl=X291generic_list((((T877*)C))->_type/*4*/);
- _gl2=X291generic_list(a2);
- /*IF*/if (((_gl)==((void*)(NULL)))||((r701count(((T701*)_gl)))!=(r701count(((T701*)_gl2))))) {
- r683add_position(X291start_position((((T877*)C))->_type/*4*/));
- r683add_position(X291start_position(a2));
- /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms4_877);
- r683fatal_error(((T683*)(oBC364eh)),b1);
- }/*]*/
- }
- /*FI*//*IF*/if (X291is_generic(a1)) {
- _gl1=X291generic_list(a1);
- R=1;
- _i=r701count(((T701*)_gl2));
- while (!((!(R))||((_i)==(0)))) {
- /*IF*/if (X291is_formal_generic(r701item(((T701*)_gl),_i))) {
- _tfg=r701item(((T701*)_gl),_i);
- if(NULL!=(_tfg))switch(((T0*)_tfg)->id) {
- case 283:
- break;
- default:
- _tfg=NULL;
- };_rank=(((T283*)((T283*)_tfg)))->_rank/*8*/;
- R=X291is_a(r701item(((T701*)_gl1),_rank),r701item(((T701*)_gl2),_i));
- }
- else {
- _rt=X291run_type(X291to_runnable(r701item(((T701*)_gl),_i),a1));
- R=X291is_a(_rt,r701item(((T701*)_gl2),_i));
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- else {
- R=X291is_a((((T877*)C))->_type/*4*/,a2);
- }
- /*FI*//*IF*/if (!(R)) {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- /*FI*/}
- else if (r605is_subclass_of(((T605*)_type_bc),_t2_bc)) {
- /*IF*/if (X291is_generic(a1)) {
- _rt=X291run_type(X291to_runnable((((T877*)C))->_type/*4*/,a1));
- R=r605is_a_vncg(((T605*)_type_bc),_rt,a2);
- }
- else {
- R=r605is_a_vncg(((T605*)_type_bc),(((T877*)C))->_type/*4*/,a2);
- }
- /*FI*//*IF*/if (!(R)) {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r877collect_for(T877* C,int a1,T0* a2){
- T0* _fn2=NULL;
- /*IF*/if ((((((T877*)C))->_rename_list/*12*/)==((void*)(NULL)))||(!(r644affect(((T644*)((((T877*)C))->_rename_list/*12*/)),a2)))) {
- r605collect_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1,a2);
- }
- else {
- _fn2=r644to_old_name(((T644*)((((T877*)C))->_rename_list/*12*/)),a2);
- /*IF*/if ((_fn2)!=((void*)(a2))) {
- r605collect_for(((T605*)(X291base_class((((T877*)C))->_type/*4*/))),a1,_fn2);
- }
- /*FI*/}
- /*FI*/}
- /*No:PARENT.fatal_error*/
- /*No:PARENT.redefine_list*/
- /*No:PARENT.us_native_array*/
- /*No:PARENT.set_export*/
- T0* r877apply_undefine(T877* C,T0* a1,T0* a2){
- T0* R=NULL;
- int _index=0;
- T0* _fnkey=NULL;
- /*IF*/if (r877has_undefine(C,a2)) {
- _fnkey=X776to_key(a2);
- /*IF*/if (((((T877*)C))->_undefine_memory1/*32*/)==((void*)(NULL))) {
- C->_undefine_memory1=se_ma52(1,_fnkey);
- R=X359try_to_undefine(a1,a2,(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/);
- C->_undefine_memory2=se_ma495(1,R);
- }
- else {
- _index=r52fast_index_of(((T52*)((((T877*)C))->_undefine_memory1/*32*/)),_fnkey);
- /*IF*/if ((_index)>((((T52*)((T52*)((((T877*)C))->_undefine_memory1/*32*/))))->_upper/*8*/)) {
- r52add_last(((T52*)((((T877*)C))->_undefine_memory1/*32*/)),_fnkey);
- R=X359try_to_undefine(a1,a2,(((T673*)((T673*)((((T877*)C))->_parent_list/*0*/))))->_base_class/*0*/);
- r495add_last(((T495*)((((T877*)C))->_undefine_memory2/*36*/)),R);
- }
- else {
- R=r495item(((T495*)((((T877*)C))->_undefine_memory2/*36*/)),_index);
- }
- /*FI*/}
- /*FI*/}
- else {
- R=a1;
- }
- /*FI*/return R;
- }
- /*No:PARENT.undefine_list*/
- /*No:CALL_INFIX_OR_ELSE.arguments*/
- T0* r278add_comment(T278* 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 r278to_integer(T278* C){
- int R=0;
- r278error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r278is_a(T278* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T278*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r278error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_OR_ELSE.is_current*/
- void r278mapping_c_arg(T278* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T278*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T278* 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*/{T278* 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*/{T278* 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*/{T278* 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*/{T278* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_OR_ELSE.static_value*/
- void r278make(T278* 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,r278operator(),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;
- }
- r278make_call_1(C,a1,(((T278*)C))->_feature_name/*28*/,_eal);
- }
- void r278mapping_c_target(T278* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T278*)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*/{T278* 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*/{T278* 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*/{T278* 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*/{T278* 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*/{T278* 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_OR_ELSE.nb_errors*/
- /*No:CALL_INFIX_OR_ELSE.feature_name*/
- /*No:CALL_INFIX_OR_ELSE.fz_iinaiv*/
- /*No:CALL_INFIX_OR_ELSE.arg_count*/
- /*No:CALL_INFIX_OR_ELSE.dca_inline_argument*/
- /*No:CALL_INFIX_OR_ELSE.run_feature*/
- /*No:CALL_INFIX_OR_ELSE.call_proc_call_c2c*/
- /*No:CALL_INFIX_OR_ELSE.start_position*/
- /*No:CALL_INFIX_OR_ELSE.us_or_else*/
- /*No:CALL_INFIX_OR_ELSE.target*/
- /*No:CALL_INFIX_OR_ELSE.compile_to_c*/
- /*No:CALL_INFIX_OR_ELSE.c_simple*/
- T0* r278to_runnable(T278* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T278*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r278to_runnable_0(C,a1);
- _a=X431to_runnable((((T278*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r278error(X662start_position(r278arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T278*)C))->_arguments/*24*/,(((T278*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T278*)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(r278arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r278twin(C);
- /*[IRF3.3set_current_type*/((((T278*)(((T278*)R))))->_current_type)=(NULL);
- /*]*/
- R=r278to_runnable(((T278*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_OR_ELSE.result_type*/
- /*No:CALL_INFIX_OR_ELSE.is_result*/
- T0* r278twin(T278* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T278*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_OR_ELSE.set_current_type*/
- T0* r278operator(void){
- T0* R=NULL;
- R=((T0*)ms42_473);
- return R;
- }
- int r278is_static(T278* C){
- int R=0;
- /*IF*/if (X291is_boolean(X662result_type((((T278*)C))->_target/*12*/))) {
- /*IF*/if (X662is_static((((T278*)C))->_target/*12*/)) {
- /*IF*/if ((X662static_value((((T278*)C))->_target/*12*/))==(1)) {
- R=1;
- C->_static_value_mem=1;
- }
- else {
- R=X662is_static(r278arg1(C));
- C->_static_value_mem=X662static_value(r278arg1(C));
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_OR_ELSE.fz_07*/
- /*No:CALL_INFIX_OR_ELSE.can_be_dropped*/
- /*No:CALL_INFIX_OR_ELSE.current_type*/
- void r278compile_to_c_old(T278* C){
- X662compile_to_c_old((((T278*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T278*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_OR_ELSE.static_value_mem*/
- void r278make_call_1(T278* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_OR_ELSE.is_manifest_string*/
- /*No:CALL_INFIX_OR_ELSE.is_void*/
- void r278to_runnable_0(T278* C,T0* a1){
- C->_current_type=a1;
- r278cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T278*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T278*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T278*)C))->_run_feature/*16*/));
- r278error((((T454*)((T454*)((((T278*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T278*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T278*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_OR_ELSE.is_pre_computable*/
- void r278cpc_to_runnable(T278* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T278*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T278*)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((((T278*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T278*)C))->_target/*12*/,(((T278*)C))->_run_feature/*16*/);
- }
- int r278use_current(T278* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T278*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T278*)C))->_target/*12*/)) {
- R=X496use_current((((T278*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T278*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r278finalize(T278* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T278*)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 r278error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_OR_ELSE.isa_dca_inline_argument*/
- /*No:CALL_INFIX_OR_ELSE.fatal_error*/
- /*No:CALL_INFIX_OR_ELSE.fz_bad_argument*/
- T0* r278arg1(T278* C){
- T0* R=NULL;
- R=X431first((((T278*)C))->_arguments/*24*/);
- return R;
- }
- void r278afd_check(T278* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T278*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T278*)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((((T278*)C))->_target/*12*/,(((T278*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T278*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T278*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:FILE_TOOLS.delete*/
- int r670same_files(T0* a1,T0* a2){
- int R=0;
- r675connect_to(((T675*)(oBC670std_fr1)),a1);
- /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/) {
- r675connect_to(((T675*)(oBC670std_fr2)),a2);
- /*IF*/if (/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr2))))->_path/*4*/)!=(NULL)/*)*/) {
- R=r675same_as(((T675*)(oBC670std_fr1)),oBC670std_fr2);
- }
- /*FI*/}
- else {
- r675disconnect(((T675*)(oBC670std_fr1)));
- }
- /*FI*/return R;
- }
- T0*oBC670std_fr1=NULL;
- T0*oBC670std_fr2=NULL;
- int r670is_readable(T0* a1){
- int R=0;
- r675connect_to(((T675*)(oBC670std_fr1)),a1);
- R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC670std_fr1))))->_path/*4*/)!=(NULL)/*)*/;
- /*IF*/if (R) {
- r675disconnect(((T675*)(oBC670std_fr1)));
- }
- /*FI*/return R;
- }
- /*No:FILE_TOOLS.rename_to*/
- /*No:CALL_PREFIX_PLUS.arguments*/
- T0* r767add_comment(T767* 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 r767to_integer(T767* C){
- int R=0;
- T0* _rf1=NULL;
- _rf1=(((T767*)C))->_run_feature/*16*/;
- if(NULL!=(_rf1))switch(((T0*)_rf1)->id) {
- case 808:
- break;
- default:
- _rf1=NULL;
- };/*IF*/if ((_rf1)==((void*)(NULL))) {
- r767error(/*(IRF4.6start_position*/(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- }
- else {
- R=X662to_integer((((T808*)((T808*)_rf1)))->_value/*48*/);
- }
- /*FI*/return R;
- }
- int r767is_a(T767* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T767*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
- r767error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_PLUS.is_current*/
- void r767mapping_c_arg(T767* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T767*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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 {
- r767compile_to_c(C);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_PREFIX_PLUS.static_value*/
- void r767make(T767* C,T0* a1,T0* a2){
- {T406*n=malloc(sizeof(*n));
- *n=M406;
- r406make(n,r767operator(),a1);
- C->_feature_name=(T0*)n;
- }
- r767make_call0(C,a2,(((T767*)C))->_feature_name/*24*/);
- }
- void r767mapping_c_target(T767* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T767*)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*/)));
- }/*]*/
- /*]*/
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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*/)));
- }/*]*/
- /*]*/
- r767compile_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 {
- r767compile_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_PLUS.nb_errors*/
- /*No:CALL_PREFIX_PLUS.feature_name*/
- /*No:CALL_PREFIX_PLUS.fz_iinaiv*/
- /*No:CALL_PREFIX_PLUS.arg_count*/
- void r767dca_inline_argument(T767* C,T0* a1){
- X662dca_inline_argument((((T767*)C))->_target/*12*/,a1);
- }
- /*No:CALL_PREFIX_PLUS.run_feature*/
- /*No:CALL_PREFIX_PLUS.call_proc_call_c2c*/
- /*No:CALL_PREFIX_PLUS.start_position*/
- /*No:CALL_PREFIX_PLUS.target*/
- /*No:CALL_PREFIX_PLUS.us_is_expanded_type*/
- void r767compile_to_c(T767* C){
- T0* _n=NULL;
- _n=(((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_to_string/*4*/;
- /*IF*/if ((((T0*)ms83_473))==((void*)(_n))) {
- /*IF*/if (X291is_expanded(X291run_type(X662result_type((((T767*)C))->_target/*12*/)))) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='1';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='0';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- else if ((((T0*)ms82_473))==((void*)(_n))) {
- /*IF*/if (X291is_basic_eiffel_expanded(X662result_type((((T767*)C))->_target/*12*/))) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='1';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- else {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='0';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- else {
- /*[IRF3.6call_proc_call_c2c*/{T767* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- }
- /*FI*/}
- /*No:CALL_PREFIX_PLUS.c_simple*/
- T0* r767to_runnable(T767* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T767*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r767to_runnable_0(C,a1);
- /*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((X496arg_count((((T767*)C))->_run_feature/*16*/))>(0))) {
- r683add_position((((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*/);
- r767error(X496start_position((((T767*)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=r767twin(C);
- /*[IRF3.3set_current_type*/((((T767*)(((T767*)R))))->_current_type)=(NULL);
- /*]*/
- R=r767to_runnable(((T767*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_PLUS.result_type*/
- /*No:CALL_PREFIX_PLUS.is_result*/
- T0* r767twin(T767* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T767*)R)=*C;
- return R;
- }
- /*No:CALL_PREFIX_PLUS.set_current_type*/
- T0* r767operator(void){
- T0* R=NULL;
- R=((T0*)ms43_473);
- return R;
- }
- int r767is_static(T767* C){
- int R=0;
- /*IF*/if (X291is_integer(X662result_type((((T767*)C))->_target/*12*/))) {
- /*IF*/if (X662is_static((((T767*)C))->_target/*12*/)) {
- R=1;
- C->_static_value_mem=X662static_value((((T767*)C))->_target/*12*/);
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_PLUS.fz_07*/
- /*No:CALL_PREFIX_PLUS.us_is_basic_expanded_type*/
- int r767can_be_dropped(T767* C){
- int R=0;
- /*IF*/if (X662can_be_dropped((((T767*)C))->_target/*12*/)) {
- R=X496can_be_dropped((((T767*)C))->_run_feature/*16*/);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_PLUS.current_type*/
- void r767compile_to_c_old(T767* C){
- X662compile_to_c_old((((T767*)C))->_target/*12*/);
- /*IF*//*AF*//*AE*/
- /*FI*/}
- /*No:CALL_PREFIX_PLUS.static_value_mem*/
- /*No:CALL_PREFIX_PLUS.is_manifest_string*/
- /*No:CALL_PREFIX_PLUS.is_void*/
- void r767to_runnable_0(T767* C,T0* a1){
- C->_current_type=a1;
- r767cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T767*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T767*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T767*)C))->_run_feature/*16*/));
- r767error((((T406*)((T406*)((((T767*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T767*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T767*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_PREFIX_PLUS.is_pre_computable*/
- void r767cpc_to_runnable(T767* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T767*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T767*)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((((T767*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T767*)C))->_target/*12*/,(((T767*)C))->_run_feature/*16*/);
- }
- int r767use_current(T767* C){
- int R=0;
- /*IF*//*AF*//*AE*/
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T767*)C))->_target/*12*/)) {
- R=X496use_current((((T767*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T767*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r767make_call0(T767* C,T0* a1,T0* a2){
- C->_target=a1;
- C->_feature_name=a2;
- }
- void r767finalize(T767* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T767*)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 r767error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- int r767isa_dca_inline_argument(T767* C){
- int R=0;
- /*IF*/if (X291is_integer((((T767*)C))->_result_type/*20*/)) {
- R=X662isa_dca_inline_argument((((T767*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- /*No:CALL_PREFIX_PLUS.fatal_error*/
- /*No:CALL_PREFIX_PLUS.us_plus*/
- void r767afd_check(T767* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T767*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T767*)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((((T767*)C))->_target/*12*/,(((T767*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T767*)C))->_target/*12*/);
- /*IF*//*AF*//*AE*/
- /*FI*/}
- T0* r880add_comment(T880* 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 {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
- R=(T0*)C;
- }
- else {
- {T46*n=malloc(sizeof(*n));
- *n=M46;
- r46make(n,(T0*)C,a1);
- R=(T0*)n;
- }
- }
- /*FI*/}
- /*FI*/return R;
- }
- /*No:E_LOOP.fz_is_not_boolean*/
- void r880make(T880* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
- C->_start_position=a1;
- C->_initialize=a2;
- C->_invariant_clause=a3;
- C->_variant_clause=a4;
- C->_until_expression=a5;
- C->_loop_body=a6;
- }
- /*No:E_LOOP.nb_errors*/
- /*No:E_LOOP.start_position*/
- /*No:E_LOOP.until_expression*/
- void r880compile_to_c(T880* C){
- int _invariant_flag=0;
- int _variant_flag=0;
- int _loop_check=0;
- _loop_check=r590loop_check(((T590*)(oBC364run_control)));
- /*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms1_880));
- /*]*/
- _variant_flag=1;
- }
- /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
- r592compile_to_c(((T592*)((((T880*)C))->_initialize/*12*/)));
- }
- /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
- r213compile_to_c(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
- _invariant_flag=1;
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms2_880));
- /*]*/
- /*IF*/if (r590no_check(((T590*)(oBC364run_control)))) {
- r324trace_boolean_expression(((T324*)(oBC364cpp)),(((T880*)C))->_until_expression/*24*/);
- }
- else {
- X662compile_to_c((((T880*)C))->_until_expression/*24*/);
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms3_880));
- /*]*/
- /*IF*/if (_variant_flag) {
- r324variant_check(((T324*)(oBC364cpp)),/*X856*/((T0*)(((T145*)((T145*)((((T880*)C))->_variant_clause/*20*/))))->_expression/*8*/));
- }
- /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
- r592compile_to_c(((T592*)((((T880*)C))->_loop_body/*28*/)));
- }
- /*FI*//*IF*/if (_invariant_flag) {
- r213compile_to_c(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
- }
- /*FI*//*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470));
- /*]*/
- /*IF*/if (_variant_flag) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms146_470));
- /*]*/
- }
- /*FI*/}
- T0* r880to_runnable(T880* C,T0* a1){
- T0* R=NULL;
- int _loop_check=0;
- T0* _ue=NULL;
- _loop_check=r590loop_check(((T590*)(oBC364run_control)));
- /*IF*/if (((((T880*)C))->_run_compound/*4*/)==((void*)(NULL))) {
- C->_run_compound=a1;
- /*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
- C->_initialize=r592to_runnable(((T592*)((((T880*)C))->_initialize/*12*/)),r880current_type(C));
- /*IF*/if (((((T880*)C))->_initialize/*12*/)==((void*)(NULL))) {
- r880error((((T880*)C))->_start_position/*8*/,((T0*)ms4_880));
- }
- /*FI*/}
- /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
- C->_invariant_clause=r213to_runnable(((T213*)((((T880*)C))->_invariant_clause/*16*/)),(((T592*)((T592*)a1)))->_current_type/*4*/);
- /*IF*/if (((((T880*)C))->_invariant_clause/*16*/)==((void*)(NULL))) {
- r880error((((T880*)C))->_start_position/*8*/,((T0*)ms5_880));
- }
- /*FI*/}
- /*FI*//*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
- C->_variant_clause=X856to_runnable((((T880*)C))->_variant_clause/*20*/,r880current_type(C));
- /*IF*/if (((((T880*)C))->_variant_clause/*20*/)==((void*)(NULL))) {
- r880error((((T880*)C))->_start_position/*8*/,((T0*)ms6_880));
- }
- /*FI*/}
- /*FI*/_ue=X662to_runnable((((T880*)C))->_until_expression/*24*/,r880current_type(C));
- /*IF*/if ((_ue)!=((void*)(NULL))) {
- /*IF*/if (!(X291is_boolean(X662result_type(_ue)))) {
- r880error(X662start_position(_ue),((T0*)ms7_880));
- r683add_type(X662result_type(_ue),((T0*)ms73_470));
- r683print_as_error(((T683*)(oBC364eh)));
- }
- /*FI*/C->_until_expression=_ue;
- }
- else {
- r880error((((T880*)C))->_start_position/*8*/,((T0*)ms8_880));
- }
- /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
- C->_loop_body=r592to_runnable(((T592*)((((T880*)C))->_loop_body/*28*/)),r880current_type(C));
- /*IF*/if (((((T880*)C))->_loop_body/*28*/)==((void*)(NULL))) {
- r880error((((T880*)C))->_start_position/*8*/,((T0*)ms9_880));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- {T880*n=malloc(sizeof(*n));
- *n=M880;
- r880make(n,(((T880*)C))->_start_position/*8*/,(((T880*)C))->_initialize/*12*/,(((T880*)C))->_invariant_clause/*16*/,(((T880*)C))->_variant_clause/*20*/,(((T880*)C))->_until_expression/*24*/,(((T880*)C))->_loop_body/*28*/);
- R=(T0*)n;
- }
- R=r880to_runnable(((T880*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:E_LOOP.fz_12*/
- /*No:E_LOOP.variant_clause*/
- /*No:E_LOOP.invariant_clause*/
- /*No:E_LOOP.loop_body*/
- T0* r880current_type(T880* C){
- T0* R=NULL;
- /*IF*/if (((((T880*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
- R=(((T592*)((T592*)((((T880*)C))->_run_compound/*4*/))))->_current_type/*4*/;
- }
- /*FI*/return R;
- }
- /*No:E_LOOP.run_compound*/
- /*No:E_LOOP.is_pre_computable*/
- int r880use_current(T880* C){
- int R=0;
- int _loop_check=0;
- _loop_check=r590loop_check(((T590*)(oBC364run_control)));
- /*IF*/if ((_loop_check)&&(((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL)))) {
- R=(R)||(X856use_current((((T880*)C))->_variant_clause/*20*/));
- }
- /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
- R=(R)||(r592use_current(((T592*)((((T880*)C))->_initialize/*12*/))));
- }
- /*FI*/R=(R)||(X662use_current((((T880*)C))->_until_expression/*24*/));
- /*IF*/if ((_loop_check)&&(((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL)))) {
- R=(R)||(r213use_current(((T213*)((((T880*)C))->_invariant_clause/*16*/))));
- }
- /*FI*//*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
- R=(R)||(r592use_current(((T592*)((((T880*)C))->_loop_body/*28*/))));
- }
- /*FI*/return R;
- }
- void r880error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:E_LOOP.end_mark_comment*/
- /*No:E_LOOP.initialize*/
- void r880afd_check(T880* C){
- /*IF*/if (r590loop_check(((T590*)(oBC364run_control)))) {
- /*IF*/if (((((T880*)C))->_variant_clause/*20*/)!=((void*)(NULL))) {
- X856afd_check((((T880*)C))->_variant_clause/*20*/);
- }
- /*FI*//*IF*/if (((((T880*)C))->_invariant_clause/*16*/)!=((void*)(NULL))) {
- r213afd_check(((T213*)((((T880*)C))->_invariant_clause/*16*/)));
- }
- /*FI*/}
- /*FI*//*IF*/if (((((T880*)C))->_initialize/*12*/)!=((void*)(NULL))) {
- r592afd_check(((T592*)((((T880*)C))->_initialize/*12*/)));
- }
- /*FI*/X662afd_check((((T880*)C))->_until_expression/*24*/);
- /*IF*/if (((((T880*)C))->_loop_body/*28*/)!=((void*)(NULL))) {
- r592afd_check(((T592*)((((T880*)C))->_loop_body/*28*/)));
- }
- /*FI*/}
- void r393good_end(T393* C,T0* a1){
- /*IF*/if (!(r7has_string(((T7*)(r52item(((T52*)((((T393*)C))->_list/*4*/)),1))),(((T451*)((T451*)a1)))->_to_string/*0*/))) {
- r683add_position((((T451*)((T451*)a1)))->_start_position/*4*/);
- r393warning((((T393*)C))->_start_position/*0*/,((T0*)ms10_393));
- }
- /*FI*/}
- void r393make(T393* C,T0* a1,T0* a2){
- C->_start_position=a1;
- C->_list=a2;
- }
- /*No:COMMENT.start_position*/
- /*No:COMMENT.list*/
- /*No:COMMENT.count*/
- /*No:COMMENT.add_last*/
- void r393append(T393* C,T0* a1){
- int _i=0;
- _i=1;
- while (!((_i)>((((T52*)((T52*)((((T393*)((T393*)a1)))->_list/*4*/))))->_upper/*8*/))) {
- /*[IRF3.5add_last*/r52add_last(((T52*)((((T393*)C))->_list/*4*/)),r52item(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)),_i));
- /*]*/
- _i=(_i)+(1);
- }
- }
- void r393warning(T0* a1,T0* a2){
- r683add_position(a1);
- r683warning(((T683*)(oBC364eh)),a2);
- }
- void r723make(T723* C,T0* a1,T0* a2){
- C->_name=a1;
- /*X361*//*[IRF3.3set_result_type*/((((T886*)(((T886*)((((T723*)C))->_name/*4*/)))))->_result_type)=(a2);
- /*]*/
- }
- /*No:DECLARATION_1.name*/
- void r723append_in(T723* C,T0* a1){
- X535add_last(a1,(((T723*)C))->_name/*4*/);
- }
- /*No:DECLARATION_1.count*/
- /*No:INDEX_LIST.make*/
- /*No:INDEX_LIST.list*/
-
-