This is compile_to_c10.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.95) -- FRANCE -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr -- CRIN (Centre de Recherche en Informatique de Nancy) -- FRANCE */ #include "compile_to_c.h" void rT116mapping_cast(T116 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806); rT2append_in(rT116id(C),oRBC58tmp_string); /*IF*/if (rT116is_reference(C)) { rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } T0* rT116run_class(T116 *C){ T0* R=NULL; R=((/*UT*/(void)(T52*)oRBC27small_eiffel), rT52run_class(rT116run_type(C))); return R; } int rT116is_expanded(T116 *C){ int R=0; T0* _bc=NULL; _bc=rT116base_class(C); /*IF*/if (!(_bc)) { rT116error(rT116start_position(C),(T0 *)ms472); } else { R=((T50*)_bc)->_is_expanded; } /*FI*/return R; } T0* rT116smallest_ancestor(T116 *C,T0* a1){ T0* R=NULL; T0* _pl2=NULL; T0* _pl1=NULL; T0* _rto=NULL; _rto=XrT58run_type(a1); /*IF*/if (XrT58is_none(a1)) { R=(T0 *)C; } else if (XrT58is_any(_rto)) { R=a1; } else if (((T0 *)XrT58base_class(a1))==((T0 *)rT116base_class(C))) { R=(T0 *)C; } else { _pl1=((T50*)rT116base_class(C))->_parent_list; _pl2=((T50*)XrT58base_class(_rto))->_parent_list; /*IF*/if ((!(_pl1))&&(!(_pl2))) { R=rT116type_any(); } else if (!(_pl1)) { /*IF*/if ((rT131count((T131*)_pl2))==(1)) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl2))->_type,(T0 *)C); } else { rT116fatal_error((T0 *)ms1488); } /*FI*/} else if (!(_pl2)) { /*IF*/if ((rT131count((T131*)_pl1))==(1)) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl1))->_type,a1); } else { rT116fatal_error((T0 *)ms1489); } /*FI*/} else if ((((rT131count((T131*)_pl1))==(1))&&((rT131count((T131*)_pl2))==(1)))) { R=XrT58smallest_ancestor(((T118*)rT131super((T131*)_pl1))->_type,((T118*)rT131super((T131*)_pl2))->_type); } else { rT116fatal_error((T0 *)ms1490); } /*FI*/} /*FI*/return R; } T0* rT116written_mark(T116 *C){ T0* R=NULL; R=((T48*)(C)->_base_class_name)->_to_string; return R; } T0* rT116base_class(T116 *C){ T0* R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } int rT116is_a_in(T116 *C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (rT7is_equal((T7*)rT116written_mark(C),XrT58written_mark(a1))) { R=1; } else { _ct=((T261*)a2)->_current_type; _t1=rT116to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT116c_struct(T116 *C){ T0* _wa=NULL; T0* _a=NULL; int _i=0; /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms767); rT2append_in(rT116id(C),oRBC58tmp_string); rT7extend((T7*)oRBC58tmp_string,'\173'); /*IF*/if (rT116is_reference(C)) { rT7append((T7*)oRBC58tmp_string,(T0 *)ms768); } /*FI*/_wa=rT261writable_attributes((T261*)rT116run_class(C)); /*IF*/if (((int)_wa)) { _i=XrT266lower(_wa); while (!((_i)>(XrT266upper(_wa)))) { _a=XrT266item(_wa,_i); XrT58c_type_in(XrT58run_type(XrT262result_type(_a)),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms770); rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT262name(_a))); rT7extend((T7*)oRBC58tmp_string,'\73'); _i=(_i)+(1); } } /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms771); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } int rT116is_a(T116 *C,T0* a1){ int R=0; T0* _other_bc=NULL; _other_bc=XrT58base_class(a1); /*IF*/if (((T0 *)rT116base_class(C))==((T0 *)_other_bc)) { R=1; } else if (!(_other_bc)) { } else if (rT50is_subclass_of((T50*)rT116base_class(C),_other_bc)) { /*IF*/if (XrT58is_generic(a1)) { R=rT131is_a((T131*)((T50*)rT116base_class(C))->_parent_list,a1); } else { R=1; } /*FI*/} /*FI*//*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1503); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms36); } /*FI*/return R; } int rT116has_creation(T116 *C,T0* a1){ int R=0; R=rT50has_creation((T50*)rT116base_class(C),a1); return R; } T0*oRBC116check_memory; void rT116c_typedef(T116 *C){ int _mem_id=0; _mem_id=rT116id(C); /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms759); rT2append_in(rT116id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms760); rT2append_in(rT116id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms761); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } void rT116c_type_in(T116 *C,T0* a1){ /*IF*/if (rT116is_reference(C)) { rT7append((T7*)a1,(T0 *)ms1518); } else { rT7extend((T7*)a1,'T'); rT2append_in(rT116id(C),a1); } /*FI*/} T0* rT117twin(T117 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT117copy((T117*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT117is_run_type(T117 *C){ int R=0; R=((int)(C)->_run_type); return R; } void rT117fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0* rT117run_time_mark(T117 *C){ T0* R=NULL; R=((T117*)(C)->_run_type)->_written_mark; return R; } T0* rT117to_runnable(T117 *C,T0* a1){ T0* R=NULL; T0* _rgl=NULL; T0* _t=NULL; int _i=0; /*IF*/if (((T0 *)(C)->_run_type)==((T0 *)C)) { R=(T0 *)C; } else if (!((C)->_run_type)) { {T106 *n=((T106*)se_new(106)); rT106make(n,1,rT106count((T106*)(C)->_generic_list)); _rgl=(T0 *)n;} _i=1; while (!((_i)>(((T106*)_rgl)->_upper))) { _t=XrT58to_runnable(rT106item((T106*)(C)->_generic_list,_i),a1); /*IF*/if ((!(_t))||(!(XrT58is_run_type(_t)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(rT106item((T106*)(C)->_generic_list,_i),(T0 *)ms1446); rT45print_as_error((T45*)oRBC27eh); _i=(((T106*)_rgl)->_upper)+(1); } else { rT106put((T106*)_rgl,XrT58run_type(_t),_i); _i=(_i)+(1); } /*FI*/} /*IF*/if ((_i)>(((T106*)_rgl)->_upper)) { {T117 *n=((T117*)se_new(117)); rT117make(n,(C)->_base_class_name,_rgl); C->_run_type=(T0 *)n;} R=(T0 *)C; } else { rT117error(rT117start_position(C),(T0 *)ms1474); } /*FI*/} else { R=rT117to_runnable((T117*)rT117twin(C),a1); } /*FI*/return R; } void rT117cast_to_ref(T117 *C){ rT117cast_to_ref((T117*)(C)->_run_type); } void rT117error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT117id(T117 *C){ int R=0; R=((T261*)rT117run_class(C))->_id; return R; } T0* rT117start_position(T117 *C){ T0* R=NULL; R=((T48*)(C)->_base_class_name)->_start_position; return R; } T0* rT117look_up_for(T117 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _bc=NULL; _bc=rT117base_class(C); /*IF*/if (((int)_bc)) { R=rT50look_up_for((T50*)_bc,a1,a2); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms477); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms36); rT45print_as_error((T45*)oRBC27eh); } /*FI*/return R; } void rT117mapping_c_in(T117 *C,T0* a1){ rT7extend((T7*)a1,'T'); rT2append_in(rT117id(C),a1); } void rT117mapping_cast(T117 *C){ rT7copy((T7*)oRBC58tmp_string,(T0 *)ms806); rT2append_in(rT117id(C),oRBC58tmp_string); /*IF*/{/*AT*/rT7extend((T7*)oRBC58tmp_string,'\52'); } /*FI*/rT7extend((T7*)oRBC58tmp_string,'\51'); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } T0* rT117run_class(T117 *C){ T0* R=NULL; R=((/*UT*/(void)(T52*)oRBC27small_eiffel), rT52run_class((C)->_run_type)); return R; } int rT117is_expanded(T117 *C){ int R=0; T0* _bc=NULL; _bc=rT117base_class(C); /*IF*/if (!(_bc)) { rT117error(rT117start_position(C),(T0 *)ms472); } else { R=((T50*)_bc)->_is_expanded; } /*FI*/return R; } T0* rT117smallest_ancestor(/*C*/T0* a1){ T0* R=NULL; rT117fatal_error((T0 *)ms1496); return R; } T0* rT117base_class(T117 *C){ T0* R=NULL; R=rT48base_class((T48*)(C)->_base_class_name); return R; } int rT117is_a_in(T117 *C,T0* a1,T0* a2){ int R=0; T0* _ct=NULL; T0* _t2=NULL; T0* _t1=NULL; /*IF*/if (rT7is_equal((T7*)(C)->_written_mark,XrT58written_mark(a1))) { R=1; } else { _ct=((T261*)a2)->_current_type; _t1=rT117to_runnable(C,_ct); _t2=XrT58to_runnable(a1,_ct); /*IF*/if (rT7is_equal((T7*)XrT58run_time_mark(_t1),XrT58run_time_mark(_t2))) { R=1; } else { R=XrT58is_a(_t1,_t2); } /*FI*/} /*FI*/return R; } void rT117c_struct(T117 *C){ T0* _wa=NULL; T0* _a=NULL; int _i=0; /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms767); rT2append_in(rT117id(C),oRBC58tmp_string); rT7extend((T7*)oRBC58tmp_string,'\173'); /*IF*/{/*AT*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms768); } /*FI*/_wa=rT261writable_attributes((T261*)rT117run_class(C)); /*IF*/if (((int)_wa)) { _i=XrT266lower(_wa); while (!((_i)>(XrT266upper(_wa)))) { _a=XrT266item(_wa,_i); XrT58c_type_in(XrT58run_type(XrT262result_type(_a)),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms770); rT7append((T7*)oRBC58tmp_string,XrT67to_string(XrT262name(_a))); rT7extend((T7*)oRBC58tmp_string,'\73'); _i=(_i)+(1); } } /*FI*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms771); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } void rT117copy(T117 *C,T0* a1){ C->_base_class_name=((T117*)a1)->_base_class_name; C->_written_mark=((T117*)a1)->_written_mark; C->_generic_list=rT106twin((T106*)((T117*)a1)->_generic_list); } int rT117is_a(T117 *C,T0* a1){ int R=0; T0* _t2=NULL; T0* _t1=NULL; int _i=0; /*IF*/if (XrT58is_none(a1)) { } else if (((T0 *)rT117run_class(C))==((T0 *)XrT58run_class(a1))) { R=1; } else if ((XrT58is_generic(a1))&&(((T0 *)rT117base_class(C))==((T0 *)XrT58base_class(a1)))) { R=1; _i=((T106*)(C)->_generic_list)->_upper; while (!((!(R))||((_i)==(0)))) { _t1=XrT58run_type(rT106item((T106*)(C)->_generic_list,_i)); _t2=XrT58run_type(rT106item((T106*)XrT58generic_list(a1),_i)); /*IF*/if (XrT58is_a(_t1,_t2)) { _i=(_i)-(1); } else { R=0; (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1453); } /*FI*/} } else if (((XrT58is_generic(a1))&&(rT50is_subclass_of((T50*)rT117base_class(C),XrT58base_class(a1))))&&((rT106count((T106*)XrT58generic_list(a1)))==(rT106count((T106*)(C)->_generic_list)))) { R=1; _i=((T106*)(C)->_generic_list)->_upper; while (!((!(R))||((_i)==(0)))) { _t1=XrT58run_type(rT106item((T106*)(C)->_generic_list,_i)); _t2=XrT58run_type(rT106item((T106*)XrT58generic_list(a1),_i)); /*IF*/if (XrT58is_a(_t1,_t2)) { _i=(_i)-(1); } else { R=0; (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms1453); } /*FI*/} } else if ((!(XrT58is_generic(a1)))&&(rT50is_subclass_of((T50*)rT117base_class(C),XrT58base_class(a1)))) { R=1; } /*FI*//*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_type((T0 *)C,(T0 *)ms1503); (/*UT*/(void)(T45*)oRBC27eh); rT45add_type(a1,(T0 *)ms1508); } /*FI*/return R; } int rT117has_creation(T117 *C,T0* a1){ int R=0; /*IF*/if (((T0 *)C)==((T0 *)(C)->_run_type)) { R=rT50has_creation((T50*)rT117base_class(C),a1); } else { R=rT117has_creation((T117*)(C)->_run_type,a1); } /*FI*/return R; } void rT117make(T117 *C,T0* a1,T0* a2){ int _is_run=0; T0* _t=NULL; int _i=0; C->_base_class_name=a1; C->_generic_list=a2; _is_run=1; {T7 *n=((T7*)se_new(7)); rT7copy(n,((T48*)a1)->_to_string); C->_written_mark=(T0 *)n;} rT7extend((T7*)(C)->_written_mark,'\133'); _i=1; while (!((_i)>(((T106*)a2)->_upper))) { _t=rT106item((T106*)(C)->_generic_list,_i); rT7append((T7*)(C)->_written_mark,XrT58written_mark(_t)); _is_run=((_is_run)&&(((T0 *)XrT58run_type(_t))==((T0 *)_t))); _i=(_i)+(1); /*IF*/if ((_i)<=(((T106*)a2)->_upper)) { rT7extend((T7*)(C)->_written_mark,'\54'); } /*FI*/} rT7extend((T7*)(C)->_written_mark,'\135'); /*IF*/if (_is_run) { C->_run_type=(T0 *)C; } /*FI*/} void rT117c_typedef(T117 *C){ int _mem_id=0; _mem_id=rT117id(C); /*(IRF3*/(((T7*)oRBC58tmp_string)->_count)=(0); /*)*/rT7append((T7*)oRBC58tmp_string,(T0 *)ms759); rT2append_in(rT117id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms760); rT2append_in(rT117id(C),oRBC58tmp_string); rT7append((T7*)oRBC58tmp_string,(T0 *)ms761); rT43put_string((T43*)oRBC27cpp,oRBC58tmp_string); } void rT117c_type_in(T117 *C,T0* a1){ /*IF*/{/*AT*/rT7append((T7*)a1,(T0 *)ms1519); } /*FI*/} int rT268use_current(T268 *C){ int R=0; int _i=0; _i=1; while (!((R)||((_i)>(((T269*)(C)->_list)->_upper)))) { R=rT137use_current((T137*)rT269item((T269*)(C)->_list,_i)); _i=(_i)+(1); } return R; } void rT268compile_to_c(T268 *C){ int _i=0; /*IF*/if ((((T269*)(C)->_list)->_upper)==(1)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms847); rT137compile_to_c((T137*)rT269first((T269*)(C)->_list)); } else { rT43put_string((T43*)oRBC27cpp,(T0 *)ms849); rT43put_string((T43*)oRBC27cpp,(T0 *)ms850); rT137compile_to_c((T137*)rT269first((T269*)(C)->_list)); _i=1; while (!((_i)>(((T269*)(C)->_list)->_upper))) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms851); rT43put_string((T43*)oRBC27cpp,(T0 *)ms852); rT137compile_to_c((T137*)rT269item((T269*)(C)->_list,_i)); rT43put_string((T43*)oRBC27cpp,(T0 *)ms853); _i=(_i)+(1); /*IF*/if ((_i)==(((T269*)(C)->_list)->_upper)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms854); } /*FI*/} } /*FI*/} void rT60fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } T0*oRBC60storage; void rT60storage_grow(/*C*/int a1){ int _i=0; T0* _str=NULL; _i=((T34*)oRBC60storage)->_upper; rT34resize((T34*)oRBC60storage,1,(((T34*)oRBC60storage)->_upper)+(a1)); while (!((_i)==(((T34*)oRBC60storage)->_upper))) { _i=(_i)+(1); {T7 *n=((T7*)se_new(7)); rT7make(n,80); _str=(T0 *)n;} rT34put((T34*)oRBC60storage,_str,_i); } } int ofBC60sfr=0; T0*oRBC60sfr; T0* rT60sfr(/*C*/void){ if (ofBC60sfr==0){ T0* R=NULL; ofBC60sfr=1; {T42 *n=((T42*)se_new(42)); /*(IRF3*/((n)->_mode)=((T0 *)ms25); /*)*/R=(T0 *)n;} oRBC60sfr=R;} return oRBC60sfr;} T0* rT60item(/*C*/int a1){ T0* R=NULL; R=rT34item((T34*)oRBC60storage,a1); return R; } int ofBC60init_storage=0; void rT60init_storage(/*C*/void){ if (ofBC60init_storage==0){ ofBC60init_storage=1; rT60storage_grow(3000); }} void rT60read(T60 *C,T0* a1){ rT60init_storage(); rT42connect_to((T42*)rT60sfr(),a1); /*IF*/if (rT42is_connected((T42*)rT60sfr())) { C->_count=0; while (!(rT42end_of_input((T42*)rT60sfr()))) { C->_count=((C)->_count)+(1); /*IF*/if ((((T34*)oRBC60storage)->_upper)<((C)->_count)) { rT60storage_grow(1000); } /*FI*/rT42read_line_in((T42*)rT60sfr(),rT34item((T34*)oRBC60storage,(C)->_count)); } rT42disconnect((T42*)rT60sfr()); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms71); (/*UT*/(void)(T45*)oRBC27eh); rT45append(a1); rT60fatal_error((T0 *)ms72); } /*FI*/} T0* rT171expression(T171 *C,int a1){ T0* R=NULL; R=XrT81item((C)->_list,a1); return R; } T0* rT171first(T171 *C){ T0* R=NULL; R=XrT81item((C)->_list,1); return R; } T0* rT171to_runnable(T171 *C,T0* a1){ T0* R=NULL; T0* _e2=NULL; T0* _e1=NULL; int _i=0; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; _i=XrT81upper((C)->_list); while (!((_i)==(0))) { _e1=XrT81item((C)->_list,_i); _e2=XrT68to_runnable(_e1,(C)->_current_type); /*IF*/if (!(_e2)) { rT171error(XrT68start_position(_e1),(T0 *)ms1150); } else if (((T0 *)_e1)!=((T0 *)_e2)) { XrT81put((C)->_list,_e2,_i); } /*FI*/_i=(_i)-(1); } /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else if (((T0 *)XrT58run_class(a1))==((T0 *)rT171run_class(C))) { R=(T0 *)C; } else { {T171 *n=((T171*)se_new(171)); /*(IRF3*/((n)->_list)=(XrT81twin((C)->_list)); /*)*/R=(T0 *)n;} R=rT171to_runnable((T171*)R,a1); } /*FI*/return R; } int rT171count(T171 *C){ int R=0; R=XrT81upper((C)->_list); return R; } void rT171error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT171match_with(T171 *C,T0* a1){ T0* _ot=NULL; T0* _ft=NULL; T0* _at=NULL; T0* _e=NULL; int _i=0; T0* _fal=NULL; _fal=XrT262arguments(a1); /*IF*/if (!(_fal)) { rT171error(rT171start_position(C),(T0 *)ms1152); } /*FI*//*IF*/if ((((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&((rT92count((T92*)_fal))!=(rT171count(C))))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(((T92*)_fal)->_start_position); rT171error(rT171start_position(C),(T0 *)ms1153); } /*FI*/_i=XrT81upper((C)->_list); while (!(((_i)==(0))||((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)>(0)))) { _e=XrT81item((C)->_list,_i); _at=XrT68result_type(_e); _ft=rT92type((T92*)_fal,_i); /*IF*/if (XrT68is_void(_e)) { /*IF*/if (XrT58is_expanded(_ft)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position(_e)); rT171error(XrT58start_position(_ft),(T0 *)ms1154); } /*FI*/} else if (XrT58is_like_current(_ft)) { /*IF*/if (XrT68is_current(_e)) { } else if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { /*IF*/if (XrT58is_expanded(XrT58run_type(_at))) { } else if (XrT58is_a(XrT58run_type(_ft),XrT58run_type(_at))) { } else { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position(_e)); rT171error(XrT58start_position(_ft),(T0 *)ms1155); } /*FI*/} else { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position(_e)); rT171error(XrT58start_position(_ft),(T0 *)ms1155); } /*FI*/} else if (XrT58is_like_feature(_ft)) { /*IF*/if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { } else { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position(_e)); rT171error(XrT58start_position(_ft),(T0 *)ms1156); } /*FI*/} else if (XrT58is_like_argument(_ft)) { _ot=XrT68result_type(rT171expression(C,((T88*)XrT58like_argument(_ft))->_rank)); /*IF*/if (!(XrT58is_a(XrT58run_type(_at),XrT58run_type(_ot)))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position(_e)); rT171error(XrT58start_position(_ft),(T0 *)ms1157); } /*FI*/} else if (XrT58is_a(XrT58run_type(_at),XrT58run_type(_ft))) { } else { rT45print_as_error((T45*)oRBC27eh); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT58start_position(_ft)); rT171error(XrT68start_position(_e),(T0 *)ms1158); } /*FI*/_at=XrT58run_type(_at); _ft=XrT58run_type(_ft); /*IF*/if (XrT58is_expanded(_ft)) { /*IF*/if (XrT58is_expanded(_at)) { } else { XrT58used_as_reference(_ft); } /*FI*/} else if (XrT58is_expanded(_at)) { XrT58used_as_reference(_at); } else { } /*FI*/_i=(_i)-(1); } } T0* rT171start_position(T171 *C){ T0* R=NULL; R=XrT68start_position(XrT81item((C)->_list,1)); return R; } int rT171use_current(T171 *C){ int R=0; int _i=0; _i=1; while (!(((_i)>(rT171count(C)))||(R))) { R=XrT68use_current(rT171expression(C,_i)); _i=(_i)+(1); } return R; } T0* rT171run_class(T171 *C){ T0* R=NULL; R=XrT58run_class((C)->_current_type); return R; } void rT171compile_to_c_old(T171 *C){ int _i=0; /*IF*/if (((int)(C)->_list)) { _i=1; while (!((_i)>(XrT81upper((C)->_list)))) { XrT68compile_to_c_old(XrT81item((C)->_list,_i)); _i=(_i)+(1); } } /*FI*/} void rT171compile_to_c(T171 *C,T0* a1){ T0* _ft=NULL; T0* _at=NULL; T0* _e=NULL; int _i=0; _i=1; while (!((_i)>(rT171count(C)))) { _e=rT171expression(C,_i); _at=XrT58run_type(XrT68result_type(_e)); _ft=XrT58run_type(rT92type((T92*)a1,_i)); /*IF*/if (XrT58is_expanded(_ft)) { /*IF*/if (XrT58is_expanded(_at)) { XrT68compile_to_c(_e); } else { XrT58to_expanded(_ft); rT43put_character((T43*)oRBC27cpp,'\50'); XrT68compile_to_c(_e); rT43put_character((T43*)oRBC27cpp,'\51'); } /*FI*/} else { /*IF*/if (XrT58is_expanded(_at)) { XrT58to_reference(_at); rT43put_character((T43*)oRBC27cpp,'\50'); XrT68compile_to_c(_e); rT43put_character((T43*)oRBC27cpp,'\51'); } else { /*IF*/if ((XrT68is_current(_e))||(XrT68is_manifest_string(_e))) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms1201); } /*FI*/XrT68compile_to_c(_e); } /*FI*/} /*FI*/_i=(_i)+(1); /*IF*/if ((_i)<=(rT171count(C))) { rT43put_character((T43*)oRBC27cpp,'\54'); } /*FI*/} } int rT94put_into(T94 *C,T0* a1,int a2){ int R=0; int _rank=0; _rank=rT96index_of((T96*)a1,(T0 *)C); /*IF*/if ((_rank)<=(((T96*)a1)->_upper)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT94start_position(C)); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT94start_position((T94*)rT96item((T96*)a1,_rank))); rT45error((T45*)oRBC27eh,(T0 *)ms1531); } /*FI*/rT96put((T96*)a1,(T0 *)C,a2); R=(a2)+(1); return R; } T0* rT94start_position(T94 *C){ T0* R=NULL; R=((T97*)(C)->_name)->_start_position; return R; } int rT94is_equal(T94 *C,T0* a1){ int R=0; R=rT7is_equal((T7*)rT97to_key((T97*)(C)->_name),rT97to_key((T97*)((T94*)a1)->_name)); return R; } void rT94make(T94 *C,T0* a1,T0* a2){ C->_name=a1; C->_type=a2; } int rT142put_into(T142 *C,T0* a1,int a2){ int R=0; T0* _d1=NULL; int _i=0; _i=((T141*)(C)->_name_list)->_lower; R=a2; while (!((_i)>(((T141*)(C)->_name_list)->_upper))) { {T94 *n=((T94*)se_new(94)); rT94make(n,rT141item((T141*)(C)->_name_list,_i),(C)->_type); _d1=(T0 *)n;} R=rT94put_into((T94*)_d1,a1,R); _i=(_i)+(1); } return R; } int rT142count(T142 *C){ int R=0; R=rT141count((T141*)(C)->_name_list); return R; } void rT142make(T142 *C,T0* a1,T0* a2){ C->_name_list=a1; C->_type=a2; } T0* rT215twin(T215 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT215copy((T215*)R,(T0 *)C); AF_0 /*FI*/return R; } T0* rT215runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT158empty((T158*)a1))) { R=rT158twin((T158*)a1); _i=((T158*)R)->_upper; while (!((_i)==(0))) { rT52push((T52*)oRBC27small_eiffel,a3); _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2); /*IF*/if (!(_a)) { rT215error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms473); } else { rT158put((T158*)R,_a,_i); } /*FI*/rT52pop((T52*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } T0* rT215to_runnable(T215 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (((int)(C)->_list)) { C->_list=rT215runnable((C)->_list,a1,rT52top_rf((T52*)oRBC27small_eiffel)); } /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT215twin(C); /*(IRF3*/(((T215*)R)->_current_type)=(NULL); /*)*/R=rT215to_runnable((T215*)R,a1); } /*FI*/return R; } void rT215error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } int rT215use_current(T215 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=((T158*)(C)->_list)->_upper; while (!((R)||((_i)==(0)))) { R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } void rT215compile_to_c(T215 *C){ int _i=0; /*(IRF3*/(((T43*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms1300/*)*/); /*)*//*IF*/if (((int)(C)->_list)) { rT43put_string((T43*)oRBC27cpp,(T0 *)ms781); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1300/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms782); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1300/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms783); _i=1; while (!((_i)>(((T158*)(C)->_list)->_upper))) { rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i)); _i=(_i)+(1); } rT43put_string((T43*)oRBC27cpp,(T0 *)ms789); rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms1300/*)*/); rT43put_string((T43*)oRBC27cpp,(T0 *)ms790); } /*FI*/} void rT215copy(T215 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} void rT215make(T215 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; } T0* rT75twin(T75 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id); AF_1 rT75copy((T75*)R,(T0 *)C); AF_0 /*FI*/return R; } int rT75is_static(T75 *C){ int R=0; R=1; C->_static_value_mem=rT75to_integer(C); return R; } int rT75static_value(T75 *C){ int R=0; R=(C)->_static_value_mem; return R; } T0* rT75to_runnable(T75 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT75twin(C); /*(IRF3*/(((T75*)R)->_current_type)=(a1); /*)*/} /*FI*/return R; } void rT75error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } T0* rT75add_comment(T75 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) { R=(T0 *)C; } else { {T221 *n=((T221*)se_new(221)); rT221make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC75result_type=0; T0*oRBC75result_type; T0* rT75result_type(/*C*/void){ if (ofBC75result_type==0){ T0* R=NULL; ofBC75result_type=1; {T109 *n=((T109*)se_new(109)); rT109make(n,NULL); R=(T0 *)n;} oRBC75result_type=R;} return oRBC75result_type;} void rT75compile_to_c(T75 *C){ rT43put_character((T43*)oRBC27cpp,'\47'); /*IF*/if ((rT3is_letter((C)->_value))||(rT3is_digit((C)->_value))) { rT43put_character((T43*)oRBC27cpp,(C)->_value); } else { rT43put_character((T43*)oRBC27cpp,'\134'); rT43put_integer((T43*)oRBC27cpp,rT2to_octal(((unsigned char)(C)->_value))); } /*FI*/rT43put_character((T43*)oRBC27cpp,'\47'); } int rT75to_integer(T75 *C){ int R=0; R=((unsigned char)(C)->_value); return R; } T0* rT75written_in(T75 *C){ T0* R=NULL; T0* _sp=NULL; _sp=(C)->_start_position; /*IF*/if (((int)_sp)) { R=((T46*)_sp)->_base_class_name; } /*FI*/return R; } void rT75copy(T75 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/} int rT75is_a(T75 *C,T0* a1){ int R=0; R=XrT58is_a(rT109run_type((T109*)rT75result_type()),XrT58run_type(XrT68result_type(a1))); /*IF*/if (!(R)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position((C)->_start_position); rT75error(XrT68start_position(a1),(T0 *)ms1289); } /*FI*/return R; } void rT75make(T75 *C,T0* a1,char a2,int a3){ C->_start_position=a1; C->_value=a2; /*(IRF3*/((C)->_pretty_print_mode)=(a3); /*)*/} int rT51a_constant(T51 *C){ int R=0; T0* _fn=NULL; T0* _e_current=NULL; /*IF*/if (rT51a_identifier(C)) { R=1; _fn=rT69to_feature_name((T69*)rT51tmp_name()); {T89 *n=((T89*)se_new(89)); rT89make(n,XrT67start_position(_fn),0); _e_current=(T0 *)n;} {T163 *n=((T163*)se_new(163)); rT163make(n,_e_current,_fn); C->_last_expression=(T0 *)n;}} else if (rT51a_character_constant(C)) { R=1; C->_last_expression=(C)->_last_character_constant; } else if (rT51a_integer_constant(C)) { R=1; C->_last_expression=(C)->_last_integer_constant; } /*FI*/return R; } int rT51a_conditional(T51 *C){ int R=0; T0* _ifthenelse=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms349)) { R=1; {T219 *n=((T219*)se_new(219)); /*(IRF3*/((n)->_start_position)=(rT51pos((C)->_start_line,(C)->_start_column)); /*)*/_ifthenelse=(T0 *)n;} rT51a_then_part_list(C,_ifthenelse); /*IF*/if (rT51a_keyword(C,(T0 *)ms101)) { /*(IRF3*/(((T219*)_ifthenelse)->_else_compound)=(rT51a_compound2(C,(T0 *)ms355,(T0 *)ms115)); /*)*/} else { /*IF*/if (!(rT51a_keyword(C,(T0 *)ms115))) { rT51wcp(C,(T0 *)ms356); } /*FI*/} /*FI*/C->_last_instruction=_ifthenelse; } /*FI*/return R; } int rT51a_boolean_constant(T51 *C){ int R=0; /*IF*/if (rT51a_keyword(C,(T0 *)ms154)) { {T73 *n=((T73*)se_new(73)); /*(IRF3*/((n)->_start_position)=(rT51pos((C)->_start_line,(C)->_start_column)); /*)*/C->_last_boolean_constant=(T0 *)n;}R=1; } else if (rT51a_keyword(C,(T0 *)ms155)) { {T74 *n=((T74*)se_new(74)); /*(IRF3*/((n)->_start_position)=(rT51pos((C)->_start_line,(C)->_start_column)); /*)*/C->_last_boolean_constant=(T0 *)n;}R=1; } /*FI*/return R; } int rT51a_then_part(T51 *C,T0* a1){ int R=0; T0* _expression=NULL; /*IF*/if (rT51a_expression(C)) { R=1; _expression=XrT68add_comment((C)->_last_expression,rT51get_comments(C)); /*IF*/if (!(rT51a_keyword(C,(T0 *)ms98))) { rT51wcp(C,(T0 *)ms350); } /*FI*/rT219add_if_then((T219*)a1,_expression,rT51a_compound1(C,(T0 *)ms351)); } /*FI*/return R; } void rT51a_then_part_list(T51 *C,T0* a1){ /*IF*/if (!(rT51a_then_part(C,a1))) { rT51fcp(C,(T0 *)ms352); } /*FI*/while (!(!(rT51a_keyword(C,(T0 *)ms353)))) { /*IF*/if (!(rT51a_then_part(C,a1))) { rT51fcp(C,(T0 *)ms354); } /*FI*/} } T0* rT51get_comments(T51 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_last_comments)) { R=(C)->_last_comments; C->_last_comments=NULL; } /*FI*/return R; } int rT51a_parent(T51 *C){ int R=0; /*IF*/if (rT51a_class_type(C)) { R=1; /*IF*/if (rT7is_equal((T7*)((T48*)rT51current_class_name(C))->_to_string,((T48*)XrT58base_class_name((C)->_last_class_type))->_to_string)) { rT51error(XrT58start_position((C)->_last_class_type),(T0 *)ms219); } /*FI*/{T118 *n=((T118*)se_new(118)); rT118make(n,(C)->_last_class_type); C->_last_parent=(T0 *)n;} /*IF*/if (rT51a_keyword(C,(T0 *)ms222)) { rT51a_rename_list(C); /*IF*/if (((C)->_cc)==('\73')) { rT51wcp(C,(T0 *)ms226); C->_ok=rT51skip1(C,'\73'); } /*FI*/} /*FI*/rT51a_new_export_list(C); /*IF*/if (rT51a_keyword(C,(T0 *)ms237)) { rT51a_undefine_list(C); } /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms238)) { rT51a_redefine_list(C); } /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms239)) { rT51a_select_list(C); } /*FI*//*IF*/if (((((rT51a_keyword(C,(T0 *)ms240))||(rT51a_keyword(C,(T0 *)ms241)))||(rT51a_keyword(C,(T0 *)ms242)))||(rT51a_keyword(C,(T0 *)ms243)))||(rT51a_keyword(C,(T0 *)ms244))) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT51pos((C)->_start_line,(C)->_start_column)); rT51fatal_error((T0 *)ms245); } /*FI*/C->_ok=rT51a_keyword(C,(T0 *)ms115); } /*FI*/return R; } void rT51a_parent_list(T51 *C,T0* a1,T0* a2){ T0* _list=NULL; while (!(!(rT51a_parent(C)))) { /*IF*/if (!(_list)) { _list=ma(130,0,1,(C)->_last_parent); } else { rT130add_last((T130*)_list,(C)->_last_parent); } /*FI*/C->_ok=rT51skip1(C,'\73'); /*(IRF3*/(((T118*)(C)->_last_parent)->_comment)=(rT51get_comments(C)); /*)*/} /*IF*/if (((((int)a2))||(((int)_list)))) { rT50set_parent_list((T50*)(C)->_last_base_class,a1,a2,_list); } /*FI*/} int rT51a_when_part(T51 *C,T0* a1){ int R=0; T0* _constant=NULL; T0* _e_when=NULL; int _state=0; /*IF*/if (rT51a_keyword(C,(T0 *)ms361)) { R=1; {T227 *n=((T227*)se_new(227)); rT227make(n,rT51pos((C)->_start_line,(C)->_start_column),rT51get_comments(C)); _e_when=(T0 *)n;} while (!((_state)>(3))) { {int iv1=_state; if (0 == iv1) goto l119; goto l120; l119: ; /*IF*/if (rT51a_constant(C)) { _constant=(C)->_last_expression; _state=1; } else if (rT51a_keyword(C,(T0 *)ms98)) { /*IF*/if (((int)_constant)) { rT227add_value((T227*)_e_when,_constant); } /*FI*//*(IRF3*/(((T227*)_e_when)->_compound)=(rT51a_compound1(C,(T0 *)ms362)); /*)*/rT226add_when((T226*)a1,_e_when); _state=4; } else if (((C)->_cc)==('\54')) { rT51wcp(C,(T0 *)ms228); C->_ok=rT51skip1(C,'\54'); } else { rT51fcp(C,(T0 *)ms363); _state=4; } /*FI*/goto l118; l120: ; if (1 == iv1) goto l121; goto l122; l121: ; /*IF*/if (rT51a_keyword(C,(T0 *)ms98)) { /*IF*/if (((int)_constant)) { rT227add_value((T227*)_e_when,_constant); } /*FI*//*(IRF3*/(((T227*)_e_when)->_compound)=(rT51a_compound1(C,(T0 *)ms364)); /*)*/rT226add_when((T226*)a1,_e_when); _state=4; } else if (rT51skip2(C,'\56','\56')) { _state=2; } else if (rT51skip1(C,'\54')) { rT227add_value((T227*)_e_when,_constant); _constant=NULL; _state=0; } else { rT51fcp(C,(T0 *)ms363); _state=4; } /*FI*/goto l118; l122: ; if (2 == iv1) goto l123; goto l124; l123: ; /*IF*/if (rT51a_constant(C)) { rT227add_slice((T227*)_e_when,_constant,(C)->_last_expression); _constant=NULL; _state=3; } else { rT51fcp(C,(T0 *)ms363); _state=4; } /*FI*/goto l118; l124: ; /*IF*/if (rT51skip1(C,'\54')) { _state=0; } else if (rT51a_keyword(C,(T0 *)ms98)) { /*(IRF3*/(((T227*)_e_when)->_compound)=(rT51a_compound1(C,(T0 *)ms365)); /*)*/rT226add_when((T226*)a1,_e_when); _state=4; } else if (rT51a_constant(C)) { _constant=(C)->_last_expression; rT51warning(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms211); _state=1; } else { rT51fcp(C,(T0 *)ms363); _state=4; } /*FI*/ l118: ; } } } /*FI*/return R; } void rT51a_select_list(T51 *C){ /*IF*/if (rT51a_feature_list(C)) { rT118set_select((T118*)(C)->_last_parent,(C)->_last_feature_list); } /*FI*/} int rT51a_unary(T51 *C){ int R=0; /*IF*/if (rT51a_keyword(C,(T0 *)ms78)) { {T66 *n=((T66*)se_new(66)); rT66make(n,(T0 *)ms78,rT51pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } else if (rT51skip1(C,'\53')) { {T66 *n=((T66*)se_new(66)); rT66make(n,(T0 *)ms80,rT51pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } else if (rT51skip1(C,'\55')) { {T66 *n=((T66*)se_new(66)); rT66make(n,(T0 *)ms81,rT51pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } /*FI*/return R; } int rT51a_rename_pair(T51 *C){ int R=0; T0* _rename_pair=NULL; T0* _name1=NULL; /*IF*/if (rT51a_identifier(C)) { _name1=rT69to_feature_name((T69*)rT51tmp_name()); /*IF*/if (rT51a_keyword(C,(T0 *)ms223)) { /*IF*/if (rT51a_identifier(C)) { R=1; /*IF*/if (rT7is_equal((T7*)((T69*)rT51tmp_name())->_to_string,XrT67to_string(_name1))) { rT51warning(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms224); } else { {T119 *n=((T119*)se_new(119)); rT119make(n,_name1,rT69to_feature_name((T69*)rT51tmp_name())); _rename_pair=(T0 *)n;} rT118add_rename((T118*)(C)->_last_parent,_rename_pair); } /*FI*/} else { rT51fcp(C,(T0 *)ms225); } /*FI*/} else { rT51go_back(C,XrT67start_position(_name1)); } /*FI*/} /*FI*/return R; } void rT51a_rename_list(T51 *C){ while (!(!(rT51a_rename_pair(C)))) { C->_ok=rT51skip1(C,'\54'); } } T0* rT51to_call(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (!(a2)) { R=a1; } else if (!(a3)) { {T163 *n=((T163*)se_new(163)); rT163make(n,a1,a2); R=(T0 *)n;}} else if ((rT171count((T171*)a3))==(1)) { {T175 *n=((T175*)se_new(175)); rT175make(n,a1,a2,a3); R=(T0 *)n;}} else { {T176 *n=((T176*)se_new(176)); rT176make(n,a1,a2,a3); R=(T0 *)n;}} /*FI*/return R; } int rT51a_e10(T51 *C){ int R=0; /*IF*/if (rT51a_strip(C)) { R=1; } else if (rT51skip1(C,'\50')) { R=1; /*IF*/if (rT51a_expression(C)) { /*IF*/if (rT51skip1(C,'\51')) { rT51a_r10(C,0,(C)->_last_expression,NULL,NULL); } else { rT51fcp(C,(T0 *)ms297); } /*FI*/} else { rT51fcp(C,(T0 *)ms298); } /*FI*/} else if (rT51a_manifest_constant(C)) { C->_last_expression=(C)->_last_manifest_constant; R=1; /*IF*/if (rT51skip1unless2(C,'\56','\56')) { rT51wcp(C,(T0 *)ms299); rT51a_after_a_dot(C,0,(C)->_last_expression); } /*FI*/} else if (rT51a_identifier(C)) { R=1; /*IF*/if (((((rT51a_result(C))||(rT51a_current(C)))||(rT51a_void(C)))||(rT51a_local_variable(C)))||(rT51a_argument(C))) { rT51a_r10(C,0,(C)->_last_expression,NULL,NULL); } else { rT51a_function_call(C); } /*FI*/} /*FI*/return R; } void rT51a_assignment_aux(T51 *C,int a1){ T0* _rhs=NULL; T0* _writable=NULL; /*IF*/if (rT51a_current(C)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_last_expression)); rT51fatal_error((T0 *)ms387); } else if (rT51a_void(C)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT69start_position((T69*)rT51tmp_name())); rT51fatal_error((T0 *)ms388); } else if (rT51a_argument(C)) { (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(XrT68start_position((C)->_last_expression)); rT51fatal_error((T0 *)ms389); } else { /*IF*/if (rT7same_as((T7*)(T0 *)ms289,((T69*)rT51tmp_name())->_to_string)) { /*IF*/if (!((C)->_function_type)) { rT51error(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms290); } /*FI*/_writable=rT69to_e_result((T69*)rT51tmp_name()); } else if (rT51a_local_variable(C)) { _writable=(C)->_last_expression; } else { _writable=rT69to_feature_name((T69*)rT51tmp_name()); } /*FI*//*IF*/if (rT51a_expression(C)) { _rhs=(C)->_last_expression; /*IF*/if (a1) { {T249 *n=((T249*)se_new(249)); rT249make(n,_writable,_rhs); C->_last_instruction=(T0 *)n;}} else { {T250 *n=((T250*)se_new(250)); rT250make(n,_writable,_rhs); C->_last_instruction=(T0 *)n;}} /*FI*/} else { rT51fcp(C,(T0 *)ms390); } /*FI*/} /*FI*/} int rT51a_assignment_or_call(T51 *C){ int R=0; /*IF*/if ((rT51skip1(C,'\50'))&&(rT51a_expression(C))) { R=1; /*IF*/if (rT51skip1(C,'\51')) { rT51a_r10(C,1,(C)->_last_expression,NULL,NULL); } else { rT51fcp(C,(T0 *)ms386); } /*FI*/} else if (rT51a_identifier(C)) { R=1; /*IF*/if (rT51skip2(C,'\72','\75')) { rT51a_assignment_aux(C,1); } else if (rT51skip2(C,'\77','\75')) { rT51a_assignment_aux(C,0); } else if ((((rT51a_current(C))||(rT51a_result(C)))||(rT51a_local_variable(C)))||(rT51a_argument(C))) { rT51a_r10(C,1,(C)->_last_expression,NULL,NULL); } else { rT51a_procedure_call(C); } /*FI*/} /*FI*/return R; } T0* rT51a_assertion(T51 *C){ T0* R=NULL; int _state=0; T0* _assertion=NULL; T0* _expression=NULL; T0* _tag=NULL; while (!((_state)>(3))) { {int iv1=_state; if (0 == iv1) goto l126; goto l127; l126: ; /*IF*/if (((C)->_cc)==('\73')) { rT51wcp(C,(T0 *)ms232); C->_ok=rT51skip1(C,'\73'); /*IF*/if (((int)(C)->_last_comments)) { {T64 *n=((T64*)se_new(64)); rT64make(n,NULL,NULL,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/} /*FI*/} else if (rT51a_tag_mark(C)) { _tag=(C)->_last_tag_mark; _state=1; } else if (rT51a_expression(C)) { _expression=(C)->_last_expression; _state=2; } else { _state=4; } /*FI*/goto l125; l127: ; if (1 == iv1) goto l128; goto l129; l128: ; /*IF*/if (rT51skip1(C,'\73')) { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,NULL,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=0; } else if (rT51a_tag_mark(C)) { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,NULL,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; } else if (rT51a_expression(C)) { _expression=(C)->_last_expression; _state=3; } else { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,NULL,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=4; } /*FI*/goto l125; l129: ; if (2 == iv1) goto l130; goto l131; l130: ; /*IF*/if (rT51skip1(C,'\73')) { {T64 *n=((T64*)se_new(64)); rT64make(n,NULL,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=0; } else if (rT51a_tag_mark(C)) { {T64 *n=((T64*)se_new(64)); rT64make(n,NULL,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; _state=1; } else if (rT51a_expression(C)) { {T64 *n=((T64*)se_new(64)); rT64make(n,NULL,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_expression=(C)->_last_expression; _state=2; } else { {T64 *n=((T64*)se_new(64)); rT64make(n,NULL,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=4; } /*FI*/goto l125; l131: ; /*IF*/if (rT51skip1(C,'\73')) { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=0; } else if (rT51a_tag_mark(C)) { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; _state=1; } else if (rT51a_expression(C)) { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_expression=(C)->_last_expression; _state=2; } else { {T64 *n=((T64*)se_new(64)); rT64make(n,_tag,_expression,rT51get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(158,0,1,_assertion); } else { rT158add_last((T158*)R,_assertion); } /*FI*/_state=4; } /*FI*/ l125: ; } } return R; } void rT51a_formal_arg_list(T51 *C){ int _state=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; T0* _sp=NULL; C->_arguments=NULL; while (!((_state)>(5))) { {int iv1=_state; if (0 == iv1) goto l133; goto l134; l133: ; /*IF*/if (rT51skip1(C,'\50')) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _state=1; } else { _state=6; } /*FI*/goto l132; l134: ; if (1 == iv1) goto l135; goto l136; l135: ; /*IF*/if (rT51a_identifier(C)) { _name=rT69to_decl_name((T69*)rT51tmp_name()); _state=2; } else if (rT51skip1(C,'\51')) { _state=6; } else { _state=7; } /*FI*/goto l132; l136: ; if (2 == iv1) goto l137; goto l138; l137: ; /*IF*/if (rT51skip1(C,'\72')) { /*IF*/if (((int)_name_list)) { rT141add_last((T141*)_name_list,_name); _name=NULL; } /*FI*/_state=4; } else { C->_ok=rT51skip1(C,'\54'); /*IF*/if (!(_name_list)) { _name_list=ma(141,0,1,_name); } else { rT141add_last((T141*)_name_list,_name); } /*FI*/_name=NULL; _state=3; } /*FI*/goto l132; l138: ; if (3 == iv1) goto l139; goto l140; l139: ; /*IF*/if (rT51a_identifier(C)) { _name=rT69to_decl_name((T69*)rT51tmp_name()); _state=2; } else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) { rT51wcp(C,(T0 *)ms252); C->_ok=(rT51skip1(C,'\54'))||(rT51skip1(C,'\73')); } else { _state=7; } /*FI*/goto l132; l140: ; if (4 == iv1) goto l141; goto l142; l141: ; /*IF*/if (rT51a_type(C)) { /*IF*/if (((int)_name_list)) { {T142 *n=((T142*)se_new(142)); rT142make(n,_name_list,(C)->_last_type); _declaration=(T0 *)n;}_name_list=NULL; } else { {T94 *n=((T94*)se_new(94)); rT94make(n,_name,(C)->_last_type); _declaration=(T0 *)n;}_name=NULL; } /*FI*//*IF*/if (!(_list)) { _list=ma(143,0,1,_declaration); } else { XrT143add_last(_list,_declaration); } /*FI*/_declaration=NULL; _state=5; } else { _state=7; } /*FI*/goto l132; l142: ; /*IF*/if (rT51skip1(C,'\51')) { _state=6; } else if (((C)->_cc)==('\54')) { rT51wcp(C,(T0 *)ms253); C->_ok=rT51skip1(C,'\54'); _state=1; } else { C->_ok=rT51skip1(C,'\73'); _state=1; } /*FI*/ l132: ; } } /*IF*/if ((_state)==(7)) { rT51fcp(C,(T0 *)ms254); } else if ((((int)_sp))&&(!(_list))) { rT51warning(_sp,(T0 *)ms255); } else if (((int)_sp)) { {T92 *n=((T92*)se_new(92)); rT92make(n,_sp,_list); C->_arguments=(T0 *)n;} /*(IRF3*/(((T136*)oRBC51tmp_feature)->_arguments)=((C)->_arguments); /*)*/} /*FI*/} void rT51a_undefine_list(T51 *C){ /*IF*/if (rT51a_feature_list(C)) { rT118set_undefine((T118*)(C)->_last_parent,(C)->_last_feature_list); } /*FI*/} int rT51a_prefix(T51 *C){ int R=0; /*IF*/if (rT51a_keyword(C,(T0 *)ms75)) { R=1; /*IF*/if (((C)->_cc)==('\42')) { rT51next_char(C); } else { rT51wcp(C,(T0 *)ms77); } /*FI*//*IF*/if (rT51a_unary(C)) { } else if (rT51a_free_operator(C)) { C->_last_prefix=rT69to_prefix_name((T69*)rT51tmp_operator()); } else { rT51fcp(C,(T0 *)ms82); } /*FI*//*IF*/if (!(rT51skip1(C,'\42'))) { rT51wcp(C,(T0 *)ms83); } /*FI*/} /*FI*/return R; } void rT51a_formal_generic_list(T51 *C){ int _state=0; T0* _list=NULL; T0* _fga=NULL; T0* _constraint=NULL; T0* _name=NULL; T0* _sp=NULL; C->_formal_generic_list=NULL; while (!((_state)>(4))) { {int iv1=_state; if (0 == iv1) goto l144; goto l145; l144: ; /*IF*/if (rT51skip1(C,'\133')) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _state=1; } else { _state=5; } /*FI*/goto l143; l145: ; if (1 == iv1) goto l146; goto l147; l146: ; /*IF*/if (rT51a_base_class_name(C)) { _name=(C)->_last_class_name; _state=2; } else { _state=6; } /*FI*/goto l143; l147: ; if (2 == iv1) goto l148; goto l149; l148: ; /*IF*/if (rT51skip2(C,'\55','\76')) { _state=4; } else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\135'))) { {T84 *n=((T84*)se_new(84)); rT84make(n,_name,_constraint); _fga=(T0 *)n;} _name=NULL; _constraint=NULL; /*IF*/if (!(_list)) { _list=ma(86,0,1,_fga); } else { rT86add_last((T86*)_list,_fga); } /*FI*/_fga=NULL; /*IF*/if (rT51skip1(C,'\54')) { _state=1; } else { C->_ok=rT51skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/goto l143; l149: ; if (3 == iv1) goto l150; goto l151; l150: ; /*IF*/if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\135'))) { {T84 *n=((T84*)se_new(84)); rT84make(n,_name,_constraint); _fga=(T0 *)n;} _name=NULL; _constraint=NULL; /*IF*/if (!(_list)) { _list=ma(86,0,1,_fga); } else { rT86add_last((T86*)_list,_fga); } /*FI*/_fga=NULL; /*IF*/if (rT51skip1(C,'\54')) { _state=1; } else { C->_ok=rT51skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/goto l143; l151: ; /*IF*/if (rT51a_class_type(C)) { _constraint=(C)->_last_class_type; _state=3; } else { rT51fcp(C,(T0 *)ms213); _state=6; } /*FI*/ l143: ; } } /*IF*/if ((_state)==(6)) { } else if ((((int)_sp))&&(!(_list))) { rT51warning(_sp,(T0 *)ms214); } else if (((int)_sp)) { {T85 *n=((T85*)se_new(85)); rT85make(n,_sp,_list); C->_formal_generic_list=(T0 *)n;} /*(IRF3*/(((T50*)(C)->_last_base_class)->_formal_generic_list)=((C)->_formal_generic_list); /*)*/} /*FI*/} void rT51fatal_error(/*C*/T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45fatal_error(a1); } void rT51a_function_call(T51 *C){ T0* _e_current=NULL; T0* _fn=NULL; _fn=rT69to_feature_name((T69*)rT51tmp_name()); {T89 *n=((T89*)se_new(89)); rT89make(n,XrT67start_position(_fn),0); _e_current=(T0 *)n;} rT51a_r10(C,0,_e_current,_fn,rT51a_actuals(C)); } int rT51a_keyword(T51 *C,T0* a1){ int R=0; int _i=0; C->_start_line=(C)->_line; C->_start_column=(C)->_column; while (!(((_i)==(((T7*)a1)->_count))||(!(rT3same_as((C)->_cc,rT7item((T7*)a1,(_i)+(1))))))) { _i=(_i)+(1); rT51next_char(C); } /*IF*/if ((_i)==(((T7*)a1)->_count)) { {int iv1=(C)->_cc; if ((9<=iv1)&&(iv1<=10)) goto l153; if (32 == iv1) goto l153; if (45 == iv1) goto l153; goto l154; l153: ; R=1; C->_last_keyword=a1; rT51skip_comments(C); goto l152; l154: ; if ((48<=iv1)&&(iv1<=57)) goto l155; if ((65<=iv1)&&(iv1<=90)) goto l155; if (95 == iv1) goto l155; if ((97<=iv1)&&(iv1<=122)) goto l155; goto l156; l155: ; while (!((_i)==(0))) { rT51prev_char(C); _i=(_i)-(1); } goto l152; l156: ; R=1; C->_last_keyword=a1; l152: ; } } else { while (!((_i)==(0))) { rT51prev_char(C); _i=(_i)-(1); } } /*FI*/return R; } int rT51a_loop(T51 *C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _lb=NULL; T0* _ue=NULL; T0* _vc=NULL; T0* _ic=NULL; T0* _i=NULL; T0* _e_loop=NULL; T0* _sp2=NULL; T0* _sp=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms368)) { R=1; {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _i=rT51a_compound1(C,(T0 *)ms369); /*IF*/if (rT51a_keyword(C,(T0 *)ms370)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp2=(T0 *)n;} _hc=rT51get_comments(C); _al=rT51a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T237 *n=((T237*)se_new(237)); rT237make(n,_sp2,_hc,_al); _ic=(T0 *)n;} } /*FI*/} /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms371)) { /*IF*/if ((rT51a_tag_mark(C))&&(rT51a_expression(C))) { {T239 *n=((T239*)se_new(239)); rT239make(n,(C)->_last_tag_mark,(C)->_last_expression,rT51get_comments(C)); _vc=(T0 *)n;}} else if (rT51a_expression(C)) { {T240 *n=((T240*)se_new(240)); rT240make(n,(C)->_last_expression,rT51get_comments(C)); _vc=(T0 *)n;}} else { rT51wcp(C,(T0 *)ms372); } /*FI*/} /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms373)) { /*IF*/if (rT51a_expression(C)) { _ue=XrT68add_comment((C)->_last_expression,rT51get_comments(C)); } else { rT51fcp(C,(T0 *)ms374); _ue=(C)->_last_expression; } /*FI*/} else { rT51fcp(C,(T0 *)ms375); _ue=(C)->_last_expression; } /*FI*//*IF*/if (((C)->_cc)==('\73')) { rT51wcp(C,(T0 *)ms232); C->_ok=rT51skip1(C,'\73'); } /*FI*//*IF*/if (!(rT51a_keyword(C,(T0 *)ms376))) { rT51wcp(C,(T0 *)ms377); } /*FI*/_lb=rT51a_compound2(C,(T0 *)ms378,(T0 *)ms115); {T236 *n=((T236*)se_new(236)); rT236make(n,_sp,_i,_ic,_vc,_ue,_lb); _e_loop=(T0 *)n;} C->_last_instruction=_e_loop; } /*FI*/return R; } int rT51a_inspect(T51 *C){ int R=0; T0* _ec=NULL; T0* _i=NULL; T0* _spec=NULL; T0* _sp=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms359)) { R=1; {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_expression(C)) { C->_last_expression=XrT68add_comment((C)->_last_expression,rT51get_comments(C)); } else { rT51fcp(C,(T0 *)ms360); } /*FI*/{T226 *n=((T226*)se_new(226)); rT226make(n,_sp,(C)->_last_expression); _i=(T0 *)n;} while (!(!(rT51a_when_part(C,_i)))) { } /*IF*/if (rT51a_keyword(C,(T0 *)ms101)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _spec=(T0 *)n;} _ec=rT51a_compound2(C,(T0 *)ms366,(T0 *)ms115); rT226set_else_compound((T226*)_i,_spec,_ec); } else if (!(rT51a_keyword(C,(T0 *)ms115))) { rT51wcp(C,(T0 *)ms367); } /*FI*/C->_last_instruction=_i; } /*FI*/return R; } int rT51a_instruction(T51 *C){ int R=0; R=(((((((rT51a_check(C))||(rT51a_debug(C)))||(rT51a_conditional(C)))||(rT51a_retry(C)))||(rT51a_inspect(C)))||(rT51a_loop(C)))||(rT51a_creation(C)))||(rT51a_assignment_or_call(C)); return R; } int rT51a_result(T51 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms289,((T69*)rT51tmp_name())->_to_string)) { /*IF*/if (!((C)->_function_type)) { rT51error(rT69start_position((T69*)rT51tmp_name()),(T0 *)ms290); } /*FI*/C->_last_expression=rT69to_e_result((T69*)rT51tmp_name()); R=1; } /*FI*/return R; } void rT51a_new_export_list(T51 *C){ int _state=0; T0* _new_export_item=NULL; T0* _items=NULL; T0* _clients=NULL; T0* _sp=NULL; T0* _export_list=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms227)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} while (!((_state)>(3))) { {int iv1=_state; if (0 == iv1) goto l158; goto l159; l158: ; /*IF*/if (((C)->_cc)==('\173')) { _clients=rT51a_clients(C); _state=1; } else if (((C)->_cc)==('\73')) { rT51wcp(C,(T0 *)ms232); C->_ok=rT51skip1(C,'\73'); } else { /*IF*/if (((int)_items)) { {T122 *n=((T122*)se_new(122)); rT122make(n,_sp,_items); _export_list=(T0 *)n;} /*(IRF3*/(((T118*)(C)->_last_parent)->_export_list)=(_export_list); /*)*/} /*FI*/_state=4; } /*FI*/goto l157; l159: ; if (1 == iv1) goto l160; goto l161; l160: ; /*IF*/if (rT51a_keyword(C,(T0 *)ms233)) { {T124 *n=((T124*)se_new(124)); rT124make_all(n,_clients); _new_export_item=(T0 *)n;} /*IF*/if (!(_items)) { _items=ma(127,0,1,_new_export_item); } else { rT127add_last((T127*)_items,_new_export_item); } /*FI*/_state=2; } else { /*IF*/if (rT51a_feature_list(C)) { {T124 *n=((T124*)se_new(124)); rT124make(n,_clients,(C)->_last_feature_list); _new_export_item=(T0 *)n;} /*IF*/if (!(_items)) { _items=ma(127,0,1,_new_export_item); } else { rT127add_last((T127*)_items,_new_export_item); } /*FI*/_state=2; } else { _state=3; } /*FI*/} /*FI*/goto l157; l161: ; if (2 == iv1) goto l162; goto l163; l162: ; /*IF*/if (rT51skip1(C,'\73')) { _state=0; } else if (((C)->_cc)==('\173')) { rT51wcp(C,(T0 *)ms236); _state=0; } else { /*IF*/if (((int)_items)) { {T122 *n=((T122*)se_new(122)); rT122make(n,_sp,_items); _export_list=(T0 *)n;} /*(IRF3*/(((T118*)(C)->_last_parent)->_export_list)=(_export_list); /*)*/} /*FI*/_state=4; } /*FI*/goto l157; l163: ; rT51fcp(C,(T0 *)ms230); _state=4; l157: ; } } } /*FI*/} int rT51a_current(T51 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms199,((T69*)rT51tmp_name())->_to_string)) { C->_last_expression=rT69to_e_current((T69*)rT51tmp_name()); R=1; } /*FI*/return R; } int rT51a_retry(T51 *C){ int R=0; /*IF*/if (rT51a_keyword(C,(T0 *)ms357)) { /*IF*/if (!((C)->_in_rescue)) { rT51error(rT51pos((C)->_start_line,(C)->_start_column),(T0 *)ms358); } /*FI*/{T225 *n=((T225*)se_new(225)); /*(IRF3*/((n)->_start_position)=(rT51pos((C)->_start_line,(C)->_start_column)); /*)*/C->_last_instruction=(T0 *)n;}R=1; } /*FI*/return R; } int rT51a_integer_constant(T51 *C){ int R=0; /*IF*/if (rT51skip1(C,'\53')) { /*IF*/if (!(rT51a_integer(C))) { rT51fcp(C,(T0 *)ms169); } else { R=1; } /*FI*/} else if (rT51skip1(C,'\55')) { /*IF*/if (!(rT51a_integer(C))) { rT51fcp(C,(T0 *)ms169); } else { C->_last_integer_constant=rT80_px45((T80*)(C)->_last_integer_constant); R=1; } /*FI*/} else { R=rT51a_integer(C); } /*FI*/return R; } int rT51a_integer(T51 *C){ int R=0; int _value=0; int _state=0; /*IF*/if (rT3is_digit((C)->_cc)) { R=1; C->_start_line=(C)->_line; C->_start_column=(C)->_column; _value=rT3value((C)->_cc); while (!((_state)>(3))) { rT51next_char(C); {int iv1=_state; if (0 == iv1) goto l165; goto l166; l165: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l168; goto l169; l168: ; _value=((_value)*(10))+(rT3value((C)->_cc)); goto l167; l169: ; if (95 == iv2) goto l170; goto l171; l170: ; _state=1; goto l167; l171: ; _state=4; l167: ; } goto l164; l166: ; if (1 == iv1) goto l172; goto l173; l172: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l175; goto l176; l175: ; _value=((_value)*(10))+(rT3value((C)->_cc)); _state=2; goto l174; l176: ; rT51fcp(C,(T0 *)ms165); l174: ; } goto l164; l173: ; if (2 == iv1) goto l177; goto l178; l177: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l180; goto l181; l180: ; _value=((_value)*(10))+(rT3value((C)->_cc)); _state=3; goto l179; l181: ; rT51fcp(C,(T0 *)ms165); l179: ; } goto l164; l178: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l183; goto l184; l183: ; _value=((_value)*(10))+(rT3value((C)->_cc)); _state=0; goto l182; l184: ; rT51fcp(C,(T0 *)ms165); l182: ; } l164: ; } rT51skip_comments(C); {T80 *n=((T80*)se_new(80)); rT80make(n,_value,rT51pos((C)->_start_line,(C)->_start_column)); C->_last_integer_constant=(T0 *)n;} } } /*FI*/return R; } void rT51err_exp(/*C*/T0* a1,T0* a2){ T0* _msg=NULL; {T7 *n=((T7*)se_new(7)); rT7make(n,0); _msg=(T0 *)n;} rT7append((T7*)_msg,(T0 *)ms279); rT7append((T7*)_msg,a2); rT7append((T7*)_msg,(T0 *)ms280); (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT51fatal_error(_msg); } int rT51a_expression(T51 *C){ int R=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (rT51skip2(C,'\74','\74')) { R=1; {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} while (!(!(rT51a_expression(C)))) { /*IF*/if (!(_list)) { _list=ma(81,0,1,(C)->_last_expression); } else { XrT81add_last(_list,(C)->_last_expression); } /*FI*/C->_ok=rT51skip1(C,'\54'); } /*IF*/if (!(rT51skip2(C,'\76','\76'))) { rT51fcp(C,(T0 *)ms278); } /*FI*/{T160 *n=((T160*)se_new(160)); rT160make(n,_sp,_list); C->_last_expression=(T0 *)n;}} else { R=rT51a_e0(C); } /*FI*/return R; } int rT51a_void(T51 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms291,((T69*)rT51tmp_name())->_to_string)) { C->_last_expression=rT69to_e_void((T69*)rT51tmp_name()); R=1; } /*FI*/return R; } void rT51a_procedure_call(T51 *C){ T0* _e_current=NULL; T0* _fn=NULL; _fn=rT69to_feature_name((T69*)rT51tmp_name()); {T89 *n=((T89*)se_new(89)); rT89make(n,XrT67start_position(_fn),0); _e_current=(T0 *)n;} rT51a_r10(C,1,_e_current,_fn,rT51a_actuals(C)); } T0* rT51a_external_name(T51 *C){ T0* R=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms337)) { /*IF*/if (!(rT51a_manifest_string(C))) { rT51fcp(C,(T0 *)ms338); } else { R=((T76*)(C)->_last_manifest_string)->_to_string; } /*FI*/} /*FI*/return R; } T0* rT51a_external(T51 *C){ T0* R=NULL; T0* _external_lgg=NULL; /*IF*/if (!(rT51a_manifest_string(C))) { rT51fcp(C,(T0 *)ms331); _external_lgg=((T0 *)((T208*)se_new(208))); } else if (rT7is_equal(ms332,((T76*)(C)->_last_manifest_string)->_to_string)) { _external_lgg=((T0 *)((T208*)se_new(208))); } else if (rT7is_equal(ms333,((T76*)(C)->_last_manifest_string)->_to_string)) { _external_lgg=((T0 *)((T209*)se_new(209))); } else if (rT7is_equal(ms334,((T76*)(C)->_last_manifest_string)->_to_string)) { _external_lgg=((T0 *)((T210*)se_new(210))); } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms335); (/*UT*/(void)(T45*)oRBC27eh); rT45append(((T76*)(C)->_last_manifest_string)->_to_string); rT51fcp(C,(T0 *)ms336); _external_lgg=((T0 *)((T208*)se_new(208))); } /*FI*/R=rT136to_external_routine((T136*)oRBC51tmp_feature,_external_lgg,rT51a_external_name(C)); return R; } T0*oRBC51forbidden_class; void rT51a_r10(T51 *C,int a1,T0* a2,T0* a3,T0* a4){ /*IF*/if (rT51skip1unless2(C,'\56','\56')) { rT51a_after_a_dot(C,a1,rT51to_call(a2,a3,a4)); } else { /*IF*/if (a1) { C->_last_instruction=rT51to_proc_call(C,a2,a3,a4); C->_last_expression=NULL; } else { C->_last_expression=rT51to_call(a2,a3,a4); C->_last_instruction=NULL; } /*FI*/} /*FI*/} T0* rT51analyse_class(T51 *C,T0* a1){ T0* R=NULL; int _old_nbw=0; int _old_nbe=0; /*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)>(0)) { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms70); /*(IRF3*/(/*UT*/(void)(T45*)oRBC27eh); rT45do_print((T0 *)ms43); rT45die_with_code(1); /*)*/} /*FI*//*IF*/if (/*(IRF4*/(!(/*(IRF4*/(!(/*(IRF4*/((T51*)oRBC27eiffel_parser)->_is_running/*)*/))&&(((T52*)oRBC27small_eiffel)->_is_doing_eval_flag)/*)*/))&&(((T52*)oRBC27small_eiffel)->_is_compiling_flag)/*)*/) { rT41put_integer((T41*)oRBC1std_output,(/*(IRF4*/((/*UT*/(void)(T52*)oRBC27small_eiffel), ((T54*)oRBC52base_class_dictionary)->_count/*)*/))+(1)); rT41put_character((T41*)oRBC1std_output,'\11'); rT41put_string((T41*)oRBC1std_output,a1); rT41put_character((T41*)oRBC1std_output,'\12'); } /*FI*/_old_nbe=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/; _old_nbw=/*(IRF4*/((T45*)oRBC27eh)->_nb_warnings/*)*/; C->_is_running=1; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; rT60read((T60*)oRBC51text,a1); C->_line=1; C->_column=1; C->_current_line=((/*UT*/(void)(T60*)oRBC51text), rT60item((C)->_line)); /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) { C->_cc='\12'; } else { C->_cc=rT7first((T7*)(C)->_current_line); } /*FI*/{T50 *n=((T50*)se_new(50)); rT50make(n,a1); C->_last_base_class=(T0 *)n;} rT51skip_comments(C); rT51a_class_declaration(C); C->_is_running=0; R=(C)->_last_base_class; /*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_old_nbe))>(0)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms406); rT37put_integer((T37*)oRBC1std_error,/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/); rT37put_string((T37*)oRBC1std_error,(T0 *)ms407); rT37put_string((T37*)oRBC1std_error,(T0 *)ms408); rT37put_string((T37*)oRBC1std_error,a1); rT37put_string((T37*)oRBC1std_error,(T0 *)ms409); R=NULL; } else if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_warnings/*)*/)-(_old_nbw))>(0)) { rT37put_string((T37*)oRBC1std_error,(T0 *)ms410); rT37put_integer((T37*)oRBC1std_error,/*(IRF4*/((T45*)oRBC27eh)->_nb_warnings/*)*/); rT37put_string((T37*)oRBC1std_error,(T0 *)ms411); } /*FI*//*IF*/if (((int)R)) { rT52add_class((T52*)oRBC27small_eiffel,R); rT50get_started((T50*)R); } /*FI*/return R; } T0* rT51a_routine_body(T51 *C){ T0* R=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms329)) { rT50set_is_deferred((T50*)(C)->_last_base_class); R=rT136to_deferred_routine((T136*)oRBC51tmp_feature); } else if (rT51a_keyword(C,(T0 *)ms330)) { R=rT51a_external(C); } else if (rT51a_keyword(C,(T0 *)ms339)) { /*(IRF3*/(((T136*)oRBC51tmp_feature)->_routine_body)=(rT51a_compound1(C,(T0 *)ms391)); /*)*/R=rT136to_procedure_or_function((T136*)oRBC51tmp_feature); } else if (rT51a_keyword(C,(T0 *)ms392)) { /*(IRF3*/(((T136*)oRBC51tmp_feature)->_routine_body)=(rT51a_compound1(C,(T0 *)ms393)); /*)*/R=rT136to_once_routine((T136*)oRBC51tmp_feature); } else { rT51fcp(C,(T0 *)ms394); } /*FI*/return R; } T0* rT51a_routine(T51 *C){ T0* R=NULL; T0* _ea=NULL; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms275)) { /*IF*/if (rT51a_manifest_string(C)) { /*(IRF3*/(((T136*)oRBC51tmp_feature)->_obsolete_mark)=((C)->_last_manifest_string); /*)*/} else { rT51fcp(C,(T0 *)ms276); } /*FI*/} /*FI*//*(IRF3*/(((T136*)oRBC51tmp_feature)->_header_comment)=(rT51get_comments(C)); /*)*//*IF*/if (rT51a_keyword(C,(T0 *)ms277)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_keyword(C,(T0 *)ms101)) { _hc=rT51get_comments(C); rT136set_require_else((T136*)oRBC51tmp_feature,_sp,_hc,rT51a_assertion(C)); } else { _hc=rT51get_comments(C); rT136set_require((T136*)oRBC51tmp_feature,_sp,_hc,rT51a_assertion(C)); } /*FI*/} /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms323)) { rT51a_local_var_list(C,rT51pos((C)->_start_line,(C)->_start_column)); } /*FI*/R=rT51a_routine_body(C); /*IF*/if (rT51a_keyword(C,(T0 *)ms395)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} C->_in_ensure=1; /*IF*/if (rT51a_keyword(C,(T0 *)ms98)) { _hc=rT51get_comments(C); _al=rT51a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T157 *n=((T157*)se_new(157)); rT157make(n,_sp,_hc,_al); _ea=(T0 *)n;} /*(IRF3*/(((T157*)_ea)->_is_ensure_then)=(1); /*)*/} /*FI*/XrT156set_ensure_assertion(R,_ea); } else { _hc=rT51get_comments(C); _al=rT51a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T157 *n=((T157*)se_new(157)); rT157make(n,_sp,_hc,_al); _ea=(T0 *)n;} } /*FI*/XrT156set_ensure_assertion(R,_ea); } /*FI*/C->_in_ensure=0; } /*FI*//*IF*/if (rT51a_keyword(C,(T0 *)ms396)) { C->_in_rescue=1; XrT156set_rescue_compound(R,rT51a_compound2(C,(T0 *)ms398,(T0 *)ms115)); C->_in_rescue=0; } else { /*IF*/if (!(rT51a_keyword(C,(T0 *)ms115))) { rT51wcp(C,(T0 *)ms399); } /*FI*/} /*FI*/C->_local_vars=NULL; return R; } T0*oRBC51tmp_feature; void rT51skip_comments(T51 *C){ int _state=0; T0* _sp=NULL; while (!((_state)==(2))) { {int iv1=_state; if (0 == iv1) goto l186; goto l187; l186: ; {int iv2=(C)->_cc; if ((9<=iv2)&&(iv2<=10)) goto l189; if (32 == iv2) goto l189; goto l190; l189: ; rT51next_char(C); goto l188; l190: ; if (45 == iv2) goto l191; goto l192; l191: ; rT51next_char(C); _state=1; goto l188; l192: ; _state=2; l188: ; } goto l185; l187: ; if (1 == iv1) goto l193; goto l194; l193: ; {int iv2=(C)->_cc; if (45 == iv2) goto l196; goto l197; l196: ; /*IF*/if (!((C)->_last_comments)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_line,((C)->_column)-(1)); _sp=(T0 *)n;} } /*FI*/rT51next_char(C); /*(IRF3*/(((T7*)oRBC51lcs)->_count)=(0); /*)*/while (!(((C)->_cc)==('\12'))) { rT7extend((T7*)oRBC51lcs,(C)->_cc); rT51next_char(C); } /*IF*/if (!((C)->_last_comments)) { {T59 *n=((T59*)se_new(59)); rT59make(n,_sp,ma(34,0,1,rT7twin((T7*)oRBC51lcs))); C->_last_comments=(T0 *)n;} } else { rT59add_last((T59*)(C)->_last_comments,rT7twin((T7*)oRBC51lcs)); } /*FI*/_state=0; goto l195; l197: ; rT51prev_char(C); _state=2; l195: ; } goto l185; l194: ; l185: ; } } } int rT51a_strip(T51 *C){ int R=0; T0* _sp=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms286)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51skip1(C,'\50')) { C->_ok=rT51a_feature_list(C); {T170 *n=((T170*)se_new(170)); rT170make(n,_sp,(C)->_last_feature_list); C->_last_expression=(T0 *)n;}/*IF*/if (!(rT51skip1(C,'\51'))) { rT51fcp(C,(T0 *)ms287); } /*FI*/R=1; } else { rT51fcp(C,(T0 *)ms288); } /*FI*/} /*FI*/return R; } void rT51prev_char(T51 *C){ /*IF*/if (((C)->_column)>(1)) { C->_column=((C)->_column)-(1); C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column); } else { /*IF*/if (((C)->_line)>(1)) { C->_line=((C)->_line)-(1); C->_current_line=((/*UT*/(void)(T60*)oRBC51text), rT60item((C)->_line)); C->_column=(((T7*)(C)->_current_line)->_count)+(1); C->_cc='\12'; } else { C->_column=0; C->_cc='\0'; } /*FI*/} /*FI*/} int rT51a_type(T51 *C){ int R=0; T0* _argument_name=NULL; T0* _sp=NULL; R=1; /*IF*/if (rT51a_keyword(C,(T0 *)ms198)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_identifier(C)) { /*IF*/if (rT51a_current(C)) { {T90 *n=((T90*)se_new(90)); rT90make(n,_sp,(C)->_last_expression); C->_last_type=(T0 *)n;}} else if (rT51a_argument(C)) { _argument_name=(C)->_last_expression; if ((int)_argument_name) switch (((T0 *)_argument_name)->id) { case 88: break; default: _argument_name = NULL; };{T98 *n=((T98*)se_new(98)); rT98make(n,_sp,_argument_name); C->_last_type=(T0 *)n;}} else { {T99 *n=((T99*)se_new(99)); rT99make(n,_sp,rT69to_feature_name((T69*)rT51tmp_name())); C->_last_type=(T0 *)n;}} /*FI*/} else { rT51fcp(C,(T0 *)ms202); } /*FI*/} else if (rT51a_keyword(C,(T0 *)ms117)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_class_type(C)) { {T100 *n=((T100*)se_new(100)); rT100make(n,_sp,(C)->_last_class_type); C->_last_type=(T0 *)n;}} else { rT51fcp(C,(T0 *)ms204); } /*FI*/} else if (rT51a_keyword(C,(T0 *)ms195)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_integer(C)) { {T101 *n=((T101*)se_new(101)); rT101make(n,_sp,(C)->_last_integer_constant); C->_last_type=(T0 *)n;}} else if (rT51a_identifier(C)) { {T103 *n=((T103*)se_new(103)); rT103make(n,_sp,rT69to_feature_name((T69*)rT51tmp_name())); C->_last_type=(T0 *)n;}} else { rT51fcp(C,(T0 *)ms205); } /*FI*/} else if (rT51a_type_formal_generic(C)) { C->_last_type=(C)->_last_type_formal_generic; } else if (rT51a_class_type(C)) { C->_last_type=(C)->_last_class_type; } else { R=0; } /*FI*/return R; } int rT51a_type_formal_generic(T51 *C){ int R=0; int _rank=0; T0* _cn=NULL; T0* _fga=NULL; /*IF*/if (((int)(C)->_formal_generic_list)) { _rank=1; while (!((R)||((_rank)>(rT85count((T85*)(C)->_formal_generic_list))))) { _fga=rT85item((T85*)(C)->_formal_generic_list,_rank); /*IF*/if (rT51a_keyword(C,((T48*)((T84*)_fga)->_name)->_to_string)) { {T48 *n=((T48*)se_new(48)); rT48make(n,((T48*)((T84*)_fga)->_name)->_to_string,rT51pos((C)->_start_line,(C)->_start_column)); _cn=(T0 *)n;} {T104 *n=((T104*)se_new(104)); rT104make(n,_cn,_rank); C->_last_type_formal_generic=(T0 *)n;} R=1; } /*FI*/_rank=(_rank)+(1); } } /*FI*/return R; } void rT51next_char(T51 *C){ /*IF*/if (((C)->_column)<(((T7*)(C)->_current_line)->_count)) { C->_column=((C)->_column)+(1); C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column); } else if (((C)->_column)==(((T7*)(C)->_current_line)->_count)) { C->_column=((C)->_column)+(1); C->_cc='\12'; } else if (((C)->_line)==(((T60*)oRBC51text)->_count)) { C->_cc='\0'; } else { C->_column=1; C->_line=((C)->_line)+(1); C->_current_line=((/*UT*/(void)(T60*)oRBC51text), rT60item((C)->_line)); /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) { C->_cc='\12'; } else { C->_cc=rT7first((T7*)(C)->_current_line); } /*FI*/} /*FI*/} int ofBC51tmp_name=0; T0*oRBC51tmp_name; T0* rT51tmp_name(/*C*/void){ if (ofBC51tmp_name==0){ T0* R=NULL; ofBC51tmp_name=1; {T69 *n=((T69*)se_new(69)); rT69make(n,0,0); R=(T0 *)n;} oRBC51tmp_name=R;} return oRBC51tmp_name;} int ofBC51tmp_operator=0; T0*oRBC51tmp_operator; T0* rT51tmp_operator(/*C*/void){ if (ofBC51tmp_operator==0){ T0* R=NULL; ofBC51tmp_operator=1; {T69 *n=((T69*)se_new(69)); rT69make(n,0,0); R=(T0 *)n;} oRBC51tmp_operator=R;} return oRBC51tmp_operator;} T0* rT51current_position(T51 *C){ T0* R=NULL; {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_line,(C)->_column); R=(T0 *)n;} return R; } void rT51warning(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45warning((T45*)oRBC27eh,a2); } T0* rT51current_class_name(T51 *C){ T0* R=NULL; R=((T50*)(C)->_last_base_class)->_base_class_name; return R; } T0* rT51to_proc_call(T51 *C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (!(a2)) { rT51fcp(C,(T0 *)ms296); } else if (!(a3)) { {T179 *n=((T179*)se_new(179)); rT179make(n,a1,a2); R=(T0 *)n;}} else if ((rT171count((T171*)a3))==(1)) { {T180 *n=((T180*)se_new(180)); rT180make(n,a1,a2,a3); R=(T0 *)n;}} else { {T181 *n=((T181*)se_new(181)); rT181make(n,a1,a2,a3); R=(T0 *)n;}} /*FI*/return R; } void rT51error(/*C*/T0* a1,T0* a2){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(a1); rT45error((T45*)oRBC27eh,a2); } void rT51ecp(T51 *C,T0* a1){ rT51error(rT51current_position(C),a1); } void rT51fcp(T51 *C,T0* a1){ (/*UT*/(void)(T45*)oRBC27eh); rT45add_position(rT51current_position(C)); rT51fatal_error(a1); } T0*oRBC51lcs; T0*oRBC51text; void rT51wcp(T51 *C,T0* a1){ rT51warning(rT51current_position(C),a1); } T0* rT51pos(/*C*/int a1,int a2){ T0* R=NULL; {T46 *n=((T46*)se_new(46)); rT46make(n,a1,a2); R=(T0 *)n;} return R; } int rT51a_e0(T51 *C){ int R=0; R=rT51a_e1(C); rT51a_r1(C,(C)->_last_expression); return R; } int rT51a_e1(T51 *C){ int R=0; R=rT51a_e2(C); rT51a_r2(C,(C)->_last_expression); return R; } int rT51a_e2(T51 *C){ int R=0; R=rT51a_e3(C); rT51a_r3(C,(C)->_last_expression); return R; } int rT51a_e3(T51 *C){ int R=0; R=rT51a_e4(C); rT51a_r4(C,(C)->_last_expression); return R; } int rT51a_e4(T51 *C){ int R=0; R=rT51a_e5(C); rT51a_r5(C,(C)->_last_expression); return R; } int rT51a_e5(T51 *C){ int R=0; R=rT51a_e6(C); rT51a_r6(C,(C)->_last_expression); return R; } int rT51a_e6(T51 *C){ int R=0; R=rT51a_e7(C); rT51a_r7(C,(C)->_last_expression); return R; } int rT51a_e7(T51 *C){ int R=0; R=rT51a_e8(C); rT51a_r8(C,(C)->_last_expression); return R; } int rT51a_e8(T51 *C){ int R=0; T0* _sp=NULL; T0* _prefix_freeop=NULL; T0* _op=NULL; T0* _prefix_moins=NULL; T0* _prefix_plus=NULL; T0* _prefix_not=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms78)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_e8(C)) { {T161 *n=((T161*)se_new(161)); rT161make(n,_sp,(C)->_last_expression); _prefix_not=(T0 *)n;} C->_last_expression=_prefix_not; R=1; } else { rT51err_exp(_sp,(T0 *)ms78); } /*FI*/} else if (rT51skip1(C,'\53')) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_e8(C)) { {T166 *n=((T166*)se_new(166)); rT166make(n,_sp,(C)->_last_expression); _prefix_plus=(T0 *)n;} C->_last_expression=_prefix_plus; R=1; } else { rT51err_exp(_sp,(T0 *)ms281); } /*FI*/} else if (rT51skip1(C,'\55')) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_e8(C)) { {T167 *n=((T167*)se_new(167)); rT167make(n,_sp,(C)->_last_expression); _prefix_moins=(T0 *)n;} C->_last_expression=_prefix_moins; R=1; } else { rT51err_exp(_sp,(T0 *)ms282); } /*FI*/} else if (rT51a_free_operator(C)) { _op=rT69to_prefix_name((T69*)rT51tmp_operator()); /*IF*/if (rT51a_e8(C)) { {T168 *n=((T168*)se_new(168)); rT168make(n,(C)->_last_expression,_op); _prefix_freeop=(T0 *)n;} C->_last_expression=_prefix_freeop; R=1; } else { (/*UT*/(void)(T45*)oRBC27eh); rT45append((T0 *)ms283); rT51err_exp(((T66*)_op)->_start_position,((T66*)_op)->_to_string); } /*FI*/} else { R=rT51a_e9(C); } /*FI*/return R; } int rT51a_e9(T51 *C){ int R=0; T0* _e_old=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms284)) { /*IF*/if (!((C)->_in_ensure)) { rT51error(rT51pos((C)->_start_line,(C)->_start_column),(T0 *)ms285); } /*FI*//*IF*/if (rT51a_e10(C)) { {T169 *n=((T169*)se_new(169)); /*(IRF3*/((n)->_expression)=((C)->_last_expression); /*)*/_e_old=(T0 *)n;} C->_last_expression=_e_old; R=1; } else { rT51fcp(C,(T0 *)ms300); } /*FI*/} else { R=rT51a_e10(C); } /*FI*/return R; } void rT51a_r1(T51 *C,T0* a1){ T0* _sp=NULL; T0* _infix_implies=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms96)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_e1(C)) { {T203 *n=((T203*)se_new(203)); rT203make(n,a1,_sp,(C)->_last_expression); _infix_implies=(T0 *)n;} rT51a_r1(C,_infix_implies); } else { rT51error(_sp,(T0 *)ms322); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} void rT51a_r2(T51 *C,T0* a1){ T0* _sp=NULL; T0* _infix_xor=NULL; T0* _infix_or=NULL; T0* _infix_or_else=NULL; /*IF*/if (rT51a_keyword(C,(T0 *)ms100)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_keyword(C,(T0 *)ms101)) { /*IF*/if (rT51a_e2(C)) { {T200 *n=((T200*)se_new(200)); rT200make(n,a1,_sp,(C)->_last_expression); _infix_or_else=(T0 *)n;} rT51a_r2(C,_infix_or_else); } else { rT51err_exp(_sp,(T0 *)ms102); } /*FI*/} else { /*IF*/if (rT51a_e2(C)) { {T201 *n=((T201*)se_new(201)); rT201make(n,a1,_sp,(C)->_last_expression); _infix_or=(T0 *)n;} rT51a_r2(C,_infix_or); } else { rT51err_exp(_sp,(T0 *)ms100); } /*FI*/} /*FI*/} else if (rT51a_keyword(C,(T0 *)ms95)) { {T46 *n=((T46*)se_new(46)); rT46make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT51a_e2(C)) { {T202 *n=((T202*)se_new(202)); rT202make(n,a1,_sp,(C)->_last_expression); _infix_xor=(T0 *)n;} rT51a_r2(C,_infix_xor); } else { rT51err_exp(_sp,(T0 *)ms95); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.