/*===========================================================================*/
/*   (Cnst/cache.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 Cnst/cache.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_DEF obj_t BGl_za2vectorzd2tagzd2setz12za2z12zzcnst_cachez00 = BUNSPEC;
static bool_t BGl_za2cachezd2startedzf3za2z21zzcnst_cachez00;
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzcnst_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_EXPORTED_DEF obj_t BGl_za2makezd2fxzd2procedureza2z00zzcnst_cachez00 = BUNSPEC;
static obj_t BGl_methodzd2initzd2zzcnst_cachez00();
BGL_EXPORTED_DEF obj_t BGl_za2consza2z00zzcnst_cachez00 = BUNSPEC;
extern obj_t BGl_findzd2globalzd2zzast_envz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_startzd2cnstzd2cachez12z12zzcnst_cachez00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2cnstzd2tablezd2refza2z00zzcnst_cachez00 = BUNSPEC;
extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2longzd2ze3intza2z31zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2btrueza2z00zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2boolzd2ze3bboolza2z31zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2doublezd2ze3realza2z31zzcnst_cachez00 = BUNSPEC;
static obj_t BGl__stopzd2cnstzd2cachez12z12zzcnst_cachez00(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2stringzd2ze3ucs2stringza2z31zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2cnstzd2tablezd2setz12za2z12zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_stopzd2cnstzd2cachez12z12zzcnst_cachez00();
static obj_t BGl__startzd2cnstzd2cachez12z12zzcnst_cachez00(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2listzd2ze3vectorza2z31zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2bfalseza2z00zzcnst_cachez00 = BUNSPEC;
static obj_t BGl_cnstzd2initzd2zzcnst_cachez00();
BGL_EXPORTED_DEF obj_t BGl_za2stringzd2ze3symbolza2z31zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2stringzd2ze3keywordza2z31zzcnst_cachez00 = BUNSPEC;
static obj_t BGl_importedzd2moduleszd2initz00zzcnst_cachez00();
static obj_t BGl_requirezd2initializa7ationz75zzcnst_cachez00 = BUNSPEC;
BGL_EXPORTED_DEF obj_t BGl_za2stringzd2ze3bstringza2z31zzcnst_cachez00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzcnst_cachez00();
BGL_EXPORTED_DEF obj_t BGl_za2makezd2vazd2procedureza2z00zzcnst_cachez00 = BUNSPEC;
static obj_t BGl_toplevelzd2initzd2zzcnst_cachez00();
static obj_t __cnst[ 17 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_startzd2cnstzd2cachez12zd2envzc0zzcnst_cachez00, BgL_bgl__startza7d2cnstza7d2cacheza712za712za7za7cnst_cacheza7001736za7, BGl__startzd2cnstzd2cachez12z12zzcnst_cachez00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_stopzd2cnstzd2cachez12zd2envzc0zzcnst_cachez00, BgL_bgl__stopza7d2cnstza7d2cacheza712za712za7za7cnst_cacheza7001737za7, BGl__stopzd2cnstzd2cachez12z12zzcnst_cachez00, 0L, 0 );
DEFINE_STRING( BGl_string1711z00zzcnst_cachez00, BgL_bgl_string1711za700za7za7cnst_cacheza7001738z00, "vector-tag-set! list->vector double->real make-va-procedure make-fx-procedure long->int bool->bbool c-string->keyword c-string->symbol c-utf8-string->ucs2-string string->bstring bfalse btrue c-cons cnst-table-set! foreign cnst-table-ref ", 237 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzcnst_cachez00(long BgL_checksumz00_398, char * BgL_fromz00_399)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzcnst_cachez00))
{ 
BGl_requirezd2initializa7ationz75zzcnst_cachez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzcnst_cachez00(); 
BGl_cnstzd2initzd2zzcnst_cachez00(); 
BGl_importedzd2moduleszd2initz00zzcnst_cachez00(); 
BGl_toplevelzd2initzd2zzcnst_cachez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "cnst_cache"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 15 */
{ /* ./Cnst/cache.scm 15 */
obj_t BgL_cportz00_391;
BgL_cportz00_391 = 
open_input_string(BGl_string1711z00zzcnst_cachez00); 
{ 
long BgL_iz00_392;
BgL_iz00_392 = ((long)16); 
BgL_loopz00_393:
{ /* ./Cnst/cache.scm 15 */
bool_t BgL_test1713z00_394;
BgL_test1713z00_394 = 
(BgL_iz00_392==((long)-1)); 
if(BgL_test1713z00_394)
{ /* ./Cnst/cache.scm 15 */
return BUNSPEC;}  else 
{ /* ./Cnst/cache.scm 15 */
{ /* ./Cnst/cache.scm 15 */
obj_t BgL_arg1715z00_395;
{ /* ./Cnst/cache.scm 15 */
obj_t BgL_list1718z00_396;
BgL_list1718z00_396 = 
MAKE_PAIR(BgL_cportz00_391, BNIL); 
BgL_arg1715z00_395 = 
BGl_readz00zz__readerz00(BgL_list1718z00_396); } 
{ /* ./Cnst/cache.scm 15 */
int BgL_auxz00_413;
BgL_auxz00_413 = 
(int)(BgL_iz00_392); 
CNST_TABLE_SET(BgL_auxz00_413, BgL_arg1715z00_395); } } 
{ /* ./Cnst/cache.scm 15 */
int BgL_auxz00_397;
{ /* ./Cnst/cache.scm 15 */
long BgL_auxz00_416;
BgL_auxz00_416 = 
(BgL_iz00_392-((long)1)); 
BgL_auxz00_397 = 
(int)(BgL_auxz00_416); } 
{ 
long BgL_iz00_419;
BgL_iz00_419 = 
(long)(BgL_auxz00_397); 
BgL_iz00_392 = BgL_iz00_419; 
goto BgL_loopz00_393;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 15 */
BGl_za2cachezd2startedzf3za2z21zzcnst_cachez00 = ((bool_t)0); 
BGl_za2cnstzd2tablezd2refza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2cnstzd2tablezd2setz12za2z12zzcnst_cachez00 = BFALSE; 
BGl_za2consza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2btrueza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2bfalseza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3bstringza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3ucs2stringza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3symbolza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3keywordza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2boolzd2ze3bboolza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2longzd2ze3intza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2makezd2fxzd2procedureza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2makezd2vazd2procedureza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2doublezd2ze3realza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2listzd2ze3vectorza2z31zzcnst_cachez00 = BFALSE; 
return ( 
BGl_za2vectorzd2tagzd2setz12za2z12zzcnst_cachez00 = BFALSE, BUNSPEC) ;} 
}



/* start-cnst-cache! */
BGL_EXPORTED_DEF obj_t BGl_startzd2cnstzd2cachez12z12zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 64 */
if(BGl_za2cachezd2startedzf3za2z21zzcnst_cachez00)
{ /* ./Cnst/cache.scm 65 */
return BTRUE;}  else 
{ /* ./Cnst/cache.scm 65 */
BGl_za2cachezd2startedzf3za2z21zzcnst_cachez00 = ((bool_t)1); 
BGl_za2cnstzd2tablezd2refza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)0)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2cnstzd2tablezd2setz12za2z12zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)2)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2consza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)3)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2btrueza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)4)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2bfalseza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)5)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2stringzd2ze3bstringza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)6)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2stringzd2ze3ucs2stringza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)7)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2stringzd2ze3symbolza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)8)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2stringzd2ze3keywordza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)9)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2boolzd2ze3bboolza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)10)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2longzd2ze3intza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)11)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2makezd2fxzd2procedureza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)12)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2makezd2vazd2procedureza2z00zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)13)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2doublezd2ze3realza2z31zzcnst_cachez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(
CNST_TABLE_REF(((long)14)), 
CNST_TABLE_REF(((long)1))); 
BGl_za2listzd2ze3vectorza2z31zzcnst_cachez00 = 
BGl_findzd2globalzd2zzast_envz00(
CNST_TABLE_REF(((long)15)), BNIL); 
BGl_za2vectorzd2tagzd2setz12za2z12zzcnst_cachez00 = 
BGl_findzd2globalzd2zzast_envz00(
CNST_TABLE_REF(((long)16)), BNIL); 
return BTRUE;} } 
}



