/*===========================================================================*/
/*   (Heap/make.scm)                                                         */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Heap/make.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzheap_makez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_passz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzforeign_libraryz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__osz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__intextz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_methodzd2initzd2zzheap_makez00();
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_za2additionalzd2includezd2foreignza2z00zzengine_paramz00;
static bool_t BGl_preparezd2additionalzd2globalsz12z12zzheap_makez00();
extern obj_t BGl_getzd2tenvzd2zztype_envz00();
extern obj_t BGl_za2libzd2dirza2zd2zzengine_paramz00;
BGL_IMPORT obj_t BGl_makezd2filezd2namez00zz__osz00(obj_t, obj_t);
extern obj_t BGl_za2heapzd2nameza2zd2zzengine_paramz00;
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT obj_t open_output_binary_file(obj_t);
static obj_t BGl_zc3anonymousza31730ze3z83zzheap_makez00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2addzd2heapz00zzheap_makez00();
static obj_t BGl__makezd2heapzd2zzheap_makez00(obj_t);
extern obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t);
extern obj_t BGl_za2targetzd2languageza2zd2zzengine_paramz00;
static obj_t BGl__makezd2addzd2heapz00zzheap_makez00(obj_t);
BGL_IMPORT obj_t BGl_setzd2objzd2stringzd2modez12zc0zz__intextz00(obj_t);
extern obj_t BGl_unbindzd2globalz12zc0zzast_envz00(obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl__preparezd2globalsz12zc0zzheap_makez00(obj_t);
BGL_IMPORT obj_t output_obj(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2heapzd2zzheap_makez00();
static obj_t BGl_cnstzd2initzd2zzheap_makez00();
static bool_t BGl_preparezd2globalsz12zc0zzheap_makez00();
extern obj_t BGl_getzd2genvzd2zzast_envz00();
extern obj_t BGl_za2additionalzd2heapzd2nameza2z00zzengine_paramz00;
extern obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00;
static obj_t BGl__preparezd2additionalzd2globalsz12z12zzheap_makez00(obj_t);
extern obj_t BGl_za2currentzd2passza2zd2zzengine_passz00;
static obj_t BGl_importedzd2moduleszd2initz00zzheap_makez00();
static obj_t BGl_requirezd2initializa7ationz75zzheap_makez00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzheap_makez00();
BGL_IMPORT obj_t close_binary_port(obj_t);
static obj_t BGl_zc3anonymousza31640ze3z83zzheap_makez00(obj_t, obj_t);
static obj_t __cnst[ 7 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_makezd2addzd2heapzd2envzd2zzheap_makez00, BgL_bgl__makeza7d2addza7d2heapza700za7za7heap_makeza7001963z00, BGl__makezd2addzd2heapz00zzheap_makez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_preparezd2globalsz12zd2envz12zzheap_makez00, BgL_bgl__prepareza7d2globalsza712za7c0za7za7heap_makeza7001964z00, BGl__preparezd2globalsz12zc0zzheap_makez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc1931z00zzheap_makez00, BgL_bgl_za7c3anonymousza7a31640za7e3za783za7za7heap_makeza7001965za7, BGl_zc3anonymousza31640ze3z83zzheap_makez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc1935z00zzheap_makez00, BgL_bgl_za7c3anonymousza7a31730za7e3za783za7za7heap_makeza7001966za7, BGl_zc3anonymousza31730ze3z83zzheap_makez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_preparezd2additionalzd2globalsz12zd2envzc0zzheap_makez00, BgL_bgl__prepareza7d2additionalza7d2globalsza712za712za7za7heap_makeza7001967za7, BGl__preparezd2additionalzd2globalsz12z12zzheap_makez00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2heapzd2envz00zzheap_makez00, BgL_bgl__makeza7d2heapza7d2za7za7heap_makeza7001968za7, BGl__makezd2heapzd2zzheap_makez00, 0L, 0 );
DEFINE_STRING( BGl_string1936z00zzheap_makez00, BgL_bgl_string1936za700za7za7heap_makeza7001969z00, "(prepare-additional-globals!) import export static pair (prepare-globals!) pass-started ", 88 );
DEFINE_STRING( BGl_string1934z00zzheap_makez00, BgL_bgl_string1934za700za7za7heap_makeza7001970z00, "make-add-heap", 13 );
DEFINE_STRING( BGl_string1933z00zzheap_makez00, BgL_bgl_string1933za700za7za7heap_makeza7001971z00, "make-addd-heap", 14 );
DEFINE_STRING( BGl_string1932z00zzheap_makez00, BgL_bgl_string1932za700za7za7heap_makeza7001972z00, "Library heap", 12 );
DEFINE_STRING( BGl_string1930z00zzheap_makez00, BgL_bgl_string1930za700za7za7heap_makeza7001973z00, "Illegal heap's name", 19 );
DEFINE_STRING( BGl_string1929z00zzheap_makez00, BgL_bgl_string1929za700za7za7heap_makeza7001974z00, "Can't open output port", 22 );
DEFINE_STRING( BGl_string1928z00zzheap_makez00, BgL_bgl_string1928za700za7za7heap_makeza7001975z00, "make-heap", 9 );
DEFINE_STRING( BGl_string1927z00zzheap_makez00, BgL_bgl_string1927za700za7za7heap_makeza7001976z00, "failure during prelude hook", 27 );
DEFINE_STRING( BGl_string1926z00zzheap_makez00, BgL_bgl_string1926za700za7za7heap_makeza7001977z00, "   . ", 5 );
DEFINE_STRING( BGl_string1925z00zzheap_makez00, BgL_bgl_string1925za700za7za7heap_makeza7001978z00, "Heap", 4 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzheap_makez00(long BgL_checksumz00_565, char * BgL_fromz00_566)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzheap_makez00))
{ 
BGl_requirezd2initializa7ationz75zzheap_makez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzheap_makez00(); 
BGl_cnstzd2initzd2zzheap_makez00(); 
BGl_importedzd2moduleszd2initz00zzheap_makez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 15 */
BGl_modulezd2initializa7ationz75zz__osz00(((long)0), "heap_make"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "heap_make"); 
BGl_modulezd2initializa7ationz75zz__intextz00(((long)0), "heap_make"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 15 */
{ /* ./Heap/make.scm 15 */
obj_t BgL_cportz00_558;
BgL_cportz00_558 = 
open_input_string(BGl_string1936z00zzheap_makez00); 
{ 
long BgL_iz00_559;
BgL_iz00_559 = ((long)6); 
BgL_loopz00_560:
{ /* ./Heap/make.scm 15 */
bool_t BgL_test1938z00_561;
BgL_test1938z00_561 = 
(BgL_iz00_559==((long)-1)); 
if(BgL_test1938z00_561)
{ /* ./Heap/make.scm 15 */
return BUNSPEC;}  else 
{ /* ./Heap/make.scm 15 */
{ /* ./Heap/make.scm 15 */
obj_t BgL_arg1941z00_562;
{ /* ./Heap/make.scm 15 */
obj_t BgL_list1944z00_563;
BgL_list1944z00_563 = 
MAKE_PAIR(BgL_cportz00_558, BNIL); 
BgL_arg1941z00_562 = 
BGl_readz00zz__readerz00(BgL_list1944z00_563); } 
{ /* ./Heap/make.scm 15 */
int BgL_auxz00_581;
BgL_auxz00_581 = 
(int)(BgL_iz00_559); 
CNST_TABLE_SET(BgL_auxz00_581, BgL_arg1941z00_562); } } 
{ /* ./Heap/make.scm 15 */
int BgL_auxz00_564;
{ /* ./Heap/make.scm 15 */
long BgL_auxz00_584;
BgL_auxz00_584 = 
(BgL_iz00_559-((long)1)); 
BgL_auxz00_564 = 
(int)(BgL_auxz00_584); } 
{ 
long BgL_iz00_587;
BgL_iz00_587 = 
(long)(BgL_auxz00_564); 
BgL_iz00_559 = BgL_iz00_587; 
goto BgL_loopz00_560;} } } } } } } 
}



/* make-heap */
BGL_EXPORTED_DEF obj_t BGl_makezd2heapzd2zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 31 */
{ /* ./Heap/make.scm 32 */
obj_t BgL_list1563z00_273;
{ /* ./Heap/make.scm 32 */
obj_t BgL_arg1566z00_275;
{ /* ./Heap/make.scm 32 */
obj_t BgL_arg1570z00_277;
{ /* ./Heap/make.scm 32 */
obj_t BgL_auxz00_589;
BgL_auxz00_589 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg1570z00_277 = 
MAKE_PAIR(BgL_auxz00_589, BNIL); } 
BgL_arg1566z00_275 = 
MAKE_PAIR(BGl_string1925z00zzheap_makez00, BgL_arg1570z00_277); } 
BgL_list1563z00_273 = 
MAKE_PAIR(BGl_string1926z00zzheap_makez00, BgL_arg1566z00_275); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)1)), BgL_list1563z00_273); } 
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(((long)0)); 
BGl_za2currentzd2passza2zd2zzengine_passz00 = BGl_string1925z00zzheap_makez00; 
{ 
obj_t BgL_hooksz00_278;obj_t BgL_hnamesz00_279;
{ /* ./Heap/make.scm 32 */
obj_t BgL_arg1575z00_281;obj_t BgL_arg1576z00_282;
{ /* ./Heap/make.scm 32 */
obj_t BgL_list1579z00_283;
BgL_list1579z00_283 = 
MAKE_PAIR(BGl_preparezd2globalsz12zd2envz12zzheap_makez00, BNIL); 
BgL_arg1575z00_281 = BgL_list1579z00_283; } 
BgL_arg1576z00_282 = 
CNST_TABLE_REF(((long)1)); 
BgL_hooksz00_278 = BgL_arg1575z00_281; 
BgL_hnamesz00_279 = BgL_arg1576z00_282; 
BgL_loopz00_280:
{ /* ./Heap/make.scm 32 */
bool_t BgL_test1581z00_284;
BgL_test1581z00_284 = 
NULLP(BgL_hooksz00_278); 
if(BgL_test1581z00_284)
{ /* ./Heap/make.scm 32 */
CNST_TABLE_REF(((long)0)); }  else 
{ /* ./Heap/make.scm 32 */
bool_t BgL_test1582z00_285;
{ /* ./Heap/make.scm 32 */
obj_t BgL_fun1602z00_291;
BgL_fun1602z00_291 = 
CAR(BgL_hooksz00_278); 
{ /* ./Heap/make.scm 32 */
obj_t BgL_auxz00_603;
BgL_auxz00_603 = 
PROCEDURE_ENTRY(BgL_fun1602z00_291)(BgL_fun1602z00_291, BEOA); 
BgL_test1582z00_285 = 
CBOOL(BgL_auxz00_603); } } 
if(BgL_test1582z00_285)
{ /* ./Heap/make.scm 32 */
{ /* ./Heap/make.scm 32 */
obj_t BgL_arg1586z00_286;obj_t BgL_arg1587z00_287;
BgL_arg1586z00_286 = 
CDR(BgL_hooksz00_278); 
BgL_arg1587z00_287 = 
CDR(BgL_hnamesz00_279); 
{ 
obj_t BgL_hnamesz00_611;obj_t BgL_hooksz00_610;
BgL_hooksz00_610 = BgL_arg1586z00_286; 
BgL_hnamesz00_611 = BgL_arg1587z00_287; 
BgL_hnamesz00_279 = BgL_hnamesz00_611; 
BgL_hooksz00_278 = BgL_hooksz00_610; 
goto BgL_loopz00_280;} } }  else 
{ /* ./Heap/make.scm 32 */
{ /* ./Heap/make.scm 32 */
obj_t BgL_arg1596z00_290;
BgL_arg1596z00_290 = 
CAR(BgL_hnamesz00_279); 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string1925z00zzheap_makez00, BGl_string1927z00zzheap_makez00, BgL_arg1596z00_290); } } } } } } 
BGl_setzd2objzd2stringzd2modez12zc0zz__intextz00(
CNST_TABLE_REF(((long)2))); 
{ /* ./Heap/make.scm 34 */
bool_t BgL_test1606z00_292;
{ /* ./Heap/make.scm 34 */
obj_t BgL_objz00_480;
BgL_objz00_480 = BGl_za2heapzd2nameza2zd2zzengine_paramz00; 
BgL_test1606z00_292 = 
STRINGP(BgL_objz00_480); } 
if(BgL_test1606z00_292)
{ /* ./Heap/make.scm 36 */
obj_t BgL_hnamez00_293;
{ /* ./Heap/make.scm 36 */
obj_t BgL_arg1631z00_302;
{ /* ./Heap/make.scm 36 */
obj_t BgL_pairz00_481;
BgL_pairz00_481 = BGl_za2libzd2dirza2zd2zzengine_paramz00; 
BgL_arg1631z00_302 = 
CAR(BgL_pairz00_481); } 
BgL_hnamez00_293 = 
BGl_makezd2filezd2namez00zz__osz00(BgL_arg1631z00_302, BGl_za2heapzd2nameza2zd2zzengine_paramz00); } 
{ /* ./Heap/make.scm 37 */
obj_t BgL_portz00_294;
BgL_portz00_294 = 
open_output_binary_file(BgL_hnamez00_293); 
{ /* ./Heap/make.scm 38 */
bool_t BgL_test1607z00_295;
BgL_test1607z00_295 = 
BINARY_PORTP(BgL_portz00_294); 
if(BgL_test1607z00_295)
{ /* ./Heap/make.scm 38 */
{ /* ./Heap/make.scm 42 */
obj_t BgL_arg1610z00_296;
{ /* ./Heap/make.scm 42 */
obj_t BgL_v1560z00_297;
{ 
int BgL_auxz00_623;
BgL_auxz00_623 = 
(int)(((long)3)); 
BgL_v1560z00_297 = 
create_vector(BgL_auxz00_623); } 
{ /* ./Heap/make.scm 42 */
obj_t BgL_arg1614z00_299;
BgL_arg1614z00_299 = 
BGl_getzd2tenvzd2zztype_envz00(); 
{ /* ./Heap/make.scm 42 */
int BgL_kz00_485;
BgL_kz00_485 = 
(int)(((long)2)); 
VECTOR_SET(BgL_v1560z00_297,BgL_kz00_485,BgL_arg1614z00_299); } } 
{ /* ./Heap/make.scm 42 */
obj_t BgL_arg1620z00_301;
BgL_arg1620z00_301 = 
BGl_getzd2genvzd2zzast_envz00(); 
{ /* ./Heap/make.scm 42 */
int BgL_kz00_488;
BgL_kz00_488 = 
(int)(((long)1)); 
VECTOR_SET(BgL_v1560z00_297,BgL_kz00_488,BgL_arg1620z00_301); } } 
{ /* ./Heap/make.scm 42 */
int BgL_kz00_491;obj_t BgL_objz00_492;
BgL_kz00_491 = 
(int)(((long)0)); 
BgL_objz00_492 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
VECTOR_SET(BgL_v1560z00_297,BgL_kz00_491,BgL_objz00_492); } 
BgL_arg1610z00_296 = BgL_v1560z00_297; } 
output_obj(BgL_portz00_294, BgL_arg1610z00_296); } 
return 
close_binary_port(BgL_portz00_294);}  else 
{ /* ./Heap/make.scm 38 */
FAILURE(BGl_string1928z00zzheap_makez00,BGl_string1929z00zzheap_makez00,BgL_hnamez00_293);} } } }  else 
{ /* ./Heap/make.scm 34 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1928z00zzheap_makez00, BGl_string1930z00zzheap_makez00, BGl_za2heapzd2nameza2zd2zzengine_paramz00, BNIL);} } } 
}



/* _make-heap */
obj_t BGl__makezd2heapzd2zzheap_makez00(obj_t BgL_envz00_548)
{ AN_OBJECT;
{ /* ./Heap/make.scm 31 */
return 
BGl_makezd2heapzd2zzheap_makez00();} 
}



/* prepare-globals! */
bool_t BGl_preparezd2globalsz12zc0zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 54 */
BGl_forzd2eachzd2globalz12z12zzast_envz00(BGl_proc1931z00zzheap_makez00); 
return ((bool_t)1);} 
}



