/*===========================================================================*/
/*   (Module/eval.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 Module/eval.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;


BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzmodule_evalz00();
static bool_t BGl_za2onezd2evalzf3za2z21zzmodule_evalz00;
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_sfunz00zzast_varz00;
extern BgL_ccompz00_bglt BGl_makezd2ccompzd2zzmodule_modulez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern obj_t BGl_scnstz00zzast_varz00;
extern obj_t BGl_svarz00zzast_varz00;
extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
extern bool_t BGl_bigloozd2typezf3z21zztype_typez00(BgL_typez00_bglt);
static obj_t BGl_evalzd2finaliza7erz75zzmodule_evalz00();
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
extern obj_t BGl_za2libzd2modeza2zd2zzengine_paramz00;
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_makezd2evalzd2compilerz00zzmodule_evalz00();
static obj_t BGl_cnstzd2initzd2zzmodule_evalz00();
static obj_t BGl_zc3anonymousza32979ze3z83zzmodule_evalz00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_evalz00();
extern BgL_nodez00_bglt BGl_locationzd2ze3nodez31zzast_sexpz00(BgL_globalz00_bglt);
extern BgL_globalz00_bglt BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzmodule_evalz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_evalz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(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 *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
static obj_t BGl_zc3anonymousza32728ze3z83zzmodule_evalz00(obj_t, obj_t, obj_t);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00();
extern BgL_nodez00_bglt BGl_definezd2primopzd2refzd2ze3nodez31zzast_sexpz00(BgL_globalz00_bglt, BgL_nodez00_bglt);
extern BgL_nodez00_bglt BGl_definezd2primopzd2ze3nodeze3zzast_sexpz00(BgL_globalz00_bglt);
extern obj_t BGl_getzd2toplevelzd2unitzd2weightzd2zzmodule_includez00();
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00 = BUNSPEC;
extern obj_t BGl_forzd2eachzd2globalz12z12zzast_envz00(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00 = BUNSPEC;
BGL_IMPORT obj_t create_struct(obj_t, int);
static obj_t BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(obj_t);
static obj_t BGl_evalzd2parserzd2zzmodule_evalz00(obj_t, obj_t);
static obj_t BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32912ze3z83zzmodule_evalz00(obj_t);
static obj_t BGl__makezd2evalzd2compilerz00zzmodule_evalz00(obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
BGL_EXPORTED_DEF obj_t BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_makezd2promisezd2zz__r4_control_features_6_9z00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzmodule_evalz00 = BUNSPEC;
static obj_t BGl_evalzd2producerzd2zzmodule_evalz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_evalz00();
static obj_t BGl__evalzd2producerzd2zzmodule_evalz00(obj_t, obj_t);
static obj_t BGl__evalzd2finaliza7erz75zzmodule_evalz00(obj_t);
BGL_EXPORTED_DEF obj_t BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 = BUNSPEC;
static obj_t __cnst[ 15 ] ;


DEFINE_STRING( BGl_string3485z00zzmodule_evalz00, BgL_bgl_string3485za700za7za7module_evalza7003513z00, "(export) (static export) (import static export) (#unspecified) write begin void unit import @ export export-module export-exports export-all eval ", 146 );
DEFINE_STRING( BGl_string3484z00zzmodule_evalz00, BgL_bgl_string3484za700za7za7module_evalza7003514z00, "Unbound eval variable", 21 );
DEFINE_STRING( BGl_string3483z00zzmodule_evalz00, BgL_bgl_string3483za700za7za7module_evalza7003515z00, "This variable cannot be known by eval", 37 );
DEFINE_STRING( BGl_string3482z00zzmodule_evalz00, BgL_bgl_string3482za700za7za7module_evalza7003516z00, "eval-init", 9 );
DEFINE_STRING( BGl_string3481z00zzmodule_evalz00, BgL_bgl_string3481za700za7za7module_evalza7003517z00, "Non bigloo prototyped value can't be evaluated", 46 );
DEFINE_STRING( BGl_string3480z00zzmodule_evalz00, BgL_bgl_string3480za700za7za7module_evalza7003518z00, "eval", 4 );
DEFINE_STRING( BGl_string3478z00zzmodule_evalz00, BgL_bgl_string3478za700za7za7module_evalza7003519z00, "Illegal `eval clause'", 21 );
DEFINE_STRING( BGl_string3477z00zzmodule_evalz00, BgL_bgl_string3477za700za7za7module_evalza7003520z00, "Illegal `eval' clause", 21 );
DEFINE_STRING( BGl_string3476z00zzmodule_evalz00, BgL_bgl_string3476za700za7za7module_evalza7003521z00, "Parse error", 11 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2evalzd2compilerzd2envzd2zzmodule_evalz00, BgL_bgl__makeza7d2evalza7d2compilerza700za7za7module_evalza7003522z00, BGl__makezd2evalzd2compilerz00zzmodule_evalz00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_evalzd2producerzd2envz00zzmodule_evalz00, BgL_bgl__evalza7d2producerza7d2za7za7module_evalza7003523za7, BGl__evalzd2producerzd2zzmodule_evalz00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3475z00zzmodule_evalz00, BgL_bgl_za7c3anonymousza7a32728za7e3za783za7za7module_evalza7003524za7, BGl_zc3anonymousza32728ze3z83zzmodule_evalz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc3479z00zzmodule_evalz00, BgL_bgl_za7c3anonymousza7a32912za7e3za783za7za7module_evalza7003525za7, BGl_zc3anonymousza32912ze3z83zzmodule_evalz00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_evalzd2finaliza7erzd2envza7zzmodule_evalz00, BgL_bgl__evalza7d2finaliza7a7erza775za7za7module_evalza7003526z00, BGl__evalzd2finaliza7erz75zzmodule_evalz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_evalz00(long BgL_checksumz00_1427, char * BgL_fromz00_1428)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmodule_evalz00))
{ 
BGl_requirezd2initializa7ationz75zzmodule_evalz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmodule_evalz00(); 
BGl_cnstzd2initzd2zzmodule_evalz00(); 
BGl_importedzd2moduleszd2initz00zzmodule_evalz00(); 
BGl_toplevelzd2initzd2zzmodule_evalz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "module_eval"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_eval"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "module_eval"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "module_eval"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 15 */
{ /* ./Module/eval.scm 15 */
obj_t BgL_cportz00_1418;
BgL_cportz00_1418 = 
open_input_string(BGl_string3485z00zzmodule_evalz00); 
{ 
long BgL_iz00_1419;
BgL_iz00_1419 = ((long)14); 
BgL_loopz00_1420:
{ /* ./Module/eval.scm 15 */
bool_t BgL_test3487z00_1421;
BgL_test3487z00_1421 = 
(BgL_iz00_1419==((long)-1)); 
if(BgL_test3487z00_1421)
{ /* ./Module/eval.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/eval.scm 15 */
{ /* ./Module/eval.scm 15 */
obj_t BgL_arg3489z00_1422;
{ /* ./Module/eval.scm 15 */
obj_t BgL_list3492z00_1423;
BgL_list3492z00_1423 = 
MAKE_PAIR(BgL_cportz00_1418, BNIL); 
BgL_arg3489z00_1422 = 
BGl_readz00zz__readerz00(BgL_list3492z00_1423); } 
{ /* ./Module/eval.scm 15 */
int BgL_auxz00_1445;
BgL_auxz00_1445 = 
(int)(BgL_iz00_1419); 
CNST_TABLE_SET(BgL_auxz00_1445, BgL_arg3489z00_1422); } } 
{ /* ./Module/eval.scm 15 */
int BgL_auxz00_1424;
{ /* ./Module/eval.scm 15 */
long BgL_auxz00_1448;
BgL_auxz00_1448 = 
(BgL_iz00_1419-((long)1)); 
BgL_auxz00_1424 = 
(int)(BgL_auxz00_1448); } 
{ 
long BgL_iz00_1451;
BgL_iz00_1451 = 
(long)(BgL_auxz00_1424); 
BgL_iz00_1419 = BgL_iz00_1451; 
goto BgL_loopz00_1420;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 15 */
BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 = BNIL; 
BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 = BFALSE; 
BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 = BFALSE; 
BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00 = BFALSE; 
BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00 = BFALSE; 
return ( 
BGl_za2onezd2evalzf3za2z21zzmodule_evalz00 = ((bool_t)0), BUNSPEC) ;} 
}



/* make-eval-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2evalzd2compilerz00zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 37 */
{ /* ./Module/eval.scm 38 */
obj_t BgL_arg2723z00_703;obj_t BgL_arg2724z00_704;obj_t BgL_arg2726z00_706;
BgL_arg2723z00_703 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2724z00_704 = BGl_evalzd2producerzd2envz00zzmodule_evalz00; 
BgL_arg2726z00_706 = BGl_evalzd2finaliza7erzd2envza7zzmodule_evalz00; 
{ /* ./Module/eval.scm 38 */
BgL_ccompz00_bglt BgL_auxz00_1454;
BgL_auxz00_1454 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg2723z00_703, BgL_arg2724z00_704, BGl_proc3475z00zzmodule_evalz00, BgL_arg2726z00_706); 
return 
(obj_t)(BgL_auxz00_1454);} } } 
}



/* _make-eval-compiler */
obj_t BGl__makezd2evalzd2compilerz00zzmodule_evalz00(obj_t BgL_envz00_1402)
{ AN_OBJECT;
{ /* ./Module/eval.scm 37 */
return 
BGl_makezd2evalzd2compilerz00zzmodule_evalz00();} 
}



/* <anonymous:2728> */
obj_t BGl_zc3anonymousza32728ze3z83zzmodule_evalz00(obj_t BgL_envz00_1403, obj_t BgL_mz00_1404, obj_t BgL_cz00_1405)
{ AN_OBJECT;
{ /* ./Module/module.scm 48 */
return BNIL;} 
}



/* eval-producer */
obj_t BGl_evalzd2producerzd2zzmodule_evalz00(obj_t BgL_clausez00_19)
{ AN_OBJECT;
{ /* ./Module/eval.scm 45 */
{ 
obj_t BgL_protosz00_711;
{ /* ./Module/eval.scm 46 */
bool_t BgL_test2729z00_715;
BgL_test2729z00_715 = 
PAIRP(BgL_clausez00_19); 
if(BgL_test2729z00_715)
{ /* ./Module/eval.scm 46 */
obj_t BgL_arg2731z00_716;
BgL_arg2731z00_716 = 
CDR(BgL_clausez00_19); 
BgL_protosz00_711 = BgL_arg2731z00_716; 
{ 
obj_t BgL_l2683z00_717;
BgL_l2683z00_717 = BgL_protosz00_711; 
BgL_forzd2each2684zd2_718:
{ /* ./Module/eval.scm 48 */
bool_t BgL_test2737z00_719;
BgL_test2737z00_719 = 
PAIRP(BgL_l2683z00_717); 
if(BgL_test2737z00_719)
{ /* ./Module/eval.scm 48 */
{ /* ./Module/eval.scm 48 */
obj_t BgL_protoz00_720;
BgL_protoz00_720 = 
CAR(BgL_l2683z00_717); 
BGl_evalzd2parserzd2zzmodule_evalz00(BgL_protoz00_720, BgL_clausez00_19); } 
{ /* ./Module/eval.scm 48 */
obj_t BgL_arg2741z00_721;
BgL_arg2741z00_721 = 
CDR(BgL_l2683z00_717); 
{ 
obj_t BgL_l2683z00_1466;
BgL_l2683z00_1466 = BgL_arg2741z00_721; 
BgL_l2683z00_717 = BgL_l2683z00_1466; 
goto BgL_forzd2each2684zd2_718;} } }  else 
{ /* ./Module/eval.scm 48 */((bool_t)1); } } } 
return BNIL;}  else 
{ /* ./Module/eval.scm 46 */
{ /* ./Module/eval.scm 51 */
obj_t BgL_list2746z00_722;
BgL_list2746z00_722 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string3476z00zzmodule_evalz00, BGl_string3477z00zzmodule_evalz00, BgL_clausez00_19, BgL_list2746z00_722);} } } } } 
}



