/*
-- 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"


void r66a_r6(T66* C,T0* a1){
T0* _sp=NULL;
T0* _infix_div=NULL;
T0* _infix_int_rem=NULL;
T0* _infix_int_div=NULL;
T0* _infix_times=NULL;
/*[IF*/
if(r66skip1(C,'\52')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e6(C)){
{T123*n=malloc(sizeof(*n));
*n=M123;
r123make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_times=(T0*)n;
}
r66a_r6(C,_infix_times);
}
else{
r66err_exp(_sp,((T0*)ms13_43));
}
/*FI]*/
}
 else if(r66skip2(C,'\57','\57')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e6(C)){
{T122*n=malloc(sizeof(*n));
*n=M122;
r122make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_int_div=(T0*)n;
}
r66a_r6(C,_infix_int_div);
}
else{
r66err_exp(_sp,((T0*)ms66_194a));
}
/*FI]*/
}
 else if(r66skip2(C,'\134','\134')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e6(C)){
{T121*n=malloc(sizeof(*n));
*n=M121;
r121make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_int_rem=(T0*)n;
}
r66a_r6(C,_infix_int_rem);
}
else{
r66err_exp(_sp,((T0*)ms66_374a));
}
/*FI]*/
}
 else if(r66skip1unless2(C,'\57','\75')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e6(C)){
{T120*n=malloc(sizeof(*n));
*n=M120;
r120make(n,a1,_sp,(C)->_last_expression/*97*/);
_infix_div=(T0*)n;
}
r66a_r6(C,_infix_div);
}
else{
r66err_exp(_sp,((T0*)ms13_48));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}


