/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
--                 http://www.loria.fr/SmallEiffel              --
*/
#include "short.h"
/*No:FORMAL_GENERIC_LIST.start_position*/
/*No:FORMAL_GENERIC_LIST.item*/
/*No:FORMAL_GENERIC_LIST.count*/


void r42make(T42* C,T0* a1,T0* a2){
T0* _fga=NULL;
T2 _i=0;
T2 _rank=0;
C->_start_position=a1;
C->_list=a2;
_i=(((T44*)a2))->_upper/*8*/;
while (!((_i)==(0))) {
_fga=r44item(((T44*)a2),_i);
_rank=r42index_of(C,(((T43*)_fga))->_name/*0*/);
/*[IF*/
if((_rank)!=(_i)){
r67add_position(/*(IRF4.6start_position*/(((T47*)(((T43*)(r44item(((T44*)a2),_rank)))->_name/*0*/)))->_start_position/*4*//*)*/);
r67add_position(/*(IRF4.6start_position*/(((T47*)((((T43*)_fga))->_name/*0*/)))->_start_position/*4*//*)*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms42_178923);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
_i=(_i)-(1);
}
}


T2 r42index_of(T42* C,T0* a1){
T2 R=0;
T0* _to_string=NULL;
_to_string=(((T47*)a1))->_to_string/*0*/;
R=((T44*)((C)->_list/*4*/))->_upper/*8*/;
while (!(((R)==(0))||((_to_string)==((void*)(((T47*)(((T43*)(r44item((T44*)((C)->_list/*4*/),R)))->_name/*0*/))->_to_string/*0*/))))) {
R=(R)-(1);
}
return R;
}
/*No:FORMAL_GENERIC_LIST.list*/


void r42short(T42* C){
T2 _i=0;
r39hook_or((T39*)(oBC11short_print),((T0*)ms42_8610),((T0*)ms42_92));
_i=1;
while (!((_i)>(((T44*)((C)->_list/*4*/))->_upper/*8*/))) {
r43short((T43*)(r44item((T44*)((C)->_list/*4*/),_i)));
_i=(_i)+(1);
/*[IF*/
if((_i)<=(((T44*)((C)->_list/*4*/))->_upper/*8*/)){
r39hook_or((T39*)(oBC11short_print),((T0*)ms42_9254),((T0*)ms42_45));
}
/*FI]*/
}
r39hook_or((T39*)(oBC11short_print),((T0*)ms42_10664),((T0*)ms42_94));
}
/*No:FORMAL_GENERIC_LIST.fatal_error*/
/*No:FEATURE_CLAUSE_LIST.add_last*/


void r88get_started(T88* C,T0* a1){
T2 _i=0;
_i=1;
while (!((_i)>(((T90*)((C)->_list/*0*/))->_upper/*8*/))) {
r89add_into((T89*)(r90item((T90*)((C)->_list/*0*/),_i)),a1);
_i=(_i)+(1);
}
}


void r88for_short(T88* C,T0* a1,T6 a2,T0* a3,T0* a4){
T0* _fc=NULL;
T2 _i=0;
_i=1;
while (!((_i)>(((T90*)((C)->_list/*0*/))->_upper/*8*/))) {
_fc=r90item((T90*)((C)->_list/*0*/),_i);
r89for_short(((T89*)_fc),a1,a2,a3,a4);
_i=(_i)+(1);
}
}
/*No:FEATURE_CLAUSE_LIST.make*/
/*No:FEATURE_CLAUSE_LIST.list*/
/*No:CST_ATT_BIT.base_class*/
/*No:CST_ATT_BIT.value_mem*/


T0* r198start_position(T198* C){
T0* R=NULL;
R=X77start_position(/*(IRF4.6first_name*/r79item(((T79*)((C)->_names/*8*/)),1)/*)*/);
return R;
}


T6 r198is_merge_with(T198* C,T0* a1,T0* a2){
T6 R=0;
R=1;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/R=0;
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(/*(IRF4.1arguments*/NULL/*)*/),X87arguments(a1),a2);
}
/*FI]*/
/*[IF*/
if(!(R)){
R=1;
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
R=X46is_a_in(X87result_type(a1),(C)->_result_type/*20*/,a2);
}
/*FI]*/
/*[IF*/
if((R)&&((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(NULL)))){
R=r175is_a_in((T175*)(X87arguments(a1)),/*(IRF4.1arguments*/NULL/*)*/,a2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(R){
r198merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.first_name*/
/*No:CST_ATT_BIT.em1*/
/*No:CST_ATT_BIT.header_comment*/
/*No:CST_ATT_BIT.names*/
/*No:CST_ATT_BIT.result_type*/
/*No:CST_ATT_BIT.code_require*/
/*No:CST_ATT_BIT.make_e_feature*/


void r198add_into(T198* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
C->_base_class=r69base_class((T69*)(X77start_position(r79item((T79*)((C)->_names/*8*/),1))));
_i=1;
while (!((_i)>(r79count((T79*)((C)->_names/*8*/))))) {
_fn=r79item((T79*)((C)->_names/*8*/),_i);
/*[IF*/
if(r86has(((T86*)a1),X77to_key(_fn))){
_fn=/*X87first_name*/((T0*)/*(IRF4.6first_name*/r79item(((T79*)(((T187*)(r86at(((T86*)a1),X77to_key(_fn))))->_names/*8*/)),1)/*)*/);
r67add_position(X77start_position(_fn));
r67add_position(X77start_position(r79item((T79*)((C)->_names/*8*/),_i)));
r67error((T67*)(oBC11eh),((T0*)ms87_41905));
/*[IRF3.6append*/{T0* b1=X77to_string(_fn);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
else{
r86put(((T86*)a1),(T0*)C,X77to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}


T6 r198can_hide(T198* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(X87result_type(a1)))){
/*[IF*/
if((((C)->_result_type/*20*/)==((void*)(NULL)))||((X87result_type(a1))==((void*)(NULL)))){
r67add_position(X87start_position(a1));
r198error(r198start_position(C),((T0*)ms87_64647));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.1arguments*/NULL/*)*/)!=((void*)(X87arguments(a1)))){
/*[IF*/
{/*AT*/r67add_position(X87start_position(a1));
r198error(r198start_position(C),((T0*)ms87_83182));
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
if(((C)->_result_type/*20*/)!=((void*)(NULL))){
/*[IF*/
if(!(X46is_a_in((C)->_result_type/*20*/,X87result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms87_54285);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X46run_time_mark((((T310*)a2))->_current_type/*0*/);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67error((T67*)(oBC11eh),((T0*)ms12_47));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0);
/*[IF*/
if(R){
r198merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.ensure_assertion*/


T0* r198try_to_undefine(T198* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
r67add_position(X77start_position(a1));
_fn2=r79feature_name((T79*)((C)->_names/*8*/),X77to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X77undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC67explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T68*)((T68*)(oBC67positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r198try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
/*X270set_clients*//*[IRF3.3set_clients*/((((T273*)(((T273*)R))))->_clients)=((C)->_clients/*16*/);
/*]*/
r198merge_header_comments(C,R);
}
else{
r22fatal_undefine(((T22*)a2),a1);
}
/*FI]*/
return R;
}
/*No:CST_ATT_BIT.is_deferred*/
/*No:CST_ATT_BIT.set_clients*/
/*No:CST_ATT_BIT.value*/
/*No:CST_ATT_BIT.nb_errors*/


T0* r198to_run_feature(T198* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(a1);
R=r310at(((T310*)_rc),a2);
if(NULL!=(R))switch(((T0*)R)->id) {
case 326: 
break;
default:
R=NULL;
};/*[IF*/
if((R)==((void*)(NULL))){
{T326*n=malloc(sizeof(*n));
*n=M326;
r326make(n,a1,a2,(T0*)C);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


void r198merge_header_comments(T198* C,T0* a1){
/*[IF*/
if(((T59*)(oBC11small_eiffel))->_short_flag/*0*/){
/*[IF*/
if(((C)->_header_comment/*12*/)==((void*)(NULL))){
C->_header_comment=/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/);
}
 else if((/*X87header_comment*/((T0*)(((T187*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X87set_header_comment(a1,(C)->_header_comment/*12*/);
}
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_BIT.arguments*/
/*No:CST_ATT_BIT.require_assertion*/


T0* r198try_to_undefine_aux(T198* C,T0* a1,T0* a2){
T0* R=NULL;
r67add_position(r198start_position(C));
r198error(X77start_position(a1),((T0*)ms189_99414));
r22fatal_undefine(((T22*)a2),a1);
return R;
}
/*No:CST_ATT_BIT.fz_dot*/


void r198error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}


void r198make(T198* C,T0* a1,T0* a2,T0* a3){
/*[IRF3.3make_e_feature*/((((T198*)(C)))->_names)=(a1);
/*]*/
C->_result_type=a2;
C->_value_mem=a3;
}


void r198collect_for(T2 a1){
T0* _er=NULL;
/*[IF*/
if((a1)==(1)){
_er=/*(IRF4.1require_assertion*/NULL/*)*/;
/*[IF*/
if((_er)!=((void*)(NULL))){
/*[IF*/
if(!(r315fast_has((T315*)(oBC87require_collector),_er))){
r315add_last((T315*)(oBC87require_collector),_er);
}
/*FI]*/
}
/*FI]*/
}
else{
/*[IF*/
/*AF*//*AE*/
/*FI]*/
}
/*FI]*/
}
/*No:CST_ATT_BIT.set_header_comment*/
/*No:CST_ATT_BIT.clients*/
/*No:CALL_INFIX_DIV.feature_name*/


T0* r120start_position(T120* C){
T0* R=NULL;
R=((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}


T0* r120add_comment(T120* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r120to_integer(T120* C){
T2 R=0;
r120error(r120start_position(C),((T0*)ms12_45846));
return R;
}


T0* r120to_runnable(T120* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r120runnable_expression((C)->_target/*4*/,a1);
_a=r120runnable_args((C)->_arguments/*8*/,a1);
_tt=X53result_type(_t);
_at=X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
{/*AT*//*[IF*/
if(X46is_real(_at)){
/*[IF*/
if(X46is_integer(_tt)){
_tbee=X46run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 258: case 256: case 254: case 255: case 259: case 252: 
break;
default:
_tbee=NULL;
};{T357*n=malloc(sizeof(*n));
*n=M357;
r357make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
 else if(X46is_double(_at)){
/*[IF*/
if((X46is_integer(_tt))||(X46is_real(_tt))){
_tbee=X46run_type(_at);
if(NULL!=(_tbee))switch(((T0*)_tbee)->id) {
case 258: case 256: case 254: case 255: case 259: case 252: 
break;
default:
_tbee=NULL;
};{T357*n=malloc(sizeof(*n));
*n=M357;
r357make(n,_t,_tbee);
_t=(T0*)n;
}
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
_rf=r120run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r120run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T120*n=malloc(sizeof(*n));
*n=M120;
r120with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.us_slash*/
/*No:CALL_INFIX_DIV.fz_bad_argument*/
/*No:CALL_INFIX_DIV.fz_iinaiv*/


T0* r120result_type(T120* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 246: 
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X46run_type(X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.run_feature*/


T0* r120runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


void r120bracketed_short(T120* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r120short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}


void r120with(T120* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r120run_feature_match(C,a5);
}
/*No:CALL_INFIX_DIV.fatal_error*/


void r120run_feature_match(T120* C,T0* a1){
r120run_feature_has_result(C);
r136match_with((T136*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_DIV.arguments*/


T0* r120runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_DIV.implicit_cast*/
/*No:CALL_INFIX_DIV.arg1*/


void r120run_feature_has_result(T120* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*16*/));
r67add_position(((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}


T0* r120run_feature_for(T120* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_DIV.target*/


void r120error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_INFIX_DIV.precedence*/


void r120make(T120* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,r120operator(),a2);
C->_feature_name=(T0*)n;
}
{T136*n=malloc(sizeof(*n));
*n=M136;
/*[IRF3.3make_1*/((((T136*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_DIV.is_current*/
/*No:CALL_INFIX_DIV.short_print_feature_name*/
/*No:CALL_INFIX_DIV.is_void*/


T0* r120operator(void){
T0* R=NULL;
R=((T0*)ms13_48);
return R;
}


void r120short_target(T120* C){
r120bracketed_short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}


void r120short(T120* C){
/*[IF*/
if((X53precedence((C)->_target/*4*/))==(13)){
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T120* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
/*[IF*/
if((X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if((8)>=(X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X53bracketed_short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
 else if((X53precedence((C)->_target/*4*/))<(8)){
X53bracketed_short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T120* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T120* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_DIV.atomic_precedence*/
/*No:RUN_REQUIRE.make*/
/*No:RUN_REQUIRE.list*/


void r314short(T314* C){
T2 _i=0;
r272short((T272*)(r315item((T315*)((C)->_list/*0*/),1)),((T0*)ms314_5901),((T0*)ms314_4410));
_i=2;
while (!((_i)>(((T315*)((C)->_list/*0*/))->_upper/*8*/))) {
r272short((T272*)(r315item((T315*)((C)->_list/*0*/),_i)),((T0*)ms314_5950),((T0*)ms314_7500));
_i=(_i)+(1);
}
r39hook((T39*)(oBC11short_print),((T0*)ms314_5999));
}
/*No:LOCAL_NAME1.is_used*/
/*No:LOCAL_NAME1.start_position*/
/*No:LOCAL_NAME1.to_string*/


T0* r171twin(T171* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T171*)R)=*C;
return R;
}


T0* r171add_comment(T171* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:LOCAL_NAME1.name_clash*/


T2 r171to_integer(T171* C){
T2 R=0;
r171error((C)->_start_position/*4*/,((T0*)ms12_45846));
return R;
}
/*No:LOCAL_NAME1.rank*/


T0* r171to_runnable(T171* C,T0* a1){
T0* R=NULL;
T0* _rt=NULL;
_rt=X46to_runnable((C)->_result_type/*12*/,a1);
/*[IF*/
if((_rt)==((void*)(NULL))){
r67add_position(X46start_position((C)->_result_type/*12*/));
r171error((C)->_start_position/*4*/,((T0*)ms171_24548));
}
/*FI]*/
/*[IF*/
if((_rt)==((void*)((C)->_result_type/*12*/))){
R=(T0*)C;
}
else{
R=r171twin(C);
/*[IRF3.3set_result_type*/((((T171*)(((T171*)R))))->_result_type)=(_rt);
/*]*/
}
/*FI]*/
return R;
}


T0* r171written_in(T171* C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position/*4*/;
/*[IF*/
if((_sp)!=((void*)(NULL))){
R=(((T69*)_sp))->_base_class_name/*0*/;
}
/*FI]*/
return R;
}
/*No:LOCAL_NAME1.fz_iinaiv*/
/*No:LOCAL_NAME1.set_result_type*/


void r171name_clash_for(T171* C,T0* a1,T0* a2){
T0* _bc=NULL;
T0* _rc=NULL;
T0* _rf=NULL;
_bc=r171base_class_written(C);
/*[IF*/
if(r22has_simple_feature_name(((T22*)_bc),(C)->_to_string/*8*/)){
_rc=X46run_class(a1);
_rf=r310get_feature_with(((T310*)_rc),(C)->_to_string/*8*/);
/*[IF*/
if((_rf)!=((void*)(NULL))){
r67add_position(X312start_position(_rf));
}
/*FI]*/
r171error((C)->_start_position/*4*/,a2);
}
/*FI]*/
}
/*No:LOCAL_NAME1.result_type*/


void r171error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:LOCAL_NAME1.set_rank*/
/*No:LOCAL_NAME1.precedence*/


void r171make(T171* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_to_string=r78item(a2);
}


void r171bracketed_short(T171* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r171short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}
/*No:LOCAL_NAME1.is_current*/
/*No:LOCAL_NAME1.set_is_used*/
/*No:LOCAL_NAME1.is_void*/


void r171short_target(T171* C){
r171short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}


T0* r171base_class_written(T171* C){
T0* R=NULL;
R=r47base_class((T47*)(r171written_in(C)));
return R;
}


void r171short(T171* C){
T3 _c=0;
T2 _i=0;
r39hook((T39*)(oBC11short_print),((T0*)ms170_837));
_i=1;
while (!((_i)>(((T7*)((C)->_to_string/*8*/))->_count/*4*/))) {
_c=/*(IRF4.6item*/(((T7*)((C)->_to_string/*8*/))->_storage/*0*/)[(_i)-(1)]/*)*/;
/*[IF*/
if((_c)==('\137')){
r39hook_or((T39*)(oBC11short_print),((T0*)ms170_894),((T0*)ms170_96));
}
else{
/*[IRF3.6a_character*/{T3 b1=_c;
/*[IRF3.6put_character*/{T38* C2=(T38*)(oBC1std_output);
T3 c1=b1;
putc(c1,((FILE*)(stdout)));
}/*]*/
}/*]*/
}
/*FI]*/
_i=(_i)+(1);
}
r39hook((T39*)(oBC11short_print),((T0*)ms170_834));
}
/*No:LOCAL_NAME1.atomic_precedence*/
/*No:EXPORT_LIST.start_position*/
/*No:EXPORT_LIST.items*/


T0* r303clients_for(T303* C,T0* a1){
T0* R=NULL;
T0* _ei=NULL;
T2 _i=0;
_i=((T304*)((C)->_items/*4*/))->_upper/*8*/;
while (!((_i)==(0))) {
_ei=r304item((T304*)((C)->_items/*4*/),_i);
/*[IF*/
if(r302affect(((T302*)_ei),a1)){
/*[IF*/
if((R)==((void*)(NULL))){
R=(((T302*)_ei))->_clients/*0*/;
}
else{
R=r94merge_with(((T94*)R),(((T302*)_ei))->_clients/*0*/);
}
/*FI]*/
}
/*FI]*/
_i=(_i)-(1);
}
return R;
}


void r303make(T303* C,T0* a1,T0* a2){
C->_start_position=a1;
C->_items=a2;
}


T0* r357start_position(T357* C){
T0* R=NULL;
R=X53start_position((C)->_expression/*4*/);
return R;
}


T0* r357add_comment(T357* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CAST.expression*/


T2 r357to_integer(T357* C){
T2 R=0;
r357error(r357start_position(C),((T0*)ms12_45846));
return R;
}


T0* r357to_runnable(T357* C,T0* a1){
T0* R=NULL;
T0* _e=NULL;
_e=X53to_runnable((C)->_expression/*4*/,a1);
/*[IF*/
if(((C)->_expression/*4*/)==((void*)(_e))){
R=(T0*)C;
}
else{
{T357*n=malloc(sizeof(*n));
*n=M357;
r357make(n,_e,(C)->_result_type/*8*/);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:IMPLICIT_CAST.fz_iinaiv*/
/*No:IMPLICIT_CAST.result_type*/


void r357error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}


T2 r357precedence(T357* C){
T2 R=0;
R=X53precedence((C)->_expression/*4*/);
return R;
}


void r357make(T357* C,T0* a1,T0* a2){
C->_expression=a1;
C->_result_type=a2;
}


void r357bracketed_short(T357* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r357short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}


T6 r357is_current(T357* C){
T6 R=0;
R=X53is_current((C)->_expression/*4*/);
return R;
}
/*No:IMPLICIT_CAST.is_void*/


void r357short_target(T357* C){
X53short_target((C)->_expression/*4*/);
}


void r357short(T357* C){
X53short((C)->_expression/*4*/);
}
/*No:CALL_INFIX_GT.feature_name*/


T0* r111start_position(T111* C){
T0* R=NULL;
R=((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}


T0* r111add_comment(T111* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r111to_integer(T111* C){
T2 R=0;
r111error(r111start_position(C),((T0*)ms12_45846));
return R;
}


T0* r111to_runnable(T111* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r111runnable_expression((C)->_target/*4*/,a1);
_a=r111runnable_args((C)->_arguments/*8*/,a1);
_tt=X53result_type(_t);
_at=X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r111run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r111run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T111*n=malloc(sizeof(*n));
*n=M111;
r111with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.fz_bad_argument*/
/*No:CALL_INFIX_GT.fz_iinaiv*/


T0* r111result_type(T111* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 246: 
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X46run_type(X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.run_feature*/


T0* r111runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


void r111bracketed_short(T111* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r111short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}


void r111with(T111* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r111run_feature_match(C,a5);
}
/*No:CALL_INFIX_GT.fatal_error*/


void r111run_feature_match(T111* C,T0* a1){
r111run_feature_has_result(C);
r136match_with((T136*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_GT.arguments*/


T0* r111runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_GT.us_gt*/
/*No:CALL_INFIX_GT.implicit_cast*/
/*No:CALL_INFIX_GT.arg1*/


void r111run_feature_has_result(T111* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*16*/));
r67add_position(((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}


T0* r111run_feature_for(T111* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_GT.target*/


void r111error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_INFIX_GT.precedence*/


void r111make(T111* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,r111operator(),a2);
C->_feature_name=(T0*)n;
}
{T136*n=malloc(sizeof(*n));
*n=M136;
/*[IRF3.3make_1*/((((T136*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_GT.is_current*/
/*No:CALL_INFIX_GT.short_print_feature_name*/
/*No:CALL_INFIX_GT.is_void*/


T0* r111operator(void){
T0* R=NULL;
R=((T0*)ms13_63);
return R;
}


void r111short_target(T111* C){
r111bracketed_short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}


void r111short(T111* C){
/*[IF*/
if((X53precedence((C)->_target/*4*/))==(13)){
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T111* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
/*[IF*/
if((X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if((6)>=(X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X53bracketed_short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
 else if((X53precedence((C)->_target/*4*/))<(6)){
X53bracketed_short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T111* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T111* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_GT.atomic_precedence*/
/*No:CALL_INFIX_LT.feature_name*/


T0* r113start_position(T113* C){
T0* R=NULL;
R=((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/;
return R;
}


T0* r113add_comment(T113* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
else{
{T218*n=malloc(sizeof(*n));
*n=M218;
r218make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T2 r113to_integer(T113* C){
T2 R=0;
r113error(r113start_position(C),((T0*)ms12_45846));
return R;
}


T0* r113to_runnable(T113* C,T0* a1){
T0* R=NULL;
T0* _rf=NULL;
T0* _tbee=NULL;
T0* _at=NULL;
T0* _tt=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r113runnable_expression((C)->_target/*4*/,a1);
_a=r113runnable_args((C)->_arguments/*8*/,a1);
_tt=X53result_type(_t);
_at=X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
/*[IF*/
/*AF*//*AE*/
/*FI]*/
_rf=r113run_feature_for(C,_t,a1);
/*[IF*/
if(((C)->_run_feature/*16*/)==((void*)(NULL))){
C->_target=_t;
C->_arguments=_a;
C->_run_feature=_rf;
r113run_feature_match(C,a1);
R=(T0*)C;
}
 else if(((_t)==((void*)((C)->_target/*4*/)))&&((_a)==((void*)((C)->_arguments/*8*/)))){
R=(T0*)C;
}
else{
{T113*n=malloc(sizeof(*n));
*n=M113;
r113with(n,_t,(C)->_feature_name/*12*/,_a,_rf,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.fz_bad_argument*/
/*No:CALL_INFIX_LT.fz_iinaiv*/


T0* r113result_type(T113* C){
T0* R=NULL;
T0* _tla=NULL;
R=X312result_type((C)->_run_feature/*16*/);
/*[IF*/
if(X46is_like_current(R)){
R=/*X312current_type*/((T0*)((T326*)((C)->_run_feature/*16*/))->_current_type/*4*/);
}
else{
_tla=R;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 246: 
break;
default:
_tla=NULL;
};/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X46run_type(X53result_type(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/));
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.run_feature*/


T0* r113runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=r136to_runnable(((T136*)a1),a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(r136start_position(((T136*)a1)));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_13065);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


void r113bracketed_short(T113* C){
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_6792),((T0*)ms53_41));
r113short(C);
r39hook_or((T39*)(oBC11short_print),((T0*)ms53_8645),((T0*)ms53_42));
}


void r113with(T113* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
C->_run_feature=a4;
r113run_feature_match(C,a5);
}
/*No:CALL_INFIX_LT.fatal_error*/


void r113run_feature_match(T113* C,T0* a1){
r113run_feature_has_result(C);
r136match_with((T136*)((C)->_arguments/*8*/),(C)->_run_feature/*16*/,a1);
}
/*No:CALL_INFIX_LT.arguments*/


T0* r113runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X53to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position(X53start_position(a1));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms105_16515);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}
/*No:CALL_INFIX_LT.implicit_cast*/
/*No:CALL_INFIX_LT.us_lt*/
/*No:CALL_INFIX_LT.arg1*/


void r113run_feature_has_result(T113* C){
/*[IF*/
if((X312result_type((C)->_run_feature/*16*/))==((void*)(NULL))){
r67add_position(X312start_position((C)->_run_feature/*16*/));
r67add_position(((T125*)((C)->_feature_name/*12*/))->_start_position/*8*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms104_53650);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}


T0* r113run_feature_for(T113* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=X46run_class(X53result_type(a1));
R=r310get_rf(((T310*)_rc),a1,(C)->_feature_name/*12*/,a2);
return R;
}
/*No:CALL_INFIX_LT.target*/


void r113error(T0* a1,T0* a2){
r67add_position(a1);
r67error((T67*)(oBC11eh),a2);
}
/*No:CALL_INFIX_LT.precedence*/


void r113make(T113* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
{T125*n=malloc(sizeof(*n));
*n=M125;
r125make(n,r113operator(),a2);
C->_feature_name=(T0*)n;
}
{T136*n=malloc(sizeof(*n));
*n=M136;
/*[IRF3.3make_1*/((((T136*)(n)))->_first_one)=(a3);
/*]*/
C->_arguments=(T0*)n;
}
}
/*No:CALL_INFIX_LT.is_current*/
/*No:CALL_INFIX_LT.short_print_feature_name*/
/*No:CALL_INFIX_LT.is_void*/


T0* r113operator(void){
T0* R=NULL;
R=((T0*)ms13_61);
return R;
}


void r113short_target(T113* C){
r113bracketed_short(C);
/*[IRF3.6a_dot*/{T39* C1=(T39*)(oBC11short_print);
r39hook_or(C1,((T0*)ms39_999a),((T0*)ms12_47));
}/*]*/
}


void r113short(T113* C){
/*[IF*/
if((X53precedence((C)->_target/*4*/))==(13)){
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T113* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
/*[IF*/
if((X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))==(13)){
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
 else if((6)>=(X53precedence(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/))){
X53bracketed_short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
 else if((X53precedence((C)->_target/*4*/))<(6)){
X53bracketed_short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T113* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
else{
X53short((C)->_target/*4*/);
/*[IRF3.6short_print_feature_name*/{T113* C1=C;
r39a_infix_name((T39*)(oBC11short_print),((T0*)ms102_7338),((T0*)ms102_33a),((T0*)ms102_7332),((T0*)ms102_33),(C1)->_feature_name/*12*/);
}/*]*/
X53short(/*(IRF4.6arg1*//*(IRF4.3first*/(((T136*)((C)->_arguments/*8*/)))->_first_one/*0*//*)*//*)*/);
}
/*FI]*/
}
/*No:CALL_INFIX_LT.atomic_precedence*/

