/*===========================================================================*/
/*   (Ast/venv.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 Ast/venv.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;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;

typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


extern obj_t BGl_addzd2qualifiedzd2typez12z12zzread_jvmz00(obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzast_envz00();
BGL_EXPORTED_DECL obj_t BGl_initializa7ezd2Genvz12z67zzast_envz00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_nodez00zzast_nodez00;
extern obj_t BGl_sfunz00zzast_varz00;
BGL_EXPORTED_DECL obj_t BGl_setzd2genvz12zc0zzast_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
static obj_t BGl__getzd2genvzd2zzast_envz00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl_errorzd2rebindzd2globalz12z12zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
static obj_t BGl_restorezd2valuezd2typesz12zd2cfun2704zc0zzast_envz00(obj_t, obj_t);
extern obj_t BGl_modulezd2ze3qualifiedzd2typeze3zzread_jvmz00(obj_t);
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern obj_t BGl_za2targetzd2languageza2zd2zzengine_paramz00;
extern obj_t BGl_hrtypezd2nodez12zc0zzast_hrtypez00(BgL_nodez00_bglt);
extern obj_t BGl_globalz00zzast_varz00;
static obj_t BGl__unbindzd2globalz123600zc0zzast_envz00(obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
extern obj_t BGl_typez00zztype_typez00;
extern obj_t BGl_za2libzd2modeza2zd2zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_unbindzd2globalz12zc0zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
static obj_t BGl__restorezd2globalz12zc0zzast_envz00(obj_t, obj_t);
static obj_t BGl_restorezd2valuezd2typesz12zd2sfun2702zc0zzast_envz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzast_envz00();
BGL_EXPORTED_DECL obj_t BGl_globalzd2bucketzd2positionz00zzast_envz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32708ze3z83zzast_envz00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzast_envz00();
BGL_IMPORT obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
static obj_t BGl__alreadyzd2restoredzf3z21zzast_envz00(obj_t, obj_t);
static obj_t BGl__setzd2genvz12zc0zzast_envz00(obj_t, obj_t);
static obj_t BGl__additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00(obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2forzd2eachz00zz__hashz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzast_envz00();
extern obj_t BGl_userzd2warningzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza33108ze3z83zzast_envz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_hrtypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzread_jvmz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
static obj_t BGl_za2delayedzd2restoredzd2globalza2z00zzast_envz00 = BUNSPEC;
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_za2Genvza2z00zzast_envz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_findzd2globalzd2zzast_envz00(obj_t, obj_t);
static obj_t BGl__restorezd2valuezd2typesz123589z12zzast_envz00(obj_t, obj_t);
static obj_t BGl__globalzd2bucketzd2position3605z00zzast_envz00(obj_t, obj_t, obj_t);
static obj_t BGl_warningzd2overridezd2globalz12z12zzast_envz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_restorezd2globalz12zc0zzast_envz00(obj_t);
BGL_IMPORT obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
static obj_t BGl__initializa7ezd2Genvz12z67zzast_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00();
static obj_t BGl__findzd2globalzf2module3596z20zzast_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__restorezd2valuezd2typesz12zd2default2699zc0zzast_envz00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_findzd2typezd2zztype_envz00(obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern BgL_globalz00_bglt BGl_makezd2globalzd2zzast_varz00(obj_t, obj_t, BgL_typez00_bglt, BgL_valuez00_bglt, obj_t, obj_t, obj_t, long, obj_t, obj_t, bool_t, bool_t, bool_t, obj_t, obj_t, obj_t);
static obj_t BGl__bindzd2globalz123598zc0zzast_envz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_za2restoredza2z00zzast_envz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl__findzd2global3594zd2zzast_envz00(obj_t, obj_t, obj_t);
static obj_t BGl__addzd2genvz12zc0zzast_envz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t);
extern obj_t BGl_cfunz00zzast_varz00;
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_bindzd2globalz12zc0zzast_envz00(obj_t, obj_t, BgL_valuez00_bglt, obj_t, obj_t);
extern obj_t BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00(obj_t);
extern obj_t BGl_localz00zzast_varz00;
BGL_EXPORTED_DECL obj_t BGl_addzd2genvz12zc0zzast_envz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2genvzd2zzast_envz00();
BGL_EXPORTED_DECL obj_t BGl_alreadyzd2restoredzf3z21zzast_envz00(obj_t);
static obj_t BGl__forzd2eachzd2globalz123602z12zzast_envz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_envz00 = BUNSPEC;
static obj_t BGl_restorezd2valuezd2typesz12z12zzast_envz00(BgL_valuez00_bglt);
BGL_IMPORT obj_t BGl_za2warningza2z00zz__errorz00;
static obj_t BGl_libraryzd2moduleszd2initz00zzast_envz00();
extern obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t __cnst[ 7 ] ;


DEFINE_STRING( BGl_string3733z00zzast_envz00, BgL_bgl_string3733za700za7za7ast_envza7003765z00, "restore-value-types", 19 );
DEFINE_STRING( BGl_string3732z00zzast_envz00, BgL_bgl_string3732za700za7za7ast_envza7003766z00, "Illegal argument", 16 );
DEFINE_STRING( BGl_string3731z00zzast_envz00, BgL_bgl_string3731za700za7za7ast_envza7003767z00, "restore-value-types(sfun)", 25 );
DEFINE_STRING( BGl_string3728z00zzast_envz00, BgL_bgl_string3728za700za7za7ast_envza7003768z00, "Can't find global", 17 );
DEFINE_STRING( BGl_string3727z00zzast_envz00, BgL_bgl_string3727za700za7za7ast_envza7003769z00, "unbind-global!", 14 );
DEFINE_STRING( BGl_string3726z00zzast_envz00, BgL_bgl_string3726za700za7za7ast_envza7003770z00, "eval", 4 );
DEFINE_STRING( BGl_string3725z00zzast_envz00, BgL_bgl_string3725za700za7za7ast_envza7003771z00, "Duplicate definition", 20 );
DEFINE_STRING( BGl_string3724z00zzast_envz00, BgL_bgl_string3724za700za7za7ast_envza7003772z00, "Variable overridden by", 22 );
DEFINE_EXPORT_PROCEDURE( BGl_bindzd2globalz12zd2envz12zzast_envz00, BgL_bgl__bindza7d2globalza7123598za7c0za7za7ast_envza7003773z00, BGl__bindzd2globalz123598zc0zzast_envz00, 0L, 5 );
DEFINE_STATIC_GENERIC( BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BgL_bgl__restoreza7d2valueza7d2typesza7123589za712za7za7ast_envza7003774za7, BGl__restorezd2valuezd2typesz123589z12zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_findzd2globalzd2envz00zzast_envz00, BgL_bgl__findza7d2global3594za7d2za7za7ast_envza7003775za7, va_generic_entry, BGl__findzd2global3594zd2zzast_envz00, -2 );
DEFINE_EXPORT_PROCEDURE( BGl_getzd2genvzd2envz00zzast_envz00, BgL_bgl__getza7d2genvza7d2za7za7ast_envza7003776za7, BGl__getzd2genvzd2zzast_envz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_initializa7ezd2Genvz12zd2envzb5zzast_envz00, BgL_bgl__initializa7a7eza7d2genvza712za767za7za7ast_envza7003777za7, BGl__initializa7ezd2Genvz12z67zzast_envz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_findzd2globalzf2modulezd2envzf2zzast_envz00, BgL_bgl__findza7d2globalza7f2module3596za720za7za7ast_envza7003778z00, BGl__findzd2globalzf2module3596z20zzast_envz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_restorezd2valuezd2typesz12zd2default2699zd2envz12zzast_envz00, BgL_bgl__restoreza7d2valueza7d2typesza712za7d2default2699za7c0za7za7ast_envza7003779z00, BGl__restorezd2valuezd2typesz12zd2default2699zc0zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_globalzd2bucketzd2positionzd2envzd2zzast_envz00, BgL_bgl__globalza7d2bucketza7d2position3605za700za7za7ast_envza7003780z00, BGl__globalzd2bucketzd2position3605z00zzast_envz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2genvz12zd2envz12zzast_envz00, BgL_bgl__setza7d2genvza712za7c0za7za7ast_envza7003781z00, BGl__setzd2genvz12zc0zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_alreadyzd2restoredzf3zd2envzf3zzast_envz00, BgL_bgl__alreadyza7d2restoredza7f3za721za7za7ast_envza7003782z00, BGl__alreadyzd2restoredzf3z21zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_additionalzd2heapzd2restorezd2globalsz12zd2envz12zzast_envz00, BgL_bgl__additionalza7d2heapza7d2restoreza7d2globalsza712za7c0za7za7ast_envza7003783z00, BGl__additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_restorezd2globalz12zd2envz12zzast_envz00, BgL_bgl__restoreza7d2globalza712za7c0za7za7ast_envza7003784z00, BGl__restorezd2globalz12zc0zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_addzd2genvz12zd2envz12zzast_envz00, BgL_bgl__addza7d2genvza712za7c0za7za7ast_envza7003785z00, BGl__addzd2genvz12zc0zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_forzd2eachzd2globalz12zd2envzc0zzast_envz00, BgL_bgl__forza7d2eachza7d2globalza7123602za712za7za7ast_envza7003786za7, BGl__forzd2eachzd2globalz123602z12zzast_envz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3723z00zzast_envz00, BgL_bgl_za7c3anonymousza7a32708za7e3za783za7za7ast_envza7003787za7, BGl_zc3anonymousza32708ze3z83zzast_envz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc3730z00zzast_envz00, BgL_bgl_restoreza7d2valueza7d2typesza712za7d2cfun2704za7c0za7za7ast_envza7003788z00, BGl_restorezd2valuezd2typesz12zd2cfun2704zc0zzast_envz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3729z00zzast_envz00, BgL_bgl_restoreza7d2valueza7d2typesza712za7d2sfun2702za7c0za7za7ast_envza7003789z00, BGl_restorezd2valuezd2typesz12zd2sfun2702zc0zzast_envz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_unbindzd2globalz12zd2envz12zzast_envz00, BgL_bgl__unbindza7d2globalza7123600za7c0za7za7ast_envza7003790z00, BGl__unbindzd2globalz123600zc0zzast_envz00, 0L, 2 );
DEFINE_STRING( BGl_string3735z00zzast_envz00, BgL_bgl_string3735za700za7za7ast_envza7003791z00, "eval now read @ foreign (jvm .net) the-global-environment ", 58 );
DEFINE_STRING( BGl_string3734z00zzast_envz00, BgL_bgl_string3734za700za7za7ast_envza7003792z00, "Illegal non pair argument", 25 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long BgL_checksumz00_1597, char * BgL_fromz00_1598)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_envz00))
{ 
BGl_requirezd2initializa7ationz75zzast_envz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_envz00(); 
BGl_cnstzd2initzd2zzast_envz00(); 
BGl_importedzd2moduleszd2initz00zzast_envz00(); 
BGl_methodzd2initzd2zzast_envz00(); 
BGl_toplevelzd2initzd2zzast_envz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_env"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "ast_env"); 
BGl_modulezd2initializa7ationz75zz__hashz00(((long)0), "ast_env"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_env"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "ast_env"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
{ /* ./Ast/venv.scm 14 */
obj_t BgL_cportz00_1588;
BgL_cportz00_1588 = 
open_input_string(BGl_string3735z00zzast_envz00); 
{ 
long BgL_iz00_1589;
BgL_iz00_1589 = ((long)6); 
BgL_loopz00_1590:
{ /* ./Ast/venv.scm 14 */
bool_t BgL_test3737z00_1591;
BgL_test3737z00_1591 = 
(BgL_iz00_1589==((long)-1)); 
if(BgL_test3737z00_1591)
{ /* ./Ast/venv.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/venv.scm 14 */
{ /* ./Ast/venv.scm 14 */
obj_t BgL_arg3739z00_1592;
{ /* ./Ast/venv.scm 14 */
obj_t BgL_list3742z00_1593;
BgL_list3742z00_1593 = 
MAKE_PAIR(BgL_cportz00_1588, BNIL); 
BgL_arg3739z00_1592 = 
BGl_readz00zz__readerz00(BgL_list3742z00_1593); } 
{ /* ./Ast/venv.scm 14 */
int BgL_auxz00_1617;
BgL_auxz00_1617 = 
(int)(BgL_iz00_1589); 
CNST_TABLE_SET(BgL_auxz00_1617, BgL_arg3739z00_1592); } } 
{ /* ./Ast/venv.scm 14 */
int BgL_auxz00_1594;
{ /* ./Ast/venv.scm 14 */
long BgL_auxz00_1620;
BgL_auxz00_1620 = 
(BgL_iz00_1589-((long)1)); 
BgL_auxz00_1594 = 
(int)(BgL_auxz00_1620); } 
{ 
long BgL_iz00_1623;
BgL_iz00_1623 = 
(long)(BgL_auxz00_1594); 
BgL_iz00_1589 = BgL_iz00_1623; 
goto BgL_loopz00_1590;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
BGl_za2Genvza2z00zzast_envz00 = 
CNST_TABLE_REF(((long)0)); 
BGl_za2delayedzd2restoredzd2globalza2z00zzast_envz00 = BNIL; 
BGl_za2restoredza2z00zzast_envz00 = BNIL; 
return BUNSPEC;} 
}



/* set-genv! */
BGL_EXPORTED_DEF obj_t BGl_setzd2genvz12zc0zzast_envz00(obj_t BgL_genvz00_1)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 51 */
return ( 
BGl_za2Genvza2z00zzast_envz00 = BgL_genvz00_1, BUNSPEC) ;} 
}



/* _set-genv! */
obj_t BGl__setzd2genvz12zc0zzast_envz00(obj_t BgL_envz00_1538, obj_t BgL_genvz00_1539)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 51 */
return 
BGl_setzd2genvz12zc0zzast_envz00(BgL_genvz00_1539);} 
}



