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


static obj_t BGl_methodzd2initzd2zzast_glozd2declzd2();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern long BGl_arityz00zztools_argsz00(obj_t);
static obj_t BGl__declarezd2globalzd2scnstz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(obj_t, obj_t, obj_t);
extern obj_t BGl_za2_za2z00zztype_cachez00;
static obj_t BGl__declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2bdbzd2debugza2zd2zzengine_paramz00;
static obj_t BGl_cnstzd2initzd2zzast_glozd2declzd2();
extern BgL_typez00_bglt BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(obj_t, obj_t, obj_t);
extern BgL_typez00_bglt BGl_typezd2ofzd2idzf2importzd2locationz20zzast_identz00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzast_glozd2declzd2();
static obj_t BGl__declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t);
extern BgL_cfunz00_bglt BGl_makezd2cfunzd2zzast_varz00(long, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t, obj_t, bool_t, bool_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_argsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_dssslz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(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 *);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2globalzd2zzast_envz00(obj_t, obj_t);
extern BgL_cvarz00_bglt BGl_makezd2cvarzd2zzast_varz00(bool_t);
extern BgL_scnstz00_bglt BGl_makezd2scnstzd2zzast_varz00(obj_t, obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
extern obj_t BGl_dssslzd2formalszd2encodingz00zztools_dssslz00(obj_t);
extern BgL_globalz00_bglt BGl_bindzd2globalz12zc0zzast_envz00(obj_t, obj_t, BgL_valuez00_bglt, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_declarezd2globalzd2scnstz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern BgL_sfunz00_bglt BGl_makezd2sfunzd2zzast_varz00(long, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_glozd2declzd2 = BUNSPEC;
static obj_t BGl__declarezd2globalzd2cvarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_parsezd2idzd2zzast_identz00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_glozd2declzd2();
BGL_EXPORTED_DECL BgL_globalz00_bglt BGl_declarezd2globalzd2cvarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, bool_t, obj_t, obj_t);
extern obj_t BGl_dssslzd2namedzd2constantzf3zf3zztools_dssslz00(obj_t);
extern BgL_svarz00_bglt BGl_makezd2svarzd2zzast_varz00(obj_t);
extern obj_t BGl_argsza2zd2ze3argszd2listz41zztools_argsz00(obj_t);
static obj_t __cnst[ 9 ] ;


DEFINE_STRING( BGl_string3268z00zzast_glozd2declzd2, BgL_bgl_string3268za700za7za7ast_gloza7d2declza7d23293za7, "foreign a-cnst write read (export import) bigloo sgfun export static ", 69 );
DEFINE_STRING( BGl_string3267z00zzast_glozd2declzd2, BgL_bgl_string3267za700za7za7ast_gloza7d2declza7d23294za7, "Illegal type for global variable", 32 );
DEFINE_STRING( BGl_string3266z00zzast_glozd2declzd2, BgL_bgl_string3266za700za7za7ast_gloza7d2declza7d23295za7, "Illegal nary argument type", 26 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2globalzd2sfunz12zd2envzc0zzast_glozd2declzd2, BgL_bgl__declareza7d2globalza7d2sfunza712za712za7za7ast_gloza7d2declza7d23296z00, BGl__declarezd2globalzd2sfunz12z12zzast_glozd2declzd2, 0L, 7 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2globalzd2cfunz12zd2envzc0zzast_glozd2declzd2, BgL_bgl__declareza7d2globalza7d2cfunza712za712za7za7ast_gloza7d2declza7d23297z00, BGl__declarezd2globalzd2cfunz12z12zzast_glozd2declzd2, 0L, 8 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2globalzd2svarz12zd2envzc0zzast_glozd2declzd2, BgL_bgl__declareza7d2globalza7d2svarza712za712za7za7ast_gloza7d2declza7d23298z00, BGl__declarezd2globalzd2svarz12z12zzast_glozd2declzd2, 0L, 5 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2globalzd2cvarz12zd2envzc0zzast_glozd2declzd2, BgL_bgl__declareza7d2globalza7d2cvarza712za712za7za7ast_gloza7d2declza7d23299z00, BGl__declarezd2globalzd2cvarz12z12zzast_glozd2declzd2, 0L, 6 );
DEFINE_EXPORT_PROCEDURE( BGl_declarezd2globalzd2scnstz12zd2envzc0zzast_glozd2declzd2, BgL_bgl__declareza7d2globalza7d2scnstza712za712za7za7ast_gloza7d2declza7d23300z00, BGl__declarezd2globalzd2scnstz12z12zzast_glozd2declzd2, 0L, 6 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(long BgL_checksumz00_1285, char * BgL_fromz00_1286)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_glozd2declzd2))
{ 
BGl_requirezd2initializa7ationz75zzast_glozd2declzd2 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_glozd2declzd2(); 
BGl_cnstzd2initzd2zzast_glozd2declzd2(); 
BGl_importedzd2moduleszd2initz00zzast_glozd2declzd2(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_glozd2declzd2()
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 17 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_glo-decl"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_glozd2declzd2()
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 17 */
{ /* ./Ast/glo-decl.scm 17 */
obj_t BgL_cportz00_1278;
BgL_cportz00_1278 = 
open_input_string(BGl_string3268z00zzast_glozd2declzd2); 
{ 
long BgL_iz00_1279;
BgL_iz00_1279 = ((long)8); 
BgL_loopz00_1280:
{ /* ./Ast/glo-decl.scm 17 */
bool_t BgL_test3270z00_1281;
BgL_test3270z00_1281 = 
(BgL_iz00_1279==((long)-1)); 
if(BgL_test3270z00_1281)
{ /* ./Ast/glo-decl.scm 17 */
return BUNSPEC;}  else 
{ /* ./Ast/glo-decl.scm 17 */
{ /* ./Ast/glo-decl.scm 17 */
obj_t BgL_arg3272z00_1282;
{ /* ./Ast/glo-decl.scm 17 */
obj_t BgL_list3275z00_1283;
BgL_list3275z00_1283 = 
MAKE_PAIR(BgL_cportz00_1278, BNIL); 
BgL_arg3272z00_1282 = 
BGl_readz00zz__readerz00(BgL_list3275z00_1283); } 
{ /* ./Ast/glo-decl.scm 17 */
int BgL_auxz00_1300;
BgL_auxz00_1300 = 
(int)(BgL_iz00_1279); 
CNST_TABLE_SET(BgL_auxz00_1300, BgL_arg3272z00_1282); } } 
{ /* ./Ast/glo-decl.scm 17 */
int BgL_auxz00_1284;
{ /* ./Ast/glo-decl.scm 17 */
long BgL_auxz00_1303;
BgL_auxz00_1303 = 
(BgL_iz00_1279-((long)1)); 
BgL_auxz00_1284 = 
(int)(BgL_auxz00_1303); } 
{ 
long BgL_iz00_1306;
BgL_iz00_1306 = 
(long)(BgL_auxz00_1284); 
BgL_iz00_1279 = BgL_iz00_1306; 
goto BgL_loopz00_1280;} } } } } } } 
}



/* declare-global-sfun! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(obj_t BgL_idz00_1, obj_t BgL_argsz00_2, obj_t BgL_modulez00_3, obj_t BgL_importz00_4, obj_t BgL_classz00_5, obj_t BgL_srczd2expzd2_6, obj_t BgL_srczd2importzd2_7)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 74 */
{ /* ./Ast/glo-decl.scm 77 */
long BgL_arityz00_700;
BgL_arityz00_700 = 
BGl_arityz00zztools_argsz00(BgL_argsz00_2); 
{ /* ./Ast/glo-decl.scm 77 */
obj_t BgL_argsz00_701;
BgL_argsz00_701 = 
BGl_argsza2zd2ze3argszd2listz41zztools_argsz00(BgL_argsz00_2); 
{ /* ./Ast/glo-decl.scm 78 */
bool_t BgL_exportzf3zf3_702;
{ /* ./Ast/glo-decl.scm 79 */
bool_t BgL__ortest_2682z00_750;
{ /* ./Ast/glo-decl.scm 79 */
bool_t BgL_testz00_1310;
{ /* ./Ast/glo-decl.scm 79 */
obj_t BgL_auxz00_1311;
BgL_auxz00_1311 = 
CNST_TABLE_REF(((long)0)); 
BgL_testz00_1310 = 
(BgL_importz00_4==BgL_auxz00_1311); } 
if(BgL_testz00_1310)
{ /* ./Ast/glo-decl.scm 79 */
BgL__ortest_2682z00_750 = ((bool_t)0); }  else 
{ /* ./Ast/glo-decl.scm 79 */
BgL__ortest_2682z00_750 = ((bool_t)1); } } 
if(BgL__ortest_2682z00_750)
{ /* ./Ast/glo-decl.scm 79 */
BgL_exportzf3zf3_702 = BgL__ortest_2682z00_750; }  else 
{ /* ./Ast/glo-decl.scm 80 */
long BgL_n1z00_1181;
BgL_n1z00_1181 = 
(long)CINT(BGl_za2bdbzd2debugza2zd2zzengine_paramz00); 
BgL_exportzf3zf3_702 = 
(BgL_n1z00_1181>=((long)3)); } } 
{ /* ./Ast/glo-decl.scm 79 */
obj_t BgL_importz00_703;
{ /* ./Ast/glo-decl.scm 81 */
bool_t BgL_test2767z00_748;
{ /* ./Ast/glo-decl.scm 81 */
bool_t BgL_test2768z00_749;
{ /* ./Ast/glo-decl.scm 81 */
obj_t BgL_auxz00_1317;
BgL_auxz00_1317 = 
CNST_TABLE_REF(((long)0)); 
BgL_test2768z00_749 = 
(BgL_importz00_4==BgL_auxz00_1317); } 
if(BgL_test2768z00_749)
{ /* ./Ast/glo-decl.scm 82 */
long BgL_n1z00_1183;
BgL_n1z00_1183 = 
(long)CINT(BGl_za2bdbzd2debugza2zd2zzengine_paramz00); 
BgL_test2767z00_748 = 
(BgL_n1z00_1183>=((long)3)); }  else 
{ /* ./Ast/glo-decl.scm 81 */
BgL_test2767z00_748 = ((bool_t)0); } } 
if(BgL_test2767z00_748)
{ /* ./Ast/glo-decl.scm 81 */
BgL_importz00_703 = 
CNST_TABLE_REF(((long)1)); }  else 
{ /* ./Ast/glo-decl.scm 81 */
BgL_importz00_703 = BgL_importz00_4; } } 
{ /* ./Ast/glo-decl.scm 81 */
obj_t BgL_locz00_704;
BgL_locz00_704 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2expzd2_6); 
{ /* ./Ast/glo-decl.scm 85 */
obj_t BgL_lociz00_705;
BgL_lociz00_705 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2importzd2_7, BgL_locz00_704); 
{ /* ./Ast/glo-decl.scm 86 */
obj_t BgL_keywordsz00_706;
BgL_keywordsz00_706 = BNIL; 
{ /* ./Ast/glo-decl.scm 87 */
obj_t BgL_argszd2typezd2_707;
{ 
obj_t BgL_argsz00_721;obj_t BgL_resz00_722;bool_t BgL_sgfunzf3zf3_723;
{ /* ./Ast/glo-decl.scm 89 */
bool_t BgL_arg2715z00_726;
{ /* ./Ast/glo-decl.scm 90 */
obj_t BgL_auxz00_1327;
BgL_auxz00_1327 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg2715z00_726 = 
(BgL_classz00_5==BgL_auxz00_1327); } 
BgL_argsz00_721 = BgL_argsz00_701; 
BgL_resz00_722 = BNIL; 
BgL_sgfunzf3zf3_723 = BgL_arg2715z00_726; 
BgL_loopz00_724:
{ /* ./Ast/glo-decl.scm 92 */
bool_t BgL_test2718z00_727;
BgL_test2718z00_727 = 
NULLP(BgL_argsz00_721); 
if(BgL_test2718z00_727)
{ /* ./Ast/glo-decl.scm 92 */
{ /* ./Ast/glo-decl.scm 93 */
bool_t BgL_test2719z00_728;
BgL_test2719z00_728 = 
(BgL_arityz00_700>=((long)0)); 
if(BgL_test2719z00_728)
{ /* ./Ast/glo-decl.scm 93 */
BgL_argszd2typezd2_707 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_resz00_722); }  else 
{ /* ./Ast/glo-decl.scm 95 */
obj_t BgL_typez00_729;
BgL_typez00_729 = 
CAR(BgL_resz00_722); 
{ /* ./Ast/glo-decl.scm 97 */
bool_t BgL_test2721z00_730;
BgL_test2721z00_730 = 
(BgL_typez00_729==BGl_za2objza2z00zztype_cachez00); 
if(BgL_test2721z00_730)
{ /* ./Ast/glo-decl.scm 97 */
BgL_argszd2typezd2_707 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_resz00_722); }  else 
{ /* ./Ast/glo-decl.scm 99 */
bool_t BgL_test2723z00_731;
BgL_test2723z00_731 = 
(BgL_typez00_729==BGl_za2_za2z00zztype_cachez00); 
if(BgL_test2723z00_731)
{ /* ./Ast/glo-decl.scm 99 */
{ /* ./Ast/glo-decl.scm 100 */
obj_t BgL_arg2725z00_732;
{ /* ./Ast/glo-decl.scm 100 */
obj_t BgL_arg2728z00_733;
BgL_arg2728z00_733 = 
CDR(BgL_resz00_722); 
BgL_arg2725z00_732 = 
MAKE_PAIR(BGl_za2objza2z00zztype_cachez00, BgL_arg2728z00_733); } 
BgL_argszd2typezd2_707 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_arg2725z00_732); } }  else 
{ /* ./Ast/glo-decl.scm 99 */
{ /* ./Ast/glo-decl.scm 102 */
obj_t BgL_arg2733z00_735;
BgL_arg2733z00_735 = 
BGl_shapez00zztools_shapez00(BgL_typez00_729); 
BgL_argszd2typezd2_707 = 
BGl_userzd2errorzd2zztools_errorz00(BgL_idz00_1, BGl_string3266z00zzast_glozd2declzd2, BgL_arg2733z00_735, BNIL); } } } } } } }  else 
{ /* ./Ast/glo-decl.scm 105 */
bool_t BgL_test2741z00_737;
{ /* ./Ast/glo-decl.scm 105 */
obj_t BgL_arg2761z00_747;
BgL_arg2761z00_747 = 
CAR(BgL_argsz00_721); 
{ /* ./Ast/glo-decl.scm 105 */
obj_t BgL_auxz00_1347;
BgL_auxz00_1347 = 
BGl_dssslzd2namedzd2constantzf3zf3zztools_dssslz00(BgL_arg2761z00_747); 
BgL_test2741z00_737 = 
CBOOL(BgL_auxz00_1347); } } 
if(BgL_test2741z00_737)
{ /* ./Ast/glo-decl.scm 105 */
BgL_keywordsz00_706 = 
BGl_dssslzd2formalszd2encodingz00zztools_dssslz00(BgL_argsz00_721); 
{ /* ./Ast/glo-decl.scm 107 */
obj_t BgL_arg2744z00_738;
BgL_arg2744z00_738 = 
MAKE_PAIR(BGl_za2objza2z00zztype_cachez00, BgL_resz00_722); 
BgL_argszd2typezd2_707 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_arg2744z00_738); } }  else 
{ /* ./Ast/glo-decl.scm 105 */
{ /* ./Ast/glo-decl.scm 109 */
obj_t BgL_typez00_739;
{ /* ./Ast/glo-decl.scm 109 */
BgL_typez00_bglt BgL_tz00_742;
{ /* ./Ast/glo-decl.scm 110 */
obj_t BgL_arg2757z00_746;
BgL_arg2757z00_746 = 
CAR(BgL_argsz00_721); 
BgL_tz00_742 = 
BGl_typezd2ofzd2idzf2importzd2locationz20zzast_identz00(BgL_arg2757z00_746, BgL_locz00_704, BgL_lociz00_705); } 
{ /* ./Ast/glo-decl.scm 111 */
bool_t BgL_test2753z00_743;
{ /* ./Ast/glo-decl.scm 111 */
bool_t BgL_test2754z00_744;
{ /* ./Ast/glo-decl.scm 111 */
obj_t BgL_auxz00_1356;
BgL_auxz00_1356 = 
(obj_t)(BgL_tz00_742); 
BgL_test2754z00_744 = 
(BgL_auxz00_1356==BGl_za2_za2z00zztype_cachez00); } 
if(BgL_test2754z00_744)
{ /* ./Ast/glo-decl.scm 111 */
if(BgL_exportzf3zf3_702)
{ /* ./Ast/glo-decl.scm 112 */
BgL_test2753z00_743 = BgL_exportzf3zf3_702; }  else 
{ /* ./Ast/glo-decl.scm 112 */
BgL_test2753z00_743 = BgL_sgfunzf3zf3_723; } }  else 
{ /* ./Ast/glo-decl.scm 111 */
BgL_test2753z00_743 = ((bool_t)0); } } 
if(BgL_test2753z00_743)
{ /* ./Ast/glo-decl.scm 111 */
BgL_typez00_739 = BGl_za2objza2z00zztype_cachez00; }  else 
{ /* ./Ast/glo-decl.scm 111 */
BgL_typez00_739 = 
(obj_t)(BgL_tz00_742); } } } 
{ /* ./Ast/glo-decl.scm 115 */
obj_t BgL_arg2748z00_740;obj_t BgL_arg2749z00_741;
BgL_arg2748z00_740 = 
CDR(BgL_argsz00_721); 
BgL_arg2749z00_741 = 
MAKE_PAIR(BgL_typez00_739, BgL_resz00_722); 
{ 
bool_t BgL_sgfunzf3zf3_1367;obj_t BgL_resz00_1366;obj_t BgL_argsz00_1365;
BgL_argsz00_1365 = BgL_arg2748z00_740; 
BgL_resz00_1366 = BgL_arg2749z00_741; 
BgL_sgfunzf3zf3_1367 = ((bool_t)0); 
BgL_sgfunzf3zf3_723 = BgL_sgfunzf3zf3_1367; 
BgL_resz00_722 = BgL_resz00_1366; 
BgL_argsz00_721 = BgL_argsz00_1365; 
goto BgL_loopz00_724;} } } } } } } } 
{ /* ./Ast/glo-decl.scm 88 */
obj_t BgL_idze2typeze2_708;
BgL_idze2typeze2_708 = 
BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(BgL_idz00_1, BgL_locz00_704, BgL_lociz00_705); 
{ /* ./Ast/glo-decl.scm 118 */
obj_t BgL_typezd2reszd2_709;
BgL_typezd2reszd2_709 = 
CDR(BgL_idze2typeze2_708); 
{ /* ./Ast/glo-decl.scm 119 */
obj_t BgL_idz00_710;
BgL_idz00_710 = 
CAR(BgL_idze2typeze2_708); 
{ /* ./Ast/glo-decl.scm 120 */
BgL_sfunz00_bglt BgL_sfunz00_711;
{ /* ./Ast/glo-decl.scm 121 */
long BgL_arg2704z00_716;obj_t BgL_arg2706z00_718;obj_t BgL_arg2707z00_719;obj_t BgL_arg2708z00_720;
BgL_arg2704z00_716 = BgL_arityz00_700; 
BgL_arg2706z00_718 = BgL_argszd2typezd2_707; 
BgL_arg2707z00_719 = BgL_classz00_5; 
BgL_arg2708z00_720 = BgL_keywordsz00_706; 
BgL_sfunz00_711 = 
BGl_makezd2sfunzd2zzast_varz00(BgL_arg2704z00_716, BUNSPEC, BFALSE, BFALSE, ((bool_t)1), BUNSPEC, BUNSPEC, BNIL, BgL_arg2706z00_718, BUNSPEC, BgL_arg2707z00_719, BgL_arg2708z00_720, BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 121 */
obj_t BgL_oldz00_712;
BgL_oldz00_712 = 
BGl_findzd2globalzd2zzast_envz00(BgL_idz00_710, BNIL); 
{ /* ./Ast/glo-decl.scm 125 */
BgL_globalz00_bglt BgL_globalz00_713;
BgL_globalz00_713 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_710, BgL_modulez00_3, 
(BgL_valuez00_bglt)(BgL_sfunz00_711), BgL_importz00_703, BgL_srczd2expzd2_6); 
{ /* ./Ast/glo-decl.scm 126 */

{ /* ./Ast/glo-decl.scm 134 */
bool_t BgL_test2695z00_714;
BgL_test2695z00_714 = 
(BgL_typezd2reszd2_709==BGl_za2_za2z00zztype_cachez00); 
if(BgL_test2695z00_714)
{ /* ./Ast/glo-decl.scm 134 */
if(BgL_exportzf3zf3_702)
{ /* ./Ast/glo-decl.scm 136 */
{ /* ./Ast/glo-decl.scm 137 */
BgL_variablez00_bglt BgL_obj1099z00_1195;BgL_typez00_bglt BgL_val1098z00_1196;
BgL_obj1099z00_1195 = 
(BgL_variablez00_bglt)(BgL_globalz00_713); 
BgL_val1098z00_1196 = 
(BgL_typez00_bglt)(BGl_za2objza2z00zztype_cachez00); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1195))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1196), BUNSPEC); } }  else 
{ /* ./Ast/glo-decl.scm 136 */
{ /* ./Ast/glo-decl.scm 139 */
BgL_variablez00_bglt BgL_obj1099z00_1197;BgL_typez00_bglt BgL_val1098z00_1198;
BgL_obj1099z00_1197 = 
(BgL_variablez00_bglt)(BgL_globalz00_713); 
BgL_val1098z00_1198 = 
(BgL_typez00_bglt)(BgL_typezd2reszd2_709); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1197))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1198), BUNSPEC); } } }  else 
{ /* ./Ast/glo-decl.scm 134 */
{ /* ./Ast/glo-decl.scm 135 */
BgL_variablez00_bglt BgL_obj1099z00_1199;BgL_typez00_bglt BgL_val1098z00_1200;
BgL_obj1099z00_1199 = 
(BgL_variablez00_bglt)(BgL_globalz00_713); 
BgL_val1098z00_1200 = 
(BgL_typez00_bglt)(BgL_typezd2reszd2_709); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1199))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1200), BUNSPEC); } } } 
return BgL_globalz00_713;} } } } } } } } } } } } } } } } 
}



