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 r517make(T517* 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,((T0*)ms1_517),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;
- }
- r517make_call_1(C,a1,(((T517*)C))->_feature_name/*28*/,_eal);
- }
- void r517mapping_c_target(T517* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T517*)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*/)));
- }/*]*/
- /*]*/
- r517compile_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*/)));
- }/*]*/
- /*]*/
- r517compile_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*/)));
- }/*]*/
- /*]*/
- r517compile_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*/)));
- }/*]*/
- /*]*/
- r517compile_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 {
- r517compile_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_INFIX_NEQ.nb_errors*/
- void r517to_runnable_equal_not_equal(T517* C,T0* a1){
- T0* _at=NULL;
- T0* _tt=NULL;
- T0* _a=NULL;
- T0* _t=NULL;
- C->_current_type=a1;
- _t=X662to_runnable((((T517*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r517error(X662start_position((((T517*)C))->_target/*12*/),((T0*)ms1_841));
- }
- else {
- C->_target=_t;
- }
- /*FI*/_a=X431to_runnable((((T517*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)!=((void*)(NULL))) {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tt=X291run_type(X662result_type((((T517*)C))->_target/*12*/));
- _at=X291run_type(X662result_type(r517arg1(C)));
- /*IF*/if (X291is_none(_tt)) {
- /*IF*/if (X291is_expanded(_at)) {
- X291used_as_reference(_at);
- }
- /*FI*/}
- else if (X291is_none(_at)) {
- /*IF*/if (X291is_expanded(_tt)) {
- X291used_as_reference(_tt);
- }
- /*FI*/}
- else if (X291is_reference(_tt)) {
- /*IF*/if (X291is_reference(_at)) {
- /*IF*/if (X291is_a(_tt,_at)) {
- }
- else {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- /*IF*/if (X291is_a(_at,_tt)) {
- }
- else {
- r517error_comparison(C,((T0*)ms2_841));
- }
- /*FI*/}
- /*FI*/}
- else if (!(X291is_a(_at,_tt))) {
- r517error_comparison(C,((T0*)ms3_841));
- }
- else {
- X291used_as_reference(_at);
- }
- /*FI*/}
- else {
- /*IF*/if (X291is_expanded(_at)) {
- /*IF*/if (X291is_basic_eiffel_expanded(_at)) {
- /*IF*/if (X291is_a(_tt,_at)) {
- }
- else {
- /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
- /*]*/
- r38clear(((T38*)(oBC683positions)));
- /*]*/
- /*IF*/if (X291is_a(_at,_tt)) {
- }
- else {
- r517error_comparison(C,((T0*)ms4_841));
- }
- /*FI*/}
- /*FI*/}
- else if (X291is_bit(_tt)) {
- r517bit_limitation(C,_tt,_at);
- }
- else if (!(X291is_a(_at,_tt))) {
- r517error_comparison(C,((T0*)ms5_841));
- }
- /*FI*/}
- else if (!(X291is_a(_tt,_at))) {
- r517error_comparison(C,((T0*)ms6_841));
- }
- else {
- X291used_as_reference(_tt);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_NEQ.feature_name*/
- /*No:CALL_INFIX_NEQ.fz_iinaiv*/
- /*No:CALL_INFIX_NEQ.arg_count*/
- /*No:CALL_INFIX_NEQ.dca_inline_argument*/
- /*No:CALL_INFIX_NEQ.run_feature*/
- /*No:CALL_INFIX_NEQ.start_position*/
- /*No:CALL_INFIX_NEQ.target*/
- void r517compile_to_c(T517* C){
- T0* _at=NULL;
- T0* _tt=NULL;
- _tt=X291run_type(X662result_type((((T517*)C))->_target/*12*/));
- _at=X291run_type(X662result_type(r517arg1(C)));
- /*IF*/if (X291is_expanded(_tt)) {
- /*IF*/if (X291is_expanded(_at)) {
- /*IF*/if (X291is_user_expanded(_tt)) {
- r517cmp_user_expanded(C,0,_tt);
- }
- else if (X291is_basic_eiffel_expanded(_tt)) {
- r517cmp_basic_eiffel_expanded(C,0,_at,_tt);
- }
- else if (X291is_bit(_tt)) {
- r517cmp_bit(C,0,_tt);
- }
- else {
- r517cmp_basic_ref(C,0);
- }
- /*FI*/}
- else {
- r517c2c_exp_ref((((T517*)C))->_target/*12*/,_tt,r517arg1(C),_at);
- }
- /*FI*/}
- else if (X291is_expanded(_at)) {
- r517c2c_exp_ref(r517arg1(C),_at,(((T517*)C))->_target/*12*/,_tt);
- }
- else {
- r517cmp_basic_ref(C,0);
- }
- /*FI*/}
- /*No:CALL_INFIX_NEQ.c_simple*/
- T0* r517to_runnable(T517* C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((((T517*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r517to_runnable_equal_not_equal(C,a1);
- C->_result_type=r517type_boolean();
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- {T517*n=malloc(sizeof(*n));
- *n=M517;
- r517make(n,(((T517*)C))->_target/*12*/,(((T454*)((T454*)((((T517*)C))->_feature_name/*28*/))))->_start_position/*8*/,r517arg1(C));
- R=(T0*)n;
- }
- R=r517to_runnable(((T517*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_NEQ.fz_cast_void_star*/
- /*No:CALL_INFIX_NEQ.result_type*/
- /*No:CALL_INFIX_NEQ.is_result*/
- /*No:CALL_INFIX_NEQ.fz_13*/
- /*No:CALL_INFIX_NEQ.operator*/
- int r517is_static(T517* C){
- int R=0;
- /*IF*/if (X662is_void((((T517*)C))->_target/*12*/)) {
- R=r517is_static_neq_void(C,r517arg1(C));
- }
- else if (X662is_void(r517arg1(C))) {
- R=r517is_static_neq_void(C,(((T517*)C))->_target/*12*/);
- }
- else if ((X662is_static((((T517*)C))->_target/*12*/))&&(X662is_static(r517arg1(C)))) {
- R=1;
- /*IF*/if ((X662static_value((((T517*)C))->_target/*12*/))!=(X662static_value(r517arg1(C)))) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r517cmp_basic_ref(T517* C,int 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*/)));
- }/*]*/
- /*]*/
- X662compile_to_c((((T517*)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*/)));
- }/*]*/
- /*]*/
- /*IF*/if (a1) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms87_470));
- /*]*/
- }
- else {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms92_470));
- /*]*/
- }
- /*FI*//*[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_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms86_470));
- /*]*/
- /*[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(r517arg1(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*/)));
- }/*]*/
- /*]*/
- }
- int r517is_static_neq_void(T517* C,T0* a1){
- int R=0;
- T0* _rt=NULL;
- /*IF*/if (((X662is_current(a1))||(X662is_manifest_string(a1)))||(r517is_manifest_array(a1))) {
- R=1;
- C->_static_value_mem=1;
- }
- else {
- _rt=X291run_type(X662result_type(a1));
- /*IF*/if (X291is_expanded(_rt)) {
- R=1;
- C->_static_value_mem=1;
- }
- else if (X662is_static(a1)) {
- R=1;
- /*IF*/if ((X662static_value(a1))!=(0)) {
- C->_static_value_mem=1;
- }
- /*FI*/}
- /*FI*/}
- /*FI*/return R;
- }
- /*No:CALL_INFIX_NEQ.can_be_dropped*/
- void r517bit_limitation(T517* C,T0* a1,T0* a2){
- T0* _b2=NULL;
- T0* _b1=NULL;
- _b1=a1;
- if(NULL!=(_b1))switch(((T0*)_b1)->id) {
- case 549: case 558:
- break;
- default:
- _b1=NULL;
- };_b2=a2;
- if(NULL!=(_b2))switch(((T0*)_b2)->id) {
- case 549: case 558:
- break;
- default:
- _b2=NULL;
- };/*IF*/if ((X609nb(_b1))!=(X609nb(_b2))) {
- r683add_position((((T454*)((T454*)((((T517*)C))->_feature_name/*28*/))))->_start_position/*8*/);
- /*[IRF3.6append*/{T0* b1=((T0*)ms9_841);
- r7append(((T7*)(oBC683explanation)),b1);
- }/*]*/
- r683add_type(_b1,((T0*)ms10_841));
- r683add_type(_b2,((T0*)ms11_841));
- r683print_as_fatal_error(((T683*)(oBC364eh)));
- }
- /*FI*/}
- /*No:CALL_INFIX_NEQ.current_type*/
- void r517compile_to_c_old(T517* C){
- X662compile_to_c_old((((T517*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T517*)C))->_arguments/*24*/);
- }
- /*FI*/}
- void r517cmp_basic_eiffel_expanded(T517* C,int a1,T0* a2,T0* a3){
- int _flag=0;
- _flag=(X291is_real(a2))||(X291is_real(a3));
- /*IF*/if (_flag) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms19_841));
- /*]*/
- }
- /*FI*//*[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((((T517*)C))->_target/*12*/);
- /*IF*/if (_flag) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms147_470));
- /*]*/
- }
- /*FI*//*[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*/)));
- }/*]*/
- /*]*/
- /*IF*/if (a1) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms87_470));
- /*]*/
- }
- else {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms92_470));
- /*]*/
- }
- /*FI*//*[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*/)));
- }/*]*/
- /*]*/
- /*IF*/if (_flag) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms19_841));
- /*]*/
- }
- /*FI*/X662compile_to_c(r517arg1(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*/)));
- }/*]*/
- /*]*/
- /*IF*/if (_flag) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms147_470));
- /*]*/
- }
- /*FI*/}
- /*No:CALL_INFIX_NEQ.static_value_mem*/
- void r517make_call_1(T517* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_NEQ.is_manifest_string*/
- /*No:CALL_INFIX_NEQ.fz_c_neq*/
- /*No:CALL_INFIX_NEQ.fz_c_eq*/
- /*No:CALL_INFIX_NEQ.is_void*/
- int r517is_manifest_array(T0* a1){
- int R=0;
- T0* _ma=NULL;
- _ma=a1;
- if(NULL!=(_ma))switch(((T0*)_ma)->id) {
- case 436:
- break;
- default:
- _ma=NULL;
- };R=(_ma)!=((void*)(NULL));
- return R;
- }
- /*No:CALL_INFIX_NEQ.fz_dot*/
- /*No:CALL_INFIX_NEQ.is_pre_computable*/
- int r517use_current(T517* C){
- int R=0;
- R=(X662use_current((((T517*)C))->_target/*12*/))||(X662use_current(r517arg1(C)));
- return R;
- }
- /*No:CALL_INFIX_NEQ.finalize*/
- void r517dca_inline(T517* 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*/)));
- }/*]*/
- /*]*/
- r324put_target_as_value(((T324*)(oBC364cpp)));
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\51';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- /*IF*/if ((/*(IRF4.5first*//*(IRF4.6item*/((((T7*)((T7*)(((T0*)ms1_517)))))->_storage/*0*/)[(1)-(1)]/*)*//*)*/)==('\75')) {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms87_470));
- /*]*/
- }
- else {
- /*[IRF3.5put_string*/r544put_string(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),((T0*)ms92_470));
- /*]*/
- }
- /*FI*//*[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(r517arg1(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*/)));
- }/*]*/
- /*]*/
- }
- void r517error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_NEQ.isa_dca_inline_argument*/
- /*No:CALL_INFIX_NEQ.fatal_error*/
- T0* r517arg1(T517* C){
- T0* R=NULL;
- R=X431first((((T517*)C))->_arguments/*24*/);
- return R;
- }
- /*No:CALL_INFIX_NEQ.fz_cast_float*/
- void r517afd_check(T517* C){
- X662afd_check((((T517*)C))->_target/*12*/);
- X662afd_check(r517arg1(C));
- }
- /*No:CALL_INFIX_DIV.arguments*/
- T0* r520add_comment(T520* 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 r520to_integer(T520* C){
- int R=0;
- r520error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T520*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
- return R;
- }
- int r520is_a(T520* C,T0* a1){
- int R=0;
- R=X291is_a(X291run_type((((T520*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
- /*IF*/if (!(R)) {
- r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T520*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
- r520error(X662start_position(a1),((T0*)ms4_662));
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_DIV.is_current*/
- void r520mapping_c_arg(T520* C,T0* a1){
- T0* _actual_type=NULL;
- _actual_type=X291run_type((((T520*)C))->_result_type/*20*/);
- /*IF*/if (X291is_reference(_actual_type)) {
- /*IF*/if (X291is_reference(a1)) {
- /*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T520* 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*/{T520* 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*/{T520* 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*/{T520* 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*/{T520* C1=C;
- r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
- }/*]*/
- /*]*/
- }
- /*FI*/}
- /*FI*/}
- /*FI*/}
- /*No:CALL_INFIX_DIV.static_value*/
- void r520make(T520* 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,r520operator(),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;
- }
- r520make_call_1(C,a1,(((T520*)C))->_feature_name/*28*/,_eal);
- }
- void r520mapping_c_target(T520* C,T0* a1){
- T0* _actual_type=NULL;
- int _flag=0;
- _flag=r324call_invariant_start(a1);
- _actual_type=X291run_type((((T520*)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*/{T520* 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*/{T520* 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*/{T520* 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*/{T520* 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*/{T520* 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_DIV.nb_errors*/
- /*No:CALL_INFIX_DIV.feature_name*/
- /*No:CALL_INFIX_DIV.fz_iinaiv*/
- /*No:CALL_INFIX_DIV.arg_count*/
- /*No:CALL_INFIX_DIV.dca_inline_argument*/
- /*No:CALL_INFIX_DIV.run_feature*/
- /*No:CALL_INFIX_DIV.call_proc_call_c2c*/
- /*No:CALL_INFIX_DIV.start_position*/
- /*No:CALL_INFIX_DIV.target*/
- /*No:CALL_INFIX_DIV.compile_to_c*/
- /*No:CALL_INFIX_DIV.c_simple*/
- T0* r520to_runnable(T520* C,T0* a1){
- T0* R=NULL;
- T0* _tla=NULL;
- T0* _a=NULL;
- /*IF*/if (((((T520*)C))->_current_type/*8*/)==((void*)(NULL))) {
- r520to_runnable_0(C,a1);
- _a=X431to_runnable((((T520*)C))->_arguments/*24*/,a1);
- /*IF*/if ((_a)==((void*)(NULL))) {
- r520error(X662start_position(r520arg1(C)),((T0*)ms55_470));
- }
- else {
- C->_arguments=_a;
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- X431match_with((((T520*)C))->_arguments/*24*/,(((T520*)C))->_run_feature/*16*/);
- }
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- _tla=(((T520*)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(r520arg1(C)));
- }
- /*FI*/}
- /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else {
- R=r520twin(C);
- /*[IRF3.3set_current_type*/((((T520*)(((T520*)R))))->_current_type)=(NULL);
- /*]*/
- R=r520to_runnable(((T520*)R),a1);
- }
- /*FI*/return R;
- }
- /*No:CALL_INFIX_DIV.us_slash*/
- /*No:CALL_INFIX_DIV.result_type*/
- /*No:CALL_INFIX_DIV.is_result*/
- T0* r520twin(T520* C){
- T0* R=NULL;
- R=malloc(sizeof(*C));
- *((T520*)R)=*C;
- return R;
- }
- /*No:CALL_INFIX_DIV.set_current_type*/
- T0* r520operator(void){
- T0* R=NULL;
- R=((T0*)ms47_473);
- return R;
- }
- /*No:CALL_INFIX_DIV.is_static*/
- /*No:CALL_INFIX_DIV.fz_07*/
- /*No:CALL_INFIX_DIV.can_be_dropped*/
- /*No:CALL_INFIX_DIV.current_type*/
- void r520compile_to_c_old(T520* C){
- X662compile_to_c_old((((T520*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431compile_to_c_old((((T520*)C))->_arguments/*24*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_DIV.static_value_mem*/
- void r520make_call_1(T520* C,T0* a1,T0* a2,T0* a3){
- C->_target=a1;
- C->_feature_name=a2;
- C->_arguments=a3;
- }
- /*No:CALL_INFIX_DIV.is_manifest_string*/
- /*No:CALL_INFIX_DIV.is_void*/
- void r520to_runnable_0(T520* C,T0* a1){
- C->_current_type=a1;
- r520cpc_to_runnable(C,a1);
- C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T520*)C))->_run_feature/*16*/))))->_result_type/*24*/);
- /*IF*/if (((((T520*)C))->_result_type/*20*/)==((void*)(NULL))) {
- r683add_position(X496start_position((((T520*)C))->_run_feature/*16*/));
- r520error((((T454*)((T454*)((((T520*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
- }
- else if (X291is_like_current((((T520*)C))->_result_type/*20*/)) {
- C->_result_type=X662result_type((((T520*)C))->_target/*12*/);
- }
- /*FI*/}
- /*No:CALL_INFIX_DIV.is_pre_computable*/
- void r520cpc_to_runnable(T520* C,T0* a1){
- T0* _rc=NULL;
- T0* _t=NULL;
- _t=X662to_runnable((((T520*)C))->_target/*12*/,a1);
- /*IF*/if ((_t)==((void*)(NULL))) {
- r683add_position(X662start_position((((T520*)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((((T520*)C))->_target/*12*/));
- C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
- r576update((((T520*)C))->_target/*12*/,(((T520*)C))->_run_feature/*16*/);
- }
- int r520use_current(T520* C){
- int R=0;
- /*IF*/{/*AT*/R=X431use_current((((T520*)C))->_arguments/*24*/);
- }
- /*FI*//*IF*/if (R) {
- }
- else if (X662is_current((((T520*)C))->_target/*12*/)) {
- R=X496use_current((((T520*)C))->_run_feature/*16*/);
- }
- else {
- R=X662use_current((((T520*)C))->_target/*12*/);
- }
- /*FI*/return R;
- }
- void r520finalize(T520* C){
- T0* _rf=NULL;
- T0* _rc=NULL;
- _rf=(((T520*)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 r520error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- /*No:CALL_INFIX_DIV.isa_dca_inline_argument*/
- /*No:CALL_INFIX_DIV.fatal_error*/
- /*No:CALL_INFIX_DIV.fz_bad_argument*/
- T0* r520arg1(T520* C){
- T0* R=NULL;
- R=X431first((((T520*)C))->_arguments/*24*/);
- return R;
- }
- void r520afd_check(T520* C){
- T0* _running=NULL;
- T0* _rc=NULL;
- _rc=X291run_class(X662result_type((((T520*)C))->_target/*12*/));
- _running=(((T355*)((T355*)_rc)))->_running/*12*/;
- /*IF*/if ((_running)==((void*)(NULL))) {
- r683add_position(X662start_position((((T520*)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((((T520*)C))->_target/*12*/,(((T520*)C))->_run_feature/*16*/);
- }
- /*FI*/X662afd_check((((T520*)C))->_target/*12*/);
- /*IF*/{/*AT*/X431afd_check((((T520*)C))->_arguments/*24*/);
- }
- /*FI*/}
- int r521isa_dca_inline(T521* C,T0* a1,T0* a2){
- int R=0;
- int _r=0;
- int _i=0;
- T0* _e=NULL;
- T0* _args=NULL;
- T0* _relay_args=NULL;
- _relay_args=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/);
- _args=/*X496*/((T0*)(((T832*)((T832*)a2)))->_arguments/*20*/);
- R=1;
- _i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- r353force(((T353*)(oBC431isa_dca_inline_memory)),0,_i);
- /*[IRF3.6clear_all*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory));
- int __value=0;
- /*[IRF3.6set_all_with*/{T353* C2=C1;
- int c1=__value;
- r541set_all_with((((T353*)C2))->_storage/*0*/,c1,((((T353*)C2))->_upper/*8*/)-((((T353*)C2))->_lower/*12*/));
- }/*]*/
- }/*]*/
- while (!((!(R))||((_i)==(0)))) {
- _e=/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),_i));
- _r=X662isa_dca_inline_argument(_e);
- {int z1=_r;
-
- if((0==z1)){
- R=0;
- }
- else
- if((-1==z1)){
- /*IF*/if (X291is_expanded(r31type(((T31*)_args),_i))) {
- R=X291is_expanded(X662result_type(_e));
- }
- else {
- R=X291is_reference(X662result_type(_e));
- }
- /*FI*/}
- else{/*[IRF3.6put*/{T353* C1=((T353*)(oBC431isa_dca_inline_memory));
- int b1=1;
- int b2=_r;
- ((((T353*)C1))->_storage/*0*/)[(b2)-((((T353*)C1))->_lower/*12*/)]=(b1);
- }/*]*/
- /*IF*/if (X291is_reference(r31type(((T31*)_relay_args),_r))) {
- /*IF*/if (X291is_reference(r31type(((T31*)_args),_i))) {
- R=X291is_reference(X662result_type(_e));
- }
- else {
- R=0;
- }
- /*FI*/}
- else if (X291is_expanded(r31type(((T31*)_args),_i))) {
- R=X291is_expanded(X662result_type(_e));
- }
- else {
- R=0;
- }
- /*FI*/}}
- _i=(_i)-(1);
- }
- /*IF*/if (R) {
- _i=X496arg_count(a1);
- while (!((!(R))||((_i)==(0)))) {
- R=r353item(((T353*)(oBC431isa_dca_inline_memory)),_i);
- _i=(_i)-(1);
- }
- }
- /*FI*/return R;
- }
- int r521is_like_argument(T521* C,T0* a1,T0* a2,T0* a3){
- int R=0;
- T0* _ot=NULL;
- T0* _tla=NULL;
- _tla=a3;
- if(NULL!=(_tla))switch(((T0*)_tla)->id) {
- case 239:
- break;
- default:
- _tla=NULL;
- };/*IF*/if ((_tla)!=((void*)(NULL))) {
- R=1;
- _ot=X662result_type(r521expression(C,/*(IRF4.6rank*/(((T886*)((T886*)((((T239*)((T239*)_tla)))->_like_what/*12*/))))->_rank/*20*//*)*/));
- /*IF*/if (!(X291is_a(X291run_type(a2),X291run_type(_ot)))) {
- r683add_position(X662start_position(a1));
- r521error(X291start_position(a3),((T0*)ms12_431));
- }
- /*FI*/}
- /*FI*/return R;
- }
- void r521match_with(T521* C,T0* a1){
- T0* _ft=NULL;
- T0* _at=NULL;
- T0* _e=NULL;
- int _i=0;
- T0* _fal=NULL;
- _fal=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/);
- /*IF*/if ((_fal)==((void*)(NULL))) {
- r683add_position(X496start_position(a1));
- r521error(r521start_position(C),((T0*)ms14_431));
- }
- /*FI*//*IF*/if (((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0))&&((/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/)!=(r521count(C)))) {
- r683add_position((((T31*)((T31*)_fal)))->_start_position/*4*/);
- r521error(r521start_position(C),((T0*)ms14_431));
- }
- /*FI*/_i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- while (!(((_i)==(0))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
- _e=/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),_i));
- _at=X662result_type(_e);
- _ft=r31type(((T31*)_fal),_i);
- /*IF*/if (X662is_void(_e)) {
- /*IF*/if (X291is_expanded(_ft)) {
- r683add_position(X662start_position(_e));
- r521error(X291start_position(_ft),((T0*)ms2_431));
- }
- /*FI*/}
- else if (X291is_like_current(_ft)) {
- /*IF*/if (X662is_current(_e)) {
- }
- else if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
- /*IF*/if (X291is_expanded(X291run_type(_at))) {
- }
- else if (X291is_a(X291run_type(_ft),X291run_type(_at))) {
- }
- else {
- r683add_position(X662start_position(_e));
- r521error(X291start_position(_ft),((T0*)ms13_431));
- }
- /*FI*/}
- else {
- r683add_position(X662start_position(_e));
- r521error(X291start_position(_ft),((T0*)ms13_431));
- }
- /*FI*/}
- else if (X291is_like_feature(_ft)) {
- /*IF*/if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
- }
- else {
- r683add_position(X662start_position(_e));
- r521error(X291start_position(_ft),((T0*)ms3_431));
- }
- /*FI*/}
- else if (r521is_like_argument(C,_e,_at,_ft)) {
- }
- else if (X291is_a(X291run_type(_at),X291run_type(_ft))) {
- }
- else {
- r683print_as_error(((T683*)(oBC364eh)));
- r683add_position(X291start_position(_ft));
- r521error(X662start_position(_e),((T0*)ms4_431));
- }
- /*FI*/_at=X291run_type(_at);
- _ft=X291run_type(_ft);
- /*IF*/if (X291is_expanded(_ft)) {
- /*IF*/if (X291is_expanded(_at)) {
- }
- else {
- X291used_as_reference(_ft);
- }
- /*FI*/}
- else if (X291is_expanded(_at)) {
- X291used_as_reference(_at);
- }
- /*FI*/_i=(_i)-(1);
- }
- }
- void r521make(T521* C,T0* a1){
- T0* _fal=NULL;
- int _i=0;
- _fal=/*X496*/((T0*)(((T832*)((T832*)a1)))->_arguments/*20*/);
- {T96*n=malloc(sizeof(*n));
- *n=M96;
- r96make(n,1,/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/);
- C->_list=(T0*)n;
- }
- _i=/*(IRF4.6count*/(((T65*)((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/))))->_upper/*12*//*)*/;
- while (!((_i)==(0))) {
- /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T521*)C))->_list/*4*/));
- T0* b1=/*(IRF4.6name*/r65item(((T65*)((((T31*)((T31*)_fal)))->_flat_list/*12*/)),_i)/*)*/;
- int b2=_i;
- ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
- }/*]*/
- _i=(_i)-(1);
- }
- C->_current_type=/*X496*/((T0*)(((T832*)((T832*)a1)))->_current_type/*4*/);
- }
- /*No:CECIL_ARG_LIST.nb_errors*/
- T0* r521expression(T521* C,int a1){
- T0* R=NULL;
- R=/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),a1));
- return R;
- }
- T0* r521start_position(T521* C){
- T0* R=NULL;
- R=X662start_position(/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),1)));
- return R;
- }
- void r521compile_to_c(T521* C,T0* a1){
- int _up=0;
- int _i=0;
- _i=1;
- _up=r521count(C);
- while (!((_i)>(_up))) {
- r521compile_to_c_ith(C,a1,_i);
- _i=(_i)+(1);
- /*IF*/if ((_i)<=(_up)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\54';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- }
- T0* r521to_runnable(T521* C,T0* a1){
- T0* R=NULL;
- T0* _e2=NULL;
- T0* _e1=NULL;
- int _i=0;
- /*IF*/if (((((T521*)C))->_current_type/*8*/)==((void*)(NULL))) {
- C->_current_type=a1;
- _i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- _e1=/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),_i));
- _e2=X662to_runnable(_e1,(((T521*)C))->_current_type/*8*/);
- /*IF*/if ((_e2)==((void*)(NULL))) {
- r521error(X662start_position(_e1),((T0*)ms5_431));
- }
- else if ((_e1)!=((void*)(_e2))) {
- /*X96*//*[IRF3.6put*/{T96* C1=((T96*)((((T521*)C))->_list/*4*/));
- T0* b1=_e2;
- int b2=_i;
- ((((T96*)C1))->_storage/*4*/)[(b2)-((((T96*)C1))->_lower/*16*/)]=(b1);
- }/*]*/
- }
- /*FI*/_i=(_i)-(1);
- }
- /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
- R=(T0*)C;
- }
- /*FI*/}
- else if ((X291run_class(a1))==((void*)(r521run_class(C)))) {
- R=(T0*)C;
- }
- else {
- {T521*n=malloc(sizeof(*n));
- *n=M521;
- /*[IRF3.3super_make*/((((T521*)(n)))->_list)=(X96twin((((T521*)C))->_list/*4*/));
- /*]*/
- R=(T0*)n;
- }
- R=r521to_runnable(((T521*)R),a1);
- }
- /*FI*/return R;
- }
- void r521compile_to_c_ith(T521* C,T0* a1,int a2){
- T0* _ft=NULL;
- T0* _e=NULL;
- _e=r521expression(C,a2);
- _ft=X291run_type(r31type(((T31*)a1),a2));
- X662mapping_c_arg(_e,_ft);
- }
- int r521is_static(T521* C){
- int R=0;
- int _i=0;
- R=1;
- _i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- while (!((!(R))||((_i)==(0)))) {
- R=X662is_static(r521expression(C,_i));
- _i=(_i)-(1);
- }
- return R;
- }
- /*No:CECIL_ARG_LIST.em1*/
- /*No:CECIL_ARG_LIST.list*/
- /*No:CECIL_ARG_LIST.em2*/
- void r521dca_inline_ith(T521* C,T0* a1,int a2){
- T0* _ft=NULL;
- T0* _e=NULL;
- _e=r521expression(C,a2);
- _ft=X291run_type(r31type(((T31*)a1),a2));
- X662dca_inline_argument(_e,_ft);
- }
- int r521can_be_dropped(T521* C){
- int R=0;
- int _i=0;
- R=1;
- _i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- while (!((!(R))||((_i)==(0)))) {
- R=X662can_be_dropped(r521expression(C,_i));
- _i=(_i)-(1);
- }
- return R;
- }
- /*No:CECIL_ARG_LIST.current_type*/
- T0* r521run_class(T521* C){
- T0* R=NULL;
- R=X291run_class((((T521*)C))->_current_type/*8*/);
- return R;
- }
- void r521compile_to_c_old(T521* C){
- int _i=0;
- /*IF*/if (((((T521*)C))->_list/*4*/)!=((void*)(NULL))) {
- _i=1;
- while (!((_i)>(/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/)))) {
- X662compile_to_c_old(/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),_i)));
- _i=(_i)+(1);
- }
- }
- /*FI*/}
- /*No:CECIL_ARG_LIST.super_make*/
- int r521is_pre_computable(T521* C){
- int R=0;
- int _i=0;
- _i=r521count(C);
- R=1;
- while (!((!(R))||((_i)==(0)))) {
- R=X662is_pre_computable(r521expression(C,_i));
- _i=(_i)-(1);
- }
- return R;
- }
- int r521use_current(T521* C){
- int R=0;
- int _i=0;
- _i=1;
- while (!(((_i)>(r521count(C)))||(R))) {
- R=X662use_current(r521expression(C,_i));
- _i=(_i)+(1);
- }
- return R;
- }
- void r521dca_inline(T521* C,T0* a1){
- int _up=0;
- int _i=0;
- _up=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- _i=1;
- while (!((_i)>(_up))) {
- r521dca_inline_ith(C,a1,_i);
- _i=(_i)+(1);
- /*IF*/if ((_i)<=(_up)) {
- /*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
- char b1='\54';
- putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
- }/*]*/
- /*]*/
- }
- /*FI*/}
- }
- int r521count(T521* C){
- int R=0;
- R=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- return R;
- }
- void r521error(T0* a1,T0* a2){
- r683add_position(a1);
- r683error(((T683*)(oBC364eh)),a2);
- }
- T0* r521first(T521* C){
- T0* R=NULL;
- R=X96first((((T521*)C))->_list/*4*/);
- return R;
- }
- void r521afd_check(T521* C){
- int _i=0;
- _i=/*X96*/((int)(((T96*)((T96*)((((T521*)C))->_list/*4*/))))->_upper/*12*/);
- while (!((_i)==(0))) {
- X662afd_check(/*X96*/((T0*)r96item(((T96*)((((T521*)C))->_list/*4*/)),_i)));
- _i=(_i)-(1);
- }
- }
-
-