/* add-genv! */
BGL_EXPORTED_DEF obj_t BGl_addzd2genvz12zc0zzast_envz00(obj_t BgL_genvz00_2)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 60 */
BGl_hashtablezd2forzd2eachz00zz__hashz00(BgL_genvz00_2, BGl_proc3723z00zzast_envz00); 
return ( 
BGl_za2restoredza2z00zzast_envz00 = BNIL, BUNSPEC) ;} 
}



/* _add-genv! */
obj_t BGl__addzd2genvz12zc0zzast_envz00(obj_t BgL_envz00_1541, obj_t BgL_genvz00_1542)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 60 */
return 
BGl_addzd2genvz12zc0zzast_envz00(BgL_genvz00_1542);} 
}



/* <anonymous:2708> */
obj_t BGl_zc3anonymousza32708ze3z83zzast_envz00(obj_t BgL_envz00_1543, obj_t BgL_kz00_1544, obj_t BgL_bucketz00_1545)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 63 */
{ 
obj_t BgL_kz00_703;obj_t BgL_bucketz00_704;
{ /* ./Ast/venv.scm 64 */
bool_t BgL_auxz00_1629;
BgL_kz00_703 = BgL_kz00_1544; 
BgL_bucketz00_704 = BgL_bucketz00_1545; 
{ 
obj_t BgL_l2682z00_706;
{ /* ./Ast/venv.scm 77 */
obj_t BgL_arg2710z00_708;
BgL_arg2710z00_708 = 
CDR(BgL_bucketz00_704); 
BgL_l2682z00_706 = BgL_arg2710z00_708; 
BgL_forzd2each2683zd2_707:
{ /* ./Ast/venv.scm 64 */
bool_t BgL_test2713z00_709;
BgL_test2713z00_709 = 
PAIRP(BgL_l2682z00_706); 
if(BgL_test2713z00_709)
{ /* ./Ast/venv.scm 64 */
{ /* ./Ast/venv.scm 65 */
obj_t BgL_newz00_710;
BgL_newz00_710 = 
CAR(BgL_l2682z00_706); 
BGl_za2delayedzd2restoredzd2globalza2z00zzast_envz00 = 
MAKE_PAIR(BgL_newz00_710, BGl_za2delayedzd2restoredzd2globalza2z00zzast_envz00); 
{ /* ./Ast/venv.scm 66 */
obj_t BgL_modulez00_711;
{ /* ./Ast/venv.scm 66 */
BgL_globalz00_bglt BgL_obj1165z00_1339;
BgL_obj1165z00_1339 = 
(BgL_globalz00_bglt)(BgL_newz00_710); 
BgL_modulez00_711 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1339))->BgL_modulez00); } 
{ /* ./Ast/venv.scm 66 */
obj_t BgL_idz00_712;
{ /* ./Ast/venv.scm 67 */
BgL_variablez00_bglt BgL_obj1093z00_1340;
BgL_obj1093z00_1340 = 
(BgL_variablez00_bglt)(BgL_newz00_710); 
BgL_idz00_712 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1340))->BgL_idz00); } 
{ /* ./Ast/venv.scm 67 */
obj_t BgL_bucketz00_713;
BgL_bucketz00_713 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_712); 
{ /* ./Ast/venv.scm 68 */

{ /* ./Ast/venv.scm 70 */
bool_t BgL_test2715z00_714;
BgL_test2715z00_714 = 
PAIRP(BgL_bucketz00_713); 
if(BgL_test2715z00_714)
{ /* ./Ast/venv.scm 72 */
bool_t BgL_test2716z00_715;
BgL_test2716z00_715 = 
(BgL_modulez00_711==BGl_za2moduleza2z00zzmodule_modulez00); 
if(BgL_test2716z00_715)
{ /* ./Ast/venv.scm 72 */
{ /* ./Ast/venv.scm 73 */
obj_t BgL_newzd2bucketzd2_716;
{ /* ./Ast/venv.scm 73 */
obj_t BgL_arg2719z00_717;
BgL_arg2719z00_717 = 
CDR(BgL_bucketz00_713); 
BgL_newzd2bucketzd2_716 = 
MAKE_PAIR(BgL_newz00_710, BgL_arg2719z00_717); } 
SET_CDR(BgL_bucketz00_713, BgL_newzd2bucketzd2_716); } }  else 
{ /* ./Ast/venv.scm 72 */
{ /* ./Ast/venv.scm 76 */
obj_t BgL_arg2723z00_718;obj_t BgL_arg2724z00_719;
BgL_arg2723z00_718 = 
CDR(BgL_bucketz00_713); 
{ /* ./Ast/venv.scm 76 */
obj_t BgL_arg2728z00_720;
{ /* ./Ast/venv.scm 76 */
obj_t BgL_auxz00_1648;
BgL_auxz00_1648 = 
CDR(BgL_bucketz00_713); 
BgL_arg2728z00_720 = 
CDR(BgL_auxz00_1648); } 
BgL_arg2724z00_719 = 
MAKE_PAIR(BgL_newz00_710, BgL_arg2728z00_720); } 
SET_CDR(BgL_arg2723z00_718, BgL_arg2724z00_719); } } }  else 
{ /* ./Ast/venv.scm 70 */
{ /* ./Ast/venv.scm 71 */
obj_t BgL_arg2733z00_721;
{ /* ./Ast/venv.scm 71 */
obj_t BgL_list2736z00_722;
{ /* ./Ast/venv.scm 71 */
obj_t BgL_arg2738z00_723;
BgL_arg2738z00_723 = 
MAKE_PAIR(BgL_newz00_710, BNIL); 
BgL_list2736z00_722 = 
MAKE_PAIR(BgL_idz00_712, BgL_arg2738z00_723); } 
BgL_arg2733z00_721 = BgL_list2736z00_722; } 
BGl_hashtablezd2putz12zc0zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_712, BgL_arg2733z00_721); } } } } } } } } 
{ /* ./Ast/venv.scm 64 */
obj_t BgL_arg2747z00_724;
BgL_arg2747z00_724 = 
CDR(BgL_l2682z00_706); 
{ 
obj_t BgL_l2682z00_1657;
BgL_l2682z00_1657 = BgL_arg2747z00_724; 
BgL_l2682z00_706 = BgL_l2682z00_1657; 
goto BgL_forzd2each2683zd2_707;} } }  else 
{ /* ./Ast/venv.scm 64 */
BgL_auxz00_1629 = ((bool_t)1); } } } } 
return 
BBOOL(BgL_auxz00_1629);} } } 
}



/* additional-heap-restore-globals! */
BGL_EXPORTED_DEF obj_t BGl_additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 94 */
{ 
obj_t BgL_l2684z00_726;
BgL_l2684z00_726 = BGl_za2delayedzd2restoredzd2globalza2z00zzast_envz00; 
BgL_forzd2each2685zd2_727:
{ /* ./Ast/venv.scm 95 */
bool_t BgL_test2753z00_728;
BgL_test2753z00_728 = 
PAIRP(BgL_l2684z00_726); 
if(BgL_test2753z00_728)
{ /* ./Ast/venv.scm 95 */
{ /* ./Ast/venv.scm 95 */
obj_t BgL_arg2755z00_729;
BgL_arg2755z00_729 = 
CAR(BgL_l2684z00_726); 
BGl_restorezd2globalz12zc0zzast_envz00(BgL_arg2755z00_729); } 
{ /* ./Ast/venv.scm 95 */
obj_t BgL_arg2759z00_730;
BgL_arg2759z00_730 = 
CDR(BgL_l2684z00_726); 
{ 
obj_t BgL_l2684z00_1664;
BgL_l2684z00_1664 = BgL_arg2759z00_730; 
BgL_l2684z00_726 = BgL_l2684z00_1664; 
goto BgL_forzd2each2685zd2_727;} } }  else 
{ /* ./Ast/venv.scm 95 */((bool_t)1); } } } 
return BTRUE;} 
}