/* _eval-producer */
obj_t BGl__evalzd2producerzd2zzmodule_evalz00(obj_t BgL_envz00_1406, obj_t BgL_clausez00_1407)
{ AN_OBJECT;
{ /* ./Module/eval.scm 45 */
return 
BGl_evalzd2producerzd2zzmodule_evalz00(BgL_clausez00_1407);} 
}



/* eval-parser */
obj_t BGl_evalzd2parserzd2zzmodule_evalz00(obj_t BgL_protoz00_20, obj_t BgL_clausez00_21)
{ AN_OBJECT;
{ /* ./Module/eval.scm 59 */
{ 

{ /* ./Module/eval.scm 60 */
bool_t BgL_test2748z00_735;
BgL_test2748z00_735 = 
PAIRP(BgL_protoz00_20); 
if(BgL_test2748z00_735)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2749z00_736;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1474;obj_t BgL_auxz00_1472;
BgL_auxz00_1474 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_1472 = 
CAR(BgL_protoz00_20); 
BgL_test2749z00_736 = 
(BgL_auxz00_1472==BgL_auxz00_1474); } 
if(BgL_test2749z00_736)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2750z00_737;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1478;
BgL_auxz00_1478 = 
CDR(BgL_protoz00_20); 
BgL_test2750z00_737 = 
NULLP(BgL_auxz00_1478); } 
if(BgL_test2750z00_737)
{ /* ./Module/eval.scm 60 */
return ( 
BGl_za2allzd2evalzf3za2z21zzmodule_evalz00 = BTRUE, BUNSPEC) ;}  else 
{ /* ./Module/eval.scm 60 */
BgL_tagzd2115zd2_733:
{ /* ./Module/eval.scm 76 */
obj_t BgL_list2878z00_787;
BgL_list2878z00_787 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string3476z00zzmodule_evalz00, BGl_string3478z00zzmodule_evalz00, BgL_clausez00_21, BgL_list2878z00_787);} } }  else 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2757z00_739;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1486;obj_t BgL_auxz00_1484;
BgL_auxz00_1486 = 
CNST_TABLE_REF(((long)2)); 
BgL_auxz00_1484 = 
CAR(BgL_protoz00_20); 
BgL_test2757z00_739 = 
(BgL_auxz00_1484==BgL_auxz00_1486); } 
if(BgL_test2757z00_739)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2758z00_740;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1490;
BgL_auxz00_1490 = 
CDR(BgL_protoz00_20); 
BgL_test2758z00_740 = 
NULLP(BgL_auxz00_1490); } 
if(BgL_test2758z00_740)
{ /* ./Module/eval.scm 60 */
return ( 
BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00 = BTRUE, BUNSPEC) ;}  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2765z00_742;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1496;obj_t BgL_auxz00_1494;
BgL_auxz00_1496 = 
CNST_TABLE_REF(((long)3)); 
BgL_auxz00_1494 = 
CAR(BgL_protoz00_20); 
BgL_test2765z00_742 = 
(BgL_auxz00_1494==BgL_auxz00_1496); } 
if(BgL_test2765z00_742)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2766z00_743;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1500;
BgL_auxz00_1500 = 
CDR(BgL_protoz00_20); 
BgL_test2766z00_743 = 
NULLP(BgL_auxz00_1500); } 
if(BgL_test2766z00_743)
{ /* ./Module/eval.scm 60 */
return ( 
BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00 = BTRUE, BUNSPEC) ;}  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
obj_t BgL_cdrzd2166zd2_745;
BgL_cdrzd2166zd2_745 = 
CDR(BgL_protoz00_20); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2773z00_746;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1507;obj_t BgL_auxz00_1505;
BgL_auxz00_1507 = 
CNST_TABLE_REF(((long)4)); 
BgL_auxz00_1505 = 
CAR(BgL_protoz00_20); 
BgL_test2773z00_746 = 
(BgL_auxz00_1505==BgL_auxz00_1507); } 
if(BgL_test2773z00_746)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2774z00_747;
BgL_test2774z00_747 = 
PAIRP(BgL_cdrzd2166zd2_745); 
if(BgL_test2774z00_747)
{ /* ./Module/eval.scm 60 */
obj_t BgL_carzd2168zd2_748;
BgL_carzd2168zd2_748 = 
CAR(BgL_cdrzd2166zd2_745); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2775z00_749;
BgL_test2775z00_749 = 
SYMBOLP(BgL_carzd2168zd2_748); 
if(BgL_test2775z00_749)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2776z00_750;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1516;
BgL_auxz00_1516 = 
CDR(BgL_cdrzd2166zd2_745); 
BgL_test2776z00_750 = 
NULLP(BgL_auxz00_1516); } 
if(BgL_test2776z00_750)
{ /* ./Module/eval.scm 60 */
BGl_za2onezd2evalzf3za2z21zzmodule_evalz00 = ((bool_t)1); 
return 
BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(BgL_carzd2168zd2_748, BGl_za2moduleza2z00zzmodule_modulez00, BgL_protoz00_20);}  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
obj_t BgL_carzd2187zd2_753;
BgL_carzd2187zd2_753 = 
CAR(BgL_cdrzd2166zd2_745); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2783z00_754;
BgL_test2783z00_754 = 
PAIRP(BgL_carzd2187zd2_753); 
if(BgL_test2783z00_754)
{ /* ./Module/eval.scm 60 */
obj_t BgL_cdrzd2192zd2_755;
BgL_cdrzd2192zd2_755 = 
CDR(BgL_carzd2187zd2_753); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2784z00_756;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1527;obj_t BgL_auxz00_1525;
BgL_auxz00_1527 = 
CNST_TABLE_REF(((long)5)); 
BgL_auxz00_1525 = 
CAR(BgL_carzd2187zd2_753); 
BgL_test2784z00_756 = 
(BgL_auxz00_1525==BgL_auxz00_1527); } 
if(BgL_test2784z00_756)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2785z00_757;
BgL_test2785z00_757 = 
PAIRP(BgL_cdrzd2192zd2_755); 
if(BgL_test2785z00_757)
{ /* ./Module/eval.scm 60 */
obj_t BgL_carzd2195zd2_758;obj_t BgL_cdrzd2196zd2_759;
BgL_carzd2195zd2_758 = 
CAR(BgL_cdrzd2192zd2_755); 
BgL_cdrzd2196zd2_759 = 
CDR(BgL_cdrzd2192zd2_755); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2786z00_760;
BgL_test2786z00_760 = 
SYMBOLP(BgL_carzd2195zd2_758); 
if(BgL_test2786z00_760)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2787z00_761;
BgL_test2787z00_761 = 
PAIRP(BgL_cdrzd2196zd2_759); 
if(BgL_test2787z00_761)
{ /* ./Module/eval.scm 60 */
obj_t BgL_carzd2201zd2_762;
BgL_carzd2201zd2_762 = 
CAR(BgL_cdrzd2196zd2_759); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2788z00_763;
BgL_test2788z00_763 = 
SYMBOLP(BgL_carzd2201zd2_762); 
if(BgL_test2788z00_763)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2789z00_764;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1542;
BgL_auxz00_1542 = 
CDR(BgL_cdrzd2196zd2_759); 
BgL_test2789z00_764 = 
NULLP(BgL_auxz00_1542); } 
if(BgL_test2789z00_764)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2790z00_765;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1546;
BgL_auxz00_1546 = 
CDR(BgL_cdrzd2166zd2_745); 
BgL_test2790z00_765 = 
NULLP(BgL_auxz00_1546); } 
if(BgL_test2790z00_765)
{ /* ./Module/eval.scm 60 */
BGl_za2onezd2evalzf3za2z21zzmodule_evalz00 = ((bool_t)1); 
return 
BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(BgL_carzd2195zd2_758, BgL_carzd2201zd2_762, BgL_protoz00_20);}  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } } } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2828z00_771;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1553;obj_t BgL_auxz00_1551;
BgL_auxz00_1553 = 
CNST_TABLE_REF(((long)6)); 
BgL_auxz00_1551 = 
CAR(BgL_protoz00_20); 
BgL_test2828z00_771 = 
(BgL_auxz00_1551==BgL_auxz00_1553); } 
if(BgL_test2828z00_771)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2829z00_772;
BgL_test2829z00_772 = 
PAIRP(BgL_cdrzd2166zd2_745); 
if(BgL_test2829z00_772)
{ /* ./Module/eval.scm 60 */
obj_t BgL_carzd2237zd2_773;
BgL_carzd2237zd2_773 = 
CAR(BgL_cdrzd2166zd2_745); 
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2830z00_774;
BgL_test2830z00_774 = 
SYMBOLP(BgL_carzd2237zd2_773); 
if(BgL_test2830z00_774)
{ /* ./Module/eval.scm 60 */
bool_t BgL_test2831z00_775;
{ /* ./Module/eval.scm 60 */
obj_t BgL_auxz00_1562;
BgL_auxz00_1562 = 
CDR(BgL_cdrzd2166zd2_745); 
BgL_test2831z00_775 = 
NULLP(BgL_auxz00_1562); } 
if(BgL_test2831z00_775)
{ /* ./Module/eval.scm 60 */
BgL_globalz00_bglt BgL_auxz00_1566;
BgL_auxz00_1566 = 
BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(BgL_carzd2237zd2_773, 
CNST_TABLE_REF(((long)0)), 
CNST_TABLE_REF(((long)0)), BgL_clausez00_21, BFALSE); 
return 
(obj_t)(BgL_auxz00_1566);}  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } } } } } }  else 
{ /* ./Module/eval.scm 60 */
goto BgL_tagzd2115zd2_733;} } } } 
}