/* _prepare-globals! */
obj_t BGl__preparezd2globalsz12zc0zzheap_makez00(obj_t BgL_envz00_549)
{ AN_OBJECT;
{ /* ./Heap/make.scm 54 */
{ /* ./Heap/make.scm 55 */
bool_t BgL_auxz00_640;
BgL_auxz00_640 = 
BGl_preparezd2globalsz12zc0zzheap_makez00(); 
return 
BBOOL(BgL_auxz00_640);} } 
}



/* <anonymous:1640> */
obj_t BGl_zc3anonymousza31640ze3z83zzheap_makez00(obj_t BgL_envz00_551, obj_t BgL_gz00_552)
{ AN_OBJECT;
{ /* ./Heap/make.scm 55 */
{ 
obj_t BgL_gz00_305;
BgL_gz00_305 = BgL_gz00_552; 
{ /* ./Heap/make.scm 58 */
bool_t BgL_test1641z00_307;
{ /* ./Heap/make.scm 58 */
obj_t BgL_auxz00_646;obj_t BgL_auxz00_643;
BgL_auxz00_646 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Heap/make.scm 58 */
BgL_globalz00_bglt BgL_obj1168z00_499;
BgL_obj1168z00_499 = 
(BgL_globalz00_bglt)(BgL_gz00_305); 
BgL_auxz00_643 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_499))->BgL_importz00); } 
BgL_test1641z00_307 = 
(BgL_auxz00_643==BgL_auxz00_646); } 
if(BgL_test1641z00_307)
{ /* ./Heap/make.scm 58 */
{ /* ./Heap/make.scm 59 */
obj_t BgL_arg1643z00_308;obj_t BgL_arg1644z00_309;
{ /* ./Heap/make.scm 59 */
BgL_variablez00_bglt BgL_obj1093z00_500;
BgL_obj1093z00_500 = 
(BgL_variablez00_bglt)(BgL_gz00_305); 
BgL_arg1643z00_308 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_500))->BgL_idz00); } 
{ /* ./Heap/make.scm 59 */
BgL_globalz00_bglt BgL_obj1165z00_501;
BgL_obj1165z00_501 = 
(BgL_globalz00_bglt)(BgL_gz00_305); 
BgL_arg1644z00_309 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_501))->BgL_modulez00); } 
BGl_unbindzd2globalz12zc0zzast_envz00(BgL_arg1643z00_308, BgL_arg1644z00_309); } }  else 
{ /* ./Heap/make.scm 60 */
bool_t BgL_test1648z00_310;
{ /* ./Heap/make.scm 60 */
obj_t BgL_auxz00_658;obj_t BgL_auxz00_655;
BgL_auxz00_658 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Heap/make.scm 60 */
BgL_globalz00_bglt BgL_obj1168z00_502;
BgL_obj1168z00_502 = 
(BgL_globalz00_bglt)(BgL_gz00_305); 
BgL_auxz00_655 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_502))->BgL_importz00); } 
BgL_test1648z00_310 = 
(BgL_auxz00_655==BgL_auxz00_658); } 
if(BgL_test1648z00_310)
{ /* ./Heap/make.scm 60 */
{ /* ./Heap/make.scm 61 */
BgL_globalz00_bglt BgL_obj1170z00_503;obj_t BgL_val1169z00_504;
BgL_obj1170z00_503 = 
(BgL_globalz00_bglt)(BgL_gz00_305); 
BgL_val1169z00_504 = 
CNST_TABLE_REF(((long)5)); 
((((BgL_globalz00_bglt)CREF(BgL_obj1170z00_503))->BgL_importz00) = ((obj_t)BgL_val1169z00_504), BUNSPEC); } }  else 
{ /* ./Heap/make.scm 60 */BUNSPEC; } } } 
{ /* ./Heap/make.scm 65 */
BgL_variablez00_bglt BgL_obj1114z00_505;long BgL_val1113z00_506;
BgL_obj1114z00_505 = 
(BgL_variablez00_bglt)(BgL_gz00_305); 
BgL_val1113z00_506 = ((long)0); 
((((BgL_variablez00_bglt)CREF(BgL_obj1114z00_505))->BgL_occurrencez00) = ((long)BgL_val1113z00_506), BUNSPEC); } 
{ /* ./Heap/make.scm 68 */
BgL_globalz00_bglt BgL_obj1176z00_507;bool_t BgL_val1175z00_508;
BgL_obj1176z00_507 = 
(BgL_globalz00_bglt)(BgL_gz00_305); 
BgL_val1175z00_508 = ((bool_t)1); 
return 
((((BgL_globalz00_bglt)CREF(BgL_obj1176z00_507))->BgL_libraryzf3zf3) = ((bool_t)BgL_val1175z00_508), BUNSPEC);} } } 
}