/* _start-cnst-cache! */
obj_t BGl__startzd2cnstzd2cachez12z12zzcnst_cachez00(obj_t BgL_envz00_389)
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 64 */
return 
BGl_startzd2cnstzd2cachez12z12zzcnst_cachez00();} 
}



/* stop-cnst-cache! */
BGL_EXPORTED_DEF obj_t BGl_stopzd2cnstzd2cachez12z12zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 104 */
BGl_za2stringzd2ze3bstringza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3ucs2stringza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3symbolza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2stringzd2ze3keywordza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2boolzd2ze3bboolza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2longzd2ze3intza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2makezd2fxzd2procedureza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2makezd2vazd2procedureza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2doublezd2ze3realza2z31zzcnst_cachez00 = BFALSE; 
BGl_za2consza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2btrueza2z00zzcnst_cachez00 = BFALSE; 
BGl_za2bfalseza2z00zzcnst_cachez00 = BFALSE; 
return BTRUE;} 
}



/* _stop-cnst-cache! */
obj_t BGl__stopzd2cnstzd2cachez12z12zzcnst_cachez00(obj_t BgL_envz00_390)
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 104 */
return 
BGl_stopzd2cnstzd2cachez12z12zzcnst_cachez00();} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzcnst_cachez00()
{ AN_OBJECT;
{ /* ./Cnst/cache.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "cnst_cache"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "cnst_cache"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "cnst_cache"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "cnst_cache");} 
}