/* _additional-heap-restore-globals! */
obj_t BGl__additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00(obj_t BgL_envz00_1546)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 94 */
return 
BGl_additionalzd2heapzd2restorezd2globalsz12zc0zzast_envz00();} 
}



/* restore-global! */
BGL_EXPORTED_DEF obj_t BGl_restorezd2globalz12zc0zzast_envz00(obj_t BgL_newz00_4)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 101 */
BGl_za2restoredza2z00zzast_envz00 = 
MAKE_PAIR(BgL_newz00_4, BGl_za2restoredza2z00zzast_envz00); 
{ /* ./Ast/venv.scm 104 */
BgL_typez00_bglt BgL_typez00_732;
{ /* ./Ast/venv.scm 105 */
BgL_variablez00_bglt BgL_obj1097z00_1360;
BgL_obj1097z00_1360 = 
(BgL_variablez00_bglt)(BgL_newz00_4); 
BgL_typez00_732 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1360))->BgL_typez00); } 
{ /* ./Ast/venv.scm 105 */
BgL_valuez00_bglt BgL_valuez00_733;
{ /* ./Ast/venv.scm 106 */
BgL_variablez00_bglt BgL_obj1100z00_1361;
BgL_obj1100z00_1361 = 
(BgL_variablez00_bglt)(BgL_newz00_4); 
BgL_valuez00_733 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1361))->BgL_valuez00); } 
{ /* ./Ast/venv.scm 106 */
obj_t BgL_typezd2idzd2_734;
BgL_typezd2idzd2_734 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_732))->BgL_idz00); 
{ /* ./Ast/venv.scm 107 */

{ /* ./Ast/venv.scm 109 */
BgL_globalz00_bglt BgL_obj1176z00_1363;bool_t BgL_val1175z00_1364;
BgL_obj1176z00_1363 = 
(BgL_globalz00_bglt)(BgL_newz00_4); 
BgL_val1175z00_1364 = ((bool_t)1); 
((((BgL_globalz00_bglt)CREF(BgL_obj1176z00_1363))->BgL_libraryzf3zf3) = ((bool_t)BgL_val1175z00_1364), BUNSPEC); } 
{ /* ./Ast/venv.scm 111 */
BgL_typez00_bglt BgL_arg2766z00_735;
BgL_arg2766z00_735 = 
BGl_findzd2typezd2zztype_envz00(BgL_typezd2idzd2_734); 
{ /* ./Ast/venv.scm 111 */
BgL_variablez00_bglt BgL_obj1099z00_1365;BgL_typez00_bglt BgL_val1098z00_1366;
BgL_obj1099z00_1365 = 
(BgL_variablez00_bglt)(BgL_newz00_4); 
BgL_val1098z00_1366 = BgL_arg2766z00_735; 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1365))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1366), BUNSPEC); } } 
{ /* ./Ast/venv.scm 113 */
obj_t BgL_method2700z00_1368;
{ /* ./Ast/venv.scm 113 */
BgL_objectz00_bglt BgL_objz00_1369;
BgL_objz00_1369 = 
(BgL_objectz00_bglt)(BgL_valuez00_733); 
{ /* ./Ast/venv.scm 113 */
long BgL_objzd2classzd2numz00_1370;
BgL_objzd2classzd2numz00_1370 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1369); 
{ /* ./Ast/venv.scm 113 */
obj_t BgL_arg2017z00_1371;
{ /* ./Ast/venv.scm 113 */
int BgL_auxz00_1679;
BgL_auxz00_1679 = 
(int)(((long)1)); 
BgL_arg2017z00_1371 = 
PROCEDURE_REF(BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BgL_auxz00_1679); } 
{ /* ./Ast/venv.scm 113 */
int BgL_offsetz00_1374;
BgL_offsetz00_1374 = 
(int)(BgL_objzd2classzd2numz00_1370); 
{ /* ./Ast/venv.scm 113 */
long BgL_offsetz00_1375;
{ /* ./Ast/venv.scm 113 */
long BgL_auxz00_1683;
BgL_auxz00_1683 = 
(long)(BgL_offsetz00_1374); 
BgL_offsetz00_1375 = 
(BgL_auxz00_1683-OBJECT_TYPE); } 
{ /* ./Ast/venv.scm 113 */
long BgL_modz00_1376;
{ /* ./Ast/venv.scm 113 */
int BgL_arg2028z00_1377;
BgL_arg2028z00_1377 = 
(int)(((long)8)); 
{ /* ./Ast/venv.scm 113 */
long BgL_n2z00_1385;
BgL_n2z00_1385 = 
(long)(BgL_arg2028z00_1377); 
BgL_modz00_1376 = 
(BgL_offsetz00_1375/BgL_n2z00_1385); } } 
{ /* ./Ast/venv.scm 113 */
long BgL_restz00_1378;
{ /* ./Ast/venv.scm 113 */
int BgL_arg2024z00_1379;
BgL_arg2024z00_1379 = 
(int)(((long)8)); 
{ /* ./Ast/venv.scm 113 */
long BgL_n2z00_1388;
BgL_n2z00_1388 = 
(long)(BgL_arg2024z00_1379); 
BgL_restz00_1378 = 
(BgL_offsetz00_1375%BgL_n2z00_1388); } } 
{ /* ./Ast/venv.scm 113 */

{ /* ./Ast/venv.scm 113 */
obj_t BgL_bucketz00_1380;
{ /* ./Ast/venv.scm 113 */
int BgL_kz00_1390;
BgL_kz00_1390 = 
(int)(BgL_modz00_1376); 
BgL_bucketz00_1380 = 
VECTOR_REF(BgL_arg2017z00_1371,BgL_kz00_1390); } 
{ /* ./Ast/venv.scm 113 */
int BgL_kz00_1392;
BgL_kz00_1392 = 
(int)(BgL_restz00_1378); 
BgL_method2700z00_1368 = 
VECTOR_REF(BgL_bucketz00_1380,BgL_kz00_1392); } } } } } } } } } } 
PROCEDURE_ENTRY(BgL_method2700z00_1368)(BgL_method2700z00_1368, 
(obj_t)(BgL_valuez00_733), BEOA); } 
{ /* ./Ast/venv.scm 115 */
bool_t BgL_test2770z00_736;
{ /* ./Ast/venv.scm 115 */
bool_t BgL_test2781z00_741;
{ /* ./Ast/venv.scm 115 */
obj_t BgL_auxz00_1699;
BgL_auxz00_1699 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BGl_za2targetzd2languageza2zd2zzengine_paramz00, 
CNST_TABLE_REF(((long)1))); 
BgL_test2781z00_741 = 
CBOOL(BgL_auxz00_1699); } 
if(BgL_test2781z00_741)
{ /* ./Ast/venv.scm 116 */
bool_t BgL_testz00_1704;
{ /* ./Ast/venv.scm 116 */
obj_t BgL_auxz00_1708;obj_t BgL_auxz00_1705;
BgL_auxz00_1708 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Ast/venv.scm 116 */
BgL_globalz00_bglt BgL_obj1165z00_1393;
BgL_obj1165z00_1393 = 
(BgL_globalz00_bglt)(BgL_newz00_4); 
BgL_auxz00_1705 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1393))->BgL_modulez00); } 
BgL_testz00_1704 = 
(BgL_auxz00_1705==BgL_auxz00_1708); } 
if(BgL_testz00_1704)
{ /* ./Ast/venv.scm 116 */
BgL_test2770z00_736 = ((bool_t)0); }  else 
{ /* ./Ast/venv.scm 116 */
BgL_test2770z00_736 = ((bool_t)1); } }  else 
{ /* ./Ast/venv.scm 115 */
BgL_test2770z00_736 = ((bool_t)0); } } 
if(BgL_test2770z00_736)
{ /* ./Ast/venv.scm 117 */
obj_t BgL_arg2772z00_737;obj_t BgL_arg2773z00_738;obj_t BgL_arg2774z00_739;
{ /* ./Ast/venv.scm 117 */
BgL_globalz00_bglt BgL_obj1165z00_1394;
BgL_obj1165z00_1394 = 
(BgL_globalz00_bglt)(BgL_newz00_4); 
BgL_arg2772z00_737 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1394))->BgL_modulez00); } 
{ /* ./Ast/venv.scm 118 */
BgL_globalz00_bglt BgL_obj1186z00_1395;
BgL_obj1186z00_1395 = 
(BgL_globalz00_bglt)(BgL_newz00_4); 
BgL_arg2773z00_738 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1186z00_1395))->BgL_jvmzd2typezd2namez00); } 
BgL_arg2774z00_739 = 
BGl_shapez00zztools_shapez00(BgL_newz00_4); 
{ /* ./Ast/venv.scm 117 */
obj_t BgL_list2776z00_740;
BgL_list2776z00_740 = 
MAKE_PAIR(BgL_arg2774z00_739, BNIL); 
return 
BGl_addzd2qualifiedzd2typez12z12zzread_jvmz00(BgL_arg2772z00_737, BgL_arg2773z00_738, BgL_list2776z00_740);} }  else 
{ /* ./Ast/venv.scm 115 */
return BFALSE;} } } } } } } 
}



/* _restore-global! */
obj_t BGl__restorezd2globalz12zc0zzast_envz00(obj_t BgL_envz00_1547, obj_t BgL_newz00_1548)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 101 */
return 
BGl_restorezd2globalz12zc0zzast_envz00(BgL_newz00_1548);} 
}



/* already-restored? */
BGL_EXPORTED_DEF obj_t BGl_alreadyzd2restoredzf3z21zzast_envz00(obj_t BgL_funz00_6)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 138 */
return 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_funz00_6, BGl_za2restoredza2z00zzast_envz00);} 
}



/* _already-restored? */
obj_t BGl__alreadyzd2restoredzf3z21zzast_envz00(obj_t BgL_envz00_1551, obj_t BgL_funz00_1552)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 138 */
return 
BGl_alreadyzd2restoredzf3z21zzast_envz00(BgL_funz00_1552);} 
}



