home *** CD-ROM | disk | FTP | other *** search
Wrap
/* -- ANSI C code generated by : -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82) -- -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE -- -- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr -- -- http://www.loria.fr/SmallEiffel -- */ #include "short.h" void r818warning(T0* a1,T0* a2){ r683add_position(a1); r683warning(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.fz_retry*/ /*No:EIFFEL_PARSER.fz_inherit*/ /*No:EIFFEL_PARSER.fz_select*/ int r818a_creation(T818* 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 z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\41')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=7; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_type(C)) { _type=(((T818*)C))->_last_type/*157*/; /*IF*/if (X291is_anchored(_type)) { r818warning(X291start_position(_type),((T0*)ms62_818)); } /*FI*/_state=2; } else if (r818skip1(C,'\41')) { _state=3; } else { r818fcp(C,((T0*)ms63_818)); _state=8; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\41')) { _state=3; } else { _state=8; r818fcp(C,((T0*)ms64_818)); } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { /*IF*/if (r818a_current(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms65_818)); } else if (r818a_argument(C)) { _state=8; r818error(X662start_position((((T818*)C))->_last_expression/*97*/),((T0*)ms66_818)); } else if ((r818a_result(C))||(r818a_local_variable(C))) { _writable=(((T818*)C))->_last_expression/*97*/; _state=4; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=4; } /*FI*/} else { _state=8; r818fcp(C,((T0*)ms67_818)); } /*FI*/} else if((4==z1)){ /*IF*/if (r818skip1unless2(C,'\56','\56')) { _state=5; } else { _state=7; } /*FI*/} else if((5==z1)){ /*IF*/if (r818a_identifier(C)) { _proc_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); _state=6; } else { _state=8; r818fcp(C,((T0*)ms68_818)); } /*FI*/} else{/*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { _call=r818to_proc_call(C,_writable,_proc_name,r818a_actuals(C)); } else { {T268*n=malloc(sizeof(*n)); *n=M268; r268make(n,_writable,_proc_name); _call=(T0*)n; } } /*FI*/_state=7; }} } /*IF*/if (((_state)==(7))&&((_sp)!=((void*)(NULL)))) { R=1; /*IF*/if (((_type)==((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T362*n=malloc(sizeof(*n)); *n=M362; r362make(n,_sp,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)!=((void*)(NULL)))&&((_call)==((void*)(NULL)))) { {T376*n=malloc(sizeof(*n)); *n=M376; r376make(n,_sp,_type,_writable); C->_last_instruction=(T0*)n; } } else if (((_type)==((void*)(NULL)))&&((_call)!=((void*)(NULL)))) { {T390*n=malloc(sizeof(*n)); *n=M390; r390make(n,_sp,_writable,_call); C->_last_instruction=(T0*)n; } } else { {T404*n=malloc(sizeof(*n)); *n=M404; r404make(n,_sp,_type,_writable,_call); C->_last_instruction=(T0*)n; } } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_old*/ T0* r818a_routine(T818* C){ T0* R=NULL; T0* _ea=NULL; T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_mark*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_obsolete_mark)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms114_818)); } /*FI*/} /*FI*//*[IRF3.3set_header_comment*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_header_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms40_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { _hc=r818get_comments(C); r505set_require_else(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } else { _hc=r818get_comments(C); r505set_require(((T505*)(oBC818tmp_feature)),_sp,_hc,r818a_assertion(C)); } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms31_470))) { r818a_local_var_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } /*FI*/R=r818a_routine_body(C); /*IF*/if (r818a_keyword(C,((T0*)ms13_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } C->_in_ensure=1; /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } /*[IRF3.3set_ensure_then*/((((T633*)(((T633*)_ea))))->_is_ensure_then)=(1); /*]*/ } /*FI*/X355set_ensure_assertion(R,_ea); } else { _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T633*n=malloc(sizeof(*n)); *n=M633; r633make(n,_sp,_hc,_al); _ea=(T0*)n; } } /*FI*/X355set_ensure_assertion(R,_ea); } /*FI*/C->_in_ensure=0; } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms41_470))) { C->_in_rescue=1; X355set_rescue_compound(R,r818a_compound2(C,((T0*)ms41_470),((T0*)ms12_470))); C->_in_rescue=0; } else { /*IF*/if (!(r818a_keyword(C,((T0*)ms12_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms115_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/C->_local_vars=NULL; return R; } T0*oBC818tmp_name=NULL; void r818a_then_part_list(T818* C,T0* a1){ /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms125_818)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms11_470))))) { /*IF*/if (!(r818a_then_part(C,a1))) { r818fcp(C,((T0*)ms126_818)); } /*FI*/} } /*No:EIFFEL_PARSER.us_none*/ void r818a_assignment_aux(T818* C,int a1){ T0* _rhs=NULL; T0* _writable=NULL; /*IF*/if (r818a_current(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms36_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_void(C)) { r683add_position(r511start_position(((T511*)(oBC818tmp_name)))); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms37_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else if (r818a_argument(C)) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms38_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { /*IF*/if (r511is_result()) { /*IF*/if (((((T818*)C))->_function_type/*29*/)==((void*)(NULL))) { r818error(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms152_818)); } /*FI*/_writable=r511to_e_result(((T511*)(oBC818tmp_name))); } else if (r818a_local_variable(C)) { _writable=(((T818*)C))->_last_expression/*97*/; } else { _writable=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); } /*FI*//*IF*/if (r818a_expression(C)) { _rhs=(((T818*)C))->_last_expression/*97*/; /*IF*/if (a1) { {T629*n=malloc(sizeof(*n)); *n=M629; r629make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } else { {T126*n=malloc(sizeof(*n)); *n=M126; r126make(n,_writable,_rhs); C->_last_instruction=(T0*)n; } } /*FI*/} else { r818fcp(C,((T0*)ms39_818)); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.case_insensitive*/ /*No:EIFFEL_PARSER.fz_deferred*/ int r818a_identifier(T818* C){ int R=0; /*IF*/if ((((T818*)C))->_case_insensitive/*0*/) { R=r818a_identifier1(C); } else { R=r818a_identifier2(C); } /*FI*/return R; } int r818a_expression(T818* C){ int R=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip2(C,'\74','\74')) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!(!(r818a_expression(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_list,(((T818*)C))->_last_expression/*97*/); } /*FI*/C->_ok=r818skip1(C,'\54'); } /*IF*/if (!(r818skip2(C,'\76','\76'))) { r818fcp(C,((T0*)ms72_818)); } /*FI*/{T436*n=malloc(sizeof(*n)); *n=M436; r436make(n,_sp,_list); C->_last_expression=(T0*)n; } } else { R=r818a_e0(C); } /*FI*/return R; } void r818a_formal_arg_list(T818* 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 z1=_state; if((0==z1)){ /*IF*/if (r818skip1(C,'\50')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _state=1; } else { _state=6; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if (r818skip1(C,'\51')) { _state=6; } else { _state=7; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\72')) { /*IF*/if ((_name_list)!=((void*)(NULL))) { r65add_last(((T65*)_name_list),_name); _name=NULL; } /*FI*/_state=4; } else { C->_ok=r818skip1(C,'\54'); /*IF*/if ((_name_list)==((void*)(NULL))) { _name_list=se_ma65(1,_name); } else { r65add_last(((T65*)_name_list),_name); } /*FI*/_name=NULL; _state=3; } /*FI*/} else if((3==z1)){ /*IF*/if (r818a_identifier(C)) { _name=r511to_argument_name1(((T511*)(oBC818tmp_name))); _state=2; } else if ((((((T818*)C))->_cc/*24*/)==('\54'))||(((((T818*)C))->_cc/*24*/)==('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms151_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=(r818skip1(C,'\54'))||(r818skip1(C,'\73')); } else { _state=7; } /*FI*/} else if((4==z1)){ /*IF*/if (r818a_type(C)) { /*IF*/if ((_name_list)!=((void*)(NULL))) { {T64*n=malloc(sizeof(*n)); *n=M64; r64make(n,_name_list,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name_list=NULL; } else { {T723*n=malloc(sizeof(*n)); *n=M723; r723make(n,_name,(((T818*)C))->_last_type/*157*/); _declaration=(T0*)n; } _name=NULL; } /*FI*//*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma382(1,_declaration); } else { r382add_last(((T382*)_list),_declaration); } /*FI*/_declaration=NULL; _state=5; } else { _state=7; } /*FI*/} else{/*IF*/if (r818skip1(C,'\51')) { _state=6; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms13_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); _state=1; } else { C->_ok=r818skip1(C,'\73'); _state=1; } /*FI*/}} } /*IF*/if ((_state)==(7)) { r818fcp(C,((T0*)ms14_818)); } else if (((_sp)!=((void*)(NULL)))&&((_list)==((void*)(NULL)))) { r818warning(_sp,((T0*)ms15_818)); } else if ((_sp)!=((void*)(NULL))) { {T31*n=malloc(sizeof(*n)); *n=M31; r31make(n,_sp,_list); C->_arguments=(T0*)n; } /*[IRF3.3set_arguments*/((((T505*)(((T505*)(oBC818tmp_feature)))))->_arguments)=((((T818*)C))->_arguments/*45*/); /*]*/ } /*FI*/} /*No:EIFFEL_PARSER.fz_end*/ /*No:EIFFEL_PARSER.fz_else*/ /*No:EIFFEL_PARSER.last_class_name*/ int r818a_type_formal_generic(T818* C){ int R=0; int _rank=0; T0* _cn=NULL; T0* _fga=NULL; /*IF*/if (((((T818*)C))->_formal_generic_list/*33*/)!=((void*)(NULL))) { _rank=1; while (!((R)||((_rank)>(/*(IRF4.6count*/(((T681*)((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/))))->_upper/*8*//*)*/)))) { _fga=/*(IRF4.6item*/r681item(((T681*)((((T881*)((T881*)((((T818*)C))->_formal_generic_list/*33*/))))->_list/*4*/)),_rank)/*)*/; /*IF*/if (r818a_keyword(C,(((T451*)((T451*)((((T33*)((T33*)_fga)))->_name/*0*/))))->_to_string/*0*/)) { {T451*n=malloc(sizeof(*n)); *n=M451; r451make(n,(((T451*)((T451*)((((T33*)((T33*)_fga)))->_name/*0*/))))->_to_string/*0*/,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); _cn=(T0*)n; } {T283*n=malloc(sizeof(*n)); *n=M283; r283make(n,_cn,_rank); C->_last_type_formal_generic=(T0*)n; } R=1; } /*FI*/_rank=(_rank)+(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.last_infix*/ int r818a_feature_name(T818* C){ int R=0; /*IF*/if (r818a_prefix(C)) { C->_last_feature_name=(((T818*)C))->_last_prefix/*125*/; R=1; } else if (r818a_infix(C)) { C->_last_feature_name=(((T818*)C))->_last_infix/*121*/; R=1; } else if (r818a_identifier(C)) { C->_last_feature_name=r511to_simple_feature_name(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_and*/ void r818a_feature_clause(T818* C){ T0* _comment=NULL; T0* _clients=NULL; T0* _feature_clause=NULL; _clients=r818a_clients(C); _comment=r818get_comments(C); /*[IRF3.3clear*/((((T352*)(((T352*)(oBC818faof)))))->_upper)=(-(1)); /*]*/ while (!(!(r818a_feature_declaration(C)))) { C->_ok=r818skip1(C,'\73'); /*IF*/if (((((T818*)C))->_last_feature_declaration/*101*/)!=((void*)(NULL))) { r352add_last(((T352*)(oBC818faof)),(((T818*)C))->_last_feature_declaration/*101*/); X359set_header_comment((((T818*)C))->_last_feature_declaration/*101*/,r818get_comments(C)); } /*FI*/} /*IF*/if (((((T352*)((T352*)(oBC818faof))))->_upper/*8*/)>=(0)) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,r352twin(((T352*)(oBC818faof)))); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } else if ((_comment)!=((void*)(NULL))) { {T153*n=malloc(sizeof(*n)); *n=M153; r153make(n,_clients,_comment,NULL); _feature_clause=(T0*)n; } r605add_feature_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_feature_clause); } /*FI*/C->_last_keyword=NULL; } /*No:EIFFEL_PARSER.in_rescue*/ /*No:EIFFEL_PARSER.us_and_then*/ int r818a_manifest_constant(T818* C){ int R=0; /*IF*/if (r818a_boolean_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_boolean_constant/*81*/; R=1; } else if (r818a_character_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_character_constant/*85*/; R=1; } else if (r818a_manifest_string(C)) { C->_last_manifest_constant=(((T818*)C))->_last_manifest_string/*145*/; R=1; } else if (r818a_bit_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_bit_constant/*77*/; R=1; } else if (r818a_real_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_real_constant/*153*/; R=1; } else if (r818a_integer_constant(C)) { C->_last_manifest_constant=(((T818*)C))->_last_integer_constant/*129*/; R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.last_instruction*/ int r818a_bit_constant(T818* C){ int R=0; int _state=0; int _c=0; int _l=0; /*IF*/if ((((((T818*)C))->_cc/*24*/)==('0'))||(((((T818*)C))->_cc/*24*/)==('1'))) { _l=(((T818*)C))->_line/*16*/; _c=(((T818*)C))->_column/*12*/; /*[IRF3.3clear*/((((T7*)(((T7*)(oBC818tmp_string)))))->_count)=(0); /*]*/ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=49))){ r7extend(((T7*)(oBC818tmp_string)),(((T818*)C))->_cc/*24*/); } else if((66==z1)||(98==z1)){ {T940*n=malloc(sizeof(*n)); *n=M940; r940make(n,r818pos(_l,_c),r7twin(((T7*)(oBC818tmp_string)))); C->_last_bit_constant=(T0*)n; } r818next_char(C); r818skip_comments(C); _state=1; R=1; } else{r818go_back_at(C,_l,_c); _state=2; }} } } /*FI*/return R; } T0*oBC818faof=NULL; /*No:EIFFEL_PARSER.fz_jvm_invokestatic*/ int r818a_index_clause(T818* C){ int R=0; T0* _index_clause=NULL; /*IF*/if (r818a_identifier(C)) { R=1; /*IF*/if (r818skip1(C,'\72')) { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(r511to_string(((T511*)(oBC818tmp_name)))); /*]*/ _index_clause=(T0*)n; } /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} else { {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); } /*FI*/} else if (r818a_manifest_constant(C)) { R=1; {T782*n=malloc(sizeof(*n)); *n=M782; /*[IRF3.3make*/((((T782*)(n)))->_index)=(NULL); /*]*/ _index_clause=(T0*)n; } r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_manifest_constant/*141*/); } /*FI*//*IF*/if (R) { while (!(!(r818skip1(C,'\54')))) { /*IF*/if (r818a_index_value(C)) { r782add_index_value(((T782*)_index_clause),(((T818*)C))->_last_index_value/*137*/); } else { r818fcp(C,((T0*)ms141_818)); } /*FI*/} r605add_index_clause(((T605*)((((T818*)C))->_last_base_class/*65*/)),_index_clause); } /*FI*/return R; } /*No:EIFFEL_PARSER.line*/ /*No:EIFFEL_PARSER.make*/ /*No:EIFFEL_PARSER.last_index_value*/ /*No:EIFFEL_PARSER.show_nb_warnings*/ /*No:EIFFEL_PARSER.fz_rescue*/ int r818a_infix(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms23_470))) { R=1; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms96_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_binary(C,_sp)) { C->_last_infix=(((T818*)C))->_last_binary/*73*/; } else if (r818a_free_operator(C)) { C->_last_infix=r511to_infix_name(_sp); } else { r818fcp(C,((T0*)ms97_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms98_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } T0* r818a_actuals(T818* C){ T0* R=NULL; T0* _args=NULL; /*IF*/if (r818skip1(C,'\50')) { while (!(!(r818a_actual(C)))) { /*IF*/if ((_args)==((void*)(NULL))) { _args=se_ma96(1,(((T818*)C))->_last_expression/*97*/); } else { X96add_last(_args,(((T818*)C))->_last_expression/*97*/); } /*FI*//*IF*/if ((!(r818skip1(C,'\54')))&&(((((T818*)C))->_cc/*24*/)!=('\51'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms143_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*IF*/if ((_args)==((void*)(NULL))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms31_818); r818warning(r818current_position(C1),b1); }/*]*/ } else { {T431*n=malloc(sizeof(*n)); *n=M431; /*[IRF3.3make*/((((T431*)(n)))->_list)=(_args); /*]*/ R=(T0*)n; } } /*FI*//*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms32_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_pointer*/ /*No:EIFFEL_PARSER.fz_iinaiv*/ int r818a_actual(T818* C){ int R=0; /*IF*/if (r818skip1(C,'\44')) { /*IF*/if (r818a_identifier(C)) { /*IF*/if (((r818a_result(C))||(r818a_void(C)))||(r818a_current(C))) { r683add_position(X662start_position((((T818*)C))->_last_expression/*97*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms155_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } else { {T708*n=malloc(sizeof(*n)); *n=M708; /*[IRF3.3make*/((((T708*)(n)))->_feature_name)=(r511to_simple_feature_name(((T511*)(oBC818tmp_name)))); /*]*/ C->_last_expression=(T0*)n; } R=1; } /*FI*/} else { r818fcp(C,((T0*)ms155_818)); } /*FI*/} else if (r818a_expression(C)) { R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.us_string*/ /*No:EIFFEL_PARSER.local_vars*/ void r818a_base_class_name1(T818* C){ T0* _ccn=NULL; int _do_warning=0; int _state=0; _ccn=(((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_base_class_name/*24*/; /*IF*/if (r3is_letter((((T818*)C))->_cc/*24*/)) { r627set_line_column(((T627*)((((T451*)((T451*)_ccn)))->_start_position/*4*/)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*IF*/if ((((unsigned)((((T818*)C))->_cc/*24*/))>=((unsigned)('a')))) { _do_warning=1; C->_cc=r3to_upper((((T818*)C))->_cc/*24*/); } /*FI*//*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ while (!((_state)>(0))) { r818next_char(C); {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)){ /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else if(((97<=z1)&&(z1<=122))){ _do_warning=1; /*[IRF3.6extend*/{char b1=r3to_upper((((T818*)C))->_cc/*24*/); r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ } else{_state=1; }} } r818skip_comments(C); /*IF*/if (r511isa_keyword()) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms154_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*//*IF*/if (_do_warning) { r818warning((((T451*)((T451*)_ccn)))->_start_position/*4*/,((T0*)ms153_818)); } /*FI*/r451identify(((T451*)_ccn),r511to_string(((T511*)(oBC818tmp_name)))); } else { r818fcp(C,((T0*)ms154_818)); } /*FI*//*IF*/if (r52fast_has(((T52*)(oBC818forbidden_class)),(((T451*)((T451*)_ccn)))->_to_string/*0*/)) { r683add_position((((T451*)((T451*)_ccn)))->_start_position/*4*/); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms25_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/} int r818a_strip(T818* C){ int R=0; T0* _sp=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms45_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818skip1(C,'\50')) { C->_ok=r818a_feature_list(C); {T420*n=malloc(sizeof(*n)); *n=M420; r420make(n,_sp,(((T818*)C))->_last_feature_list/*105*/); C->_last_expression=(T0*)n; } /*IF*/if (!(r818skip1(C,'\51'))) { r818fcp(C,((T0*)ms123_818)); } /*FI*/R=1; } else { r818fcp(C,((T0*)ms124_818)); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_external*/ T0* r818a_compound1(T818* C,T0* a1){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_prefix*/ /*No:EIFFEL_PARSER.fz_all*/ /*No:EIFFEL_PARSER.column*/ int r818a_loop(T818* 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; int _c2=0; int _l2=0; int _c1=0; int _l1=0; /*IF*/if (r818a_keyword(C,((T0*)ms19_470))) { R=1; _l1=(((T818*)C))->_start_line/*169*/; _c1=(((T818*)C))->_start_column/*165*/; _i=r818a_compound1(C,((T0*)ms102_818)); /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { _l2=(((T818*)C))->_start_line/*169*/; _c2=(((T818*)C))->_start_column/*165*/; _hc=r818get_comments(C); _al=r818a_assertion(C); /*IF*/if (((_hc)!=((void*)(NULL)))||((_al)!=((void*)(NULL)))) { {T213*n=malloc(sizeof(*n)); *n=M213; r213make(n,r818pos(_l2,_c2),_hc,_al); _ic=(T0*)n; } } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms51_470))) { /*IF*/if ((r818a_tag_mark(C))&&(r818a_expression(C))) { {T158*n=malloc(sizeof(*n)); *n=M158; r158make(n,(((T818*)C))->_last_tag_mark/*161*/,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else if (r818a_expression(C)) { {T145*n=malloc(sizeof(*n)); *n=M145; r145make(n,(((T818*)C))->_last_expression/*97*/,r818get_comments(C)); _vc=(T0*)n; } } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms103_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms50_470))) { /*IF*/if (r818a_expression(C)) { _ue=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); } else { r818fcp(C,((T0*)ms104_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*/} else { r818fcp(C,((T0*)ms105_818)); _ue=(((T818*)C))->_last_expression/*97*/; } /*FI*//*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*IF*/if (!(r818a_keyword(C,((T0*)ms32_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms106_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/_lb=r818a_compound2(C,((T0*)ms107_818),((T0*)ms12_470)); {T880*n=malloc(sizeof(*n)); *n=M880; r880make(n,r818pos(_l1,_c1),_i,_ic,_vc,_ue,_lb); _e_loop=(T0*)n; } C->_last_instruction=_e_loop; } /*FI*/return R; } /*No:EIFFEL_PARSER.fz_feature*/ /*No:EIFFEL_PARSER.fz_true*/ int r818a_local_variable(T818* C){ int R=0; int _rank=0; /*IF*/if (((((T818*)C))->_local_vars/*49*/)!=((void*)(NULL))) { _rank=r620rank_of(((T620*)((((T818*)C))->_local_vars/*49*/)),r511to_string(((T511*)(oBC818tmp_name)))); /*IF*/if ((_rank)>(0)) { C->_last_expression=r511to_local_name2(((T511*)(oBC818tmp_name)),(((T818*)C))->_local_vars/*49*/,_rank); R=1; } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.start_column*/ /*No:EIFFEL_PARSER.us_ge*/ /*No:EIFFEL_PARSER.us_neq*/ T0*oBC364echo=NULL; int r818skip1unless2(T818* C,char a1,char a2){ int R=0; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==(a1)) { r818next_char(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==(a2)) { r818prev_char(C); } else { R=1; r818skip_comments(C); } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.fz_if*/ T0* r818a_compound2(T818* C,T0* a1,T0* a2){ T0* R=NULL; T0* _instruction=NULL; T0* _list=NULL; T0* _hc=NULL; _hc=r818get_comments(C); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } while (!((!(r818a_instruction(C)))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) { _instruction=(((T818*)C))->_last_instruction/*133*/; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\50')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms144_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/C->_ok=r818skip1(C,'\73'); while (!(((((T818*)C))->_cc/*24*/)!=('\73'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma419(1,X465add_comment(_instruction,r818get_comments(C))); } else { r419add_last(((T419*)_list),X465add_comment(_instruction,r818get_comments(C))); } /*FI*/} /*FI*/} /*IF*/if (!(r818a_keyword(C,a2))) { /*[IRF3.6append*/{T0* b1=((T0*)ms57_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a1; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=((T0*)ms58_818); r7append(((T7*)(oBC683explanation)),b1); }/*]*/ /*[IRF3.6append*/{T0* b1=a2; r7append(((T7*)(oBC683explanation)),b1); }/*]*/ r818fcp(C,((T0*)ms59_818)); } /*FI*//*IF*/if (((_hc)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { {T592*n=malloc(sizeof(*n)); *n=M592; r592make(n,_hc,_list); R=(T0*)n; } } /*FI*/return R; } int r818a_rename_pair(T818* C){ int R=0; T0* _rename_pair=NULL; T0* _name1=NULL; /*IF*/if (r818a_feature_name(C)) { _name1=(((T818*)C))->_last_feature_name/*109*/; /*IF*/if (r818a_keyword(C,((T0*)ms3_470))) { /*IF*/if (r818a_feature_name(C)) { R=1; {T498*n=malloc(sizeof(*n)); *n=M498; r498make(n,_name1,(((T818*)C))->_last_feature_name/*109*/); _rename_pair=(T0*)n; } r877add_rename(((T877*)((((T818*)C))->_last_parent/*149*/)),_rename_pair); } else { r818fcp(C,((T0*)ms113_818)); } /*FI*/} else { /*[IRF3.6go_back*/{T818* C1=C; T0* b1=X776start_position(_name1); r818go_back_at(C1,/*(IRF4.6line*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)/(1000)/*)*/,/*(IRF4.6column*/((((T627*)((T627*)b1)))->_mem_line_column/*4*/)%(1000)/*)*/); }/*]*/ } /*FI*/} /*FI*/return R; } /*No:EIFFEL_PARSER.us_slash*/ /*No:EIFFEL_PARSER.fz_alias*/ /*No:EIFFEL_PARSER.fz_debug*/ int r818a_keyword(T818* C,T0* a1){ int R=0; int _keyword_count=0; int _i=0; _keyword_count=(((T7*)((T7*)a1)))->_count/*4*/; C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; while (!(((_i)==(_keyword_count))||(!(r3same_as((((T818*)C))->_cc/*24*/,/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[((_i)+(1))-(1)]/*)*/))))) { _i=(_i)+(1); r818next_char(C); } /*IF*/if ((_i)==(_keyword_count)) { {int z1=(((T818*)C))->_cc/*24*/; if(((9<=z1)&&(z1<=10))||(32==z1)||(45==z1)){ R=1; C->_last_keyword=a1; r818skip_comments(C); } else if(((48<=z1)&&(z1<=57))||((65<=z1)&&(z1<=90))||(95==z1)||((97<=z1)&&(z1<=122))){ while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } else{R=1; C->_last_keyword=a1; }} } else { while (!((_i)==(0))) { r818prev_char(C); _i=(_i)-(1); } } /*FI*/return R; } /*No:EIFFEL_PARSER.us_character*/ /*No:EIFFEL_PARSER.us_le*/ /*No:EIFFEL_PARSER.fz_from*/ /*No:EIFFEL_PARSER.last_keyword*/ /*No:EIFFEL_PARSER.fz_unique*/ /*No:EIFFEL_PARSER.fz_loop*/ /*No:EIFFEL_PARSER.em1*/ /*No:EIFFEL_PARSER.fz_do*/ int r818a_unary(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms40_473))) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms40_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\53')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms43_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } else if (r818skip1(C,'\55')) { {T406*n=malloc(sizeof(*n)); *n=M406; r406make(n,((T0*)ms37_473),r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); C->_last_prefix=(T0*)n; } R=1; } /*FI*/return R; } /*No:EIFFEL_PARSER.em2*/ /*No:EIFFEL_PARSER.last_feature_declaration*/ /*No:EIFFEL_PARSER.em3*/ /*No:EIFFEL_PARSER.fz_c_inlinewithoutcurrent*/ /*No:EIFFEL_PARSER.fz_obsolete*/ /*No:EIFFEL_PARSER.em4*/ /*No:EIFFEL_PARSER.fz_se*/ void r818go_back_at(T818* C,int a1,int a2){ C->_line=a1; C->_column=a2; C->_current_line=r676item((((T818*)C))->_line/*16*/); /*IF*/if (((((T818*)C))->_column/*12*/)==(((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_count/*4*/)+(1))) { C->_cc='\n'; } else if (((((T818*)C))->_column/*12*/)==(0)) { C->_cc='\0'; } else { C->_cc=/*(IRF4.6item*/((((T7*)((T7*)((((T818*)C))->_current_line/*20*/))))->_storage/*0*/)[((((T818*)C))->_column/*12*/)-(1)]/*)*/; } /*FI*/} void r818a_ascii_code(T818* C){ int _counter=0; r818next_char(C); _counter=0; C->_last_ascii_code=0; while (!(((_counter)>(3))||(((((T818*)C))->_cc/*24*/)==('\57')))) { {int z1=(((T818*)C))->_cc/*24*/; if(((48<=z1)&&(z1<=57))){ C->_last_ascii_code=(((((T818*)C))->_last_ascii_code/*61*/)*(10))+(r3value((((T818*)C))->_cc/*24*/)); } else{r818fcp(C,((T0*)ms21_818)); }} _counter=(_counter)+(1); r818next_char(C); } /*IF*/if ((_counter)==(0)) { r818fcp(C,((T0*)ms22_818)); } else if ((_counter)>(3)) { r818fcp(C,((T0*)ms23_818)); } else { } /*FI*/} /*No:EIFFEL_PARSER.fz_as*/ /*No:EIFFEL_PARSER.em5*/ /*No:EIFFEL_PARSER.fz_false*/ /*No:EIFFEL_PARSER.us_bit*/ /*No:EIFFEL_PARSER.em6*/ int r818a_current(T818* C){ int R=0; /*IF*/if (r511is_current()) { C->_last_expression=r511to_e_current(((T511*)(oBC818tmp_name))); R=1; } /*FI*/return R; } void r818a_parent_list(T818* C,T0* a1,T0* a2){ T0* _list=NULL; while (!(!(r818a_parent(C)))) { /*IF*/if ((_list)==((void*)(NULL))) { _list=se_ma26(1,(((T818*)C))->_last_parent/*149*/); } else { r26add_last(((T26*)_list),(((T818*)C))->_last_parent/*149*/); } /*FI*/C->_ok=r818skip1(C,'\73'); /*[IRF3.3set_comment*/((((T877*)(((T877*)((((T818*)C))->_last_parent/*149*/)))))->_comment)=(r818get_comments(C)); /*]*/ } /*IF*/if (((a2)!=((void*)(NULL)))||((_list)!=((void*)(NULL)))) { /*IF*/if ((_list)==((void*)(NULL))) { /*IF*/if (((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)==((void*)(NULL))) { /*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(a2); /*]*/ } else { r393append(((T393*)((((T605*)((T605*)((((T818*)C))->_last_base_class/*65*/))))->_heading_comment2/*32*/)),a2); } /*FI*/} else { r605set_parent_list(((T605*)((((T818*)C))->_last_base_class/*65*/)),a1,a2,_list); } /*FI*/} /*FI*/} /*No:EIFFEL_PARSER.em7*/ /*No:EIFFEL_PARSER.fz_jvm_invokevirtual*/ void r818a_select_list(T818* C){ /*IF*/if (r818a_feature_list(C)) { r877set_select(((T877*)((((T818*)C))->_last_parent/*149*/)),(((T818*)C))->_last_feature_list/*105*/); } /*FI*/} void r818err_exp(T0* a1,T0* a2){ T0* _msg=NULL; {T7*n=malloc(sizeof(*n)); *n=M7; r7make(n,0); _msg=(T0*)n; } r7append(((T7*)_msg),((T0*)ms11_818)); r7append(((T7*)_msg),a2); r7append(((T7*)_msg),((T0*)ms12_818)); r683add_position(a1); /*[IRF3.6fatal_error*/{T0* b1=_msg; r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*No:EIFFEL_PARSER.em8*/ /*No:EIFFEL_PARSER.last_boolean_constant*/ /*No:EIFFEL_PARSER.em9*/ T0* r818current_position(T818* C){ T0* R=NULL; {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); R=(T0*)n; } return R; } /*No:EIFFEL_PARSER.last_tag_mark*/ /*No:EIFFEL_PARSER.us_boolean*/ /*No:EIFFEL_PARSER.last_feature_name*/ /*No:EIFFEL_PARSER.us_eq*/ int r818a_free_operator(T818* C){ int R=0; /*IF*/if ((((((((T818*)C))->_cc/*24*/)==('\100'))||(((((T818*)C))->_cc/*24*/)==('\43')))||(((((T818*)C))->_cc/*24*/)==('\174')))||(((((T818*)C))->_cc/*24*/)==('\46'))) { R=1; r511initialize(((T511*)(oBC818tmp_name)),(((T818*)C))->_line/*16*/,(((T818*)C))->_column/*12*/); /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); while (!((((((((T818*)C))->_cc/*24*/)==('\n'))||(((((T818*)C))->_cc/*24*/)==('\40')))||(((((T818*)C))->_cc/*24*/)==('\11')))||(((((T818*)C))->_cc/*24*/)==('\42')))) { /*[IRF3.6extend*/{char b1=(((T818*)C))->_cc/*24*/; r7extend(((T7*)(oBC511tmp_string)),b1); }/*]*/ r818next_char(C); } r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.function_type*/ int r818a_then_part(T818* C,T0* a1){ int R=0; T0* _expression=NULL; /*IF*/if (r818a_expression(C)) { R=1; _expression=X662add_comment((((T818*)C))->_last_expression/*97*/,r818get_comments(C)); /*IF*/if (!(r818a_keyword(C,((T0*)ms46_470)))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms127_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/r530add_if_then(((T530*)a1),_expression,r818a_compound1(C,((T0*)ms128_818))); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_xor*/ /*No:EIFFEL_PARSER.last_integer_constant*/ /*No:EIFFEL_PARSER.in_ensure*/ /*No:EIFFEL_PARSER.fz_frozen*/ /*No:EIFFEL_PARSER.ms_numbering*/ T0* r818a_clients(T818* C){ T0* R=NULL; int _state=0; T0* _list=NULL; T0* _sp=NULL; /*IF*/if (r818skip1(C,'\173')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_base_class_name(C)) { _list=se_ma901(1,(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (r818skip1(C,'\175')) { _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_base_class_name(C)) { r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); _state=2; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else if (((((T818*)C))->_cc/*24*/)==('\175')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms56_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\175'); _state=4; } else { _state=3; } /*FI*/} else if((2==z1)){ /*IF*/if (r818skip1(C,'\54')) { _state=1; } else if (r818skip1(C,'\175')) { _state=4; } else if (r818a_base_class_name(C)) { r818warning((((T451*)((T451*)((((T818*)C))->_last_class_name/*89*/))))->_start_position/*4*/,((T0*)ms143_818)); r901add_last(((T901*)_list),(((T818*)C))->_last_class_name/*89*/); } else { _state=3; } /*FI*/} else{r818fcp(C,((T0*)ms149_818)); _state=4; }} } {T636*n=malloc(sizeof(*n)); *n=M636; r636make(n,_sp,_list); R=(T0*)n; } } else { {T636*n=malloc(sizeof(*n)); *n=M636; /*[IRF3.1omitted*//*]*/ R=(T0*)n; } } /*FI*/return R; } int r818a_when_part(T818* C,T0* a1){ int R=0; T0* _constant=NULL; T0* _e_when=NULL; int _state=0; /*IF*/if (r818a_keyword(C,((T0*)ms52_470))) { R=1; {T843*n=malloc(sizeof(*n)); *n=M843; r843make(n,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); _e_when=(T0*)n; } while (!((_state)>(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; _state=1; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms132_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((1==z1)){ /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if ((_constant)!=((void*)(NULL))) { r843add_value(((T843*)_e_when),_constant); } /*FI*//*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms133_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818skip2(C,'\56','\56')) { _state=2; } else if (r818skip1(C,'\54')) { r843add_value(((T843*)_e_when),_constant); _constant=NULL; _state=0; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else if((2==z1)){ /*IF*/if (r818a_constant(C)) { r843add_slice(((T843*)_e_when),_constant,(((T818*)C))->_last_expression/*97*/); _constant=NULL; _state=3; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/} else{/*IF*/if (r818skip1(C,'\54')) { _state=0; } else if (r818a_keyword(C,((T0*)ms46_470))) { /*[IRF3.3set_compound*/((((T843*)(((T843*)_e_when))))->_compound)=(r818a_compound1(C,((T0*)ms134_818))); /*]*/ r270add_when(((T270*)a1),_e_when); _state=4; } else if (r818a_constant(C)) { _constant=(((T818*)C))->_last_expression/*97*/; r818warning(r511start_position(((T511*)(oBC818tmp_name))),((T0*)ms143_818)); _state=1; } else { r818fcp(C,((T0*)ms142_818)); _state=4; } /*FI*/}} } } /*FI*/return R; } int r818a_feature_list(T818* C){ int R=0; int _state=0; C->_last_feature_list=NULL; while (!((_state)>=(3))) { {int z1=_state; if((0==z1)){ /*IF*/if (r818a_feature_name(C)) { C->_last_feature_list=se_ma855(1,(((T818*)C))->_last_feature_name/*109*/); R=1; _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms145_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { _state=3; } /*FI*/} else if((1==z1)){ /*IF*/if (((((T818*)C))->_cc/*24*/)==('\54')) { C->_ok=r818skip1(C,'\54'); _state=2; } else if (r818a_feature_name(C)) { r818warning(X776start_position((((T818*)C))->_last_feature_name/*109*/),((T0*)ms143_818)); r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); } else { _state=3; } /*FI*/} else {/*IF*/if (r818a_feature_name(C)) { r855add_last(((T855*)((((T818*)C))->_last_feature_list/*105*/)),(((T818*)C))->_last_feature_name/*109*/); _state=1; } else if (((((T818*)C))->_cc/*24*/)==('\54')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms150_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\54'); } else { /*[IRF3.6ecp*/{T818* C1=C; T0* b1=((T0*)ms140_818); r818error(r818current_position(C1),b1); }/*]*/ _state=3; } /*FI*/}} } return R; } /*No:EIFFEL_PARSER.set_case_insensitive*/ int r818a_instruction(T818* C){ int R=0; R=(((((((r818a_check(C))||(r818a_debug(C)))||(r818a_conditional(C)))||(r818a_retry(C)))||(r818a_inspect(C)))||(r818a_loop(C)))||(r818a_creation(C)))||(r818a_assignment_or_call(C)); return R; } /*No:EIFFEL_PARSER.fz_is*/ /*No:EIFFEL_PARSER.fz_ensure*/ /*No:EIFFEL_PARSER.fz_indexing*/ /*No:EIFFEL_PARSER.us_not*/ int r818a_parent(T818* C){ int R=0; /*IF*/if (r818a_class_type(C)) { R=1; {T877*n=malloc(sizeof(*n)); *n=M877; r877make(n,(((T818*)C))->_last_class_type/*93*/); C->_last_parent=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms39_470))) { r818a_rename_list(C); /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms108_818); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*/} /*FI*/r818a_new_export_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms48_470))) { r818a_undefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms38_470))) { r818a_redefine_list(C); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms43_470))) { r818a_select_list(C); } /*FI*//*IF*/if (((((r818a_keyword(C,((T0*)ms39_470)))||(r818a_keyword(C,((T0*)ms15_470))))||(r818a_keyword(C,((T0*)ms48_470))))||(r818a_keyword(C,((T0*)ms38_470))))||(r818a_keyword(C,((T0*)ms43_470)))) { r683add_position(r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms109_818); r683fatal_error(((T683*)(oBC364eh)),b1); }/*]*/ } /*FI*/C->_ok=r818a_keyword(C,((T0*)ms12_470)); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_muls*/ /*No:EIFFEL_PARSER.last_ascii_code*/ /*No:EIFFEL_PARSER.fz_c_inlinewithcurrent*/ int r818a_prefix(T818* C){ int R=0; /*IF*/if (r818a_keyword(C,((T0*)ms37_470))) { R=1; /*IF*/if (((((T818*)C))->_cc/*24*/)==('\42')) { r818next_char(C); } else { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms110_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*//*IF*/if (r818a_unary(C)) { } else if (r818a_free_operator(C)) { C->_last_prefix=r511to_prefix_name(((T511*)(oBC818tmp_name))); } else { r818fcp(C,((T0*)ms111_818)); } /*FI*//*IF*/if (!(r818skip1(C,'\42'))) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms112_818); r818warning(r818current_position(C1),b1); }/*]*/ } /*FI*/} /*FI*/return R; } void r818error(T0* a1,T0* a2){ r683add_position(a1); r683error(((T683*)(oBC364eh)),a2); } /*No:EIFFEL_PARSER.us_gt*/ /*No:EIFFEL_PARSER.fz_until*/ int r818a_e0(T818* C){ int R=0; R=r818a_e1(C); r818a_r1(C,(((T818*)C))->_last_expression/*97*/); return R; } void r818a_class_declaration(T818* C){ T0* _al=NULL; T0* _hc=NULL; T0* _sp=NULL; r818a_indexing(C); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*//*IF*/if (r818a_keyword(C,((T0*)ms14_470))) { r605set_is_expanded(((T605*)((((T818*)C))->_last_base_class/*65*/))); /*IF*/if (r818a_keyword(C,((T0*)ms8_470))) { r605set_is_deferred(((T605*)((((T818*)C))->_last_base_class/*65*/))); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment1*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment1)=(r818get_comments(C)); /*]*/ /*IF*/if (!(r818a_keyword(C,((T0*)ms5_470)))) { r818fcp(C,((T0*)ms50_818)); } /*FI*/r818a_base_class_name1(C); r818a_formal_generic_list(C); /*IF*/if (r818a_keyword(C,((T0*)ms33_470))) { /*IF*/if (r818a_manifest_string(C)) { /*[IRF3.3set_obsolete_type_string*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_obsolete_type_string)=((((T818*)C))->_last_manifest_string/*145*/); /*]*/ } else { r818fcp(C,((T0*)ms51_818)); } /*FI*/} /*FI*//*[IRF3.3set_heading_comment2*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_heading_comment2)=(r818get_comments(C)); /*]*/ /*IF*/if (r818a_keyword(C,((T0*)ms24_470))) { r818a_parent_list(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/),r818get_comments(C)); } /*FI*/while (!(!(r818a_keyword(C,((T0*)ms6_470))))) { r818a_creation_clause(C,r818pos((((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/)); } while (!(!(r818a_keyword(C,((T0*)ms18_470))))) { r818a_feature_clause(C); } /*IF*/if (r818a_keyword(C,((T0*)ms26_470))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } _hc=r818get_comments(C); _al=r818a_assertion(C); r605set_invariant(((T605*)((((T818*)C))->_last_base_class/*65*/)),_sp,_hc,_al); } /*FI*//*IF*/if ((r818a_keyword(C,((T0*)ms12_470)))||(((((T818*)C))->_last_keyword/*113*/)==((void*)(((T0*)ms12_470))))) { /*IF*/if (((((T818*)C))->_cc/*24*/)==('\73')) { /*[IRF3.6wcp*/{T818* C1=C; T0* b1=((T0*)ms68_470); r818warning(r818current_position(C1),b1); }/*]*/ C->_ok=r818skip1(C,'\73'); } /*FI*//*[IRF3.3set_end_comment*/((((T605*)(((T605*)((((T818*)C))->_last_base_class/*65*/)))))->_end_comment)=(r818get_comments(C)); /*]*/ /*IF*/if (((((T818*)C))->_cc/*24*/)!=('\0')) { r818fcp(C,((T0*)ms52_818)); } /*FI*/} else { r818fcp(C,((T0*)ms53_818)); } /*FI*/} int r818skip1(T818* C,char a1){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; R=1; r818next_char(C); r818skip_comments(C); } /*FI*/return R; } /*No:EIFFEL_PARSER.us_plus*/ void r818a_r1(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_implies=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms34_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e1(C)) { {T90*n=malloc(sizeof(*n)); *n=M90; r90make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_implies=(T0*)n; } r818a_r1(C,_infix_implies); } else { r818error(_sp,((T0*)ms119_818)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e1(T818* C){ int R=0; R=r818a_e2(C); r818a_r2(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.last_type_formal_generic*/ /*No:EIFFEL_PARSER.em10*/ /*No:EIFFEL_PARSER.em20*/ int r818skip2(T818* C,char a1,char a2){ int R=0; /*IF*/if ((a1)==((((T818*)C))->_cc/*24*/)) { C->_start_line=(((T818*)C))->_line/*16*/; C->_start_column=(((T818*)C))->_column/*12*/; r818next_char(C); /*IF*/if ((a2)==((((T818*)C))->_cc/*24*/)) { R=1; r818next_char(C); r818skip_comments(C); } else { r818prev_char(C); } /*FI*/} /*FI*/return R; } void r818a_r2(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_xor=NULL; T0* _infix_or=NULL; T0* _infix_or_else=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms41_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms10_470))) { /*IF*/if (r818a_e2(C)) { {T278*n=malloc(sizeof(*n)); *n=M278; r278make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or_else=(T0*)n; } r818a_r2(C,_infix_or_else); } else { r818err_exp(_sp,((T0*)ms42_473)); } /*FI*/} else { /*IF*/if (r818a_e2(C)) { {T121*n=malloc(sizeof(*n)); *n=M121; r121make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_or=(T0*)n; } r818a_r2(C,_infix_or); } else { r818err_exp(_sp,((T0*)ms41_473)); } /*FI*/} /*FI*/} else if (r818a_keyword(C,((T0*)ms50_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e2(C)) { {T760*n=malloc(sizeof(*n)); *n=M760; r760make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_xor=(T0*)n; } r818a_r2(C,_infix_xor); } else { r818err_exp(_sp,((T0*)ms50_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e2(T818* C){ int R=0; R=r818a_e3(C); r818a_r3(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.em11*/ /*No:EIFFEL_PARSER.fz_expanded*/ void r818a_r3(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_and=NULL; T0* _infix_and_then=NULL; /*IF*/if (r818a_keyword(C,((T0*)ms27_473))) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_keyword(C,((T0*)ms46_470))) { /*IF*/if (r818a_e3(C)) { {T655*n=malloc(sizeof(*n)); *n=M655; r655make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and_then=(T0*)n; } r818a_r3(C,_infix_and_then); } else { r818err_exp(_sp,((T0*)ms28_473)); } /*FI*/} else { /*IF*/if (r818a_e3(C)) { {T313*n=malloc(sizeof(*n)); *n=M313; r313make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_and=(T0*)n; } r818a_r3(C,_infix_and); } else { r818err_exp(_sp,((T0*)ms27_473)); } /*FI*/} /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e3(T818* C){ int R=0; R=r818a_e4(C); r818a_r4(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.fz_class*/ /*No:EIFFEL_PARSER.last_base_class*/ /*No:EIFFEL_PARSER.fz_infix*/ /*No:EIFFEL_PARSER.em12*/ T0*oBC818forbidden_class=NULL; /*No:EIFFEL_PARSER.us_lt*/ /*No:EIFFEL_PARSER.us_or*/ void r818a_r4(T818* C,T0* a1){ T0* _sp=NULL; T0* _infix_gt=NULL; T0* _infix_ge=NULL; T0* _infix_lt=NULL; T0* _infix_le=NULL; T0* _infix_neq=NULL; T0* _infix_eq=NULL; /*IF*/if (r818skip1(C,'\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T999*n=malloc(sizeof(*n)); *n=M999; r999make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_eq=(T0*)n; } r818a_r4(C,_infix_eq); } else { r818err_exp(_sp,((T0*)ms31_473)); } /*FI*/} else if (r818skip2(C,'\57','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T517*n=malloc(sizeof(*n)); *n=M517; r517make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_neq=(T0*)n; } r818a_r4(C,_infix_neq); } else { r818err_exp(_sp,((T0*)ms39_473)); } /*FI*/} else if (r818skip2(C,'\74','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T932*n=malloc(sizeof(*n)); *n=M932; r932make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_le=(T0*)n; } r818a_r4(C,_infix_le); } else { r818err_exp(_sp,((T0*)ms35_473)); } /*FI*/} else if (r818skip2(C,'\76','\75')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T890*n=malloc(sizeof(*n)); *n=M890; r890make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_ge=(T0*)n; } r818a_r4(C,_infix_ge); } else { r818err_exp(_sp,((T0*)ms32_473)); } /*FI*/} else if (r818skip1(C,'\74')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T112*n=malloc(sizeof(*n)); *n=M112; r112make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_lt=(T0*)n; } r818a_r4(C,_infix_lt); } else { r818err_exp(_sp,((T0*)ms36_473)); } /*FI*/} else if (r818skip1unless2(C,'\76','\76')) { {T627*n=malloc(sizeof(*n)); *n=M627; r627make(n,(((T818*)C))->_start_line/*169*/,(((T818*)C))->_start_column/*165*/); _sp=(T0*)n; } /*IF*/if (r818a_e4(C)) { {T57*n=malloc(sizeof(*n)); *n=M57; r57make(n,a1,_sp,(((T818*)C))->_last_expression/*97*/); _infix_gt=(T0*)n; } r818a_r4(C,_infix_gt); } else { r818err_exp(_sp,((T0*)ms33_473)); } /*FI*/} else { C->_last_expression=a1; } /*FI*/} int r818a_e4(T818* C){ int R=0; R=r818a_e5(C); r818a_r5(C,(((T818*)C))->_last_expression/*97*/); return R; } /*No:EIFFEL_PARSER.us_any*/ /*No:EIFFEL_PARSER.em13*/ /*No:EIFFEL_PARSER.current_class_name*/ /*No:EIFFEL_PARSER.fz_strip*/ /*No:SHORT_PRINT.dos_system*/ /*No:SHORT_PRINT.fz_system_se*/ T0*oBC580tmp_hook_path=NULL; /*No:SHORT_PRINT.fz_sys*/ T0*oBC580tmp_hook=NULL; void r580a_run_feature(T580* C,T0* a1){ T0* _ea=NULL; T0* _rr=NULL; T0* _hc=NULL; T0* _rt=NULL; T0* _args=NULL; r580hook_or(C,((T0*)ms35_580),((T0*)ms36_580)); X776short(/*X496*/((T0*)(((T808*)((T808*)a1)))->_name/*16*/)); _args=/*X496*/((T0*)(((T808*)((T808*)a1)))->_arguments/*20*/); /*IF*/if ((_args)==((void*)(NULL))) { r580hook_or(C,((T0*)ms37_580),((T0*)ms38_580)); } else { r31short(((T31*)_args)); } /*FI*/_rt=/*X496*/((T0*)(((T808*)((T808*)a1)))->_result_type/*24*/); /*IF*/if ((_rt)==((void*)(NULL))) { r580hook_or(C,((T0*)ms39_580),((T0*)ms40_580)); } else { r580hook_or(C,((T0*)ms41_580),((T0*)ms42_580)); X291short(_rt); r580hook_or(C,((T0*)ms43_580),((T0*)ms44_580)); } /*FI*/_hc=/*X359*/((T0*)(((T398*)((T398*)(X496base_feature(a1)))))->_header_comment/*16*/); /*IF*/if ((_hc)!=((void*)(NULL))) { r580hook(C,((T0*)ms45_580)); r393short(((T393*)_hc),((T0*)ms46_580),((T0*)ms47_580),((T0*)ms48_580),((T0*)ms49_580)); r580hook(C,((T0*)ms50_580)); } else { r580hook(C,((T0*)ms51_580)); } /*FI*/_rr=/*X496*/((T0*)(((T808*)((T808*)a1)))->_require_assertion/*28*/); /*IF*/if ((_rr)==((void*)(NULL))) { r580hook(C,((T0*)ms52_580)); } else { r541short(((T541*)_rr)); } /*FI*/_ea=X496ensure_assertion(a1); /*IF*/if ((_ea)==((void*)(NULL))) { r580hook_or(C,((T0*)ms53_580),((T0*)ms54_580)); } else { r633short(((T633*)_ea)); } /*FI*/r580hook_or(C,((T0*)ms55_580),((T0*)ms56_580)); } void r580a_infix_name(T580* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){ T0* _str=NULL; int _i=0; r580hook_or(C,a1,a2); _str=(((T454*)((T454*)a5)))->_to_string/*4*/; /*IF*/if ((((T0*)ms30_473))==((void*)(_str))) { r580hook_or(C,((T0*)ms61_580),((T0*)ms30_473)); } else { _i=1; while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/; putc(b1,((FILE*)(stdout))); }/*]*/ _i=(_i)+(1); } } /*FI*/r580hook_or(C,a3,a4); } /*No:SHORT_PRINT.a_character*/ T0*oBC364tmp_file_read=NULL; /*No:SHORT_PRINT.unix_system*/ void r580start(T580* C,T0* a1,T0* a2,T0* a3){ T0* _fgl=NULL; T0* _hc2=NULL; C->_base_class=a2; C->_run_class=a3; C->_format_directory=r7twin(((T7*)(r580small_eiffel_directory(C)))); r580add_directory(C,(((T580*)C))->_format_directory/*0*/,((T0*)ms1_580)); r580add_directory(C,(((T580*)C))->_format_directory/*0*/,a1); r580hook(C,((T0*)ms2_580)); /*IF*/if ((((T605*)((T605*)a2)))->_is_expanded/*20*/) { r580hook_or(C,((T0*)ms3_580),((T0*)ms4_580)); } else if ((((T605*)((T605*)a2)))->_is_deferred/*16*/) { r580hook_or(C,((T0*)ms5_580),((T0*)ms6_580)); } else { r580hook_or(C,((T0*)ms7_580),((T0*)ms8_580)); } /*FI*/r580hook(C,((T0*)ms9_580)); r580a_class_name(C,(((T605*)((T605*)a2)))->_base_class_name/*24*/); _fgl=(((T605*)((T605*)a2)))->_formal_generic_list/*28*/; /*IF*/if ((_fgl)!=((void*)(NULL))) { r881short(((T881*)_fgl)); } /*FI*/r580hook_or(C,((T0*)ms10_580),((T0*)ms11_580)); _hc2=(((T605*)((T605*)a2)))->_heading_comment2/*32*/; /*IF*/if ((_hc2)!=((void*)(NULL))) { r580hook(C,((T0*)ms12_580)); r393short(((T393*)_hc2),((T0*)ms13_580),((T0*)ms14_580),((T0*)ms15_580),((T0*)ms16_580)); r580hook(C,((T0*)ms17_580)); } else { r580hook(C,((T0*)ms18_580)); } /*FI*/} /*No:SHORT_PRINT.us_backslash_backslash*/ /*No:SHORT_PRINT.exit_failure_code*/ /*No:SHORT_PRINT.vms_system*/ int fBC364small_eiffel_directory=0; T0*oBC364small_eiffel_directory=NULL; T0* r580small_eiffel_directory(T580* C){ if (fBC364small_eiffel_directory==0){ T0* R=NULL; char _slash=0; int _i=0; fBC364small_eiffel_directory=1; R=r580get_environment_variable(C,((T0*)ms121_470)); /*IF*/if ((R)==((void*)(NULL))) { R=r7twin(((T7*)(((T0*)ms121_470)))); r7to_upper(((T7*)R)); R=r580get_environment_variable(C,R); /*IF*/if ((R)!=((void*)(NULL))) { r7to_upper(((T7*)(((T0*)ms121_470)))); } /*FI*/} /*FI*//*IF*/if ((R)==((void*)(NULL))) { R=((T0*)ms1_364); } /*FI*/_i=(((T7*)((T7*)R)))->_count/*4*/; while (!((_i)<(0))) { _slash=/*(IRF4.6item*/((((T7*)((T7*)R)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((r3is_letter(_slash))||(r3is_digit(_slash))) { _i=(_i)-(1); } else { _i=-(1); } /*FI*/} /*IF*/if ((_i)==(0)) { r7extend(((T7*)R),'\57'); } else if (!((r7last(((T7*)R)))==(_slash))) { r7extend(((T7*)R),_slash); } /*FI*/oBC364small_eiffel_directory=R;} return oBC364small_eiffel_directory;} void r580hook_or(T580* C,T0* a1,T0* a2){ /*IF*/if (r580hook_exists(C,a1)) { r675read_character(((T675*)(oBC580tmp_hook))); while (!(r675end_of_input(((T675*)(oBC580tmp_hook))))) { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC580tmp_hook))))->_memory/*12*/))/*)*/; putc(b1,((FILE*)(stdout))); }/*]*/ r675read_character(((T675*)(oBC580tmp_hook))); } r675disconnect(((T675*)(oBC580tmp_hook))); } else { r830put_string(((T830*)(oBC1std_output)),a2); } /*FI*/} /*No:SHORT_PRINT.amiga_system*/ /*No:SHORT_PRINT.make*/ /*No:SHORT_PRINT.format_directory*/ void r580finish(T580* C){ T0* _ci=NULL; T0* _fgl=NULL; _ci=(((T368*)((T368*)((((T580*)C))->_run_class/*8*/))))->_invariant_assertion/*16*/; /*IF*/if ((_ci)==((void*)(NULL))) { r580hook(C,((T0*)ms19_580)); } else { r673short(((T673*)_ci),(((T580*)C))->_base_class/*4*/); } /*FI*/r580hook(C,((T0*)ms20_580)); /*IF*/if ((((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_is_expanded/*20*/) { r580hook_or(C,((T0*)ms21_580),((T0*)ms22_580)); } else if ((((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_is_deferred/*16*/) { r580hook_or(C,((T0*)ms23_580),((T0*)ms24_580)); } else { r580hook_or(C,((T0*)ms25_580),((T0*)ms26_580)); } /*FI*/r580hook(C,((T0*)ms27_580)); r580a_class_name(C,(((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_base_class_name/*24*/); _fgl=(((T605*)((T605*)((((T580*)C))->_base_class/*4*/))))->_formal_generic_list/*28*/; /*IF*/if ((_fgl)!=((void*)(NULL))) { r881short(((T881*)_fgl)); } /*FI*/r580hook_or(C,((T0*)ms28_580),((T0*)ms29_580)); r580hook(C,((T0*)ms30_580)); } void r580a_base_type_constant(T580* C,T0* a1){ char _c=0; int _i=0; _i=1; while (!((_i)>((((T7*)((T7*)a1)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)a1)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((_c)==('\56')) { r580hook_or(C,((T0*)ms62_580),((T0*)ms63_580)); } else { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ } /*FI*/_i=(_i)+(1); } } void r580hook(T580* C,T0* a1){ /*IF*/if (r580hook_exists(C,a1)) { r675read_character(((T675*)(oBC580tmp_hook))); while (!(r675end_of_input(((T675*)(oBC580tmp_hook))))) { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=/*(IRF4.6last_character*/((char)((((T675*)((T675*)(oBC580tmp_hook))))->_memory/*12*/))/*)*/; putc(b1,((FILE*)(stdout))); }/*]*/ r675read_character(((T675*)(oBC580tmp_hook))); } r675disconnect(((T675*)(oBC580tmp_hook))); } /*FI*/} void r580add_directory(T580* C,T0* a1,T0* a2){ /*IF*/if ((((T0*)ms17_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms19_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms15_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\72'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\72'); } else if ((((T0*)ms14_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms16_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\134'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\134'); } else if ((((T0*)ms13_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\57'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\57'); } else if ((((T0*)ms18_364))==((void*)(r580system_name(C)))) { r7set_last(((T7*)a1),'\135'); r7remove_last(((T7*)a1),1); r7set_last(((T7*)a1),'\56'); r7append(((T7*)a1),a2); r7set_last(((T7*)a1),'\135'); } /*FI*/} T0*oBC1std_output=NULL; /*No:SHORT_PRINT.windows_system*/ T0* r580get_environment_variable(T580* C,T0* a1){ T0* R=NULL; void* _p=0; _p=r7to_external(((T7*)a1)); R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)e2s((char*)_p)); return R; } void r580a_prefix_name(T580* C,T0* a1){ T0* _str=NULL; char _c=0; int _i=0; _str=(((T406*)((T406*)a1)))->_to_string/*4*/; _i=1; while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((_c)==('\137')) { r580hook_or(C,((T0*)ms59_580),((T0*)ms60_580)); } else { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ } /*FI*/_i=(_i)+(1); } /*[IRF3.6a_character*/{char b1='\40'; /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output)); char c1=b1; putc(c1,((FILE*)(stdout))); }/*]*/ }/*]*/ } T0*oBC364system_list=NULL; int fBC364system_name=0; T0*oBC364system_name=NULL; T0* r580system_name(T580* C){ if (fBC364system_name==0){ T0* R=NULL; int _i=0; fBC364system_name=1; r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\57')) { r7set_last(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\57'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\134')) { r7set_last(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\134'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\72')) { r7set_last(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\72'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C)); /*IF*/if (r7has(((T7*)(oBC364tmp_path)),'\135')) { r7set_last(((T7*)(oBC364tmp_path)),'\135'); r7remove_last(((T7*)(oBC364tmp_path)),1); r7extend(((T7*)(oBC364tmp_path)),'\56'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms126_470)); r7extend(((T7*)(oBC364tmp_path)),'\135'); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*/} /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r7copy(((T7*)(oBC364tmp_path)),r580small_eiffel_directory(C)); r7append(((T7*)(oBC364tmp_path)),((T0*)ms127_470)); r306sfr_connect(((T306*)(oBC364echo)),oBC364tmp_file_read,oBC364tmp_path); } /*FI*//*IF*/if (!(/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC364tmp_file_read))))->_path/*4*/)!=(NULL)/*)*/)) { r306w_put_string(((T0*)ms20_364)); r306w_put_string(((T0*)ms127_470)); r306w_put_string(((T0*)ms21_364)); r306w_put_string(r580small_eiffel_directory(C)); r306w_put_string(((T0*)ms242_470)); exit(1); } /*FI*/r675read_line(((T675*)(oBC364tmp_file_read))); R=oBC762last_string; _i=r52index_of(((T52*)(oBC364system_list)),R); r675disconnect(((T675*)(oBC364tmp_file_read))); /*IF*/if ((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/)) { r306w_put_string(((T0*)ms22_364)); r306w_put_string(oBC364tmp_path); r306w_put_string(((T0*)ms23_364)); _i=1; while (!((_i)>((((T52*)((T52*)(oBC364system_list))))->_upper/*8*/))) { r306w_put_string(r52item(((T52*)(oBC364system_list)),_i)); r306w_put_character('\n'); _i=(_i)+(1); } } else { R=r52item(((T52*)(oBC364system_list)),_i); r306put_string(((T306*)(oBC364echo)),((T0*)ms24_364)); r306put_string(((T306*)(oBC364echo)),R); r306put_string(((T306*)(oBC364echo)),((T0*)ms242_470)); } /*FI*/oBC364system_name=R;} return oBC364system_name;} /*No:SHORT_PRINT.fz_b0*/ T0*oBC364tmp_path=NULL; void r580a_integer(int a1){ int _i=0; char _c=0; T0* _s=NULL; _s=((T0*)ms57_580); /*[IRF3.3clear*/((((T7*)(((T7*)_s))))->_count)=(0); /*]*/ r2append_in(a1,_s); _i=1; while (!((_i)>((((T7*)((T7*)_s)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)_s)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ _i=(_i)+(1); } } /*No:SHORT_PRINT.fz_se*/ /*No:SHORT_PRINT.os2_system*/ void r580a_feature(T580* C,T0* a1){ T0* _rf=NULL; _rf=r368get_feature(((T368*)((((T580*)C))->_run_class/*8*/)),a1); r580a_run_feature(C,_rf); } /*No:SHORT_PRINT.run_class*/ /*No:SHORT_PRINT.a_dot*/ /*No:SHORT_PRINT.macintosh_system*/ /*No:SHORT_PRINT.fz_dot*/ int r580hook_exists(T580* C,T0* a1){ int R=0; r7copy(((T7*)(oBC580tmp_hook_path)),(((T580*)C))->_format_directory/*0*/); r7append(((T7*)(oBC580tmp_hook_path)),a1); r675connect_to(((T675*)(oBC580tmp_hook)),oBC580tmp_hook_path); R=/*(IRF4.7is_connected*/((((T675*)((T675*)(oBC580tmp_hook))))->_path/*4*/)!=(NULL)/*)*/; return R; } /*No:SHORT_PRINT.base_class*/ void r580a_class_name(T580* C,T0* a1){ T0* _str=NULL; char _c=0; int _i=0; r580hook(C,((T0*)ms31_580)); _str=(((T451*)((T451*)a1)))->_to_string/*0*/; _i=1; while (!((_i)>((((T7*)((T7*)_str)))->_count/*4*/))) { _c=/*(IRF4.6item*/((((T7*)((T7*)_str)))->_storage/*0*/)[(_i)-(1)]/*)*/; /*IF*/if ((_c)==('\137')) { r580hook_or(C,((T0*)ms32_580),((T0*)ms33_580)); } else { /*[IRF3.6put_character*/{T830* C1=((T830*)(oBC1std_output)); char b1=_c; putc(b1,((FILE*)(stdout))); }/*]*/ } /*FI*/_i=(_i)+(1); } r580hook(C,((T0*)ms34_580)); }