/*
-- 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 "compile_to_c.h"
void r883make_e_feature(T883* C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void r883check_obsolete(T883* C){
/*IF*/if (!((((T604*)((T604*)(oBC364small_eiffel))))->_short_flag/*4*/)) {
/*IF*/if (((((T883*)C))->_obsolete_mark/*28*/)!=((void*)(NULL))) {
/*[IRF3.6append*/{T0* b1=((T0*)ms7_368);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(((T805*)((T805*)((((T883*)C))->_obsolete_mark/*28*/))))->_to_string/*16*/;
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r883warning(r883start_position(C),((T0*)ms137_470));
}
/*FI*/}
/*FI*/}
void r883warning(T0* a1,T0* a2){
r683add_position(a1);
r683warning(((T683*)(oBC364eh)),a2);
}
/*No:CALL_INFIX_AND_THEN.arguments*/
T0* r655add_comment(T655* C,T0* a1){
T0* R=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
R=(T0*)C;
}
else {
{T529*n=malloc(sizeof(*n));
*n=M529;
r529make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI*/return R;
}
int r655to_integer(T655* C){
int R=0;
r655error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
return R;
}
int r655is_a(T655* C,T0* a1){
int R=0;
R=X291is_a(X291run_type((((T655*)C))->_result_type/*20*/),X291run_type(X662result_type(a1)));
/*IF*/if (!(R)) {
r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*//*)*/);
r655error(X662start_position(a1),((T0*)ms4_662));
}
/*FI*/return R;
}
/*No:CALL_INFIX_AND_THEN.is_current*/
void r655mapping_c_arg(T655* C,T0* a1){
T0* _actual_type=NULL;
_actual_type=X291run_type((((T655*)C))->_result_type/*20*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
/*FI*/}
/*FI*/}
/*FI*/}
/*No:CALL_INFIX_AND_THEN.us_and_then*/
/*No:CALL_INFIX_AND_THEN.static_value*/
void r655make(T655* C,T0* a1,T0* a2,T0* a3){
T0* _eal=NULL;
/*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
r683add_position(a2);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,r655operator(),a2);
C->_feature_name=(T0*)n;
}
{T431*n=malloc(sizeof(*n));
*n=M431;
/*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
/*]*/
_eal=(T0*)n;
}
r655make_call_1(C,a1,(((T655*)C))->_feature_name/*28*/,_eal);
}
void r655mapping_c_target(T655* C,T0* a1){
T0* _actual_type=NULL;
int _flag=0;
_flag=r324call_invariant_start(a1);
_actual_type=X291run_type((((T655*)C))->_result_type/*20*/);
/*IF*/if (X291is_reference(_actual_type)) {
/*IF*/if (X291is_reference(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='T';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r544put_integer(((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/)),X291id(a1));
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\52';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
X291to_expanded(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
else {
/*IF*/if (X291is_reference(a1)) {
X291to_reference(_actual_type);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*IF*/if (X291need_c_struct(a1)) {
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\46';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\50';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T544* C1=((T544*)((((T324*)((T324*)(oBC364cpp))))->_current_out/*56*/));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
else {
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T655* C1=C;
r324put_cpc(((T324*)(oBC364cpp)),(T0*)C1);
}/*]*/
/*]*/
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (_flag) {
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T544* C1=((T544*)(oBC324out_c));
char b1='\51';
putc(b1,((FILE*)((((T544*)C1))->_output_stream/*4*/)));
}/*]*/
/*]*/
}
/*FI*/}
/*No:CALL_INFIX_AND_THEN.nb_errors*/
/*No:CALL_INFIX_AND_THEN.feature_name*/
/*No:CALL_INFIX_AND_THEN.fz_iinaiv*/
/*No:CALL_INFIX_AND_THEN.arg_count*/
/*No:CALL_INFIX_AND_THEN.dca_inline_argument*/
/*No:CALL_INFIX_AND_THEN.run_feature*/
/*No:CALL_INFIX_AND_THEN.call_proc_call_c2c*/
/*No:CALL_INFIX_AND_THEN.start_position*/
/*No:CALL_INFIX_AND_THEN.target*/
/*No:CALL_INFIX_AND_THEN.compile_to_c*/
/*No:CALL_INFIX_AND_THEN.c_simple*/
T0* r655to_runnable(T655* C,T0* a1){
T0* R=NULL;
T0* _tla=NULL;
T0* _a=NULL;
/*IF*/if (((((T655*)C))->_current_type/*8*/)==((void*)(NULL))) {
r655to_runnable_0(C,a1);
_a=X431to_runnable((((T655*)C))->_arguments/*24*/,a1);
/*IF*/if ((_a)==((void*)(NULL))) {
r655error(X662start_position(r655arg1(C)),((T0*)ms55_470));
}
else {
C->_arguments=_a;
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
X431match_with((((T655*)C))->_arguments/*24*/,(((T655*)C))->_run_feature/*16*/);
}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
_tla=(((T655*)C))->_result_type/*20*/;
if(NULL!=(_tla))switch(((T0*)_tla)->id) {
case 239: 
break;
default:
_tla=NULL;
};/*IF*/if ((_tla)!=((void*)(NULL))) {
C->_result_type=X291run_type(X662result_type(r655arg1(C)));
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
R=(T0*)C;
}
/*FI*/}
else {
R=r655twin(C);
/*[IRF3.3set_current_type*/((((T655*)(((T655*)R))))->_current_type)=(NULL);
/*]*/
R=r655to_runnable(((T655*)R),a1);
}
/*FI*/return R;
}
/*No:CALL_INFIX_AND_THEN.result_type*/
/*No:CALL_INFIX_AND_THEN.is_result*/
T0* r655twin(T655* C){
T0* R=NULL;
R=malloc(sizeof(*C));
*((T655*)R)=*C;
return R;
}
/*No:CALL_INFIX_AND_THEN.set_current_type*/
T0* r655operator(void){
T0* R=NULL;
R=((T0*)ms28_473);
return R;
}
int r655is_static(T655* C){
int R=0;
/*IF*/if (X291is_boolean(X662result_type((((T655*)C))->_target/*12*/))) {
/*IF*/if (X662is_static((((T655*)C))->_target/*12*/)) {
/*IF*/if ((X662static_value((((T655*)C))->_target/*12*/))==(0)) {
R=1;
}
else {
R=X662is_static(r655arg1(C));
C->_static_value_mem=X662static_value(r655arg1(C));
}
/*FI*/}
/*FI*/}
/*FI*/return R;
}
/*No:CALL_INFIX_AND_THEN.fz_07*/
/*No:CALL_INFIX_AND_THEN.can_be_dropped*/
/*No:CALL_INFIX_AND_THEN.current_type*/
void r655compile_to_c_old(T655* C){
X662compile_to_c_old((((T655*)C))->_target/*12*/);
/*IF*/{/*AT*/X431compile_to_c_old((((T655*)C))->_arguments/*24*/);
}
/*FI*/}
/*No:CALL_INFIX_AND_THEN.static_value_mem*/
void r655make_call_1(T655* C,T0* a1,T0* a2,T0* a3){
C->_target=a1;
C->_feature_name=a2;
C->_arguments=a3;
}
/*No:CALL_INFIX_AND_THEN.is_manifest_string*/
/*No:CALL_INFIX_AND_THEN.is_void*/
void r655to_runnable_0(T655* C,T0* a1){
C->_current_type=a1;
r655cpc_to_runnable(C,a1);
C->_result_type=/*X496*/((T0*)(((T832*)((T832*)((((T655*)C))->_run_feature/*16*/))))->_result_type/*24*/);
/*IF*/if (((((T655*)C))->_result_type/*20*/)==((void*)(NULL))) {
r683add_position(X496start_position((((T655*)C))->_run_feature/*16*/));
r655error((((T454*)((T454*)((((T655*)C))->_feature_name/*28*/))))->_start_position/*8*/,((T0*)ms1_295));
}
 else if (X291is_like_current((((T655*)C))->_result_type/*20*/)) {
C->_result_type=X662result_type((((T655*)C))->_target/*12*/);
}
/*FI*/}
/*No:CALL_INFIX_AND_THEN.is_pre_computable*/
void r655cpc_to_runnable(T655* C,T0* a1){
T0* _rc=NULL;
T0* _t=NULL;
_t=X662to_runnable((((T655*)C))->_target/*12*/,a1);
/*IF*/if ((_t)==((void*)(NULL))) {
r683add_position(X662start_position((((T655*)C))->_target/*12*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
r683fatal_error(((T683*)(oBC364eh)),b1);
}/*]*/
}
/*FI*/C->_target=_t;
_rc=X291run_class(X662result_type((((T655*)C))->_target/*12*/));
C->_run_feature=r355get_rf(((T355*)_rc),(T0*)C);
r576update((((T655*)C))->_target/*12*/,(((T655*)C))->_run_feature/*16*/);
}
int r655use_current(T655* C){
int R=0;
/*IF*/{/*AT*/R=X431use_current((((T655*)C))->_arguments/*24*/);
}
/*FI*//*IF*/if (R) {
}
 else if (X662is_current((((T655*)C))->_target/*12*/)) {
R=X496use_current((((T655*)C))->_run_feature/*16*/);
}
else {
R=X662use_current((((T655*)C))->_target/*12*/);
}
/*FI*/return R;
}
void r655finalize(T655* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(((T655*)C))->_run_feature/*16*/;
_rc=X291run_class(/*X496*/((T0*)(((T832*)((T832*)_rf)))->_current_type/*4*/));
/*IF*/if (!((((T355*)((T355*)_rc)))->_at_run_time/*8*/)) {
_rf=r355dynamic(((T355*)(r396first(((T396*)((((T355*)((T355*)_rc)))->_running/*12*/))))),_rf);
C->_run_feature=_rf;
}
/*FI*/}
void r655error(T0* a1,T0* a2){
r683add_position(a1);
r683error(((T683*)(oBC364eh)),a2);
}
/*No:CALL_INFIX_AND_THEN.isa_dca_inline_argument*/
/*No:CALL_INFIX_AND_THEN.fatal_error*/
/*No:CALL_INFIX_AND_THEN.fz_bad_argument*/
T0* r655arg1(T655* C){
T0* R=NULL;
R=X431first((((T655*)C))->_arguments/*24*/);
return R;
}
void r655afd_check(T655* C){
T0* _running=NULL;
T0* _rc=NULL;
_rc=X291run_class(X662result_type((((T655*)C))->_target/*12*/));
_running=(((T355*)((T355*)_rc)))->_running/*12*/;
/*IF*/if ((_running)==((void*)(NULL))) {
r683add_position(X662start_position((((T655*)C))->_target/*12*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms1_135);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X291run_time_mark((((T355*)((T355*)_rc)))->_current_type/*0*/);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms141_470);
r7append(((T7*)(oBC683explanation)),b1);
}/*]*/
r683print_as_warning(((T683*)(oBC364eh)));
r355set_at_run_time(((T355*)_rc));
}
 else if ((r396count(((T396*)_running)))>(0)) {
r576update((((T655*)C))->_target/*12*/,(((T655*)C))->_run_feature/*16*/);
}
/*FI*/X662afd_check((((T655*)C))->_target/*12*/);
/*IF*/{/*AT*/X431afd_check((((T655*)C))->_arguments/*24*/);
}
/*FI*/}
/*No:TMP_NAME.li*/
/*No:TMP_NAME.co*/
/*No:TMP_NAME.fz_inherit*/
int r511isa_keyword(void){
int R=0;
char _c=0;
_c=r3to_lower(/*(IRF4.6item*/((((T7*)((T7*)(oBC511tmp_string))))->_storage/*0*/)[(1)-(1)]/*)*/);
{int z1=_c;

if((97==z1)){
R=r511look_in(oBC511keyword_a);
}
 else 
if((99==z1)){
R=r511look_in(oBC511keyword_c);
}
 else 
if((100==z1)){
R=r511look_in(oBC511keyword_d);
}
 else 
if((101==z1)){
R=r511look_in(oBC511keyword_e);
}
 else 
if((102==z1)){
R=r511look_in(oBC511keyword_f);
}
 else 
if((105==z1)){
R=r511look_in(oBC511keyword_i);
}
 else 
if((108==z1)){
R=r511look_in(oBC511keyword_l);
}
 else 
if((111==z1)){
R=r511look_in(oBC511keyword_o);
}
 else 
if((112==z1)){
R=r7same_as(((T7*)(((T0*)ms37_470))),oBC511tmp_string);
}
 else 
if((114==z1)){
R=r511look_in(oBC511keyword_r);
}
 else 
if((115==z1)){
R=r511look_in(oBC511keyword_s);
}
 else 
if((116==z1)){
R=r511look_in(oBC511keyword_t);
}
 else 
if((117==z1)){
R=r511look_in(oBC511keyword_u);
}
 else 
if((118==z1)){
R=r7same_as(((T7*)(((T0*)ms51_470))),oBC511tmp_string);
}
 else 
if((119==z1)){
R=r7same_as(((T7*)(((T0*)ms52_470))),oBC511tmp_string);
}
 else 
if((120==z1)){
R=r7same_as(((T7*)(((T0*)ms50_473))),oBC511tmp_string);
}
}
return R;
}
/*No:TMP_NAME.fz_select*/
/*No:TMP_NAME.fz_creation*/
T0*oBC511keyword_s=NULL;
T0*oBC511keyword_c=NULL;
/*No:TMP_NAME.fz_old*/
T0* r511to_e_result(T511* C){
T0* R=NULL;
{T715*n=malloc(sizeof(*n));
*n=M715;
r715make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
T0* r511to_local_name1(T511* C){
T0* R=NULL;
{T39*n=malloc(sizeof(*n));
*n=M39;
r39make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
R=(T0*)n;
}
return R;
}
T0* r511to_e_current(T511* C){
T0* R=NULL;
{T358*n=malloc(sizeof(*n));
*n=M358;
r358make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),1);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.extend*/
/*No:TMP_NAME.fz_separate*/
/*No:TMP_NAME.fz_deferred*/
T0*oBC511keyword_t=NULL;
T0*oBC511keyword_d=NULL;
/*No:TMP_NAME.fz_else*/
/*No:TMP_NAME.fz_end*/
T0* r511to_e_void(T511* C){
T0* R=NULL;
{T796*n=malloc(sizeof(*n));
*n=M796;
r796make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
int r511is_current(void){
int R=0;
/*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(7)) {
R=r7same_as(((T7*)(((T0*)ms143_473))),oBC511tmp_string);
}
/*FI*/return R;
}
T0*oBC511keyword_u=NULL;
T0*oBC511keyword_e=NULL;
/*No:TMP_NAME.us_and*/
T0* r511to_local_name2(T511* C,T0* a1,int a2){
T0* R=NULL;
{T23*n=malloc(sizeof(*n));
*n=M23;
r23refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
R=(T0*)n;
}
return R;
}
T0* r511to_argument_name1(T511* C){
T0* R=NULL;
{T873*n=malloc(sizeof(*n));
*n=M873;
r873make(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),oBC511tmp_string);
R=(T0*)n;
}
return R;
}
T0*oBC511keyword_f=NULL;
/*No:TMP_NAME.make*/
/*No:TMP_NAME.us_current*/
/*No:TMP_NAME.fz_rescue*/
T0* r511to_string(T511* C){
T0* R=NULL;
/*IF*/if (((((T511*)C))->_unique_string_memory/*0*/)==((void*)(NULL))) {
R=r902item(oBC511tmp_string);
C->_unique_string_memory=R;
}
else {
R=(((T511*)C))->_unique_string_memory/*0*/;
}
/*FI*/return R;
}
T0* r511to_class_name(T511* C){
T0* R=NULL;
{T451*n=malloc(sizeof(*n));
*n=M451;
r451make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
T0* r511to_tag_name(T511* C){
T0* R=NULL;
{T490*n=malloc(sizeof(*n));
*n=M490;
r490make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.unique_string_memory*/
T0* r511to_argument_name2(T511* C,T0* a1,int a2){
T0* R=NULL;
{T886*n=malloc(sizeof(*n));
*n=M886;
r886refer_to(n,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/),a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_external*/
T0* r511start_position(T511* C){
T0* R=NULL;
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,(((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_prefix*/
/*No:TMP_NAME.fz_export*/
/*No:TMP_NAME.fz_all*/
/*No:TMP_NAME.fz_invariant*/
/*No:TMP_NAME.fz_feature*/
/*No:TMP_NAME.fz_true*/
T0* r511to_infix_name_use(T511* C){
T0* R=NULL;
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_if*/
T0*oBC511keyword_i=NULL;
/*No:TMP_NAME.fz_inspect*/
/*No:TMP_NAME.fz_alias*/
/*No:TMP_NAME.fz_debug*/
int r511is_result(void){
int R=0;
/*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(6)) {
R=r7same_as(((T7*)(((T0*)ms146_473))),oBC511tmp_string);
}
/*FI*/return R;
}
/*No:TMP_NAME.fz_rename*/
/*No:TMP_NAME.fz_from*/
/*No:TMP_NAME.fz_unique*/
/*No:TMP_NAME.fz_once*/
/*No:TMP_NAME.fz_loop*/
/*No:TMP_NAME.fz_do*/
/*No:TMP_NAME.us_result*/
/*No:TMP_NAME.us_implies*/
T0*oBC511tmp_string=NULL;
T0*oBC511keyword_l=NULL;
/*No:TMP_NAME.fz_obsolete*/
/*No:TMP_NAME.fz_as*/
/*No:TMP_NAME.fz_false*/
/*No:TMP_NAME.fz_elseif*/
T0* r511to_infix_name(T0* a1){
T0* R=NULL;
{T454*n=malloc(sizeof(*n));
*n=M454;
r454make(n,oBC511tmp_string,a1);
R=(T0*)n;
}
return R;
}
T0* r511to_prefix_name(T511* C){
T0* R=NULL;
{T406*n=malloc(sizeof(*n));
*n=M406;
r406make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
T0* r511pos(int a1,int a2){
T0* R=NULL;
{T627*n=malloc(sizeof(*n));
*n=M627;
r627make(n,a1,a2);
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_variant*/
/*No:TMP_NAME.fz_redefine*/
/*No:TMP_NAME.fz_like*/
int r511is_void(void){
int R=0;
/*IF*/if (((((T7*)((T7*)(oBC511tmp_string))))->_count/*4*/)==(4)) {
R=r7same_as(((T7*)(((T0*)ms147_473))),oBC511tmp_string);
}
/*FI*/return R;
}
/*No:TMP_NAME.us_xor*/
/*No:TMP_NAME.fz_frozen*/
/*No:TMP_NAME.fz_undefine*/
T0*oBC511keyword_o=NULL;
T0* r511to_simple_feature_name(T511* C){
T0* R=NULL;
{T446*n=malloc(sizeof(*n));
*n=M446;
r446make(n,oBC511tmp_string,r511pos((((T511*)C))->_li/*8*/,(((T511*)C))->_co/*4*/));
R=(T0*)n;
}
return R;
}
/*No:TMP_NAME.fz_is*/
/*No:TMP_NAME.fz_ensure*/
int r511look_in(T0* a1){
int R=0;
int _i=0;
_i=(((T52*)((T52*)a1)))->_upper/*8*/;
while (!((R)||((_i)==(0)))) {
R=r7same_as(((T7*)(r52item(((T52*)a1),_i))),oBC511tmp_string);
_i=(_i)-(1);
}
return R;
}
/*No:TMP_NAME.us_void*/
/*No:TMP_NAME.fz_local*/
/*No:TMP_NAME.fz_indexing*/
/*No:TMP_NAME.fz_require*/
/*No:TMP_NAME.count*/
/*No:TMP_NAME.fz_when*/
/*No:TMP_NAME.fz_then*/
/*No:TMP_NAME.fz_until*/
T0*oBC511keyword_a=NULL;
/*No:TMP_NAME.fz_check*/
void r511initialize(T511* C,int a1,int a2){
C->_li=a1;
C->_co=a2;
/*[IRF3.3clear*/((((T7*)(((T7*)(oBC511tmp_string)))))->_count)=(0);
/*]*/
C->_unique_string_memory=NULL;
}
/*No:TMP_NAME.fz_expanded*/
T0*oBC511keyword_r=NULL;
/*No:TMP_NAME.fz_infix*/
/*No:TMP_NAME.fz_class*/
/*No:TMP_NAME.us_or*/
/*No:TMP_NAME.fz_retry*/
/*No:TMP_NAME.fz_strip*/