/* get-genv */
BGL_EXPORTED_DEF obj_t BGl_getzd2genvzd2zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 196 */
return BGl_za2Genvza2z00zzast_envz00;} 
}



/* _get-genv */
obj_t BGl__getzd2genvzd2zzast_envz00(obj_t BgL_envz00_1553)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 196 */
return BGl_za2Genvza2z00zzast_envz00;} 
}



/* initialize-Genv! */
BGL_EXPORTED_DEF obj_t BGl_initializa7ezd2Genvz12z67zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 202 */
return ( 
BGl_za2Genvza2z00zzast_envz00 = 
BGl_makezd2hashtablezd2zz__hashz00(BNIL), BUNSPEC) ;} 
}



/* _initialize-Genv! */
obj_t BGl__initializa7ezd2Genvz12z67zzast_envz00(obj_t BgL_envz00_1554)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 202 */
return 
BGl_initializa7ezd2Genvz12z67zzast_envz00();} 
}



/* find-global */
BGL_EXPORTED_DEF obj_t BGl_findzd2globalzd2zzast_envz00(obj_t BgL_idz00_11, obj_t BgL_modulez00_12)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 208 */
{ /* ./Ast/venv.scm 210 */
obj_t BgL_bucketz00_746;obj_t BgL_modulez00_747;
BgL_bucketz00_746 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_11); 
if(
NULLP(BgL_modulez00_12))
{ /* ./Ast/venv.scm 211 */
BgL_modulez00_747 = BNIL; }  else 
{ /* ./Ast/venv.scm 211 */
BgL_modulez00_747 = 
CAR(BgL_modulez00_12); } 
if(
PAIRP(BgL_bucketz00_746))
{ /* ./Ast/venv.scm 215 */
bool_t BgL_testz00_1730;
{ /* ./Ast/venv.scm 215 */
obj_t BgL_auxz00_1731;
BgL_auxz00_1731 = 
CDR(BgL_bucketz00_746); 
BgL_testz00_1730 = 
NULLP(BgL_auxz00_1731); } 
if(BgL_testz00_1730)
{ /* ./Ast/venv.scm 215 */
return BFALSE;}  else 
{ /* ./Ast/venv.scm 215 */
if(
NULLP(BgL_modulez00_747))
{ /* ./Ast/venv.scm 217 */
{ /* ./Ast/venv.scm 218 */
obj_t BgL_auxz00_1736;
BgL_auxz00_1736 = 
CDR(BgL_bucketz00_746); 
return 
CAR(BgL_auxz00_1736);} }  else 
{ /* ./Ast/venv.scm 217 */
{ 
obj_t BgL_globalsz00_751;
BgL_globalsz00_751 = 
CDR(BgL_bucketz00_746); 
BgL_loopz00_752:
if(
NULLP(BgL_globalsz00_751))
{ /* ./Ast/venv.scm 222 */
return BFALSE;}  else 
{ /* ./Ast/venv.scm 224 */
bool_t BgL_testz00_1741;
{ /* ./Ast/venv.scm 224 */
obj_t BgL_auxz00_1742;
{ /* ./Ast/venv.scm 224 */
BgL_globalz00_bglt BgL_obj1165z00_1409;
{ /* ./Ast/venv.scm 224 */
obj_t BgL_auxz00_1743;
BgL_auxz00_1743 = 
CAR(BgL_globalsz00_751); 
BgL_obj1165z00_1409 = 
(BgL_globalz00_bglt)(BgL_auxz00_1743); } 
BgL_auxz00_1742 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1409))->BgL_modulez00); } 
BgL_testz00_1741 = 
(BgL_auxz00_1742==BgL_modulez00_747); } 
if(BgL_testz00_1741)
{ /* ./Ast/venv.scm 224 */
return 
CAR(BgL_globalsz00_751);}  else 
{ /* ./Ast/venv.scm 224 */
{ 
obj_t BgL_globalsz00_1749;
BgL_globalsz00_1749 = 
CDR(BgL_globalsz00_751); 
BgL_globalsz00_751 = BgL_globalsz00_1749; 
goto BgL_loopz00_752;} } } } } } }  else 
{ /* ./Ast/venv.scm 213 */
return BFALSE;} } } 
}



/* _find-global3594 */
obj_t BGl__findzd2global3594zd2zzast_envz00(obj_t BgL_envz00_1555, obj_t BgL_idz00_1556, obj_t BgL_modulez00_1557)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 208 */
return 
BGl_findzd2globalzd2zzast_envz00(BgL_idz00_1556, BgL_modulez00_1557);} 
}



/* find-global/module */
BGL_EXPORTED_DEF obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t BgL_idz00_13, obj_t BgL_modulez00_14)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 232 */
{ /* ./Ast/venv.scm 233 */
obj_t BgL_bucketz00_761;
BgL_bucketz00_761 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_13); 
if(
PAIRP(BgL_bucketz00_761))
{ /* ./Ast/venv.scm 237 */
bool_t BgL_testz00_1756;
{ /* ./Ast/venv.scm 237 */
obj_t BgL_auxz00_1757;
BgL_auxz00_1757 = 
CDR(BgL_bucketz00_761); 
BgL_testz00_1756 = 
NULLP(BgL_auxz00_1757); } 
if(BgL_testz00_1756)
{ /* ./Ast/venv.scm 237 */
return BFALSE;}  else 
{ /* ./Ast/venv.scm 237 */
{ 
obj_t BgL_globalsz00_765;
BgL_globalsz00_765 = 
CDR(BgL_bucketz00_761); 
BgL_loopz00_766:
if(
NULLP(BgL_globalsz00_765))
{ /* ./Ast/venv.scm 244 */
return BFALSE;}  else 
{ /* ./Ast/venv.scm 246 */
bool_t BgL_testz00_1762;
{ /* ./Ast/venv.scm 246 */
obj_t BgL_auxz00_1763;
{ /* ./Ast/venv.scm 246 */
BgL_globalz00_bglt BgL_obj1165z00_1423;
{ /* ./Ast/venv.scm 246 */
obj_t BgL_auxz00_1764;
BgL_auxz00_1764 = 
CAR(BgL_globalsz00_765); 
BgL_obj1165z00_1423 = 
(BgL_globalz00_bglt)(BgL_auxz00_1764); } 
BgL_auxz00_1763 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1423))->BgL_modulez00); } 
BgL_testz00_1762 = 
(BgL_auxz00_1763==BgL_modulez00_14); } 
if(BgL_testz00_1762)
{ /* ./Ast/venv.scm 246 */
return 
CAR(BgL_globalsz00_765);}  else 
{ /* ./Ast/venv.scm 246 */
{ 
obj_t BgL_globalsz00_1770;
BgL_globalsz00_1770 = 
CDR(BgL_globalsz00_765); 
BgL_globalsz00_765 = BgL_globalsz00_1770; 
goto BgL_loopz00_766;} } } } } }  else 
{ /* ./Ast/venv.scm 235 */
return BFALSE;} } } 
}



/* _find-global/module3596 */
obj_t BGl__findzd2globalzf2module3596z20zzast_envz00(obj_t BgL_envz00_1558, obj_t BgL_idz00_1559, obj_t BgL_modulez00_1560)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 232 */
return 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_idz00_1559, BgL_modulez00_1560);} 
}



/* warning-override-global! */
obj_t BGl_warningzd2overridezd2globalz12z12zzast_envz00(obj_t BgL_nz00_15, obj_t BgL_oz00_16, obj_t BgL_msgz00_17)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 254 */
if(
CBOOL(BGl_za2warningza2z00zz__errorz00))
{ /* ./Ast/venv.scm 257 */
obj_t BgL_locz00_775;obj_t BgL_oldz00_776;obj_t BgL_newz00_777;obj_t BgL_msgz00_778;
{ /* ./Ast/venv.scm 257 */
obj_t BgL_arg2863z00_779;
{ /* ./Ast/venv.scm 257 */
BgL_globalz00_bglt BgL_obj1183z00_1426;
BgL_obj1183z00_1426 = 
(BgL_globalz00_bglt)(BgL_oz00_16); 
BgL_arg2863z00_779 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1183z00_1426))->BgL_srcz00); } 
BgL_locz00_775 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_arg2863z00_779); } 
{ /* ./Ast/venv.scm 258 */
obj_t BgL_arg2868z00_780;obj_t BgL_arg2869z00_781;
BgL_arg2868z00_780 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Ast/venv.scm 258 */
obj_t BgL_arg2872z00_782;obj_t BgL_arg2873z00_783;
{ /* ./Ast/venv.scm 258 */
BgL_variablez00_bglt BgL_obj1093z00_1427;
BgL_obj1093z00_1427 = 
(BgL_variablez00_bglt)(BgL_oz00_16); 
BgL_arg2872z00_782 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1427))->BgL_idz00); } 
{ /* ./Ast/venv.scm 258 */
obj_t BgL_arg2877z00_784;
{ /* ./Ast/venv.scm 258 */
BgL_globalz00_bglt BgL_obj1165z00_1428;
BgL_obj1165z00_1428 = 
(BgL_globalz00_bglt)(BgL_oz00_16); 
BgL_arg2877z00_784 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1428))->BgL_modulez00); } 
BgL_arg2873z00_783 = 
MAKE_PAIR(BgL_arg2877z00_784, BNIL); } 
BgL_arg2869z00_781 = 
MAKE_PAIR(BgL_arg2872z00_782, BgL_arg2873z00_783); } 
BgL_oldz00_776 = 
MAKE_PAIR(BgL_arg2868z00_780, BgL_arg2869z00_781); } 
{ /* ./Ast/venv.scm 259 */
obj_t BgL_arg2882z00_786;obj_t BgL_arg2883z00_787;
BgL_arg2882z00_786 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Ast/venv.scm 259 */
obj_t BgL_arg2886z00_788;obj_t BgL_arg2887z00_789;
{ /* ./Ast/venv.scm 259 */
BgL_variablez00_bglt BgL_obj1093z00_1429;
BgL_obj1093z00_1429 = 
(BgL_variablez00_bglt)(BgL_nz00_15); 
BgL_arg2886z00_788 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1429))->BgL_idz00); } 
{ /* ./Ast/venv.scm 259 */
obj_t BgL_arg2891z00_790;
{ /* ./Ast/venv.scm 259 */
BgL_globalz00_bglt BgL_obj1165z00_1430;
BgL_obj1165z00_1430 = 
(BgL_globalz00_bglt)(BgL_nz00_15); 
BgL_arg2891z00_790 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1430))->BgL_modulez00); } 
BgL_arg2887z00_789 = 
MAKE_PAIR(BgL_arg2891z00_790, BNIL); } 
BgL_arg2883z00_787 = 
MAKE_PAIR(BgL_arg2886z00_788, BgL_arg2887z00_789); } 
BgL_newz00_777 = 
MAKE_PAIR(BgL_arg2882z00_786, BgL_arg2883z00_787); } 
if(
PAIRP(BgL_msgz00_17))
{ /* ./Ast/venv.scm 260 */
BgL_msgz00_778 = 
CAR(BgL_msgz00_17); }  else 
{ /* ./Ast/venv.scm 260 */
BgL_msgz00_778 = BGl_string3724z00zzast_envz00; } 
if(
CBOOL(BgL_locz00_775))
{ /* ./Ast/venv.scm 261 */
return 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_locz00_775, BgL_oldz00_776, BgL_msgz00_778, BgL_newz00_777);}  else 
{ /* ./Ast/venv.scm 261 */
return 
BGl_userzd2warningzd2zztools_errorz00(BgL_oldz00_776, BgL_msgz00_778, BgL_newz00_777);} }  else 
{ /* ./Ast/venv.scm 255 */
return BFALSE;} } 
}