/* _declare-global-sfun! */
obj_t BGl__declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(obj_t BgL_envz00_1241, obj_t BgL_idz00_1242, obj_t BgL_argsz00_1243, obj_t BgL_modulez00_1244, obj_t BgL_importz00_1245, obj_t BgL_classz00_1246, obj_t BgL_srczd2expzd2_1247, obj_t BgL_srczd2importzd2_1248)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 74 */
{ /* ./Ast/glo-decl.scm 75 */
BgL_globalz00_bglt BgL_auxz00_1387;
BgL_auxz00_1387 = 
BGl_declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(BgL_idz00_1242, BgL_argsz00_1243, BgL_modulez00_1244, BgL_importz00_1245, BgL_classz00_1246, BgL_srczd2expzd2_1247, BgL_srczd2importzd2_1248); 
return 
(obj_t)(BgL_auxz00_1387);} } 
}



/* declare-global-svar! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t BgL_idz00_8, obj_t BgL_modulez00_9, obj_t BgL_importz00_10, obj_t BgL_srczd2expzd2_11, obj_t BgL_srczd2importzd2_12)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 146 */
{ /* ./Ast/glo-decl.scm 147 */
obj_t BgL_locz00_752;
BgL_locz00_752 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2expzd2_11); 
{ /* ./Ast/glo-decl.scm 147 */
obj_t BgL_lociz00_753;
BgL_lociz00_753 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2importzd2_12, BgL_locz00_752); 
{ /* ./Ast/glo-decl.scm 148 */
obj_t BgL_idze2typeze2_754;
BgL_idze2typeze2_754 = 
BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(BgL_idz00_8, BgL_locz00_752, BgL_lociz00_753); 
{ /* ./Ast/glo-decl.scm 149 */
obj_t BgL_typez00_755;
{ /* ./Ast/glo-decl.scm 150 */
obj_t BgL_typez00_766;
BgL_typez00_766 = 
CDR(BgL_idze2typeze2_754); 
{ /* ./Ast/glo-decl.scm 154 */
bool_t BgL_test2791z00_767;
{ /* ./Ast/glo-decl.scm 154 */
obj_t BgL_auxz00_1397;obj_t BgL_auxz00_1394;
BgL_auxz00_1397 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Ast/glo-decl.scm 154 */
BgL_typez00_bglt BgL_obj1010z00_1202;
BgL_obj1010z00_1202 = 
(BgL_typez00_bglt)(BgL_typez00_766); 
BgL_auxz00_1394 = 
(((BgL_typez00_bglt)CREF(BgL_obj1010z00_1202))->BgL_classz00); } 
BgL_test2791z00_767 = 
(BgL_auxz00_1394==BgL_auxz00_1397); } 
if(BgL_test2791z00_767)
{ /* ./Ast/glo-decl.scm 159 */
bool_t BgL_test2792z00_768;
{ /* ./Ast/glo-decl.scm 159 */
bool_t BgL_test2793z00_769;
BgL_test2793z00_769 = 
(BgL_typez00_766==BGl_za2_za2z00zztype_cachez00); 
if(BgL_test2793z00_769)
{ /* ./Ast/glo-decl.scm 160 */
obj_t BgL__ortest_2685z00_770;
BgL__ortest_2685z00_770 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_importz00_10, 
CNST_TABLE_REF(((long)4))); 
if(
CBOOL(BgL__ortest_2685z00_770))
{ /* ./Ast/glo-decl.scm 160 */
BgL_test2792z00_768 = 
CBOOL(BgL__ortest_2685z00_770); }  else 
{ /* ./Ast/glo-decl.scm 161 */
long BgL_n1z00_1203;
BgL_n1z00_1203 = 
(long)CINT(BGl_za2bdbzd2debugza2zd2zzengine_paramz00); 
BgL_test2792z00_768 = 
(BgL_n1z00_1203>((long)0)); } }  else 
{ /* ./Ast/glo-decl.scm 159 */
BgL_test2792z00_768 = ((bool_t)0); } } 
if(BgL_test2792z00_768)
{ /* ./Ast/glo-decl.scm 159 */
BgL_typez00_755 = BGl_za2objza2z00zztype_cachez00; }  else 
{ /* ./Ast/glo-decl.scm 159 */
BgL_typez00_755 = BgL_typez00_766; } }  else 
{ /* ./Ast/glo-decl.scm 154 */
{ /* ./Ast/glo-decl.scm 155 */
obj_t BgL_arg2799z00_772;
BgL_arg2799z00_772 = 
BGl_shapez00zztools_shapez00(BgL_typez00_766); 
{ /* ./Ast/glo-decl.scm 155 */
obj_t BgL_list2801z00_773;
BgL_list2801z00_773 = 
MAKE_PAIR(BGl_za2_za2z00zztype_cachez00, BNIL); 
BgL_typez00_755 = 
BGl_userzd2errorzd2zztools_errorz00(BgL_idz00_8, BGl_string3267z00zzast_glozd2declzd2, BgL_arg2799z00_772, BgL_list2801z00_773); } } } } } 
{ /* ./Ast/glo-decl.scm 150 */
obj_t BgL_importz00_756;
{ /* ./Ast/glo-decl.scm 165 */
bool_t BgL_test2787z00_764;
{ /* ./Ast/glo-decl.scm 165 */
bool_t BgL_test2788z00_765;
{ /* ./Ast/glo-decl.scm 165 */
obj_t BgL_auxz00_1414;
BgL_auxz00_1414 = 
CNST_TABLE_REF(((long)0)); 
BgL_test2788z00_765 = 
(BgL_importz00_10==BgL_auxz00_1414); } 
if(BgL_test2788z00_765)
{ /* ./Ast/glo-decl.scm 166 */
long BgL_n1z00_1205;
BgL_n1z00_1205 = 
(long)CINT(BGl_za2bdbzd2debugza2zd2zzengine_paramz00); 
BgL_test2787z00_764 = 
(BgL_n1z00_1205>=((long)3)); }  else 
{ /* ./Ast/glo-decl.scm 165 */
BgL_test2787z00_764 = ((bool_t)0); } } 
if(BgL_test2787z00_764)
{ /* ./Ast/glo-decl.scm 165 */
BgL_importz00_756 = 
CNST_TABLE_REF(((long)1)); }  else 
{ /* ./Ast/glo-decl.scm 165 */
BgL_importz00_756 = BgL_importz00_10; } } 
{ /* ./Ast/glo-decl.scm 165 */
obj_t BgL_idz00_757;
BgL_idz00_757 = 
CAR(BgL_idze2typeze2_754); 
{ /* ./Ast/glo-decl.scm 169 */
BgL_svarz00_bglt BgL_svarz00_758;
BgL_svarz00_758 = 
BGl_makezd2svarzd2zzast_varz00(BUNSPEC); 
{ /* ./Ast/glo-decl.scm 170 */
obj_t BgL_oldz00_759;
BgL_oldz00_759 = 
BGl_findzd2globalzd2zzast_envz00(BgL_idz00_757, BNIL); 
{ /* ./Ast/glo-decl.scm 171 */
BgL_globalz00_bglt BgL_globalz00_760;
BgL_globalz00_760 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_757, BgL_modulez00_9, 
(BgL_valuez00_bglt)(BgL_svarz00_758), BgL_importz00_756, BgL_srczd2expzd2_11); 
{ /* ./Ast/glo-decl.scm 172 */

{ /* ./Ast/glo-decl.scm 174 */
BgL_variablez00_bglt BgL_obj1099z00_1208;BgL_typez00_bglt BgL_val1098z00_1209;
BgL_obj1099z00_1208 = 
(BgL_variablez00_bglt)(BgL_globalz00_760); 
BgL_val1098z00_1209 = 
(BgL_typez00_bglt)(BgL_typez00_755); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1208))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1209), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 176 */
obj_t BgL_arg2778z00_761;
{ /* ./Ast/glo-decl.scm 176 */
bool_t BgL_testz00_1430;
{ /* ./Ast/glo-decl.scm 176 */
obj_t BgL_auxz00_1431;
BgL_auxz00_1431 = 
CNST_TABLE_REF(((long)0)); 
BgL_testz00_1430 = 
(BgL_importz00_756==BgL_auxz00_1431); } 
if(BgL_testz00_1430)
{ /* ./Ast/glo-decl.scm 176 */
BgL_arg2778z00_761 = 
CNST_TABLE_REF(((long)5)); }  else 
{ /* ./Ast/glo-decl.scm 176 */
BgL_arg2778z00_761 = 
CNST_TABLE_REF(((long)6)); } } 
{ /* ./Ast/glo-decl.scm 176 */
BgL_variablez00_bglt BgL_obj1105z00_1210;obj_t BgL_val1104z00_1211;
BgL_obj1105z00_1210 = 
(BgL_variablez00_bglt)(BgL_globalz00_760); 
BgL_val1104z00_1211 = BgL_arg2778z00_761; 
((((BgL_variablez00_bglt)CREF(BgL_obj1105z00_1210))->BgL_accessz00) = ((obj_t)BgL_val1104z00_1211), BUNSPEC); } } 
return BgL_globalz00_760;} } } } } } } } } } } 
}