void r66a_r7(T66* C,T0* a1){
T0* _sp=NULL;
/*[IF*/
if(r66skip1(C,'\136')){
{T69*n=malloc(sizeof(*n));
*n=M69;
r69make(n,(C)->_start_line/*169*/,(C)->_start_column/*165*/);
_sp=(T0*)n;
}
/*[IF*/
if(r66a_e7(C)){
r66a_r7(C,(C)->_last_expression/*97*/);
{T182*n=malloc(sizeof(*n));
*n=M182;
r182make(n,a1,_sp,(C)->_last_expression/*97*/);
C->_last_expression=(T0*)n;
}
}
else{
r66err_exp(_sp,((T0*)ms66_95a));
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}


void r66a_r8(T66* C,T0* a1){
T0* _infix_freeop=NULL;
T0* _infix_name=NULL;
/*[IF*/
if(r66a_free_operator(C)){
_infix_name=r96to_infix_name_use((T96*)(oBC66tmp_name));
/*[IF*/
if(r66a_e8(C)){
{T124*n=malloc(sizeof(*n));
*n=M124;
r124make(n,a1,_infix_name,(C)->_last_expression/*97*/);
_infix_freeop=(T0*)n;
}
r66a_r8(C,_infix_freeop);
}
else{
r66err_exp((((T125*)_infix_name))->_start_position/*8*/,(((T125*)_infix_name))->_to_string/*4*/);
}
/*FI]*/
}
else{
C->_last_expression=a1;
}
/*FI]*/
}
/*No:EIFFEL_PARSER.fz_undefine*/
/*No:EIFFEL_PARSER.us_any*/


T6 r66a_constant(T66* C){
T6 R=0;
T0* _sfn=NULL;
T0* _implicit_current=NULL;
/*[IF*/
if(r66a_identifier(C)){
R=1;
_sfn=r96to_simple_feature_name((T96*)(oBC66tmp_name));
{T181*n=malloc(sizeof(*n));
*n=M181;
/*[IRF3.3make*/((((T181*)(n)))->_start_position)=((((T135*)_sfn))->_start_position/*8*/);
/*]*/
_implicit_current=(T0*)n;
}
{T137*n=malloc(sizeof(*n));
*n=M137;
r137make(n,_implicit_current,_sfn);
C->_last_expression=(T0*)n;
}
}
 else if(r66a_character_constant(C)){
R=1;
C->_last_expression=(C)->_last_character_constant/*85*/;
}
 else if(r66a_integer_constant(C)){
R=1;
C->_last_expression=(C)->_last_integer_constant/*129*/;
}
/*FI]*/
return R;
}
/*No:EIFFEL_PARSER.us_real*/
/*No:EIFFEL_PARSER.fz_from*/
/*No:EIFFEL_PARSER.fz_false*/
/*No:EIFFEL_PARSER.show_nb_warnings*/
/*No:EIFFEL_PARSER.local_vars*/
/*No:ASSIGNMENT.nb_errors*/
/*No:ASSIGNMENT.fz_brhsoa*/


T0* r268start_position(T268* C){
T0* R=NULL;
R=X53start_position((C)->_left_side/*4*/);
return R;
}


T0* r268add_comment(T268* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r34count(((T34*)((((T52*)a1))->_list/*4*/)))/*)*/)==(0))){
R=(T0*)C;
}
/*AF*/else{
{T213*n=malloc(sizeof(*n));
*n=M213;
r213make(n,(T0*)C,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T0* r268right_type(T268* C){
T0* R=NULL;
R=X53result_type((C)->_right_side/*8*/);
return R;
}
/*No:ASSIGNMENT.right_side*/


void r268implicit_conversion(T268* C){
T0* _right_run_type=NULL;
T0* _left_run_type=NULL;
/*[IF*/
if((/*(IRF4.9nb_errors*/((T67*)(oBC11eh))->_nb_errors/*4*//*)*/)==(0)){
_left_run_type=X46run_type(r268left_type(C));
_right_run_type=X46run_type(r268right_type(C));
/*[IF*/
if(X46is_reference(_left_run_type)){
/*[IF*/
if(X46is_reference(_right_run_type)){
}
else{
X46used_as_reference(_right_run_type);
}
/*FI]*/
}
else{
/*[IF*/
if(X46is_reference(_right_run_type)){
/*[IF*/
if(X53is_void((C)->_right_side/*8*/)){
r67add_position(X53start_position((C)->_right_side/*8*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms268_169026);
r7append((T7*)(oBC67explanation),b1);
}/*]*/
r67add_type(r268left_type(C),((T0*)ms268_47));
r67print_as_error((T67*)(oBC11eh));
}
else{
r268warning(X53start_position((C)->_left_side/*4*/),((T0*)ms268_56296));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}


T0* r268to_runnable(T268* C,T0* a1){
T0* R=NULL;
T0* _r=NULL;
T0* _l=NULL;
_l=X53to_runnable((C)->_left_side/*4*/,a1);
/*[IF*/
if((_l)==((void*)(NULL))){
r67add_position(X53start_position((C)->_left_side/*4*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_63888);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
_r=X53to_runnable((C)->_right_side/*8*/,a1);
/*[IF*/
if((_r)==((void*)(NULL))){
r67add_position(X53start_position((C)->_right_side/*8*/));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms12_67592);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(!(X46is_a(X53result_type(_r),X53result_type(_l)))){
r67add_position(X53start_position(_l));
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms268_17248);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
/*[IF*/
if(((_l)==((void*)((C)->_left_side/*4*/)))&&((_r)==((void*)((C)->_right_side/*8*/)))){
R=(T0*)C;
r268implicit_conversion(C);
}
else{
{T268*n=malloc(sizeof(*n));
*n=M268;
r268make(n,_l,_r);
R=(T0*)n;
}
r268implicit_conversion(((T268*)R));
}
/*FI]*/
return R;
}


void r268warning(T0* a1,T0* a2){
r67add_position(a1);
r67warning((T67*)(oBC11eh),a2);
}
/*No:ASSIGNMENT.fz_blhsoa*/


T0* r268left_type(T268* C){
T0* R=NULL;
R=X53result_type((C)->_left_side/*4*/);
return R;
}
/*No:ASSIGNMENT.left_side*/
/*No:ASSIGNMENT.end_mark_comment*/


void r268make(T268* C,T0* a1,T0* a2){
C->_left_side=a1;
C->_right_side=a2;
}
/*No:ASSIGNMENT.fatal_error*/
/*No:RUN_CONTROL.generating_type_used*/


T6 r73ensure_check(T73* C){
T6 R=0;
R=((C)->_level/*0*/)>=(-3);
return R;
}


T6 r73debug_check(T73* C){
T6 R=0;
R=((C)->_level/*0*/)==(1);
return R;
}
/*No:RUN_CONTROL.level_loop*/
/*No:RUN_CONTROL.level_check_all*/


T6 r73all_check(T73* C){
T6 R=0;
R=((C)->_level/*0*/)>=(0);
return R;
}
/*No:RUN_CONTROL.set_generating_type_used*/
/*No:RUN_CONTROL.level_boost*/
/*No:RUN_CONTROL.level_ensure*/
/*No:RUN_CONTROL.level_require*/


T6 r73boost(T73* C){
T6 R=0;
R=((C)->_level/*0*/)==(-6);
return R;
}
/*No:RUN_CONTROL.generator_used*/
/*No:RUN_CONTROL.level_check_debug*/
/*No:RUN_CONTROL.make*/
/*No:RUN_CONTROL.set_generator_used*/
/*No:RUN_CONTROL.level*/


T6 r73require_check(T73* C){
T6 R=0;
R=((C)->_level/*0*/)>=(-4);
return R;
}


T6 r73loop_check(T73* C){
T6 R=0;
R=((C)->_level/*0*/)>=(-1);
return R;
}
/*No:INDEX_LIST.add_last*/
/*No:INDEX_LIST.make*/
/*No:INDEX_LIST.list*/
/*No:EXPORT_ITEM.for_all*/


void r302make(T302* C,T0* a1,T0* a2){
C->_clients=a1;
C->_list=a2;
}


void r302make_all(T302* C,T0* a1){
C->_clients=a1;
C->_list=NULL;
}


T6 r302affect(T302* C,T0* a1){
T6 R=0;
/*[IF*/
if(/*(IRF4.7for_all*/((C)->_list/*4*/)==(NULL)/*)*/){
R=1;
}
else{
R=r79has((T79*)((C)->_list/*4*/),a1);
}
/*FI]*/
return R;
}
/*No:EXPORT_ITEM.list*/
/*No:EXPORT_ITEM.clients*/


T6 r59is_used(T0* a1){
T6 R=0;
R=r61has((T61*)(oBC59base_class_dictionary),a1);
return R;
}


T0* r59base_class(T59* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r61has((T61*)(oBC59base_class_dictionary),(((T47*)a1))->_to_string/*0*/)){
R=r61at((T61*)(oBC59base_class_dictionary),(((T47*)a1))->_to_string/*0*/);
}
 else if(((T66*)(oBC11eiffel_parser))->_is_running/*8*/){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms59_71162);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
else{
/*[IF*/
if(r59parser_buffer_for(C,(((T47*)a1))->_to_string/*0*/)){
R=r66analyse_class((T66*)(oBC11eiffel_parser),a1);
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r67add_position((((T47*)a1))->_start_position/*4*/);
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms59_31059);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
/*No:SMALL_EIFFEL.base_class_count*/
T0*oBC11tmp_file_read=NULL;


void r59add_class(T59* C,T0* a1){
r61put((T61*)(oBC59base_class_dictionary),a1,((T47*)((((T22*)a1))->_name/*24*/))->_to_string/*0*/);
r59incr_magic_count(C);
}
/*No:SMALL_EIFFEL.eiffel_suffix*/
/*No:SMALL_EIFFEL.fz_03*/


T0* r59load_class(T59* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(r59parser_buffer_for(C,a1)){
R=r66analyse_class((T66*)(oBC11eiffel_parser),NULL);
/*[IF*/
if((R)==((void*)(NULL))){
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms59_24084);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
}
else{
/*[IRF3.6fatal_error*/{T0* b1=((T0*)ms59_24084a);
r67fatal_error((T67*)(oBC11eh),b1);
}/*]*/
}
/*FI]*/
return R;
}


T0* r59run_class(T0* a1){
T0* R=NULL;
T0* _run_string=NULL;
_run_string=X46run_time_mark(a1);
/*[IF*/
if(r320has((T320*)(oBC59run_class_dictionary),_run_string)){
R=r320at((T320*)(oBC59run_class_dictionary),_run_string);
}
else{
{T310*n=malloc(sizeof(*n));
*n=M310;
r310make(n,a1);
R=(T0*)n;
}
}
/*FI]*/
return R;
}


T0* r59get_class(T0* a1){
T0* R=NULL;
/*[IF*/
if(r61has((T61*)(oBC59base_class_dictionary),a1)){
R=r61at((T61*)(oBC59base_class_dictionary),a1);
}
else{
r47make((T47*)(r59tmp_class_name()),a1,NULL);
R=r47base_class((T47*)(r59tmp_class_name()));
}
/*FI]*/
return R;
}


void r59pop(T59* C){
C->_top=((C)->_top/*8*/)-(1);
}
/*No:SMALL_EIFFEL.magic_count*/
T0*oBC59run_class_dictionary=NULL;
/*No:SMALL_EIFFEL.top*/
T0*oBC59parser_buffer_path=NULL;
T0*oBC59tmp_tail=NULL;
int fBC59rename_dictionary=0;
T0*oBC59rename_dictionary=NULL;


T0* r59rename_dictionary(T59* C){
if(fBC59rename_dictionary==0){
T0* _short_name=NULL;
T0* _full_name=NULL;
T2 _i=0;
fBC59rename_dictionary=1;
{T72*n=malloc(sizeof(*n));
*n=M72;
/*[IRF3.4make*/r72with_capacity(n,32);
/*]*/
oBC59rename_dictionary=(T0*)n;
}
_i=1;
while (!((_i)>(((T34*)(r59loading_path()))->_upper/*8*/))) {
r7copy((T7*)(((T0*)ms11_583550)),r34item((T34*)(r59loading_path()),_i));
r7append((T7*)(((T0*)ms11_583550)),((T0*)ms59_13095));
r35sfr_connect((T35*)(oBC11echo),oBC11tmp_file_read,((T0*)ms11_583550));
/*[IF*/
if(/*(IRF4.7is_connected*/(((T31*)(oBC11tmp_file_read))->_path/*4*/)!=(NULL)/*)*/){
while (!(r31end_of_input((T31*)(oBC11tmp_file_read)))) {
r31read_word((T31*)(oBC11tmp_file_read));
_full_name=r7twin((T7*)(oBC32last_string));
r31read_word((T31*)(oBC11tmp_file_read));
_short_name=r7twin((T7*)(oBC32last_string));
r7prepend(((T7*)_short_name),r34item((T34*)(r59loading_path()),_i));
/*[IF*/
if(r72has(((T72*)oBC59rename_dictionary),_full_name)){
r35w_put_string(((T0*)ms59_24360));
r35w_put_string(_full_name);
r35w_put_string(((T0*)ms59_55872));
r35w_put_string(_short_name);
r35w_put_string(((T0*)ms59_5280));
r35w_put_string(r72at(((T72*)oBC59rename_dictionary),_full_name));
r35w_put_string(((T0*)ms59_118));
exit(1);
}
/*FI]*/
r72put(((T72*)oBC59rename_dictionary),_short_name,_full_name);
r31skip_separators((T31*)(oBC11tmp_file_read));
}
r31disconnect((T31*)(oBC11tmp_file_read));
}
/*FI]*/
_i=(_i)+(1);
}
}
return oBC59rename_dictionary;}
/*No:SMALL_EIFFEL.fatal_error*/


void r59incr_magic_count(T59* C){
C->_magic_count=((C)->_magic_count/*4*/)+(1);
}
int fBC59loading_path=0;
T0*oBC59loading_path=NULL;


T0* r59loading_path(void){
if(fBC59loading_path==0){
fBC59loading_path=1;
{T34*n=malloc(sizeof(*n));
*n=M34;
r34with_capacity(n,16,1);
oBC59loading_path=(T0*)n;
}
r30read_loading_path_in((T30*)(r59system_tools()),oBC59loading_path);
}
return oBC59loading_path;}


void r59push(T59* C,T0* a1){
C->_top=((C)->_top/*8*/)+(1);
r324force((T324*)(oBC59stack_rf),a1,(C)->_top/*8*/);
}
/*No:SMALL_EIFFEL.short_flag*/


T6 r59parser_buffer_for(T59* C,T0* a1){
T6 R=0;
T2 _i=0;
r7copy((T7*)(oBC59tmp_tail),a1);
r7to_lower((T7*)(oBC59tmp_tail));
/*[IF*/
if(!(r7has_suffix((T7*)(oBC59tmp_tail),((T0*)ms11_300)))){
r7append((T7*)(oBC59tmp_tail),((T0*)ms11_300));
}
/*FI]*/
_i=((T34*)(r59loading_path()))->_lower/*12*/;
while (!(((_i)>(((T34*)(r59loading_path()))->_upper/*8*/))||(R))) {
r7copy((T7*)(oBC59parser_buffer_path),r34item((T34*)(r59loading_path()),_i));
r7append((T7*)(oBC59parser_buffer_path),oBC59tmp_tail);
r71load_file((T71*)(oBC11parser_buffer),oBC59parser_buffer_path);
R=/*(IRF4.7is_ready*/(((T71*)(oBC11parser_buffer))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
/*[IF*/
if((!(R))&&(r72has((T72*)(r59rename_dictionary(C)),oBC59tmp_tail))){
r7copy((T7*)(oBC59parser_buffer_path),r72at((T72*)(r59rename_dictionary(C)),oBC59tmp_tail));
r71load_file((T71*)(oBC11parser_buffer),oBC59parser_buffer_path);
/*[IF*/
if(/*(IRF4.7is_ready*/(((T71*)(oBC11parser_buffer))->_path/*0*/)!=(NULL)/*)*/){
R=1;
}
else{
r35w_put_string(((T0*)ms59_53690));
r35w_put_string(oBC59parser_buffer_path);
r35w_put_string(((T0*)ms12_166));
exit(1);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(R)){
r7copy((T7*)(oBC59tmp_tail),a1);
/*[IF*/
if(!(r7has_suffix((T7*)(oBC59tmp_tail),((T0*)ms11_300)))){
r7append((T7*)(oBC59tmp_tail),((T0*)ms11_300));
}
/*FI]*/
_i=((T34*)(r59loading_path()))->_lower/*12*/;
while (!(((_i)>(((T34*)(r59loading_path()))->_upper/*8*/))||(R))) {
r7copy((T7*)(oBC59parser_buffer_path),r34item((T34*)(r59loading_path()),_i));
r7append((T7*)(oBC59parser_buffer_path),oBC59tmp_tail);
r71load_file((T71*)(oBC11parser_buffer),oBC59parser_buffer_path);
R=/*(IRF4.7is_ready*/(((T71*)(oBC11parser_buffer))->_path/*0*/)!=(NULL)/*)*/;
_i=(_i)+(1);
}
}
/*FI]*/
/*[IF*/
if(!(R)){
r35w_put_string(((T0*)ms59_48577));
r35w_put_string(a1);
r35w_put_string(((T0*)ms59_354));
/*[IRF3.3clear*/((((T7*)((T7*)(oBC59parser_buffer_path))))->_count)=(0);
/*]*/
/*[IRF3.6append_loading_path_in*/{T0* b1=oBC59parser_buffer_path;
r30append_lp_in((T30*)(r59system_tools()),b1,r59loading_path());
}/*]*/
r35w_put_string(oBC59parser_buffer_path);
}
/*FI]*/
return R;
}
int fBC11system_tools=0;
T0*oBC11system_tools=NULL;


T0* r59system_tools(void){
if(fBC11system_tools==0){
fBC11system_tools=1;
{T30*n=malloc(sizeof(*n));
*n=M30;
r30make(n);
oBC11system_tools=(T0*)n;
}
}
return oBC11system_tools;}


T0* r59top_rf(T59* C){
T0* R=NULL;
R=r324item((T324*)(oBC59stack_rf),(C)->_top/*8*/);
return R;
}
/*No:SMALL_EIFFEL.set_short_flag*/
/*No:SMALL_EIFFEL.make*/
/*No:SMALL_EIFFEL.us_any*/
T0*oBC59stack_rf=NULL;
/*No:SMALL_EIFFEL.exit_failure_code*/
T0*oBC59base_class_dictionary=NULL;
int fBC59tmp_class_name=0;
T0*oBC59tmp_class_name=NULL;


T0* r59tmp_class_name(void){
if(fBC59tmp_class_name==0){
fBC59tmp_class_name=1;
{T47*n=malloc(sizeof(*n));
*n=M47;
r47make(n,((T0*)ms13_714),NULL);
oBC59tmp_class_name=(T0*)n;
}
}
return oBC59tmp_class_name;}
/*No:SMALL_EIFFEL.tmp_path*/
/*No:SMALL_EIFFEL.append_loading_path_in*/


void r296append_in(T296* C,T0* a1){
T2 _i=0;
_i=/*X297lower*/((T2)((T173*)((C)->_name_list/*4*/))->_lower/*16*/);
while (!((_i)>(/*X297upper*/((T2)((T173*)((C)->_name_list/*4*/))->_upper/*12*/)))) {
X167add_last(a1,/*X297item*/((T0*)r173item((T173*)((C)->_name_list/*4*/),_i)));
_i=(_i)+(1);
}
}
/*No:DECLARATION_GROUP.name_list*/


T2 r296count(T296* C){
T2 R=0;
R=/*X297upper*/((T2)((T173*)((C)->_name_list/*4*/))->_upper/*12*/);
return R;
}


void r296make(T296* C,T0* a1,T0* a2){
T2 _i=0;
C->_name_list=a1;
_i=/*X297upper*/((T2)((T173*)((C)->_name_list/*4*/))->_upper/*12*/);
while (!((_i)==(0))) {
/*X172set_result_type*//*[IRF3.3set_result_type*/((((T171*)((T171*)(/*X297item*/((T0*)r173item((T173*)((C)->_name_list/*4*/),_i))))))->_result_type)=(a2);
/*]*/
_i=(_i)-(1);
}
}


void r296short(T296* C){
T2 _i=0;
_i=/*X297lower*/((T2)((T173*)((C)->_name_list/*4*/))->_lower/*16*/);
X172short(/*X297item*/((T0*)r173item((T173*)((C)->_name_list/*4*/),_i)));
_i=(_i)+(1);
while (!((_i)>(/*X297upper*/((T2)((T173*)((C)->_name_list/*4*/))->_upper/*12*/)))) {
r39hook_or((T39*)(oBC11short_print),((T0*)ms296_6041),((T0*)ms296_158));
X172short(/*X297item*/((T0*)r173item((T173*)((C)->_name_list/*4*/),_i)));
_i=(_i)+(1);
}
r39hook_or((T39*)(oBC11short_print),((T0*)ms296_6090),((T0*)ms296_186));
X46short(/*X172result_type*/((T0*)((T171*)(/*X297item*/((T0*)r173item((T173*)((C)->_name_list/*4*/),1))))->_result_type/*12*/));
}
/*No:E_REQUIRE.set_require_else*/
/*No:E_REQUIRE.start_position*/
/*No:E_REQUIRE.header_comment*/
/*No:E_REQUIRE.current_type*/
/*No:E_REQUIRE.run_feature*/


void r272make(T272* C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}


void r272make_runnable(T272* C,T0* a1,T0* a2,T0* a3){
C->_list=a1;
C->_current_type=a2;
C->_run_feature=a3;
}
/*No:E_REQUIRE.set_header_comment*/
/*No:E_REQUIRE.is_require_else*/
/*No:E_REQUIRE.empty*/
/*No:E_REQUIRE.list*/


void r272short(T272* C,T0* a1,T0* a2){
T2 _i=0;
r39hook_or((T39*)(oBC11short_print),a1,a2);
/*[IF*/
if(((C)->_header_comment/*4*/)==((void*)(NULL))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_5950aaa),((T0*)ms272_0aaaaaaaaaaaaaaaaaaa));
}
else{
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_5999aaa),((T0*)ms272_0aaaaaaaaaaaaaaaaaaaaa));
r52short((T52*)((C)->_header_comment/*4*/),((T0*)ms272_6048aaa),((T0*)ms272_6708),((T0*)ms272_6097a),((T0*)ms272_11aaaa));
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_6146aa),((T0*)ms272_0aaaaaaaaaaaaaaaaaaaa));
}
/*FI]*/
/*[IF*/
if(((C)->_list/*8*/)==((void*)(NULL))){
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_6195),((T0*)ms272_0a));
}
else{
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_6244aa),((T0*)ms272_0aaaaaaaaaaaaaaaaaa));
_i=1;
while (!((_i)==(((T50*)((C)->_list/*8*/))->_upper/*8*/))) {
r49short((T49*)(r50item((T50*)((C)->_list/*8*/),_i)),((T0*)ms272_6293aaa),((T0*)ms272_4167a),((T0*)ms272_5852aaa),((T0*)ms272_0aaaaaaaaaaaaaaaaa),((T0*)ms272_5901aaa),((T0*)ms272_0aaaaaaaaaaaaaaaa),((T0*)ms272_5950aa),((T0*)ms272_186a),((T0*)ms272_5999aa),((T0*)ms272_0aaaaaaaaaaaaaaa),((T0*)ms272_6048aa),((T0*)ms272_0aaaaaaaaaaaaaa),((T0*)ms272_6097),((T0*)ms272_60),((T0*)ms272_6146a),((T0*)ms272_11aaa),((T0*)ms272_6195aa),((T0*)ms272_0aaaaaaaaaaaaa),((T0*)ms272_6244a),((T0*)ms272_656a),((T0*)ms272_6293aa),((T0*)ms272_11aa),((T0*)ms272_5852aa),((T0*)ms272_0aaaaaaaaaaaa),((T0*)ms272_5901aa),((T0*)ms272_0aaaaaaaaaaa));
_i=(_i)+(1);
}
r49short((T49*)(r50item((T50*)((C)->_list/*8*/),_i)),((T0*)ms272_6293a),((T0*)ms272_4167),((T0*)ms272_5852a),((T0*)ms272_0aaaaaaaaaa),((T0*)ms272_5901a),((T0*)ms272_0aaaaaaaaa),((T0*)ms272_5950a),((T0*)ms272_186),((T0*)ms272_5999a),((T0*)ms272_0aaaaaaaa),((T0*)ms272_6048a),((T0*)ms272_0aaaaaaa),((T0*)ms272_5950),((T0*)ms272_0aaaaaa),((T0*)ms272_6146),((T0*)ms272_11a),((T0*)ms272_6195a),((T0*)ms272_0aaaaa),((T0*)ms272_6244),((T0*)ms272_656),((T0*)ms272_6293),((T0*)ms272_11),((T0*)ms272_5852),((T0*)ms272_0aaaa),((T0*)ms272_5901),((T0*)ms272_0aaa));
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_5999),((T0*)ms272_0aa));
}
/*FI]*/
r39hook_or((T39*)(oBC11short_print),((T0*)ms272_6048),((T0*)ms272_0));
}

