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

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

/* ANSI C code generated by SmallEiffel. */
/*
-- SmallEiffel  -- Release (- 0.91)    --      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"
int ofBC27type_string=0;
T0*oRBC27type_string;
/*MANIFEST_STRING*/T0* rT80type_string(/*C*/void){
if (ofBC27type_string==0){
T0* R=NULL;
ofBC27type_string=1;
{T117 *n=((T117*)se_new(117));
rT117make(n,NULL);
R=(T0 *)n;}
oRBC27type_string=R;}
return oRBC27type_string;}
/*MANIFEST_STRING*/T0* rT80twin(T80 *C){
T0* R=NULL;
/*IF*//*AF*//*AE*/
R=(T0 *)se_new(C->id);AF_1
rT80copy((T80*)R,(T0 *)C);
AF_0
/*FI*/return R;
}
/*MANIFEST_STRING*/int rT80static_value(T80 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*MANIFEST_STRING*/void rT80break_line(T80 *C){
/*IF*/if (!((C)->_break)) {
C->_break=ma(59,2,1,(((T7*)(C)->_to_string)->_count)+(1));
}
else {
rT59add_last((T59*)(C)->_break,(((T7*)(C)->_to_string)->_count)+(1));
}
/*FI*/}/*MANIFEST_STRING*/T0* rT80to_runnable(T80 *C,T0* a1){
T0* R=NULL;
T0* _bc=NULL;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
_bc=rT49base_class((T49*)(C)->_start_position);
rT7extend((T7*)(C)->_mapping_c,'\137');
rT2append_in(((T53*)_bc)->_id,(C)->_mapping_c);
rT44add_manifest_string((T0 *)C);
rT80set_at_run_time();
R=(T0 *)C;
}
else {
R=rT80twin(C);
/*[IRF3:set_current_type*//*AW*/((T80*)R)->_current_type=(a1);/*]*/
}
/*FI*/return R;
}
/*MANIFEST_STRING*/void rT80add_ascii(T80 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
/*IF*/if (!((C)->_ascii)) {
C->_ascii=ma(59,2,1,((T7*)(C)->_to_string)->_count);
}
else {
rT59add_last((T59*)(C)->_ascii,((T7*)(C)->_to_string)->_count);
}
/*FI*/}/*MANIFEST_STRING*/void rT80add(T80 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
}/*MANIFEST_STRING*/void rT80error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*MANIFEST_STRING*/T0* rT80add_comment(T80 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T228 *n=((T228*)se_new(228));
rT228make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
int ofBC80set_at_run_time=0;
/*MANIFEST_STRING*/void rT80set_at_run_time(/*C*/void){
if (ofBC80set_at_run_time==0){
ofBC80set_at_run_time=1;
rT269set_at_run_time((T269*)XrT62run_class(rT117run_type((T117*)/*(IRF4*/rT80type_string()/*)*/)));
}}
/*MANIFEST_STRING*/int rT80is_equal(T80 *C,T0* a1){
int R=0;
R=rT80standard_is_equal(C,a1);
return R;
}
/*MANIFEST_STRING*/void rT80from_manifest_string(T80 *C,T0* a1,int a2){
rT80copy(C,a1);
C->_mapping_c=rT7twin((T7*)((T80*)a1)->_mapping_c);
rT7extend((T7*)(C)->_mapping_c,'\137');
rT2append_in(a2,(C)->_mapping_c);
}/*MANIFEST_STRING*/void rT80compile_to_c(T80 *C){
rT44put_string((T44*)oRBC27cpp,(C)->_mapping_c);
}/*MANIFEST_STRING*/void rT80add_percent(T80 *C,char a1){
rT7extend((T7*)(C)->_to_string,a1);
/*IF*/if (!((C)->_percent)) {
C->_percent=ma(59,2,1,((T7*)(C)->_to_string)->_count);
}
else {
rT59add_last((T59*)(C)->_percent,((T7*)(C)->_to_string)->_count);
}
/*FI*/}/*MANIFEST_STRING*/int rT80to_integer(T80 *C){
int R=0;
rT80error((C)->_start_position,(T0 *)ms104_27);
return R;
}
/*MANIFEST_STRING*/int rT80standard_is_equal(T80 *C,T0* a1){
int R=0;
/*IF*//*AF*/if (((T0 *)a1)==((T0 *)C)) {
R=1;
}
else {
R=!memcmp(C,a1,s[C->id]);
}
/*FI*/return R;
}
/*MANIFEST_STRING*/void rT80copy(T80 *C,T0* a1){
/*IF*//*AF*//*AE*/
memcpy(C,a1,s[C->id]);
/*FI*/}/*MANIFEST_STRING*/int rT80is_a(T80 *C,T0* a1){
int R=0;
R=XrT62is_a(rT117run_type((T117*)/*(IRF4*/rT80type_string()/*)*/),XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position((C)->_start_position);
rT80error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*MANIFEST_STRING*/void rT80make(T80 *C,T0* a1,int a2){
C->_start_position=a1;
{T7 *n=((T7*)se_new(7));
rT7make(n,0);
C->_to_string=(T0 *)n;}
{T7 *n=((T7*)se_new(7));
rT7make(n,12);
C->_mapping_c=(T0 *)n;}
rT7copy((T7*)(C)->_mapping_c,(T0 *)ms1_80);
rT2append_in(a2,(C)->_mapping_c);
}/*CLIENT_LIST*/void rT125error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*CLIENT_LIST*/T0* rT125merge_with(T125 *C,T0* a1,T0* a2,T0* a3){
T0* R=NULL;
/*IF*/if (((T0 *)C)==((T0 *)a1)) {
R=(T0 *)C;
}
 else if ((rT125is_omitted(C))||(rT125gives_permission_to_any(C))) {
R=(T0 *)C;
}
 else if ((rT125is_omitted((T125*)a1))||(rT125gives_permission_to_any((T125*)a1))) {
R=a1;
}
else {
rT48add_position((C)->_start_position);
rT125error(((T125*)a1)->_start_position,(T0 *)ms5_125);
rT48add_position(/*XrT*FEATURE_NAME*/((T70*)a2)->_start_position);
rT125error(XrT66start_position(a3),(T0 *)ms6_125);
}
/*FI*/return R;
}
/*CLIENT_LIST*/T0* rT125class_with(/*C*/T0* a1){
T0* R=NULL;
R=rT55get_class(a1);
return R;
}
/*CLIENT_LIST*/int rT125is_omitted(T125 *C){
int R=0;
R=!((C)->_start_position);
return R;
}
/*CLIENT_LIST*/int rT125gives_permission_to_any(T125 *C){
int R=0;
R=rT125gives_permission_to(C,((T53*)/*(IRF4*/rT125class_with((T0 *)ms36_27)/*)*/)->_base_class_name);
return R;
}
/*CLIENT_LIST*/int rT125gives_permission_to(T125 *C,T0* a1){
int R=0;
/*IF*/if (rT125is_omitted(C)) {
R=1;
}
 else if (!((C)->_list)) {
}
else {
R=rT128gives_permission_to((T128*)(C)->_list,a1);
}
/*FI*//*IF*/if (!(R)) {
rT48add_position((C)->_start_position);
rT48append(((T51*)a1)->_to_string);
rT48append((T0 *)ms4_125);
}
/*FI*/return R;
}
/*CLIENT_LIST*/void rT125make(T125 *C,T0* a1,T0* a2){
C->_start_position=a1;
/*IF*/if (((int)a2)) {
{T128 *n=((T128*)se_new(128));
rT128make(n,a2);
C->_list=(T0 *)n;}
}
/*FI*/}/*LOCAL_VAR_LIST*/T0* rT141name(T141 *C,int a1){
T0* R=NULL;
R=rT187item((T187*)(C)->_flat_list,a1);
return R;
}
/*LOCAL_VAR_LIST*/T0* rT141type(T141 *C,int a1){
T0* R=NULL;
R=((T186*)rT141name(C,a1))->_result_type;
return R;
}
T0*oRBC141c2c_mem;
/*LOCAL_VAR_LIST*/void rT141fatal_error(/*C*/T0* a1){
rT48fatal_error(a1);
}/*LOCAL_VAR_LIST*/T0* rT141to_runnable(T141 *C,T0* a1){
T0* R=NULL;
T0* _n2=NULL;
T0* _n1=NULL;
int _i=0;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
R=(T0 *)C;
_i=((T187*)(C)->_flat_list)->_upper;
while (!((((_i)==(0))||((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)>(0))))) {
_n1=rT187item((T187*)(C)->_flat_list,_i);
_n2=rT186to_runnable((T186*)_n1,a1);
/*IF*/if (!(_n2)) {
rT141error(((T186*)_n1)->_start_position,(T0 *)ms1_98);
}
 else if (((T0 *)_n1)!=((T0 *)_n2)) {
rT187put((T187*)(C)->_flat_list,_n2,_i);
}
/*FI*/rT186name_clash((T186*)_n2);
_i=(_i)-(1);
}
}
else {
{T141 *n=((T141*)se_new(141));
rT141from_current(n,(T0 *)C);
R=(T0 *)n;}
R=rT141to_runnable((T141*)R,a1);
}
/*FI*/return R;
}
/*LOCAL_VAR_LIST*/int rT141count(T141 *C){
int R=0;
R=((T187*)(C)->_flat_list)->_upper;
return R;
}
/*LOCAL_VAR_LIST*/void rT141error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*LOCAL_VAR_LIST*/int rT141rank_of(T141 *C,T0* a1){
int R=0;
R=rT141count(C);
while (!(((R)==(0))||(rT7is_equal((T7*)a1,((T186*)rT141name(C,R))->_to_string)))) {
R=(R)-(1);
}
return R;
}
/*LOCAL_VAR_LIST*/void rT141from_current(T141 *C,T0* a1){
T0* _n=NULL;
int _i=0;
C->_start_position=((T141*)a1)->_start_position;
C->_list=((T141*)a1)->_list;
C->_flat_list=rT187twin((T187*)((T141*)a1)->_flat_list);
_i=((T187*)(C)->_flat_list)->_upper;
while (!((_i)==(0))) {
_n=rT186twin((T186*)rT187item((T187*)(C)->_flat_list,_i));
rT186set_declaration_name((T186*)_n);
/*[IRF3:set_current_type*//*AW*/((T186*)_n)->_current_type=(NULL);/*]*/
rT187put((T187*)(C)->_flat_list,_n,_i);
_i=(_i)-(1);
}
}/*LOCAL_VAR_LIST*/void rT141add_last(T141 *C,T0* a1){
T0* _n2=NULL;
int _i=0;
_i=1;
while (!(!(rT187item((T187*)(C)->_flat_list,_i)))) {
_n2=rT187item((T187*)(C)->_flat_list,_i);
/*IF*/if (rT7is_equal((T7*)((T186*)_n2)->_to_string,((T186*)a1)->_to_string)) {
rT48add_position(((T186*)a1)->_start_position);
rT48add_position(((T186*)_n2)->_start_position);
rT141fatal_error((T0 *)ms2_98);
}
/*FI*/_i=(_i)+(1);
}
rT187put((T187*)(C)->_flat_list,a1,_i);
/*[IRF3:set_rank*//*AW*/((T186*)a1)->_rank=(_i);/*]*/
}/*LOCAL_VAR_LIST*/void rT141compile_to_c(T141 *C){
T0* _t=NULL;
int _i=0;
_i=rT141count(C);
while (!((_i)==(0))) {
_t=XrT62run_type(rT141type(C,_i));
/*[IRF3:clear*//*AW*/((T7*)oRBC141c2c_mem)->_count=(0);/*]*/
XrT62c_type_in(_t,oRBC141c2c_mem);
rT7append((T7*)oRBC141c2c_mem,(T0 *)ms2_141);
rT7append((T7*)oRBC141c2c_mem,((T186*)rT141name(C,_i))->_to_string);
rT7extend((T7*)oRBC141c2c_mem,'\75');
rT44put_string((T44*)oRBC27cpp,oRBC141c2c_mem);
XrT62c_initialize(_t);
rT44put_string((T44*)oRBC27cpp,(T0 *)ms3_141);
_i=(_i)-(1);
}
}/*LOCAL_VAR_LIST*/void rT141initialize_expanded(T141 *C){
T0* _rf=NULL;
T0* _t=NULL;
int _i=0;
_i=rT141count(C);
while (!((_i)==(0))) {
_t=XrT62run_type(rT141type(C,_i));
/*IF*/if (XrT62is_expanded(_t)) {
/*IF*/if (!(XrT62fast_mapping_c(_t))) {
_rf=rT53expanded_initializer((T53*)XrT62base_class(_t),_t);
/*IF*/if (((int)_rf)) {
rT44push_local_expanded((T44*)oRBC27cpp,((T186*)rT141name(C,_i))->_to_string);
XrT268mapping_c(_rf);
rT44pop((T44*)oRBC27cpp);
/*IF*/if (rT44call_invariant_start((T44*)oRBC27cpp,/*XrT*RUN_FEATURE*/((T274*)_rf)->_current_type)) {
rT44put_character((T44*)oRBC27cpp,'\46');
rT44put_local_name((T44*)oRBC27cpp,((T186*)rT141name(C,_i))->_to_string);
rT44call_invariant_end((T44*)oRBC27cpp);
rT44put_semicolon((T44*)oRBC27cpp);
}
/*FI*/}
/*FI*/}
/*FI*/}
/*FI*/_i=(_i)-(1);
}
}/*LOCAL_VAR_LIST*/void rT141make(T141 *C,T0* a1,T0* a2){
int _actual_count=0;
int _il=0;
C->_start_position=a1;
C->_list=a2;
_il=1;
while (!((_il)>(((T147*)(C)->_list)->_upper))) {
_actual_count=(_actual_count)+(XrT143count(rT147item((T147*)(C)->_list,_il)));
_il=(_il)+(1);
}
{T187 *n=((T187*)se_new(187));
rT187make(n,1,_actual_count);
C->_flat_list=(T0 *)n;}
_il=1;
while (!((_il)>(((T147*)(C)->_list)->_upper))) {
XrT143append_in(rT147item((T147*)(C)->_list,_il),(T0 *)C);
_il=(_il)+(1);
}
}/*MANIFEST_ARRAY*/T0* rT164type_any(/*C*/void){
if (ofBC27type_any==0){
T0* R=NULL;
ofBC27type_any=1;
{T91 *n=((T91*)se_new(91));
rT91make(n,NULL);
R=(T0 *)n;}
oRBC27type_any=R;}
return oRBC27type_any;}
/*MANIFEST_ARRAY*/int rT164static_value(T164 *C){
int R=0;
R=(C)->_static_value_mem;
return R;
}
/*MANIFEST_ARRAY*/T0* rT164to_runnable(T164 *C,T0* a1){
T0* R=NULL;
T0* _t=NULL;
T0* _e=NULL;
int _i=0;
/*IF*/if (!((C)->_current_type)) {
C->_current_type=a1;
/*IF*/if (!((C)->_list)) {
_t=rT164type_any();
}
else {
_i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper;
while (!((_i)==(0))) {
_e=XrT72to_runnable(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i),a1);
/*IF*/if (!(_e)) {
rT48add_position((C)->_start_position);
rT164error(XrT72start_position(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i)),(T0 *)ms3_164);
_i=0;
}
else {
/*XrT*ARRAY[EXPRESSION]*/rT85put((T85*)(C)->_list,_e,_i);
/*IF*/if (!(_t)) {
_t=XrT72result_type(_e);
}
else {
_t=XrT62smallest_ancestor(_t,XrT72result_type(_e));
}
/*FI*/_i=(_i)-(1);
}
/*FI*/}
}
/*FI*//*IF*/if ((/*(IRF4*/((T48*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
{T107 *n=((T107*)se_new(107));
rT107make(n,NULL,_t);
C->_result_type=(T0 *)n;}
C->_result_type=rT107to_runnable((T107*)(C)->_result_type,(C)->_current_type);
rT269set_at_run_time((T269*)rT107run_class((T107*)(C)->_result_type));
R=(T0 *)C;
/*IF*/if ((XrT62is_reference(_t))&&(((int)(C)->_list))) {
_i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper;
while (!((_i)==(0))) {
_t=XrT72result_type(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i));
/*IF*/if (XrT62is_expanded(_t)) {
XrT62used_as_reference(_t);
}
/*FI*/_i=(_i)-(1);
}
}
/*FI*/}
/*FI*/}
else {
/*IF*/if (!((C)->_list)) {
{T164 *n=((T164*)se_new(164));
rT164make(n,(C)->_start_position,NULL);
R=(T0 *)n;}
}
else {
{T164 *n=((T164*)se_new(164));
rT164make(n,(C)->_start_position,XrT85twin((C)->_list));
R=(T0 *)n;}
}
/*FI*/R=rT164to_runnable((T164*)R,a1);
}
/*FI*/return R;
}
/*MANIFEST_ARRAY*/void rT164error(/*C*/T0* a1,T0* a2){
rT48add_position(a1);
rT48error((T48*)oRBC27eh,a2);
}/*MANIFEST_ARRAY*/T0* rT164add_comment(T164 *C,T0* a1){
T0* R=NULL;
/*IF*/if ((!(a1))||((rT63count((T63*)a1))==(0))) {
R=(T0 *)C;
}
else {
{T228 *n=((T228*)se_new(228));
rT228make(n,(T0 *)C,a1);
R=(T0 *)n;}}
/*FI*/return R;
}
/*MANIFEST_ARRAY*/int rT164use_current(T164 *C){
int R=0;
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper;
while (!(((_i)==(0))||(R))) {
R=XrT72use_current(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i));
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*MANIFEST_ARRAY*/void rT164compile_to_c_old(T164 *C){
int _i=0;
/*IF*/if (((int)(C)->_list)) {
_i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper;
while (!((_i)==(0))) {
XrT72compile_to_c_old(/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i));
_i=(_i)-(1);
}
}
/*FI*/}/*MANIFEST_ARRAY*/void rT164compile_to_c(T164 *C){
T0* _e=NULL;
int _adr=0;
T0* _actual_type=NULL;
T0* _formal_type=NULL;
int _i=0;
_formal_type=XrT62run_type(rT108first((T108*)((T107*)(C)->_result_type)->_generic_list));
rT44put_string((T44*)oRBC27cpp,(T0 *)ms1_164);
rT44put_integer((T44*)oRBC27cpp,rT107id((T107*)(C)->_result_type));
rT44put_character((T44*)oRBC27cpp,'\54');
/*IF*/if (XrT62is_reference(_formal_type)) {
rT44put_string((T44*)oRBC27cpp,(T0 *)ms2_164);
}
else {
rT44put_integer((T44*)oRBC27cpp,XrT62id(_formal_type));
rT44put_character((T44*)oRBC27cpp,'\54');
}
/*FI*//*IF*/if (!((C)->_list)) {
rT44put_character((T44*)oRBC27cpp,'0');
}
else {
_adr=((XrT62is_expanded(_formal_type))&&(!(XrT62fast_mapping_c(_formal_type))));
rT44put_integer((T44*)oRBC27cpp,/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper);
_i=1;
while (!((_i)>(/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper))) {
rT44put_character((T44*)oRBC27cpp,'\54');
/*IF*/if (_adr) {
rT44put_character((T44*)oRBC27cpp,'\46');
}
/*FI*/_e=/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i);
_actual_type=XrT62run_type(XrT72result_type(_e));
/*IF*/if (((XrT62is_reference(_formal_type))&&(XrT62is_expanded(_actual_type)))) {
XrT62to_reference(_actual_type);
rT44put_character((T44*)oRBC27cpp,'\50');
XrT72compile_to_c(_e);
rT44put_character((T44*)oRBC27cpp,'\51');
}
else {
XrT72compile_to_c(_e);
}
/*FI*/_i=(_i)+(1);
}
}
/*FI*/rT44put_character((T44*)oRBC27cpp,'\51');
}/*MANIFEST_ARRAY*/int rT164to_integer(T164 *C){
int R=0;
rT164error((C)->_start_position,(T0 *)ms104_27);
return R;
}
/*MANIFEST_ARRAY*/int rT164is_a(T164 *C,T0* a1){
int R=0;
R=rT107is_a((T107*)((T107*)(C)->_result_type)->_run_type,XrT62run_type(XrT72result_type(a1)));
/*IF*/if (!(R)) {
rT48add_position((C)->_start_position);
rT164error(XrT72start_position(a1),(T0 *)ms2_72);
}
/*FI*/return R;
}
/*MANIFEST_ARRAY*/int rT164is_pre_computable(T164 *C){
int R=0;
T0* _e=NULL;
int _i=0;
/*IF*/if (!((C)->_list)) {
R=1;
}
 else if (XrT62is_string(rT108first((T108*)((T107*)(C)->_result_type)->_generic_list))) {
R=1;
_i=/*XrT*ARRAY[EXPRESSION]*/((T85*)(C)->_list)->_upper;
while (!(((!(R))||((_i)==(0))))) {
_e=/*XrT*ARRAY[EXPRESSION]*/rT85item((T85*)(C)->_list,_i);
R=XrT72is_pre_computable(_e);
_i=(_i)-(1);
}
}
/*FI*/return R;
}
/*MANIFEST_ARRAY*/void rT164make(T164 *C,T0* a1,T0* a2){
C->_start_position=a1;
C->_list=a2;
}/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272forth(T272 *C){
int _i=0;
/*IF*/if ((rT59item((T59*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
C->_item_mem_j=rT59item((T59*)(C)->_chain,(C)->_item_mem_j);
}
else {
_i=((C)->_item_mem_i)+(1);
while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i);
}
/*FI*/C->_item_mem=((C)->_item_mem)+(1);
}/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272first(T272 *C){
int _i=0;
_i=0;
while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i);
C->_item_mem=1;
}/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272resize(T272 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T58 *n=((T58*)se_new(58));
rT58make(n,a1);
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT58item((T58*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT59item((T59*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT45item((T45*)(C)->_keys,_n)))%(a1);
rT59put((T59*)(C)->_chain,rT58item((T58*)_new_buc,_hash),_n);
rT58put((T58*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}/*DICTIONARY[RUN_FEATURE,STRING]*/T0* rT272item(T272 *C,int a1){
T0* R=NULL;
/*IF*/if (((C)->_item_mem)==(0)) {
rT272first(C);
while (!((a1)==((C)->_item_mem))) {
rT272forth(C);
}
R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_item_mem_j);
}
 else if (((C)->_item_mem)<=(a1)) {
while (!((a1)==((C)->_item_mem))) {
rT272forth(C);
}
R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_item_mem_j);
}
else {
C->_item_mem=0;
R=rT272item(C,a1);
}
/*FI*/return R;
}
/*DICTIONARY[RUN_FEATURE,STRING]*/T0* rT272at(T272 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT272has(C,a1);
R=/*XrT*ARRAY[RUN_FEATURE]*/rT273item((T273*)(C)->_store,(C)->_has_mem);
return R;
}
/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272put(T272 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT58item((T58*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(XrT273count((C)->_store))) {
rT272expand(C);
}
/*FI*/rT45put((T45*)(C)->_keys,a2,(C)->_free);
/*XrT*ARRAY[RUN_FEATURE]*/rT273put((T273*)(C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT59item((T59*)(C)->_chain,(C)->_free);
rT59put((T59*)(C)->_chain,rT58item((T58*)(C)->_buckets,_hash),(C)->_has_mem);
rT58put((T58*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT272resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
/*XrT*ARRAY[RUN_FEATURE]*/rT273put((T273*)(C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}/*DICTIONARY[RUN_FEATURE,STRING]*/int rT272has(T272 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT58item((T58*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272expand(T272 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=XrT273count((C)->_store);
rT59resize((T59*)(C)->_chain,1,(2)*(_old_size));
rT45resize((T45*)(C)->_keys,1,(2)*(_old_size));
XrT273resize((C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT59count((T59*)(C)->_chain)))) {
rT59put((T59*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT59put((T59*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}/*DICTIONARY[RUN_FEATURE,STRING]*/void rT272make(T272 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T58 *n=((T58*)se_new(58));
rT58make(n,(C)->_modulus);
C->_buckets=(T0 *)n;}
{T59 *n=((T59*)se_new(59));
rT59make(n,1,16);
C->_chain=(T0 *)n;}
{T273 *n=((T273*)se_new(273));
rT273make(n,1,16);
C->_store=(T0 *)n;}
{T45 *n=((T45*)se_new(45));
rT45make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT59count((T59*)(C)->_chain)))) {
rT59put((T59*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT59put((T59*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT58put((T58*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}/*DICTIONARY[RUN_CLASS,STRING]*/void rT270forth(T270 *C){
int _i=0;
/*IF*/if ((rT59item((T59*)(C)->_chain,(C)->_item_mem_j))!=(0)) {
C->_item_mem_j=rT59item((T59*)(C)->_chain,(C)->_item_mem_j);
}
else {
_i=((C)->_item_mem_i)+(1);
while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i);
}
/*FI*/C->_item_mem=((C)->_item_mem)+(1);
}/*DICTIONARY[RUN_CLASS,STRING]*/void rT270first(T270 *C){
int _i=0;
_i=0;
while (!((rT58item((T58*)(C)->_buckets,_i))!=(0))) {
_i=(_i)+(1);
}
C->_item_mem_i=_i;
C->_item_mem_j=rT58item((T58*)(C)->_buckets,_i);
C->_item_mem=1;
}/*DICTIONARY[RUN_CLASS,STRING]*/void rT270resize(T270 *C,int a1){
int _p=0;
int _n=0;
int _i=0;
T0* _new_buc=NULL;
int _hash=0;
{T58 *n=((T58*)se_new(58));
rT58make(n,a1);
_new_buc=(T0 *)n;}
_i=0;
while (!((_i)>=((C)->_modulus))) {
_n=rT58item((T58*)(C)->_buckets,_i);
while (!((_n)==(0))) {
_p=rT59item((T59*)(C)->_chain,_n);
_hash=(rT7hash_code((T7*)rT45item((T45*)(C)->_keys,_n)))%(a1);
rT59put((T59*)(C)->_chain,rT58item((T58*)_new_buc,_hash),_n);
rT58put((T58*)_new_buc,_n,_hash);
_n=_p;
}
_i=(_i)+(1);
}
C->_buckets=_new_buc;
C->_modulus=a1;
C->_item_mem=0;
}/*DICTIONARY[RUN_CLASS,STRING]*/T0* rT270item(T270 *C,int a1){
T0* R=NULL;
/*IF*/if (((C)->_item_mem)==(0)) {
rT270first(C);
while (!((a1)==((C)->_item_mem))) {
rT270forth(C);
}
R=rT271item((T271*)(C)->_store,(C)->_item_mem_j);
}
 else if (((C)->_item_mem)<=(a1)) {
while (!((a1)==((C)->_item_mem))) {
rT270forth(C);
}
R=rT271item((T271*)(C)->_store,(C)->_item_mem_j);
}
else {
C->_item_mem=0;
R=rT270item(C,a1);
}
/*FI*/return R;
}
/*DICTIONARY[RUN_CLASS,STRING]*/T0* rT270at(T270 *C,T0* a1){
T0* R=NULL;
int _foo=0;
_foo=rT270has(C,a1);
R=rT271item((T271*)(C)->_store,(C)->_has_mem);
return R;
}
/*DICTIONARY[RUN_CLASS,STRING]*/void rT270put(T270 *C,T0* a1,T0* a2){
int _hash=0;
_hash=(rT7hash_code((T7*)a2))%((C)->_modulus);
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT58item((T58*)(C)->_buckets,_hash);
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a2,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem);
}
/*IF*/if (((C)->_has_mem)==(0)) {
/*IF*/if (((C)->_count)>=(rT271count((T271*)(C)->_store))) {
rT270expand(C);
}
/*FI*/rT45put((T45*)(C)->_keys,a2,(C)->_free);
rT271put((T271*)(C)->_store,a1,(C)->_free);
C->_has_mem=(C)->_free;
C->_free=rT59item((T59*)(C)->_chain,(C)->_free);
rT59put((T59*)(C)->_chain,rT58item((T58*)(C)->_buckets,_hash),(C)->_has_mem);
rT58put((T58*)(C)->_buckets,(C)->_has_mem,_hash);
C->_count=((C)->_count)+(1);
/*IF*/if (((C)->_count)>(((C)->_modulus)*(2))) {
rT270resize(C,(2)*((C)->_modulus));
}
/*FI*/}
/*FI*/}
else {
rT271put((T271*)(C)->_store,a1,(C)->_has_mem);
}
/*FI*/C->_item_mem=0;
}/*DICTIONARY[RUN_CLASS,STRING]*/void rT270expand(T270 *C){
int _old_size=0;
int _i=0;
C->_item_mem=0;
_old_size=rT271count((T271*)(C)->_store);
rT59resize((T59*)(C)->_chain,1,(2)*(_old_size));
rT45resize((T45*)(C)->_keys,1,(2)*(_old_size));
rT271resize((T271*)(C)->_store,1,(2)*(_old_size));
_i=(_old_size)+(1);
while (!((_i)==(rT59count((T59*)(C)->_chain)))) {
rT59put((T59*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT59put((T59*)(C)->_chain,(C)->_free,_i);
C->_free=(_old_size)+(1);
}/*DICTIONARY[RUN_CLASS,STRING]*/int rT270has(T270 *C,T0* a1){
int R=0;
/*IF*/if ((((C)->_has_mem)==(0))||(!(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT58item((T58*)(C)->_buckets,(rT7hash_code((T7*)a1))%((C)->_modulus));
while (!((((C)->_has_mem)==(0))||(rT7is_equal((T7*)a1,rT45item((T45*)(C)->_keys,(C)->_has_mem))))) {
C->_has_mem=rT59item((T59*)(C)->_chain,(C)->_has_mem);
}
}
/*FI*/R=((C)->_has_mem)!=(0);
return R;
}
/*DICTIONARY[RUN_CLASS,STRING]*/void rT270make(T270 *C){
int _i=0;
C->_modulus=32;
C->_count=0;
C->_free=1;
C->_has_mem=0;
C->_item_mem=0;
{T58 *n=((T58*)se_new(58));
rT58make(n,(C)->_modulus);
C->_buckets=(T0 *)n;}
{T59 *n=((T59*)se_new(59));
rT59make(n,1,16);
C->_chain=(T0 *)n;}
{T271 *n=((T271*)se_new(271));
rT271make(n,1,16);
C->_store=(T0 *)n;}
{T45 *n=((T45*)se_new(45));
rT45make(n,1,16);
C->_keys=(T0 *)n;}
_i=1;
while (!((_i)==(rT59count((T59*)(C)->_chain)))) {
rT59put((T59*)(C)->_chain,(_i)+(1),_i);
_i=(_i)+(1);
}
rT59put((T59*)(C)->_chain,0,_i);
_i=0;
while (!((_i)>=((C)->_modulus))) {
rT58put((T58*)(C)->_buckets,0,_i);
_i=(_i)+(1);
}
}

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