/* remember-eval-exported! */
obj_t BGl_rememberzd2evalzd2exportedz12z12zzmodule_evalz00(obj_t BgL_varz00_22, obj_t BgL_modulez00_23, obj_t BgL_locz00_24)
{ AN_OBJECT;
{ /* ./Module/eval.scm 86 */
{ /* ./Module/eval.scm 87 */
obj_t BgL_arg2882z00_788;
{ /* ./Module/eval.scm 87 */
obj_t BgL_list2885z00_789;
{ /* ./Module/eval.scm 87 */
obj_t BgL_arg2887z00_790;
{ /* ./Module/eval.scm 87 */
obj_t BgL_arg2890z00_791;
BgL_arg2890z00_791 = 
MAKE_PAIR(BgL_locz00_24, BNIL); 
BgL_arg2887z00_790 = 
MAKE_PAIR(BgL_modulez00_23, BgL_arg2890z00_791); } 
BgL_list2885z00_789 = 
MAKE_PAIR(BgL_varz00_22, BgL_arg2887z00_790); } 
BgL_arg2882z00_788 = BgL_list2885z00_789; } 
return ( 
BGl_za2evalzd2exportedza2zd2zzmodule_evalz00 = 
MAKE_PAIR(BgL_arg2882z00_788, BGl_za2evalzd2exportedza2zd2zzmodule_evalz00), BUNSPEC) ;} } 
}