/* _declare-global-svar! */
obj_t BGl__declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t BgL_envz00_1249, obj_t BgL_idz00_1250, obj_t BgL_modulez00_1251, obj_t BgL_importz00_1252, obj_t BgL_srczd2expzd2_1253, obj_t BgL_srczd2importzd2_1254)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 146 */
{ /* ./Ast/glo-decl.scm 147 */
BgL_globalz00_bglt BgL_auxz00_1438;
BgL_auxz00_1438 = 
BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(BgL_idz00_1250, BgL_modulez00_1251, BgL_importz00_1252, BgL_srczd2expzd2_1253, BgL_srczd2importzd2_1254); 
return 
(obj_t)(BgL_auxz00_1438);} } 
}



/* declare-global-scnst! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_declarezd2globalzd2scnstz12z12zzast_glozd2declzd2(obj_t BgL_idz00_13, obj_t BgL_modulez00_14, obj_t BgL_importz00_15, obj_t BgL_nodez00_16, obj_t BgL_classz00_17, obj_t BgL_locz00_18)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 183 */
{ /* ./Ast/glo-decl.scm 184 */
obj_t BgL_idze2typeze2_776;
BgL_idze2typeze2_776 = 
BGl_parsezd2idzd2zzast_identz00(BgL_idz00_13, BgL_locz00_18); 
{ /* ./Ast/glo-decl.scm 184 */
obj_t BgL_typez00_777;
{ /* ./Ast/glo-decl.scm 185 */
obj_t BgL_typez00_783;
BgL_typez00_783 = 
CDR(BgL_idze2typeze2_776); 
{ /* ./Ast/glo-decl.scm 189 */
bool_t BgL_test2821z00_784;
BgL_test2821z00_784 = 
(BgL_typez00_783==BGl_za2_za2z00zztype_cachez00); 
if(BgL_test2821z00_784)
{ /* ./Ast/glo-decl.scm 189 */
{ /* ./Ast/glo-decl.scm 190 */
obj_t BgL_arg2824z00_786;
BgL_arg2824z00_786 = 
BGl_shapez00zztools_shapez00(BgL_typez00_783); 
BgL_typez00_777 = 
BGl_internalzd2errorzd2zztools_errorz00(BgL_idz00_13, BGl_string3267z00zzast_glozd2declzd2, BgL_arg2824z00_786); } }  else 
{ /* ./Ast/glo-decl.scm 189 */
BgL_typez00_777 = BgL_typez00_783; } } } 
{ /* ./Ast/glo-decl.scm 185 */
obj_t BgL_idz00_778;
BgL_idz00_778 = 
CAR(BgL_idze2typeze2_776); 
{ /* ./Ast/glo-decl.scm 195 */
BgL_scnstz00_bglt BgL_scnstz00_779;
{ /* ./Ast/glo-decl.scm 198 */
obj_t BgL_arg2817z00_781;obj_t BgL_arg2818z00_782;
BgL_arg2817z00_781 = BgL_nodez00_16; 
BgL_arg2818z00_782 = BgL_classz00_17; 
BgL_scnstz00_779 = 
BGl_makezd2scnstzd2zzast_varz00(BgL_arg2817z00_781, BgL_arg2818z00_782, BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 196 */
BgL_globalz00_bglt BgL_globalz00_780;
BgL_globalz00_780 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_778, BgL_modulez00_14, 
(BgL_valuez00_bglt)(BgL_scnstz00_779), BgL_importz00_15, 
CNST_TABLE_REF(((long)7))); 
{ /* ./Ast/glo-decl.scm 199 */

{ /* ./Ast/glo-decl.scm 201 */
BgL_variablez00_bglt BgL_obj1099z00_1214;BgL_typez00_bglt BgL_val1098z00_1215;
BgL_obj1099z00_1214 = 
(BgL_variablez00_bglt)(BgL_globalz00_780); 
BgL_val1098z00_1215 = 
(BgL_typez00_bglt)(BgL_typez00_777); 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1214))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1215), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 203 */
BgL_variablez00_bglt BgL_obj1105z00_1216;obj_t BgL_val1104z00_1217;
BgL_obj1105z00_1216 = 
(BgL_variablez00_bglt)(BgL_globalz00_780); 
BgL_val1104z00_1217 = 
CNST_TABLE_REF(((long)5)); 
((((BgL_variablez00_bglt)CREF(BgL_obj1105z00_1216))->BgL_accessz00) = ((obj_t)BgL_val1104z00_1217), BUNSPEC); } 
return BgL_globalz00_780;} } } } } } } 
}