/* make-add-heap */
BGL_EXPORTED_DEF obj_t BGl_makezd2addzd2heapz00zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 79 */
{ /* ./Heap/make.scm 80 */
obj_t BgL_list1664z00_316;
{ /* ./Heap/make.scm 80 */
obj_t BgL_arg1667z00_318;
{ /* ./Heap/make.scm 80 */
obj_t BgL_arg1671z00_320;
{ /* ./Heap/make.scm 80 */
obj_t BgL_auxz00_669;
BgL_auxz00_669 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg1671z00_320 = 
MAKE_PAIR(BgL_auxz00_669, BNIL); } 
BgL_arg1667z00_318 = 
MAKE_PAIR(BGl_string1932z00zzheap_makez00, BgL_arg1671z00_320); } 
BgL_list1664z00_316 = 
MAKE_PAIR(BGl_string1926z00zzheap_makez00, BgL_arg1667z00_318); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)1)), BgL_list1664z00_316); } 
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(((long)0)); 
BGl_za2currentzd2passza2zd2zzengine_passz00 = BGl_string1932z00zzheap_makez00; 
{ 
obj_t BgL_hooksz00_321;obj_t BgL_hnamesz00_322;
{ /* ./Heap/make.scm 80 */
obj_t BgL_arg1675z00_324;obj_t BgL_arg1676z00_325;
{ /* ./Heap/make.scm 80 */
obj_t BgL_list1679z00_326;
BgL_list1679z00_326 = 
MAKE_PAIR(BGl_preparezd2additionalzd2globalsz12zd2envzc0zzheap_makez00, BNIL); 
BgL_arg1675z00_324 = BgL_list1679z00_326; } 
BgL_arg1676z00_325 = 
CNST_TABLE_REF(((long)6)); 
BgL_hooksz00_321 = BgL_arg1675z00_324; 
BgL_hnamesz00_322 = BgL_arg1676z00_325; 
BgL_loopz00_323:
{ /* ./Heap/make.scm 80 */
bool_t BgL_test1681z00_327;
BgL_test1681z00_327 = 
NULLP(BgL_hooksz00_321); 
if(BgL_test1681z00_327)
{ /* ./Heap/make.scm 80 */
CNST_TABLE_REF(((long)0)); }  else 
{ /* ./Heap/make.scm 80 */
bool_t BgL_test1682z00_328;
{ /* ./Heap/make.scm 80 */
obj_t BgL_fun1697z00_334;
BgL_fun1697z00_334 = 
CAR(BgL_hooksz00_321); 
{ /* ./Heap/make.scm 80 */
obj_t BgL_auxz00_683;
BgL_auxz00_683 = 
PROCEDURE_ENTRY(BgL_fun1697z00_334)(BgL_fun1697z00_334, BEOA); 
BgL_test1682z00_328 = 
CBOOL(BgL_auxz00_683); } } 
if(BgL_test1682z00_328)
{ /* ./Heap/make.scm 80 */
{ /* ./Heap/make.scm 80 */
obj_t BgL_arg1684z00_329;obj_t BgL_arg1685z00_330;
BgL_arg1684z00_329 = 
CDR(BgL_hooksz00_321); 
BgL_arg1685z00_330 = 
CDR(BgL_hnamesz00_322); 
{ 
obj_t BgL_hnamesz00_691;obj_t BgL_hooksz00_690;
BgL_hooksz00_690 = BgL_arg1684z00_329; 
BgL_hnamesz00_691 = BgL_arg1685z00_330; 
BgL_hnamesz00_322 = BgL_hnamesz00_691; 
BgL_hooksz00_321 = BgL_hooksz00_690; 
goto BgL_loopz00_323;} } }  else 
{ /* ./Heap/make.scm 80 */
{ /* ./Heap/make.scm 80 */
obj_t BgL_arg1692z00_333;
BgL_arg1692z00_333 = 
CAR(BgL_hnamesz00_322); 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string1932z00zzheap_makez00, BGl_string1927z00zzheap_makez00, BgL_arg1692z00_333); } } } } } } 
BGl_setzd2objzd2stringzd2modez12zc0zz__intextz00(
CNST_TABLE_REF(((long)2))); 
{ /* ./Heap/make.scm 84 */
bool_t BgL_test1701z00_335;
{ /* ./Heap/make.scm 84 */
obj_t BgL_objz00_516;
BgL_objz00_516 = BGl_za2additionalzd2heapzd2nameza2z00zzengine_paramz00; 
BgL_test1701z00_335 = 
STRINGP(BgL_objz00_516); } 
if(BgL_test1701z00_335)
{ /* ./Heap/make.scm 88 */
obj_t BgL_hnamez00_336;
BgL_hnamez00_336 = BGl_za2additionalzd2heapzd2nameza2z00zzengine_paramz00; 
{ /* ./Heap/make.scm 89 */
obj_t BgL_portz00_337;
BgL_portz00_337 = 
open_output_binary_file(BgL_hnamez00_336); 
{ /* ./Heap/make.scm 90 */
bool_t BgL_test1702z00_338;
BgL_test1702z00_338 = 
BINARY_PORTP(BgL_portz00_337); 
if(BgL_test1702z00_338)
{ /* ./Heap/make.scm 90 */
{ /* ./Heap/make.scm 93 */
obj_t BgL_arg1704z00_339;
{ /* ./Heap/make.scm 93 */
obj_t BgL_v1561z00_340;
{ 
int BgL_auxz00_701;
BgL_auxz00_701 = 
(int)(((long)4)); 
BgL_v1561z00_340 = 
create_vector(BgL_auxz00_701); } 
{ /* ./Heap/make.scm 93 */
int BgL_kz00_520;obj_t BgL_objz00_521;
BgL_kz00_520 = 
(int)(((long)3)); 
BgL_objz00_521 = BGl_za2additionalzd2includezd2foreignza2z00zzengine_paramz00; 
VECTOR_SET(BgL_v1561z00_340,BgL_kz00_520,BgL_objz00_521); } 
{ /* ./Heap/make.scm 93 */
obj_t BgL_arg1710z00_342;
BgL_arg1710z00_342 = 
BGl_getzd2tenvzd2zztype_envz00(); 
{ /* ./Heap/make.scm 93 */
int BgL_kz00_523;
BgL_kz00_523 = 
(int)(((long)2)); 
VECTOR_SET(BgL_v1561z00_340,BgL_kz00_523,BgL_arg1710z00_342); } } 
{ /* ./Heap/make.scm 93 */
obj_t BgL_arg1715z00_344;
BgL_arg1715z00_344 = 
BGl_getzd2genvzd2zzast_envz00(); 
{ /* ./Heap/make.scm 93 */
int BgL_kz00_526;
BgL_kz00_526 = 
(int)(((long)1)); 
VECTOR_SET(BgL_v1561z00_340,BgL_kz00_526,BgL_arg1715z00_344); } } 
{ /* ./Heap/make.scm 93 */
int BgL_kz00_529;obj_t BgL_objz00_530;
BgL_kz00_529 = 
(int)(((long)0)); 
BgL_objz00_530 = BGl_za2targetzd2languageza2zd2zzengine_paramz00; 
VECTOR_SET(BgL_v1561z00_340,BgL_kz00_529,BgL_objz00_530); } 
BgL_arg1704z00_339 = BgL_v1561z00_340; } 
output_obj(BgL_portz00_337, BgL_arg1704z00_339); } 
return 
close_binary_port(BgL_portz00_337);}  else 
{ /* ./Heap/make.scm 90 */
FAILURE(BGl_string1933z00zzheap_makez00,BGl_string1929z00zzheap_makez00,BgL_hnamez00_336);} } } }  else 
{ /* ./Heap/make.scm 84 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1934z00zzheap_makez00, BGl_string1930z00zzheap_makez00, BGl_za2additionalzd2heapzd2nameza2z00zzengine_paramz00, BNIL);} } } 
}



/* _make-add-heap */
obj_t BGl__makezd2addzd2heapz00zzheap_makez00(obj_t BgL_envz00_553)
{ AN_OBJECT;
{ /* ./Heap/make.scm 79 */
return 
BGl_makezd2addzd2heapz00zzheap_makez00();} 
}



/* prepare-additional-globals! */
bool_t BGl_preparezd2additionalzd2globalsz12z12zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 106 */
BGl_forzd2eachzd2globalz12z12zzast_envz00(BGl_proc1935z00zzheap_makez00); 
return ((bool_t)1);} 
}