/* eval-finalizer */
obj_t BGl_evalzd2finaliza7erz75zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 105 */
{ /* ./Module/eval.scm 106 */
bool_t BgL_test2893z00_792;
if(BGl_za2onezd2evalzf3za2z21zzmodule_evalz00)
{ /* ./Module/eval.scm 106 */
BgL_test2893z00_792 = ((bool_t)1); }  else 
{ /* ./Module/eval.scm 106 */
if(
CBOOL(BGl_za2allzd2evalzf3za2z21zzmodule_evalz00))
{ /* ./Module/eval.scm 106 */
BgL_test2893z00_792 = ((bool_t)1); }  else 
{ /* ./Module/eval.scm 106 */
if(
CBOOL(BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00))
{ /* ./Module/eval.scm 106 */
BgL_test2893z00_792 = ((bool_t)1); }  else 
{ /* ./Module/eval.scm 106 */
BgL_test2893z00_792 = 
CBOOL(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00); } } } 
if(BgL_test2893z00_792)
{ /* ./Module/eval.scm 109 */
obj_t BgL_arg2895z00_793;
{ /* ./Module/eval.scm 109 */
obj_t BgL_arg2900z00_795;long BgL_arg2901z00_796;obj_t BgL_arg2902z00_797;
BgL_arg2900z00_795 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Module/eval.scm 110 */
obj_t BgL_arg2905z00_798;
BgL_arg2905z00_798 = 
BGl_getzd2toplevelzd2unitzd2weightzd2zzmodule_includez00(); 
{ /* ./Module/eval.scm 110 */
long BgL_auxz00_1584;
BgL_auxz00_1584 = 
(long)CINT(BgL_arg2905z00_798); 
BgL_arg2901z00_796 = 
(BgL_auxz00_1584-((long)2)); } } 
BgL_arg2902z00_797 = 
BGl_makezd2promisezd2zz__r4_control_features_6_9z00(BGl_proc3479z00zzmodule_evalz00); 
{ /* ./Module/eval.scm 108 */
obj_t BgL_newz00_1338;
{ /* ./Module/eval.scm 108 */
int BgL_auxz00_1590;obj_t BgL_auxz00_1588;
BgL_auxz00_1590 = 
(int)(((long)4)); 
BgL_auxz00_1588 = 
CNST_TABLE_REF(((long)7)); 
BgL_newz00_1338 = 
create_struct(BgL_auxz00_1588, BgL_auxz00_1590); } 
{ /* ./Module/eval.scm 108 */
int BgL_kz00_1342;
BgL_kz00_1342 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1338, BgL_kz00_1342, BFALSE); } 
{ /* ./Module/eval.scm 108 */
int BgL_kz00_1347;
BgL_kz00_1347 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1338, BgL_kz00_1347, BgL_arg2902z00_797); } 
{ /* ./Module/eval.scm 108 */
int BgL_kz00_1352;obj_t BgL_oz00_1353;
BgL_kz00_1352 = 
(int)(((long)1)); 
BgL_oz00_1353 = 
BINT(BgL_arg2901z00_796); 
STRUCT_SET(BgL_newz00_1338, BgL_kz00_1352, BgL_oz00_1353); } 
{ /* ./Module/eval.scm 108 */
int BgL_kz00_1357;
BgL_kz00_1357 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1338, BgL_kz00_1357, BgL_arg2900z00_795); } 
BgL_arg2895z00_793 = BgL_newz00_1338; } } 
{ /* ./Module/eval.scm 107 */
obj_t BgL_list2897z00_794;
BgL_list2897z00_794 = 
MAKE_PAIR(BgL_arg2895z00_793, BNIL); 
return BgL_list2897z00_794;} }  else 
{ /* ./Module/eval.scm 106 */
return 
CNST_TABLE_REF(((long)8));} } } 
}