/* _declare-global-scnst! */
obj_t BGl__declarezd2globalzd2scnstz12z12zzast_glozd2declzd2(obj_t BgL_envz00_1255, obj_t BgL_idz00_1256, obj_t BgL_modulez00_1257, obj_t BgL_importz00_1258, obj_t BgL_nodez00_1259, obj_t BgL_classz00_1260, obj_t BgL_locz00_1261)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 183 */
{ /* ./Ast/glo-decl.scm 184 */
BgL_globalz00_bglt BgL_auxz00_1458;
BgL_auxz00_1458 = 
BGl_declarezd2globalzd2scnstz12z12zzast_glozd2declzd2(BgL_idz00_1256, BgL_modulez00_1257, BgL_importz00_1258, BgL_nodez00_1259, BgL_classz00_1260, BgL_locz00_1261); 
return 
(obj_t)(BgL_auxz00_1458);} } 
}



/* declare-global-cfun! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(obj_t BgL_idz00_19, obj_t BgL_namez00_20, obj_t BgL_treszd2idzd2_21, obj_t BgL_targszd2idzd2_22, bool_t BgL_infixzf3zf3_23, bool_t BgL_macrozf3zf3_24, obj_t BgL_srczd2expzd2_25, obj_t BgL_srczd2importzd2_26)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 210 */
{ /* ./Ast/glo-decl.scm 211 */
long BgL_arityz00_787;
BgL_arityz00_787 = 
BGl_arityz00zztools_argsz00(BgL_targszd2idzd2_22); 
{ /* ./Ast/glo-decl.scm 211 */
obj_t BgL_locz00_788;
BgL_locz00_788 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2expzd2_25); 
{ /* ./Ast/glo-decl.scm 212 */
obj_t BgL_lociz00_789;
BgL_lociz00_789 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2importzd2_26, BgL_locz00_788); 
{ /* ./Ast/glo-decl.scm 213 */
BgL_typez00_bglt BgL_typezd2reszd2_790;
BgL_typezd2reszd2_790 = 
BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(BgL_treszd2idzd2_21, BgL_locz00_788, BgL_lociz00_789); 
{ /* ./Ast/glo-decl.scm 214 */
obj_t BgL_typezd2argszd2_791;
{ /* ./Ast/glo-decl.scm 215 */
obj_t BgL_l2688z00_799;
BgL_l2688z00_799 = 
BGl_argsza2zd2ze3argszd2listz41zztools_argsz00(BgL_targszd2idzd2_22); 
{ /* ./Ast/glo-decl.scm 215 */
bool_t BgL_test2841z00_800;
BgL_test2841z00_800 = 
NULLP(BgL_l2688z00_799); 
if(BgL_test2841z00_800)
{ /* ./Ast/glo-decl.scm 215 */
BgL_typezd2argszd2_791 = BNIL; }  else 
{ /* ./Ast/glo-decl.scm 215 */
obj_t BgL_head2690z00_801;
BgL_head2690z00_801 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2688z00_802;obj_t BgL_tail2691z00_803;
BgL_l2688z00_802 = BgL_l2688z00_799; 
BgL_tail2691z00_803 = BgL_head2690z00_801; 
BgL_map2689z00_804:
{ /* ./Ast/glo-decl.scm 215 */
bool_t BgL_test2843z00_805;
BgL_test2843z00_805 = 
NULLP(BgL_l2688z00_802); 
if(BgL_test2843z00_805)
{ /* ./Ast/glo-decl.scm 215 */
BgL_typezd2argszd2_791 = 
CDR(BgL_head2690z00_801); }  else 
{ /* ./Ast/glo-decl.scm 216 */
obj_t BgL_newtail2692z00_806;
{ /* ./Ast/glo-decl.scm 216 */
BgL_typez00_bglt BgL_arg2851z00_808;
{ /* ./Ast/glo-decl.scm 216 */
obj_t BgL_tz00_810;
BgL_tz00_810 = 
CAR(BgL_l2688z00_802); 
BgL_arg2851z00_808 = 
BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(BgL_tz00_810, BgL_locz00_788, BgL_lociz00_789); } 
{ /* ./Ast/glo-decl.scm 215 */
obj_t BgL_obj1z00_1224;
BgL_obj1z00_1224 = 
(obj_t)(BgL_arg2851z00_808); 
BgL_newtail2692z00_806 = 
MAKE_PAIR(BgL_obj1z00_1224, BNIL); } } 
SET_CDR(BgL_tail2691z00_803, BgL_newtail2692z00_806); 
{ /* ./Ast/glo-decl.scm 215 */
obj_t BgL_arg2847z00_807;
BgL_arg2847z00_807 = 
CDR(BgL_l2688z00_802); 
{ 
obj_t BgL_tail2691z00_1479;obj_t BgL_l2688z00_1478;
BgL_l2688z00_1478 = BgL_arg2847z00_807; 
BgL_tail2691z00_1479 = BgL_newtail2692z00_806; 
BgL_tail2691z00_803 = BgL_tail2691z00_1479; 
BgL_l2688z00_802 = BgL_l2688z00_1478; 
goto BgL_map2689z00_804;} } } } } } } } 
{ /* ./Ast/glo-decl.scm 215 */
BgL_cfunz00_bglt BgL_cfunz00_792;
{ /* ./Ast/glo-decl.scm 218 */
long BgL_arg2835z00_794;obj_t BgL_arg2836z00_795;bool_t BgL_arg2837z00_796;bool_t BgL_arg2838z00_797;
BgL_arg2835z00_794 = BgL_arityz00_787; 
BgL_arg2836z00_795 = BgL_typezd2argszd2_791; 
BgL_arg2837z00_796 = BgL_macrozf3zf3_24; 
BgL_arg2838z00_797 = BgL_infixzf3zf3_23; 
BgL_cfunz00_792 = 
BGl_makezd2cfunzd2zzast_varz00(BgL_arg2835z00_794, BUNSPEC, BFALSE, BFALSE, ((bool_t)1), BUNSPEC, BUNSPEC, BgL_arg2836z00_795, BgL_arg2837z00_796, BgL_arg2838z00_797, BNIL); } 
{ /* ./Ast/glo-decl.scm 218 */
BgL_globalz00_bglt BgL_globalz00_793;
BgL_globalz00_793 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_19, 
CNST_TABLE_REF(((long)8)), 
(BgL_valuez00_bglt)(BgL_cfunz00_792), 
CNST_TABLE_REF(((long)8)), BgL_srczd2expzd2_25); 
{ /* ./Ast/glo-decl.scm 222 */

{ /* ./Ast/glo-decl.scm 224 */
BgL_variablez00_bglt BgL_obj1096z00_1229;obj_t BgL_val1095z00_1230;
BgL_obj1096z00_1229 = 
(BgL_variablez00_bglt)(BgL_globalz00_793); 
BgL_val1095z00_1230 = BgL_namez00_20; 
((((BgL_variablez00_bglt)CREF(BgL_obj1096z00_1229))->BgL_namez00) = ((obj_t)BgL_val1095z00_1230), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 226 */
BgL_variablez00_bglt BgL_obj1099z00_1231;BgL_typez00_bglt BgL_val1098z00_1232;
BgL_obj1099z00_1231 = 
(BgL_variablez00_bglt)(BgL_globalz00_793); 
BgL_val1098z00_1232 = BgL_typezd2reszd2_790; 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1231))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1232), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 228 */
BgL_globalz00_bglt BgL_obj1173z00_1233;bool_t BgL_val1172z00_1234;
BgL_obj1173z00_1233 = BgL_globalz00_793; 
BgL_val1172z00_1234 = ((bool_t)0); 
((((BgL_globalz00_bglt)CREF(BgL_obj1173z00_1233))->BgL_evaluablezf3zf3) = ((bool_t)BgL_val1172z00_1234), BUNSPEC); } 
return BgL_globalz00_793;} } } } } } } } } 
}



