home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
AmigActive 3
/
AACD03.BIN
/
AACD
/
Programming
/
sofa
/
archive
/
SmallEiffel.lha
/
SmallEiffel
/
lib_show
/
directory
/
example012.c
< prev
next >
Wrap
C/C++ Source or Header
|
1999-06-05
|
70KB
|
2,935 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.78Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "example01.h"
T6 r660standard_is_equal(se_dump_stack*caller,T660* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f660standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660standard_is_equal.assertion_flag){
f660standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f660standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f660standard_is_equal.assertion_flag){
f660standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r660standard_is_equal(&ds,((T660*)ci(660,a1,126,29,1)),(T0*)C)));
f660standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R660%other%R660%Result%E6%",1};
T6 r660has(se_dump_stack*caller,T660* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f660has;
ds.current=((void**)&C);
ds.l=96;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660has.assertion_flag){
f660has.assertion_flag=0;
se_trace(&ds,99,3,660);
ac_req((C)->_is_connected/*8*/);
se_trace(&ds,100,3,660);
ac_req(r6_ix_not(&ds,r7empty(&ds,se_i7(&ds,((T7*)ci(7,a1,100,7,660))))));
f660has.assertion_flag=1;
}
se_trace(&ds,102,3,660);
R=r1405has(&ds,((T1405*)ci(1405,(C)->_basic_directory/*4*/,102,13,660)),a1);
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660has={"has of DIRECTORY",1,2,"%R660%entry_name%R7%Result%E6%",1};
/*No:DIRECTORY.basic_directory*/
T0* r660path(se_dump_stack*caller,T660* C){
T0* R=NULL;
void**locals[1];
se_dump_stack ds;
ds.fd=&f660path;
ds.current=((void**)&C);
ds.l=78;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660path.assertion_flag){
f660path.assertion_flag=0;
se_trace(&ds,80,3,660);
ac_req((C)->_is_connected/*8*/);
f660path.assertion_flag=1;
}
se_trace(&ds,82,3,660);
R=(((T1405*)ci(1405,(C)->_basic_directory/*4*/,82,13,660)))->_path/*4*/;
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660path={"path of DIRECTORY",1,1,"%R660%Result%R7%",1};
T6 r660is_equal(se_dump_stack*caller,T660* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f660is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660is_equal.assertion_flag){
f660is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f660is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f660is_equal.assertion_flag){
f660is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r660standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r660is_equal(&ds,((T660*)ci(660,a1,99,29,1)),(T0*)C)));
f660is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660is_equal={"is_equal of GENERAL",1,2,"%R660%other%R660%Result%E6%",1};
T6 r660valid_index(se_dump_stack*caller,T660* C,T2 a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f660valid_index;
ds.current=((void**)&C);
ds.l=67;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
/*[IF*/
if((se_trace(&ds,69,12,660),(a1)>=(1))){
/*[IF*/
if((se_trace(&ds,70,9,660),(C)->_is_connected/*8*/)){
se_trace(&ds,71,9,660);
R=r1405valid_index(&ds,((T1405*)ci(1405,(C)->_basic_directory/*4*/,71,19,660)),(a1)-(1));
}
/*FI]*/
}
/*FI]*/
if(f660valid_index.assertion_flag){
f660valid_index.assertion_flag=0;
se_trace(&ds,75,10,660);
ac_ens((R)==(r2in_range(&ds,a1,1,r660count(&ds,C))));
f660valid_index.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660valid_index={"valid_index of DIRECTORY",1,2,"%R660%index%E2%Result%E6%",1};
void r660connect_to(se_dump_stack*caller,T660* C,T0* a1){
void**locals[1];
se_dump_stack ds;
ds.fd=&f660connect_to;
ds.current=((void**)&C);
ds.l=30;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660connect_to.assertion_flag){
f660connect_to.assertion_flag=0;
se_trace(&ds,32,3,660);
ac_req(r6_ix_not(&ds,r7empty(&ds,se_i7(&ds,((T7*)ci(7,a1,32,7,660))))));
f660connect_to.assertion_flag=1;
}
/*[IF*/
if((se_trace(&ds,34,22,660),((C)->_basic_directory/*4*/)==((void*)(NULL)))){
se_trace(&ds,35,6,660);
{T1405*n=new1405();
r1405make(&ds,n);
C->_basic_directory=(T0*)n;
}
}
/*FI]*/
/*[IF*/
if((se_trace(&ds,37,22,660),r1405set_path(&ds,((T1405*)ci(1405,(C)->_basic_directory/*4*/,37,6,660)),a1))){
se_trace(&ds,38,6,660);
C->_is_connected=1;
}
else{
se_trace(&ds,40,6,660);
C->_is_connected=0;
}
/*FI]*/
se_dst=caller;/*unlink*/
}
se_frame_descriptor f660connect_to={"connect_to of DIRECTORY",1,1,"%R660%new_path%R7%",1};
/*No:DIRECTORY.is_connected*/
T2 r660count(se_dump_stack*caller,T660* C){
T2 R=0;
void**locals[1];
se_dump_stack ds;
ds.fd=&f660count;
ds.current=((void**)&C);
ds.l=57;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
se_dst=&ds;/*link*/
/*[IF*/
if((se_trace(&ds,60,6,660),(C)->_is_connected/*8*/)){
se_trace(&ds,61,6,660);
R=r1405count(&ds,((T1405*)ci(1405,(C)->_basic_directory/*4*/,61,16,660)));
}
/*FI]*/
if(f660count.assertion_flag){
f660count.assertion_flag=0;
se_trace(&ds,64,10,660);
ac_ens((R)>=(0));
f660count.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660count={"count of DIRECTORY",1,1,"%R660%Result%E2%",1};
/*No:DIRECTORY.lower*/
T0* r660name(se_dump_stack*caller,T660* C,T2 a1){
T0* R=NULL;
void**locals[2];
se_dump_stack ds;
ds.fd=&f660name;
ds.current=((void**)&C);
ds.l=85;
ds.c=4;
ds.f=660;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f660name.assertion_flag){
f660name.assertion_flag=0;
se_trace(&ds,88,3,660);
ac_req((C)->_is_connected/*8*/);
se_trace(&ds,89,3,660);
ac_req(r660valid_index(&ds,C,a1));
f660name.assertion_flag=1;
}
se_trace(&ds,91,3,660);
R=r1405name(&ds,((T1405*)ci(1405,(C)->_basic_directory/*4*/,91,13,660)),(a1)-(1));
if(f660name.assertion_flag){
f660name.assertion_flag=0;
se_trace(&ds,93,3,660);
ac_ens(r660has(&ds,C,R));
f660name.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f660name={"name of DIRECTORY",1,2,"%R660%index%E2%Result%R7%",1};
T6 r474standard_is_equal(se_dump_stack*caller,T474* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f474standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f474standard_is_equal.assertion_flag){
f474standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f474standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f474standard_is_equal.assertion_flag){
f474standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r474standard_is_equal(&ds,((T474*)ci(474,a1,126,29,1)),(T0*)C)));
f474standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f474standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R474%other%R474%Result%E6%",1};
T6 r474is_equal(se_dump_stack*caller,T474* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f474is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f474is_equal.assertion_flag){
f474is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f474is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f474is_equal.assertion_flag){
f474is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r474standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r474is_equal(&ds,((T474*)ci(474,a1,99,29,1)),(T0*)C)));
f474is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f474is_equal={"is_equal of GENERAL",1,2,"%R474%other%R474%Result%E6%",1};
/*No:BOOLEAN_REF.item*/
T6 r1405standard_is_equal(se_dump_stack*caller,T1405* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f1405standard_is_equal.assertion_flag){
f1405standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f1405standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f1405standard_is_equal.assertion_flag){
f1405standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r1405standard_is_equal(&ds,((T1405*)ci(1405,a1,126,29,1)),(T0*)C)));
f1405standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R1405%other%R1405%Result%E6%",1};
T6 r1405has(se_dump_stack*caller,T1405* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405has;
ds.current=((void**)&C);
ds.l=136;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f1405has.assertion_flag){
f1405has.assertion_flag=0;
se_trace(&ds,139,3,1405);
ac_req(r6_ix_not(&ds,r7empty(&ds,se_i7(&ds,((T7*)ci(7,a1,139,7,1405))))));
f1405has.assertion_flag=1;
}
se_trace(&ds,141,3,1405);
R=r1886has(&ds,se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,141,13,1405))),a1);
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405has={"has of BASIC_DIRECTORY",1,2,"%R1405%entry_name%R7%Result%E6%",1};
/*No:BASIC_DIRECTORY.name_list*/
/*No:BASIC_DIRECTORY.path*/
T6 r1405is_equal(se_dump_stack*caller,T1405* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f1405is_equal.assertion_flag){
f1405is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f1405is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f1405is_equal.assertion_flag){
f1405is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r1405standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r1405is_equal(&ds,((T1405*)ci(1405,a1,99,29,1)),(T0*)C)));
f1405is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405is_equal={"is_equal of GENERAL",1,2,"%R1405%other%R1405%Result%E6%",1};
T6 r1405valid_index(se_dump_stack*caller,T1405* C,T2 a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405valid_index;
ds.current=((void**)&C);
ds.l=57;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_trace(&ds,59,3,1405);
R=((a1)>=(0))&&((a1)<=((se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,59,42,1405))))->_upper/*12*/));
if(f1405valid_index.assertion_flag){
f1405valid_index.assertion_flag=0;
se_trace(&ds,61,10,1405);
ac_ens((R)==(r2in_range(&ds,a1,0,r1405upper(&ds,C))));
f1405valid_index.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405valid_index={"valid_index of BASIC_DIRECTORY",1,2,"%R1405%index%E2%Result%E6%",1};
T6 r1405set_path(se_dump_stack*caller,T1405* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405set_path;
ds.current=((void**)&C);
ds.l=246;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f1405set_path.assertion_flag){
f1405set_path.assertion_flag=0;
se_trace(&ds,253,3,1405);
ac_req(r6_ix_not(&ds,r7empty(&ds,se_i7(&ds,((T7*)ci(7,a1,253,7,1405))))));
f1405set_path.assertion_flag=1;
}
se_trace(&ds,255,3,1405);
C->_path=a1;
/*[IF*/
if((se_trace(&ds,256,6,1405),r1405update(&ds,C))){
se_trace(&ds,257,6,1405);
R=1;
}
else{
se_trace(&ds,259,6,1405);
C->_path=NULL;
}
/*FI]*/
if(f1405set_path.assertion_flag){
f1405set_path.assertion_flag=0;
se_trace(&ds,262,10,1405);
ac_ens((!(R))||(((C)->_path/*4*/)==((void*)(a1))));
f1405set_path.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405set_path={"set_path of BASIC_DIRECTORY",1,2,"%R1405%p%R7%Result%E6%",1};
T2 r1405count(se_dump_stack*caller,T1405* C){
T2 R=0;
void**locals[1];
se_dump_stack ds;
ds.fd=&f1405count;
ds.current=((void**)&C);
ds.l=49;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
se_dst=&ds;/*link*/
se_trace(&ds,52,3,1405);
R=r1886count(&ds,se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,52,13,1405))));
if(f1405count.assertion_flag){
f1405count.assertion_flag=0;
se_trace(&ds,54,10,1405);
ac_ens((R)>=(0));
f1405count.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405count={"count of BASIC_DIRECTORY",1,1,"%R1405%Result%E2%",1};
void r1405make(se_dump_stack*caller,T1405* C){
se_dump_stack ds;
ds.fd=&f1405make;
ds.current=((void**)&C);
ds.l=30;
ds.c=4;
ds.f=1405;
ds.caller=caller;
se_dst=&ds;/*link*/
se_trace(&ds,35,3,1405);
{T1886*n=new1886();
r1886with_capacity(&ds,n,64);
C->_name_list=(T0*)n;
se_i1886(&ds,n);}
se_dst=caller;/*unlink*/
}
se_frame_descriptor f1405make={"make of BASIC_DIRECTORY",1,0,"%R1405%",1};
T6 r1405update(se_dump_stack*caller,T1405* C){
T6 R=0;
T0* _entry=NULL;
T8 _entry_pointer=0;
T8 _dirstream_pointer=0;
T8 _path_pointer=0;
void**locals[5];
se_dump_stack ds;
ds.fd=&f1405update;
ds.current=((void**)&C);
ds.l=217;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
locals[1]=(void**)&_entry;
locals[2]=(void**)&_entry_pointer;
locals[3]=(void**)&_dirstream_pointer;
locals[4]=(void**)&_path_pointer;
se_dst=&ds;/*link*/
se_trace(&ds,225,13,1405);
r1886clear(&ds,se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,225,3,1405))));
se_trace(&ds,226,3,1405);
_path_pointer=r7to_external(&ds,se_i7(&ds,((T7*)ci(7,(C)->_path/*4*/,226,19,1405))));
se_trace(&ds,227,3,1405);
_dirstream_pointer=se_dir_open(_path_pointer);
/*[IF*/
if((se_trace(&ds,228,24,1405),(NULL!=_dirstream_pointer))){
se_trace(&ds,230,9,1405);
R=1;
while (!((se_trace(&ds,232,27,1405),r8is_null(&ds,_dirstream_pointer)))) {
se_trace(&ds,234,9,1405);
_entry_pointer=se_dir_name(_dirstream_pointer);
/*[IF*/
if((se_trace(&ds,235,26,1405),(NULL!=_entry_pointer))){
se_trace(&ds,236,5,1405);
{T7*n=new7();
r7from_external_copy(&ds,n,_entry_pointer);
_entry=(T0*)n;
se_i7(&ds,n);}
se_trace(&ds,237,15,1405);
r1886add_last(&ds,se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,237,5,1405))),_entry);
}
/*FI]*/
se_trace(&ds,239,9,1405);
_dirstream_pointer=se_dir_next(_dirstream_pointer);
}
}
/*FI]*/
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405update={"update of BASIC_DIRECTORY",1,5,"%R1405%Result%E6%entry%R7%entry_pointer%E8%dirstream_pointer%E8%path_pointer%E8%",1};
T2 r1405upper(se_dump_stack*caller,T1405* C){
T2 R=0;
void**locals[1];
se_dump_stack ds;
ds.fd=&f1405upper;
ds.current=((void**)&C);
ds.l=43;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
se_dst=&ds;/*link*/
se_trace(&ds,46,3,1405);
R=(se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,46,13,1405))))->_upper/*12*/;
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405upper={"upper of BASIC_DIRECTORY",1,1,"%R1405%Result%E2%",1};
T0* r1405name(se_dump_stack*caller,T1405* C,T2 a1){
T0* R=NULL;
void**locals[2];
se_dump_stack ds;
ds.fd=&f1405name;
ds.current=((void**)&C);
ds.l=183;
ds.c=4;
ds.f=1405;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f1405name.assertion_flag){
f1405name.assertion_flag=0;
se_trace(&ds,186,3,1405);
ac_req(r1405valid_index(&ds,C,a1));
f1405name.assertion_flag=1;
}
se_trace(&ds,188,3,1405);
R=r1886item(&ds,se_i1886(&ds,((T1886*)ci(1886,(C)->_name_list/*8*/,188,13,1405))),a1);
if(f1405name.assertion_flag){
f1405name.assertion_flag=0;
se_trace(&ds,190,3,1405);
ac_ens(r1405has(&ds,C,R));
f1405name.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f1405name={"name of BASIC_DIRECTORY",1,2,"%R1405%index%E2%Result%R7%",1};
T6 r701standard_is_equal(se_dump_stack*caller,T701* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f701standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f701standard_is_equal.assertion_flag){
f701standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f701standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f701standard_is_equal.assertion_flag){
f701standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r701standard_is_equal(&ds,((T701*)ci(701,a1,126,29,1)),(T0*)C)));
f701standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f701standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R701%other%R701%Result%E6%",1};
T6 r701is_equal(se_dump_stack*caller,T701* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f701is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f701is_equal.assertion_flag){
f701is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f701is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f701is_equal.assertion_flag){
f701is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r701standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r701is_equal(&ds,((T701*)ci(701,a1,99,29,1)),(T0*)C)));
f701is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f701is_equal={"is_equal of GENERAL",1,2,"%R701%other%R701%Result%E6%",1};
T0*oBC1std_output=NULL;
T0*oBC1io=NULL;
T0* r701argument(se_dump_stack*caller,T701* C,T2 a1){
T0* R=NULL;
void**locals[2];
se_dump_stack ds;
ds.fd=&f701argument;
ds.current=((void**)&C);
ds.l=413;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f701argument.assertion_flag){
f701argument.assertion_flag=0;
se_trace(&ds,417,5,1);
ac_req((a1)>=(0));
se_trace(&ds,418,5,1);
ac_req((a1)<=(r701argument_count(&ds,C)));
f701argument.assertion_flag=1;
}
se_trace(&ds,420,3,1);
R=r1886item(&ds,se_i1886(&ds,((T1886*)ci(1886,r701command_arguments(&ds),420,13,1))),a1);
if(f701argument.assertion_flag){
f701argument.assertion_flag=0;
se_trace(&ds,422,10,1);
ac_ens((R)!=((void*)(NULL)));
f701argument.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f701argument={"argument of GENERAL",1,2,"%R701%i%E2%Result%R7%",1};
void r701make(se_dump_stack*caller,T701* C){
se_dump_stack ds;
ds.fd=&f701make;
ds.current=((void**)&C);
ds.l=11;
ds.c=4;
ds.f=701;
ds.caller=caller;
se_dst=&ds;/*link*/
/*[IF*/
if((se_trace(&ds,13,21,701),(r701argument_count(&ds,C))!=(1))){
se_trace(&ds,14,9,701);
r2074put_string(&ds,((T2074*)ci(2074,oBC1io,14,6,701)),((T0*)ms701_31430));
}
else{
se_trace(&ds,16,6,701);
r701list_directory(&ds,C,r701argument(&ds,C,1));
}
/*FI]*/
se_dst=caller;/*unlink*/
}
se_frame_descriptor f701make={"make of EXAMPLE01",1,0,"%R701%",1};
T2 r701argument_count(se_dump_stack*caller,T701* C){
T2 R=0;
void**locals[1];
se_dump_stack ds;
ds.fd=&f701argument_count;
ds.current=((void**)&C);
ds.l=404;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&R;
se_dst=&ds;/*link*/
se_trace(&ds,408,3,1);
R=(se_i1886(&ds,((T1886*)ci(1886,r701command_arguments(&ds),408,13,1))))->_upper/*12*/;
if(f701argument_count.assertion_flag){
f701argument_count.assertion_flag=0;
se_trace(&ds,410,10,1);
ac_ens((R)>=(0));
f701argument_count.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f701argument_count={"argument_count of GENERAL",1,1,"%R701%Result%E2%",1};
int fBC1command_arguments=0;
T0*oBC1command_arguments=NULL;
T0* r701command_arguments(se_dump_stack*caller){
if(fBC1command_arguments==0){
T0* _arg=NULL;
T2 _i=0;
void**locals[3];
se_dump_stack ds;
ds.fd=&f701command_arguments;
ds.current=NULL;
ds.l=425;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&oBC1command_arguments;
locals[1]=(void**)&_arg;
locals[2]=(void**)&_i;
se_dst=&ds;/*link*/
fBC1command_arguments=1;
se_trace(&ds,433,6,1);
_i=se_argc;
se_trace(&ds,434,6,1);
{T1886*n=new1886();
r1886make(&ds,n,_i);
oBC1command_arguments=(T0*)n;
se_i1886(&ds,n);}
while (!((se_trace(&ds,436,8,1),(_i)==(0)))) {
se_trace(&ds,438,6,1);
_i=(_i)-(1);
se_trace(&ds,439,6,1);
_arg=((T0*)e2s(se_argv[_i]));
se_trace(&ds,440,13,1);
r1886put(&ds,se_i1886(&ds,((T1886*)ci(1886,oBC1command_arguments,440,6,1))),_arg,_i);
}
if(f701command_arguments.assertion_flag){
f701command_arguments.assertion_flag=0;
se_trace(&ds,443,3,1);
ac_ens(r6_ix_not(&ds,r1886empty(&ds,se_i1886(&ds,((T1886*)ci(1886,oBC1command_arguments,443,7,1))))));
f701command_arguments.assertion_flag=1;
}
se_dst=caller;/*unlink*/
}
return oBC1command_arguments;}
se_frame_descriptor f701command_arguments={"command_arguments of GENERAL",0,3,"Result%R1886%arg%R7%i%E2%",1};
void r701list_directory(se_dump_stack*caller,T701* C,T0* a1){
T2 _i=0;
T0* _d=NULL;
void**locals[3];
se_dump_stack ds;
ds.fd=&f701list_directory;
ds.current=((void**)&C);
ds.l=20;
ds.c=4;
ds.f=701;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&_i;
locals[2]=(void**)&_d;
se_dst=&ds;/*link*/
se_trace(&ds,25,14,701);
X878put_string(&ds,25,3,701,oBC1std_output,((T0*)ms701_17488));
se_trace(&ds,26,14,701);
X878put_string(&ds,26,3,701,oBC1std_output,a1);
se_trace(&ds,27,14,701);
X878put_string(&ds,27,3,701,oBC1std_output,((T0*)ms701_288aa));
se_trace(&ds,28,3,701);
{T660*n=new660();
r660connect_to(&ds,n,a1);
_d=(T0*)n;
}
/*[IF*/
if((se_trace(&ds,29,8,701),(((T660*)ci(660,_d,29,6,701)))->_is_connected/*8*/)){
se_trace(&ds,30,17,701);
X878put_integer(&ds,30,6,701,oBC1std_output,r660count(&ds,((T660*)ci(660,_d,30,29,701))));
se_trace(&ds,31,17,701);
X878put_string(&ds,31,6,701,oBC1std_output,((T0*)ms701_52800));
se_trace(&ds,32,17,701);
X878put_string(&ds,32,6,701,oBC1std_output,r660path(&ds,((T660*)ci(660,_d,32,28,701))));
se_trace(&ds,33,17,701);
X878put_string(&ds,33,6,701,oBC1std_output,((T0*)ms701_288));
se_trace(&ds,35,9,701);
_i=1;
while (!((se_trace(&ds,37,11,701),(_i)>(r660count(&ds,((T660*)ci(660,_d,37,13,701))))))) {
se_trace(&ds,39,20,701);
X878put_character(&ds,39,9,701,oBC1std_output,'\11');
se_trace(&ds,40,20,701);
X878put_string(&ds,40,9,701,oBC1std_output,r660name(&ds,((T660*)ci(660,_d,40,31,701)),_i));
se_trace(&ds,41,20,701);
X878put_character(&ds,41,9,701,oBC1std_output,'\n');
se_trace(&ds,42,9,701);
_i=(_i)+(1);
}
}
else{
se_trace(&ds,45,17,701);
X878put_string(&ds,45,6,701,oBC1std_output,((T0*)ms701_36322));
se_trace(&ds,46,17,701);
X878put_string(&ds,46,6,701,oBC1std_output,a1);
se_trace(&ds,47,17,701);
X878put_string(&ds,47,6,701,oBC1std_output,((T0*)ms701_288a));
}
/*FI]*/
se_dst=caller;/*unlink*/
}
se_frame_descriptor f701list_directory={"list_directory of EXAMPLE01",1,3,"%R701%path%R7%i%E2%d%R660%",1};
T6 r878standard_is_equal(se_dump_stack*caller,T878* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f878standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f878standard_is_equal.assertion_flag){
f878standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f878standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f878standard_is_equal.assertion_flag){
f878standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(X878standard_is_equal(&ds,126,29,1,a1,(T0*)C)));
f878standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f878standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R878%other%R878%Result%E6%",1};
T6 r878is_equal(se_dump_stack*caller,T878* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f878is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f878is_equal.assertion_flag){
f878is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f878is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f878is_equal.assertion_flag){
f878is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r878standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(X878is_equal(&ds,99,29,1,a1,(T0*)C)));
f878is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f878is_equal={"is_equal of GENERAL",1,2,"%R878%other%R878%Result%E6%",1};
/*No:STD_OUTPUT.is_connected*/
void r878put_string(se_dump_stack*caller,T878* C,T0* a1){
T2 _i=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f878put_string;
ds.current=((void**)&C);
ds.l=34;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&_i;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f878put_string.assertion_flag){
f878put_string.assertion_flag=0;
se_trace(&ds,37,3,1070);
ac_req(1);
se_trace(&ds,38,5,1070);
ac_req((a1)!=((void*)(NULL)));
f878put_string.assertion_flag=1;
}
se_trace(&ds,43,6,1070);
_i=1;
while (!((se_trace(&ds,45,8,1070),(_i)>((se_i7(&ds,((T7*)ci(7,a1,45,10,1070))))->_count/*8*/)))) {
se_trace(&ds,47,6,1070);
r878put_character(&ds,C,r7item(&ds,se_i7(&ds,((T7*)ci(7,a1,47,20,1070))),_i));
se_trace(&ds,48,6,1070);
_i=(_i)+(1);
}
se_dst=caller;/*unlink*/
}
se_frame_descriptor f878put_string={"put_string of OUTPUT_STREAM",1,2,"%R878%s%R7%i%E2%",1};
void r878make(se_dump_stack*caller,T878* C){
se_dump_stack ds;
ds.fd=&f878make;
ds.current=((void**)&C);
ds.l=33;
ds.c=4;
ds.f=878;
ds.caller=caller;
se_dst=&ds;/*link*/
se_dst=caller;/*unlink*/
}
se_frame_descriptor f878make={"make of STD_OUTPUT",1,0,"%R878%",1};
void r878put_character(se_dump_stack*caller,T878* C,T3 a1){
void**locals[1];
se_dump_stack ds;
ds.fd=&f878put_character;
ds.current=((void**)&C);
ds.l=39;
ds.c=4;
ds.f=878;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f878put_character.assertion_flag){
f878put_character.assertion_flag=0;
se_trace(&ds,28,3,1070);
ac_req(1);
f878put_character.assertion_flag=1;
}
se_trace(&ds,41,3,878);
putc(a1,((FILE*)(stdout)));
se_dst=caller;/*unlink*/
}
se_frame_descriptor f878put_character={"put_character of STD_OUTPUT",1,1,"%R878%c%E3%",1};
int fBC1070tmp_string=0;
T0*oBC1070tmp_string=NULL;
T0* r878tmp_string(se_dump_stack*caller){
if(fBC1070tmp_string==0){
void**locals[1];
se_dump_stack ds;
ds.fd=&f878tmp_string;
ds.current=NULL;
ds.l=216;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&oBC1070tmp_string;
se_dst=&ds;/*link*/
fBC1070tmp_string=1;
se_trace(&ds,218,3,1070);
{T7*n=new7();
r7make(&ds,n,512);
oBC1070tmp_string=(T0*)n;
se_i7(&ds,n);}
se_dst=caller;/*unlink*/
}
return oBC1070tmp_string;}
se_frame_descriptor f878tmp_string={"tmp_string of OUTPUT_STREAM",0,1,"Result%R7%",1};
void r878put_integer(se_dump_stack*caller,T878* C,T2 a1){
void**locals[1];
se_dump_stack ds;
ds.fd=&f878put_integer;
ds.current=((void**)&C);
ds.l=60;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f878put_integer.assertion_flag){
f878put_integer.assertion_flag=0;
se_trace(&ds,63,3,1070);
ac_req(1);
f878put_integer.assertion_flag=1;
}
se_trace(&ds,65,14,1070);
r7clear(&ds,se_i7(&ds,((T7*)ci(7,r878tmp_string(&ds),65,3,1070))));
se_trace(&ds,66,5,1070);
r2append_in(&ds,a1,r878tmp_string(&ds));
se_trace(&ds,67,3,1070);
r878put_string(&ds,C,r878tmp_string(&ds));
se_dst=caller;/*unlink*/
}
se_frame_descriptor f878put_integer={"put_integer of OUTPUT_STREAM",1,1,"%R878%i%E2%",1};
T6 r2074standard_is_equal(se_dump_stack*caller,T2074* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f2074standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f2074standard_is_equal.assertion_flag){
f2074standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f2074standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f2074standard_is_equal.assertion_flag){
f2074standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r2074standard_is_equal(&ds,((T2074*)ci(2074,a1,126,29,1)),(T0*)C)));
f2074standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f2074standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R2074%other%R2074%Result%E6%",1};
T6 r2074is_equal(se_dump_stack*caller,T2074* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f2074is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f2074is_equal.assertion_flag){
f2074is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f2074is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f2074is_equal.assertion_flag){
f2074is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r2074standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r2074is_equal(&ds,((T2074*)ci(2074,a1,99,29,1)),(T0*)C)));
f2074is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f2074is_equal={"is_equal of GENERAL",1,2,"%R2074%other%R2074%Result%E6%",1};
/*No:STD_INPUT_OUTPUT.is_connected*/
void r2074put_string(se_dump_stack*caller,T2074* C,T0* a1){
T2 _i=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f2074put_string;
ds.current=((void**)&C);
ds.l=34;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&_i;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f2074put_string.assertion_flag){
f2074put_string.assertion_flag=0;
se_trace(&ds,38,5,1070);
ac_req((a1)!=((void*)(NULL)));
f2074put_string.assertion_flag=1;
}
se_trace(&ds,43,6,1070);
_i=1;
while (!((se_trace(&ds,45,8,1070),(_i)>((se_i7(&ds,((T7*)ci(7,a1,45,10,1070))))->_count/*8*/)))) {
se_trace(&ds,47,6,1070);
r2074put_character(&ds,C,r7item(&ds,se_i7(&ds,((T7*)ci(7,a1,47,20,1070))),_i));
se_trace(&ds,48,6,1070);
_i=(_i)+(1);
}
se_dst=caller;/*unlink*/
}
se_frame_descriptor f2074put_string={"put_string of OUTPUT_STREAM",1,2,"%R2074%s%R7%i%E2%",1};
void r2074make(se_dump_stack*caller,T2074* C){
se_dump_stack ds;
ds.fd=&f2074make;
ds.current=((void**)&C);
ds.l=33;
ds.c=4;
ds.f=878;
ds.caller=caller;
se_dst=&ds;/*link*/
se_dst=caller;/*unlink*/
}
se_frame_descriptor f2074make={"make of STD_OUTPUT",1,0,"%R2074%",1};
void r2074put_character(se_dump_stack*caller,T2074* C,T3 a1){
void**locals[1];
se_dump_stack ds;
ds.fd=&f2074put_character;
ds.current=((void**)&C);
ds.l=39;
ds.c=4;
ds.f=878;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
se_trace(&ds,41,3,878);
putc(a1,((FILE*)(stdout)));
se_dst=caller;/*unlink*/
}
se_frame_descriptor f2074put_character={"put_character of STD_OUTPUT",1,1,"%R2074%c%E3%",1};
T0* r2074tmp_string(se_dump_stack*caller){
if(fBC1070tmp_string==0){
void**locals[1];
se_dump_stack ds;
ds.fd=&f2074tmp_string;
ds.current=NULL;
ds.l=216;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&oBC1070tmp_string;
se_dst=&ds;/*link*/
fBC1070tmp_string=1;
se_trace(&ds,218,3,1070);
{T7*n=new7();
r7make(&ds,n,512);
oBC1070tmp_string=(T0*)n;
se_i7(&ds,n);}
se_dst=caller;/*unlink*/
}
return oBC1070tmp_string;}
se_frame_descriptor f2074tmp_string={"tmp_string of OUTPUT_STREAM",0,1,"Result%R7%",1};
void r2074put_integer(se_dump_stack*caller,T2074* C,T2 a1){
void**locals[1];
se_dump_stack ds;
ds.fd=&f2074put_integer;
ds.current=((void**)&C);
ds.l=60;
ds.c=4;
ds.f=1070;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
se_trace(&ds,65,14,1070);
r7clear(&ds,se_i7(&ds,((T7*)ci(7,r2074tmp_string(&ds),65,3,1070))));
se_trace(&ds,66,5,1070);
r2append_in(&ds,a1,r2074tmp_string(&ds));
se_trace(&ds,67,3,1070);
r2074put_string(&ds,C,r2074tmp_string(&ds));
se_dst=caller;/*unlink*/
}
se_frame_descriptor f2074put_integer={"put_integer of OUTPUT_STREAM",1,1,"%R2074%i%E2%",1};
T6 r714standard_is_equal(se_dump_stack*caller,T714* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f714standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f714standard_is_equal.assertion_flag){
f714standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f714standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f714standard_is_equal.assertion_flag){
f714standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r714standard_is_equal(&ds,((T714*)ci(714,a1,126,29,1)),(T0*)C)));
f714standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f714standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R714%other%R714%Result%E6%",1};
T6 r714is_equal(se_dump_stack*caller,T714* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f714is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f714is_equal.assertion_flag){
f714is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f714is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f714is_equal.assertion_flag){
f714is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r714standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r714is_equal(&ds,((T714*)ci(714,a1,99,29,1)),(T0*)C)));
f714is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f714is_equal={"is_equal of GENERAL",1,2,"%R714%other%R714%Result%E6%",1};
/*No:CHARACTER_REF.item*/
T6 r528standard_is_equal(se_dump_stack*caller,T528* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f528standard_is_equal;
ds.current=((void**)&C);
ds.l=120;
ds.c=11;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f528standard_is_equal.assertion_flag){
f528standard_is_equal.assertion_flag=0;
se_trace(&ds,123,9,1);
ac_req((a1)!=((void*)(NULL)));
f528standard_is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f528standard_is_equal.assertion_flag){
f528standard_is_equal.assertion_flag=0;
se_trace(&ds,126,21,1);
ac_ens((!(R))||(r528standard_is_equal(&ds,((T528*)ci(528,a1,126,29,1)),(T0*)C)));
f528standard_is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f528standard_is_equal={"standard_is_equal of GENERAL",1,2,"%R528%other%R528%Result%E6%",1};
T6 r528is_equal(se_dump_stack*caller,T528* C,T0* a1){
T6 R=0;
void**locals[2];
se_dump_stack ds;
ds.fd=&f528is_equal;
ds.current=((void**)&C);
ds.l=91;
ds.c=4;
ds.f=1;
ds.caller=caller;
ds.locals=locals;
locals[0]=(void**)&a1;
locals[1]=(void**)&R;
se_dst=&ds;/*link*/
se_require_uppermost_flag=1;
if(f528is_equal.assertion_flag){
f528is_equal.assertion_flag=0;
se_trace(&ds,95,25,1);
ac_req((a1)!=((void*)(NULL)));
f528is_equal.assertion_flag=1;
}
R=((C->id==a1->id)?!memcmp(C,a1,sizeof(*C)):0);if(f528is_equal.assertion_flag){
f528is_equal.assertion_flag=0;
se_trace(&ds,98,40,1);
ac_ens((!(r528standard_is_equal(&ds,C,a1)))||(R));
se_trace(&ds,99,21,1);
ac_ens((!(R))||(r528is_equal(&ds,((T528*)ci(528,a1,99,29,1)),(T0*)C)));
f528is_equal.assertion_flag=1;
}
se_dst=caller;/*unlink*/
return R;
}
se_frame_descriptor f528is_equal={"is_equal of GENERAL",1,2,"%R528%other%R528%Result%E6%",1};
/*No:INTEGER_REF.item*/
T701*eiffel_root_object=NULL;
int se_argc;
char**se_argv;
T7* g[2136];
T7* t[2136];
char* p[2136];
void(*se_prinT[2136])(void**);
void initialize_eiffel_runtime(int argc,char*argv[]){
se_frame_descriptor irfd={"Initialysing runtime.",0,0,"",1};
se_dump_stack ds = {NULL,NULL,0,0,0,NULL,NULL};
ds.fd=&irfd;
ds.caller=se_dst;
se_argc=argc;
se_argv=argv;
gcmt=malloc((gcmt_max+1)*sizeof(void*));
stack_bottom=((void*)(&argc));
p[0]="???";
p[204]="/home/colnet/SmallEiffel/lib_std/hashable.e";
p[592]="/home/colnet/SmallEiffel/lib_std/collection.e";
p[619]="/home/colnet/SmallEiffel/lib_std/std_input.e";
p[674]="/home/colnet/SmallEiffel/lib_std/fixed_array.e";
p[605]="/home/colnet/SmallEiffel/lib_std/pointer_ref.e";
p[660]="/home/colnet/SmallEiffel/lib_std/directory.e";
p[474]="/home/colnet/SmallEiffel/lib_std/boolean_ref.e";
p[1405]="/home/colnet/SmallEiffel/lib_std/basic_directory.e";
p[701]="./example01.e";
p[2]="/home/colnet/SmallEiffel/lib_std/integer.e";
p[869]="/home/colnet/SmallEiffel/lib_std/input_stream.e";
p[98]="/home/colnet/SmallEiffel/lib_std/any.e";
p[3]="/home/colnet/SmallEiffel/lib_std/character.e";
p[1070]="/home/colnet/SmallEiffel/lib_std/output_stream.e";
p[7]="/home/colnet/SmallEiffel/lib_std/string.e";
p[842]="/home/colnet/SmallEiffel/lib_std/native_array.e";
p[878]="/home/colnet/SmallEiffel/lib_std/std_output.e";
p[2074]="/home/colnet/SmallEiffel/lib_std/std_input_output.e";
p[8]="/home/colnet/SmallEiffel/lib_std/pointer.e";
p[375]="/home/colnet/SmallEiffel/lib_std/comparable.e";
p[714]="/home/colnet/SmallEiffel/lib_std/character_ref.e";
p[1]="/home/colnet/SmallEiffel/lib_std/general.e";
p[252]="/home/colnet/SmallEiffel/lib_std/numeric.e";
p[6]="/home/colnet/SmallEiffel/lib_std/boolean.e";
p[437]="/home/colnet/SmallEiffel/lib_std/platform.e";
p[1626]="/home/colnet/SmallEiffel/lib_std/arrayed_collection.e";
p[528]="/home/colnet/SmallEiffel/lib_std/integer_ref.e";
se_prinT[2135]=((void(*)(void**))se_prinT2135);
p[2135]=p[842];
se_prinT[660]=((void(*)(void**))se_prinT660);
se_prinT[474]=((void(*)(void**))se_prinT474);
se_prinT[1405]=((void(*)(void**))se_prinT1405);
se_prinT[701]=((void(*)(void**))se_prinT701);
se_prinT[2]=((void(*)(void**))se_prinT2);
se_prinT[3]=((void(*)(void**))se_prinT3);
se_prinT[1886]=((void(*)(void**))se_prinT1886);
p[1886]=p[674];
se_prinT[9]=((void(*)(void**))se_prinT9);
p[9]=p[842];
se_prinT[7]=((void(*)(void**))se_prinT7);
se_prinT[878]=((void(*)(void**))se_prinT878);
se_prinT[2074]=((void(*)(void**))se_prinT2074);
se_prinT[8]=((void(*)(void**))se_prinT8);
se_prinT[714]=((void(*)(void**))se_prinT714);
se_prinT[6]=((void(*)(void**))se_prinT6);
se_prinT[528]=((void(*)(void**))se_prinT528);
g[204]=e2s("HASHABLE");
g[592]=e2s("COLLECTION");
g[619]=e2s("STD_INPUT");
g[674]=e2s("FIXED_ARRAY");
g[605]=e2s("POINTER_REF");
g[660]=e2s("DIRECTORY");
g[474]=e2s("BOOLEAN_REF");
g[1405]=e2s("BASIC_DIRECTORY");
g[701]=e2s("EXAMPLE01");
g[2]=e2s("INTEGER");
g[869]=e2s("INPUT_STREAM");
g[98]=e2s("ANY");
g[3]=e2s("CHARACTER");
g[1070]=e2s("OUTPUT_STREAM");
g[7]=e2s("STRING");
g[842]=e2s("NATIVE_ARRAY");
g[878]=e2s("STD_OUTPUT");
g[2074]=e2s("STD_INPUT_OUTPUT");
g[8]=e2s("POINTER");
g[375]=e2s("COMPARABLE");
g[714]=e2s("CHARACTER_REF");
g[1]=e2s("GENERAL");
g[252]=e2s("NUMERIC");
g[6]=e2s("BOOLEAN");
g[437]=e2s("PLATFORM");
g[1626]=e2s("ARRAYED_COLLECTION");
g[528]=e2s("INTEGER_REF");
g[2135]=g[842];
g[1886]=g[674];
g[9]=g[842];
t[2135]=e2s("NATIVE_ARRAY[STRING]");
t[660]=g[660];
t[474]=g[474];
t[1405]=g[1405];
t[701]=g[701];
t[2]=g[2];
t[3]=g[3];
t[1886]=e2s("FIXED_ARRAY[STRING]");
t[9]=e2s("NATIVE_ARRAY[CHARACTER]");
t[7]=g[7];
t[878]=g[878];
t[2074]=g[2074];
t[8]=g[8];
t[714]=g[714];
t[6]=g[6];
t[528]=g[528];
#ifdef SIGINT
signal(SIGINT,sigrsp);
#endif
#ifdef SIGQUIT
signal(SIGQUIT,sigrsp);
#endif
#ifdef SIGTERM
signal(SIGTERM,sigrsp);
#endif
#ifdef SIGBREAK
signal(SIGBREAK,sigrsp);
#endif
#ifdef SIGKILL
signal(SIGKILL,sigrsp);
#endif
se_msi1();
oBC1io=NULL;
se_trace(&ds,276,3,1);
{T2074*n=new2074();
r2074make(&ds,n);
oBC1io=(T0*)n;
}
if(ds.fd->assertion_flag){
ds.fd->assertion_flag=0;
se_trace(&ds,278,10,1);
ac_ens((oBC1io)!=((void*)(NULL)));
ds.fd->assertion_flag=1;
}
/*PCO*/
oBC1std_output=NULL;
se_trace(&ds,290,3,1);
{T878*n=new878();
r878make(&ds,n);
oBC1std_output=(T0*)n;
}
/*PCO*/
gc_is_off=0;
eiffel_root_object=malloc(sizeof(double)+sizeof(*eiffel_root_object));
*eiffel_root_object=M701;
se_dst=NULL;
}
int main(int argc,char*argv[]){
initialize_eiffel_runtime(argc,argv);
{T701*n=eiffel_root_object;
se_frame_descriptor root={"System root.",1,0,"%R701%",1};
se_dump_stack ds;
ds.fd=&root;
ds.current=((void**)(&n));
ds.l=11;
ds.c=4;
ds.f=701;
ds.caller=NULL;
se_dst=&ds;/*link*/
r701make(&ds,n);
}
exit(0);
}
T7*ms701_288aa;
T7*ms701_52800;
T7*ms701_31430;
T7*ms701_17488;
T7*ms2_8350;
T7*ms701_288a;
T7*ms701_36322;
T7*ms701_288;
void se_msi1(void){
ms701_288aa=se_ms(3,"\".\n");
ms701_52800=se_ms(33," item(s) (file or directory) in \"");
ms701_31430=se_ms(35,"usage : example01 <directory_name>\n");
ms701_17488=se_ms(16,"Trying to list \"");
ms2_8350=se_ms(10,"0123456789");
ms701_288a=se_ms(3,"\".\n");
ms701_36322=se_ms(26,"Unable to open directory \"");
ms701_288=se_ms(3,"\".\n");
}
void manifest_string_mark1(void){
((rsoh*)(ms701_288aa->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_52800->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_31430->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_17488->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms2_8350->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_288a->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_36322->_storage)-1)->header.magic_flag=RSOH_MARKED;
((rsoh*)(ms701_288->_storage)-1)->header.magic_flag=RSOH_MARKED;
}
void once_function_mark(void){
if(NULL!=oBC1070tmp_string)gc_mark7((void*)(oBC1070tmp_string));
if(NULL!=oBC1std_output)Xgc_mark878((void*)(oBC1std_output));
if(NULL!=oBC1io)gc_mark2074((void*)(oBC1io));
if(NULL!=oBC1command_arguments)gc_mark1886((void*)(oBC1command_arguments));
}
/*
-- This file is free software, which comes along with SmallEiffel. This
-- software is distributed in the hope that it will be useful, but WITHOUT
-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-- FITNESS FOR A PARTICULAR PURPOSE. You can modify it as you want, provided
-- this header is kept unaltered, and a notification of the changes is added.
-- You are allowed to redistribute it and sell it, alone or as a part of
-- another product.
-- Copyright (C) 1994-98 LORIA - UHP - CRIN - INRIA - FRANCE
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr
-- http://www.loria.fr/SmallEiffel
--
*/
/*
Stack and Registers traversal for PC Linux.
Addresses decrease as the stack grows.
Registers are saved using SETJMP().
*/
void mark_stack_and_registers (void) {
void** max = stack_bottom + 4;
void** stack_pointer;
jmp_buf registers;
(void)setjmp(registers);
stack_pointer = ((void**)(®isters));
while (stack_pointer < max) {
gc_mark(*(stack_pointer++));
}
}
void gc_start(void){
if(gc_is_off)return;
if(garbage_delayed())return;
gcmt_tail_addr=(((char*)(gcmt[gcmt_used-1]))+(gcmt[gcmt_used-1])->size);
((gc701*)eiffel_root_object)->header.flag=FSOH_UNMARKED;
if(na_env2135.store_left>0){
na_env2135.store->header.size=na_env2135.store_left;
na_env2135.store->header.magic_flag=RSOH_FREE;
na_env2135.store_left=0;
}
na_env2135.chunk_list=NULL;
na_env2135.store_chunk=NULL;
gc_free660=NULL;
gc_free474=NULL;
gc_free1405=NULL;
gc_free701=NULL;
gc_free1886=NULL;
if(na_env9.store_left>0){
na_env9.store->header.size=na_env9.store_left;
na_env9.store->header.magic_flag=RSOH_FREE;
na_env9.store_left=0;
}
na_env9.chunk_list=NULL;
na_env9.store_chunk=NULL;
gc_free7=NULL;
gc_free878=NULL;
gc_free2074=NULL;
gc_free714=NULL;
gc_free528=NULL;
gc_mark701(eiffel_root_object);
manifest_string_mark1();
once_function_mark();
{int i=SE_MAXID-1;
while(i>=0){
if(g[i]!=NULL)gc_mark9((g[i])->_storage);
i--;}
}
{int i=SE_MAXID-1;
while(i>=0){
if(t[i]!=NULL)gc_mark9((t[i])->_storage);
i--;}
}
mark_stack_and_registers();
gc_sweep();
gc_start_count++;
}
na_env na_env2135={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark2135};
gc660*store660=NULL;
int store_left660=0;
fsoc*store_chunk660=NULL;
gc660*gc_free660=NULL;
gc474*store474=NULL;
int store_left474=0;
fsoc*store_chunk474=NULL;
gc474*gc_free474=NULL;
gc1405*store1405=NULL;
int store_left1405=0;
fsoc*store_chunk1405=NULL;
gc1405*gc_free1405=NULL;
gc701*store701=NULL;
int store_left701=0;
fsoc*store_chunk701=NULL;
gc701*gc_free701=NULL;
gc1886*store1886=NULL;
int store_left1886=0;
fsoc*store_chunk1886=NULL;
gc1886*gc_free1886=NULL;
na_env na_env9={0,NULL,NULL,NULL,(void(*)(T0*))gc_mark9};
gc7*store7=NULL;
int store_left7=0;
fsoc*store_chunk7=NULL;
gc7*gc_free7=NULL;
gc878*store878=NULL;
int store_left878=0;
fsoc*store_chunk878=NULL;
gc878*gc_free878=NULL;
gc2074*store2074=NULL;
int store_left2074=0;
fsoc*store_chunk2074=NULL;
gc2074*gc_free2074=NULL;
gc714*store714=NULL;
int store_left714=0;
fsoc*store_chunk714=NULL;
gc714*gc_free714=NULL;
gc528*store528=NULL;
int store_left528=0;
fsoc*store_chunk528=NULL;
gc528*gc_free528=NULL;
void gc_mark2135(T2135 o){
rsoh*h=((rsoh*)o)-1;
if((h->header.magic_flag)==RSOH_UNMARKED){
h->header.magic_flag=RSOH_MARKED;
{T0* e;
T0**p=((void*)(o+((((h->header.size)-sizeof(rsoh))/sizeof(e))-1)));
for(;((void*)p)>=((void*)o);p--){
e=*p;
if(NULL!=e)gc_mark7((void*)(e));
}
}
}}
T2135 new2135(int size){
size=(size*sizeof(T0*))+sizeof(rsoh);
if((size%sizeof(double))!=0)size+=(sizeof(double)-(size%sizeof(double)));
if (size<=(na_env2135.store_left)){
rsoh*r=na_env2135.store;
na_env2135.store_left-=size;
if(na_env2135.store_left>sizeof(rsoh)){
r->header.size=size;
na_env2135.store=((rsoh*)(((char*)(na_env2135.store))+size));
}
else {
r->header.size=size+na_env2135.store_left;
na_env2135.store_left=0;
}
(r->header.magic_flag)=RSOH_UNMARKED;
((void)memset((r+1),0,r->header.size-sizeof(rsoh)));
return (void*)(r+1);
}
return (void*)new_na(&na_env2135,size);
}
void gc_sweep660(fsoc*c){
gc660*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store660;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free660;
gc_free660=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free660;
gc_free660=flh.header.next;
}
}
}
void gc_mark660(T660*o){
se_gc_check_id(o,660);
{if(((gc660*)o)->header.flag==FSOH_UNMARKED){
((gc660*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_basic_directory/*4*/)gc_mark1405((void*)(o->_basic_directory/*4*/));
}
}}
void gc_align_mark660(fsoc*c,gc660*p){
gc660*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store660)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T660*o=(void*)p;
((gc660*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_basic_directory/*4*/)gc_mark1405((void*)(o->_basic_directory/*4*/));
}
}
}
fsoc H660={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark660,
(void(*)(mch*))gc_sweep660},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc660))-1)};
T660*new660(void){
gc660*n;
if(store_left660>1){
store_left660--;
n=store660++;
}
else if (gc_free660!=NULL){
n=gc_free660;
gc_free660=n->header.next;
}
else if(store_left660==1){
store_left660=0;
store_chunk660->header.state_type=FSO_USED_CHUNK;
n=store660++;
}
else if(fsocfl!=NULL) {
store_chunk660=fsocfl;
fsocfl=fsocfl->next;
*store_chunk660=H660;
store660=(void*)(&(store_chunk660->first_object));
store_left660=H660.count_minus_one;
n=store660++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk660=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk660));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk660;
}
*store_chunk660=H660;
store660=(void*)(&(store_chunk660->first_object));
store_left660=H660.count_minus_one;
n=store660++;
}
else{
gc_start();
if(NULL!=gc_free660){
n=gc_free660;
gc_free660=n->header.next;
}
else{
store_chunk660=new_fsoc();
*store_chunk660=H660;
store660=(void*)(&(store_chunk660->first_object));
store_left660=H660.count_minus_one;
n=store660++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M660;
return (void*)n;
}
void gc_sweep474(fsoc*c){
gc474*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store474;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free474;
gc_free474=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free474;
gc_free474=flh.header.next;
}
}
}
void gc_mark474(T474*o){
se_gc_check_id(o,474);
{((gc474*)o)->header.flag=FSOH_MARKED;
}}
void gc_align_mark474(fsoc*c,gc474*p){
gc474*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store474)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T474*o=(void*)p;
((gc474*)o)->header.flag=FSOH_MARKED;
}
}
}
fsoc H474={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark474,
(void(*)(mch*))gc_sweep474},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc474))-1)};
T474*new474(void){
gc474*n;
if(store_left474>1){
store_left474--;
n=store474++;
}
else if (gc_free474!=NULL){
n=gc_free474;
gc_free474=n->header.next;
}
else if(store_left474==1){
store_left474=0;
store_chunk474->header.state_type=FSO_USED_CHUNK;
n=store474++;
}
else if(fsocfl!=NULL) {
store_chunk474=fsocfl;
fsocfl=fsocfl->next;
*store_chunk474=H474;
store474=(void*)(&(store_chunk474->first_object));
store_left474=H474.count_minus_one;
n=store474++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk474=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk474));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk474;
}
*store_chunk474=H474;
store474=(void*)(&(store_chunk474->first_object));
store_left474=H474.count_minus_one;
n=store474++;
}
else{
gc_start();
if(NULL!=gc_free474){
n=gc_free474;
gc_free474=n->header.next;
}
else{
store_chunk474=new_fsoc();
*store_chunk474=H474;
store474=(void*)(&(store_chunk474->first_object));
store_left474=H474.count_minus_one;
n=store474++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M474;
return (void*)n;
}
void gc_sweep1405(fsoc*c){
gc1405*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store1405;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free1405;
gc_free1405=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free1405;
gc_free1405=flh.header.next;
}
}
}
void gc_mark1405(T1405*o){
se_gc_check_id(o,1405);
{if(((gc1405*)o)->header.flag==FSOH_UNMARKED){
((gc1405*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_name_list/*8*/)gc_mark1886((void*)(o->_name_list/*8*/));
if(NULL!=o->_path/*4*/)gc_mark7((void*)(o->_path/*4*/));
}
}}
void gc_align_mark1405(fsoc*c,gc1405*p){
gc1405*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store1405)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T1405*o=(void*)p;
((gc1405*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_name_list/*8*/)gc_mark1886((void*)(o->_name_list/*8*/));
if(NULL!=o->_path/*4*/)gc_mark7((void*)(o->_path/*4*/));
}
}
}
fsoc H1405={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark1405,
(void(*)(mch*))gc_sweep1405},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc1405))-1)};
T1405*new1405(void){
gc1405*n;
if(store_left1405>1){
store_left1405--;
n=store1405++;
}
else if (gc_free1405!=NULL){
n=gc_free1405;
gc_free1405=n->header.next;
}
else if(store_left1405==1){
store_left1405=0;
store_chunk1405->header.state_type=FSO_USED_CHUNK;
n=store1405++;
}
else if(fsocfl!=NULL) {
store_chunk1405=fsocfl;
fsocfl=fsocfl->next;
*store_chunk1405=H1405;
store1405=(void*)(&(store_chunk1405->first_object));
store_left1405=H1405.count_minus_one;
n=store1405++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk1405=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk1405));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk1405;
}
*store_chunk1405=H1405;
store1405=(void*)(&(store_chunk1405->first_object));
store_left1405=H1405.count_minus_one;
n=store1405++;
}
else{
gc_start();
if(NULL!=gc_free1405){
n=gc_free1405;
gc_free1405=n->header.next;
}
else{
store_chunk1405=new_fsoc();
*store_chunk1405=H1405;
store1405=(void*)(&(store_chunk1405->first_object));
store_left1405=H1405.count_minus_one;
n=store1405++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M1405;
return (void*)n;
}
void gc_sweep701(fsoc*c){
gc701*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store701;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free701;
gc_free701=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free701;
gc_free701=flh.header.next;
}
}
}
void gc_mark701(T701*o){
se_gc_check_id(o,701);
{((gc701*)o)->header.flag=FSOH_MARKED;
}}
void gc_align_mark701(fsoc*c,gc701*p){
gc701*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store701)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T701*o=(void*)p;
((gc701*)o)->header.flag=FSOH_MARKED;
}
}
}
fsoc H701={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark701,
(void(*)(mch*))gc_sweep701},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc701))-1)};
T701*new701(void){
gc701*n;
if(store_left701>1){
store_left701--;
n=store701++;
}
else if (gc_free701!=NULL){
n=gc_free701;
gc_free701=n->header.next;
}
else if(store_left701==1){
store_left701=0;
store_chunk701->header.state_type=FSO_USED_CHUNK;
n=store701++;
}
else if(fsocfl!=NULL) {
store_chunk701=fsocfl;
fsocfl=fsocfl->next;
*store_chunk701=H701;
store701=(void*)(&(store_chunk701->first_object));
store_left701=H701.count_minus_one;
n=store701++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk701=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk701));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk701;
}
*store_chunk701=H701;
store701=(void*)(&(store_chunk701->first_object));
store_left701=H701.count_minus_one;
n=store701++;
}
else{
gc_start();
if(NULL!=gc_free701){
n=gc_free701;
gc_free701=n->header.next;
}
else{
store_chunk701=new_fsoc();
*store_chunk701=H701;
store701=(void*)(&(store_chunk701->first_object));
store_left701=H701.count_minus_one;
n=store701++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M701;
return (void*)n;
}
void gc_sweep1886(fsoc*c){
gc1886*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store1886;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free1886;
gc_free1886=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free1886;
gc_free1886=flh.header.next;
}
}
}
void gc_mark1886(T1886*o){
se_gc_check_id(o,1886);
{if(((gc1886*)o)->header.flag==FSOH_UNMARKED){
((gc1886*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_storage/*4*/)gc_mark2135((o->_storage/*4*/));
}
}}
void gc_align_mark1886(fsoc*c,gc1886*p){
gc1886*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store1886)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T1886*o=(void*)p;
((gc1886*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_storage/*4*/)gc_mark2135((o->_storage/*4*/));
}
}
}
fsoc H1886={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark1886,
(void(*)(mch*))gc_sweep1886},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc1886))-1)};
T1886*new1886(void){
gc1886*n;
if(store_left1886>1){
store_left1886--;
n=store1886++;
}
else if (gc_free1886!=NULL){
n=gc_free1886;
gc_free1886=n->header.next;
}
else if(store_left1886==1){
store_left1886=0;
store_chunk1886->header.state_type=FSO_USED_CHUNK;
n=store1886++;
}
else if(fsocfl!=NULL) {
store_chunk1886=fsocfl;
fsocfl=fsocfl->next;
*store_chunk1886=H1886;
store1886=(void*)(&(store_chunk1886->first_object));
store_left1886=H1886.count_minus_one;
n=store1886++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk1886=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk1886));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk1886;
}
*store_chunk1886=H1886;
store1886=(void*)(&(store_chunk1886->first_object));
store_left1886=H1886.count_minus_one;
n=store1886++;
}
else{
gc_start();
if(NULL!=gc_free1886){
n=gc_free1886;
gc_free1886=n->header.next;
}
else{
store_chunk1886=new_fsoc();
*store_chunk1886=H1886;
store1886=(void*)(&(store_chunk1886->first_object));
store_left1886=H1886.count_minus_one;
n=store1886++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M1886;
return (void*)n;
}
void gc_mark9(T9 o){
(((rsoh*)o)-1)->header.magic_flag=RSOH_MARKED;
}
T9 new9(int size){
size=(size*sizeof(T3))+sizeof(rsoh);
if((size%sizeof(double))!=0)size+=(sizeof(double)-(size%sizeof(double)));
if (size<=(na_env9.store_left)){
rsoh*r=na_env9.store;
na_env9.store_left-=size;
if(na_env9.store_left>sizeof(rsoh)){
r->header.size=size;
na_env9.store=((rsoh*)(((char*)(na_env9.store))+size));
}
else {
r->header.size=size+na_env9.store_left;
na_env9.store_left=0;
}
(r->header.magic_flag)=RSOH_UNMARKED;
((void)memset((r+1),0,r->header.size-sizeof(rsoh)));
return (void*)(r+1);
}
return (void*)new_na(&na_env9,size);
}
void gc_sweep7(fsoc*c){
gc7*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store7;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free7;
gc_free7=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free7;
gc_free7=flh.header.next;
}
}
}
void gc_mark7(T7*o){
se_gc_check_id(o,7);
{if(((gc7*)o)->header.flag==FSOH_UNMARKED){
((gc7*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_storage/*4*/)gc_mark9((o->_storage/*4*/));
}
}}
void gc_align_mark7(fsoc*c,gc7*p){
gc7*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store7)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T7*o=(void*)p;
((gc7*)o)->header.flag=FSOH_MARKED;
if(NULL!=o->_storage/*4*/)gc_mark9((o->_storage/*4*/));
}
}
}
fsoc H7={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark7,
(void(*)(mch*))gc_sweep7},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc7))-1)};
T7*new7(void){
gc7*n;
if(store_left7>1){
store_left7--;
n=store7++;
}
else if (gc_free7!=NULL){
n=gc_free7;
gc_free7=n->header.next;
}
else if(store_left7==1){
store_left7=0;
store_chunk7->header.state_type=FSO_USED_CHUNK;
n=store7++;
}
else if(fsocfl!=NULL) {
store_chunk7=fsocfl;
fsocfl=fsocfl->next;
*store_chunk7=H7;
store7=(void*)(&(store_chunk7->first_object));
store_left7=H7.count_minus_one;
n=store7++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk7=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk7));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk7;
}
*store_chunk7=H7;
store7=(void*)(&(store_chunk7->first_object));
store_left7=H7.count_minus_one;
n=store7++;
}
else{
gc_start();
if(NULL!=gc_free7){
n=gc_free7;
gc_free7=n->header.next;
}
else{
store_chunk7=new_fsoc();
*store_chunk7=H7;
store7=(void*)(&(store_chunk7->first_object));
store_left7=H7.count_minus_one;
n=store7++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M7;
return (void*)n;
}
void gc_sweep878(fsoc*c){
gc878*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store878;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free878;
gc_free878=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free878;
gc_free878=flh.header.next;
}
}
}
void gc_mark878(T878*o){
se_gc_check_id(o,878);
{((gc878*)o)->header.flag=FSOH_MARKED;
}}
void gc_align_mark878(fsoc*c,gc878*p){
gc878*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store878)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T878*o=(void*)p;
((gc878*)o)->header.flag=FSOH_MARKED;
}
}
}
fsoc H878={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark878,
(void(*)(mch*))gc_sweep878},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc878))-1)};
T878*new878(void){
gc878*n;
if(store_left878>1){
store_left878--;
n=store878++;
}
else if (gc_free878!=NULL){
n=gc_free878;
gc_free878=n->header.next;
}
else if(store_left878==1){
store_left878=0;
store_chunk878->header.state_type=FSO_USED_CHUNK;
n=store878++;
}
else if(fsocfl!=NULL) {
store_chunk878=fsocfl;
fsocfl=fsocfl->next;
*store_chunk878=H878;
store878=(void*)(&(store_chunk878->first_object));
store_left878=H878.count_minus_one;
n=store878++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk878=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk878));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk878;
}
*store_chunk878=H878;
store878=(void*)(&(store_chunk878->first_object));
store_left878=H878.count_minus_one;
n=store878++;
}
else{
gc_start();
if(NULL!=gc_free878){
n=gc_free878;
gc_free878=n->header.next;
}
else{
store_chunk878=new_fsoc();
*store_chunk878=H878;
store878=(void*)(&(store_chunk878->first_object));
store_left878=H878.count_minus_one;
n=store878++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M878;
return (void*)n;
}
void gc_sweep2074(fsoc*c){
gc2074*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store2074;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free2074;
gc_free2074=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free2074;
gc_free2074=flh.header.next;
}
}
}
void gc_mark2074(T2074*o){
se_gc_check_id(o,2074);
{((gc2074*)o)->header.flag=FSOH_MARKED;
}}
void gc_align_mark2074(fsoc*c,gc2074*p){
gc2074*b=(void*)(&(c->first_object));
if((c->header.state_type==FSO_STORE_CHUNK)&&(((char*)p)>=((char*)store2074)))return;
if(((char*)p)>((char*)(b+(c->count_minus_one))))return;
if(((char*)p)<((char*)b))return;
if(((((char*)p)-((char*)b))%sizeof(*p))==0){
if(p->header.flag==FSOH_UNMARKED){
T2074*o=(void*)p;
((gc2074*)o)->header.flag=FSOH_MARKED;
}
}
}
fsoc H2074={{FSOC_SIZE,FSO_STORE_CHUNK,
(void(*)(mch*,void*))gc_align_mark2074,
(void(*)(mch*))gc_sweep2074},NULL,(((FSOC_SIZE-sizeof(fsoc)+sizeof(double))/sizeof(gc2074))-1)};
T2074*new2074(void){
gc2074*n;
if(store_left2074>1){
store_left2074--;
n=store2074++;
}
else if (gc_free2074!=NULL){
n=gc_free2074;
gc_free2074=n->header.next;
}
else if(store_left2074==1){
store_left2074=0;
store_chunk2074->header.state_type=FSO_USED_CHUNK;
n=store2074++;
}
else if(fsocfl!=NULL) {
store_chunk2074=fsocfl;
fsocfl=fsocfl->next;
*store_chunk2074=H2074;
store2074=(void*)(&(store_chunk2074->first_object));
store_left2074=H2074.count_minus_one;
n=store2074++;
}
else if(fsoc_count_ceil>fsoc_count) {
store_chunk2074=malloc(FSOC_SIZE);
fsoc_count++;
{mch**p;
if(gcmt_used==gcmt_max){
gcmt_max<<=1;
gcmt=realloc(gcmt,(gcmt_max+1)*sizeof(void*));
}
for(p=gcmt+(gcmt_used++ -1);(p>=gcmt)&&(*p>((mch*)store_chunk2074));p--)
*(p+1)=*p;
*(p+1)=(mch*)store_chunk2074;
}
*store_chunk2074=H2074;
store2074=(void*)(&(store_chunk2074->first_object));
store_left2074=H2074.count_minus_one;
n=store2074++;
}
else{
gc_start();
if(NULL!=gc_free2074){
n=gc_free2074;
gc_free2074=n->header.next;
}
else{
store_chunk2074=new_fsoc();
*store_chunk2074=H2074;
store2074=(void*)(&(store_chunk2074->first_object));
store_left2074=H2074.count_minus_one;
n=store2074++;
}
}
n->header.flag=FSOH_UNMARKED;
n->object=M2074;
return (void*)n;
}
void gc_sweep714(fsoc*c){
gc714*o1,*o2,*flt,flh;
o1=((void*)(&(c->first_object)));
if(c->header.state_type==FSO_STORE_CHUNK){
for(;o1<store714;o1++){
if((o1->header.flag)==FSOH_MARKED){
o1->header.flag=FSOH_UNMARKED;
}
else{
o1->header.next=gc_free714;
gc_free714=o1;
}
}
}
else{
int dead=1;
flh.header.next=NULL;
flt=&flh;
o2=o1+c->count_minus_one;
for(;o1<=o2;o2--){
if((o2->header.flag)==FSOH_MARKED){
o2->header.flag=FSOH_UNMARKED;
dead=0;}
else{
flt->header.next=o2;
flt=o2;
}
}
if (dead){
c->next=fsocfl;
fsocfl=c;
c->header.state_type=FSO_FREE_CHUNK;
}
else if(flh.header.next!=NULL){
flt->header.next=gc_free714;
gc_free714=flh.header.next;
}
}
}
void gc_mark714(T714*o){
se_gc_check_id(o,714);
{((gc714*)o)->header.flag=FSOH_MARKED;
}}