/* _eval-finalizer */
obj_t BGl__evalzd2finaliza7erz75zzmodule_evalz00(obj_t BgL_envz00_1408)
{ AN_OBJECT;
{ /* ./Module/eval.scm 105 */
return 
BGl_evalzd2finaliza7erz75zzmodule_evalz00();} 
}



/* <anonymous:2912> */
obj_t BGl_zc3anonymousza32912ze3z83zzmodule_evalz00(obj_t BgL_envz00_1410)
{ AN_OBJECT;
{ /* ./Module/eval.scm 111 */
{ 

{ 
obj_t BgL_globalsz00_802;obj_t BgL_initza2za2_803;
{ /* ./Module/eval.scm 112 */
obj_t BgL_arg2914z00_805;obj_t BgL_arg2915z00_806;
BgL_arg2914z00_805 = 
BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00(); 
BgL_arg2915z00_806 = 
CNST_TABLE_REF(((long)11)); 
BgL_globalsz00_802 = BgL_arg2914z00_805; 
BgL_initza2za2_803 = BgL_arg2915z00_806; 
BgL_loopz00_804:
{ /* ./Module/eval.scm 114 */
bool_t BgL_test2918z00_807;
BgL_test2918z00_807 = 
NULLP(BgL_globalsz00_802); 
if(BgL_test2918z00_807)
{ /* ./Module/eval.scm 115 */
obj_t BgL_arg2920z00_808;obj_t BgL_arg2921z00_809;
BgL_arg2920z00_808 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Module/eval.scm 115 */
obj_t BgL_arg2924z00_810;
BgL_arg2924z00_810 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_initza2za2_803); 
BgL_arg2921z00_809 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg2924z00_810, BNIL); } 
return 
MAKE_PAIR(BgL_arg2920z00_808, BgL_arg2921z00_809);}  else 
{ /* ./Module/eval.scm 116 */
obj_t BgL_gz00_812;
BgL_gz00_812 = 
CAR(BgL_globalsz00_802); 
BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(BgL_gz00_812); 
{ /* ./Module/eval.scm 118 */
obj_t BgL_arg2930z00_813;obj_t BgL_arg2931z00_814;
BgL_arg2930z00_813 = 
CDR(BgL_globalsz00_802); 
{ /* ./Module/eval.scm 120 */
BgL_nodez00_bglt BgL_arg2935z00_815;
{ /* ./Module/eval.scm 120 */
bool_t BgL_test2937z00_816;
{ /* ./Module/eval.scm 120 */
BgL_valuez00_bglt BgL_arg2955z00_821;
{ /* ./Module/eval.scm 120 */
BgL_variablez00_bglt BgL_obj1100z00_1328;
BgL_obj1100z00_1328 = 
(BgL_variablez00_bglt)(BgL_gz00_812); 
BgL_arg2955z00_821 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1328))->BgL_valuez00); } 
{ /* ./Module/eval.scm 120 */
obj_t BgL_obj1499z00_1329;
BgL_obj1499z00_1329 = 
(obj_t)(BgL_arg2955z00_821); 
BgL_test2937z00_816 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1499z00_1329, BGl_svarz00zzast_varz00); } } 
if(BgL_test2937z00_816)
{ /* ./Module/eval.scm 120 */
{ /* ./Module/eval.scm 121 */
BgL_variablez00_bglt BgL_obj1105z00_1330;obj_t BgL_val1104z00_1331;
BgL_obj1105z00_1330 = 
(BgL_variablez00_bglt)(BgL_gz00_812); 
BgL_val1104z00_1331 = 
CNST_TABLE_REF(((long)10)); 
((((BgL_variablez00_bglt)CREF(BgL_obj1105z00_1330))->BgL_accessz00) = ((obj_t)BgL_val1104z00_1331), BUNSPEC); } 
{ /* ./Module/eval.scm 123 */
BgL_nodez00_bglt BgL_arg2940z00_817;
BgL_arg2940z00_817 = 
BGl_locationzd2ze3nodez31zzast_sexpz00(
(BgL_globalz00_bglt)(BgL_gz00_812)); 
BgL_arg2935z00_815 = 
BGl_definezd2primopzd2refzd2ze3nodez31zzast_sexpz00(
(BgL_globalz00_bglt)(BgL_gz00_812), BgL_arg2940z00_817); } }  else 
{ /* ./Module/eval.scm 124 */
bool_t BgL_test2943z00_818;
{ /* ./Module/eval.scm 124 */
BgL_valuez00_bglt BgL_arg2951z00_820;
{ /* ./Module/eval.scm 124 */
BgL_variablez00_bglt BgL_obj1100z00_1332;
BgL_obj1100z00_1332 = 
(BgL_variablez00_bglt)(BgL_gz00_812); 
BgL_arg2951z00_820 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1332))->BgL_valuez00); } 
{ /* ./Module/eval.scm 124 */
obj_t BgL_obj1519z00_1333;
BgL_obj1519z00_1333 = 
(obj_t)(BgL_arg2951z00_820); 
BgL_test2943z00_818 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1519z00_1333, BGl_scnstz00zzast_varz00); } } 
if(BgL_test2943z00_818)
{ /* ./Module/eval.scm 124 */
{ /* ./Module/eval.scm 126 */
BgL_nodez00_bglt BgL_arg2946z00_819;
BgL_arg2946z00_819 = 
BGl_locationzd2ze3nodez31zzast_sexpz00(
(BgL_globalz00_bglt)(BgL_gz00_812)); 
BgL_arg2935z00_815 = 
BGl_definezd2primopzd2refzd2ze3nodez31zzast_sexpz00(
(BgL_globalz00_bglt)(BgL_gz00_812), BgL_arg2946z00_819); } }  else 
{ /* ./Module/eval.scm 124 */
BgL_arg2935z00_815 = 
BGl_definezd2primopzd2ze3nodeze3zzast_sexpz00(
(BgL_globalz00_bglt)(BgL_gz00_812)); } } } 
{ /* ./Module/eval.scm 119 */
obj_t BgL_auxz00_1639;
BgL_auxz00_1639 = 
(obj_t)(BgL_arg2935z00_815); 
BgL_arg2931z00_814 = 
MAKE_PAIR(BgL_auxz00_1639, BgL_initza2za2_803); } } 
{ 
obj_t BgL_initza2za2_1643;obj_t BgL_globalsz00_1642;
BgL_globalsz00_1642 = BgL_arg2930z00_813; 
BgL_initza2za2_1643 = BgL_arg2931z00_814; 
BgL_initza2za2_803 = BgL_initza2za2_1643; 
BgL_globalsz00_802 = BgL_globalsz00_1642; 
goto BgL_loopz00_804;} } } } } } } } 
}