/* _declare-global-cfun! */
obj_t BGl__declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(obj_t BgL_envz00_1262, obj_t BgL_idz00_1263, obj_t BgL_namez00_1264, obj_t BgL_treszd2idzd2_1265, obj_t BgL_targszd2idzd2_1266, obj_t BgL_infixzf3zf3_1267, obj_t BgL_macrozf3zf3_1268, obj_t BgL_srczd2expzd2_1269, obj_t BgL_srczd2importzd2_1270)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 210 */
{ /* ./Ast/glo-decl.scm 211 */
BgL_globalz00_bglt BgL_auxz00_1490;
BgL_auxz00_1490 = 
BGl_declarezd2globalzd2cfunz12z12zzast_glozd2declzd2(BgL_idz00_1263, BgL_namez00_1264, BgL_treszd2idzd2_1265, BgL_targszd2idzd2_1266, 
CBOOL(BgL_infixzf3zf3_1267), 
CBOOL(BgL_macrozf3zf3_1268), BgL_srczd2expzd2_1269, BgL_srczd2importzd2_1270); 
return 
(obj_t)(BgL_auxz00_1490);} } 
}



/* declare-global-cvar! */
BGL_EXPORTED_DEF BgL_globalz00_bglt BGl_declarezd2globalzd2cvarz12z12zzast_glozd2declzd2(obj_t BgL_idz00_27, obj_t BgL_namez00_28, obj_t BgL_typezd2idzd2_29, bool_t BgL_macrozf3zf3_30, obj_t BgL_srczd2expzd2_31, obj_t BgL_srczd2importzd2_32)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 235 */
{ /* ./Ast/glo-decl.scm 236 */
obj_t BgL_locz00_811;
BgL_locz00_811 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_srczd2expzd2_31); 
{ /* ./Ast/glo-decl.scm 236 */
obj_t BgL_lociz00_812;
BgL_lociz00_812 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srczd2importzd2_32, BgL_locz00_811); 
{ /* ./Ast/glo-decl.scm 237 */
BgL_typez00_bglt BgL_typez00_813;
BgL_typez00_813 = 
BGl_usezd2foreignzd2typezf2importzd2locz12z32zztype_envz00(BgL_typezd2idzd2_29, BgL_locz00_811, BgL_lociz00_812); 
{ /* ./Ast/glo-decl.scm 238 */
BgL_cvarz00_bglt BgL_cvarz00_814;
{ /* ./Ast/glo-decl.scm 239 */
bool_t BgL_arg2869z00_816;
BgL_arg2869z00_816 = BgL_macrozf3zf3_30; 
BgL_cvarz00_814 = 
BGl_makezd2cvarzd2zzast_varz00(BgL_arg2869z00_816); } 
{ /* ./Ast/glo-decl.scm 239 */
BgL_globalz00_bglt BgL_globalz00_815;
BgL_globalz00_815 = 
BGl_bindzd2globalz12zc0zzast_envz00(BgL_idz00_27, 
CNST_TABLE_REF(((long)8)), 
(BgL_valuez00_bglt)(BgL_cvarz00_814), 
CNST_TABLE_REF(((long)8)), BgL_srczd2expzd2_31); 
{ /* ./Ast/glo-decl.scm 240 */

{ /* ./Ast/glo-decl.scm 242 */
BgL_variablez00_bglt BgL_obj1096z00_1235;obj_t BgL_val1095z00_1236;
BgL_obj1096z00_1235 = 
(BgL_variablez00_bglt)(BgL_globalz00_815); 
BgL_val1095z00_1236 = BgL_namez00_28; 
((((BgL_variablez00_bglt)CREF(BgL_obj1096z00_1235))->BgL_namez00) = ((obj_t)BgL_val1095z00_1236), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 244 */
BgL_variablez00_bglt BgL_obj1099z00_1237;BgL_typez00_bglt BgL_val1098z00_1238;
BgL_obj1099z00_1237 = 
(BgL_variablez00_bglt)(BgL_globalz00_815); 
BgL_val1098z00_1238 = BgL_typez00_813; 
((((BgL_variablez00_bglt)CREF(BgL_obj1099z00_1237))->BgL_typez00) = ((BgL_typez00_bglt)BgL_val1098z00_1238), BUNSPEC); } 
{ /* ./Ast/glo-decl.scm 246 */
BgL_globalz00_bglt BgL_obj1173z00_1239;bool_t BgL_val1172z00_1240;
BgL_obj1173z00_1239 = BgL_globalz00_815; 
BgL_val1172z00_1240 = ((bool_t)0); 
((((BgL_globalz00_bglt)CREF(BgL_obj1173z00_1239))->BgL_evaluablezf3zf3) = ((bool_t)BgL_val1172z00_1240), BUNSPEC); } 
return BgL_globalz00_815;} } } } } } } 
}