/* error-rebind-global! */
obj_t BGl_errorzd2rebindzd2globalz12z12zzast_envz00(obj_t BgL_oz00_18, obj_t BgL_srcz00_19)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 268 */
{ /* ./Ast/venv.scm 270 */
obj_t BgL_locz00_794;
BgL_locz00_794 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srcz00_19); 
if(
CBOOL(BgL_locz00_794))
{ /* ./Ast/venv.scm 273 */
obj_t BgL_arg2899z00_796;obj_t BgL_arg2900z00_797;
{ /* ./Ast/venv.scm 273 */
BgL_globalz00_bglt BgL_obj1165z00_1433;
BgL_obj1165z00_1433 = 
(BgL_globalz00_bglt)(BgL_oz00_18); 
BgL_arg2899z00_796 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1433))->BgL_modulez00); } 
{ /* ./Ast/venv.scm 273 */
BgL_variablez00_bglt BgL_obj1093z00_1434;
BgL_obj1093z00_1434 = 
(BgL_variablez00_bglt)(BgL_oz00_18); 
BgL_arg2900z00_797 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1434))->BgL_idz00); } 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_locz00_794, BgL_arg2899z00_796, BGl_string3725z00zzast_envz00, BgL_arg2900z00_797, BNIL);}  else 
{ /* ./Ast/venv.scm 274 */
obj_t BgL_arg2906z00_799;obj_t BgL_arg2907z00_800;
{ /* ./Ast/venv.scm 274 */
BgL_globalz00_bglt BgL_obj1165z00_1435;
BgL_obj1165z00_1435 = 
(BgL_globalz00_bglt)(BgL_oz00_18); 
BgL_arg2906z00_799 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1435))->BgL_modulez00); } 
{ /* ./Ast/venv.scm 274 */
BgL_variablez00_bglt BgL_obj1093z00_1436;
BgL_obj1093z00_1436 = 
(BgL_variablez00_bglt)(BgL_oz00_18); 
BgL_arg2907z00_800 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1436))->BgL_idz00); } 
return 
BGl_userzd2errorzd2zztools_errorz00(BgL_arg2906z00_799, BGl_string3725z00zzast_envz00, BgL_arg2907z00_800, BNIL);} } } 
}



/* bind-global! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_bindzd2globalz12zc0zzast_envz00(obj_t BgL_idz00_20, obj_t BgL_modulez00_21, BgL_valuez00_bglt BgL_valuez00_22, obj_t BgL_importz00_23, obj_t BgL_srcz00_24)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 291 */
{ /* ./Ast/venv.scm 296 */
obj_t BgL_oldz00_802;
{ /* ./Ast/venv.scm 296 */
obj_t BgL_list2996z00_842;
BgL_list2996z00_842 = 
MAKE_PAIR(BgL_modulez00_21, BNIL); 
BgL_oldz00_802 = 
BGl_findzd2globalzd2zzast_envz00(BgL_idz00_20, BgL_list2996z00_842); } 
{ /* ./Ast/venv.scm 297 */
bool_t BgL_test2913z00_803;
BgL_test2913z00_803 = 
BGl_iszd2azf3z21zz__objectz00(BgL_oldz00_802, BGl_globalz00zzast_varz00); 
if(BgL_test2913z00_803)
{ /* ./Ast/venv.scm 297 */
if(
CBOOL(BGl_za2libzd2modeza2zd2zzengine_paramz00))
{ /* ./Ast/venv.scm 298 */
return 
(BgL_globalz00_bglt)(BgL_oldz00_802);}  else 
{ /* ./Ast/venv.scm 300 */
obj_t BgL_auxz00_1822;
BgL_auxz00_1822 = 
BGl_errorzd2rebindzd2globalz12z12zzast_envz00(BgL_oldz00_802, BgL_srcz00_24); 
return 
(BgL_globalz00_bglt)(BgL_auxz00_1822);} }  else 
{ /* ./Ast/venv.scm 301 */
obj_t BgL_bucketz00_804;BgL_globalz00_bglt BgL_newz00_805;
BgL_bucketz00_804 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_20); 
{ /* ./Ast/venv.scm 307 */
obj_t BgL_arg2979z00_831;BgL_valuez00_bglt BgL_arg2980z00_832;obj_t BgL_arg2981z00_833;obj_t BgL_arg2982z00_834;obj_t BgL_arg2984z00_836;obj_t BgL_arg2986z00_837;obj_t BgL_arg2988z00_839;obj_t BgL_arg2989z00_840;
BgL_arg2979z00_831 = BgL_idz00_20; 
BgL_arg2980z00_832 = BgL_valuez00_22; 
BgL_arg2981z00_833 = 
CNST_TABLE_REF(((long)4)); 
BgL_arg2982z00_834 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg2984z00_836 = BgL_modulez00_21; 
BgL_arg2986z00_837 = BgL_importz00_23; 
BgL_arg2988z00_839 = BgL_srcz00_24; 
{ /* ./Ast/venv.scm 304 */
bool_t BgL_test2991z00_841;
{ /* ./Ast/venv.scm 304 */
obj_t BgL_auxz00_1828;
BgL_auxz00_1828 = 
CNST_TABLE_REF(((long)6)); 
BgL_test2991z00_841 = 
(BgL_importz00_23==BgL_auxz00_1828); } 
if(BgL_test2991z00_841)
{ /* ./Ast/venv.scm 304 */
BgL_arg2989z00_840 = BGl_string3726z00zzast_envz00; }  else 
{ /* ./Ast/venv.scm 304 */
BgL_arg2989z00_840 = 
BGl_modulezd2ze3qualifiedzd2typeze3zzread_jvmz00(BgL_modulez00_21); } } 
BgL_newz00_805 = 
BGl_makezd2globalzd2zzast_varz00(BgL_arg2979z00_831, BFALSE, 
(BgL_typez00_bglt)(BGl_za2_za2z00zztype_cachez00), BgL_arg2980z00_832, BgL_arg2981z00_833, BUNSPEC, BgL_arg2982z00_834, ((long)0), BgL_arg2984z00_836, BgL_arg2986z00_837, ((bool_t)1), ((bool_t)0), ((bool_t)1), BNIL, BgL_arg2988z00_839, BgL_arg2989z00_840); } 
{ /* ./Ast/venv.scm 312 */
bool_t BgL_test2915z00_806;
if(
PAIRP(BgL_bucketz00_804))
{ /* ./Ast/venv.scm 312 */
obj_t BgL_auxz00_1837;
BgL_auxz00_1837 = 
CDR(BgL_bucketz00_804); 
BgL_test2915z00_806 = 
NULLP(BgL_auxz00_1837); }  else 
{ /* ./Ast/venv.scm 312 */
BgL_test2915z00_806 = ((bool_t)1); } 
if(BgL_test2915z00_806)
{ /* ./Ast/venv.scm 312 */
{ /* ./Ast/venv.scm 314 */
obj_t BgL_arg2917z00_807;
{ /* ./Ast/venv.scm 314 */
obj_t BgL_list2920z00_808;
{ /* ./Ast/venv.scm 314 */
obj_t BgL_arg2922z00_809;
{ /* ./Ast/venv.scm 314 */
obj_t BgL_auxz00_1841;
BgL_auxz00_1841 = 
(obj_t)(BgL_newz00_805); 
BgL_arg2922z00_809 = 
MAKE_PAIR(BgL_auxz00_1841, BNIL); } 
BgL_list2920z00_808 = 
MAKE_PAIR(BgL_idz00_20, BgL_arg2922z00_809); } 
BgL_arg2917z00_807 = BgL_list2920z00_808; } 
BGl_hashtablezd2putz12zc0zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_20, BgL_arg2917z00_807); } 
return BgL_newz00_805;}  else 
{ /* ./Ast/venv.scm 312 */
{ /* ./Ast/venv.scm 317 */
obj_t BgL_oldza2za2_810;
BgL_oldza2za2_810 = 
CDR(BgL_bucketz00_804); 
{ /* ./Ast/venv.scm 317 */
obj_t BgL_midz00_811;
{ /* ./Ast/venv.scm 319 */
obj_t BgL_arg2963z00_827;
{ /* ./Ast/venv.scm 319 */
BgL_globalz00_bglt BgL_obj1165z00_1445;
{ /* ./Ast/venv.scm 319 */
obj_t BgL_auxz00_1847;
BgL_auxz00_1847 = 
CAR(BgL_oldza2za2_810); 
BgL_obj1165z00_1445 = 
(BgL_globalz00_bglt)(BgL_auxz00_1847); } 
BgL_arg2963z00_827 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1445))->BgL_modulez00); } 
BgL_midz00_811 = 
BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00(BgL_arg2963z00_827); } 
{ /* ./Ast/venv.scm 318 */

{ /* ./Ast/venv.scm 321 */
bool_t BgL_test2925z00_812;
{ /* ./Ast/venv.scm 321 */
obj_t BgL_arg2955z00_825;
{ /* ./Ast/venv.scm 321 */
BgL_globalz00_bglt BgL_obj1165z00_1447;
{ /* ./Ast/venv.scm 321 */
obj_t BgL_auxz00_1852;
BgL_auxz00_1852 = 
CAR(BgL_oldza2za2_810); 
BgL_obj1165z00_1447 = 
(BgL_globalz00_bglt)(BgL_auxz00_1852); } 
BgL_arg2955z00_825 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1447))->BgL_modulez00); } 
BgL_test2925z00_812 = 
(BgL_arg2955z00_825==BGl_za2moduleza2z00zzmodule_modulez00); } 
if(BgL_test2925z00_812)
{ /* ./Ast/venv.scm 321 */
{ /* ./Ast/venv.scm 323 */
bool_t BgL_test2926z00_813;
{ /* ./Ast/venv.scm 323 */
bool_t BgL_test2932z00_816;
BgL_test2932z00_816 = 
(BgL_idz00_20==BgL_midz00_811); 
if(BgL_test2932z00_816)
{ /* ./Ast/venv.scm 323 */
BgL_test2926z00_813 = ((bool_t)0); }  else 
{ /* ./Ast/venv.scm 323 */
if(
CBOOL(BGl_za2libzd2modeza2zd2zzengine_paramz00))
{ /* ./Ast/venv.scm 324 */
BgL_test2926z00_813 = ((bool_t)0); }  else 
{ /* ./Ast/venv.scm 324 */
BgL_test2926z00_813 = ((bool_t)1); } } } 
if(BgL_test2926z00_813)
{ /* ./Ast/venv.scm 325 */
obj_t BgL_arg2928z00_814;
BgL_arg2928z00_814 = 
CAR(BgL_oldza2za2_810); 
BGl_warningzd2overridezd2globalz12z12zzast_envz00(BgL_arg2928z00_814, 
(obj_t)(BgL_newz00_805), BNIL); }  else 
{ /* ./Ast/venv.scm 323 */BFALSE; } } 
{ /* ./Ast/venv.scm 326 */
obj_t BgL_arg2935z00_817;obj_t BgL_arg2936z00_818;
BgL_arg2935z00_817 = 
CDR(BgL_bucketz00_804); 
{ /* ./Ast/venv.scm 326 */
obj_t BgL_arg2940z00_819;
{ /* ./Ast/venv.scm 326 */
obj_t BgL_auxz00_1867;
BgL_auxz00_1867 = 
CDR(BgL_bucketz00_804); 
BgL_arg2940z00_819 = 
CDR(BgL_auxz00_1867); } 
{ /* ./Ast/venv.scm 326 */
obj_t BgL_auxz00_1870;
BgL_auxz00_1870 = 
(obj_t)(BgL_newz00_805); 
BgL_arg2936z00_818 = 
MAKE_PAIR(BgL_auxz00_1870, BgL_arg2940z00_819); } } 
SET_CDR(BgL_arg2935z00_817, BgL_arg2936z00_818); } 
return BgL_newz00_805;}  else 
{ /* ./Ast/venv.scm 321 */
{ /* ./Ast/venv.scm 329 */
obj_t BgL_newza2za2_820;
{ /* ./Ast/venv.scm 329 */
obj_t BgL_auxz00_1874;
BgL_auxz00_1874 = 
(obj_t)(BgL_newz00_805); 
BgL_newza2za2_820 = 
MAKE_PAIR(BgL_auxz00_1874, BgL_oldza2za2_810); } 
{ /* ./Ast/venv.scm 330 */
bool_t BgL_test2943z00_821;
{ /* ./Ast/venv.scm 330 */
bool_t BgL_test2950z00_824;
BgL_test2950z00_824 = 
(BgL_idz00_20==BgL_midz00_811); 
if(BgL_test2950z00_824)
{ /* ./Ast/venv.scm 330 */
BgL_test2943z00_821 = ((bool_t)0); }  else 
{ /* ./Ast/venv.scm 330 */
if(
CBOOL(BGl_za2libzd2modeza2zd2zzengine_paramz00))
{ /* ./Ast/venv.scm 331 */
BgL_test2943z00_821 = ((bool_t)0); }  else 
{ /* ./Ast/venv.scm 331 */
BgL_test2943z00_821 = ((bool_t)1); } } } 
if(BgL_test2943z00_821)
{ /* ./Ast/venv.scm 332 */
obj_t BgL_arg2946z00_822;
BgL_arg2946z00_822 = 
CAR(BgL_oldza2za2_810); 
BGl_warningzd2overridezd2globalz12z12zzast_envz00(
(obj_t)(BgL_newz00_805), BgL_arg2946z00_822, BNIL); }  else 
{ /* ./Ast/venv.scm 330 */BFALSE; } } 
SET_CDR(BgL_bucketz00_804, BgL_newza2za2_820); 
return BgL_newz00_805;} } } } } } } } } } } } 
}