/* set-eval-types! */
obj_t BGl_setzd2evalzd2typesz12z12zzmodule_evalz00(obj_t BgL_globalz00_25)
{ AN_OBJECT;
{ /* ./Module/eval.scm 139 */
{ /* ./Module/eval.scm 140 */
BgL_valuez00_bglt BgL_valz00_823;
{ /* ./Module/eval.scm 140 */
BgL_variablez00_bglt BgL_obj1100z00_1361;
BgL_obj1100z00_1361 = 
(BgL_variablez00_bglt)(BgL_globalz00_25); 
BgL_valz00_823 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1361))->BgL_valuez00); } 
{ /* ./Module/eval.scm 141 */
bool_t BgL_test2960z00_824;
{ /* ./Module/eval.scm 141 */
obj_t BgL_obj1425z00_1362;
BgL_obj1425z00_1362 = 
(obj_t)(BgL_valz00_823); 
BgL_test2960z00_824 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1425z00_1362, BGl_sfunz00zzast_varz00); } 
if(BgL_test2960z00_824)
{ /* ./Module/eval.scm 141 */
return BFALSE;}  else 
{ /* ./Module/eval.scm 142 */
BgL_typez00_bglt BgL_typez00_825;
{ /* ./Module/eval.scm 142 */
BgL_variablez00_bglt BgL_obj1097z00_1363;
BgL_obj1097z00_1363 = 
(BgL_variablez00_bglt)(BgL_globalz00_25); 
BgL_typez00_825 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1363))->BgL_typez00); } 
{ /* ./Module/eval.scm 144 */
bool_t BgL_test2961z00_826;
{ /* ./Module/eval.scm 144 */
obj_t BgL_auxz00_1651;
BgL_auxz00_1651 = 
(obj_t)(BgL_typez00_825); 
BgL_test2961z00_826 = 
(BgL_auxz00_1651==BGl_za2_za2z00zztype_cachez00); } 
if(BgL_test2961z00_826)
{ /* ./Module/eval.scm 144 */
{ /* ./Module/eval.scm 145 */
BgL_variablez00_bglt BgL_obj1099z00_1364;BgL_typez00_bglt BgL_val1098z00_1365;
BgL_obj1099z00_1364 = 
(BgL_variablez00_bglt)(BgL_globalz00_25); 
BgL_val1098z00_1365 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
return 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1364))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1365), BUNSPEC);} }  else 
{ /* ./Module/eval.scm 146 */
bool_t BgL_test2963z00_827;
BgL_test2963z00_827 = 
BGl_bigloozd2typezf3z21zztype_typez00(BgL_typez00_825); 
if(BgL_test2963z00_827)
{ /* ./Module/eval.scm 146 */
return BFALSE;}  else 
{ /* ./Module/eval.scm 146 */
{ /* ./Module/eval.scm 147 */
obj_t BgL_arg2967z00_830;
{ /* ./Module/eval.scm 149 */
BgL_variablez00_bglt BgL_obj1093z00_1366;
BgL_obj1093z00_1366 = 
(BgL_variablez00_bglt)(BgL_globalz00_25); 
BgL_arg2967z00_830 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1366))->BgL_idz00); } 
FAILURE(BGl_string3480z00zzmodule_evalz00,BGl_string3481z00zzmodule_evalz00,BgL_arg2967z00_830);} } } } } } } } 
}



