This is compile_to_c20.c in view mode; [Download] [Up]
/* ANSI C code generated by SmallEiffel. */ /* -- SmallEiffel -- Release (- 0.91) -- 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" /*DECLARATION_GROUP*/int rT144count(T144 *C){ int R=0; R=/*XrT*ARRAY[LOCAL_ARGUMENT]*/((T99*)(C)->_name_list)->_upper; return R; } /*DECLARATION_GROUP*/void rT144append_in(T144 *C,T0* a1){ int _i=0; _i=/*XrT*ARRAY[LOCAL_ARGUMENT]*/((T99*)(C)->_name_list)->_lower; while (!((_i)>(/*XrT*ARRAY[LOCAL_ARGUMENT]*/((T99*)(C)->_name_list)->_upper))) { XrT98add_last(a1,/*XrT*ARRAY[LOCAL_ARGUMENT]*/rT99item((T99*)(C)->_name_list,_i)); _i=(_i)+(1); } }/*DECLARATION_GROUP*/void rT144make(T144 *C,T0* a1,T0* a2){ int _i=0; C->_name_list=a1; _i=/*XrT*ARRAY[LOCAL_ARGUMENT]*/((T99*)(C)->_name_list)->_upper; while (!((_i)==(0))) { /*XrT*LOCAL_ARGUMENT*//*[IRF3:set_result_type*//*AW*/((T92*)/*XrT*ARRAY[LOCAL_ARGUMENT]*/rT99item((T99*)(C)->_name_list,_i))->_result_type=(a2);/*]*/ _i=(_i)-(1); } }/*DECLARATION_1*/void rT146append_in(T146 *C,T0* a1){ XrT98add_last(a1,(C)->_name); }/*DECLARATION_1*/void rT146make(T146 *C,T0* a1,T0* a2){ C->_name=a1; /*XrT*LOCAL_ARGUMENT*//*[IRF3:set_result_type*//*AW*/((T92*)(C)->_name)->_result_type=(a2);/*]*/ }/*CHECK_INVARIANT*/T0* rT222twin(T222 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT222copy((T222*)R,(T0 *)C); AF_0 /*FI*/return R; } /*CHECK_INVARIANT*/T0* rT222runnable(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; T0* _a=NULL; int _i=0; /*IF*/if (!(rT162empty((T162*)a1))) { R=rT162twin((T162*)a1); _i=((T162*)R)->_upper; while (!((_i)==(0))) { rT55push((T55*)oRBC27small_eiffel,a3); _a=rT68to_runnable((T68*)rT162item((T162*)R,_i),a2); /*IF*/if (!(_a)) { rT222error(rT68start_position((T68*)rT162item((T162*)R,_i)),(T0 *)ms97_27); } else { rT162put((T162*)R,_a,_i); } /*FI*/rT55pop((T55*)oRBC27small_eiffel); _i=(_i)-(1); } } /*FI*/return R; } /*CHECK_INVARIANT*/T0* rT222to_runnable(T222 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; /*IF*/if (((int)(C)->_list)) { C->_list=rT222runnable((C)->_list,a1,rT55top_rf((T55*)oRBC27small_eiffel)); } /*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { R=(T0 *)C; } /*FI*/} else { R=rT222twin(C); /*[IRF3:set_current_type*//*AW*/((T222*)R)->_current_type=(NULL);/*]*/ R=rT222to_runnable((T222*)R,a1); } /*FI*/return R; } /*CHECK_INVARIANT*/void rT222error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*CHECK_INVARIANT*/int rT222use_current(T222 *C){ int R=0; int _i=0; /*IF*/if (((int)(C)->_list)) { _i=((T162*)(C)->_list)->_upper; while (!((R)||((_i)==(0)))) { R=rT68use_current((T68*)rT162item((T162*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } /*CHECK_INVARIANT*/void rT222compile_to_c(T222 *C){ int _i=0; /*[IRF3:set_check_assertion_mode*//*AW*/((T44*)oRBC27cpp)->_check_assertion_mode=(/*(IRF4*/(T0 *)ms1_222/*)*/);/*]*/ /*IF*/if (((int)(C)->_list)) { rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms1_222/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms1_222/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_140); _i=1; while (!((_i)>(((T162*)(C)->_list)->_upper))) { rT68compile_to_c((T68*)rT162item((T162*)(C)->_list,_i)); _i=(_i)+(1); } rT44put_string((T44*)oRBC27cpp,(T0 *)ms4_140); rT44put_string((T44*)oRBC27cpp,/*(IRF4*/(T0 *)ms1_222/*)*/); rT44put_string((T44*)oRBC27cpp,(T0 *)ms5_140); } /*FI*/}/*CHECK_INVARIANT*/void rT222copy(T222 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*CHECK_INVARIANT*/int rT222is_pre_computable(T222 *C){ int R=0; int _i=0; /*IF*/if (!((C)->_list)) { R=1; } else { _i=((T162*)(C)->_list)->_upper; R=1; while (!((!(R))||((_i)==(0)))) { R=rT68is_pre_computable((T68*)rT162item((T162*)(C)->_list,_i)); _i=(_i)-(1); } } /*FI*/return R; } /*CHECK_INVARIANT*/void rT222make(T222 *C,T0* a1,T0* a2,T0* a3){ C->_start_position=a1; C->_header_comment=a2; C->_list=a3; }/*CHARACTER_CONSTANT*/T0* rT79twin(T79 *C){ T0* R=NULL; /*IF*//*AF*//*AE*/ R=(T0 *)se_new(C->id);AF_1 rT79copy((T79*)R,(T0 *)C); AF_0 /*FI*/return R; } /*CHARACTER_CONSTANT*/int rT79is_static(T79 *C){ int R=0; R=1; C->_static_value_mem=rT79to_integer(C); return R; } /*CHARACTER_CONSTANT*/int rT79static_value(T79 *C){ int R=0; R=(C)->_static_value_mem; return R; } /*CHARACTER_CONSTANT*/T0* rT79to_runnable(T79 *C,T0* a1){ T0* R=NULL; /*IF*/if (!((C)->_current_type)) { C->_current_type=a1; R=(T0 *)C; } else { R=rT79twin(C); /*[IRF3:set_current_type*//*AW*/((T79*)R)->_current_type=(a1);/*]*/ } /*FI*/return R; } /*CHARACTER_CONSTANT*/void rT79error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*CHARACTER_CONSTANT*/T0* rT79add_comment(T79 *C,T0* a1){ T0* R=NULL; /*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) { R=(T0 *)C; } else { {T228 *n=((T228*)se_new(228)); rT228make(n,(T0 *)C,a1); R=(T0 *)n;}} /*FI*/return R; } int ofBC79result_type=0; T0*oRBC79result_type; /*CHARACTER_CONSTANT*/T0* rT79result_type(/*C*/void){ if (ofBC79result_type==0){ T0* R=NULL; ofBC79result_type=1; {T111 *n=((T111*)se_new(111)); rT111make(n,NULL); R=(T0 *)n;} oRBC79result_type=R;} return oRBC79result_type;} /*CHARACTER_CONSTANT*/void rT79compile_to_c(T79 *C){ rT44put_character((T44*)oRBC27cpp,'\47'); /*IF*/if ((rT3is_letter((C)->_value))||(rT3is_digit((C)->_value))) { rT44put_character((T44*)oRBC27cpp,(C)->_value); } else { rT44put_character((T44*)oRBC27cpp,'\134'); rT44put_integer((T44*)oRBC27cpp,rT2to_octal(((unsigned char)(C)->_value))); } /*FI*/rT44put_character((T44*)oRBC27cpp,'\47'); }/*CHARACTER_CONSTANT*/int rT79to_integer(T79 *C){ int R=0; R=((unsigned char)(C)->_value); return R; } /*CHARACTER_CONSTANT*/void rT79copy(T79 *C,T0* a1){ /*IF*//*AF*//*AE*/ memcpy(C,a1,s[C->id]); /*FI*/}/*CHARACTER_CONSTANT*/int rT79is_a(T79 *C,T0* a1){ int R=0; R=XrT62is_a(rT111run_type((T111*)rT79result_type()),XrT62run_type(XrT72result_type(a1))); /*IF*/if (!(R)) { rT48add_position((C)->_start_position); rT79error(XrT72start_position(a1),(T0 *)ms2_72); } /*FI*/return R; } /*CHARACTER_CONSTANT*/void rT79make(T79 *C,T0* a1,char a2,int a3){ C->_start_position=a1; C->_value=a2; /*[IRF3:set_pretty_print_mode*//*AW*/(C)->_pretty_print_mode=(a3);/*]*/ }/*EIFFEL_PARSER*/int rT54a_constant(T54 *C){ int R=0; T0* _fn=NULL; T0* _e_current=NULL; /*IF*/if (rT54a_identifier(C)) { R=1; _fn=rT73to_feature_name((T73*)rT54tmp_name()); {T94 *n=((T94*)se_new(94)); rT94make(n,/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position,0); _e_current=(T0 *)n;} {T167 *n=((T167*)se_new(167)); rT167make(n,_e_current,_fn); C->_last_expression=(T0 *)n;}} else if (rT54a_character_constant(C)) { R=1; C->_last_expression=(C)->_last_character_constant; } else if (rT54a_integer_constant(C)) { R=1; C->_last_expression=(C)->_last_integer_constant; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_conditional(T54 *C){ int R=0; T0* _ifthenelse=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms73_54)) { R=1; {T226 *n=((T226*)se_new(226)); /*[IRF3:make*//*AW*/(n)->_start_position=(rT54pos((C)->_start_line,(C)->_start_column));/*]*/ _ifthenelse=(T0 *)n;} rT54a_then_part_list(C,_ifthenelse); /*IF*/if (rT54a_keyword(C,(T0 *)ms114_27)) { /*[IRF3:set_else_compound*//*AW*/((T226*)_ifthenelse)->_else_compound=(rT54a_compound2(C,(T0 *)ms74_54,(T0 *)ms115_27));/*]*/ } else { /*IF*/if (!(rT54a_keyword(C,(T0 *)ms115_27))) { rT54wcp(C,(T0 *)ms75_54); } /*FI*/} /*FI*/C->_last_instruction=_ifthenelse; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_boolean_constant(T54 *C){ int R=0; /*IF*/if (rT54a_keyword(C,(T0 *)ms51_54)) { {T77 *n=((T77*)se_new(77)); /*[IRF3:make*//*AW*/(n)->_start_position=(rT54pos((C)->_start_line,(C)->_start_column));/*]*/ C->_last_boolean_constant=(T0 *)n;}R=1; } else if (rT54a_keyword(C,(T0 *)ms52_54)) { {T78 *n=((T78*)se_new(78)); /*[IRF3:make*//*AW*/(n)->_start_position=(rT54pos((C)->_start_line,(C)->_start_column));/*]*/ C->_last_boolean_constant=(T0 *)n;}R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_then_part(T54 *C,T0* a1){ int R=0; T0* _expression=NULL; /*IF*/if (rT54a_expression(C)) { R=1; _expression=XrT72add_comment((C)->_last_expression,rT54get_comments(C)); /*IF*/if (!(rT54a_keyword(C,(T0 *)ms120_27))) { rT54wcp(C,(T0 *)ms187_54); } /*FI*/rT226add_if_then((T226*)a1,_expression,rT54a_compound1(C,(T0 *)ms188_54)); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_then_part_list(T54 *C,T0* a1){ /*IF*/if (!(rT54a_then_part(C,a1))) { rT54fcp(C,(T0 *)ms184_54); } /*FI*/while (!(!(rT54a_keyword(C,(T0 *)ms185_54)))) { /*IF*/if (!(rT54a_then_part(C,a1))) { rT54fcp(C,(T0 *)ms186_54); } /*FI*/} }/*EIFFEL_PARSER*/T0* rT54get_comments(T54 *C){ T0* R=NULL; /*IF*/if (((int)(C)->_last_comments)) { R=(C)->_last_comments; C->_last_comments=NULL; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_parent(T54 *C){ int R=0; /*IF*/if (rT54a_class_type(C)) { R=1; /*IF*/if (rT7is_equal((T7*)((T51*)rT54current_class_name(C))->_to_string,((T51*)XrT62base_class_name((C)->_last_class_type))->_to_string)) { rT54error(XrT62start_position((C)->_last_class_type),(T0 *)ms137_54); } /*FI*/{T120 *n=((T120*)se_new(120)); rT120make(n,(C)->_last_class_type); C->_last_parent=(T0 *)n;} /*IF*/if (rT54a_keyword(C,(T0 *)ms138_54)) { rT54a_rename_list(C); /*IF*/if (((C)->_cc)==('\73')) { rT54wcp(C,(T0 *)ms139_54); C->_ok=rT54skip1(C,'\73'); } /*FI*/} /*FI*/rT54a_new_export_list(C); /*IF*/if (rT54a_keyword(C,(T0 *)ms140_54)) { rT54a_undefine_list(C); } /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms141_54)) { rT54a_redefine_list(C); } /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms142_54)) { rT54a_select_list(C); } /*FI*//*IF*/if (((((rT54a_keyword(C,(T0 *)ms143_54))||(rT54a_keyword(C,(T0 *)ms144_54)))||(rT54a_keyword(C,(T0 *)ms145_54)))||(rT54a_keyword(C,(T0 *)ms146_54)))||(rT54a_keyword(C,(T0 *)ms147_54))) { rT48add_position(rT54pos((C)->_start_line,(C)->_start_column)); rT54fatal_error((T0 *)ms148_54); } /*FI*/C->_ok=rT54a_keyword(C,(T0 *)ms115_27); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_parent_list(T54 *C,T0* a1,T0* a2){ T0* _list=NULL; while (!(!(rT54a_parent(C)))) { /*IF*/if (!(_list)) { _list=ma(132,0,1,(C)->_last_parent); } else { rT132add_last((T132*)_list,(C)->_last_parent); } /*FI*/C->_ok=rT54skip1(C,'\73'); /*[IRF3:set_comment*//*AW*/((T120*)(C)->_last_parent)->_comment=(rT54get_comments(C));/*]*/ } /*IF*/if (((((int)a2))||(((int)_list)))) { /*IF*/if (!(_list)) { /*IF*/if (!(((T53*)(C)->_last_base_class)->_heading_comment2)) { /*[IRF3:set_heading_comment2*//*AW*/((T53*)(C)->_last_base_class)->_heading_comment2=(a2);/*]*/ } else { rT63append((T63*)((T53*)(C)->_last_base_class)->_heading_comment2,a2); } /*FI*/} else { rT53set_parent_list((T53*)(C)->_last_base_class,a1,a2,_list); } /*FI*/} /*FI*/}/*EIFFEL_PARSER*/int rT54a_when_part(T54 *C,T0* a1){ int R=0; T0* _constant=NULL; T0* _e_when=NULL; int _state=0; /*IF*/if (rT54a_keyword(C,(T0 *)ms193_54)) { R=1; {T234 *n=((T234*)se_new(234)); rT234make(n,rT54pos((C)->_start_line,(C)->_start_column),rT54get_comments(C)); _e_when=(T0 *)n;} while (!((_state)>(3))) { {int iv1=_state; if (0 == iv1) goto l119; goto l120; l119: ; /*IF*/if (rT54a_constant(C)) { _constant=(C)->_last_expression; _state=1; } else if (rT54a_keyword(C,(T0 *)ms120_27)) { /*IF*/if (((int)_constant)) { rT234add_value((T234*)_e_when,_constant); } /*FI*//*[IRF3:set_compound*//*AW*/((T234*)_e_when)->_compound=(rT54a_compound1(C,(T0 *)ms194_54));/*]*/ rT233add_when((T233*)a1,_e_when); _state=4; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms204_54); C->_ok=rT54skip1(C,'\54'); } else { rT54fcp(C,(T0 *)ms201_54); _state=4; } /*FI*/goto l118; l120: ; if (1 == iv1) goto l121; goto l122; l121: ; /*IF*/if (rT54a_keyword(C,(T0 *)ms120_27)) { /*IF*/if (((int)_constant)) { rT234add_value((T234*)_e_when,_constant); } /*FI*//*[IRF3:set_compound*//*AW*/((T234*)_e_when)->_compound=(rT54a_compound1(C,(T0 *)ms195_54));/*]*/ rT233add_when((T233*)a1,_e_when); _state=4; } else if (rT54skip2(C,'\56','\56')) { _state=2; } else if (rT54skip1(C,'\54')) { rT234add_value((T234*)_e_when,_constant); _constant=NULL; _state=0; } else { rT54fcp(C,(T0 *)ms201_54); _state=4; } /*FI*/goto l118; l122: ; if (2 == iv1) goto l123; goto l124; l123: ; /*IF*/if (rT54a_constant(C)) { rT234add_slice((T234*)_e_when,_constant,(C)->_last_expression); _constant=NULL; _state=3; } else { rT54fcp(C,(T0 *)ms201_54); _state=4; } /*FI*/goto l118; l124: ; /*IF*/if (rT54skip1(C,'\54')) { _state=0; } else if (rT54a_keyword(C,(T0 *)ms120_27)) { /*[IRF3:set_compound*//*AW*/((T234*)_e_when)->_compound=(rT54a_compound1(C,(T0 *)ms196_54));/*]*/ rT233add_when((T233*)a1,_e_when); _state=4; } else if (rT54a_constant(C)) { _constant=(C)->_last_expression; rT54warning(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms202_54); _state=1; } else { rT54fcp(C,(T0 *)ms201_54); _state=4; } /*FI*/ l118: ; } } } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_select_list(T54 *C){ /*IF*/if (rT54a_feature_list(C)) { rT120set_select((T120*)(C)->_last_parent,(C)->_last_feature_list); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_unary(T54 *C){ int R=0; /*IF*/if (rT54a_keyword(C,(T0 *)ms118_27)) { {T70 *n=((T70*)se_new(70)); rT70make(n,(T0 *)ms118_27,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } else if (rT54skip1(C,'\53')) { {T70 *n=((T70*)se_new(70)); rT70make(n,(T0 *)ms95_27,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } else if (rT54skip1(C,'\55')) { {T70 *n=((T70*)se_new(70)); rT70make(n,(T0 *)ms96_27,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_prefix=(T0 *)n;} R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_rename_pair(T54 *C){ int R=0; T0* _rename_pair=NULL; T0* _name1=NULL; /*IF*/if (rT54a_identifier(C)) { _name1=rT73to_feature_name((T73*)rT54tmp_name()); /*IF*/if (rT54a_keyword(C,(T0 *)ms153_54)) { /*IF*/if (rT54a_identifier(C)) { R=1; /*IF*/if (rT7is_equal((T7*)((T73*)rT54tmp_name())->_to_string,/*XrT*FEATURE_NAME*/((T70*)_name1)->_to_string)) { rT54warning(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms154_54); } else { {T121 *n=((T121*)se_new(121)); rT121make(n,_name1,rT73to_feature_name((T73*)rT54tmp_name())); _rename_pair=(T0 *)n;} rT120add_rename((T120*)(C)->_last_parent,_rename_pair); } /*FI*/} else { rT54fcp(C,(T0 *)ms155_54); } /*FI*/} else { rT54go_back(C,/*XrT*FEATURE_NAME*/((T70*)_name1)->_start_position); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_rename_list(T54 *C){ while (!(!(rT54a_rename_pair(C)))) { C->_ok=rT54skip1(C,'\54'); } }/*EIFFEL_PARSER*/T0* rT54to_call(/*C*/T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (!(a2)) { R=a1; } else if (!(a3)) { {T167 *n=((T167*)se_new(167)); rT167make(n,a1,a2); R=(T0 *)n;}} else if ((rT175count((T175*)a3))==(1)) { {T179 *n=((T179*)se_new(179)); rT179make(n,a1,a2,a3); R=(T0 *)n;}} else { {T180 *n=((T180*)se_new(180)); rT180make(n,a1,a2,a3); R=(T0 *)n;}} /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_e10(T54 *C){ int R=0; /*IF*/if (rT54a_strip(C)) { R=1; } else if (rT54skip1(C,'\50')) { R=1; /*IF*/if (rT54a_expression(C)) { /*IF*/if (rT54skip1(C,'\51')) { rT54a_r10(C,0,(C)->_last_expression,NULL,NULL); } else { rT54fcp(C,(T0 *)ms95_54); } /*FI*/} else { rT54fcp(C,(T0 *)ms96_54); } /*FI*/} else if (rT54a_manifest_constant(C)) { C->_last_expression=(C)->_last_manifest_constant; R=1; /*IF*/if (rT54skip1unless2(C,'\56','\56')) { rT54wcp(C,(T0 *)ms97_54); rT54a_after_a_dot(C,0,(C)->_last_expression); } /*FI*/} else if (rT54a_identifier(C)) { R=1; /*IF*/if (((((rT54a_result(C))||(rT54a_current(C)))||(rT54a_void(C)))||(rT54a_local_variable(C)))||(rT54a_argument(C))) { rT54a_r10(C,0,(C)->_last_expression,NULL,NULL); } else { rT54a_function_call(C); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_assignment_aux(T54 *C,int a1){ T0* _rhs=NULL; T0* _writable=NULL; /*IF*/if (rT54a_current(C)) { rT48add_position(XrT72start_position((C)->_last_expression)); rT54fatal_error((T0 *)ms38_54); } else if (rT54a_void(C)) { rT48add_position(rT73start_position((T73*)rT54tmp_name())); rT54fatal_error((T0 *)ms39_54); } else if (rT54a_argument(C)) { rT48add_position(XrT72start_position((C)->_last_expression)); rT54fatal_error((T0 *)ms40_54); } else { /*IF*/if (rT7same_as((T7*)(T0 *)ms119_27,((T73*)rT54tmp_name())->_to_string)) { /*IF*/if (!((C)->_function_type)) { rT54error(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms211_54); } /*FI*/_writable=rT73to_e_result((T73*)rT54tmp_name()); } else if (rT54a_local_variable(C)) { _writable=(C)->_last_expression; } else { _writable=rT73to_feature_name((T73*)rT54tmp_name()); } /*FI*//*IF*/if (rT54a_expression(C)) { _rhs=(C)->_last_expression; /*IF*/if (a1) { {T256 *n=((T256*)se_new(256)); rT256make(n,_writable,_rhs); C->_last_instruction=(T0 *)n;}} else { {T257 *n=((T257*)se_new(257)); rT257make(n,_writable,_rhs); C->_last_instruction=(T0 *)n;}} /*FI*/} else { rT54fcp(C,(T0 *)ms41_54); } /*FI*/} /*FI*/}/*EIFFEL_PARSER*/int rT54a_assignment_or_call(T54 *C){ int R=0; /*IF*/if ((rT54skip1(C,'\50'))&&(rT54a_expression(C))) { R=1; /*IF*/if (rT54skip1(C,'\51')) { rT54a_r10(C,1,(C)->_last_expression,NULL,NULL); } else { rT54fcp(C,(T0 *)ms37_54); } /*FI*/} else if (rT54a_identifier(C)) { R=1; /*IF*/if (rT54skip2(C,'\72','\75')) { rT54a_assignment_aux(C,1); } else if (rT54skip2(C,'\77','\75')) { rT54a_assignment_aux(C,0); } else if ((((rT54a_current(C))||(rT54a_result(C)))||(rT54a_local_variable(C)))||(rT54a_argument(C))) { rT54a_r10(C,1,(C)->_last_expression,NULL,NULL); } else { rT54a_procedure_call(C); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_assertion(T54 *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')) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); /*IF*/if (((int)(C)->_last_comments)) { {T68 *n=((T68*)se_new(68)); rT68make(n,NULL,NULL,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/} /*FI*/} else if (rT54a_tag_mark(C)) { _tag=(C)->_last_tag_mark; _state=1; } else if (rT54a_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 (rT54skip1(C,'\73')) { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,NULL,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=0; } else if (rT54a_tag_mark(C)) { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,NULL,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; } else if (rT54a_expression(C)) { _expression=(C)->_last_expression; _state=3; } else { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,NULL,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=4; } /*FI*/goto l125; l129: ; if (2 == iv1) goto l130; goto l131; l130: ; /*IF*/if (rT54skip1(C,'\73')) { {T68 *n=((T68*)se_new(68)); rT68make(n,NULL,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=0; } else if (rT54a_tag_mark(C)) { {T68 *n=((T68*)se_new(68)); rT68make(n,NULL,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; _state=1; } else if (rT54a_expression(C)) { {T68 *n=((T68*)se_new(68)); rT68make(n,NULL,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_expression=(C)->_last_expression; _state=2; } else { {T68 *n=((T68*)se_new(68)); rT68make(n,NULL,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=4; } /*FI*/goto l125; l131: ; /*IF*/if (rT54skip1(C,'\73')) { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=0; } else if (rT54a_tag_mark(C)) { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_tag=(C)->_last_tag_mark; _state=1; } else if (rT54a_expression(C)) { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_expression=(C)->_last_expression; _state=2; } else { {T68 *n=((T68*)se_new(68)); rT68make(n,_tag,_expression,rT54get_comments(C)); _assertion=(T0 *)n;} /*IF*/if (!(R)) { R=ma(162,0,1,_assertion); } else { rT162add_last((T162*)R,_assertion); } /*FI*/_state=4; } /*FI*/ l125: ; } } return R; } /*EIFFEL_PARSER*/void rT54a_formal_arg_list(T54 *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 (rT54skip1(C,'\50')) { {T49 *n=((T49*)se_new(49)); rT49make(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 (rT54a_identifier(C)) { _name=rT73to_argument_name_declaration((T73*)rT54tmp_name()); _state=2; } else if (rT54skip1(C,'\51')) { _state=6; } else { _state=7; } /*FI*/goto l132; l136: ; if (2 == iv1) goto l137; goto l138; l137: ; /*IF*/if (rT54skip1(C,'\72')) { /*IF*/if (((int)_name_list)) { rT99add_last((T99*)_name_list,_name); _name=NULL; } /*FI*/_state=4; } else { C->_ok=rT54skip1(C,'\54'); /*IF*/if (!(_name_list)) { _name_list=ma(99,0,1,_name); } else { rT99add_last((T99*)_name_list,_name); } /*FI*/_name=NULL; _state=3; } /*FI*/goto l132; l138: ; if (3 == iv1) goto l139; goto l140; l139: ; /*IF*/if (rT54a_identifier(C)) { _name=rT73to_argument_name_declaration((T73*)rT54tmp_name()); _state=2; } else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) { rT54wcp(C,(T0 *)ms210_54); C->_ok=(rT54skip1(C,'\54'))||(rT54skip1(C,'\73')); } else { _state=7; } /*FI*/goto l132; l140: ; if (4 == iv1) goto l141; goto l142; l141: ; /*IF*/if (rT54a_type(C)) { /*IF*/if (((int)_name_list)) { {T144 *n=((T144*)se_new(144)); rT144make(n,_name_list,(C)->_last_type); _declaration=(T0 *)n;}_name_list=NULL; } else { {T146 *n=((T146*)se_new(146)); rT146make(n,_name,(C)->_last_type); _declaration=(T0 *)n;}_name=NULL; } /*FI*//*IF*/if (!(_list)) { _list=ma(147,0,1,_declaration); } else { rT147add_last((T147*)_list,_declaration); } /*FI*/_declaration=NULL; _state=5; } else { _state=7; } /*FI*/goto l132; l142: ; /*IF*/if (rT54skip1(C,'\51')) { _state=6; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms13_54); C->_ok=rT54skip1(C,'\54'); _state=1; } else { C->_ok=rT54skip1(C,'\73'); _state=1; } /*FI*/ l132: ; } } /*IF*/if ((_state)==(7)) { rT54fcp(C,(T0 *)ms14_54); } else if ((((int)_sp))&&(!(_list))) { rT54warning(_sp,(T0 *)ms15_54); } else if (((int)_sp)) { {T97 *n=((T97*)se_new(97)); rT97make(n,_sp,_list); C->_arguments=(T0 *)n;} /*[IRF3:set_arguments*//*AW*/((T138*)oRBC54tmp_feature)->_arguments=((C)->_arguments);/*]*/ } /*FI*/}/*EIFFEL_PARSER*/void rT54a_undefine_list(T54 *C){ /*IF*/if (rT54a_feature_list(C)) { rT120set_undefine((T120*)(C)->_last_parent,(C)->_last_feature_list); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_prefix(T54 *C){ int R=0; /*IF*/if (rT54a_keyword(C,(T0 *)ms149_54)) { R=1; /*IF*/if (((C)->_cc)==('\42')) { rT54next_char(C); } else { rT54wcp(C,(T0 *)ms150_54); } /*FI*//*IF*/if (rT54a_unary(C)) { } else if (rT54a_free_operator(C)) { C->_last_prefix=rT73to_prefix_name((T73*)rT54tmp_operator()); } else { rT54fcp(C,(T0 *)ms151_54); } /*FI*//*IF*/if (!(rT54skip1(C,'\42'))) { rT54wcp(C,(T0 *)ms152_54); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_formal_generic_list(T54 *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 (rT54skip1(C,'\133')) { {T49 *n=((T49*)se_new(49)); rT49make(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 (rT54a_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 (rT54skip2(C,'\55','\76')) { _state=4; } else if ((((C)->_cc)==('\54'))||(((C)->_cc)==('\135'))) { {T88 *n=((T88*)se_new(88)); rT88make(n,_name,_constraint); _fga=(T0 *)n;} _name=NULL; _constraint=NULL; /*IF*/if (!(_list)) { _list=ma(90,0,1,_fga); } else { rT90add_last((T90*)_list,_fga); } /*FI*/_fga=NULL; /*IF*/if (rT54skip1(C,'\54')) { _state=1; } else { C->_ok=rT54skip1(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'))) { {T88 *n=((T88*)se_new(88)); rT88make(n,_name,_constraint); _fga=(T0 *)n;} _name=NULL; _constraint=NULL; /*IF*/if (!(_list)) { _list=ma(90,0,1,_fga); } else { rT90add_last((T90*)_list,_fga); } /*FI*/_fga=NULL; /*IF*/if (rT54skip1(C,'\54')) { _state=1; } else { C->_ok=rT54skip1(C,'\135'); _state=5; } /*FI*/} else { _state=6; } /*FI*/goto l143; l151: ; /*IF*/if (rT54a_class_type(C)) { _constraint=(C)->_last_class_type; _state=3; } else { rT54fcp(C,(T0 *)ms113_54); _state=6; } /*FI*/ l143: ; } } /*IF*/if ((_state)==(6)) { } else if ((((int)_sp))&&(!(_list))) { rT54warning(_sp,(T0 *)ms114_54); } else if (((int)_sp)) { {T89 *n=((T89*)se_new(89)); rT89make(n,_sp,_list); C->_formal_generic_list=(T0 *)n;} /*[IRF3:set_formal_generic_list*//*AW*/((T53*)(C)->_last_base_class)->_formal_generic_list=((C)->_formal_generic_list);/*]*/ } /*FI*/}/*EIFFEL_PARSER*/void rT54fatal_error(/*C*/T0* a1){ rT48fatal_error(a1); }/*EIFFEL_PARSER*/void rT54a_function_call(T54 *C){ T0* _e_current=NULL; T0* _fn=NULL; _fn=rT73to_feature_name((T73*)rT54tmp_name()); {T94 *n=((T94*)se_new(94)); rT94make(n,/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position,0); _e_current=(T0 *)n;} rT54a_r10(C,0,_e_current,_fn,rT54a_actuals(C)); }/*EIFFEL_PARSER*/int rT54a_keyword(T54 *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); rT54next_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; rT54skip_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))) { rT54prev_char(C); _i=(_i)-(1); } goto l152; l156: ; R=1; C->_last_keyword=a1; l152: ; } } else { while (!((_i)==(0))) { rT54prev_char(C); _i=(_i)-(1); } } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_loop(T54 *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 (rT54a_keyword(C,(T0 *)ms124_54)) { R=1; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _i=rT54a_compound1(C,(T0 *)ms125_54); /*IF*/if (rT54a_keyword(C,(T0 *)ms126_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp2=(T0 *)n;} _hc=rT54get_comments(C); _al=rT54a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T244 *n=((T244*)se_new(244)); rT244make(n,_sp2,_hc,_al); _ic=(T0 *)n;} } /*FI*/} /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms127_54)) { /*IF*/if ((rT54a_tag_mark(C))&&(rT54a_expression(C))) { {T246 *n=((T246*)se_new(246)); rT246make(n,(C)->_last_tag_mark,(C)->_last_expression,rT54get_comments(C)); _vc=(T0 *)n;}} else if (rT54a_expression(C)) { {T247 *n=((T247*)se_new(247)); rT247make(n,(C)->_last_expression,rT54get_comments(C)); _vc=(T0 *)n;}} else { rT54wcp(C,(T0 *)ms128_54); } /*FI*/} /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms129_54)) { /*IF*/if (rT54a_expression(C)) { _ue=XrT72add_comment((C)->_last_expression,rT54get_comments(C)); } else { rT54fcp(C,(T0 *)ms130_54); _ue=(C)->_last_expression; } /*FI*/} else { rT54fcp(C,(T0 *)ms131_54); _ue=(C)->_last_expression; } /*FI*//*IF*/if (((C)->_cc)==('\73')) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } /*FI*//*IF*/if (!(rT54a_keyword(C,(T0 *)ms132_54))) { rT54wcp(C,(T0 *)ms133_54); } /*FI*/_lb=rT54a_compound2(C,(T0 *)ms134_54,(T0 *)ms115_27); {T245 *n=((T245*)se_new(245)); rT245make(n,_sp,_i,_ic,_vc,_ue,_lb); _e_loop=(T0 *)n;} C->_last_instruction=_e_loop; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_inspect(T54 *C){ int R=0; T0* _ec=NULL; T0* _i=NULL; T0* _spec=NULL; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms120_54)) { R=1; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_expression(C)) { C->_last_expression=XrT72add_comment((C)->_last_expression,rT54get_comments(C)); } else { rT54fcp(C,(T0 *)ms121_54); } /*FI*/{T233 *n=((T233*)se_new(233)); rT233make(n,_sp,(C)->_last_expression); _i=(T0 *)n;} while (!(!(rT54a_when_part(C,_i)))) { } /*IF*/if (rT54a_keyword(C,(T0 *)ms114_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _spec=(T0 *)n;} _ec=rT54a_compound2(C,(T0 *)ms122_54,(T0 *)ms115_27); rT233set_else_compound((T233*)_i,_spec,_ec); } else if (!(rT54a_keyword(C,(T0 *)ms115_27))) { rT54wcp(C,(T0 *)ms123_54); } /*FI*/C->_last_instruction=_i; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_instruction(T54 *C){ int R=0; R=(((((((rT54a_check(C))||(rT54a_debug(C)))||(rT54a_conditional(C)))||(rT54a_retry(C)))||(rT54a_inspect(C)))||(rT54a_loop(C)))||(rT54a_creation(C)))||(rT54a_assignment_or_call(C)); return R; } /*EIFFEL_PARSER*/int rT54a_result(T54 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms119_27,((T73*)rT54tmp_name())->_to_string)) { /*IF*/if (!((C)->_function_type)) { rT54error(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms211_54); } /*FI*/C->_last_expression=rT73to_e_result((T73*)rT54tmp_name()); R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_new_export_list(T54 *C){ int _state=0; T0* _new_export_item=NULL; T0* _items=NULL; T0* _clients=NULL; T0* _sp=NULL; T0* _export_list=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms135_54)) { {T49 *n=((T49*)se_new(49)); rT49make(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=rT54a_clients(C); _state=1; } else if (((C)->_cc)==('\73')) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } else { /*IF*/if (((int)_items)) { {T126 *n=((T126*)se_new(126)); rT126make(n,_sp,_items); _export_list=(T0 *)n;} /*[IRF3:set_export*//*AW*/((T120*)(C)->_last_parent)->_export_list=(_export_list);/*]*/ } /*FI*/_state=4; } /*FI*/goto l157; l159: ; if (1 == iv1) goto l160; goto l161; l160: ; /*IF*/if (rT54a_keyword(C,(T0 *)ms136_54)) { {T124 *n=((T124*)se_new(124)); rT124make_all(n,_clients); _new_export_item=(T0 *)n;} /*IF*/if (!(_items)) { _items=ma(129,0,1,_new_export_item); } else { rT129add_last((T129*)_items,_new_export_item); } /*FI*/_state=2; } else { /*IF*/if (rT54a_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(129,0,1,_new_export_item); } else { rT129add_last((T129*)_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 (rT54skip1(C,'\73')) { _state=0; } else if (((C)->_cc)==('\173')) { rT54wcp(C,(T0 *)ms203_54); _state=0; } else { /*IF*/if (((int)_items)) { {T126 *n=((T126*)se_new(126)); rT126make(n,_sp,_items); _export_list=(T0 *)n;} /*[IRF3:set_export*//*AW*/((T120*)(C)->_last_parent)->_export_list=(_export_list);/*]*/ } /*FI*/_state=4; } /*FI*/goto l157; l163: ; rT54fcp(C,(T0 *)ms208_54); _state=4; l157: ; } } } /*FI*/}/*EIFFEL_PARSER*/int rT54a_current(T54 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms111_27,((T73*)rT54tmp_name())->_to_string)) { C->_last_expression=rT73to_e_current((T73*)rT54tmp_name()); R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_retry(T54 *C){ int R=0; /*IF*/if (rT54a_keyword(C,(T0 *)ms31_54)) { /*IF*/if (!((C)->_in_rescue)) { rT54error(rT54pos((C)->_start_line,(C)->_start_column),(T0 *)ms32_54); } /*FI*/{T232 *n=((T232*)se_new(232)); /*[IRF3:make*//*AW*/(n)->_start_position=(rT54pos((C)->_start_line,(C)->_start_column));/*]*/ C->_last_instruction=(T0 *)n;}R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_integer_constant(T54 *C){ int R=0; /*IF*/if (rT54skip1(C,'\53')) { /*IF*/if (!(rT54a_integer(C))) { rT54fcp(C,(T0 *)ms104_27); } else { R=1; } /*FI*/} else if (rT54skip1(C,'\55')) { /*IF*/if (!(rT54a_integer(C))) { rT54fcp(C,(T0 *)ms104_27); } else { C->_last_integer_constant=rT84_px45((T84*)(C)->_last_integer_constant); R=1; } /*FI*/} else { R=rT54a_integer(C); } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_integer(T54 *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))) { rT54next_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: ; rT54fcp(C,(T0 *)ms206_54); 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: ; rT54fcp(C,(T0 *)ms206_54); 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: ; rT54fcp(C,(T0 *)ms206_54); l182: ; } l164: ; } rT54skip_comments(C); {T84 *n=((T84*)se_new(84)); rT84make(n,_value,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_integer_constant=(T0 *)n;} } } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54err_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 *)ms8_54); rT7append((T7*)_msg,a2); rT7append((T7*)_msg,(T0 *)ms9_54); rT48add_position(a1); rT54fatal_error(_msg); }/*EIFFEL_PARSER*/int rT54a_expression(T54 *C){ int R=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (rT54skip2(C,'\74','\74')) { R=1; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} while (!(!(rT54a_expression(C)))) { /*IF*/if (!(_list)) { _list=ma(85,0,1,(C)->_last_expression); } else { XrT85add_last(_list,(C)->_last_expression); } /*FI*/C->_ok=rT54skip1(C,'\54'); } /*IF*/if (!(rT54skip2(C,'\76','\76'))) { rT54fcp(C,(T0 *)ms88_54); } /*FI*/{T164 *n=((T164*)se_new(164)); rT164make(n,_sp,_list); C->_last_expression=(T0 *)n;}} else { R=rT54a_e0(C); } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_void(T54 *C){ int R=0; /*IF*/if (rT7same_as((T7*)(T0 *)ms121_27,((T73*)rT54tmp_name())->_to_string)) { C->_last_expression=rT73to_e_void((T73*)rT54tmp_name()); R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_procedure_call(T54 *C){ T0* _e_current=NULL; T0* _fn=NULL; _fn=rT73to_feature_name((T73*)rT54tmp_name()); {T94 *n=((T94*)se_new(94)); rT94make(n,/*XrT*FEATURE_NAME*/((T70*)_fn)->_start_position,0); _e_current=(T0 *)n;} rT54a_r10(C,1,_e_current,_fn,rT54a_actuals(C)); }/*EIFFEL_PARSER*/T0* rT54a_external(T54 *C){ T0* R=NULL; T0* _l=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms98_54)) { _l=((T0 *)((T213*)se_new(213))); } else if (rT54a_keyword(C,(T0 *)ms99_54)) { _l=((T0 *)((T214*)se_new(214))); } else if (rT54a_keyword(C,(T0 *)ms100_54)) { _l=((T0 *)((T215*)se_new(215))); } else if (rT54a_keyword(C,(T0 *)ms101_54)) { _l=((T0 *)((T216*)se_new(216))); } else if (rT54a_keyword(C,(T0 *)ms102_54)) { _l=((T0 *)((T217*)se_new(217))); } else { rT54fcp(C,(T0 *)ms103_54); } /*FI*/R=rT138to_external_routine((T138*)oRBC54tmp_feature,_l,rT54a_alias(C)); return R; } T0*oRBC54forbidden_class; /*EIFFEL_PARSER*/void rT54a_r10(T54 *C,int a1,T0* a2,T0* a3,T0* a4){ /*IF*/if (rT54skip1unless2(C,'\56','\56')) { rT54a_after_a_dot(C,a1,rT54to_call(a2,a3,a4)); } else { /*IF*/if (a1) { C->_last_instruction=rT54to_proc_call(C,a2,a3,a4); C->_last_expression=NULL; } else { C->_last_expression=rT54to_call(a2,a3,a4); C->_last_instruction=NULL; } /*FI*/} /*FI*/}/*EIFFEL_PARSER*/T0* rT54analyse_class(T54 *C,T0* a1){ T0* R=NULL; int _old_nbw=0; int _old_nbe=0; /*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(0)) { rT48append((T0 *)ms1_54); /*[IRF3:print_as_fatal_error*/rT48do_print((T0 *)ms4_48); rT48die_with_code(1); /*]*/ } /*FI*//*IF*/if (/*(IRF4*/(!(/*(IRF4*/(!(/*(IRF4*/((T54*)oRBC27eiffel_parser)->_is_running/*)*/))&&(((T55*)oRBC27small_eiffel)->_is_doing_eval_flag)/*)*/))&&(((T55*)oRBC27small_eiffel)->_is_compiling_flag)/*)*/) { rT42put_integer((T42*)oRBC1std_output,(/*(IRF4*/((T57*)oRBC55base_class_dictionary)->_count/*)*/)+(1)); rT42put_character((T42*)oRBC1std_output,'\11'); rT42put_string((T42*)oRBC1std_output,a1); rT42put_character((T42*)oRBC1std_output,'\12'); } /*FI*/_old_nbe=/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/; _old_nbw=/*(IRF4*/((T48*)oRBC27eh)->_nb_warnings/*)*/; C->_is_running=1; C->_function_type=NULL; C->_in_ensure=0; C->_last_comments=NULL; C->_ms_numbering=0; rT64read((T64*)oRBC54text,a1); C->_line=1; C->_column=1; C->_current_line=rT64item((C)->_line); /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) { C->_cc='\12'; } else { C->_cc=rT7first((T7*)(C)->_current_line); } /*FI*/{T53 *n=((T53*)se_new(53)); rT53make(n,a1); C->_last_base_class=(T0 *)n;} rT54skip_comments(C); rT54a_class_declaration(C); C->_is_running=0; R=(C)->_last_base_class; /*IF*/if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)-(_old_nbe))>(0)) { /*[IRF3:show_nb_errors*/rT54show_nb(/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/,(T0 *)ms7_54); /*]*/ rT38put_string((T38*)oRBC1std_error,(T0 *)ms4_54); rT38put_string((T38*)oRBC1std_error,a1); rT38put_string((T38*)oRBC1std_error,(T0 *)ms5_54); R=NULL; } else if (((/*(IRF4*/((T48*)oRBC27eh)->_nb_warnings/*)*/)-(_old_nbw))>(0)) { /*[IRF3:show_nb_warnings*/rT54show_nb(/*(IRF4*/((T48*)oRBC27eh)->_nb_warnings/*)*/,(T0 *)ms6_54); /*]*/ } /*FI*//*IF*/if (((int)R)) { rT55add_class((T55*)oRBC27small_eiffel,R); rT53get_started((T53*)R); } /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_routine_body(T54 *C){ T0* R=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms113_27)) { rT53set_is_deferred((T53*)(C)->_last_base_class); R=rT138to_deferred_routine((T138*)oRBC54tmp_feature); } else if (rT54a_keyword(C,(T0 *)ms164_54)) { R=rT54a_external(C); } else if (rT54a_keyword(C,(T0 *)ms165_54)) { /*[IRF3:set_routine_body*//*AW*/((T138*)oRBC54tmp_feature)->_routine_body=(rT54a_compound1(C,(T0 *)ms166_54));/*]*/ R=rT138to_procedure_or_function((T138*)oRBC54tmp_feature); } else if (rT54a_keyword(C,(T0 *)ms167_54)) { /*[IRF3:set_routine_body*//*AW*/((T138*)oRBC54tmp_feature)->_routine_body=(rT54a_compound1(C,(T0 *)ms168_54));/*]*/ R=rT138to_once_routine((T138*)oRBC54tmp_feature); } else { rT54fcp(C,(T0 *)ms169_54); } /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_routine(T54 *C){ T0* R=NULL; T0* _ea=NULL; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms156_54)) { /*IF*/if (rT54a_manifest_string(C)) { /*[IRF3:set_obsolete_mark*//*AW*/((T138*)oRBC54tmp_feature)->_obsolete_mark=((C)->_last_manifest_string);/*]*/ } else { rT54fcp(C,(T0 *)ms157_54); } /*FI*/} /*FI*//*[IRF3:set_header_comment*//*AW*/((T138*)oRBC54tmp_feature)->_header_comment=(rT54get_comments(C));/*]*/ /*IF*/if (rT54a_keyword(C,(T0 *)ms158_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_keyword(C,(T0 *)ms114_27)) { _hc=rT54get_comments(C); rT138set_require_else((T138*)oRBC54tmp_feature,_sp,_hc,rT54a_assertion(C)); } else { _hc=rT54get_comments(C); rT138set_require((T138*)oRBC54tmp_feature,_sp,_hc,rT54a_assertion(C)); } /*FI*/} /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms159_54)) { rT54a_local_var_list(C,rT54pos((C)->_start_line,(C)->_start_column)); } /*FI*/R=rT54a_routine_body(C); /*IF*/if (rT54a_keyword(C,(T0 *)ms160_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} C->_in_ensure=1; /*IF*/if (rT54a_keyword(C,(T0 *)ms120_27)) { _hc=rT54get_comments(C); _al=rT54a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T161 *n=((T161*)se_new(161)); rT161make(n,_sp,_hc,_al); _ea=(T0 *)n;} /*[IRF3:set_ensure_then*//*AW*/((T161*)_ea)->_is_ensure_then=(1);/*]*/ } /*FI*/XrT160set_ensure_assertion(R,_ea); } else { _hc=rT54get_comments(C); _al=rT54a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T161 *n=((T161*)se_new(161)); rT161make(n,_sp,_hc,_al); _ea=(T0 *)n;} } /*FI*/XrT160set_ensure_assertion(R,_ea); } /*FI*/C->_in_ensure=0; } /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms161_54)) { C->_in_rescue=1; XrT160set_rescue_compound(R,rT54a_compound2(C,(T0 *)ms162_54,(T0 *)ms115_27)); C->_in_rescue=0; } else { /*IF*/if (!(rT54a_keyword(C,(T0 *)ms115_27))) { rT54wcp(C,(T0 *)ms163_54); } /*FI*/} /*FI*/C->_local_vars=NULL; return R; } T0*oRBC54tmp_feature; /*EIFFEL_PARSER*/void rT54skip_comments(T54 *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: ; rT54next_char(C); goto l188; l190: ; if (45 == iv2) goto l191; goto l192; l191: ; rT54next_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)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_line,((C)->_column)-(1)); _sp=(T0 *)n;} } /*FI*/rT54next_char(C); /*[IRF3:clear*//*AW*/((T7*)oRBC54lcs)->_count=(0);/*]*/ while (!(((C)->_cc)==('\12'))) { rT7extend((T7*)oRBC54lcs,(C)->_cc); rT54next_char(C); } /*IF*/if (!((C)->_last_comments)) { {T63 *n=((T63*)se_new(63)); rT63make(n,_sp,ma(45,0,1,rT7twin((T7*)oRBC54lcs))); C->_last_comments=(T0 *)n;} } else { rT63add_last((T63*)(C)->_last_comments,rT7twin((T7*)oRBC54lcs)); } /*FI*/_state=0; goto l195; l197: ; rT54prev_char(C); _state=2; l195: ; } goto l185; l194: ; l185: ; } } }/*EIFFEL_PARSER*/int rT54a_strip(T54 *C){ int R=0; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms181_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54skip1(C,'\50')) { C->_ok=rT54a_feature_list(C); {T174 *n=((T174*)se_new(174)); rT174make(n,_sp,(C)->_last_feature_list); C->_last_expression=(T0 *)n;}/*IF*/if (!(rT54skip1(C,'\51'))) { rT54fcp(C,(T0 *)ms182_54); } /*FI*/R=1; } else { rT54fcp(C,(T0 *)ms183_54); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54prev_char(T54 *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=rT64item((C)->_line); C->_column=(((T7*)(C)->_current_line)->_count)+(1); C->_cc='\12'; } else { C->_column=0; C->_cc='\0'; } /*FI*/} /*FI*/}/*EIFFEL_PARSER*/int rT54a_type(T54 *C){ int R=0; T0* _argument_name=NULL; T0* _sp=NULL; R=1; /*IF*/if (rT54a_keyword(C,(T0 *)ms189_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_identifier(C)) { /*IF*/if (rT54a_current(C)) { {T95 *n=((T95*)se_new(95)); rT95make(n,_sp,(C)->_last_expression); C->_last_type=(T0 *)n;}} else if (rT54a_argument(C)) { _argument_name=(C)->_last_expression; if ((int)_argument_name) switch (((T0 *)_argument_name)->id) { case 92: break; default: _argument_name = NULL; };{T100 *n=((T100*)se_new(100)); rT100make(n,_sp,_argument_name); C->_last_type=(T0 *)n;}} else { {T101 *n=((T101*)se_new(101)); rT101make(n,_sp,rT73to_feature_name((T73*)rT54tmp_name())); C->_last_type=(T0 *)n;}} /*FI*/} else { rT54fcp(C,(T0 *)ms190_54); } /*FI*/} else if (rT54a_keyword(C,(T0 *)ms116_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_class_type(C)) { {T102 *n=((T102*)se_new(102)); rT102make(n,_sp,(C)->_last_class_type); C->_last_type=(T0 *)n;}} else { rT54fcp(C,(T0 *)ms191_54); } /*FI*/} else if (rT54a_keyword(C,(T0 *)ms38_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_integer(C)) { {T103 *n=((T103*)se_new(103)); rT103make(n,_sp,(C)->_last_integer_constant); C->_last_type=(T0 *)n;}} else if (rT54a_identifier(C)) { {T105 *n=((T105*)se_new(105)); rT105make(n,_sp,rT73to_feature_name((T73*)rT54tmp_name())); C->_last_type=(T0 *)n;}} else { rT54fcp(C,(T0 *)ms192_54); } /*FI*/} else if (rT54a_type_formal_generic(C)) { C->_last_type=(C)->_last_type_formal_generic; } else if (rT54a_class_type(C)) { C->_last_type=(C)->_last_class_type; } else { R=0; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_type_formal_generic(T54 *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)>(rT89count((T89*)(C)->_formal_generic_list))))) { _fga=rT89item((T89*)(C)->_formal_generic_list,_rank); /*IF*/if (rT54a_keyword(C,((T51*)((T88*)_fga)->_name)->_to_string)) { {T51 *n=((T51*)se_new(51)); rT51make(n,((T51*)((T88*)_fga)->_name)->_to_string,rT54pos((C)->_start_line,(C)->_start_column)); _cn=(T0 *)n;} {T106 *n=((T106*)se_new(106)); rT106make(n,_cn,_rank); C->_last_type_formal_generic=(T0 *)n;} R=1; } /*FI*/_rank=(_rank)+(1); } } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54next_char(T54 *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)==(((T64*)oRBC54text)->_count)) { C->_cc='\0'; } else { C->_column=1; C->_line=((C)->_line)+(1); C->_current_line=rT64item((C)->_line); /*IF*/if ((((T7*)(C)->_current_line)->_count)==(0)) { C->_cc='\12'; } else { C->_cc=rT7first((T7*)(C)->_current_line); } /*FI*/} /*FI*/}int ofBC54tmp_name=0; T0*oRBC54tmp_name; /*EIFFEL_PARSER*/T0* rT54tmp_name(/*C*/void){ if (ofBC54tmp_name==0){ T0* R=NULL; ofBC54tmp_name=1; {T73 *n=((T73*)se_new(73)); rT73make(n,0,0); R=(T0 *)n;} oRBC54tmp_name=R;} return oRBC54tmp_name;} int ofBC54tmp_operator=0; T0*oRBC54tmp_operator; /*EIFFEL_PARSER*/T0* rT54tmp_operator(/*C*/void){ if (ofBC54tmp_operator==0){ T0* R=NULL; ofBC54tmp_operator=1; {T73 *n=((T73*)se_new(73)); rT73make(n,0,0); R=(T0 *)n;} oRBC54tmp_operator=R;} return oRBC54tmp_operator;} /*EIFFEL_PARSER*/void rT54show_nb(/*C*/int a1,T0* a2){ /*IF*/if ((a1)>(0)) { rT38put_string((T38*)oRBC1std_error,(T0 *)ms109_27); rT38put_integer((T38*)oRBC1std_error,a1); rT38put_string((T38*)oRBC1std_error,a2); } /*FI*/}/*EIFFEL_PARSER*/T0* rT54current_position(T54 *C){ T0* R=NULL; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_line,(C)->_column); R=(T0 *)n;} return R; } /*EIFFEL_PARSER*/void rT54warning(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48warning((T48*)oRBC27eh,a2); }/*EIFFEL_PARSER*/T0* rT54current_class_name(T54 *C){ T0* R=NULL; R=((T53*)(C)->_last_base_class)->_base_class_name; return R; } /*EIFFEL_PARSER*/T0* rT54to_proc_call(T54 *C,T0* a1,T0* a2,T0* a3){ T0* R=NULL; /*IF*/if (!(a2)) { rT54fcp(C,(T0 *)ms197_54); } else if (!(a3)) { {T183 *n=((T183*)se_new(183)); rT183make(n,a1,a2); R=(T0 *)n;}} else if ((rT175count((T175*)a3))==(1)) { {T184 *n=((T184*)se_new(184)); rT184make(n,a1,a2,a3); R=(T0 *)n;}} else { {T185 *n=((T185*)se_new(185)); rT185make(n,a1,a2,a3); R=(T0 *)n;}} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54error(/*C*/T0* a1,T0* a2){ rT48add_position(a1); rT48error((T48*)oRBC27eh,a2); }/*EIFFEL_PARSER*/void rT54ecp(T54 *C,T0* a1){ rT54error(rT54current_position(C),a1); }/*EIFFEL_PARSER*/void rT54fcp(T54 *C,T0* a1){ rT48add_position(rT54current_position(C)); rT54fatal_error(a1); }T0*oRBC54lcs; T0*oRBC54text; /*EIFFEL_PARSER*/void rT54wcp(T54 *C,T0* a1){ rT54warning(rT54current_position(C),a1); }/*EIFFEL_PARSER*/T0* rT54pos(/*C*/int a1,int a2){ T0* R=NULL; {T49 *n=((T49*)se_new(49)); rT49make(n,a1,a2); R=(T0 *)n;} return R; } /*EIFFEL_PARSER*/int rT54a_e0(T54 *C){ int R=0; R=rT54a_e1(C); rT54a_r1(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e1(T54 *C){ int R=0; R=rT54a_e2(C); rT54a_r2(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e2(T54 *C){ int R=0; R=rT54a_e3(C); rT54a_r3(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e3(T54 *C){ int R=0; R=rT54a_e4(C); rT54a_r4(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e4(T54 *C){ int R=0; R=rT54a_e5(C); rT54a_r5(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e5(T54 *C){ int R=0; R=rT54a_e6(C); rT54a_r6(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e6(T54 *C){ int R=0; R=rT54a_e7(C); rT54a_r7(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e7(T54 *C){ int R=0; R=rT54a_e8(C); rT54a_r8(C,(C)->_last_expression); return R; } /*EIFFEL_PARSER*/int rT54a_e8(T54 *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 (rT54a_keyword(C,(T0 *)ms118_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e8(C)) { {T172 *n=((T172*)se_new(172)); rT172make(n,_sp,(C)->_last_expression); _prefix_not=(T0 *)n;} C->_last_expression=_prefix_not; R=1; } else { rT54err_exp(_sp,(T0 *)ms118_27); } /*FI*/} else if (rT54skip1(C,'\53')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e8(C)) { {T171 *n=((T171*)se_new(171)); rT171make(n,_sp,(C)->_last_expression); _prefix_plus=(T0 *)n;} C->_last_expression=_prefix_plus; R=1; } else { rT54err_exp(_sp,(T0 *)ms89_54); } /*FI*/} else if (rT54skip1(C,'\55')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e8(C)) { {T170 *n=((T170*)se_new(170)); rT170make(n,_sp,(C)->_last_expression); _prefix_moins=(T0 *)n;} C->_last_expression=_prefix_moins; R=1; } else { rT54err_exp(_sp,(T0 *)ms90_54); } /*FI*/} else if (rT54a_free_operator(C)) { _op=rT73to_prefix_name((T73*)rT54tmp_operator()); /*IF*/if (rT54a_e8(C)) { {T165 *n=((T165*)se_new(165)); rT165make(n,(C)->_last_expression,_op); _prefix_freeop=(T0 *)n;} C->_last_expression=_prefix_freeop; R=1; } else { rT48append((T0 *)ms91_54); rT54err_exp(((T70*)_op)->_start_position,((T70*)_op)->_to_string); } /*FI*/} else { R=rT54a_e9(C); } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_e9(T54 *C){ int R=0; T0* _e_old=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms92_54)) { /*IF*/if (!((C)->_in_ensure)) { rT54error(rT54pos((C)->_start_line,(C)->_start_column),(T0 *)ms93_54); } /*FI*//*IF*/if (rT54a_e10(C)) { {T173 *n=((T173*)se_new(173)); /*[IRF3:make*//*AW*/(n)->_expression=((C)->_last_expression);/*]*/ _e_old=(T0 *)n;} C->_last_expression=_e_old; R=1; } else { rT54fcp(C,(T0 *)ms94_54); } /*FI*/} else { R=rT54a_e10(C); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_r1(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_implies=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms117_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e1(C)) { {T208 *n=((T208*)se_new(208)); rT208make(n,a1,_sp,(C)->_last_expression); _infix_implies=(T0 *)n;} rT54a_r1(C,_infix_implies); } else { rT54error(_sp,(T0 *)ms170_54); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/void rT54a_r2(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_xor=NULL; T0* _infix_or=NULL; T0* _infix_or_else=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms81_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_keyword(C,(T0 *)ms114_27)) { /*IF*/if (rT54a_e2(C)) { {T207 *n=((T207*)se_new(207)); rT207make(n,a1,_sp,(C)->_last_expression); _infix_or_else=(T0 *)n;} rT54a_r2(C,_infix_or_else); } else { rT54err_exp(_sp,(T0 *)ms82_27); } /*FI*/} else { /*IF*/if (rT54a_e2(C)) { {T206 *n=((T206*)se_new(206)); rT206make(n,a1,_sp,(C)->_last_expression); _infix_or=(T0 *)n;} rT54a_r2(C,_infix_or); } else { rT54err_exp(_sp,(T0 *)ms81_27); } /*FI*/} /*FI*/} else if (rT54a_keyword(C,(T0 *)ms122_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e2(C)) { {T205 *n=((T205*)se_new(205)); rT205make(n,a1,_sp,(C)->_last_expression); _infix_xor=(T0 *)n;} rT54a_r2(C,_infix_xor); } else { rT54err_exp(_sp,(T0 *)ms122_27); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/void rT54a_r3(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_and=NULL; T0* _infix_and_then=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms59_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_keyword(C,(T0 *)ms120_27)) { /*IF*/if (rT54a_e3(C)) { {T204 *n=((T204*)se_new(204)); rT204make(n,a1,_sp,(C)->_last_expression); _infix_and_then=(T0 *)n;} rT54a_r3(C,_infix_and_then); } else { rT54err_exp(_sp,(T0 *)ms60_27); } /*FI*/} else { /*IF*/if (rT54a_e3(C)) { {T203 *n=((T203*)se_new(203)); rT203make(n,a1,_sp,(C)->_last_expression); _infix_and=(T0 *)n;} rT54a_r3(C,_infix_and); } else { rT54err_exp(_sp,(T0 *)ms59_27); } /*FI*/} /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/void rT54a_r4(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_gt=NULL; T0* _infix_ge=NULL; T0* _infix_lt=NULL; T0* _infix_le=NULL; T0* _infix_not_equal=NULL; T0* _infix_equal=NULL; /*IF*/if (rT54skip1(C,'\75')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T202 *n=((T202*)se_new(202)); rT202make(n,a1,_sp,(C)->_last_expression); _infix_equal=(T0 *)n;} rT54a_r4(C,_infix_equal); } else { rT54err_exp(_sp,(T0 *)ms171_54); } /*FI*/} else if (rT54skip2(C,'\57','\75')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T201 *n=((T201*)se_new(201)); rT201make(n,a1,_sp,(C)->_last_expression); _infix_not_equal=(T0 *)n;} rT54a_r4(C,_infix_not_equal); } else { rT54err_exp(_sp,(T0 *)ms172_54); } /*FI*/} else if (rT54skip2(C,'\74','\75')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T200 *n=((T200*)se_new(200)); rT200make(n,a1,_sp,(C)->_last_expression); _infix_le=(T0 *)n;} rT54a_r4(C,_infix_le); } else { rT54err_exp(_sp,(T0 *)ms173_54); } /*FI*/} else if (rT54skip2(C,'\76','\75')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T198 *n=((T198*)se_new(198)); rT198make(n,a1,_sp,(C)->_last_expression); _infix_ge=(T0 *)n;} rT54a_r4(C,_infix_ge); } else { rT54err_exp(_sp,(T0 *)ms174_54); } /*FI*/} else if (rT54skip1(C,'\74')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T199 *n=((T199*)se_new(199)); rT199make(n,a1,_sp,(C)->_last_expression); _infix_lt=(T0 *)n;} rT54a_r4(C,_infix_lt); } else { rT54err_exp(_sp,(T0 *)ms175_54); } /*FI*/} else if (rT54skip1unless2(C,'\76','\76')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e4(C)) { {T197 *n=((T197*)se_new(197)); rT197make(n,a1,_sp,(C)->_last_expression); _infix_gt=(T0 *)n;} rT54a_r4(C,_infix_gt); } else { rT54err_exp(_sp,(T0 *)ms176_54); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/void rT54a_r5(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_minus=NULL; T0* _infix_plus=NULL; /*IF*/if (rT54skip1(C,'\53')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e5(C)) { {T196 *n=((T196*)se_new(196)); rT196make(n,a1,_sp,(C)->_last_expression); _infix_plus=(T0 *)n;} rT54a_r5(C,_infix_plus); } else { rT54err_exp(_sp,(T0 *)ms95_27); } /*FI*/} else if (rT54skip1(C,'\55')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e5(C)) { {T195 *n=((T195*)se_new(195)); rT195make(n,a1,_sp,(C)->_last_expression); _infix_minus=(T0 *)n;} rT54a_r5(C,_infix_minus); } else { rT54err_exp(_sp,(T0 *)ms96_27); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/void rT54a_r6(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_div=NULL; T0* _infix_int_rem=NULL; T0* _infix_int_div=NULL; T0* _infix_times=NULL; /*IF*/if (rT54skip1(C,'\52')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e6(C)) { {T194 *n=((T194*)se_new(194)); rT194make(n,a1,_sp,(C)->_last_expression); _infix_times=(T0 *)n;} rT54a_r6(C,_infix_times); } else { rT54err_exp(_sp,(T0 *)ms177_54); } /*FI*/} else if (rT54skip2(C,'\57','\57')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e6(C)) { {T193 *n=((T193*)se_new(193)); rT193make(n,a1,_sp,(C)->_last_expression); _infix_int_div=(T0 *)n;} rT54a_r6(C,_infix_int_div); } else { rT54err_exp(_sp,(T0 *)ms178_54); } /*FI*/} else if (rT54skip2(C,'\134','\134')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e6(C)) { {T192 *n=((T192*)se_new(192)); rT192make(n,a1,_sp,(C)->_last_expression); _infix_int_rem=(T0 *)n;} rT54a_r6(C,_infix_int_rem); } else { rT54err_exp(_sp,(T0 *)ms179_54); } /*FI*/} else if (rT54skip1unless2(C,'\57','\75')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e6(C)) { {T191 *n=((T191*)se_new(191)); rT191make(n,a1,_sp,(C)->_last_expression); _infix_div=(T0 *)n;} rT54a_r6(C,_infix_div); } else { rT54err_exp(_sp,(T0 *)ms125_27); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/int rT54skip1unless2(T54 *C,char a1,char a2){ int R=0; C->_start_line=(C)->_line; C->_start_column=(C)->_column; /*IF*/if (((C)->_cc)==(a1)) { rT54next_char(C); /*IF*/if (((C)->_cc)==(a2)) { rT54prev_char(C); } else { R=1; rT54skip_comments(C); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/int rT54skip1(T54 *C,char a1){ int R=0; /*IF*/if ((a1)==((C)->_cc)) { C->_start_line=(C)->_line; C->_start_column=(C)->_column; R=1; rT54next_char(C); rT54skip_comments(C); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_r7(T54 *C,T0* a1){ T0* _sp=NULL; T0* _infix_power=NULL; /*IF*/if (rT54skip1(C,'\136')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54a_e7(C)) { {T190 *n=((T190*)se_new(190)); rT190make(n,a1,_sp,(C)->_last_expression); _infix_power=(T0 *)n;} rT54a_r7(C,_infix_power); } else { rT54err_exp(_sp,(T0 *)ms180_54); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/int rT54skip2(T54 *C,char a1,char a2){ int R=0; /*IF*/if ((a1)==((C)->_cc)) { C->_start_line=(C)->_line; C->_start_column=(C)->_column; rT54next_char(C); /*IF*/if ((a2)==((C)->_cc)) { R=1; rT54next_char(C); rT54skip_comments(C); } else { rT54prev_char(C); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_r8(T54 *C,T0* a1){ T0* _infix_freeop=NULL; T0* _infix_name=NULL; /*IF*/if (rT54a_free_operator(C)) { _infix_name=rT73to_infix_name_use((T73*)rT54tmp_operator()); /*IF*/if (rT54a_e8(C)) { {T188 *n=((T188*)se_new(188)); rT188make(n,a1,_infix_name,(C)->_last_expression); _infix_freeop=(T0 *)n;} rT54a_r8(C,_infix_freeop); } else { rT54err_exp(((T74*)_infix_name)->_start_position,((T74*)_infix_name)->_to_string); } /*FI*/} else { C->_last_expression=a1; } /*FI*/}/*EIFFEL_PARSER*/int rT54a_debug(T54 *C){ int R=0; T0* _e_debug=NULL; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms84_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (rT54skip1(C,'\50')) { while (!(!(rT54a_manifest_string(C)))) { /*IF*/if (!(_list)) { _list=ma(155,0,1,(C)->_last_manifest_string); } else { rT155add_last((T155*)_list,(C)->_last_manifest_string); } /*FI*/C->_ok=rT54skip1(C,'\54'); } /*IF*/if (!(_list)) { rT54wcp(C,(T0 *)ms85_54); } /*FI*//*IF*/if (!(rT54skip1(C,'\51'))) { rT54fcp(C,(T0 *)ms86_54); } /*FI*/} /*FI*/R=1; {T223 *n=((T223*)se_new(223)); rT223make(n,_sp,_list,rT54a_compound2(C,(T0 *)ms87_54,(T0 *)ms115_27)); _e_debug=(T0 *)n;} C->_last_instruction=_e_debug; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_feature_declaration(T54 *C){ int R=0; rT138initialize((T138*)oRBC54tmp_feature); /*IF*/if (rT54a_keyword(C,(T0 *)ms106_54)) { /*IF*/if (rT54a_feature_name(C)) { R=1; /*XrT*FEATURE_NAME*//*[IRF3:set_is_frozen*//*AW*/((T70*)(C)->_last_feature_name)->_is_frozen=(1);/*]*/ rT138add_synonym((C)->_last_feature_name); } else { rT54fcp(C,(T0 *)ms199_54); } /*FI*/} else if (rT54a_feature_name(C)) { R=1; rT138add_synonym((C)->_last_feature_name); } /*FI*/while (!(!(rT54skip1(C,'\54')))) { /*IF*/if (rT54a_keyword(C,(T0 *)ms107_54)) { /*IF*/if (rT54a_feature_name(C)) { /*XrT*FEATURE_NAME*//*[IRF3:set_is_frozen*//*AW*/((T70*)(C)->_last_feature_name)->_is_frozen=(1);/*]*/ rT138add_synonym((C)->_last_feature_name); } else { rT54fcp(C,(T0 *)ms108_54); } /*FI*/} else if (rT54a_feature_name(C)) { rT138add_synonym((C)->_last_feature_name); } else { rT54ecp(C,(T0 *)ms109_54); } /*FI*/} /*IF*/if (R) { rT54a_formal_arg_list(C); C->_function_type=NULL; /*IF*/if (rT54skip1(C,'\72')) { /*IF*/if (!(rT54a_type(C))) { rT54fcp(C,(T0 *)ms110_54); } else { C->_function_type=(C)->_last_type; /*[IRF3:set_type*//*AW*/((T138*)oRBC54tmp_feature)->_type=((C)->_last_type);/*]*/ } /*FI*/} /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms111_54)) { /*IF*/if (rT54a_keyword(C,(T0 *)ms112_54)) { C->_last_feature_declaration=rT138to_cst_att_unique((T138*)oRBC54tmp_feature); } else if (rT54a_boolean_constant(C)) { C->_last_feature_declaration=rT138to_cst_att_boolean((T138*)oRBC54tmp_feature,(C)->_last_boolean_constant); } else if (rT54a_character_constant(C)) { C->_last_feature_declaration=rT138to_cst_att_character((T138*)oRBC54tmp_feature,(C)->_last_character_constant); } else if (rT54a_manifest_string(C)) { C->_last_feature_declaration=rT138to_cst_att_string((T138*)oRBC54tmp_feature,(C)->_last_manifest_string); } else if (rT54a_bit_constant(C)) { C->_last_feature_declaration=rT138to_cst_att_bit((T138*)oRBC54tmp_feature,(C)->_last_bit_constant); } else if (rT54a_real_constant(C)) { C->_last_feature_declaration=rT138to_cst_att_real((T138*)oRBC54tmp_feature,(C)->_last_real_constant); } else if (rT54a_integer_constant(C)) { C->_last_feature_declaration=rT138to_cst_att_integer((T138*)oRBC54tmp_feature,(C)->_last_integer_constant); } else { C->_last_feature_declaration=rT54a_routine(C); } /*FI*/} else { C->_last_feature_declaration=rT138to_writable_attribute((T138*)oRBC54tmp_feature); } /*FI*/C->_function_type=NULL; C->_arguments=NULL; } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_feature_clause(T54 *C){ T0* _aof=NULL; T0* _comment=NULL; T0* _clients=NULL; T0* _feature_clause=NULL; _clients=rT54a_clients(C); _comment=rT54get_comments(C); while (!(!(rT54a_feature_declaration(C)))) { C->_ok=rT54skip1(C,'\73'); /*IF*/if (((int)(C)->_last_feature_declaration)) { /*IF*/if (!(_aof)) { _aof=ma(67,0,1,(C)->_last_feature_declaration); } else { rT67add_last((T67*)_aof,(C)->_last_feature_declaration); } /*FI*/XrT66set_header_comment((C)->_last_feature_declaration,rT54get_comments(C)); } /*FI*/} /*IF*/if ((((int)_aof))||(((int)_comment))) { {T137 *n=((T137*)se_new(137)); rT137make(n,_clients,_comment,_aof); _feature_clause=(T0 *)n;} rT53add_feature_clause((T53*)(C)->_last_base_class,_feature_clause); } /*FI*/C->_last_keyword=NULL; }/*EIFFEL_PARSER*/int rT54a_feature_list(T54 *C){ int R=0; int _state=0; C->_last_feature_list=NULL; while (!((_state)>=(3))) { {int iv1=_state; if (0 == iv1) goto l199; goto l200; l199: ; /*IF*/if (rT54a_feature_name(C)) { C->_last_feature_list=ma(131,0,1,(C)->_last_feature_name); R=1; _state=1; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms204_54); C->_ok=rT54skip1(C,'\54'); } else { _state=3; } /*FI*/goto l198; l200: ; if (1 == iv1) goto l201; goto l202; l201: ; /*IF*/if (((C)->_cc)==('\54')) { C->_ok=rT54skip1(C,'\54'); _state=2; } else if (rT54a_feature_name(C)) { rT54warning(/*XrT*FEATURE_NAME*/((T70*)(C)->_last_feature_name)->_start_position,(T0 *)ms202_54); rT131add_last((T131*)(C)->_last_feature_list,(C)->_last_feature_name); } else { _state=3; } /*FI*/goto l198; l202: ; if (2 == iv1) goto l203; goto l204; l203: ; /*IF*/if (rT54a_feature_name(C)) { rT131add_last((T131*)(C)->_last_feature_list,(C)->_last_feature_name); _state=1; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms209_54); C->_ok=rT54skip1(C,'\54'); } else { rT54ecp(C,(T0 *)ms199_54); _state=3; } /*FI*/goto l198; l204: ; l198: ; } } return R; } /*EIFFEL_PARSER*/int rT54a_feature_name(T54 *C){ int R=0; /*IF*/if (rT54a_prefix(C)) { C->_last_feature_name=(C)->_last_prefix; R=1; } else if (rT54a_infix(C)) { C->_last_feature_name=(C)->_last_infix; R=1; } else if (rT54a_identifier(C)) { C->_last_feature_name=rT73to_feature_name((T73*)rT54tmp_name()); R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_character_constant(T54 *C){ int R=0; char _value=0; int _printing_mode=0; int _state=0; T0* _sp=NULL; /*IF*/if (((C)->_cc)==('\47')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_line,(C)->_column); _sp=(T0 *)n;} R=1; while (!((_state)>(2))) { rT54next_char(C); {int iv1=_state; if (0 == iv1) goto l206; goto l207; l206: ; {int iv2=(C)->_cc; if (37 == iv2) goto l209; goto l210; l209: ; _state=1; goto l208; l210: ; if (39 == iv2) goto l211; goto l212; l211: ; rT54fcp(C,(T0 *)ms207_54); _state=2; goto l208; l212: ; _value=(C)->_cc; _printing_mode=0; _state=2; l208: ; } goto l205; l207: ; if (1 == iv1) goto l213; goto l214; l213: ; _printing_mode=1; _state=2; {int iv2=(C)->_cc; if (65 == iv2) goto l216; goto l217; l216: ; _value='\100'; goto l215; l217: ; if (66 == iv2) goto l218; goto l219; l218: ; _value='\10'; goto l215; l219: ; if (67 == iv2) goto l220; goto l221; l220: ; _value='\136'; goto l215; l221: ; if (68 == iv2) goto l222; goto l223; l222: ; _value='\44'; goto l215; l223: ; if (70 == iv2) goto l224; goto l225; l224: ; _value='\14'; goto l215; l225: ; if (72 == iv2) goto l226; goto l227; l226: ; _value='\134'; goto l215; l227: ; if (76 == iv2) goto l228; goto l229; l228: ; _value='\176'; goto l215; l229: ; if (78 == iv2) goto l230; goto l231; l230: ; _value='\12'; goto l215; l231: ; if (81 == iv2) goto l232; goto l233; l232: ; _value='\140'; goto l215; l233: ; if (82 == iv2) goto l234; goto l235; l234: ; _value='\15'; goto l215; l235: ; if (83 == iv2) goto l236; goto l237; l236: ; _value='\43'; goto l215; l237: ; if (84 == iv2) goto l238; goto l239; l238: ; _value='\11'; goto l215; l239: ; if (85 == iv2) goto l240; goto l241; l240: ; _value='\0'; goto l215; l241: ; if (86 == iv2) goto l242; goto l243; l242: ; _value='\174'; goto l215; l243: ; if (37 == iv2) goto l244; goto l245; l244: ; _value='\45'; goto l215; l245: ; if (39 == iv2) goto l246; goto l247; l246: ; _value='\47'; goto l215; l247: ; if (34 == iv2) goto l248; goto l249; l248: ; _value='\42'; goto l215; l249: ; if (40 == iv2) goto l250; goto l251; l250: ; _value='\133'; goto l215; l251: ; if (41 == iv2) goto l252; goto l253; l252: ; _value='\135'; goto l215; l253: ; if (60 == iv2) goto l254; goto l255; l254: ; _value='\173'; goto l215; l255: ; if (62 == iv2) goto l256; goto l257; l256: ; _value='\175'; goto l215; l257: ; if (47 == iv2) goto l258; goto l259; l258: ; rT54a_ascii_code(C); _value=(C)->_last_ascii_code; _printing_mode=2; goto l215; l259: ; rT54fcp(C,(T0 *)ms24_54); l215: ; } goto l205; l214: ; _state=3; {int iv2=(C)->_cc; if (39 == iv2) goto l261; goto l262; l261: ; goto l260; l262: ; rT54fcp(C,(T0 *)ms207_54); l260: ; } rT54next_char(C); rT54skip_comments(C); l205: ; } } {T79 *n=((T79*)se_new(79)); rT79make(n,_sp,_value,_printing_mode); C->_last_character_constant=(T0 *)n;} } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_check(T54 *C){ int R=0; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms110_27)) { R=1; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _hc=rT54get_comments(C); _al=rT54a_assertion(C); /*IF*/if ((((int)_hc))||(((int)_al))) { {T221 *n=((T221*)se_new(221)); rT221make(n,_sp,_hc,_al); C->_last_instruction=(T0 *)n;}} else { rT54wcp(C,(T0 *)ms53_54); } /*FI*//*IF*/if (!(rT54a_keyword(C,(T0 *)ms115_27))) { rT54fcp(C,(T0 *)ms54_54); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_class_declaration(T54 *C){ T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; rT54a_indexing(C); /*IF*/if (rT54a_keyword(C,(T0 *)ms113_27)) { rT53set_is_deferred((T53*)(C)->_last_base_class); } /*FI*//*IF*/if (rT54a_keyword(C,(T0 *)ms116_27)) { rT53set_is_expanded((T53*)(C)->_last_base_class); /*IF*/if (rT54a_keyword(C,(T0 *)ms113_27)) { rT53set_is_deferred((T53*)(C)->_last_base_class); } /*FI*/} /*FI*//*[IRF3:set_heading_comment1*//*AW*/((T53*)(C)->_last_base_class)->_heading_comment1=(rT54get_comments(C));/*]*/ /*IF*/if (!(rT54a_keyword(C,(T0 *)ms55_54))) { rT54fcp(C,(T0 *)ms56_54); } /*FI*//*IF*/if (rT54a_base_class_name(C)) { rT51set_with((T51*)rT54current_class_name(C),(C)->_last_class_name); /*IF*/if (rT45fast_has((T45*)oRBC54forbidden_class,((T51*)(C)->_last_class_name)->_to_string)) { rT48add_position(((T51*)(C)->_last_class_name)->_start_position); rT54fatal_error((T0 *)ms57_54); } /*FI*/} else { rT54fcp(C,(T0 *)ms58_54); } /*FI*/rT54a_formal_generic_list(C); /*IF*/if (rT54a_keyword(C,(T0 *)ms59_54)) { /*IF*/if (rT54a_manifest_string(C)) { /*[IRF3:set_obsolete_type_string*//*AW*/((T53*)(C)->_last_base_class)->_obsolete_type_string=((C)->_last_manifest_string);/*]*/ } else { rT54fcp(C,(T0 *)ms60_54); } /*FI*/} /*FI*//*[IRF3:set_heading_comment2*//*AW*/((T53*)(C)->_last_base_class)->_heading_comment2=(rT54get_comments(C));/*]*/ /*IF*/if (rT54a_keyword(C,(T0 *)ms61_54)) { rT54a_parent_list(C,rT54pos((C)->_start_line,(C)->_start_column),rT54get_comments(C)); } /*FI*/while (!(!(rT54a_keyword(C,(T0 *)ms112_27)))) { rT54a_creation_clause(C); } while (!(!(rT54a_keyword(C,(T0 *)ms62_54)))) { rT54a_feature_clause(C); } /*IF*/if (rT54a_keyword(C,(T0 *)ms63_54)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _hc=rT54get_comments(C); _al=rT54a_assertion(C); rT53set_invariant((T53*)(C)->_last_base_class,_sp,_hc,_al); } /*FI*//*IF*/if ((rT54a_keyword(C,(T0 *)ms115_27))||(((T0 *)(C)->_last_keyword)==((T0 *)(T0 *)ms115_27))) { /*IF*/if (((C)->_cc)==('\73')) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } /*FI*//*[IRF3:set_end_comment*//*AW*/((T53*)(C)->_last_base_class)->_end_comment=(rT54get_comments(C));/*]*/ /*IF*/if (((C)->_cc)!=('\0')) { rT54fcp(C,(T0 *)ms64_54); } /*FI*/} else { rT54fcp(C,(T0 *)ms65_54); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_class_type(T54 *C){ int R=0; T0* _generic_list=NULL; T0* _base_class_name=NULL; int _state=0; /*IF*/if (rT54a_base_type(C)) { C->_last_class_type=(C)->_last_base_type; R=1; } else if (rT54a_base_class_name(C)) { R=1; _base_class_name=(C)->_last_class_name; while (!((_state)>(2))) { {int iv1=_state; if (0 == iv1) goto l264; goto l265; l264: ; /*IF*/if (rT54skip1(C,'\133')) { _state=1; } else { {T118 *n=((T118*)se_new(118)); /*[IRF3:make*//*AW*/(n)->_base_class_name=(_base_class_name);/*]*/ C->_last_class_type=(T0 *)n;}_state=3; } /*FI*/goto l263; l265: ; if (1 == iv1) goto l266; goto l267; l266: ; /*IF*/if (rT54a_type(C)) { /*IF*/if (!(_generic_list)) { _generic_list=ma(108,0,1,(C)->_last_type); } else { rT108add_last((T108*)_generic_list,(C)->_last_type); } /*FI*/_state=2; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms209_54); C->_ok=rT54skip1(C,'\54'); } else if (((C)->_cc)==('\135')) { _state=2; } else { rT54fcp(C,(T0 *)ms66_54); _state=2; } /*FI*/goto l263; l267: ; /*IF*/if (rT54skip1(C,'\54')) { _state=1; } else if (((C)->_cc)==('\135')) { /*IF*/if (!(_generic_list)) { rT54wcp(C,(T0 *)ms67_54); {T118 *n=((T118*)se_new(118)); /*[IRF3:make*//*AW*/(n)->_base_class_name=(_base_class_name);/*]*/ C->_last_class_type=(T0 *)n;}} else { {T119 *n=((T119*)se_new(119)); rT119make(n,_base_class_name,_generic_list); C->_last_class_type=(T0 *)n;}} /*FI*/C->_ok=rT54skip1(C,'\135'); _state=3; } else if (rT54a_type(C)) { /*IF*/if (!(_generic_list)) { _generic_list=ma(108,0,1,(C)->_last_type); } else { rT108add_last((T108*)_generic_list,(C)->_last_type); } /*FI*/rT54warning(XrT62start_position((C)->_last_type),(T0 *)ms202_54); } else { rT54fcp(C,(T0 *)ms68_54); _state=3; } /*FI*/ l263: ; } } } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_identifier(T54 *C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (rT3is_letter((C)->_cc)) { rT73make((T73*)rT54tmp_name(),(C)->_line,(C)->_column); rT73extend((T73*)rT54tmp_name(),(C)->_cc); while (!((_state)>(0))) { rT54next_char(C); {int iv1=(C)->_cc; if ((48<=iv1)&&(iv1<=57)) goto l269; if (95 == iv1) goto l269; if ((97<=iv1)&&(iv1<=122)) goto l269; goto l270; l269: ; rT73extend((T73*)rT54tmp_name(),(C)->_cc); goto l268; l270: ; if ((65<=iv1)&&(iv1<=90)) goto l271; goto l272; l271: ; _do_warning=1; rT73extend((T73*)rT54tmp_name(),rT3to_lower((C)->_cc)); goto l268; l272: ; _state=1; l268: ; } } /*IF*/if (rT73isa_keyword((T73*)rT54tmp_name())) { _state=rT73count((T73*)rT54tmp_name()); while (!((_state)==(0))) { _state=(_state)-(1); rT54prev_char(C); } } else { R=1; rT54skip_comments(C); /*IF*/if (_do_warning) { rT54warning(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms26_54); } /*FI*/} /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_alias(T54 *C){ T0* R=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms104_54)) { /*IF*/if (!(rT54a_manifest_string(C))) { rT54fcp(C,(T0 *)ms105_54); } else { R=((T80*)(C)->_last_manifest_string)->_to_string; } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_base_class_name(T54 *C){ int R=0; int _do_warning=0; int _state=0; /*IF*/if (rT3is_letter((C)->_cc)) { /*IF*/if (((C)->_cc)>=('a')) { _do_warning=1; C->_cc=rT3to_upper((C)->_cc); } /*FI*/rT73make((T73*)rT54tmp_name(),(C)->_line,(C)->_column); rT73extend((T73*)rT54tmp_name(),(C)->_cc); while (!((_state)>(0))) { rT54next_char(C); {int iv1=(C)->_cc; if ((48<=iv1)&&(iv1<=57)) goto l274; if ((65<=iv1)&&(iv1<=90)) goto l274; if (95 == iv1) goto l274; goto l275; l274: ; rT73extend((T73*)rT54tmp_name(),(C)->_cc); goto l273; l275: ; if ((97<=iv1)&&(iv1<=122)) goto l276; goto l277; l276: ; _do_warning=1; rT73extend((T73*)rT54tmp_name(),rT3to_upper((C)->_cc)); goto l273; l277: ; _state=1; l273: ; } } /*IF*/if (rT73isa_keyword((T73*)rT54tmp_name())) { _state=rT73count((T73*)rT54tmp_name()); while (!((_state)==(0))) { _state=(_state)-(1); rT54prev_char(C); } } else { R=1; rT54skip_comments(C); /*IF*/if (_do_warning) { rT54warning(rT73start_position((T73*)rT54tmp_name()),(T0 *)ms25_54); } /*FI*/C->_last_class_name=rT73to_class_name((T73*)rT54tmp_name()); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_base_type(T54 *C){ int R=0; T0* _sp=NULL; R=1; /*IF*/if (rT54a_keyword(C,(T0 *)ms36_27)) { {T91 *n=((T91*)se_new(91)); rT91make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms37_27)) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (((rT54skip1(C,'\133'))&&(rT54a_type(C)))&&(rT54skip1(C,'\135'))) { {T107 *n=((T107*)se_new(107)); rT107make(n,_sp,(C)->_last_type); C->_last_base_type=(T0 *)n;}} else { rT54fcp(C,(T0 *)ms42_54); } /*FI*/} else if (rT54a_keyword(C,(T0 *)ms40_27)) { {T109 *n=((T109*)se_new(109)); rT109make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms42_27)) { {T111 *n=((T111*)se_new(111)); rT111make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms45_27)) { {T112 *n=((T112*)se_new(112)); rT112make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms49_27)) { {T113 *n=((T113*)se_new(113)); rT113make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms52_27)) { {T114 *n=((T114*)se_new(114)); rT114make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms53_27)) { {T115 *n=((T115*)se_new(115)); rT115make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms55_27)) { {T116 *n=((T116*)se_new(116)); rT116make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else if (rT54a_keyword(C,(T0 *)ms57_27)) { {T117 *n=((T117*)se_new(117)); rT117make(n,rT54pos((C)->_start_line,(C)->_start_column)); C->_last_base_type=(T0 *)n;}} else { R=0; } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_ascii_code(T54 *C){ int _counter=0; rT54next_char(C); _counter=0; C->_last_ascii_code=0; while (!((((_counter)>(3))||(((C)->_cc)==('\57'))))) { {int iv1=(C)->_cc; if ((48<=iv1)&&(iv1<=57)) goto l279; goto l280; l279: ; C->_last_ascii_code=(((C)->_last_ascii_code)*(10))+(rT3value((C)->_cc)); goto l278; l280: ; rT54fcp(C,(T0 *)ms21_54); l278: ; } _counter=(_counter)+(1); rT54next_char(C); } /*IF*/if ((_counter)==(0)) { rT54fcp(C,(T0 *)ms22_54); } else if ((_counter)>(3)) { rT54fcp(C,(T0 *)ms23_54); } else { } /*FI*/}/*EIFFEL_PARSER*/int rT54a_actual(T54 *C){ int R=0; /*IF*/if (rT54skip1(C,'\44')) { /*IF*/if (rT54a_identifier(C)) { {T178 *n=((T178*)se_new(178)); /*[IRF3:make*//*AW*/(n)->_feature_name=(rT73to_feature_name((T73*)rT54tmp_name()));/*]*/ C->_last_expression=(T0 *)n;}R=1; } else { rT54fcp(C,(T0 *)ms199_54); } /*FI*/} else if (rT54a_expression(C)) { R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_actuals(T54 *C){ T0* R=NULL; T0* _args=NULL; /*IF*/if (rT54skip1(C,'\50')) { while (!(!(rT54a_actual(C)))) { /*IF*/if (!(_args)) { _args=ma(85,0,1,(C)->_last_expression); } else { XrT85add_last(_args,(C)->_last_expression); } /*FI*/C->_ok=rT54skip1(C,'\54'); } /*IF*/if (!(_args)) { rT54wcp(C,(T0 *)ms33_54); } else { {T175 *n=((T175*)se_new(175)); /*[IRF3:make*//*AW*/(n)->_list=(_args);/*]*/ R=(T0 *)n;} } /*FI*//*IF*/if (!(rT54skip1(C,'\51'))) { rT54fcp(C,(T0 *)ms34_54); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_clients(T54 *C){ T0* R=NULL; int _state=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (rT54skip1(C,'\173')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} while (!((_state)>(3))) { {int iv1=_state; if (0 == iv1) goto l282; goto l283; l282: ; /*IF*/if (rT54a_base_class_name(C)) { _list=ma(127,0,1,(C)->_last_class_name); _state=2; } else if (rT54skip1(C,'\175')) { _state=4; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms204_54); C->_ok=rT54skip1(C,'\54'); } else { _state=3; } /*FI*/goto l281; l283: ; if (1 == iv1) goto l284; goto l285; l284: ; /*IF*/if (rT54a_base_class_name(C)) { rT127add_last((T127*)_list,(C)->_last_class_name); _state=2; } else if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms204_54); C->_ok=rT54skip1(C,'\54'); } else if (((C)->_cc)==('\175')) { rT54wcp(C,(T0 *)ms69_54); C->_ok=rT54skip1(C,'\175'); _state=4; } else { _state=3; } /*FI*/goto l281; l285: ; if (2 == iv1) goto l286; goto l287; l286: ; /*IF*/if (rT54skip1(C,'\54')) { _state=1; } else if (rT54skip1(C,'\175')) { _state=4; } else if (rT54a_base_class_name(C)) { rT54warning(((T51*)(C)->_last_class_name)->_start_position,(T0 *)ms202_54); rT127add_last((T127*)_list,(C)->_last_class_name); } else { _state=3; } /*FI*/goto l281; l287: ; rT54fcp(C,(T0 *)ms208_54); _state=4; l281: ; } } {T125 *n=((T125*)se_new(125)); rT125make(n,_sp,_list); R=(T0 *)n;} } else { {T125 *n=((T125*)se_new(125)); /*[IRF3:omitted*//*]*/ R=(T0 *)n;} } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54go_back(T54 *C,T0* a1){ rT54go_back_at(C,((T49*)a1)->_line,((T49*)a1)->_column); }/*EIFFEL_PARSER*/int rT54a_real_constant(T54 *C){ int R=0; int _old_column=0; int _old_line=0; _old_line=(C)->_line; _old_column=(C)->_column; /*IF*/if (rT54skip1(C,'\53')) { /*IF*/if (rT54a_real(C)) { R=1; } else { rT54go_back_at(C,_old_line,_old_column); } /*FI*/} else if (rT54skip1(C,'\55')) { /*IF*/if (rT54a_real(C)) { C->_last_real_constant=rT83_px45((T83*)(C)->_last_real_constant); R=1; } else { rT54go_back_at(C,_old_line,_old_column); } /*FI*/} else if (rT54a_real(C)) { R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_real(T54 *C){ int R=0; float _frac_i=0; float _frac_part=0; int _integral_part=0; int _back_count=0; int _exponent_sign=0; int _exponent=0; int _state=0; T0* _ts=NULL; T0* _sp=NULL; /*IF*/if ((rT3is_digit((C)->_cc))||(((C)->_cc)==('\56'))) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_line,(C)->_column); _sp=(T0 *)n;} _exponent_sign=1; _frac_i=((float)1.); /*IF*/if (((C)->_cc)==('\56')) { _state=5; } else { _integral_part=rT3value((C)->_cc); } /*FI*/while (!((_state)>(11))) { rT54next_char(C); _back_count=(_back_count)+(1); {int iv1=_state; if (0 == iv1) goto l289; goto l290; l289: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l292; goto l293; l292: ; _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc)); goto l291; l293: ; if (46 == iv2) goto l294; goto l295; l294: ; _state=4; goto l291; l295: ; _state=13; l291: ; } goto l288; l290: ; if (1 == iv1) goto l296; goto l297; l296: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l299; goto l300; l299: ; _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc)); _state=2; goto l298; l300: ; rT54fcp(C,(T0 *)ms206_54); l298: ; } goto l288; l297: ; if (2 == iv1) goto l301; goto l302; l301: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l304; goto l305; l304: ; _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc)); _state=3; goto l303; l305: ; rT54fcp(C,(T0 *)ms206_54); l303: ; } goto l288; l302: ; if (3 == iv1) goto l306; goto l307; l306: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l309; goto l310; l309: ; _integral_part=((_integral_part)*(10))+(rT3value((C)->_cc)); _state=0; goto l308; l310: ; rT54fcp(C,(T0 *)ms206_54); l308: ; } goto l288; l307: ; if (4 == iv1) goto l311; goto l312; l311: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l314; goto l315; l314: ; _frac_i=((float)10.); _frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i); _state=6; goto l313; l315: ; if (69 == iv2) goto l316; if (101 == iv2) goto l316; goto l317; l316: ; _state=10; goto l313; l317: ; _state=12; l313: ; } goto l288; l312: ; if (5 == iv1) goto l318; goto l319; l318: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l321; goto l322; l321: ; _frac_i=((float)10.); _frac_part=(rT2to_real(rT3value((C)->_cc)))/(_frac_i); _state=6; goto l320; l322: ; _state=13; l320: ; } goto l288; l319: ; if (6 == iv1) goto l323; goto l324; l323: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l326; goto l327; l326: ; _frac_i=(_frac_i)*(((float)10.)); _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i)); goto l325; l327: ; if (69 == iv2) goto l328; if (101 == iv2) goto l328; goto l329; l328: ; _state=10; goto l325; l329: ; if (95 == iv2) goto l330; goto l331; l330: ; _state=7; goto l325; l331: ; _state=12; l325: ; } goto l288; l324: ; if (7 == iv1) goto l332; goto l333; l332: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l335; goto l336; l335: ; _frac_i=(_frac_i)*(((float)10.)); _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i)); _state=8; goto l334; l336: ; rT54fcp(C,(T0 *)ms198_54); l334: ; } goto l288; l333: ; if (8 == iv1) goto l337; goto l338; l337: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l340; goto l341; l340: ; _frac_i=(_frac_i)*(((float)10.)); _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i)); _state=9; goto l339; l341: ; rT54fcp(C,(T0 *)ms198_54); l339: ; } goto l288; l338: ; if (9 == iv1) goto l342; goto l343; l342: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l345; goto l346; l345: ; _frac_i=(_frac_i)*(((float)10.)); _frac_part=(_frac_part)+((rT2to_real(rT3value((C)->_cc)))/(_frac_i)); _state=6; goto l344; l346: ; rT54fcp(C,(T0 *)ms198_54); l344: ; } goto l288; l343: ; if (10 == iv1) goto l347; goto l348; l347: ; {int iv2=(C)->_cc; if (43 == iv2) goto l350; goto l351; l350: ; _state=11; goto l349; l351: ; if (45 == iv2) goto l352; goto l353; l352: ; _exponent_sign=-(1); _state=11; goto l349; l353: ; if ((48<=iv2)&&(iv2<=57)) goto l354; goto l355; l354: ; _exponent=rT3value((C)->_cc); _state=11; goto l349; l355: ; rT54fcp(C,(T0 *)ms30_54); _state=13; l349: ; } goto l288; l348: ; {int iv2=(C)->_cc; if ((48<=iv2)&&(iv2<=57)) goto l357; goto l358; l357: ; _exponent=((_exponent)*(10))+(rT3value((C)->_cc)); goto l356; l358: ; _state=12; l356: ; } l288: ; } } /*IF*/if ((_state)==(12)) { _ts=rT7substring((T7*)(C)->_current_line,((T49*)_sp)->_column,((C)->_column)-(1)); {T83 *n=((T83*)se_new(83)); rT83make(n,_sp,_ts,_integral_part,_frac_part,(_exponent)*(_exponent_sign)); C->_last_real_constant=(T0 *)n;} R=1; rT54skip_comments(C); } else { while (!((_back_count)==(0))) { _back_count=(_back_count)-(1); rT54prev_char(C); } } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54go_back_at(T54 *C,int a1,int a2){ C->_line=a1; C->_column=a2; C->_current_line=rT64item((C)->_line); /*IF*/if (((C)->_column)==((((T7*)(C)->_current_line)->_count)+(1))) { C->_cc='\12'; } else if (((C)->_column)==(0)) { C->_cc='\0'; } else { C->_cc=rT7item((T7*)(C)->_current_line,(C)->_column); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_binary(T54 *C,T0* a1){ int R=0; R=1; /*IF*/if (rT54skip2(C,'\74','\75')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms43_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip2(C,'\76','\75')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms44_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip2(C,'\57','\57')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms45_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip2(C,'\134','\134')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms46_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\53')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms95_27,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\55')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms96_27,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\52')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms47_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\57')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms125_27,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\76')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms48_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\74')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms49_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54skip1(C,'\136')) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms50_54,a1); C->_last_binary=(T0 *)n;} } else if (rT54a_keyword(C,(T0 *)ms122_27)) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms122_27,a1); C->_last_binary=(T0 *)n;} } else if (rT54a_keyword(C,(T0 *)ms117_27)) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms117_27,a1); C->_last_binary=(T0 *)n;} } else if (rT54a_keyword(C,(T0 *)ms59_27)) { /*IF*/if (rT54a_keyword(C,(T0 *)ms120_27)) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms60_27,a1); C->_last_binary=(T0 *)n;} } else { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms59_27,a1); C->_last_binary=(T0 *)n;} } /*FI*/} else if (rT54a_keyword(C,(T0 *)ms81_27)) { /*IF*/if (rT54a_keyword(C,(T0 *)ms114_27)) { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms82_27,a1); C->_last_binary=(T0 *)n;} } else { {T74 *n=((T74*)se_new(74)); rT74make(n,(T0 *)ms81_27,a1); C->_last_binary=(T0 *)n;} } /*FI*/} else { C->_last_binary=NULL; R=0; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_creation(T54 *C){ int R=0; int _state=0; T0* _call=NULL; T0* _proc_name=NULL; T0* _writable=NULL; T0* _type=NULL; T0* _sp=NULL; while (!((_state)>(6))) { {int iv1=_state; if (0 == iv1) goto l360; goto l361; l360: ; /*IF*/if (rT54skip1(C,'\41')) { {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} _state=1; } else { _state=7; } /*FI*/goto l359; l361: ; if (1 == iv1) goto l362; goto l363; l362: ; /*IF*/if (rT54a_type(C)) { _type=(C)->_last_type; /*IF*/if (XrT62is_anchored(_type)) { rT54warning(XrT62start_position(_type),(T0 *)ms76_54); } /*FI*/_state=2; } else if (rT54skip1(C,'\41')) { _state=3; } else { rT54fcp(C,(T0 *)ms77_54); _state=8; } /*FI*/goto l359; l363: ; if (2 == iv1) goto l364; goto l365; l364: ; /*IF*/if (rT54skip1(C,'\41')) { _state=3; } else { _state=8; rT54fcp(C,(T0 *)ms78_54); } /*FI*/goto l359; l365: ; if (3 == iv1) goto l366; goto l367; l366: ; /*IF*/if (rT54a_identifier(C)) { /*IF*/if (rT54a_current(C)) { _state=8; rT54error(XrT72start_position((C)->_last_expression),(T0 *)ms79_54); } else if (rT54a_argument(C)) { _state=8; rT54error(XrT72start_position((C)->_last_expression),(T0 *)ms80_54); } else if ((rT54a_result(C))||(rT54a_local_variable(C))) { _writable=(C)->_last_expression; _state=4; } else { _writable=rT73to_feature_name((T73*)rT54tmp_name()); _state=4; } /*FI*/} else { _state=8; rT54fcp(C,(T0 *)ms81_54); } /*FI*/goto l359; l367: ; if (4 == iv1) goto l368; goto l369; l368: ; /*IF*/if (rT54skip1unless2(C,'\56','\56')) { _state=5; } else { _state=7; } /*FI*/goto l359; l369: ; if (5 == iv1) goto l370; goto l371; l370: ; /*IF*/if (rT54a_identifier(C)) { _proc_name=rT73to_feature_name((T73*)rT54tmp_name()); _state=6; } else { _state=8; rT54fcp(C,(T0 *)ms82_54); } /*FI*/goto l359; l371: ; /*IF*/if (((C)->_cc)==('\50')) { _call=rT54to_proc_call(C,_writable,_proc_name,rT54a_actuals(C)); } else { {T183 *n=((T183*)se_new(183)); rT183make(n,_writable,_proc_name); _call=(T0 *)n;}} /*FI*/_state=7; l359: ; } } /*IF*/if (((_state)==(7))&&(((int)_sp))) { R=1; /*IF*/if (((!(_type))&&(!(_call)))) { {T248 *n=((T248*)se_new(248)); rT248make(n,_sp,_writable); C->_last_instruction=(T0 *)n;}} else if (((((int)_type))&&(!(_call)))) { {T251 *n=((T251*)se_new(251)); rT251make(n,_sp,_type,_writable); C->_last_instruction=(T0 *)n;}} else if (((!(_type))&&(((int)_call)))) { {T253 *n=((T253*)se_new(253)); rT253make(n,_sp,_writable,_call); C->_last_instruction=(T0 *)n;}} else { {T255 *n=((T255*)se_new(255)); rT255make(n,_sp,_type,_writable,_call); C->_last_instruction=(T0 *)n;}} /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_creation_clause(T54 *C){ T0* _creation_clause=NULL; T0* _list=NULL; T0* _comments=NULL; T0* _clients=NULL; _clients=rT54a_clients(C); _comments=rT54get_comments(C); /*IF*/if (rT54a_feature_list(C)) { _list=(C)->_last_feature_list; {T134 *n=((T134*)se_new(134)); rT134make(n,_clients,_comments,_list); _creation_clause=(T0 *)n;} rT53add_creation_clause((T53*)(C)->_last_base_class,_creation_clause); } else { /*IF*/if (((((int)_comments))||(((int)_clients)))) { /*IF*/if (((int)_comments)) { rT48add_position(((T63*)_comments)->_start_position); } /*FI*//*IF*/if (((int)_clients)) { rT48add_position(((T125*)_clients)->_start_position); } /*FI*/rT48warning((T48*)oRBC27eh,(T0 *)ms83_54); } /*FI*/} /*FI*/}/*EIFFEL_PARSER*/int rT54a_argument(T54 *C){ int R=0; int _rank=0; /*IF*/if (((int)(C)->_arguments)) { _rank=rT97rank_of((T97*)(C)->_arguments,((T73*)rT54tmp_name())->_to_string); /*IF*/if ((_rank)>(0)) { C->_last_expression=rT73to_argument_name((T73*)rT54tmp_name(),(C)->_arguments,_rank); R=1; } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_after_a_dot(T54 *C,int a1,T0* a2){ T0* _eal=NULL; T0* _fn=NULL; /*IF*/if (rT54a_identifier(C)) { /*IF*/if (((rT54a_result(C))||(rT54a_void(C)))||(rT54a_current(C))) { rT48add_position(XrT72start_position((C)->_last_expression)); rT48error((T48*)oRBC27eh,(T0 *)ms35_54); } /*FI*/_fn=rT73to_feature_name((T73*)rT54tmp_name()); _eal=rT54a_actuals(C); rT54a_r10(C,a1,a2,_fn,_eal); } else { rT54fcp(C,(T0 *)ms36_54); } /*FI*/}/*EIFFEL_PARSER*/void rT54a_redefine_list(T54 *C){ /*IF*/if (rT54a_feature_list(C)) { rT120set_redefine((T120*)(C)->_last_parent,(C)->_last_feature_list); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_index_clause(T54 *C){ int R=0; T0* _index_clause=NULL; /*IF*/if (rT54a_feature_name(C)) { R=1; /*IF*/if (rT54skip1(C,'\72')) { {T69 *n=((T69*)se_new(69)); /*[IRF3:make*//*AW*/(n)->_index=(/*XrT*FEATURE_NAME*/((T70*)(C)->_last_feature_name)->_to_string);/*]*/ _index_clause=(T0 *)n;} /*IF*/if (rT54a_index_value(C)) { rT69add_index_value((T69*)_index_clause,(C)->_last_index_value); } else { rT54fcp(C,(T0 *)ms200_54); } /*FI*/} else { {T69 *n=((T69*)se_new(69)); /*[IRF3:make*//*AW*/(n)->_index=(NULL);/*]*/ _index_clause=(T0 *)n;} rT69add_index_value((T69*)_index_clause,(C)->_last_feature_name); } /*FI*/} else if (rT54a_manifest_constant(C)) { R=1; {T69 *n=((T69*)se_new(69)); /*[IRF3:make*//*AW*/(n)->_index=(NULL);/*]*/ _index_clause=(T0 *)n;} rT69add_index_value((T69*)_index_clause,(C)->_last_manifest_constant); } /*FI*//*IF*/if (R) { while (!(!(rT54skip1(C,'\54')))) { /*IF*/if (rT54a_index_value(C)) { rT69add_index_value((T69*)_index_clause,(C)->_last_index_value); } else { rT54fcp(C,(T0 *)ms200_54); } /*FI*/} rT53add_index_clause((T53*)(C)->_last_base_class,_index_clause); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_index_list(T54 *C){ while (!(!(rT54a_index_clause(C)))) { C->_ok=rT54skip1(C,'\73'); } }/*EIFFEL_PARSER*/void rT54a_indexing(T54 *C){ /*IF*/if (rT54a_keyword(C,(T0 *)ms115_54)) { rT54a_index_list(C); } /*FI*/}/*EIFFEL_PARSER*/int rT54a_index_value(T54 *C){ int R=0; /*IF*/if (rT54a_feature_name(C)) { C->_last_index_value=(C)->_last_feature_name; R=1; } else if (rT54a_manifest_constant(C)) { C->_last_index_value=(C)->_last_manifest_constant; R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_tag_mark(T54 *C){ int R=0; /*IF*/if (rT54a_identifier(C)) { /*IF*/if (rT54skip1unless2(C,'\72','\75')) { R=1; C->_last_tag_mark=rT73to_tag_name((T73*)rT54tmp_name()); } else { C->_last_tag_mark=NULL; rT54go_back_at(C,((T73*)rT54tmp_name())->_li,((T73*)rT54tmp_name())->_co); } /*FI*/} else { C->_last_tag_mark=NULL; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_manifest_constant(T54 *C){ int R=0; /*IF*/if (rT54a_boolean_constant(C)) { C->_last_manifest_constant=(C)->_last_boolean_constant; R=1; } else if (rT54a_character_constant(C)) { C->_last_manifest_constant=(C)->_last_character_constant; R=1; } else if (rT54a_manifest_string(C)) { C->_last_manifest_constant=(C)->_last_manifest_string; R=1; } else if (rT54a_bit_constant(C)) { C->_last_manifest_constant=(C)->_last_bit_constant; R=1; } else if (rT54a_real_constant(C)) { C->_last_manifest_constant=(C)->_last_real_constant; R=1; } else if (rT54a_integer_constant(C)) { C->_last_manifest_constant=(C)->_last_integer_constant; R=1; } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_manifest_string(T54 *C){ int R=0; int _state=0; /*IF*/if (((C)->_cc)==('\42')) { R=1; C->_ms_numbering=((C)->_ms_numbering)+(1); {T80 *n=((T80*)se_new(80)); rT80make(n,rT54pos((C)->_line,(C)->_column),(C)->_ms_numbering); C->_last_manifest_string=(T0 *)n;} while (!((_state)>(3))) { rT54next_char(C); {int iv1=_state; if (0 == iv1) goto l373; goto l374; l373: ; {int iv2=(C)->_cc; if (10 == iv2) goto l376; goto l377; l376: ; rT54fcp(C,(T0 *)ms205_54); goto l375; l377: ; if (34 == iv2) goto l378; goto l379; l378: ; _state=4; goto l375; l379: ; if (37 == iv2) goto l380; goto l381; l380: ; _state=1; goto l375; l381: ; rT80add((T80*)(C)->_last_manifest_string,(C)->_cc); l375: ; } goto l372; l374: ; if (1 == iv1) goto l382; goto l383; l382: ; _state=0; {int iv2=(C)->_cc; if (10 == iv2) goto l385; goto l386; l385: ; _state=3; goto l384; l386: ; if (65 == iv2) goto l387; goto l388; l387: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\100'); goto l384; l388: ; if (66 == iv2) goto l389; goto l390; l389: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\10'); goto l384; l390: ; if (67 == iv2) goto l391; goto l392; l391: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\136'); goto l384; l392: ; if (68 == iv2) goto l393; goto l394; l393: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\44'); goto l384; l394: ; if (70 == iv2) goto l395; goto l396; l395: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\14'); goto l384; l396: ; if (72 == iv2) goto l397; goto l398; l397: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\134'); goto l384; l398: ; if (76 == iv2) goto l399; goto l400; l399: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\176'); goto l384; l400: ; if (78 == iv2) goto l401; goto l402; l401: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\12'); goto l384; l402: ; if (81 == iv2) goto l403; goto l404; l403: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\140'); goto l384; l404: ; if (82 == iv2) goto l405; goto l406; l405: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\15'); goto l384; l406: ; if (83 == iv2) goto l407; goto l408; l407: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\43'); goto l384; l408: ; if (84 == iv2) goto l409; goto l410; l409: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\11'); goto l384; l410: ; if (85 == iv2) goto l411; goto l412; l411: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\0'); goto l384; l412: ; if (86 == iv2) goto l413; goto l414; l413: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\174'); goto l384; l414: ; if (37 == iv2) goto l415; goto l416; l415: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\45'); goto l384; l416: ; if (39 == iv2) goto l417; goto l418; l417: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\47'); goto l384; l418: ; if (34 == iv2) goto l419; goto l420; l419: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\42'); goto l384; l420: ; if (40 == iv2) goto l421; goto l422; l421: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\133'); goto l384; l422: ; if (41 == iv2) goto l423; goto l424; l423: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\135'); goto l384; l424: ; if (60 == iv2) goto l425; goto l426; l425: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\173'); goto l384; l426: ; if (62 == iv2) goto l427; goto l428; l427: ; rT80add_percent((T80*)(C)->_last_manifest_string,'\175'); goto l384; l428: ; if (47 == iv2) goto l429; goto l430; l429: ; rT54a_ascii_code(C); rT80add_ascii((T80*)(C)->_last_manifest_string,(C)->_last_ascii_code); goto l384; l430: ; if (9 == iv2) goto l431; if (32 == iv2) goto l431; goto l432; l431: ; _state=2; goto l384; l432: ; rT54fcp(C,(T0 *)ms27_54); _state=0; l384: ; } goto l372; l383: ; if (2 == iv1) goto l433; goto l434; l433: ; {int iv2=(C)->_cc; if (10 == iv2) goto l436; goto l437; l436: ; _state=3; goto l435; l437: ; if (9 == iv2) goto l438; if (32 == iv2) goto l438; goto l439; l438: ; goto l435; l439: ; rT54fcp(C,(T0 *)ms28_54); l435: ; } goto l372; l434: ; {int iv2=(C)->_cc; if (9 == iv2) goto l441; if (32 == iv2) goto l441; goto l442; l441: ; goto l440; l442: ; if (37 == iv2) goto l443; goto l444; l443: ; rT80break_line((T80*)(C)->_last_manifest_string); _state=0; goto l440; l444: ; if (10 == iv2) goto l445; goto l446; l445: ; rT54fcp(C,(T0 *)ms205_54); _state=0; goto l440; l446: ; rT54fcp(C,(T0 *)ms29_54); _state=0; l440: ; } l372: ; } } rT54next_char(C); rT54skip_comments(C); } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_infix(T54 *C){ int R=0; T0* _sp=NULL; /*IF*/if (rT54a_keyword(C,(T0 *)ms116_54)) { R=1; {T49 *n=((T49*)se_new(49)); rT49make(n,(C)->_start_line,(C)->_start_column); _sp=(T0 *)n;} /*IF*/if (((C)->_cc)==('\42')) { rT54next_char(C); } else { rT54wcp(C,(T0 *)ms117_54); } /*FI*//*IF*/if (rT54a_binary(C,_sp)) { C->_last_infix=(C)->_last_binary; } else if (rT54a_free_operator(C)) { C->_last_infix=rT73to_infix_name((T73*)rT54tmp_operator(),_sp); } else { rT54fcp(C,(T0 *)ms118_54); } /*FI*//*IF*/if (!(rT54skip1(C,'\42'))) { rT54wcp(C,(T0 *)ms119_54); } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_free_operator(T54 *C){ int R=0; /*IF*/if ((((((C)->_cc)==('\100'))||(((C)->_cc)==('\43')))||(((C)->_cc)==('\174')))||(((C)->_cc)==('\46'))) { R=1; rT73make((T73*)rT54tmp_operator(),(C)->_line,(C)->_column); rT73extend((T73*)rT54tmp_operator(),(C)->_cc); rT54next_char(C); while (!((((((C)->_cc)==('\12'))||(((C)->_cc)==('\40')))||(((C)->_cc)==('\11')))||(((C)->_cc)==('\42')))) { rT73extend((T73*)rT54tmp_operator(),(C)->_cc); rT54next_char(C); } rT54skip_comments(C); } /*FI*/return R; } /*EIFFEL_PARSER*/void rT54a_local_var_list(T54 *C,T0* a1){ int _state=0; int _rank=0; T0* _list=NULL; T0* _declaration=NULL; T0* _name_list=NULL; T0* _name=NULL; while (!((_state)>(4))) { {int iv1=_state; if (0 == iv1) goto l448; goto l449; l448: ; /*IF*/if (rT54a_identifier(C)) { _name=rT73to_local_name_declaration((T73*)rT54tmp_name()); _state=1; /*IF*/if (((int)(C)->_arguments)) { _rank=rT97rank_of((T97*)(C)->_arguments,((T186*)_name)->_to_string); /*IF*/if ((_rank)>(0)) { rT48add_position(((T186*)_name)->_start_position); rT48add_position(((T92*)rT97name((T97*)(C)->_arguments,_rank))->_start_position); rT48error((T48*)oRBC27eh,(T0 *)ms16_54); } /*FI*/} /*FI*/} else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) { rT54wcp(C,(T0 *)ms210_54); C->_ok=(rT54skip1(C,'\54'))||(rT54skip1(C,'\73')); } else { _state=5; } /*FI*/goto l447; l449: ; if (1 == iv1) goto l450; goto l451; l450: ; /*IF*/if (rT54skip1(C,'\72')) { /*IF*/if (((int)_name_list)) { rT187add_last((T187*)_name_list,_name); _name=NULL; } /*FI*/_state=3; } else { /*IF*/if (((C)->_cc)==('\73')) { rT54wcp(C,(T0 *)ms17_54); C->_ok=rT54skip1(C,'\73'); } else { C->_ok=rT54skip1(C,'\54'); } /*FI*//*IF*/if (!(_name_list)) { _name_list=ma(187,0,1,_name); } else { rT187add_last((T187*)_name_list,_name); } /*FI*/_name=NULL; _state=2; } /*FI*/goto l447; l451: ; if (2 == iv1) goto l452; goto l453; l452: ; /*IF*/if (rT54a_identifier(C)) { _name=rT73to_local_name_declaration((T73*)rT54tmp_name()); _state=1; /*IF*/if (((int)(C)->_arguments)) { _rank=rT97rank_of((T97*)(C)->_arguments,((T186*)_name)->_to_string); /*IF*/if ((_rank)>(0)) { rT48add_position(((T186*)_name)->_start_position); rT48add_position(((T92*)rT97name((T97*)(C)->_arguments,_rank))->_start_position); rT48error((T48*)oRBC27eh,(T0 *)ms18_54); } /*FI*/} /*FI*/} else if (((((C)->_cc)==('\54'))||(((C)->_cc)==('\73')))) { rT54wcp(C,(T0 *)ms210_54); C->_ok=(rT54skip1(C,'\54'))||(rT54skip1(C,'\73')); } else { _state=6; } /*FI*/goto l447; l453: ; if (3 == iv1) goto l454; goto l455; l454: ; /*IF*/if (rT54a_type(C)) { /*IF*/if (((int)_name_list)) { {T144 *n=((T144*)se_new(144)); rT144make(n,_name_list,(C)->_last_type); _declaration=(T0 *)n;}_name_list=NULL; } else { {T146 *n=((T146*)se_new(146)); rT146make(n,_name,(C)->_last_type); _declaration=(T0 *)n;}_name=NULL; } /*FI*//*IF*/if (!(_list)) { _list=ma(147,0,1,_declaration); } else { rT147add_last((T147*)_list,_declaration); } /*FI*/_state=4; } else { _state=6; } /*FI*/goto l447; l455: ; /*IF*/if (((C)->_cc)==('\54')) { rT54wcp(C,(T0 *)ms19_54); C->_ok=rT54skip1(C,'\54'); _state=0; } else { C->_ok=rT54skip1(C,'\73'); _state=0; } /*FI*/ l447: ; } } /*IF*/if ((_state)==(6)) { rT54fcp(C,(T0 *)ms20_54); } else if (((int)_list)) { {T141 *n=((T141*)se_new(141)); rT141make(n,a1,_list); C->_local_vars=(T0 *)n;} /*[IRF3:set_local_vars*//*AW*/((T138*)oRBC54tmp_feature)->_local_vars=((C)->_local_vars);/*]*/ } /*FI*/}/*EIFFEL_PARSER*/int rT54a_local_variable(T54 *C){ int R=0; int _rank=0; /*IF*/if (((int)(C)->_local_vars)) { _rank=rT141rank_of((T141*)(C)->_local_vars,((T73*)rT54tmp_name())->_to_string); /*IF*/if ((_rank)>(0)) { C->_last_expression=rT73to_local_name((T73*)rT54tmp_name(),(C)->_local_vars,_rank); R=1; } /*FI*/} /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_compound2(T54 *C,T0* a1,T0* a2){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=rT54get_comments(C); while (!(((C)->_cc)!=('\73'))) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } while (!(((!(rT54a_instruction(C)))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(10))))) { _instruction=(C)->_last_instruction; /*IF*/if (((C)->_cc)==('\50')) { rT54wcp(C,(T0 *)ms203_54); } /*FI*/C->_ok=rT54skip1(C,'\73'); while (!(((C)->_cc)!=('\73'))) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } /*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!(_list)) { _list=ma(225,0,1,XrT181add_comment(_instruction,rT54get_comments(C))); } else { rT225add_last((T225*)_list,XrT181add_comment(_instruction,rT54get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (!(rT54a_keyword(C,a2))) { rT48append((T0 *)ms70_54); rT48append(a1); rT48append((T0 *)ms71_54); rT48append(a2); rT54fcp(C,(T0 *)ms72_54); } /*FI*//*IF*/if ((((int)_hc))||(((int)_list))) { {T142 *n=((T142*)se_new(142)); rT142make(n,_hc,_list); R=(T0 *)n;} } /*FI*/return R; } /*EIFFEL_PARSER*/T0* rT54a_compound1(T54 *C,T0* a1){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=rT54get_comments(C); while (!(((C)->_cc)!=('\73'))) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } while (!(((!(rT54a_instruction(C)))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(10))))) { _instruction=(C)->_last_instruction; /*IF*/if (((C)->_cc)==('\50')) { rT54wcp(C,(T0 *)ms203_54); } /*FI*/C->_ok=rT54skip1(C,'\73'); while (!(((C)->_cc)!=('\73'))) { rT54wcp(C,(T0 *)ms103_27); C->_ok=rT54skip1(C,'\73'); } /*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) { /*IF*/if (!(_list)) { _list=ma(225,0,1,XrT181add_comment(_instruction,rT54get_comments(C))); } else { rT225add_last((T225*)_list,XrT181add_comment(_instruction,rT54get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if ((((int)_hc))||(((int)_list))) { {T142 *n=((T142*)se_new(142)); rT142make(n,_hc,_list); R=(T0 *)n;} } /*FI*/return R; } /*EIFFEL_PARSER*/int rT54a_bit_constant(T54 *C){ int R=0; T0* _sequence=NULL; int _state=0; /*IF*/if ((((C)->_cc)==('0'))||(((C)->_cc)==('1'))) { {T7 *n=((T7*)se_new(7)); rT7make(n,16); _sequence=(T0 *)n;} rT7extend((T7*)_sequence,(C)->_cc); while (!((_state)>(0))) { rT54next_char(C); {int iv1=(C)->_cc; if ((48<=iv1)&&(iv1<=49)) goto l457; goto l458; l457: ; rT7extend((T7*)_sequence,(C)->_cc); goto l456; l458: ; if (66 == iv1) goto l459; if (98 == iv1) goto l459; goto l460; l459: ; {T81 *n=((T81*)se_new(81)); /*[IRF3:from_string*//*AW*/(n)->_value=(_sequence);/*]*/ C->_last_bit_constant=(T0 *)n;} rT54next_char(C); rT54skip_comments(C); _state=1; R=1; goto l456; l460: ; _state=((T7*)_sequence)->_count; while (!((_state)==(0))) { _state=(_state)-(1); rT54prev_char(C); } _state=2; l456: ; } } } /*FI*/return R; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.