/* _bind-global!3598 */
obj_t BGl__bindzd2globalz123598zc0zzast_envz00(obj_t BgL_envz00_1561, obj_t BgL_idz00_1562, obj_t BgL_modulez00_1563, obj_t BgL_valuez00_1564, obj_t BgL_importz00_1565, obj_t BgL_srcz00_1566)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 291 */
{ /* ./Ast/venv.scm 296 */
BgL_globalz00_bglt BgL_auxz00_1886;
BgL_auxz00_1886 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_1562, BgL_modulez00_1563, 
(BgL_valuez00_bglt)(BgL_valuez00_1564), BgL_importz00_1565, BgL_srcz00_1566); 
return 
(obj_t)(BgL_auxz00_1886);} } 
}



/* unbind-global! */
BGL_EXPORTED_DEF obj_t BGl_unbindzd2globalz12zc0zzast_envz00(obj_t BgL_idz00_30, obj_t BgL_modulez00_31)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 384 */
{ /* ./Ast/venv.scm 385 */
obj_t BgL_globalz00_880;
{ /* ./Ast/venv.scm 385 */
obj_t BgL_list3103z00_899;
BgL_list3103z00_899 = 
MAKE_PAIR(BgL_modulez00_31, BNIL); 
BgL_globalz00_880 = 
BGl_findzd2globalzd2zzast_envz00(BgL_idz00_30, BgL_list3103z00_899); } 
{ /* ./Ast/venv.scm 386 */
bool_t BgL_test3066z00_881;
BgL_test3066z00_881 = 
BGl_iszd2azf3z21zz__objectz00(BgL_globalz00_880, BGl_globalz00zzast_varz00); 
if(BgL_test3066z00_881)
{ /* ./Ast/venv.scm 388 */
obj_t BgL_bucketz00_882;
BgL_bucketz00_882 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_30); 
{ 
obj_t BgL_curz00_883;obj_t BgL_prevz00_884;
{ /* ./Ast/venv.scm 389 */
obj_t BgL_arg3068z00_886;
BgL_arg3068z00_886 = 
CDR(BgL_bucketz00_882); 
BgL_curz00_883 = BgL_arg3068z00_886; 
BgL_prevz00_884 = BgL_bucketz00_882; 
BgL_loopz00_885:
{ /* ./Ast/venv.scm 391 */
bool_t BgL_test3071z00_887;
{ /* ./Ast/venv.scm 391 */
obj_t BgL_auxz00_1896;
BgL_auxz00_1896 = 
CAR(BgL_curz00_883); 
BgL_test3071z00_887 = 
(BgL_auxz00_1896==BgL_globalz00_880); } 
if(BgL_test3071z00_887)
{ /* ./Ast/venv.scm 392 */
obj_t BgL_arg3073z00_888;
BgL_arg3073z00_888 = 
CDR(BgL_curz00_883); 
return 
SET_CDR(BgL_prevz00_884, BgL_arg3073z00_888);}  else 
{ /* ./Ast/venv.scm 393 */
obj_t BgL_arg3077z00_889;obj_t BgL_arg3078z00_890;
BgL_arg3077z00_889 = 
CDR(BgL_curz00_883); 
BgL_arg3078z00_890 = 
CDR(BgL_prevz00_884); 
{ 
obj_t BgL_prevz00_1905;obj_t BgL_curz00_1904;
BgL_curz00_1904 = BgL_arg3077z00_889; 
BgL_prevz00_1905 = BgL_arg3078z00_890; 
BgL_prevz00_884 = BgL_prevz00_1905; 
BgL_curz00_883 = BgL_curz00_1904; 
goto BgL_loopz00_885;} } } } } }  else 
{ /* ./Ast/venv.scm 387 */
obj_t BgL_arg3090z00_894;
{ /* ./Ast/venv.scm 387 */
obj_t BgL_arg3094z00_896;obj_t BgL_arg3095z00_897;
BgL_arg3094z00_896 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Ast/venv.scm 387 */
obj_t BgL_arg3098z00_898;
BgL_arg3098z00_898 = 
MAKE_PAIR(BgL_modulez00_31, BNIL); 
BgL_arg3095z00_897 = 
MAKE_PAIR(BgL_idz00_30, BgL_arg3098z00_898); } 
BgL_arg3090z00_894 = 
MAKE_PAIR(BgL_arg3094z00_896, BgL_arg3095z00_897); } 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string3727z00zzast_envz00, BGl_string3728z00zzast_envz00, BgL_arg3090z00_894, BNIL);} } } } 
}



/* _unbind-global!3600 */
obj_t BGl__unbindzd2globalz123600zc0zzast_envz00(obj_t BgL_envz00_1567, obj_t BgL_idz00_1568, obj_t BgL_modulez00_1569)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 384 */
return 
BGl_unbindzd2globalz12zc0zzast_envz00(BgL_idz00_1568, BgL_modulez00_1569);} 
}



/* for-each-global! */
BGL_EXPORTED_DEF obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t BgL_procz00_32)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 398 */
{ /* ./Ast/venv.scm 400 */
obj_t BgL_zc3anonymousza33108ze3z83_1570;
{ 
int BgL_auxz00_1914;int BgL_auxz00_1912;
BgL_auxz00_1914 = 
(int)(((long)1)); 
BgL_auxz00_1912 = 
(int)(((long)2)); 
BgL_zc3anonymousza33108ze3z83_1570 = 
make_fx_procedure(BGl_zc3anonymousza33108ze3z83zzast_envz00, BgL_auxz00_1912, BgL_auxz00_1914); } 
{ /* ./Ast/venv.scm 400 */
int BgL_auxz00_1917;
BgL_auxz00_1917 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza33108ze3z83_1570, BgL_auxz00_1917, BgL_procz00_32); } 
return 
BGl_hashtablezd2forzd2eachz00zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_zc3anonymousza33108ze3z83_1570);} } 
}



/* _for-each-global!3602 */
obj_t BGl__forzd2eachzd2globalz123602z12zzast_envz00(obj_t BgL_envz00_1571, obj_t BgL_procz00_1572)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 398 */
return 
BGl_forzd2eachzd2globalz12z12zzast_envz00(BgL_procz00_1572);} 
}