/* get-evaluated-globals */
obj_t BGl_getzd2evaluatedzd2globalsz00zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 154 */
{ /* ./Module/eval.scm 155 */
obj_t BgL_globalsz00_831;
BgL_globalsz00_831 = 
MAKE_CELL(BNIL); 
{ /* ./Module/eval.scm 156 */
bool_t BgL_test2975z00_832;
if(
CBOOL(BGl_za2allzd2evalzf3za2z21zzmodule_evalz00))
{ /* ./Module/eval.scm 156 */
BgL_test2975z00_832 = ((bool_t)1); }  else 
{ /* ./Module/eval.scm 156 */
if(
CBOOL(BGl_za2allzd2exportzd2evalzf3za2zf3zzmodule_evalz00))
{ /* ./Module/eval.scm 156 */
BgL_test2975z00_832 = ((bool_t)1); }  else 
{ /* ./Module/eval.scm 156 */
BgL_test2975z00_832 = 
CBOOL(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00); } } 
if(BgL_test2975z00_832)
{ /* ./Module/eval.scm 157 */
obj_t BgL_scopezd2lstzd2_833;
if(
CBOOL(BGl_za2allzd2evalzf3za2z21zzmodule_evalz00))
{ /* ./Module/eval.scm 158 */
BgL_scopezd2lstzd2_833 = 
CNST_TABLE_REF(((long)12)); }  else 
{ /* ./Module/eval.scm 158 */
if(
CBOOL(BGl_za2allzd2modulezd2evalzf3za2zf3zzmodule_evalz00))
{ /* ./Module/eval.scm 159 */
BgL_scopezd2lstzd2_833 = 
CNST_TABLE_REF(((long)13)); }  else 
{ /* ./Module/eval.scm 159 */
BgL_scopezd2lstzd2_833 = 
CNST_TABLE_REF(((long)14)); } } 
{ /* ./Module/eval.scm 163 */
obj_t BgL_zc3anonymousza32979ze3z83_1411;
{ 
int BgL_auxz00_1678;int BgL_auxz00_1676;
BgL_auxz00_1678 = 
(int)(((long)2)); 
BgL_auxz00_1676 = 
(int)(((long)1)); 
BgL_zc3anonymousza32979ze3z83_1411 = 
make_fx_procedure(BGl_zc3anonymousza32979ze3z83zzmodule_evalz00, BgL_auxz00_1676, BgL_auxz00_1678); } 
{ /* ./Module/eval.scm 163 */
int BgL_auxz00_1681;
BgL_auxz00_1681 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32979ze3z83_1411, BgL_auxz00_1681, BgL_scopezd2lstzd2_833); } 
{ /* ./Module/eval.scm 163 */
int BgL_auxz00_1684;
BgL_auxz00_1684 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32979ze3z83_1411, BgL_auxz00_1684, BgL_globalsz00_831); } 
BGl_forzd2eachzd2globalz12z12zzast_envz00(BgL_zc3anonymousza32979ze3z83_1411); } }  else 
{ /* ./Module/eval.scm 156 */BFALSE; } } 
{ 
obj_t BgL_evalzd2exportedzd2_844;obj_t BgL_resz00_845;
BgL_evalzd2exportedzd2_844 = BGl_za2evalzd2exportedza2zd2zzmodule_evalz00; 
BgL_resz00_845 = 
CELL_REF(BgL_globalsz00_831); 
BgL_loopz00_846:
{ /* ./Module/eval.scm 169 */
bool_t BgL_test2992z00_847;
BgL_test2992z00_847 = 
NULLP(BgL_evalzd2exportedzd2_844); 
if(BgL_test2992z00_847)
{ /* ./Module/eval.scm 169 */
return BgL_resz00_845;}  else 
{ /* ./Module/eval.scm 171 */
obj_t BgL_varze2moduleze2posz00_848;
BgL_varze2moduleze2posz00_848 = 
CAR(BgL_evalzd2exportedzd2_844); 
{ /* ./Module/eval.scm 172 */
obj_t BgL_gz00_849;
{ /* ./Module/eval.scm 172 */
obj_t BgL_arg3047z00_872;obj_t BgL_arg3048z00_873;
BgL_arg3047z00_872 = 
CAR(BgL_varze2moduleze2posz00_848); 
{ /* ./Module/eval.scm 173 */
obj_t BgL_auxz00_1692;
BgL_auxz00_1692 = 
CDR(BgL_varze2moduleze2posz00_848); 
BgL_arg3048z00_873 = 
CAR(BgL_auxz00_1692); } 
BgL_gz00_849 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_arg3047z00_872, BgL_arg3048z00_873); } 
{ /* ./Module/eval.scm 175 */
bool_t BgL_test2993z00_850;
BgL_test2993z00_850 = 
BGl_iszd2azf3z21zz__objectz00(BgL_gz00_849, BGl_globalz00zzast_varz00); 
if(BgL_test2993z00_850)
{ /* ./Module/eval.scm 183 */
bool_t BgL_test2994z00_851;
if(
CBOOL(BGl_za2libzd2modeza2zd2zzengine_paramz00))
{ /* ./Module/eval.scm 183 */
BgL_test2994z00_851 = ((bool_t)0); }  else 
{ /* ./Module/eval.scm 183 */
BgL_globalz00_bglt BgL_obj1174z00_1381;
BgL_obj1174z00_1381 = 
(BgL_globalz00_bglt)(BgL_gz00_849); 
BgL_test2994z00_851 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1174z00_1381))->BgL_libraryzf3zf3); } 
if(BgL_test2994z00_851)
{ /* ./Module/eval.scm 183 */
{ /* ./Module/eval.scm 184 */
obj_t BgL_arg2996z00_852;
BgL_arg2996z00_852 = 
CDR(BgL_evalzd2exportedzd2_844); 
{ 
obj_t BgL_evalzd2exportedzd2_1704;
BgL_evalzd2exportedzd2_1704 = BgL_arg2996z00_852; 
BgL_evalzd2exportedzd2_844 = BgL_evalzd2exportedzd2_1704; 
goto BgL_loopz00_846;} } }  else 
{ /* ./Module/eval.scm 185 */
bool_t BgL_test2999z00_853;
{ /* ./Module/eval.scm 185 */
BgL_globalz00_bglt BgL_obj1171z00_1383;
BgL_obj1171z00_1383 = 
(BgL_globalz00_bglt)(BgL_gz00_849); 
BgL_test2999z00_853 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1171z00_1383))->BgL_evaluablezf3zf3); } 
if(BgL_test2999z00_853)
{ /* ./Module/eval.scm 185 */
{ /* ./Module/eval.scm 194 */
obj_t BgL_arg3001z00_854;obj_t BgL_arg3002z00_855;
BgL_arg3001z00_854 = 
CDR(BgL_evalzd2exportedzd2_844); 
BgL_arg3002z00_855 = 
MAKE_PAIR(BgL_gz00_849, BgL_resz00_845); 
{ 
obj_t BgL_resz00_1711;obj_t BgL_evalzd2exportedzd2_1710;
BgL_evalzd2exportedzd2_1710 = BgL_arg3001z00_854; 
BgL_resz00_1711 = BgL_arg3002z00_855; 
BgL_resz00_845 = BgL_resz00_1711; 
BgL_evalzd2exportedzd2_844 = BgL_evalzd2exportedzd2_1710; 
goto BgL_loopz00_846;} } }  else 
{ /* ./Module/eval.scm 185 */
{ /* ./Module/eval.scm 187 */
obj_t BgL_arg3007z00_856;obj_t BgL_arg3010z00_859;
{ /* ./Module/eval.scm 187 */
obj_t BgL_arg3016z00_862;
{ /* ./Module/eval.scm 187 */
obj_t BgL_auxz00_1712;
{ /* ./Module/eval.scm 187 */
obj_t BgL_auxz00_1713;
BgL_auxz00_1713 = 
CDR(BgL_varze2moduleze2posz00_848); 
BgL_auxz00_1712 = 
CDR(BgL_auxz00_1713); } 
BgL_arg3016z00_862 = 
CAR(BgL_auxz00_1712); } 
BgL_arg3007z00_856 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_arg3016z00_862); } 
BgL_arg3010z00_859 = 
CAR(BgL_varze2moduleze2posz00_848); 
{ /* ./Module/eval.scm 186 */
obj_t BgL_list3013z00_861;
BgL_list3013z00_861 = 
MAKE_PAIR(BNIL, BNIL); 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg3007z00_856, BGl_string3482z00zzmodule_evalz00, BGl_string3483z00zzmodule_evalz00, BgL_arg3010z00_859, BgL_list3013z00_861); } } 
{ /* ./Module/eval.scm 192 */
obj_t BgL_arg3021z00_863;
BgL_arg3021z00_863 = 
CDR(BgL_evalzd2exportedzd2_844); 
{ 
obj_t BgL_evalzd2exportedzd2_1722;
BgL_evalzd2exportedzd2_1722 = BgL_arg3021z00_863; 
BgL_evalzd2exportedzd2_844 = BgL_evalzd2exportedzd2_1722; 
goto BgL_loopz00_846;} } } } }  else 
{ /* ./Module/eval.scm 175 */
{ /* ./Module/eval.scm 177 */
obj_t BgL_arg3027z00_864;obj_t BgL_arg3030z00_867;
{ /* ./Module/eval.scm 177 */
obj_t BgL_arg3036z00_870;
{ /* ./Module/eval.scm 177 */
obj_t BgL_auxz00_1723;
{ /* ./Module/eval.scm 177 */
obj_t BgL_auxz00_1724;
BgL_auxz00_1724 = 
CDR(BgL_varze2moduleze2posz00_848); 
BgL_auxz00_1723 = 
CDR(BgL_auxz00_1724); } 
BgL_arg3036z00_870 = 
CAR(BgL_auxz00_1723); } 
BgL_arg3027z00_864 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_arg3036z00_870); } 
BgL_arg3030z00_867 = 
CAR(BgL_varze2moduleze2posz00_848); 
{ /* ./Module/eval.scm 176 */
obj_t BgL_list3033z00_869;
BgL_list3033z00_869 = 
MAKE_PAIR(BNIL, BNIL); 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg3027z00_864, BGl_string3482z00zzmodule_evalz00, BGl_string3484z00zzmodule_evalz00, BgL_arg3030z00_867, BgL_list3033z00_869); } } 
{ /* ./Module/eval.scm 182 */
obj_t BgL_arg3041z00_871;
BgL_arg3041z00_871 = 
CDR(BgL_evalzd2exportedzd2_844); 
{ 
obj_t BgL_evalzd2exportedzd2_1733;
BgL_evalzd2exportedzd2_1733 = BgL_arg3041z00_871; 
BgL_evalzd2exportedzd2_844 = BgL_evalzd2exportedzd2_1733; 
goto BgL_loopz00_846;} } } } } } } } } } 
}