/* _declare-global-cvar! */
obj_t BGl__declarezd2globalzd2cvarz12z12zzast_glozd2declzd2(obj_t BgL_envz00_1271, obj_t BgL_idz00_1272, obj_t BgL_namez00_1273, obj_t BgL_typezd2idzd2_1274, obj_t BgL_macrozf3zf3_1275, obj_t BgL_srczd2expzd2_1276, obj_t BgL_srczd2importzd2_1277)
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 235 */
{ /* ./Ast/glo-decl.scm 236 */
BgL_globalz00_bglt BgL_auxz00_1508;
BgL_auxz00_1508 = 
BGl_declarezd2globalzd2cvarz12z12zzast_glozd2declzd2(BgL_idz00_1272, BgL_namez00_1273, BgL_typezd2idzd2_1274, 
CBOOL(BgL_macrozf3zf3_1275), BgL_srczd2expzd2_1276, BgL_srczd2importzd2_1277); 
return 
(obj_t)(BgL_auxz00_1508);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_glozd2declzd2()
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 17 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_glozd2declzd2()
{ AN_OBJECT;
{ /* ./Ast/glo-decl.scm 17 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztools_dssslz00(((long)55629), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_glo-decl"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "ast_glo-decl"); 
return 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "ast_glo-decl");} 
}