/* <anonymous:3108> */
obj_t BGl_zc3anonymousza33108ze3z83zzast_envz00(obj_t BgL_envz00_1573, obj_t BgL_kz00_1575, obj_t BgL_bucketz00_1576)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 400 */
{ /* ./Ast/venv.scm 400 */
obj_t BgL_procz00_1574;
{ /* ./Ast/venv.scm 400 */
int BgL_auxz00_1922;
BgL_auxz00_1922 = 
(int)(((long)0)); 
BgL_procz00_1574 = 
PROCEDURE_REF(BgL_envz00_1573, BgL_auxz00_1922); } 
{ 
obj_t BgL_kz00_901;obj_t BgL_bucketz00_902;
{ /* ./Ast/venv.scm 400 */
bool_t BgL_auxz00_1925;
BgL_kz00_901 = BgL_kz00_1575; 
BgL_bucketz00_902 = BgL_bucketz00_1576; 
{ 
obj_t BgL_l2696z00_904;
{ /* ./Ast/venv.scm 400 */
obj_t BgL_arg3110z00_906;
BgL_arg3110z00_906 = 
CDR(BgL_bucketz00_902); 
BgL_l2696z00_904 = BgL_arg3110z00_906; 
BgL_forzd2each2697zd2_905:
{ /* ./Ast/venv.scm 400 */
bool_t BgL_test3113z00_907;
BgL_test3113z00_907 = 
PAIRP(BgL_l2696z00_904); 
if(BgL_test3113z00_907)
{ /* ./Ast/venv.scm 400 */
{ /* ./Ast/venv.scm 400 */
obj_t BgL_arg3115z00_908;
BgL_arg3115z00_908 = 
CAR(BgL_l2696z00_904); 
PROCEDURE_ENTRY(BgL_procz00_1574)(BgL_procz00_1574, BgL_arg3115z00_908, BEOA); } 
{ /* ./Ast/venv.scm 400 */
obj_t BgL_arg3119z00_909;
BgL_arg3119z00_909 = 
CDR(BgL_l2696z00_904); 
{ 
obj_t BgL_l2696z00_1933;
BgL_l2696z00_1933 = BgL_arg3119z00_909; 
BgL_l2696z00_904 = BgL_l2696z00_1933; 
goto BgL_forzd2each2697zd2_905;} } }  else 
{ /* ./Ast/venv.scm 400 */
BgL_auxz00_1925 = ((bool_t)1); } } } } 
return 
BBOOL(BgL_auxz00_1925);} } } } 
}



/* global-bucket-position */
BGL_EXPORTED_DEF obj_t BGl_globalzd2bucketzd2positionz00zzast_envz00(obj_t BgL_idz00_33, obj_t BgL_modulez00_34)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 405 */
{ /* ./Ast/venv.scm 406 */
obj_t BgL_bucketz00_911;
BgL_bucketz00_911 = 
BGl_hashtablezd2getzd2zz__hashz00(BGl_za2Genvza2z00zzast_envz00, BgL_idz00_33); 
if(
PAIRP(BgL_bucketz00_911))
{ 
obj_t BgL_globalsz00_913;long BgL_posz00_914;
{ /* ./Ast/venv.scm 409 */
long BgL_auxz00_1938;
BgL_globalsz00_913 = 
CDR(BgL_bucketz00_911); 
BgL_posz00_914 = ((long)0); 
BgL_loopz00_915:
if(
NULLP(BgL_globalsz00_913))
{ /* ./Ast/venv.scm 412 */
BgL_auxz00_1938 = ((long)-1); }  else 
{ /* ./Ast/venv.scm 414 */
bool_t BgL_testz00_1941;
{ /* ./Ast/venv.scm 414 */
obj_t BgL_auxz00_1942;
{ /* ./Ast/venv.scm 414 */
BgL_globalz00_bglt BgL_obj1165z00_1475;
{ /* ./Ast/venv.scm 414 */
obj_t BgL_auxz00_1943;
BgL_auxz00_1943 = 
CAR(BgL_globalsz00_913); 
BgL_obj1165z00_1475 = 
(BgL_globalz00_bglt)(BgL_auxz00_1943); } 
BgL_auxz00_1942 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1165z00_1475))->BgL_modulez00); } 
BgL_testz00_1941 = 
(BgL_auxz00_1942==BgL_modulez00_34); } 
if(BgL_testz00_1941)
{ /* ./Ast/venv.scm 414 */
BgL_auxz00_1938 = BgL_posz00_914; }  else 
{ /* ./Ast/venv.scm 414 */
{ 
long BgL_posz00_1950;obj_t BgL_globalsz00_1948;
BgL_globalsz00_1948 = 
CDR(BgL_globalsz00_913); 
BgL_posz00_1950 = 
(BgL_posz00_914+((long)1)); 
BgL_posz00_914 = BgL_posz00_1950; 
BgL_globalsz00_913 = BgL_globalsz00_1948; 
goto BgL_loopz00_915;} } } 
return 
BINT(BgL_auxz00_1938);} }  else 
{ /* ./Ast/venv.scm 407 */
return 
BINT(((long)-1));} } } 
}



/* _global-bucket-position3605 */
obj_t BGl__globalzd2bucketzd2position3605z00zzast_envz00(obj_t BgL_envz00_1577, obj_t BgL_idz00_1578, obj_t BgL_modulez00_1579)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 405 */
return 
BGl_globalzd2bucketzd2positionz00zzast_envz00(BgL_idz00_1578, BgL_modulez00_1579);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BGl_restorezd2valuezd2typesz12zd2default2699zd2envz12zzast_envz00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BGl_sfunz00zzast_varz00, BGl_proc3729z00zzast_envz00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BGl_cfunz00zzast_varz00, BGl_proc3730z00zzast_envz00);} 
}



/* restore-value-types!-cfun2704 */
obj_t BGl_restorezd2valuezd2typesz12zd2cfun2704zc0zzast_envz00(obj_t BgL_envz00_1582, obj_t BgL_valuez00_1583)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 185 */
{ 
BgL_cfunz00_bglt BgL_valuez00_1320;
{ /* ./Ast/venv.scm 186 */
bool_t BgL_auxz00_1959;
BgL_valuez00_1320 = 
(BgL_cfunz00_bglt)(BgL_valuez00_1583); 
{ 
obj_t BgL_argsz00_1324;
{ /* ./Ast/venv.scm 187 */
obj_t BgL_arg3541z00_1326;
BgL_arg3541z00_1326 = 
(((BgL_cfunz00_bglt)CREF(BgL_valuez00_1320))->BgL_argszd2typezd2); 
BgL_argsz00_1324 = BgL_arg3541z00_1326; 
BgL_loopz00_1325:
{ /* ./Ast/venv.scm 188 */
bool_t BgL_test3544z00_1327;
BgL_test3544z00_1327 = 
PAIRP(BgL_argsz00_1324); 
if(BgL_test3544z00_1327)
{ /* ./Ast/venv.scm 188 */
{ /* ./Ast/venv.scm 190 */
BgL_typez00_bglt BgL_arg3546z00_1328;
{ /* ./Ast/venv.scm 190 */
obj_t BgL_arg3549z00_1329;
{ /* ./Ast/venv.scm 190 */
BgL_typez00_bglt BgL_obj1003z00_1509;
{ /* ./Ast/venv.scm 190 */
obj_t BgL_auxz00_1963;
BgL_auxz00_1963 = 
CAR(BgL_argsz00_1324); 
BgL_obj1003z00_1509 = 
(BgL_typez00_bglt)(BgL_auxz00_1963); } 
BgL_arg3549z00_1329 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1509))->BgL_idz00); } 
BgL_arg3546z00_1328 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3549z00_1329); } 
{ /* ./Ast/venv.scm 190 */
obj_t BgL_objz00_1511;
BgL_objz00_1511 = 
(obj_t)(BgL_arg3546z00_1328); 
SET_CAR(BgL_argsz00_1324, BgL_objz00_1511); } } 
{ /* ./Ast/venv.scm 191 */
obj_t BgL_arg3556z00_1331;
BgL_arg3556z00_1331 = 
CDR(BgL_argsz00_1324); 
{ 
obj_t BgL_argsz00_1971;
BgL_argsz00_1971 = BgL_arg3556z00_1331; 
BgL_argsz00_1324 = BgL_argsz00_1971; 
goto BgL_loopz00_1325;} } }  else 
{ /* ./Ast/venv.scm 188 */
BgL_auxz00_1959 = ((bool_t)0)
; } } } } 
return 
BBOOL(BgL_auxz00_1959);} } } 
}



