home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- 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 "short.h" /*No:TMP_FEATURE.arguments*/ T0* r505n(void){ T0* R=NULL; {T953*n=malloc(sizeof(*n)); *n=M953; r953make(n,r855twin(((T855*)(oBC505names)))); R=(T0*)n; } return R; } T0* r505to_cst_att_integer(T505* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) { /*IF*/if (X291is_integer((((T505*)C))->_type/*4*/)) { {T689*n=malloc(sizeof(*n)); *n=M689; r689make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else if (X291is_real((((T505*)C))->_type/*4*/)) { {T835*n=malloc(sizeof(*n)); *n=M835; r835make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1))); R=(T0*)n; } } else if (X291is_double((((T505*)C))->_type/*4*/)) { {T118*n=malloc(sizeof(*n)); *n=M118; r118make(n,r505n(),(((T505*)C))->_type/*4*/,r342to_real_constant(((T342*)a1))); R=(T0*)n; } } else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms6_505)); } /*FI*/} else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms7_505)); } /*FI*/return R; } /*No:TMP_FEATURE.add_synonym*/ /*No:TMP_FEATURE.set_type*/ T0* r505to_writable_attribute(T505* C){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms1_505)); } else if (((((T505*)C))->_arguments/*0*/)!=((void*)(NULL))) { r505error(r818current_position(((T818*)(oBC364eiffel_parser))),((T0*)ms2_505)); } /*FI*/{T106*n=malloc(sizeof(*n)); *n=M106; r106make(n,r505n(),(((T505*)C))->_type/*4*/); R=(T0*)n; } return R; } T0* r505to_cst_att_boolean(T505* C,T0* a1){ T0* R=NULL; /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_boolean((((T505*)C))->_type/*4*/))) { {T593*n=malloc(sizeof(*n)); *n=M593; r593make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms3_505)); } /*FI*/return R; } /*No:TMP_FEATURE.type*/ /*No:TMP_FEATURE.local_vars*/ /*No:TMP_FEATURE.set_header_comment*/ void r505set_require(T505* C,T0* a1,T0* a2,T0* a3){ /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343make(n,a1,a2,a3); C->_require_assertion=(T0*)n; } } /*FI*/} /*No:TMP_FEATURE.set_local_vars*/ T0* r505to_deferred_routine(T505* C){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { {T853*n=malloc(sizeof(*n)); *n=M853; /*[IRF3.6make*/{T853* C1=n; T0* b1=r505n(); T0* b2=(((T505*)C))->_arguments/*0*/; T0* b3=(((T505*)C))->_obsolete_mark/*12*/; T0* b4=(((T505*)C))->_header_comment/*8*/; T0* b5=(((T505*)C))->_require_assertion/*16*/; r853make_routine(C1,b1,b2,b3,b4,b5); }/*]*/ R=(T0*)n; } } else { {T649*n=malloc(sizeof(*n)); *n=M649; r649make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/); R=(T0*)n; } } /*FI*/return R; } T0* r505to_procedure_or_function(T505* C){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { {T297*n=malloc(sizeof(*n)); *n=M297; r297make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/); R=(T0*)n; } } else { {T696*n=malloc(sizeof(*n)); *n=M696; r696make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/); R=(T0*)n; } } /*FI*/return R; } /*No:TMP_FEATURE.obsolete_mark*/ /*No:TMP_FEATURE.require_assertion*/ T0*oBC505names=NULL; T0* r505to_cst_att_real(T505* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)!=((void*)(NULL))) { /*IF*/if (X291is_real((((T505*)C))->_type/*4*/)) { {T835*n=malloc(sizeof(*n)); *n=M835; r835make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else if (X291is_double((((T505*)C))->_type/*4*/)) { {T118*n=malloc(sizeof(*n)); *n=M118; r118make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else { r683add_position((((T936*)((T936*)a1)))->_start_position/*8*/); r683add_position(X776start_position(r855first(((T855*)(oBC505names))))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms8_505); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms9_505)); } /*FI*/return R; } /*No:TMP_FEATURE.set_arguments*/ T0* r505to_cst_att_string(T505* C,T0* a1){ T0* R=NULL; /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_string((((T505*)C))->_type/*4*/))) { {T380*n=malloc(sizeof(*n)); *n=M380; r380make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms10_505)); } /*FI*/return R; } /*No:TMP_FEATURE.header_comment*/ /*No:TMP_FEATURE.set_routine_body*/ /*No:TMP_FEATURE.routine_body*/ T0* r505to_external_routine(T505* C,T0* a1,T0* a2){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { {T883*n=malloc(sizeof(*n)); *n=M883; r883make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2); R=(T0*)n; } } else { {T679*n=malloc(sizeof(*n)); *n=M679; r679make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,a1,a2); R=(T0*)n; } } /*FI*/return R; } T0* r505to_cst_att_unique(T505* C){ T0* R=NULL; T0* _sp=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { _sp=X776start_position(r855first(((T855*)(oBC505names)))); r505error(_sp,((T0*)ms11_505)); } /*FI*//*IF*/if (!(X291is_integer((((T505*)C))->_type/*4*/))) { r505error(X291start_position((((T505*)C))->_type/*4*/),((T0*)ms12_505)); } /*FI*/{T398*n=malloc(sizeof(*n)); *n=M398; r398make(n,r505n(),(((T505*)C))->_type/*4*/); R=(T0*)n; } return R; } T0* r505to_cst_att_character(T505* C,T0* a1){ T0* R=NULL; /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_character((((T505*)C))->_type/*4*/))) { {T554*n=malloc(sizeof(*n)); *n=M554; r554make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms5_505)); } /*FI*/return R; } void r505error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:TMP_FEATURE.fatal_error*/ void r505set_require_else(T505* C,T0* a1,T0* a2,T0* a3){ /*IF*/if (((a2)!=((void*)(NULL)))||((a3)!=((void*)(NULL)))) { {T343*n=malloc(sizeof(*n)); *n=M343; r343make(n,a1,a2,a3); C->_require_assertion=(T0*)n; } /*[IRF3.3set_require_else*/((((T343*)(((T343*)((((T505*)C))->_require_assertion/*16*/)))))->_is_require_else)=(1); /*]*/ } /*FI*/} void r505initialize(T505* C){ r855clear(((T855*)(oBC505names))); C->_arguments=NULL; C->_type=NULL; C->_header_comment=NULL; C->_obsolete_mark=NULL; C->_require_assertion=NULL; C->_local_vars=NULL; C->_routine_body=NULL; } /*No:TMP_FEATURE.set_obsolete_mark*/ T0* r505to_cst_att_bit(T505* C,T0* a1){ T0* R=NULL; /*IF*/if ((((((T505*)C))->_type/*4*/)!=((void*)(NULL)))&&(X291is_bit((((T505*)C))->_type/*4*/))) { {T588*n=malloc(sizeof(*n)); *n=M588; r588make(n,r505n(),(((T505*)C))->_type/*4*/,a1); R=(T0*)n; } } else { r505error(X776start_position(r855first(((T855*)(oBC505names)))),((T0*)ms4_505)); } /*FI*/return R; } T0* r505to_once_routine(T505* C){ T0* R=NULL; /*IF*/if (((((T505*)C))->_type/*4*/)==((void*)(NULL))) { {T134*n=malloc(sizeof(*n)); *n=M134; r134make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/); R=(T0*)n; } } else { {T844*n=malloc(sizeof(*n)); *n=M844; r844make(n,r505n(),(((T505*)C))->_arguments/*0*/,(((T505*)C))->_type/*4*/,(((T505*)C))->_obsolete_mark/*12*/,(((T505*)C))->_header_comment/*8*/,(((T505*)C))->_require_assertion/*16*/,(((T505*)C))->_local_vars/*20*/,(((T505*)C))->_routine_body/*24*/); R=(T0*)n; } } /*FI*/return R; } /*No:RENAME_PAIR.new_name*/ void r498make(T498* C,T0* a1,T0* a2){ /*IF*/if ((X776to_string(a1))==((void*)(X776to_string(a2)))) { r683add_position(X776start_position(a1)); r683add_position(X776start_position(a2)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_498); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_old_name=a1; C->_new_name=a2; } /*No:RENAME_PAIR.fatal_error*/ /*No:RENAME_PAIR.old_name*/ void r523short(T523* C){ r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291)); r523short_hook(C); r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291)); } T0*oBC523tmp_written_mark=NULL; int r523has_creation(T523* C,T0* a1){ int R=0; R=r605has_creation(((T605*)(r523base_class(C))),a1); return R; } /*No:TYPE_EXPANDED.is_anchored*/ /*No:TYPE_EXPANDED.is_array*/ int r523is_a(T523* C,T0* a1){ int R=0; R=((((T523*)C))->_run_time_mark/*16*/)==((void*)(X291run_time_mark(a1))); /*IF*/if (!(R)) { r683add_type((T0*)C,((T0*)ms71_470)); r683add_type(a1,((T0*)ms67_470)); } /*FI*/return R; } int r523is_pointer(T523* C){ int R=0; R=X291is_pointer((((T523*)C))->_mapped/*12*/); return R; } /*No:TYPE_EXPANDED.run_type*/ /*No:TYPE_EXPANDED.is_string*/ /*No:TYPE_EXPANDED.is_like_feature*/ T0* r523compute_mark(T0* a1){ T0* R=NULL; r7copy(((T7*)(oBC523tmp_written_mark)),((T0*)ms14_470)); r7extend(((T7*)(oBC523tmp_written_mark)),'\40'); r7append(((T7*)(oBC523tmp_written_mark)),a1); R=r902item(oBC523tmp_written_mark); return R; } /*No:TYPE_EXPANDED.is_like_current*/ void r523make(T523* C,T0* a1,T0* a2){ C->_start_position=a1; C->_mapped=a2; C->_written_mark=r523compute_mark(X291written_mark((((T523*)C))->_mapped/*12*/)); } /*No:TYPE_EXPANDED.start_position*/ /*No:TYPE_EXPANDED.fz_inako*/ int r523is_character(T523* C){ int R=0; R=X291is_character((((T523*)C))->_mapped/*12*/); return R; } /*No:TYPE_EXPANDED.written_mark*/ /*No:TYPE_EXPANDED.is_run_type*/ T0* r523to_runnable(T523* C,T0* a1){ T0* R=NULL; T0* _m=NULL; /*IF*/if (((((T523*)C))->_run_type/*20*/)==((void*)(C))) { R=(T0*)C; } else if (((((T523*)C))->_run_type/*20*/)==((void*)((((T523*)C))->_mapped/*12*/))) { R=(T0*)C; } else { _m=X291to_runnable((((T523*)C))->_mapped/*12*/,a1); /*IF*/if ((_m)==((void*)(NULL))) { r683add_position((((T523*)C))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_523); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (((((T523*)C))->_run_type/*20*/)!=((void*)(NULL))) { {T523*n=malloc(sizeof(*n)); *n=M523; r523from_other(n,(T0*)C,X291run_type(_m)); R=(T0*)n; } } else if (X291is_expanded(_m)) { C->_run_type=_m; C->_run_time_mark=X291run_time_mark(_m); R=(T0*)C; } else if (((((T523*)C))->_mapped/*12*/)==((void*)(X291run_type(_m)))) { C->_run_time_mark=r523compute_mark(X291run_time_mark(_m)); C->_run_type=(T0*)C; R=(T0*)C; } else { C->_run_time_mark=r523compute_mark(X291run_time_mark(_m)); {T523*n=malloc(sizeof(*n)); *n=M523; r523from_other(n,(T0*)C,X291run_type(_m)); C->_run_type=(T0*)n; } R=(T0*)C; } /*FI*/r368set_at_run_time(((T368*)(X291run_class((((T523*)((T523*)R)))->_run_type/*20*/)))); } /*FI*/return R; } T0* r523generic_list(T523* C){ T0* R=NULL; R=X291generic_list((((T523*)C))->_mapped/*12*/); return R; } /*No:TYPE_EXPANDED.is_formal_generic*/ int r523is_real(T523* C){ int R=0; R=X291is_real((((T523*)C))->_mapped/*12*/); return R; } int r523is_bit(T523* C){ int R=0; R=X291is_bit((((T523*)C))->_mapped/*12*/); return R; } T0* r523smallest_ancestor(T523* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T523*)C))->_run_time_mark/*16*/)==((void*)(X291run_time_mark(a1)))) { R=(((T523*)C))->_run_type/*20*/; } else { R=X291run_type(X291smallest_ancestor((((T523*)C))->_mapped/*12*/,a1)); } /*FI*/return R; } int r523is_boolean(T523* C){ int R=0; R=X291is_boolean((((T523*)C))->_mapped/*12*/); return R; } int r523is_double(T523* C){ int R=0; R=X291is_double((((T523*)C))->_mapped/*12*/); return R; } T0* r523run_class(T523* C){ T0* R=NULL; R=r604run_class((((T523*)C))->_run_type/*20*/); return R; } /*No:TYPE_EXPANDED.run_time_mark*/ /*No:TYPE_EXPANDED.mapped*/ int r523is_a_in(T523* C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (((((T523*)C))->_written_mark/*8*/)==((void*)(X291written_mark(a1)))) { R=1; } else { _ct=(((T368*)((T368*)a2)))->_current_type/*0*/; _t1=r523to_runnable(C,_ct); _t2=X291to_runnable(a1,_ct); /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) { R=1; } else { R=X291is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } T0* r523look_up_for(T523* C,T0* a1,T0* a2){ T0* R=NULL; R=r605look_up_for(((T605*)(r523base_class(C))),a1,a2); return R; } T0* r523expanded_initializer(T523* C){ T0* R=NULL; R=r605expanded_initializer(((T605*)(r523base_class(C))),(T0*)C); return R; } /*No:TYPE_EXPANDED.fz_dot*/ int r523is_generic(T523* C){ int R=0; R=X291is_generic((((T523*)C))->_mapped/*12*/); return R; } /*No:TYPE_EXPANDED.used_as_reference*/ /*No:TYPE_EXPANDED.is_reference*/ T0* r523base_class(T523* C){ T0* R=NULL; T0* _bcn=NULL; _bcn=r523base_class_name(C); /*IF*/if ((_bcn)!=((void*)(NULL))) { R=r451base_class(((T451*)_bcn)); } else { /*[IRF3.6append*/{T0* b1=((T0*)ms3_291); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r683add_type((T0*)C,((T0*)ms67_470)); r683print_as_fatal_error(((T683*)(oBC364eh))); } /*FI*/return R; } void r523from_other(T523* C,T0* a1,T0* a2){ C->_start_position=(((T523*)((T523*)a1)))->_start_position/*4*/; C->_written_mark=(((T523*)((T523*)a1)))->_written_mark/*8*/; C->_mapped=a2; /*IF*/if (X291is_expanded((((T523*)C))->_mapped/*12*/)) { C->_run_time_mark=X291run_time_mark((((T523*)C))->_mapped/*12*/); C->_run_type=(((T523*)C))->_mapped/*12*/; } else { C->_run_time_mark=r523compute_mark(X291run_time_mark((((T523*)C))->_mapped/*12*/)); C->_run_type=(T0*)C; } /*FI*/} /*No:TYPE_EXPANDED.fatal_error*/ void r523short_hook(T523* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms14_470),((T0*)ms2_523)); X291short_hook((((T523*)C))->_mapped/*12*/); } /*No:TYPE_EXPANDED.is_any*/ T0* r523base_class_name(T523* C){ T0* R=NULL; R=X291base_class_name((((T523*)C))->_mapped/*12*/); return R; } /*No:TYPE_EXPANDED.is_expanded*/ /*No:TYPE_EXPANDED.fz_expanded*/ int r523is_basic_eiffel_expanded(T523* C){ int R=0; /*IF*/if (((((T523*)C))->_run_type/*20*/)==((void*)((((T523*)C))->_mapped/*12*/))) { R=X291is_basic_eiffel_expanded((((T523*)C))->_mapped/*12*/); } /*FI*/return R; } /*No:TYPE_EXPANDED.is_none*/ int r523is_integer(T523* C){ int R=0; R=X291is_integer((((T523*)C))->_mapped/*12*/); return R; } void r805short(T805* C){ int _i=0; r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_805),((T0*)ms4_805)); _i=1; while (!((_i)>((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/))) { r805short_character(C,_i); _i=(_i)+(1); } r580hook_or(((T580*)(oBC364short_print)),((T0*)ms5_805),((T0*)ms6_805)); } T0* r805add_comment(T805* 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 r805to_integer(T805* C){ int R=0; r805error((((T805*)C))->_start_position/*8*/,((T0*)ms69_470)); return R; } void r805bracketed_short(T805* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r805short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r805is_a(T805* C,T0* a1){ int R=0; R=X291is_a(/*(IRF4.4run_type*/((T0*)((T491*)/*(IRF4.8result_type*/r805type_string()/*)*/))/*)*/,X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T805*)C))->_start_position/*8*/); r805error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } void r805from_manifest_string(T805* C,T0* a1,int a2){ *((T805*)(C))=*((T805*)(a1)); C->_mapping_c=r7twin(((T7*)((((T805*)((T805*)a1)))->_mapping_c/*28*/))); r7extend(((T7*)((((T805*)C))->_mapping_c/*28*/)),'\137'); r2append_in(a2,(((T805*)C))->_mapping_c/*28*/); } /*No:MANIFEST_STRING.is_current*/ void r805character_coding(char a1,T0* a2){ char _special=0; {int z1=a1; if((64==z1)){ _special='A'; } else if((8==z1)){ _special='B'; } else if((94==z1)){ _special='C'; } else if((36==z1)){ _special='D'; } else if((12==z1)){ _special='F'; } else if((92==z1)){ _special='H'; } else if((126==z1)){ _special='L'; } else if((10==z1)){ _special='N'; } else if((96==z1)){ _special='Q'; } else if((13==z1)){ _special='R'; } else if((35==z1)){ _special='S'; } else if((9==z1)){ _special='T'; } else if((0==z1)){ _special='U'; } else if((124==z1)){ _special='V'; } else if((37==z1)){ _special='\45'; } else if((39==z1)){ _special='\47'; } else if((34==z1)){ _special='\42'; } else if((91==z1)){ _special='\50'; } else if((93==z1)){ _special='\51'; } else if((123==z1)){ _special='\74'; } else if((125==z1)){ _special='\76'; } } r7extend(((T7*)a2),'\45'); /*IF*/if ((_special)==('\0')) { r7extend(((T7*)a2),'\57'); r2append_in(((unsigned char)a1),a2); r7extend(((T7*)a2),'\57'); } else { r7extend(((T7*)a2),_special); } /*FI*/} void r805make(T805* C,T0* a1,int a2){ C->_start_position=a1; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,0); C->_to_string=(T0*)n; } {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,12); C->_mapping_c=(T0*)n; } r7copy(((T7*)((((T805*)C))->_mapping_c/*28*/)),((T0*)ms1_805)); r2append_in(a2,(((T805*)C))->_mapping_c/*28*/); } /*No:MANIFEST_STRING.to_string*/ /*No:MANIFEST_STRING.fz_iinaiv*/ T0* r805type_string(void){ if (fBC364type_string==0){ T0* R=NULL; fBC364type_string=1; {T491*n=malloc(sizeof(*n)); *n=M491; r491make(n,NULL); R=(T0*)n; } oBC364type_string=R;} return oBC364type_string;} /*No:MANIFEST_STRING.break*/ /*No:MANIFEST_STRING.add*/ /*No:MANIFEST_STRING.start_position*/ /*No:MANIFEST_STRING.precedence*/ T0* r805to_runnable(T805* C,T0* a1){ T0* R=NULL; T0* _dummy=NULL; T0* _bc=NULL; _dummy=r491to_runnable(((T491*)(r805type_string())),a1); /*IF*/if (((((T805*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; r7extend(((T7*)((((T805*)C))->_mapping_c/*28*/)),'\137'); _bc=r627base_class(((T627*)((((T805*)C))->_start_position/*8*/))); r2append_in((((T605*)((T605*)_bc)))->_id/*0*/,(((T805*)C))->_mapping_c/*28*/); r368set_at_run_time(((T368*)(r491run_class(((T491*)(/*(IRF4.8result_type*/r805type_string()/*)*/)))))); r340add_last((T0*)C); R=(T0*)C; } else { R=r805twin(C); /*[IRF3.3set_current_type*/((((T805*)(((T805*)R))))->_current_type)=(a1); /*]*/ } /*FI*/return R; } /*No:MANIFEST_STRING.ascii*/ /*No:MANIFEST_STRING.us_slash*/ /*No:MANIFEST_STRING.percent*/ /*No:MANIFEST_STRING.result_type*/ T0* r805twin(T805* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T805*)R)=*C; return R; } /*No:MANIFEST_STRING.set_current_type*/ void r805add_ascii(T805* C,char a1){ r7extend(((T7*)((((T805*)C))->_to_string/*12*/)),a1); /*IF*/if (((((T805*)C))->_ascii/*20*/)==((void*)(NULL))) { C->_ascii=se_ma429(1,(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/); } else { r429add_last(((T429*)((((T805*)C))->_ascii/*20*/)),(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/); } /*FI*/} /*No:MANIFEST_STRING.atomic_precedence*/ T0*oBC805tmp_string=NULL; /*No:MANIFEST_STRING.current_type*/ T0*oBC364manifest_string_pool=NULL; /*No:MANIFEST_STRING.is_manifest_string*/ /*No:MANIFEST_STRING.is_void*/ void r805add_percent(T805* C,char a1){ r7extend(((T7*)((((T805*)C))->_to_string/*12*/)),a1); /*IF*/if (((((T805*)C))->_percent/*24*/)==((void*)(NULL))) { C->_percent=se_ma429(1,(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/); } else { r429add_last(((T429*)((((T805*)C))->_percent/*24*/)),(((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/); } /*FI*/} void r805short_character(T805* C,int a1){ char _c=0; int _val=0; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC805tmp_string)))))->_count)=(0); /*]*/ /*IF*/if ((((((T805*)C))->_percent/*24*/)!=((void*)(NULL)))&&(r429fast_has(((T429*)((((T805*)C))->_percent/*24*/)),a1))) { r805character_coding(/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/,oBC805tmp_string); } else if ((((((T805*)C))->_ascii/*20*/)!=((void*)(NULL)))&&(r429fast_has(((T429*)((((T805*)C))->_ascii/*20*/)),a1))) { _val=((unsigned char)/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/); r7append(((T7*)(oBC805tmp_string)),((T0*)ms8_805)); r2append_in(_val,oBC805tmp_string); r7append(((T7*)(oBC805tmp_string)),((T0*)ms47_473)); } /*FI*//*IF*/if (((((T7*)((T7*)(oBC805tmp_string))))->_count/*4*/)==(0)) { /*[IRF3.6a_character*/{char b1=/*(IRF4.6item*/((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_storage/*0*/)[(a1)-(1)]/*)*/; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ } else { _val=1; while (!((_val)>((((T7*)((T7*)(oBC805tmp_string))))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)(oBC805tmp_string))))->_storage/*0*/)[(_val)-(1)]/*)*/; /*IF*/if ((_c)==('\45')) { r580hook_or(((T580*)(oBC364short_print)),((T0*)ms9_805),((T0*)ms10_805)); } else if ((_c)==('\57')) { r580hook_or(((T580*)(oBC364short_print)),((T0*)ms11_805),((T0*)ms47_473)); } else { /*[IRF3.6a_character*/{char b1=_c; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ } /*FI*/_val=(_val)+(1); } } /*FI*/} void r805error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:MANIFEST_STRING.mapping_c*/ void r805short_target(T805* C){ r805bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } void r805break_line(T805* C){ /*IF*/if (((((T805*)C))->_break/*16*/)==((void*)(NULL))) { C->_break=se_ma429(1,((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/)+(1)); } else { r429add_last(((T429*)((((T805*)C))->_break/*16*/)),((((T7*)((T7*)((((T805*)C))->_to_string/*12*/))))->_count/*4*/)+(1)); } /*FI*/} /*No:CALL_INFIX_MINUS.arguments*/ void r574short(T574* C){ /*IF*/if ((X662precedence((((T574*)C))->_target/*8*/))==(13)) { X662short((((T574*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T574* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T574*)C1))->_feature_name/*24*/); }/*]*/ /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))==(13)) { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/); } else if ((7)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/); } else { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else if ((X662precedence((((T574*)C))->_target/*8*/))<(7)) { X662bracketed_short((((T574*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T574* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T574*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/); } else { X662short((((T574*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T574* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T574*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} T0* r574add_comment(T574* 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 r574to_integer(T574* C){ int R=0; r574error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } void r574bracketed_short(T574* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r574short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r574is_a(T574* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T574*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r574error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_MINUS.is_current*/ void r574make(T574* 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,r574operator(),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; } r574make_call_1(C,a1,(((T574*)C))->_feature_name/*24*/,_eal); } /*No:CALL_INFIX_MINUS.nb_errors*/ /*No:CALL_INFIX_MINUS.feature_name*/ /*No:CALL_INFIX_MINUS.fz_iinaiv*/ /*No:CALL_INFIX_MINUS.run_feature*/ /*No:CALL_INFIX_MINUS.start_position*/ /*No:CALL_INFIX_MINUS.target*/ /*No:CALL_INFIX_MINUS.precedence*/ T0* r574to_runnable(T574* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T574*)C))->_current_type/*4*/)==((void*)(NULL))) { r574to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T574*)C))->_arguments/*20*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r574error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T574*)C))->_arguments/*20*/)),(((T574*)C))->_run_feature/*12*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T574*)C))->_result_type/*16*/; 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(/*(IRF4.6arg1*/r431first(((T431*)((((T574*)C))->_arguments/*20*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r574twin(C); /*[IRF3.3set_current_type*/((((T574*)(((T574*)R))))->_current_type)=(NULL); /*]*/ R=r574to_runnable(((T574*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_MINUS.short_print_feature_name*/ /*No:CALL_INFIX_MINUS.result_type*/ T0* r574twin(T574* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T574*)R)=*C; return R; } /*No:CALL_INFIX_MINUS.set_current_type*/ T0* r574operator(void){ T0* R=NULL; R=((T0*)ms37_473); return R; } /*No:CALL_INFIX_MINUS.atomic_precedence*/ /*No:CALL_INFIX_MINUS.us_minus*/ /*No:CALL_INFIX_MINUS.current_type*/ void r574make_call_1(T574* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_MINUS.is_manifest_string*/ /*No:CALL_INFIX_MINUS.is_void*/ void r574to_runnable_0(T574* C,T0* a1){ C->_current_type=a1; r574cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T574*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T574*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T574*)C))->_run_feature/*12*/)); r574error((((T454*)((T454*)((((T574*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T574*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T574*)C))->_target/*8*/); } /*FI*/} void r574cpc_to_runnable(T574* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T574*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T574*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T574*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T574*)C))->_target/*8*/,(((T574*)C))->_run_feature/*12*/); } void r574error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_MINUS.fatal_error*/ /*No:CALL_INFIX_MINUS.fz_bad_argument*/ void r574short_target(T574* C){ r574bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } /*No:CALL_INFIX_MINUS.arg1*/ void r576update_with(T0* a1){ T0* _running=NULL; T0* _dictionary2=NULL; T0* _key2=NULL; T0* _key1=NULL; T0* _current_type=NULL; _current_type=/*X496*/((T0*)(((T808*)((T808*)a1)))->_current_type/*4*/); _running=(((T368*)((T368*)(X291run_class(_current_type)))))->_running/*12*/; /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))>(1))) { _key1=X291run_time_mark(_current_type); _key2=X776to_key(/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); /*IF*/if (r338has(((T338*)(oBC576dictionary)),_key1)) { _dictionary2=r338at(((T338*)(oBC576dictionary)),_key1); /*IF*/if (!(r199has(((T199*)_dictionary2),_key2))) { r199put(((T199*)_dictionary2),a1,_key2); } /*FI*/} else { {T199*n=malloc(sizeof(*n)); *n=M199; r199make(n); _dictionary2=(T0*)n; } r199put(((T199*)_dictionary2),a1,_key2); r338put(((T338*)(oBC576dictionary)),_dictionary2,_key1); } /*FI*/} /*FI*/} void r576update(T0* a1,T0* a2){ T0* _running=NULL; T0* _current_type=NULL; /*IF*/if (X662is_current(a1)) { } else if (X662is_manifest_string(a1)) { } else { _current_type=/*X496*/((T0*)(((T808*)((T808*)a2)))->_current_type/*4*/); /*IF*/if (X291is_reference(_current_type)) { _running=(((T368*)((T368*)(X291run_class(_current_type)))))->_running/*12*/; /*IF*/if (((_running)!=((void*)(NULL)))&&((r396count(((T396*)_running)))>(1))) { r576update_with(a2); } /*FI*/} /*FI*/} /*FI*/} T0*oBC576dictionary=NULL; /*No:CALL_INFIX_IMPLIES.arguments*/ void r90short(T90* C){ /*IF*/if ((X662precedence((((T90*)C))->_target/*8*/))==(13)) { X662short((((T90*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T90* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T90*)C1))->_feature_name/*24*/); }/*]*/ /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))==(13)) { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/); } else if ((3)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/))) { X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/); } else { X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} else if ((X662precedence((((T90*)C))->_target/*8*/))<(3)) { X662bracketed_short((((T90*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T90* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T90*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/); } else { X662short((((T90*)C))->_target/*8*/); /*[IRF3.6short_print_feature_name*/{T90* C1=C; r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T90*)C1))->_feature_name/*24*/); }/*]*/ X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/); } /*FI*/} T0* r90add_comment(T90* 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 r90to_integer(T90* C){ int R=0; r90error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470)); return R; } void r90bracketed_short(T90* C){ r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662)); r90short(C); r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662)); } int r90is_a(T90* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T90*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/); r90error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:CALL_INFIX_IMPLIES.is_current*/ void r90make(T90* 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,r90operator(),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; } r90make_call_1(C,a1,(((T90*)C))->_feature_name/*24*/,_eal); } /*No:CALL_INFIX_IMPLIES.nb_errors*/ /*No:CALL_INFIX_IMPLIES.feature_name*/ /*No:CALL_INFIX_IMPLIES.fz_iinaiv*/ /*No:CALL_INFIX_IMPLIES.run_feature*/ /*No:CALL_INFIX_IMPLIES.start_position*/ /*No:CALL_INFIX_IMPLIES.target*/ /*No:CALL_INFIX_IMPLIES.precedence*/ T0* r90to_runnable(T90* C,T0* a1){ T0* R=NULL; T0* _tla=NULL; T0* _a=NULL; /*IF*/if (((((T90*)C))->_current_type/*4*/)==((void*)(NULL))) { r90to_runnable_0(C,a1); _a=r431to_runnable(((T431*)((((T90*)C))->_arguments/*20*/)),a1); /*IF*/if ((_a)==((void*)(NULL))) { r90error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470)); } else { C->_arguments=_a; } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { r431match_with(((T431*)((((T90*)C))->_arguments/*20*/)),(((T90*)C))->_run_feature/*12*/); } /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { _tla=(((T90*)C))->_result_type/*16*/; 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(/*(IRF4.6arg1*/r431first(((T431*)((((T90*)C))->_arguments/*20*/)))/*)*/)); } /*FI*/} /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { R=(T0*)C; } /*FI*/} else { R=r90twin(C); /*[IRF3.3set_current_type*/((((T90*)(((T90*)R))))->_current_type)=(NULL); /*]*/ R=r90to_runnable(((T90*)R),a1); } /*FI*/return R; } /*No:CALL_INFIX_IMPLIES.short_print_feature_name*/ /*No:CALL_INFIX_IMPLIES.result_type*/ T0* r90twin(T90* C){ T0* R=NULL; R=malloc(sizeof(*C)); *((T90*)R)=*C; return R; } /*No:CALL_INFIX_IMPLIES.set_current_type*/ T0* r90operator(void){ T0* R=NULL; R=((T0*)ms34_473); return R; } /*No:CALL_INFIX_IMPLIES.atomic_precedence*/ /*No:CALL_INFIX_IMPLIES.us_implies*/ /*No:CALL_INFIX_IMPLIES.current_type*/ void r90make_call_1(T90* C,T0* a1,T0* a2,T0* a3){ C->_target=a1; C->_feature_name=a2; C->_arguments=a3; } /*No:CALL_INFIX_IMPLIES.is_manifest_string*/ /*No:CALL_INFIX_IMPLIES.is_void*/ void r90to_runnable_0(T90* C,T0* a1){ C->_current_type=a1; r90cpc_to_runnable(C,a1); C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T90*)C))->_run_feature/*12*/))))->_result_type/*24*/); /*IF*/if (((((T90*)C))->_result_type/*16*/)==((void*)(NULL))) { r683add_position(X496start_position((((T90*)C))->_run_feature/*12*/)); r90error((((T454*)((T454*)((((T90*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295)); } else if (X291is_like_current((((T90*)C))->_result_type/*16*/)) { C->_result_type=X662result_type((((T90*)C))->_target/*8*/); } /*FI*/} void r90cpc_to_runnable(T90* C,T0* a1){ T0* _rc=NULL; T0* _t=NULL; _t=X662to_runnable((((T90*)C))->_target/*8*/,a1); /*IF*/if ((_t)==((void*)(NULL))) { r683add_position(X662start_position((((T90*)C))->_target/*8*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_target=_t; _rc=X291run_class(X662result_type((((T90*)C))->_target/*8*/)); C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C); r576update((((T90*)C))->_target/*8*/,(((T90*)C))->_run_feature/*12*/); } void r90error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:CALL_INFIX_IMPLIES.fatal_error*/ /*No:CALL_INFIX_IMPLIES.fz_bad_argument*/ void r90short_target(T90* C){ r90bracketed_short(C); /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print)); r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470)); }/*]*/ } /*No:CALL_INFIX_IMPLIES.arg1*/ /*No:E_RESULT.short*/ T0* r715add_comment(T715* 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 r715to_integer(T715* C){ int R=0; r715error((((T715*)C))->_start_position/*12*/,((T0*)ms69_470)); return R; } /*No:E_RESULT.bracketed_short*/ int r715is_a(T715* C,T0* a1){ int R=0; R=X291is_a(X291run_type((((T715*)C))->_result_type/*16*/),X291run_type(X662result_type(a1))); /*IF*/if (!(R)) { r683add_position((((T715*)C))->_start_position/*12*/); r715error(X662start_position(a1),((T0*)ms4_662)); } /*FI*/return R; } /*No:E_RESULT.is_current*/ void r715make(T715* C,T0* a1){ C->_to_string=((T0*)ms146_473); C->_start_position=a1; } /*No:E_RESULT.to_string*/ /*No:E_RESULT.fz_iinaiv*/ /*No:E_RESULT.start_position*/ /*No:E_RESULT.precedence*/ T0* r715to_runnable(T715* C,T0* a1){ T0* R=NULL; /*IF*/if (((((T715*)C))->_current_type/*4*/)==((void*)(NULL))) { C->_current_type=a1; C->_result_type=/*X496*/((T0*)(((T808*)((T808*)(r604top_rf(((T604*)(oBC364small_eiffel)))))))->_result_type/*24*/); R=(T0*)C; } else { {T715*n=malloc(sizeof(*n)); *n=M715; r715make(n,(((T715*)C))->_start_position/*12*/); R=(T0*)n; } R=r715to_runnable(((T715*)R),a1); } /*FI*/return R; } /*No:E_RESULT.result_type*/ /*No:E_RESULT.atomic_precedence*/ /*No:E_RESULT.us_result*/ /*No:E_RESULT.current_type*/ /*No:E_RESULT.is_manifest_string*/ /*No:E_RESULT.is_void*/ void r715error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:E_RESULT.short_target*/ int r378short(T378* C){ int R=0; int _i=0; _i=1; while (!((_i)>((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/))) { R=(r583short(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),_i))),R))||(R); _i=(_i)+(1); } return R; } /*No:CREATION_CLAUSE_LIST.make*/ T0* r378start_position(T378* C){ T0* R=NULL; R=(((T583*)((T583*)(r235first(((T235*)((((T378*)C))->_list/*0*/)))))))->_start_position/*0*/; return R; } void r378check_expanded_with(T378* C,T0* a1){ /*IF*/if (((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)>(1)) { r683add_type(a1,((T0*)ms65_470)); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1)))))->_start_position/*0*/); r683add_position((((T583*)((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),2)))))->_start_position/*0*/); /*[IRF3.2fatal_error_vtec_2*//*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_364); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ /*]*/ } /*FI*/r583check_expanded_with(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1); } T0* r378get_clause(T378* C,T0* a1){ T0* R=NULL; int _i=0; _i=1; while (!(((_i)>((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/))||(r583has(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),_i))),a1)))) { _i=(_i)+(1); } /*IF*/if ((_i)<=((((T235*)((T235*)((((T378*)C))->_list/*0*/))))->_upper/*8*/)) { R=r235item(((T235*)((((T378*)C))->_list/*0*/)),_i); } /*FI*/return R; } /*No:CREATION_CLAUSE_LIST.list*/ T0* r378expanded_initializer(T378* C,T0* a1){ T0* R=NULL; R=r583expanded_initializer(((T583*)(r235item(((T235*)((((T378*)C))->_list/*0*/)),1))),a1); return R; } /*No:CREATION_CLAUSE_LIST.fz_cbe*/ /*No:CREATION_CLAUSE_LIST.fatal_error_vtec_2*/ /*No:CREATION_CLAUSE_LIST.add_last*/ /*No:CREATION_CLAUSE_LIST.fatal_error*/ void r541short(T541* C){ int _i=0; r343short(((T343*)(r522item(((T522*)((((T541*)C))->_list/*0*/)),1))),((T0*)ms1_541),((T0*)ms2_541)); _i=2; while (!((_i)>((((T522*)((T522*)((((T541*)C))->_list/*0*/))))->_upper/*8*/))) { r343short(((T343*)(r522item(((T522*)((((T541*)C))->_list/*0*/)),_i))),((T0*)ms3_541),((T0*)ms4_541)); _i=(_i)+(1); } r580hook(((T580*)(oBC364short_print)),((T0*)ms5_541)); } /*No:RUN_REQUIRE.make*/ /*No:RUN_REQUIRE.list*/