/*
-- 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));
}