/* restore-value-types!-sfun2702 */
obj_t BGl_restorezd2valuezd2typesz12zd2sfun2702zc0zzast_envz00(obj_t BgL_envz00_1584, obj_t BgL_valuez00_1585)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 150 */
{ 
BgL_sfunz00_bglt BgL_valuez00_1288;
BgL_valuez00_1288 = 
(BgL_sfunz00_bglt)(BgL_valuez00_1585); 
{ 
obj_t BgL_argsz00_1292;
{ /* ./Ast/venv.scm 152 */
obj_t BgL_arg3475z00_1294;
BgL_arg3475z00_1294 = 
(((BgL_sfunz00_bglt)CREF(BgL_valuez00_1288))->BgL_argsz00); 
BgL_argsz00_1292 = BgL_arg3475z00_1294; 
BgL_loopz00_1293:
{ /* ./Ast/venv.scm 154 */
bool_t BgL_test3478z00_1295;
BgL_test3478z00_1295 = 
PAIRP(BgL_argsz00_1292); 
if(BgL_test3478z00_1295)
{ /* ./Ast/venv.scm 154 */
{ /* ./Ast/venv.scm 155 */
obj_t BgL_argz00_1296;
BgL_argz00_1296 = 
CAR(BgL_argsz00_1292); 
{ /* ./Ast/venv.scm 157 */
bool_t BgL_test3479z00_1297;
BgL_test3479z00_1297 = 
BGl_iszd2azf3z21zz__objectz00(BgL_argz00_1296, BGl_typez00zztype_typez00); 
if(BgL_test3479z00_1297)
{ /* ./Ast/venv.scm 157 */
{ /* ./Ast/venv.scm 158 */
BgL_typez00_bglt BgL_arg3481z00_1298;
{ /* ./Ast/venv.scm 158 */
obj_t BgL_arg3484z00_1299;
{ /* ./Ast/venv.scm 158 */
BgL_typez00_bglt BgL_obj1003z00_1483;
BgL_obj1003z00_1483 = 
(BgL_typez00_bglt)(BgL_argz00_1296); 
BgL_arg3484z00_1299 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1483))->BgL_idz00); } 
BgL_arg3481z00_1298 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3484z00_1299); } 
{ /* ./Ast/venv.scm 158 */
obj_t BgL_objz00_1485;
BgL_objz00_1485 = 
(obj_t)(BgL_arg3481z00_1298); 
SET_CAR(BgL_argsz00_1292, BgL_objz00_1485); } } }  else 
{ /* ./Ast/venv.scm 159 */
bool_t BgL_test3487z00_1300;
BgL_test3487z00_1300 = 
BGl_iszd2azf3z21zz__objectz00(BgL_argz00_1296, BGl_localz00zzast_varz00); 
if(BgL_test3487z00_1300)
{ /* ./Ast/venv.scm 159 */
{ /* ./Ast/venv.scm 160 */
BgL_typez00_bglt BgL_newzd2typezd2_1301;
{ /* ./Ast/venv.scm 160 */
obj_t BgL_arg3490z00_1302;
{ /* ./Ast/venv.scm 160 */
BgL_typez00_bglt BgL_arg3493z00_1303;
{ /* ./Ast/venv.scm 160 */
BgL_variablez00_bglt BgL_obj1097z00_1487;
BgL_obj1097z00_1487 = 
(BgL_variablez00_bglt)(BgL_argz00_1296); 
BgL_arg3493z00_1303 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1487))->BgL_typez00); } 
BgL_arg3490z00_1302 = 
(((BgL_typez00_bglt)CREF(BgL_arg3493z00_1303))->BgL_idz00); } 
BgL_newzd2typezd2_1301 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3490z00_1302); } 
{ /* ./Ast/venv.scm 161 */
BgL_variablez00_bglt BgL_obj1099z00_1489;BgL_typez00_bglt BgL_val1098z00_1490;
BgL_obj1099z00_1489 = 
(BgL_variablez00_bglt)(BgL_argz00_1296); 
BgL_val1098z00_1490 = BgL_newzd2typezd2_1301; 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1489))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1490), BUNSPEC); } } }  else 
{ /* ./Ast/venv.scm 159 */
{ /* ./Ast/venv.scm 163 */
obj_t BgL_arg3499z00_1306;
BgL_arg3499z00_1306 = 
BGl_shapez00zztools_shapez00(BgL_argz00_1296); 
FAILURE(BGl_string3731z00zzast_envz00,BGl_string3732z00zzast_envz00,BgL_arg3499z00_1306);} } } } 
{ /* ./Ast/venv.scm 166 */
obj_t BgL_arg3506z00_1307;
BgL_arg3506z00_1307 = 
CDR(BgL_argsz00_1292); 
{ 
obj_t BgL_argsz00_1996;
BgL_argsz00_1996 = BgL_arg3506z00_1307; 
BgL_argsz00_1292 = BgL_argsz00_1996; 
goto BgL_loopz00_1293;} } } }  else 
{ /* ./Ast/venv.scm 167 */
bool_t BgL_test3510z00_1308;
BgL_test3510z00_1308 = 
NULLP(BgL_argsz00_1292); 
if(BgL_test3510z00_1308)
{ /* ./Ast/venv.scm 167 */
{ /* ./Ast/venv.scm 168 */
obj_t BgL_bodyz00_1309;
BgL_bodyz00_1309 = 
(((BgL_sfunz00_bglt)CREF(BgL_valuez00_1288))->BgL_bodyz00); 
{ /* ./Ast/venv.scm 170 */
bool_t BgL_test3511z00_1310;
BgL_test3511z00_1310 = 
BGl_iszd2azf3z21zz__objectz00(BgL_bodyz00_1309, BGl_nodez00zzast_nodez00); 
if(BgL_test3511z00_1310)
{ /* ./Ast/venv.scm 171 */
BgL_typez00_bglt BgL_tresz00_1311;
{ /* ./Ast/venv.scm 171 */
BgL_nodez00_bglt BgL_obj1561z00_1498;
BgL_obj1561z00_1498 = 
(BgL_nodez00_bglt)(BgL_bodyz00_1309); 
BgL_tresz00_1311 = 
(((BgL_nodez00_bglt)CREF(BgL_obj1561z00_1498))->BgL_typez00); } 
{ /* ./Ast/venv.scm 172 */
bool_t BgL_test3512z00_1312;
{ /* ./Ast/venv.scm 172 */
obj_t BgL_obj1088z00_1499;
BgL_obj1088z00_1499 = 
(obj_t)(BgL_tresz00_1311); 
BgL_test3512z00_1312 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1088z00_1499, BGl_typez00zztype_typez00); } 
if(BgL_test3512z00_1312)
{ /* ./Ast/venv.scm 172 */
BGl_hrtypezd2nodez12zc0zzast_hrtypez00(
(BgL_nodez00_bglt)(BgL_bodyz00_1309)); 
{ /* ./Ast/venv.scm 176 */
BgL_typez00_bglt BgL_arg3515z00_1313;
{ /* ./Ast/venv.scm 176 */
obj_t BgL_arg3518z00_1314;
BgL_arg3518z00_1314 = 
(((BgL_typez00_bglt)CREF(BgL_tresz00_1311))->BgL_idz00); 
BgL_arg3515z00_1313 = 
BGl_findzd2typezd2zztype_envz00(BgL_arg3518z00_1314); } 
{ /* ./Ast/venv.scm 175 */
BgL_nodez00_bglt BgL_obj1563z00_1501;BgL_typez00_bglt BgL_val1562z00_1502;
BgL_obj1563z00_1501 = 
(BgL_nodez00_bglt)(BgL_bodyz00_1309); 
BgL_val1562z00_1502 = BgL_arg3515z00_1313; 
return 
((((BgL_nodez00_bglt)CREF(BgL_obj1563z00_1501))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1562z00_1502), BUNSPEC);} } }  else 
{ /* ./Ast/venv.scm 172 */
return BFALSE;} } }  else 
{ /* ./Ast/venv.scm 170 */
return BFALSE;} } } }  else 
{ /* ./Ast/venv.scm 167 */
{ /* ./Ast/venv.scm 178 */
obj_t BgL_arg3528z00_1317;
BgL_arg3528z00_1317 = 
BGl_shapez00zztools_shapez00(BgL_argsz00_1292); 
FAILURE(BGl_string3733z00zzast_envz00,BGl_string3734z00zzast_envz00,BgL_arg3528z00_1317);} } } } } } } } 
}



/* restore-value-types! */
obj_t BGl_restorezd2valuezd2typesz12z12zzast_envz00(BgL_valuez00_bglt BgL_valuez00_7)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 144 */
{ /* ./Ast/venv.scm 144 */
obj_t BgL_method2700z00_1513;
{ /* ./Ast/venv.scm 144 */
BgL_objectz00_bglt BgL_objz00_1514;
BgL_objz00_1514 = 
(BgL_objectz00_bglt)(BgL_valuez00_7); 
{ /* ./Ast/venv.scm 144 */
long BgL_objzd2classzd2numz00_1515;
BgL_objzd2classzd2numz00_1515 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1514); 
{ /* ./Ast/venv.scm 144 */
obj_t BgL_arg2017z00_1516;
{ /* ./Ast/venv.scm 144 */
int BgL_auxz00_2018;
BgL_auxz00_2018 = 
(int)(((long)1)); 
BgL_arg2017z00_1516 = 
PROCEDURE_REF(BGl_restorezd2valuezd2typesz12zd2envzc0zzast_envz00, BgL_auxz00_2018); } 
{ /* ./Ast/venv.scm 144 */
int BgL_offsetz00_1519;
BgL_offsetz00_1519 = 
(int)(BgL_objzd2classzd2numz00_1515); 
{ /* ./Ast/venv.scm 144 */
long BgL_offsetz00_1520;
{ /* ./Ast/venv.scm 144 */
long BgL_auxz00_2022;
BgL_auxz00_2022 = 
(long)(BgL_offsetz00_1519); 
BgL_offsetz00_1520 = 
(BgL_auxz00_2022-OBJECT_TYPE); } 
{ /* ./Ast/venv.scm 144 */
long BgL_modz00_1521;
{ /* ./Ast/venv.scm 144 */
int BgL_arg2028z00_1522;
BgL_arg2028z00_1522 = 
(int)(((long)8)); 
{ /* ./Ast/venv.scm 144 */
long BgL_n2z00_1530;
BgL_n2z00_1530 = 
(long)(BgL_arg2028z00_1522); 
BgL_modz00_1521 = 
(BgL_offsetz00_1520/BgL_n2z00_1530); } } 
{ /* ./Ast/venv.scm 144 */
long BgL_restz00_1523;
{ /* ./Ast/venv.scm 144 */
int BgL_arg2024z00_1524;
BgL_arg2024z00_1524 = 
(int)(((long)8)); 
{ /* ./Ast/venv.scm 144 */
long BgL_n2z00_1533;
BgL_n2z00_1533 = 
(long)(BgL_arg2024z00_1524); 
BgL_restz00_1523 = 
(BgL_offsetz00_1520%BgL_n2z00_1533); } } 
{ /* ./Ast/venv.scm 144 */

{ /* ./Ast/venv.scm 144 */
obj_t BgL_bucketz00_1525;
{ /* ./Ast/venv.scm 144 */
int BgL_kz00_1535;
BgL_kz00_1535 = 
(int)(BgL_modz00_1521); 
BgL_bucketz00_1525 = 
VECTOR_REF(BgL_arg2017z00_1516,BgL_kz00_1535); } 
{ /* ./Ast/venv.scm 144 */
int BgL_kz00_1537;
BgL_kz00_1537 = 
(int)(BgL_restz00_1523); 
BgL_method2700z00_1513 = 
VECTOR_REF(BgL_bucketz00_1525,BgL_kz00_1537); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2700z00_1513)(BgL_method2700z00_1513, 
(obj_t)(BgL_valuez00_7), BEOA);} } 
}



/* _restore-value-types!3589 */
obj_t BGl__restorezd2valuezd2typesz123589z12zzast_envz00(obj_t BgL_envz00_1549, obj_t BgL_valuez00_1550)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 144 */
return 
BGl_restorezd2valuezd2typesz12z12zzast_envz00(
(BgL_valuez00_bglt)(BgL_valuez00_1550));} 
}



/* _restore-value-types!-default2699 */
obj_t BGl__restorezd2valuezd2typesz12zd2default2699zc0zzast_envz00(obj_t BgL_envz00_1586, obj_t BgL_valuez00_1587)
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_envz00()
{ AN_OBJECT;
{ /* ./Ast/venv.scm 14 */
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_env"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_env"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_env"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_env"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_env"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "ast_env"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_env"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_env"); 
BGl_modulezd2initializa7ationz75zzast_hrtypez00(((long)54514), "ast_env"); 
BGl_modulezd2initializa7ationz75zzread_jvmz00(((long)16338), "ast_env"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "ast_env"); 
return 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_env");} 
}