/* <anonymous:2979> */
obj_t BGl_zc3anonymousza32979ze3z83zzmodule_evalz00(obj_t BgL_envz00_1412, obj_t BgL_gz00_1415)
{ AN_OBJECT;
{ /* ./Module/eval.scm 162 */
{ /* ./Module/eval.scm 163 */
obj_t BgL_scopezd2lstzd2_1413;obj_t BgL_globalsz00_1414;
{ /* ./Module/eval.scm 163 */
int BgL_auxz00_1734;
BgL_auxz00_1734 = 
(int)(((long)0)); 
BgL_scopezd2lstzd2_1413 = 
PROCEDURE_REF(BgL_envz00_1412, BgL_auxz00_1734); } 
{ /* ./Module/eval.scm 163 */
int BgL_auxz00_1737;
BgL_auxz00_1737 = 
(int)(((long)1)); 
BgL_globalsz00_1414 = 
PROCEDURE_REF(BgL_envz00_1412, BgL_auxz00_1737); } 
{ 
obj_t BgL_gz00_835;
BgL_gz00_835 = BgL_gz00_1415; 
{ /* ./Module/eval.scm 163 */
bool_t BgL_test2980z00_837;
{ /* ./Module/eval.scm 163 */
bool_t BgL_test2982z00_838;
{ /* ./Module/eval.scm 163 */
obj_t BgL_auxz00_1740;
{ /* ./Module/eval.scm 163 */
obj_t BgL_auxz00_1741;
{ /* ./Module/eval.scm 163 */
BgL_globalz00_bglt BgL_obj1168z00_1370;
BgL_obj1168z00_1370 = 
(BgL_globalz00_bglt)(BgL_gz00_835); 
BgL_auxz00_1741 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1168z00_1370))->BgL_importz00); } 
BgL_auxz00_1740 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_auxz00_1741, BgL_scopezd2lstzd2_1413); } 
BgL_test2982z00_838 = 
CBOOL(BgL_auxz00_1740); } 
if(BgL_test2982z00_838)
{ /* ./Module/eval.scm 164 */
bool_t BgL_test2983z00_839;
{ /* ./Module/eval.scm 164 */
BgL_globalz00_bglt BgL_obj1171z00_1371;
BgL_obj1171z00_1371 = 
(BgL_globalz00_bglt)(BgL_gz00_835); 
BgL_test2983z00_839 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1171z00_1371))->BgL_evaluablezf3zf3); } 
if(BgL_test2983z00_839)
{ /* ./Module/eval.scm 165 */
obj_t BgL__ortest_2685z00_840;
BgL__ortest_2685z00_840 = BGl_za2libzd2modeza2zd2zzengine_paramz00; 
if(
CBOOL(BgL__ortest_2685z00_840))
{ /* ./Module/eval.scm 165 */
BgL_test2980z00_837 = 
CBOOL(BgL__ortest_2685z00_840); }  else 
{ /* ./Module/eval.scm 165 */
bool_t BgL_testz00_1753;
{ /* ./Module/eval.scm 165 */
BgL_globalz00_bglt BgL_obj1174z00_1372;
BgL_obj1174z00_1372 = 
(BgL_globalz00_bglt)(BgL_gz00_835); 
BgL_testz00_1753 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1174z00_1372))->BgL_libraryzf3zf3); } 
if(BgL_testz00_1753)
{ /* ./Module/eval.scm 165 */
BgL_test2980z00_837 = ((bool_t)0); }  else 
{ /* ./Module/eval.scm 165 */
BgL_test2980z00_837 = ((bool_t)1); } } }  else 
{ /* ./Module/eval.scm 164 */
BgL_test2980z00_837 = ((bool_t)0); } }  else 
{ /* ./Module/eval.scm 163 */
BgL_test2980z00_837 = ((bool_t)0); } } 
if(BgL_test2980z00_837)
{ /* ./Module/eval.scm 166 */
obj_t BgL_auxz00_1416;
{ /* ./Module/eval.scm 166 */
obj_t BgL_auxz00_1757;
BgL_auxz00_1757 = 
CELL_REF(BgL_globalsz00_1414); 
BgL_auxz00_1416 = 
MAKE_PAIR(BgL_gz00_835, BgL_auxz00_1757); } 
return 
CELL_SET(BgL_globalsz00_1414, BgL_auxz00_1416);}  else 
{ /* ./Module/eval.scm 163 */
return BFALSE;} } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_evalz00()
{ AN_OBJECT;
{ /* ./Module/eval.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "module_eval"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "module_eval"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "module_eval"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_eval"); 
BGl_modulezd2initializa7ationz75zzmodule_includez00(((long)1783), "module_eval"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_eval"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "module_eval"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_eval"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "module_eval"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "module_eval"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "module_eval"); 
BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(((long)31087), "module_eval"); 
return 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "module_eval");} 
}

