ftp.nice.ch/pub/next/developer/languages/eiffel/SmallEiffel.0.95.N.bs.tar.gz#/SmallEiffel/bin_c/compile_to_c4.c

This is compile_to_c4.c in view mode; [Download] [Up]

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.95)    --      FRANCE
-- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN 
-- University Henri Poincare' - Nancy 1 - email colnet@loria.fr 
-- CRIN (Centre de Recherche en Informatique de Nancy)
-- FRANCE 
*/
#include "compile_to_c.h"
T0* rT154try_to_undefine_aux(T154 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT154start_position(C));
rT154error(XrT67start_position(a1),(T0 *)ms1532);
rT154fe_undefine(a1,a2);
return R;
}
int rT154can_hide(T154 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT154error(rT154start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT154start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT154base_class_name(T154 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT154value(T154 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT154make_e_feature(T154 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT154make(T154 *C,T0* a1,T0* a2,T0* a3){
rT154make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
T0* rT155first_name(T155 *C){
T0* R=NULL;
R=rT128item((T128*)(C)->_names,1);
return R;
}
void rT155fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT155to_run_feature(T155 *C,T0* a1,T0* a2){
T0* R=NULL;
T0* _rc=NULL;
_rc=XrT58run_class(a1);
R=rT261at((T261*)_rc,a2);
if ((int)R) switch (((T0 *)R)->id) {
case 278: 
break;
default:
R = NULL;
};/*IF*/if (!(R)) {
{T278 *n=((T278*)se_new(278));
rT278make(n,a1,a2,(T0 *)C);
R=(T0 *)n;}
}
/*FI*/return R;
}
void rT155error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
void rT155fe_undefine(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms479);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms480);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
rT155fatal_error((T0 *)ms481);
}
int rT155is_merge_with(T155 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms484);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms485);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms486);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
rT45error((T45*)oRBC27eh,(T0 *)ms487);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms490);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT155start_position(T155 *C){
T0* R=NULL;
R=XrT67start_position(rT155first_name(C));
return R;
}
void rT155collect_for(/*C*/int a1){
/*IF*/if ((a1)==(1001)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT269fast_has((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
rT269add_last((T269*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
}
/*FI*/}
/*FI*/}
void rT155add_into(T155 *C,T0* a1){
T0* _fn=NULL;
int _i=0;
C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
_i=1;
while (!((_i)>(rT128count((T128*)(C)->_names)))) {
_fn=rT128item((T128*)(C)->_names,_i);
/*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
_fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(_fn));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
rT45error((T45*)oRBC27eh,(T0 *)ms414);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT67to_string(_fn));
rT45error((T45*)oRBC27eh,(T0 *)ms36);
}
else {
rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
}
/*FI*/_i=(_i)+(1);
}
}
T0* rT155try_to_undefine(T155 *C,T0* a1,T0* a2){
T0* R=NULL;
/*IF*/if (XrT67is_frozen(a1)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT155start_position(C));
rT155error(XrT67start_position(a1),(T0 *)ms478);
rT155fe_undefine(a1,a2);
}
else {
R=rT155try_to_undefine_aux(C,a1,a2);
/*IF*/if (((int)R)) {
XrT204set_clients(R,(C)->_clients);
}
else {
rT155fe_undefine(a1,a2);
}
/*FI*/}
/*FI*/return R;
}
T0* rT155try_to_undefine_aux(T155 *C,T0* a1,T0* a2){
T0* R=NULL;
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT155start_position(C));
rT155error(XrT67start_position(a1),(T0 *)ms1532);
rT155fe_undefine(a1,a2);
return R;
}
int rT155can_hide(T155 *C,T0* a1,T0* a2){
int R=0;
int _ne=0;
_ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
/*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
/*IF*/if (((!((C)->_result_type))||(!(XrT62result_type(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms497);
}
/*FI*/}
/*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
/*IF*/if (((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1))))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms498);
}
 else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
rT155error(rT155start_position(C),(T0 *)ms499);
}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)(C)->_result_type)) {
/*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms500);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms501);
}
/*FI*/}
/*FI*/}
/*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
/*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
/*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(XrT62start_position(a1));
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(rT155start_position(C));
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms502);
(/*UT*/(void)(T45*)oRBC27eh);
rT45append(XrT58run_time_mark(((T261*)a2)->_current_type));
rT45error((T45*)oRBC27eh,(T0 *)ms503);
}
/*FI*/}
/*FI*/}
/*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
return R;
}
T0* rT155base_class_name(T155 *C){
T0* R=NULL;
R=((T50*)(C)->_base_class)->_base_class_name;
return R;
}
T0* rT155value(T155 *C,int a1){
T0* R=NULL;
R=(C)->_value_mem;
return R;
}
void rT155make_e_feature(T155 *C,T0* a1,T0* a2){
C->_names=a1;
C->_result_type=a2;
}
void rT155make(T155 *C,T0* a1,T0* a2,T0* a3){
rT155make_e_feature(C,a1,a2);
C->_value_mem=a3;
}
int rT157use_current(T157 *C){
int R=0;
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=((T158*)(C)->_list)->_upper;
while (!((R)||((_i)==(0)))) {
R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
void rT157add_into(T157 *C,T0* a1){
T0* _a=NULL;
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=1;
while (!((_i)>(((T158*)(C)->_list)->_upper))) {
_a=rT158item((T158*)(C)->_list,_i);
/*IF*/if (!(rT158fast_has((T158*)a1,_a))) {
rT158add_last((T158*)a1,_a);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/}
void rT157from_runnable(T157 *C,T0* a1){
C->_list=a1;
C->_current_type=((T64*)rT158item((T158*)(C)->_list,1))->_current_type;
}
void rT157compile_to_c_old(T157 *C){
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=((T158*)(C)->_list)->_lower;
while (!((_i)>(((T158*)(C)->_list)->_upper))) {
rT64compile_to_c_old((T64*)rT158item((T158*)(C)->_list,_i));
_i=(_i)+(1);
}
}
/*FI*/}
void rT157compile_to_c(T157 *C){
int _i=0;
/*(IRF3*/(((T43*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms859/*)*/);
/*)*//*IF*/if (((int)(C)->_list)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms781);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms859/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms782);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms859/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms783);
_i=1;
while (!((_i)>(((T158*)(C)->_list)->_upper))) {
rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i));
_i=(_i)+(1);
}
rT43put_string((T43*)oRBC27cpp,(T0 *)ms789);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms859/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms790);
}
/*FI*/}
void rT157make(T157 *C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
int rT137use_current(T137 *C){
int R=0;
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=((T158*)(C)->_list)->_upper;
while (!((R)||((_i)==(0)))) {
R=rT64use_current((T64*)rT158item((T158*)(C)->_list,_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
int rT137empty(T137 *C){
int R=0;
R=!((C)->_list);
return R;
}
void rT137from_runnable(T137 *C,T0* a1){
C->_list=a1;
C->_current_type=((T64*)rT158item((T158*)(C)->_list,1))->_current_type;
}
void rT137compile_to_c(T137 *C){
int _i=0;
/*(IRF3*/(((T43*)oRBC27cpp)->_check_assertion_mode)=(/*(IRF4*/(T0 *)ms848/*)*/);
/*)*//*IF*/if (((int)(C)->_list)) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms781);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms848/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms782);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms848/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms783);
_i=1;
while (!((_i)>(((T158*)(C)->_list)->_upper))) {
rT64compile_to_c((T64*)rT158item((T158*)(C)->_list,_i));
_i=(_i)+(1);
}
rT43put_string((T43*)oRBC27cpp,(T0 *)ms789);
rT43put_string((T43*)oRBC27cpp,/*(IRF4*/(T0 *)ms848/*)*/);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms790);
}
/*FI*/}
void rT137make(T137 *C,T0* a1,T0* a2,T0* a3){
C->_start_position=a1;
C->_header_comment=a2;
C->_list=a3;
}
T0* rT236current_type(T236 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
T0* rT236to_runnable(T236 *C,T0* a1){
T0* R=NULL;
int _loop_check=0;
T0* _lb=NULL;
T0* _ue=NULL;
T0* _vc=NULL;
T0* _ic=NULL;
T0* _i=NULL;
_loop_check=rT44loop_check((T44*)oRBC27eiffel_run_control);
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
/*IF*/if (((int)(C)->_initialize)) {
_i=rT140to_runnable((T140*)(C)->_initialize,rT236current_type(C));
/*IF*/if (((int)_i)) {
C->_initialize=_i;
}
else {
rT236error((C)->_start_position,(T0 *)ms1265);
}
/*FI*/}
/*FI*//*IF*/if ((_loop_check)&&(((int)(C)->_invariant_clause))) {
_ic=rT237to_runnable((T237*)(C)->_invariant_clause,((T140*)a1)->_current_type);
/*IF*/if (((int)_ic)) {
C->_invariant_clause=_ic;
}
else {
rT236error((C)->_start_position,(T0 *)ms1266);
}
/*FI*/}
/*FI*//*IF*/if ((_loop_check)&&(((int)(C)->_variant_clause))) {
_vc=XrT238to_runnable((C)->_variant_clause,rT236current_type(C));
/*IF*/if (((int)_vc)) {
C->_variant_clause=_vc;
}
else {
rT236error((C)->_start_position,(T0 *)ms1267);
}
/*FI*/}
/*FI*/_ue=XrT68to_runnable((C)->_until_expression,rT236current_type(C));
/*IF*/if (((int)_ue)) {
C->_until_expression=_ue;
}
else {
rT236error((C)->_start_position,(T0 *)ms1268);
}
/*FI*//*IF*/if (((int)(C)->_loop_body)) {
_lb=rT140to_runnable((T140*)(C)->_loop_body,rT236current_type(C));
/*IF*/if (((int)_lb)) {
C->_loop_body=_lb;
}
else {
rT236error((C)->_start_position,(T0 *)ms1269);
}
/*FI*/}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
R=(T0 *)C;
}
/*FI*/}
else {
{T236 *n=((T236*)se_new(236));
rT236make(n,(C)->_start_position,(C)->_initialize,(C)->_invariant_clause,(C)->_variant_clause,(C)->_until_expression,(C)->_loop_body);
R=(T0 *)n;}
R=rT236to_runnable((T236*)R,a1);
}
/*FI*/return R;
}
void rT236error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT236add_comment(T236 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
 else {/*AT*//*IF*/if ((rT59count((T59*)a1))==(1)) {
R=(T0 *)C;
}
else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/}
/*FI*/return R;
}
int rT236use_current(T236 *C){
int R=0;
int _loop_check=0;
_loop_check=rT44loop_check((T44*)oRBC27eiffel_run_control);
/*IF*/if ((_loop_check)&&(((int)(C)->_variant_clause))) {
R=(R)||(XrT238use_current((C)->_variant_clause));
}
/*FI*//*IF*/if (((int)(C)->_initialize)) {
R=(R)||(rT140use_current((T140*)(C)->_initialize));
}
/*FI*/R=(R)||(XrT68use_current((C)->_until_expression));
/*IF*/if ((_loop_check)&&(((int)(C)->_invariant_clause))) {
R=(R)||(rT237use_current((T237*)(C)->_invariant_clause));
}
/*FI*//*IF*/if (((int)(C)->_loop_body)) {
R=(R)||(rT140use_current((T140*)(C)->_loop_body));
}
/*FI*/return R;
}
void rT236compile_to_c(T236 *C){
int _invariant_flag=0;
int _variant_flag=0;
int _loop_check=0;
_loop_check=rT44loop_check((T44*)oRBC27eiffel_run_control);
/*IF*/if ((_loop_check)&&(((int)(C)->_variant_clause))) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1334);
_variant_flag=1;
}
/*FI*//*IF*/if (((int)(C)->_initialize)) {
rT140compile_to_c((T140*)(C)->_initialize);
}
/*FI*//*IF*/if ((_loop_check)&&(((int)(C)->_invariant_clause))) {
rT237compile_to_c((T237*)(C)->_invariant_clause);
_invariant_flag=1;
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1336);
/*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43trace_boolean_expression((T43*)oRBC27cpp,(C)->_until_expression);
}
else {
XrT68compile_to_c((C)->_until_expression);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1337);
/*IF*/if (_variant_flag) {
rT43variant_check((T43*)oRBC27cpp,XrT238expression((C)->_variant_clause));
}
/*FI*//*IF*/if (((int)(C)->_loop_body)) {
rT140compile_to_c((T140*)(C)->_loop_body);
}
/*FI*//*IF*/if (_invariant_flag) {
rT237compile_to_c((T237*)(C)->_invariant_clause);
}
/*FI*/rT43put_string((T43*)oRBC27cpp,(T0 *)ms1340);
/*IF*/if (_variant_flag) {
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1341);
}
/*FI*/}
void rT236make(T236 *C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6){
C->_start_position=a1;
C->_initialize=a2;
C->_invariant_clause=a3;
C->_variant_clause=a4;
C->_until_expression=a5;
C->_loop_body=a6;
}
T0* rT226current_type(T226 *C){
T0* R=NULL;
/*IF*/if (((int)(C)->_run_compound)) {
R=((T140*)(C)->_run_compound)->_current_type;
}
/*FI*/return R;
}
T0* rT226twin(T226 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT226copy((T226*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
T0* rT226to_runnable(T226 *C,T0* a1){
T0* R=NULL;
T0* _wl=NULL;
T0* _te=NULL;
T0* _e=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
_e=XrT68to_runnable((C)->_expression,rT226current_type(C));
/*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
C->_expression=_e;
_te=XrT58run_type(XrT68result_type(_e));
}
/*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
/*IF*/if (XrT58is_character(_te)) {
/*IF*/if (((int)(C)->_when_list)) {
C->_when_list=rT232to_runnable_character((T232*)(C)->_when_list,(T0 *)C);
/*IF*/if (!((C)->_when_list)) {
rT226error((C)->_start_position,(T0 *)ms1261);
}
/*FI*/}
/*FI*/}
 else if (XrT58is_integer(_te)) {
/*IF*/if (((int)(C)->_when_list)) {
C->_when_list=rT232to_runnable_integer((T232*)(C)->_when_list,(T0 *)C);
/*IF*/if (!((C)->_when_list)) {
rT226error((C)->_start_position,(T0 *)ms1261);
}
/*FI*/}
/*FI*/}
else {
(/*UT*/(void)(T45*)oRBC27eh);
rT45append((T0 *)ms1263);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_type(_te,(T0 *)ms1264);
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT45print_as_error((T45*)oRBC27eh);
}
/*FI*/}
/*FI*//*IF*/if (((int)(C)->_else_compound)) {
C->_else_compound=rT140to_runnable((T140*)(C)->_else_compound,rT226current_type(C));
}
/*FI*/R=(T0 *)C;
}
else {
R=rT226twin(C);
{T232 *n=((T232*)se_new(232));
rT232from_when_list(n,(C)->_when_list);
_wl=(T0 *)n;}
/*(IRF3*/(((T226*)R)->_when_list)=(_wl);
/*)*//*(IRF3*/(((T226*)R)->_run_compound)=(NULL);
/*)*/R=rT226to_runnable((T226*)R,a1);
}
/*FI*/return R;
}
void rT226error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT226add_comment(T226 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
 else {/*AT*//*IF*/if ((rT59count((T59*)a1))==(1)) {
R=(T0 *)C;
}
else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/}
/*FI*/return R;
}
int rT226use_current(T226 *C){
int R=0;
R=(R)||(XrT68use_current((C)->_expression));
/*IF*/if (((int)(C)->_when_list)) {
R=(R)||(rT232use_current((T232*)(C)->_when_list));
}
/*FI*//*IF*/if (((int)(C)->_else_compound)) {
R=(R)||(rT140use_current((T140*)(C)->_else_compound));
}
/*FI*/return R;
}
void rT226set_else_compound(T226 *C,T0* a1,T0* a2){
C->_else_position=a1;
C->_else_compound=a2;
}
void rT226compile_to_c(T226 *C){
int _go_out_inspect=0;
rT43inspect_incr((T43*)oRBC27cpp);
_go_out_inspect=rT43new_goto((T43*)oRBC27cpp);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1315);
rT43put_inspect((T43*)oRBC27cpp);
rT43put_character((T43*)oRBC27cpp,'\75');
XrT68compile_to_c((C)->_expression);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1317);
/*IF*/if (((int)(C)->_when_list)) {
rT232compile_to_c((T232*)(C)->_when_list,_go_out_inspect);
}
/*FI*//*IF*/if (!((C)->_else_position)) {
/*IF*/if (rT44no_check((T44*)oRBC27eiffel_run_control)) {
rT43put_error1((T43*)oRBC27cpp,(T0 *)ms1332,(C)->_start_position);
}
/*FI*/}
else {
/*IF*/if (((int)(C)->_else_compound)) {
rT140compile_to_c((T140*)(C)->_else_compound);
}
/*FI*/}
/*FI*/rT43put_goto_label((T43*)oRBC27cpp,_go_out_inspect);
rT43put_string((T43*)oRBC27cpp,(T0 *)ms1333);
rT43inspect_decr((T43*)oRBC27cpp);
}
int rT226includes(T226 *C,int a1){
int R=0;
R=rT232includes_integer((T232*)(C)->_when_list,a1);
return R;
}
void rT226copy(T226 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}
void rT226make(T226 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_expression=a2;
}
void rT226add_when(T226 *C,T0* a1){
/*IF*/if (!((C)->_when_list)) {
{T232 *n=((T232*)se_new(232));
/*(IRF3*/((n)->_list)=(ma(233,0,1,a1));
/*)*/C->_when_list=(T0 *)n;}
}
else {
rT232add_last((T232*)(C)->_when_list,a1);
}
/*FI*/}
int rT172static_value(T172 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT172to_runnable(T172 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
C->_result_type=XrT262result_type(rT52top_rf((T52*)oRBC27small_eiffel));
R=(T0 *)C;
}
else {
{T172 *n=((T172*)se_new(172));
rT172make(n,(C)->_start_position);
R=(T0 *)n;}
R=rT172to_runnable((T172*)R,a1);
}
/*FI*/return R;
}
void rT172error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT172add_comment(T172 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT172to_key(T172 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
int rT172to_integer(T172 *C){
int R=0;
rT172error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT172written_in(T172 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT172is_a(T172 *C,T0* a1){
int R=0;
R=XrT58is_a(XrT58run_type((C)->_result_type),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT172error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT172make(T172 *C,T0* a1){
C->_to_string=(T0 *)ms289;
C->_start_position=a1;
}
int rT89static_value(T89 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
T0* rT89to_runnable(T89 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
}
 else if (((T0 *)(C)->_current_type)==((T0 *)a1)) {
R=(T0 *)C;
}
else {
{T89 *n=((T89*)se_new(89));
rT89make(n,(C)->_start_position,(C)->_is_written);
R=(T0 *)n;}
/*(IRF3*/(((T89*)R)->_current_type)=(a1);
/*)*/}
/*FI*/return R;
}
void rT89error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT89add_comment(T89 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T221 *n=((T221*)se_new(221));
rT221make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
T0* rT89result_type(T89 *C){
T0* R=NULL;
R=(C)->_current_type;
return R;
}
T0* rT89to_key(T89 *C){
T0* R=NULL;
R=(C)->_to_string;
return R;
}
int rT89to_integer(T89 *C){
int R=0;
rT89error((C)->_start_position,(T0 *)ms169);
return R;
}
T0* rT89written_in(T89 *C){
T0* R=NULL;
T0* _sp=NULL;
_sp=(C)->_start_position;
/*IF*/if (((int)_sp)) {
R=((T46*)_sp)->_base_class_name;
}
/*FI*/return R;
}
int rT89is_a(T89 *C,T0* a1){
int R=0;
R=XrT58is_a(XrT58run_type(rT89result_type(C)),XrT58run_type(XrT68result_type(a1)));
/*IF*/if (!(R)) {
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position((C)->_start_position);
rT89error(XrT68start_position(a1),(T0 *)ms1289);
}
/*FI*/return R;
}
void rT89make(T89 *C,T0* a1,int a2){
C->_start_position=a1;
C->_is_written=a2;
}
T0* rT122clients_for(T122 *C,T0* a1){
T0* R=NULL;
T0* _ei=NULL;
int _i=0;
_i=1;
while (!((((int)R))||((_i)>(((T127*)(C)->_items)->_upper)))) {
_ei=rT127item((T127*)(C)->_items,_i);
/*IF*/if (rT124affect((T124*)_ei,a1)) {
R=((T124*)_ei)->_clients;
}
else {
_i=(_i)+(1);
}
/*FI*/}
return R;
}
void rT122make(T122 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_items=a2;
}
int rT124for_all(T124 *C){
int R=0;
R=!((C)->_list);
return R;
}
int rT124affect(T124 *C,T0* a1){
int R=0;
/*IF*/if (rT124for_all(C)) {
R=1;
}
else {
R=rT128has((T128*)(C)->_list,a1);
}
/*FI*/return R;
}
void rT124make_all(T124 *C,T0* a1){
C->_clients=a1;
C->_list=NULL;
}
void rT124make(T124 *C,T0* a1,T0* a2){
C->_clients=a1;
{T128 *n=((T128*)se_new(128));
rT128make(n,a2);
C->_list=(T0 *)n;}
}
T0* rT225to_runnable(T225 *C,T0* a1){
T0* R=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
R=(T0 *)C;
}
 else if (((T0 *)(C)->_run_compound)==((T0 *)a1)) {
R=(T0 *)C;
}
else {
{T225 *n=((T225*)se_new(225));
/*(IRF3*/((n)->_start_position)=((C)->_start_position);
/*)*/R=(T0 *)n;}
R=rT225to_runnable((T225*)R,a1);
}
/*FI*/return R;
}
void rT225error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT225add_comment(T225 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
R=(T0 *)C;
}
/*AF*/else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
void rT225compile_to_c(T225 *C){
rT225error((C)->_start_position,(T0 *)ms1314);
}
void rT46show(T46 *C){
T0* _the_line=NULL;
T0* _str=NULL;
T0* _n=NULL;
int _nb=0;
int _c=0;
_n=((T48*)(C)->_base_class_name)->_to_string;
rT37put_string((T37*)oRBC1std_error,(T0 *)ms39);
rT37put_integer((T37*)oRBC1std_error,(C)->_line);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms41);
rT37put_integer((T37*)oRBC1std_error,(C)->_column);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms42);
rT37put_string((T37*)oRBC1std_error,_n);
_str=rT46path(C);
/*IF*/if (((int)_str)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms424);
rT37put_string((T37*)oRBC1std_error,_str);
rT37put_character((T37*)oRBC1std_error,'\51');
}
/*FI*/rT37put_string((T37*)oRBC1std_error,(T0 *)ms425);
/*IF*/if ((/*(IRF4*/((T51*)oRBC27eiffel_parser)->_is_running/*)*/)&&(rT7is_equal((T7*)((T48*)rT51current_class_name((T51*)oRBC27eiffel_parser))->_to_string,_n))) {
_the_line=((/*UT*/(void)(T60*)oRBC51text),
rT60item((C)->_line));
}
 else if (((int)rT46path(C))) {
rT60read((T60*)oRBC51text,((T50*)rT46base_class(C))->_path);
_the_line=((/*UT*/(void)(T60*)oRBC51text),
rT60item((C)->_line));
}
/*FI*//*IF*/if (((int)_the_line)) {
_c=(C)->_column;
rT37put_string((T37*)oRBC1std_error,_the_line);
rT37put_new_line((T37*)oRBC1std_error);
_nb=1;
while (!((_nb)==(_c))) {
/*IF*/if ((rT7item((T7*)_the_line,_nb))==('\11')) {
rT37put_character((T37*)oRBC1std_error,'\11');
}
else {
rT37put_character((T37*)oRBC1std_error,'\40');
}
/*FI*/_nb=(_nb)+(1);
}
rT37put_string((T37*)oRBC1std_error,(T0 *)ms426);
}
else {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms427);
rT37put_string((T37*)oRBC1std_error,_n);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms428);
}
/*FI*/}
void rT46fatal_error(/*C*/T0* a1){
(/*UT*/(void)(T45*)oRBC27eh);
rT45fatal_error(a1);
}
T0* rT46path(T46 *C){
T0* R=NULL;
T0* _bc=NULL;
/*IF*/if (/*(IRF4*/((T51*)oRBC27eiffel_parser)->_is_running/*)*/) {
/*IF*/if (((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52is_used(((T48*)(C)->_base_class_name)->_to_string))) {
_bc=rT48base_class((T48*)(C)->_base_class_name);
}
/*FI*/}
else {
_bc=rT48base_class((T48*)(C)->_base_class_name);
}
/*FI*//*IF*/if (((int)_bc)) {
R=((T50*)_bc)->_path;
}
/*FI*/return R;
}
int rT46is_equal(T46 *C,T0* a1){
int R=0;
R=((((((C)->_line)==(((T46*)a1)->_line))&&(((C)->_column)==(((T46*)a1)->_column)))&&(((int)(C)->_base_class_name)))&&(((int)((T46*)a1)->_base_class_name)))&&(((T0 *)((T48*)(C)->_base_class_name)->_to_string)==((T0 *)((T48*)((T46*)a1)->_base_class_name)->_to_string));
return R;
}
T0* rT46to_err_msg(T46 *C){
T0* R=NULL;
{T7 *n=((T7*)se_new(7));
rT7copy(n,(T0 *)ms459);
R=(T0 *)n;}
rT7append((T7*)R,rT2to_string((C)->_line));
rT7append((T7*)R,(T0 *)ms460);
rT7append((T7*)R,rT2to_string((C)->_column));
/*IF*/if (((int)(C)->_base_class_name)) {
rT7append((T7*)R,(T0 *)ms461);
rT7append((T7*)R,rT48to_err_msg((T48*)(C)->_base_class_name));
}
/*FI*/return R;
}
T0* rT46base_class(T46 *C){
T0* R=NULL;
/*IF*/if (/*(IRF4*/((T51*)oRBC27eiffel_parser)->_is_running/*)*/) {
/*IF*/if (rT7empty((T7*)((T48*)(C)->_base_class_name)->_to_string)) {
rT46fatal_error((T0 *)ms412);
}
 else if (((/*UT*/(void)(T52*)oRBC27small_eiffel),
rT52is_used(((T48*)(C)->_base_class_name)->_to_string))) {
R=rT48base_class((T48*)(C)->_base_class_name);
}
else {
rT46fatal_error((T0 *)ms413);
}
/*FI*/}
else {
R=rT48base_class((T48*)(C)->_base_class_name);
}
/*FI*/return R;
}
void rT46with(T46 *C,int a1,int a2,T0* a3){
C->_line=a1;
C->_column=a2;
C->_base_class_name=a3;
}
void rT46make(T46 *C,int a1,int a2){
C->_line=a1;
C->_column=a2;
C->_base_class_name=rT51current_class_name((T51*)oRBC27eiffel_parser);
}
T0*oRBC27eiffel_parser;
void rT37put_integer(T37 *C,int a1){
/*(IRF3*/(((T7*)oRBC38tmp_string)->_count)=(0);
/*)*/rT2append_in(a1,oRBC38tmp_string);
rT37put_string(C,oRBC38tmp_string);
}
T0*oRBC38tmp_string;
void rT37put_new_line(T37 *C){
rT37put_character(C,'\12');
}
void rT37die_with_code(/*C*/int a1){
exit(a1);
}
void rT37put_string(T37 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT37put_character(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
}
int rT37is_connected(T37 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
void rT37disconnect(T37 *C){
int _err=0;
_err=fclose((C)->_output_stream);
C->_path=NULL;
C->_output_stream=stderr;
}
void rT37connect_to(T37 *C,T0* a1){
C->_mode=(T0 *)ms523;
C->_output_stream=rT37fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}
void * rT37fopen(/*C*/T0* a1,T0* a2){
void * R=0;
void * _pm=0;
void * _pf=0;
_pf=rT7to_external((T7*)a1);
_pm=rT7to_external((T7*)a2);
R=(void*)fopen(((char*)_pf),((char*)_pm));
return R;
}
void rT37put_character(T37 *C,char a1){
char _err=0;
_err=fputc(a1,(C)->_output_stream);
/*IF*/if ((_err)!=(a1)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms5);
/*(IRF3*/rsp();
rT37die_with_code(1);
/*)*/}
/*FI*/}
void rT37make(T37 *C){
C->_output_stream=stderr;
}
void rT38put_integer(T38 *C,int a1){
/*(IRF3*/(((T7*)oRBC38tmp_string)->_count)=(0);
/*)*/rT2append_in(a1,oRBC38tmp_string);
rT38put_string(C,oRBC38tmp_string);
}
void rT38die_with_code(/*C*/int a1){
exit(a1);
}
void rT38put_string(T38 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT38put_character(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
}
int rT38is_connected(T38 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
void rT38disconnect(T38 *C){
int _err=0;
_err=fclose((C)->_output_stream);
C->_path=NULL;
}
void rT38connect_to(T38 *C,T0* a1){
C->_mode=(T0 *)ms523;
C->_output_stream=rT38fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}
void * rT38fopen(/*C*/T0* a1,T0* a2){
void * R=0;
void * _pm=0;
void * _pf=0;
_pf=rT7to_external((T7*)a1);
_pm=rT7to_external((T7*)a2);
R=(void*)fopen(((char*)_pf),((char*)_pm));
return R;
}
void rT38put_character(T38 *C,char a1){
char _err=0;
_err=fputc(a1,(C)->_output_stream);
/*IF*/if ((_err)!=(a1)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms5);
/*(IRF3*/rsp();
rT38die_with_code(1);
/*)*/}
/*FI*/}
T0* rT217to_runnable(T217 *C,T0* a1){
T0* R=NULL;
T0* _ri=NULL;
/*IF*/if (!((C)->_run_compound)) {
C->_run_compound=a1;
_ri=XrT177to_runnable((C)->_instruction,a1);
/*IF*/if (!(_ri)) {
rT217error(XrT177start_position((C)->_instruction),(T0 *)ms1255);
}
else {
C->_instruction=_ri;
R=(T0 *)C;
}
/*FI*/}
else {
{T217 *n=((T217*)se_new(217));
rT217make(n,(C)->_instruction,(C)->_comment);
R=(T0 *)n;}
R=rT217to_runnable((T217*)R,a1);
}
/*FI*/return R;
}
void rT217error(/*C*/T0* a1,T0* a2){
(/*UT*/(void)(T45*)oRBC27eh);
rT45add_position(a1);
rT45error((T45*)oRBC27eh,a2);
}
T0* rT217add_comment(/*C*/T0* a1){
T0* R=NULL;
return R;
}
T0* rT217start_position(T217 *C){
T0* R=NULL;
R=XrT177start_position((C)->_instruction);
return R;
}
int rT217use_current(T217 *C){
int R=0;
R=XrT177use_current((C)->_instruction);
return R;
}
void rT217compile_to_c(T217 *C){
XrT177compile_to_c((C)->_instruction);
}
void rT217make(T217 *C,T0* a1,T0* a2){
C->_instruction=a1;
C->_comment=a2;
}
int rT42feof(T42 *C,void * a1){
int R=0;
R=feof((FILE*)C->_input_stream);
return R;
}
int rT42end_of_input(T42 *C){
int R=0;
R=rT42feof(C,(C)->_input_stream);
return R;
}
int rT42is_connected(T42 *C){
int R=0;
R=((int)(C)->_path);
return R;
}
void rT42disconnect(T42 *C){
int _err=0;
_err=fclose((C)->_input_stream);
C->_path=NULL;
}
T0*oRBC42last_string;
char rT42last_character(T42 *C){
char R=0;
R=(C)->_last_character_memory;
return R;
}
void rT42connect_to(T42 *C,T0* a1){
/*(IRF3*/((C)->_mode)=((T0 *)ms25);
/*)*/C->_input_stream=rT42fopen(a1,(C)->_mode);
/*IF*/{/*AT*/C->_path=a1;
}
/*FI*/}
void rT42skip_separators(T42 *C){
while (!((rT42end_of_input(C))||(!(rT3is_separator(rT42last_character(C)))))) {
rT42read_character(C);
}
}
void * rT42fopen(/*C*/T0* a1,T0* a2){
void * R=0;
void * _pm=0;
void * _pf=0;
_pf=rT7to_external((T7*)a1);
_pm=rT7to_external((T7*)a2);
R=(void*)fopen(((char*)_pf),((char*)_pm));
return R;
}
void rT42read_word(T42 *C){
rT42skip_separators(C);
/*(IRF3*/(((T7*)oRBC42last_string)->_count)=(0);
/*)*/while (!((rT42end_of_input(C))||(rT3is_separator(rT42last_character(C))))) {
rT7extend((T7*)oRBC42last_string,rT42last_character(C));
rT42read_character(C);
}
}
void rT42read_line_in(T42 *C,T0* a1){
/*(IRF3*/(((T7*)a1)->_count)=(0);
/*)*/rT42read_character(C);
while (!((rT42end_of_input(C))||((rT42last_character(C))==('\12')))) {
rT7extend((T7*)a1,rT42last_character(C));
rT42read_character(C);
}
}
void rT42read_line(T42 *C){
rT42read_line_in(C,oRBC42last_string);
}
void rT42read_character(T42 *C){
C->_last_character_memory=fgetc((C)->_input_stream);
}
T0* rT7twin(T7 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);
AF_1
rT7copy((T7*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
int rT7hash_code(T7 *C){
int R=0;
int _i=0;
_i=(C)->_count;
/*IF*/if ((_i)>(5)) {
_i=5;
}
/*FI*/while (!((_i)==(0))) {
R=(R)+(((unsigned char)rT7item(C,_i)));
_i=(_i)-(1);
}
return R;
}
void rT7reverse(T7 *C){
int _i2=0;
int _i1=0;
_i1=1;
_i2=(C)->_count;
while (!((_i1)>=(_i2))) {
rT7swap(C,_i1,_i2);
_i1=(_i1)+(1);
_i2=(_i2)-(1);
}
}
void rT7extend(T7 *C,char a1){
/*IF*/if (((C)->_capacity)>((C)->_count)) {
}
 else if (((C)->_capacity)==(0)) {
C->_capacity=32;
C->_storage=rT7malloc((C)->_capacity);
}
else {
C->_capacity=((C)->_capacity)+(32);
C->_storage=rT7realloc((C)->_storage,(C)->_capacity);
}
/*FI*/C->_count=((C)->_count)+(1);
rT7put(C,a1,(C)->_count);
}
int rT7same_as(T7 *C,T0* a1){
int R=0;
int _i=0;
/*IF*/if (((T0 *)a1)==((T0 *)C)) {
R=1;
}
else {
/*IF*/if ((((T7*)a1)->_count)!=((C)->_count)) {
}
else {
_i=(C)->_count;
while (!(((_i)==(0))||(!(rT3same_as(rT7item(C,_i),rT7item((T7*)a1,_i)))))) {
_i=(_i)-(1);
}
R=(_i)==(0);
}
/*FI*/}
/*FI*/return R;
}
void rT7to_upper(T7 *C){
int _i=0;
_i=(C)->_count;
while (!((_i)==(0))) {
rT7put(C,rT3to_upper(rT7item(C,_i)),_i);
_i=(_i)-(1);
}
}
char rT7first(T7 *C){
char R=0;
R=rT7item(C,1);
return R;
}
void rT7remove_between(T7 *C,int a1,int a2){
int _i=0;
_i=a2;
while (!((_i)>=((C)->_count))) {
rT7put(C,rT7item(C,(_i)+(1)),((a1)+(_i))-(a2));
_i=(_i)+(1);
}
C->_count=((C)->_count)-(((a2)-(a1))+(1));
}
void rT7remove_first(T7 *C,int a1){
/*IF*/if ((a1)>(0)) {
rT7remove_between(C,1,a1);
}
/*FI*/}
void rT7remove_last(T7 *C,int a1){
C->_count=((C)->_count)-(a1);
}
int rT7has_prefix(T7 *C,T0* a1){
int R=0;
int _i=0;
/*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) {
_i=((T7*)a1)->_count;
while (!(((_i)==(0))||((rT7item(C,_i))!=(rT7item((T7*)a1,_i))))) {
_i=(_i)-(1);
}
R=(_i)==(0);
}
/*FI*/return R;
}
int rT7has_suffix(T7 *C,T0* a1){
int R=0;
int _i2=0;
int _i1=0;
/*IF*/if ((((T7*)a1)->_count)<=((C)->_count)) {
_i1=(((C)->_count)-(((T7*)a1)->_count))+(1);
_i2=1;
while (!((((_i1)>((C)->_count))||((_i2)>(((T7*)a1)->_count)))||((rT7item(C,_i1))!=(rT7item((T7*)a1,_i2))))) {
_i1=(_i1)+(1);
_i2=(_i2)+(1);
}
R=(_i1)>((C)->_count);
}
/*FI*/return R;
}
void rT7precede(T7 *C,char a1){
int _i=0;
rT7extend(C,'\40');
_i=(C)->_count;
while (!((_i)==(1))) {
rT7put(C,rT7item(C,(_i)-(1)),_i);
_i=(_i)-(1);
}
rT7put(C,a1,1);
}
int rT7empty(T7 *C){
int R=0;
R=((C)->_count)==(0);
return R;
}
char rT7item(T7 *C,int a1){
char R=0;
/*IF*//*AF*//*AE*/
/*FI*/R=(C->_storage)[a1-1];
return R;
}
char * rT7realloc(/*C*/char * a1,int a2){
char * R=0;
R=(char*)realloc(a1,(size_t)a2);
return R;
}
T0* rT7substring(T7 *C,int a1,int a2){
T0* R=NULL;
int _i=0;
{T7 *n=((T7*)se_new(7));
rT7make(n,((a2)-(a1))+(1));
R=(T0 *)n;}
_i=a1;
while (!((_i)>(a2))) {
rT7extend((T7*)R,rT7item(C,_i));
_i=(_i)+(1);
}
return R;
}
int rT7is_equal(T7 *C,T0* a1){
int R=0;
int _i=0;
/*IF*/if (((T0 *)C)==((T0 *)a1)) {
R=1;
}
else {
_i=(C)->_count;
R=(_i)==(((T7*)a1)->_count);
while (!(((!(R))||((_i)==(0))))) {
R=(rT7item(C,_i))==(rT7item((T7*)a1,_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
void rT7append(T7 *C,T0* a1){
int _i=0;
_i=1;
while (!((_i)>(((T7*)a1)->_count))) {
rT7extend(C,rT7item((T7*)a1,_i));
_i=(_i)+(1);
}
}
char rT7last(T7 *C){
char R=0;
R=rT7item(C,(C)->_count);
return R;
}
char * rT7malloc(/*C*/int a1){
char * R=0;
R=(char*)malloc((size_t)a1);
return R;
}
int rT7index_of(T7 *C,char a1){
int R=0;
R=1;
while (!(((R)>((C)->_count))||((a1)==(rT7item(C,R))))) {
R=(R)+(1);
}
return R;
}
int rT7to_integer(T7 *C){
int R=0;
int _minus=0;
char _cc=0;
int _state=0;
int _i=0;
_i=1;
while (!(((_i)>((C)->_count))||((_state)==(4)))) {
_cc=rT7item(C,_i);
{int iv1=_state;
if (0 == iv1) goto l31;
goto l32;
 l31: ;
/*IF*/if (rT3is_separator(_cc)) {
}
 else if ((_cc)==('\53')) {
_state=1;
}
 else if ((_cc)==('\55')) {
_minus=1;
_state=1;
}
 else if (rT3is_digit(_cc)) {
R=rT3value(_cc);
_state=2;
}
else {
_state=4;
}
/*FI*/goto l30;
 l32: ;
if (1 == iv1) goto l33;
goto l34;
 l33: ;
/*IF*/if (rT3is_separator(_cc)) {
}
 else if (rT3is_digit(_cc)) {
R=rT3value(_cc);
_state=2;
}
else {
_state=4;
}
/*FI*/goto l30;
 l34: ;
if (2 == iv1) goto l35;
goto l36;
 l35: ;
/*IF*/if (rT3is_digit(_cc)) {
R=((R)*(10))+(rT3value(_cc));
}
 else if (rT3is_separator(_cc)) {
_state=3;
}
else {
_state=4;
}
/*FI*/goto l30;
 l36: ;
/*IF*/if (rT3is_separator(_cc)) {
}
else {
_state=4;
}
/*FI*/ l30: ;
}
_i=(_i)+(1);
}
/*IF*/if ((_state)==(4)) {
rT37put_string((T37*)oRBC1std_error,(T0 *)ms879);
rT37put_string((T37*)oRBC1std_error,(T0 *)C);
rT37put_string((T37*)oRBC1std_error,(T0 *)ms880);
}
 else if (_minus) {
R=-(R);
}
/*FI*/return R;
}
void rT7put(T7 *C,char a1,int a2){
/*IF*//*AF*//*AE*/
/*FI*/(C->_storage)[a2-1]=a1;
}
void rT7swap(T7 *C,int a1,int a2){
char _tmp=0;
_tmp=rT7item(C,a1);
rT7put(C,rT7item(C,a2),a1);
rT7put(C,_tmp,a2);
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.