/* _prepare-additional-globals! */
obj_t BGl__preparezd2additionalzd2globalsz12z12zzheap_makez00(obj_t BgL_envz00_554)
{ AN_OBJECT;
{ /* ./Heap/make.scm 106 */
{ /* ./Heap/make.scm 107 */
bool_t BgL_auxz00_720;
BgL_auxz00_720 = 
BGl_preparezd2additionalzd2globalsz12z12zzheap_makez00(); 
return 
BBOOL(BgL_auxz00_720);} } 
}



/* <anonymous:1730> */
obj_t BGl_zc3anonymousza31730ze3z83zzheap_makez00(obj_t BgL_envz00_556, obj_t BgL_gz00_557)
{ AN_OBJECT;
{ /* ./Heap/make.scm 107 */
{ 
obj_t BgL_gz00_347;
BgL_gz00_347 = BgL_gz00_557; 
{ /* ./Heap/make.scm 110 */
bool_t BgL_test1731z00_349;
{ /* ./Heap/make.scm 110 */
bool_t BgL_testz00_723;
{ /* ./Heap/make.scm 110 */
obj_t BgL_auxz00_727;obj_t BgL_auxz00_724;
BgL_auxz00_727 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Heap/make.scm 110 */
BgL_globalz00_bglt BgL_obj1168z00_537;
BgL_obj1168z00_537 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_auxz00_724 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_537))->BgL_importz00); } 
BgL_testz00_723 = 
(BgL_auxz00_724==BgL_auxz00_727); } 
if(BgL_testz00_723)
{ /* ./Heap/make.scm 110 */
BgL_test1731z00_349 = ((bool_t)1); }  else 
{ /* ./Heap/make.scm 111 */
BgL_globalz00_bglt BgL_obj1174z00_538;
BgL_obj1174z00_538 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_test1731z00_349 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1174z00_538))->BgL_libraryzf3zf3); } } 
if(BgL_test1731z00_349)
{ /* ./Heap/make.scm 110 */
{ /* ./Heap/make.scm 112 */
obj_t BgL_arg1733z00_350;obj_t BgL_arg1734z00_351;
{ /* ./Heap/make.scm 112 */
BgL_variablez00_bglt BgL_obj1093z00_539;
BgL_obj1093z00_539 = 
(BgL_variablez00_bglt)(BgL_gz00_347); 
BgL_arg1733z00_350 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_539))->BgL_idz00); } 
{ /* ./Heap/make.scm 112 */
BgL_globalz00_bglt BgL_obj1165z00_540;
BgL_obj1165z00_540 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_arg1734z00_351 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_540))->BgL_modulez00); } 
BGl_unbindzd2globalz12zc0zzast_envz00(BgL_arg1733z00_350, BgL_arg1734z00_351); } }  else 
{ /* ./Heap/make.scm 113 */
bool_t BgL_test1738z00_352;
{ /* ./Heap/make.scm 113 */
obj_t BgL_auxz00_741;obj_t BgL_auxz00_738;
BgL_auxz00_741 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Heap/make.scm 113 */
BgL_globalz00_bglt BgL_obj1168z00_541;
BgL_obj1168z00_541 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_auxz00_738 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_541))->BgL_importz00); } 
BgL_test1738z00_352 = 
(BgL_auxz00_738==BgL_auxz00_741); } 
if(BgL_test1738z00_352)
{ /* ./Heap/make.scm 113 */
{ /* ./Heap/make.scm 114 */
BgL_globalz00_bglt BgL_obj1170z00_542;obj_t BgL_val1169z00_543;
BgL_obj1170z00_542 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_val1169z00_543 = 
CNST_TABLE_REF(((long)5)); 
((((BgL_globalz00_bglt)CREF(BgL_obj1170z00_542))->BgL_importz00) = ((obj_t)BgL_val1169z00_543), BUNSPEC); } }  else 
{ /* ./Heap/make.scm 113 */BUNSPEC; } } } 
{ /* ./Heap/make.scm 118 */
BgL_variablez00_bglt BgL_obj1114z00_544;long BgL_val1113z00_545;
BgL_obj1114z00_544 = 
(BgL_variablez00_bglt)(BgL_gz00_347); 
BgL_val1113z00_545 = ((long)0); 
((((BgL_variablez00_bglt)CREF(BgL_obj1114z00_544))->BgL_occurrencez00) = ((long)BgL_val1113z00_545), BUNSPEC); } 
{ /* ./Heap/make.scm 121 */
BgL_globalz00_bglt BgL_obj1176z00_546;bool_t BgL_val1175z00_547;
BgL_obj1176z00_546 = 
(BgL_globalz00_bglt)(BgL_gz00_347); 
BgL_val1175z00_547 = ((bool_t)1); 
return 
((((BgL_globalz00_bglt)CREF(BgL_obj1176z00_546))->BgL_libraryzf3zf3) = ((bool_t)BgL_val1175z00_547), BUNSPEC);} } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzheap_makez00()
{ AN_OBJECT;
{ /* ./Heap/make.scm 15 */
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "heap_make"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "heap_make"); 
BGl_modulezd2initializa7ationz75zzengine_passz00(((long)10268), "heap_make"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "heap_make"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "heap_make"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "heap_make"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "heap_make"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "heap_make"); 
BGl_modulezd2initializa7ationz75zzforeign_libraryz00(((long)43975), "heap_make"); 
return 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "heap_make");} 
}

