/*===========================================================================*/
/*   (Ast/private.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/private.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
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_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;


static obj_t BGl_methodzd2initzd2zzast_privatez00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern BgL_castz00_bglt BGl_makezd2castzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_nodez00_bglt);
static obj_t BGl__makezd2privatezd2sexpz00zzast_privatez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__privatezd2sexpzf3z21zzast_privatez00(obj_t, obj_t);
static obj_t BGl__privatezd2ze3nodez31zzast_privatez00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t bigloo_demangle(obj_t);
extern BgL_newz00_bglt BGl_makezd2newzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzast_privatez00();
extern obj_t BGl_za2unspecza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzast_privatez00();
extern BgL_setfieldz00_bglt BGl_makezd2setfieldzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt, BgL_typez00_bglt);
extern BgL_vlengthz00_bglt BGl_makezd2vlengthzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt);
extern BgL_feffectz00_bglt BGl_makezd2feffectzd2zzast_varz00(obj_t, obj_t);
BGL_IMPORT bool_t bigloo_mangledp(obj_t);
static obj_t BGl_toplevelzd2initzd2zzast_privatez00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
extern obj_t BGl_sexpza2zd2ze3nodez93zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t string_to_symbol(char *);
extern BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t, obj_t);
extern obj_t BGl_za2boolza2z00zztype_cachez00;
BGL_EXPORTED_DECL obj_t BGl_privatezd2ze3nodez31zzast_privatez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2sawza2z00zzengine_paramz00;
BGL_EXPORTED_DECL bool_t BGl_privatezd2sexpzf3z21zzast_privatez00(obj_t);
extern BgL_vsetz12z12_bglt BGl_makezd2vsetz12zc0zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt, BgL_typez00_bglt, BgL_typez00_bglt);
static obj_t BGl_za2privatezd2stampza2zd2zzast_privatez00 = BUNSPEC;
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
extern BgL_getfieldz00_bglt BGl_makezd2getfieldzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt, BgL_typez00_bglt);
extern BgL_vrefz00_bglt BGl_makezd2vrefzd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt, BgL_typez00_bglt, BgL_typez00_bglt);
BGL_EXPORTED_DECL obj_t BGl_makezd2privatezd2sexpz00zzast_privatez00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_privatez00 = BUNSPEC;
extern BgL_vallocz00_bglt BGl_makezd2valloczd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt, BgL_typez00_bglt);
extern BgL_isaz00_bglt BGl_makezd2isazd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, BgL_typez00_bglt);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_privatez00();
static obj_t __cnst[ 11 ] ;


DEFINE_STRING( BGl_string3619z00zzast_privatez00, BgL_bgl_string3619za700za7za7ast_privateza7003646z00, "___bgl_private_stamp_mark valloc vset! vref vlength isa cast new setfield getfield - ", 85 );
DEFINE_STRING( BGl_string3618z00zzast_privatez00, BgL_bgl_string3618za700za7za7ast_privateza7003647z00, "Illegal private kind", 20 );
DEFINE_STRING( BGl_string3617z00zzast_privatez00, BgL_bgl_string3617za700za7za7ast_privateza7003648z00, "private->node", 13 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2privatezd2sexpzd2envzd2zzast_privatez00, BgL_bgl__makeza7d2privateza7d2sexpza700za7za7ast_privateza7003649z00, va_generic_entry, BGl__makezd2privatezd2sexpz00zzast_privatez00, -3 );
DEFINE_EXPORT_PROCEDURE( BGl_privatezd2ze3nodezd2envze3zzast_privatez00, BgL_bgl__privateza7d2za7e3nodeza731za7za7ast_privateza7003650z00, BGl__privatezd2ze3nodez31zzast_privatez00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_privatezd2sexpzf3zd2envzf3zzast_privatez00, BgL_bgl__privateza7d2sexpza7f3za721za7za7ast_privateza7003651z00, BGl__privatezd2sexpzf3z21zzast_privatez00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(long BgL_checksumz00_1571, char * BgL_fromz00_1572)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_privatez00))
{ 
BGl_requirezd2initializa7ationz75zzast_privatez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_privatez00(); 
BGl_cnstzd2initzd2zzast_privatez00(); 
BGl_importedzd2moduleszd2initz00zzast_privatez00(); 
BGl_toplevelzd2initzd2zzast_privatez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_privatez00()
{ AN_OBJECT;
{ /* ./Ast/private.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_private"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)0), "ast_private"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "ast_private"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_privatez00()
{ AN_OBJECT;
{ /* ./Ast/private.scm 15 */
{ /* ./Ast/private.scm 15 */
obj_t BgL_cportz00_1564;
BgL_cportz00_1564 = 
open_input_string(BGl_string3619z00zzast_privatez00); 
{ 
long BgL_iz00_1565;
BgL_iz00_1565 = ((long)10); 
BgL_loopz00_1566:
{ /* ./Ast/private.scm 15 */
bool_t BgL_test3621z00_1567;
BgL_test3621z00_1567 = 
(BgL_iz00_1565==((long)-1)); 
if(BgL_test3621z00_1567)
{ /* ./Ast/private.scm 15 */
return BUNSPEC;}  else 
{ /* ./Ast/private.scm 15 */
{ /* ./Ast/private.scm 15 */
obj_t BgL_arg3623z00_1568;
{ /* ./Ast/private.scm 15 */
obj_t BgL_list3626z00_1569;
BgL_list3626z00_1569 = 
MAKE_PAIR(BgL_cportz00_1564, BNIL); 
BgL_arg3623z00_1568 = 
BGl_readz00zz__readerz00(BgL_list3626z00_1569); } 
{ /* ./Ast/private.scm 15 */
int BgL_auxz00_1588;
BgL_auxz00_1588 = 
(int)(BgL_iz00_1565); 
CNST_TABLE_SET(BgL_auxz00_1588, BgL_arg3623z00_1568); } } 
{ /* ./Ast/private.scm 15 */
int BgL_auxz00_1570;
{ /* ./Ast/private.scm 15 */
long BgL_auxz00_1591;
BgL_auxz00_1591 = 
(BgL_iz00_1565-((long)1)); 
BgL_auxz00_1570 = 
(int)(BgL_auxz00_1591); } 
{ 
long BgL_iz00_1594;
BgL_iz00_1594 = 
(long)(BgL_auxz00_1570); 
BgL_iz00_1565 = BgL_iz00_1594; 
goto BgL_loopz00_1566;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_privatez00()
{ AN_OBJECT;
{ /* ./Ast/private.scm 15 */
return ( 
BGl_za2privatezd2stampza2zd2zzast_privatez00 = BUNSPEC, BUNSPEC) ;} 
}



/* private-sexp? */
BGL_EXPORTED_DEF bool_t BGl_privatezd2sexpzf3z21zzast_privatez00(obj_t BgL_sexpz00_1)
{ AN_OBJECT;
{ /* ./Ast/private.scm 30 */
{ /* ./Ast/private.scm 31 */
obj_t BgL_arg2679z00_1359;
BgL_arg2679z00_1359 = 
CAR(BgL_sexpz00_1); 
return 
(BgL_arg2679z00_1359==BGl_za2privatezd2stampza2zd2zzast_privatez00);} } 
}



/* _private-sexp? */
obj_t BGl__privatezd2sexpzf3z21zzast_privatez00(obj_t BgL_envz00_1553, obj_t BgL_sexpz00_1554)
{ AN_OBJECT;
{ /* ./Ast/private.scm 30 */
{ /* ./Ast/private.scm 31 */
bool_t BgL_auxz00_1598;
BgL_auxz00_1598 = 
BGl_privatezd2sexpzf3z21zzast_privatez00(BgL_sexpz00_1554); 
return 
BBOOL(BgL_auxz00_1598);} } 
}



/* private->node */
BGL_EXPORTED_DEF obj_t BGl_privatezd2ze3nodez31zzast_privatez00(obj_t BgL_sexpz00_2, obj_t BgL_stackz00_3, obj_t BgL_locz00_4, obj_t BgL_sitez00_5)
{ AN_OBJECT;
{ /* ./Ast/private.scm 36 */
{ 
obj_t BgL_vtypez00_699;obj_t BgL_ftypez00_700;obj_t BgL_otypez00_701;obj_t BgL_czd2fmtzd2_702;obj_t BgL_restz00_703;obj_t BgL_vtypez00_693;obj_t BgL_ftypez00_694;obj_t BgL_otypez00_695;obj_t BgL_czd2fmtzd2_696;obj_t BgL_restz00_697;obj_t BgL_vtypez00_687;obj_t BgL_ftypez00_688;obj_t BgL_otypez00_689;obj_t BgL_czd2fmtzd2_690;obj_t BgL_expz00_691;obj_t BgL_typez00_684;obj_t BgL_expz00_685;obj_t BgL_typez00_681;obj_t BgL_expz00_682;obj_t BgL_typez00_678;obj_t BgL_restz00_679;obj_t BgL_ftypez00_673;obj_t BgL_otypez00_674;obj_t BgL_fieldzd2namezd2_675;obj_t BgL_restz00_676;obj_t BgL_ftypez00_668;obj_t BgL_otypez00_669;obj_t BgL_fieldzd2namezd2_670;obj_t BgL_objz00_671;
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2129zd2_716;
BgL_cdrzd2129zd2_716 = 
CDR(BgL_sexpz00_2); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2683z00_717;
BgL_test2683z00_717 = 
PAIRP(BgL_cdrzd2129zd2_716); 
if(BgL_test2683z00_717)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2135zd2_718;
BgL_cdrzd2135zd2_718 = 
CDR(BgL_cdrzd2129zd2_716); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2684z00_719;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1607;obj_t BgL_auxz00_1605;
BgL_auxz00_1607 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_1605 = 
CAR(BgL_cdrzd2129zd2_716); 
BgL_test2684z00_719 = 
(BgL_auxz00_1605==BgL_auxz00_1607); } 
if(BgL_test2684z00_719)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2685z00_720;
BgL_test2685z00_720 = 
PAIRP(BgL_cdrzd2135zd2_718); 
if(BgL_test2685z00_720)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2141zd2_721;
BgL_cdrzd2141zd2_721 = 
CDR(BgL_cdrzd2135zd2_718); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2686z00_722;
BgL_test2686z00_722 = 
PAIRP(BgL_cdrzd2141zd2_721); 
if(BgL_test2686z00_722)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2147zd2_723;
BgL_cdrzd2147zd2_723 = 
CDR(BgL_cdrzd2141zd2_721); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2687z00_724;
BgL_test2687z00_724 = 
PAIRP(BgL_cdrzd2147zd2_723); 
if(BgL_test2687z00_724)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2152zd2_725;
BgL_cdrzd2152zd2_725 = 
CDR(BgL_cdrzd2147zd2_723); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2688z00_726;
BgL_test2688z00_726 = 
PAIRP(BgL_cdrzd2152zd2_725); 
if(BgL_test2688z00_726)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2689z00_727;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1622;
BgL_auxz00_1622 = 
CDR(BgL_cdrzd2152zd2_725); 
BgL_test2689z00_727 = 
NULLP(BgL_auxz00_1622); } 
if(BgL_test2689z00_727)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2691z00_728;obj_t BgL_arg2692z00_729;obj_t BgL_arg2693z00_730;obj_t BgL_arg2694z00_731;
BgL_arg2691z00_728 = 
CAR(BgL_cdrzd2135zd2_718); 
BgL_arg2692z00_729 = 
CAR(BgL_cdrzd2141zd2_721); 
BgL_arg2693z00_730 = 
CAR(BgL_cdrzd2147zd2_723); 
BgL_arg2694z00_731 = 
CAR(BgL_cdrzd2152zd2_725); 
{ /* ./Ast/private.scm 41 */
BgL_getfieldz00_bglt BgL_auxz00_1630;
BgL_ftypez00_668 = BgL_arg2691z00_728; 
BgL_otypez00_669 = BgL_arg2692z00_729; 
BgL_fieldzd2namezd2_670 = BgL_arg2693z00_730; 
BgL_objz00_671 = BgL_arg2694z00_731; 
{ /* ./Ast/private.scm 43 */
BgL_typez00_bglt BgL_ftypez00_865;BgL_typez00_bglt BgL_otypez00_866;obj_t BgL_tidz00_867;
BgL_ftypez00_865 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ftypez00_668, BgL_locz00_4); 
BgL_otypez00_866 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_otypez00_669, BgL_locz00_4); 
{ /* ./Ast/private.scm 45 */
obj_t BgL_arg3033z00_882;obj_t BgL_arg3034z00_883;
BgL_arg3033z00_882 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Ast/private.scm 47 */
obj_t BgL_arg3045z00_887;
{ /* ./Ast/private.scm 47 */
bool_t BgL_test3229z00_1511;
BgL_test3229z00_1511 = 
bigloo_mangledp(BgL_fieldzd2namezd2_670); 
if(BgL_test3229z00_1511)
{ /* ./Ast/private.scm 47 */
BgL_arg3045z00_887 = 
bigloo_demangle(BgL_fieldzd2namezd2_670); }  else 
{ /* ./Ast/private.scm 47 */
BgL_arg3045z00_887 = BgL_fieldzd2namezd2_670; } } 
{ /* ./Ast/private.scm 46 */
char * BgL_auxz00_1637;
BgL_auxz00_1637 = 
BSTRING_TO_STRING(BgL_arg3045z00_887); 
BgL_arg3034z00_883 = 
string_to_symbol(BgL_auxz00_1637); } } 
{ /* ./Ast/private.scm 45 */
obj_t BgL_list3036z00_884;
{ /* ./Ast/private.scm 45 */
obj_t BgL_arg3038z00_885;
{ /* ./Ast/private.scm 45 */
obj_t BgL_arg3041z00_886;
BgL_arg3041z00_886 = 
MAKE_PAIR(BgL_arg3034z00_883, BNIL); 
BgL_arg3038z00_885 = 
MAKE_PAIR(BgL_arg3033z00_882, BgL_arg3041z00_886); } 
BgL_list3036z00_884 = 
MAKE_PAIR(BgL_otypez00_669, BgL_arg3038z00_885); } 
BgL_tidz00_867 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3036z00_884); } } 
{ /* ./Ast/private.scm 49 */
obj_t BgL_arg3007z00_868;BgL_typez00_bglt BgL_arg3008z00_869;bool_t BgL_arg3009z00_870;obj_t BgL_arg3011z00_872;BgL_feffectz00_bglt BgL_arg3012z00_873;obj_t BgL_arg3013z00_874;BgL_typez00_bglt BgL_arg3014z00_875;BgL_typez00_bglt BgL_arg3015z00_876;
BgL_arg3007z00_868 = BgL_locz00_4; 
BgL_arg3008z00_869 = BgL_ftypez00_865; 
BgL_arg3009z00_870 = ((bool_t)0); 
{ /* ./Ast/private.scm 55 */
BgL_nodez00_bglt BgL_arg3018z00_877;
BgL_arg3018z00_877 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_objz00_671, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/private.scm 55 */
obj_t BgL_list3020z00_878;
{ /* ./Ast/private.scm 55 */
obj_t BgL_auxz00_1645;
BgL_auxz00_1645 = 
(obj_t)(BgL_arg3018z00_877); 
BgL_list3020z00_878 = 
MAKE_PAIR(BgL_auxz00_1645, BNIL); } 
BgL_arg3011z00_872 = BgL_list3020z00_878; } } 
{ /* ./Ast/private.scm 57 */
obj_t BgL_arg3024z00_879;
{ /* ./Ast/private.scm 57 */
obj_t BgL_list3028z00_881;
BgL_list3028z00_881 = 
MAKE_PAIR(BgL_tidz00_867, BNIL); 
BgL_arg3024z00_879 = BgL_list3028z00_881; } 
BgL_arg3012z00_873 = 
BGl_makezd2feffectzd2zzast_varz00(BgL_arg3024z00_879, BNIL); } 
BgL_arg3013z00_874 = BgL_fieldzd2namezd2_670; 
BgL_arg3014z00_875 = BgL_ftypez00_865; 
BgL_arg3015z00_876 = BgL_otypez00_866; 
BgL_auxz00_1630 = 
BGl_makezd2getfieldzd2zzast_nodez00(BgL_arg3007z00_868, BgL_arg3008z00_869, 
BBOOL(BgL_arg3009z00_870), 
BINT(((long)-1)), BgL_arg3011z00_872, 
(obj_t)(BgL_arg3012z00_873), BgL_arg3013z00_874, BgL_arg3014z00_875, BgL_arg3015z00_876); } } 
return 
(obj_t)(BgL_auxz00_1630);} }  else 
{ /* ./Ast/private.scm 41 */
BgL_tagzd2110zd2_713:
{ /* ./Ast/private.scm 158 */
obj_t BgL_arg3225z00_993;
{ /* ./Ast/private.scm 158 */
obj_t BgL_auxz00_1655;
BgL_auxz00_1655 = 
CDR(BgL_sexpz00_2); 
BgL_arg3225z00_993 = 
CAR(BgL_auxz00_1655); } 
FAILURE(BGl_string3617z00zzast_privatez00,BGl_string3618z00zzast_privatez00,BgL_arg3225z00_993);} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2705zd2_734;
BgL_cdrzd2705zd2_734 = 
CDR(BgL_cdrzd2129zd2_716); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2716z00_735;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1662;obj_t BgL_auxz00_1660;
BgL_auxz00_1662 = 
CNST_TABLE_REF(((long)2)); 
BgL_auxz00_1660 = 
CAR(BgL_cdrzd2129zd2_716); 
BgL_test2716z00_735 = 
(BgL_auxz00_1660==BgL_auxz00_1662); } 
if(BgL_test2716z00_735)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2717z00_736;
BgL_test2717z00_736 = 
PAIRP(BgL_cdrzd2705zd2_734); 
if(BgL_test2717z00_736)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2711zd2_737;
BgL_cdrzd2711zd2_737 = 
CDR(BgL_cdrzd2705zd2_734); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2718z00_738;
BgL_test2718z00_738 = 
PAIRP(BgL_cdrzd2711zd2_737); 
if(BgL_test2718z00_738)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd2717zd2_739;
BgL_cdrzd2717zd2_739 = 
CDR(BgL_cdrzd2711zd2_737); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2719z00_740;
BgL_test2719z00_740 = 
PAIRP(BgL_cdrzd2717zd2_739); 
if(BgL_test2719z00_740)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2721z00_741;obj_t BgL_arg2722z00_742;obj_t BgL_arg2723z00_743;obj_t BgL_arg2724z00_744;
BgL_arg2721z00_741 = 
CAR(BgL_cdrzd2705zd2_734); 
BgL_arg2722z00_742 = 
CAR(BgL_cdrzd2711zd2_737); 
BgL_arg2723z00_743 = 
CAR(BgL_cdrzd2717zd2_739); 
BgL_arg2724z00_744 = 
CDR(BgL_cdrzd2717zd2_739); 
{ /* ./Ast/private.scm 41 */
BgL_setfieldz00_bglt BgL_auxz00_1678;
BgL_ftypez00_673 = BgL_arg2721z00_741; 
BgL_otypez00_674 = BgL_arg2722z00_742; 
BgL_fieldzd2namezd2_675 = BgL_arg2723z00_743; 
BgL_restz00_676 = BgL_arg2724z00_744; 
{ /* ./Ast/private.scm 59 */
BgL_typez00_bglt BgL_otypez00_888;BgL_typez00_bglt BgL_ftypez00_889;obj_t BgL_tidz00_890;
BgL_otypez00_888 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_otypez00_674, BgL_locz00_4); 
BgL_ftypez00_889 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ftypez00_673, BgL_locz00_4); 
{ /* ./Ast/private.scm 61 */
obj_t BgL_arg3070z00_903;obj_t BgL_arg3071z00_904;
BgL_arg3070z00_903 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Ast/private.scm 63 */
obj_t BgL_arg3082z00_908;
{ /* ./Ast/private.scm 63 */
bool_t BgL_test3229z00_1518;
BgL_test3229z00_1518 = 
bigloo_mangledp(BgL_fieldzd2namezd2_675); 
if(BgL_test3229z00_1518)
{ /* ./Ast/private.scm 63 */
BgL_arg3082z00_908 = 
bigloo_demangle(BgL_fieldzd2namezd2_675); }  else 
{ /* ./Ast/private.scm 63 */
BgL_arg3082z00_908 = BgL_fieldzd2namezd2_675; } } 
{ /* ./Ast/private.scm 62 */
char * BgL_auxz00_1685;
BgL_auxz00_1685 = 
BSTRING_TO_STRING(BgL_arg3082z00_908); 
BgL_arg3071z00_904 = 
string_to_symbol(BgL_auxz00_1685); } } 
{ /* ./Ast/private.scm 61 */
obj_t BgL_list3073z00_905;
{ /* ./Ast/private.scm 61 */
obj_t BgL_arg3075z00_906;
{ /* ./Ast/private.scm 61 */
obj_t BgL_arg3078z00_907;
BgL_arg3078z00_907 = 
MAKE_PAIR(BgL_arg3071z00_904, BNIL); 
BgL_arg3075z00_906 = 
MAKE_PAIR(BgL_arg3070z00_903, BgL_arg3078z00_907); } 
BgL_list3073z00_905 = 
MAKE_PAIR(BgL_otypez00_674, BgL_arg3075z00_906); } 
BgL_tidz00_890 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3073z00_905); } } 
{ /* ./Ast/private.scm 65 */
obj_t BgL_arg3049z00_891;obj_t BgL_arg3050z00_892;bool_t BgL_arg3051z00_893;obj_t BgL_arg3053z00_895;BgL_feffectz00_bglt BgL_arg3054z00_896;obj_t BgL_arg3055z00_897;BgL_typez00_bglt BgL_arg3056z00_898;BgL_typez00_bglt BgL_arg3057z00_899;
BgL_arg3049z00_891 = BgL_locz00_4; 
BgL_arg3050z00_892 = BGl_za2unspecza2z00zztype_cachez00; 
BgL_arg3051z00_893 = ((bool_t)1); 
BgL_arg3053z00_895 = 
BGl_sexpza2zd2ze3nodez93zzast_sexpz00(BgL_restz00_676, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/var.scm 139 */
obj_t BgL_arg3062z00_901;
{ /* ./Ast/private.scm 73 */
obj_t BgL_list3065z00_902;
BgL_list3065z00_902 = 
MAKE_PAIR(BgL_tidz00_890, BNIL); 
BgL_arg3062z00_901 = BgL_list3065z00_902; } 
BgL_arg3054z00_896 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BgL_arg3062z00_901); } 
BgL_arg3055z00_897 = BgL_fieldzd2namezd2_675; 
BgL_arg3056z00_898 = BgL_ftypez00_889; 
BgL_arg3057z00_899 = BgL_otypez00_888; 
BgL_auxz00_1678 = 
BGl_makezd2setfieldzd2zzast_nodez00(BgL_arg3049z00_891, 
(BgL_typez00_bglt)(BgL_arg3050z00_892), 
BBOOL(BgL_arg3051z00_893), 
BINT(((long)-1)), BgL_arg3053z00_895, 
(obj_t)(BgL_arg3054z00_896), BgL_arg3055z00_897, BgL_arg3056z00_898, BgL_arg3057z00_899); } } 
return 
(obj_t)(BgL_auxz00_1678);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21008zd2_745;
BgL_cdrzd21008zd2_745 = 
CDR(BgL_sexpz00_2); 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21012zd2_746;
BgL_cdrzd21012zd2_746 = 
CDR(BgL_cdrzd21008zd2_745); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2738z00_747;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1705;obj_t BgL_auxz00_1703;
BgL_auxz00_1705 = 
CNST_TABLE_REF(((long)3)); 
BgL_auxz00_1703 = 
CAR(BgL_cdrzd21008zd2_745); 
BgL_test2738z00_747 = 
(BgL_auxz00_1703==BgL_auxz00_1705); } 
if(BgL_test2738z00_747)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2739z00_748;
BgL_test2739z00_748 = 
PAIRP(BgL_cdrzd21012zd2_746); 
if(BgL_test2739z00_748)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2741z00_749;obj_t BgL_arg2742z00_750;
BgL_arg2741z00_749 = 
CAR(BgL_cdrzd21012zd2_746); 
BgL_arg2742z00_750 = 
CDR(BgL_cdrzd21012zd2_746); 
{ /* ./Ast/private.scm 41 */
BgL_newz00_bglt BgL_auxz00_1713;
BgL_typez00_678 = BgL_arg2741z00_749; 
BgL_restz00_679 = BgL_arg2742z00_750; 
if(
CBOOL(BGl_za2sawza2z00zzengine_paramz00))
{ /* ./Ast/private.scm 76 */
bool_t BgL_test3085z00_909;
BgL_test3085z00_909 = 
NULLP(BgL_restz00_679); 
if(BgL_test3085z00_909)
{ /* ./Ast/private.scm 79 */
obj_t BgL_arg3087z00_910;BgL_typez00_bglt BgL_arg3088z00_911;bool_t BgL_arg3089z00_912;
BgL_arg3087z00_910 = BgL_locz00_4; 
BgL_arg3088z00_911 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_typez00_678, BgL_locz00_4); 
BgL_arg3089z00_912 = ((bool_t)1); 
BgL_auxz00_1713 = 
BGl_makezd2newzd2zzast_nodez00(BgL_arg3087z00_910, BgL_arg3088z00_911, 
BBOOL(BgL_arg3089z00_912), 
BINT(((long)-1)), BNIL, BUNSPEC); }  else 
{ /* ./Ast/private.scm 83 */
obj_t BgL_arg3095z00_915;BgL_typez00_bglt BgL_arg3096z00_916;bool_t BgL_arg3097z00_917;obj_t BgL_arg3099z00_919;
BgL_arg3095z00_915 = BgL_locz00_4; 
BgL_arg3096z00_916 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_typez00_678, BgL_locz00_4); 
BgL_arg3097z00_917 = ((bool_t)1); 
if(BgL_test3085z00_909)
{ /* ./Ast/private.scm 85 */
BgL_arg3099z00_919 = BNIL; }  else 
{ /* ./Ast/private.scm 85 */
BgL_arg3099z00_919 = 
BGl_sexpza2zd2ze3nodez93zzast_sexpz00(BgL_restz00_679, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); } 
BgL_auxz00_1713 = 
BGl_makezd2newzd2zzast_nodez00(BgL_arg3095z00_915, BgL_arg3096z00_916, 
BBOOL(BgL_arg3097z00_917), 
BINT(((long)-1)), BgL_arg3099z00_919, BUNSPEC); } }  else 
{ /* ./Ast/private.scm 89 */
obj_t BgL_arg3107z00_921;BgL_typez00_bglt BgL_arg3108z00_922;bool_t BgL_arg3109z00_923;
BgL_arg3107z00_921 = BgL_locz00_4; 
BgL_arg3108z00_922 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_typez00_678, BgL_locz00_4); 
BgL_arg3109z00_923 = ((bool_t)1); 
BgL_auxz00_1713 = 
BGl_makezd2newzd2zzast_nodez00(BgL_arg3107z00_921, BgL_arg3108z00_922, 
BBOOL(BgL_arg3109z00_923), 
BINT(((long)-1)), BNIL, BUNSPEC); } 
return 
(obj_t)(BgL_auxz00_1713);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21114zd2_752;
BgL_cdrzd21114zd2_752 = 
CDR(BgL_cdrzd21008zd2_745); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2748z00_753;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1736;obj_t BgL_auxz00_1734;
BgL_auxz00_1736 = 
CNST_TABLE_REF(((long)4)); 
BgL_auxz00_1734 = 
CAR(BgL_cdrzd21008zd2_745); 
BgL_test2748z00_753 = 
(BgL_auxz00_1734==BgL_auxz00_1736); } 
if(BgL_test2748z00_753)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2749z00_754;
BgL_test2749z00_754 = 
PAIRP(BgL_cdrzd21114zd2_752); 
if(BgL_test2749z00_754)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21118zd2_755;
BgL_cdrzd21118zd2_755 = 
CDR(BgL_cdrzd21114zd2_752); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2750z00_756;
BgL_test2750z00_756 = 
PAIRP(BgL_cdrzd21118zd2_755); 
if(BgL_test2750z00_756)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2751z00_757;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1745;
BgL_auxz00_1745 = 
CDR(BgL_cdrzd21118zd2_755); 
BgL_test2751z00_757 = 
NULLP(BgL_auxz00_1745); } 
if(BgL_test2751z00_757)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2753z00_758;obj_t BgL_arg2754z00_759;
BgL_arg2753z00_758 = 
CAR(BgL_cdrzd21114zd2_752); 
BgL_arg2754z00_759 = 
CAR(BgL_cdrzd21118zd2_755); 
{ /* ./Ast/private.scm 41 */
BgL_castz00_bglt BgL_auxz00_1751;
BgL_typez00_681 = BgL_arg2753z00_758; 
BgL_expz00_682 = BgL_arg2754z00_759; 
{ /* ./Ast/private.scm 94 */
obj_t BgL_arg3115z00_926;BgL_typez00_bglt BgL_arg3116z00_927;BgL_nodez00_bglt BgL_arg3117z00_928;
BgL_arg3115z00_926 = BgL_locz00_4; 
BgL_arg3116z00_927 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_typez00_681, BgL_locz00_4); 
BgL_arg3117z00_928 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_expz00_682, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
BgL_auxz00_1751 = 
BGl_makezd2castzd2zzast_nodez00(BgL_arg3115z00_926, BgL_arg3116z00_927, BgL_arg3117z00_928); } 
return 
(obj_t)(BgL_auxz00_1751);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21335zd2_761;
BgL_cdrzd21335zd2_761 = 
CDR(BgL_sexpz00_2); 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21339zd2_762;
BgL_cdrzd21339zd2_762 = 
CDR(BgL_cdrzd21335zd2_761); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2768z00_763;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1760;obj_t BgL_auxz00_1758;
BgL_auxz00_1760 = 
CNST_TABLE_REF(((long)5)); 
BgL_auxz00_1758 = 
CAR(BgL_cdrzd21335zd2_761); 
BgL_test2768z00_763 = 
(BgL_auxz00_1758==BgL_auxz00_1760); } 
if(BgL_test2768z00_763)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2769z00_764;
BgL_test2769z00_764 = 
PAIRP(BgL_cdrzd21339zd2_762); 
if(BgL_test2769z00_764)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21343zd2_765;
BgL_cdrzd21343zd2_765 = 
CDR(BgL_cdrzd21339zd2_762); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2770z00_766;
BgL_test2770z00_766 = 
PAIRP(BgL_cdrzd21343zd2_765); 
if(BgL_test2770z00_766)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2771z00_767;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1769;
BgL_auxz00_1769 = 
CDR(BgL_cdrzd21343zd2_765); 
BgL_test2771z00_767 = 
NULLP(BgL_auxz00_1769); } 
if(BgL_test2771z00_767)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2773z00_768;obj_t BgL_arg2774z00_769;
BgL_arg2773z00_768 = 
CAR(BgL_cdrzd21339zd2_762); 
BgL_arg2774z00_769 = 
CAR(BgL_cdrzd21343zd2_765); 
{ /* ./Ast/private.scm 41 */
BgL_isaz00_bglt BgL_auxz00_1775;
BgL_typez00_684 = BgL_arg2773z00_768; 
BgL_expz00_685 = BgL_arg2774z00_769; 
{ /* ./Ast/private.scm 99 */
obj_t BgL_arg3122z00_929;obj_t BgL_arg3123z00_930;obj_t BgL_arg3125z00_932;BgL_feffectz00_bglt BgL_arg3126z00_933;BgL_typez00_bglt BgL_arg3128z00_934;
BgL_arg3122z00_929 = BgL_locz00_4; 
BgL_arg3123z00_930 = BGl_za2boolza2z00zztype_cachez00; 
{ /* ./Ast/private.scm 102 */
BgL_nodez00_bglt BgL_arg3131z00_935;
BgL_arg3131z00_935 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_expz00_685, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/private.scm 102 */
obj_t BgL_list3133z00_936;
{ /* ./Ast/private.scm 102 */
obj_t BgL_auxz00_1777;
BgL_auxz00_1777 = 
(obj_t)(BgL_arg3131z00_935); 
BgL_list3133z00_936 = 
MAKE_PAIR(BgL_auxz00_1777, BNIL); } 
BgL_arg3125z00_932 = BgL_list3133z00_936; } } 
BgL_arg3126z00_933 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BNIL); 
BgL_arg3128z00_934 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_typez00_684, BgL_locz00_4); 
BgL_auxz00_1775 = 
BGl_makezd2isazd2zzast_nodez00(BgL_arg3122z00_929, 
(BgL_typez00_bglt)(BgL_arg3123z00_930), BUNSPEC, 
BINT(((long)-1)), BgL_arg3125z00_932, 
(obj_t)(BgL_arg3126z00_933), BgL_arg3128z00_934); } 
return 
(obj_t)(BgL_auxz00_1775);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21533zd2_772;
BgL_cdrzd21533zd2_772 = 
CDR(BgL_cdrzd21335zd2_761); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2788z00_773;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1790;obj_t BgL_auxz00_1788;
BgL_auxz00_1790 = 
CNST_TABLE_REF(((long)6)); 
BgL_auxz00_1788 = 
CAR(BgL_cdrzd21335zd2_761); 
BgL_test2788z00_773 = 
(BgL_auxz00_1788==BgL_auxz00_1790); } 
if(BgL_test2788z00_773)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2789z00_774;
BgL_test2789z00_774 = 
PAIRP(BgL_cdrzd21533zd2_772); 
if(BgL_test2789z00_774)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21540zd2_775;
BgL_cdrzd21540zd2_775 = 
CDR(BgL_cdrzd21533zd2_772); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2790z00_776;
BgL_test2790z00_776 = 
PAIRP(BgL_cdrzd21540zd2_775); 
if(BgL_test2790z00_776)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21547zd2_777;
BgL_cdrzd21547zd2_777 = 
CDR(BgL_cdrzd21540zd2_775); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2791z00_778;
BgL_test2791z00_778 = 
PAIRP(BgL_cdrzd21547zd2_777); 
if(BgL_test2791z00_778)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21553zd2_779;
BgL_cdrzd21553zd2_779 = 
CDR(BgL_cdrzd21547zd2_777); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2792z00_780;
BgL_test2792z00_780 = 
PAIRP(BgL_cdrzd21553zd2_779); 
if(BgL_test2792z00_780)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd21557zd2_781;obj_t BgL_cdrzd21558zd2_782;
BgL_carzd21557zd2_781 = 
CAR(BgL_cdrzd21553zd2_779); 
BgL_cdrzd21558zd2_782 = 
CDR(BgL_cdrzd21553zd2_779); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2793z00_783;
BgL_test2793z00_783 = 
STRINGP(BgL_carzd21557zd2_781); 
if(BgL_test2793z00_783)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2794z00_784;
BgL_test2794z00_784 = 
PAIRP(BgL_cdrzd21558zd2_782); 
if(BgL_test2794z00_784)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2795z00_785;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1811;
BgL_auxz00_1811 = 
CDR(BgL_cdrzd21558zd2_782); 
BgL_test2795z00_785 = 
NULLP(BgL_auxz00_1811); } 
if(BgL_test2795z00_785)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2797z00_786;obj_t BgL_arg2798z00_787;obj_t BgL_arg2799z00_788;obj_t BgL_arg2800z00_789;
BgL_arg2797z00_786 = 
CAR(BgL_cdrzd21533zd2_772); 
BgL_arg2798z00_787 = 
CAR(BgL_cdrzd21540zd2_775); 
BgL_arg2799z00_788 = 
CAR(BgL_cdrzd21547zd2_777); 
BgL_arg2800z00_789 = 
CAR(BgL_cdrzd21558zd2_782); 
{ /* ./Ast/private.scm 41 */
BgL_vlengthz00_bglt BgL_auxz00_1819;
BgL_vtypez00_687 = BgL_arg2797z00_786; 
BgL_ftypez00_688 = BgL_arg2798z00_787; 
BgL_otypez00_689 = BgL_arg2799z00_788; 
BgL_czd2fmtzd2_690 = BgL_carzd21557zd2_781; 
BgL_expz00_691 = BgL_arg2800z00_789; 
{ /* ./Ast/private.scm 105 */
BgL_typez00_bglt BgL_vtypez00_937;BgL_typez00_bglt BgL_otypez00_938;BgL_typez00_bglt BgL_ftypez00_939;
BgL_vtypez00_937 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_vtypez00_687, BgL_locz00_4); 
BgL_otypez00_938 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_otypez00_689, BgL_locz00_4); 
BgL_ftypez00_939 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ftypez00_688, BgL_locz00_4); 
{ /* ./Ast/private.scm 109 */
obj_t BgL_arg3139z00_940;BgL_typez00_bglt BgL_arg3140z00_941;obj_t BgL_arg3142z00_943;BgL_feffectz00_bglt BgL_arg3143z00_944;obj_t BgL_arg3144z00_945;BgL_typez00_bglt BgL_arg3145z00_946;
BgL_arg3139z00_940 = BgL_locz00_4; 
BgL_arg3140z00_941 = BgL_otypez00_938; 
{ /* ./Ast/private.scm 113 */
BgL_nodez00_bglt BgL_arg3148z00_947;
BgL_arg3148z00_947 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_expz00_691, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/private.scm 113 */
obj_t BgL_list3150z00_948;
{ /* ./Ast/private.scm 113 */
obj_t BgL_auxz00_1824;
BgL_auxz00_1824 = 
(obj_t)(BgL_arg3148z00_947); 
BgL_list3150z00_948 = 
MAKE_PAIR(BgL_auxz00_1824, BNIL); } 
BgL_arg3142z00_943 = BgL_list3150z00_948; } } 
BgL_arg3143z00_944 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BNIL); 
BgL_arg3144z00_945 = BgL_czd2fmtzd2_690; 
BgL_arg3145z00_946 = BgL_vtypez00_937; 
BgL_auxz00_1819 = 
BGl_makezd2vlengthzd2zzast_nodez00(BgL_arg3139z00_940, BgL_arg3140z00_941, BUNSPEC, 
BINT(((long)-1)), BgL_arg3142z00_943, 
(obj_t)(BgL_arg3143z00_944), BgL_arg3144z00_945, BgL_arg3145z00_946); } } 
return 
(obj_t)(BgL_auxz00_1819);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21860zd2_791;
BgL_cdrzd21860zd2_791 = 
CDR(BgL_sexpz00_2); 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21867zd2_792;
BgL_cdrzd21867zd2_792 = 
CDR(BgL_cdrzd21860zd2_791); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2828z00_793;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1836;obj_t BgL_auxz00_1834;
BgL_auxz00_1836 = 
CNST_TABLE_REF(((long)7)); 
BgL_auxz00_1834 = 
CAR(BgL_cdrzd21860zd2_791); 
BgL_test2828z00_793 = 
(BgL_auxz00_1834==BgL_auxz00_1836); } 
if(BgL_test2828z00_793)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2829z00_794;
BgL_test2829z00_794 = 
PAIRP(BgL_cdrzd21867zd2_792); 
if(BgL_test2829z00_794)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21874zd2_795;
BgL_cdrzd21874zd2_795 = 
CDR(BgL_cdrzd21867zd2_792); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2830z00_796;
BgL_test2830z00_796 = 
PAIRP(BgL_cdrzd21874zd2_795); 
if(BgL_test2830z00_796)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21881zd2_797;
BgL_cdrzd21881zd2_797 = 
CDR(BgL_cdrzd21874zd2_795); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2831z00_798;
BgL_test2831z00_798 = 
PAIRP(BgL_cdrzd21881zd2_797); 
if(BgL_test2831z00_798)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd21887zd2_799;
BgL_cdrzd21887zd2_799 = 
CDR(BgL_cdrzd21881zd2_797); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2832z00_800;
BgL_test2832z00_800 = 
PAIRP(BgL_cdrzd21887zd2_799); 
if(BgL_test2832z00_800)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd21891zd2_801;
BgL_carzd21891zd2_801 = 
CAR(BgL_cdrzd21887zd2_799); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2833z00_802;
BgL_test2833z00_802 = 
STRINGP(BgL_carzd21891zd2_801); 
if(BgL_test2833z00_802)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2835z00_803;obj_t BgL_arg2836z00_804;obj_t BgL_arg2837z00_805;obj_t BgL_arg2838z00_806;
BgL_arg2835z00_803 = 
CAR(BgL_cdrzd21867zd2_792); 
BgL_arg2836z00_804 = 
CAR(BgL_cdrzd21874zd2_795); 
BgL_arg2837z00_805 = 
CAR(BgL_cdrzd21881zd2_797); 
BgL_arg2838z00_806 = 
CDR(BgL_cdrzd21887zd2_799); 
{ /* ./Ast/private.scm 41 */
BgL_vrefz00_bglt BgL_auxz00_1858;
BgL_vtypez00_693 = BgL_arg2835z00_803; 
BgL_ftypez00_694 = BgL_arg2836z00_804; 
BgL_otypez00_695 = BgL_arg2837z00_805; 
BgL_czd2fmtzd2_696 = BgL_carzd21891zd2_801; 
BgL_restz00_697 = BgL_arg2838z00_806; 
{ /* ./Ast/private.scm 116 */
BgL_typez00_bglt BgL_ftypez00_949;BgL_typez00_bglt BgL_vtypez00_950;BgL_typez00_bglt BgL_otypez00_951;
BgL_ftypez00_949 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ftypez00_694, BgL_locz00_4); 
BgL_vtypez00_950 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_vtypez00_693, BgL_locz00_4); 
BgL_otypez00_951 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_otypez00_695, BgL_locz00_4); 
{ /* ./Ast/private.scm 120 */
obj_t BgL_arg3158z00_952;BgL_typez00_bglt BgL_arg3159z00_953;obj_t BgL_arg3161z00_955;BgL_feffectz00_bglt BgL_arg3162z00_956;obj_t BgL_arg3163z00_957;BgL_typez00_bglt BgL_arg3164z00_958;BgL_typez00_bglt BgL_arg3165z00_959;BgL_typez00_bglt BgL_arg3166z00_960;
BgL_arg3158z00_952 = BgL_locz00_4; 
BgL_arg3159z00_953 = BgL_ftypez00_949; 
BgL_arg3161z00_955 = 
BGl_sexpza2zd2ze3nodez93zzast_sexpz00(BgL_restz00_697, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/private.scm 128 */
obj_t BgL_arg3170z00_961;
{ /* ./Ast/private.scm 128 */
obj_t BgL_arg3174z00_963;
BgL_arg3174z00_963 = 
(((BgL_typez00_bglt)CREF(BgL_ftypez00_949))->BgL_idz00); 
{ /* ./Ast/private.scm 128 */
obj_t BgL_list3176z00_964;
BgL_list3176z00_964 = 
MAKE_PAIR(BgL_arg3174z00_963, BNIL); 
BgL_arg3170z00_961 = BgL_list3176z00_964; } } 
BgL_arg3162z00_956 = 
BGl_makezd2feffectzd2zzast_varz00(BgL_arg3170z00_961, BNIL); } 
BgL_arg3163z00_957 = BgL_czd2fmtzd2_696; 
BgL_arg3164z00_958 = BgL_ftypez00_949; 
BgL_arg3165z00_959 = BgL_otypez00_951; 
BgL_arg3166z00_960 = BgL_vtypez00_950; 
BgL_auxz00_1858 = 
BGl_makezd2vrefzd2zzast_nodez00(BgL_arg3158z00_952, BgL_arg3159z00_953, BUNSPEC, 
BINT(((long)-1)), BgL_arg3161z00_955, 
(obj_t)(BgL_arg3162z00_956), BgL_arg3163z00_957, BgL_arg3164z00_958, BgL_arg3165z00_959, BgL_arg3166z00_960); } } 
return 
(obj_t)(BgL_auxz00_1858);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22053zd2_808;
BgL_cdrzd22053zd2_808 = 
CDR(BgL_cdrzd21860zd2_791); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2858z00_809;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1873;obj_t BgL_auxz00_1871;
BgL_auxz00_1873 = 
CNST_TABLE_REF(((long)8)); 
BgL_auxz00_1871 = 
CAR(BgL_cdrzd21860zd2_791); 
BgL_test2858z00_809 = 
(BgL_auxz00_1871==BgL_auxz00_1873); } 
if(BgL_test2858z00_809)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2859z00_810;
BgL_test2859z00_810 = 
PAIRP(BgL_cdrzd22053zd2_808); 
if(BgL_test2859z00_810)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22060zd2_811;
BgL_cdrzd22060zd2_811 = 
CDR(BgL_cdrzd22053zd2_808); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2860z00_812;
BgL_test2860z00_812 = 
PAIRP(BgL_cdrzd22060zd2_811); 
if(BgL_test2860z00_812)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22067zd2_813;
BgL_cdrzd22067zd2_813 = 
CDR(BgL_cdrzd22060zd2_811); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2861z00_814;
BgL_test2861z00_814 = 
PAIRP(BgL_cdrzd22067zd2_813); 
if(BgL_test2861z00_814)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22073zd2_815;
BgL_cdrzd22073zd2_815 = 
CDR(BgL_cdrzd22067zd2_813); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2862z00_816;
BgL_test2862z00_816 = 
PAIRP(BgL_cdrzd22073zd2_815); 
if(BgL_test2862z00_816)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd22077zd2_817;
BgL_carzd22077zd2_817 = 
CAR(BgL_cdrzd22073zd2_815); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2863z00_818;
BgL_test2863z00_818 = 
STRINGP(BgL_carzd22077zd2_817); 
if(BgL_test2863z00_818)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2865z00_819;obj_t BgL_arg2866z00_820;obj_t BgL_arg2868z00_821;obj_t BgL_arg2869z00_822;
BgL_arg2865z00_819 = 
CAR(BgL_cdrzd22053zd2_808); 
BgL_arg2866z00_820 = 
CAR(BgL_cdrzd22060zd2_811); 
BgL_arg2868z00_821 = 
CAR(BgL_cdrzd22067zd2_813); 
BgL_arg2869z00_822 = 
CDR(BgL_cdrzd22073zd2_815); 
{ /* ./Ast/private.scm 41 */
BgL_vsetz12z12_bglt BgL_auxz00_1895;
BgL_vtypez00_699 = BgL_arg2865z00_819; 
BgL_ftypez00_700 = BgL_arg2866z00_820; 
BgL_otypez00_701 = BgL_arg2868z00_821; 
BgL_czd2fmtzd2_702 = BgL_carzd22077zd2_817; 
BgL_restz00_703 = BgL_arg2869z00_822; 
{ /* ./Ast/private.scm 130 */
BgL_typez00_bglt BgL_ftypez00_965;BgL_typez00_bglt BgL_vtypez00_966;BgL_typez00_bglt BgL_otypez00_967;
BgL_ftypez00_965 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_ftypez00_700, BgL_locz00_4); 
BgL_vtypez00_966 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_vtypez00_699, BgL_locz00_4); 
BgL_otypez00_967 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_otypez00_701, BgL_locz00_4); 
{ /* ./Ast/private.scm 134 */
obj_t BgL_arg3183z00_968;obj_t BgL_arg3184z00_969;obj_t BgL_arg3186z00_971;BgL_feffectz00_bglt BgL_arg3187z00_972;obj_t BgL_arg3188z00_973;BgL_typez00_bglt BgL_arg3189z00_974;BgL_typez00_bglt BgL_arg3190z00_975;BgL_typez00_bglt BgL_arg3191z00_976;
BgL_arg3183z00_968 = BgL_locz00_4; 
BgL_arg3184z00_969 = BGl_za2unspecza2z00zztype_cachez00; 
BgL_arg3186z00_971 = 
BGl_sexpza2zd2ze3nodez93zzast_sexpz00(BgL_restz00_703, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
{ /* ./Ast/var.scm 139 */
obj_t BgL_arg3196z00_978;
{ /* ./Ast/private.scm 142 */
obj_t BgL_arg3199z00_979;
BgL_arg3199z00_979 = 
(((BgL_typez00_bglt)CREF(BgL_ftypez00_965))->BgL_idz00); 
{ /* ./Ast/private.scm 142 */
obj_t BgL_list3201z00_980;
BgL_list3201z00_980 = 
MAKE_PAIR(BgL_arg3199z00_979, BNIL); 
BgL_arg3196z00_978 = BgL_list3201z00_980; } } 
BgL_arg3187z00_972 = 
BGl_makezd2feffectzd2zzast_varz00(BNIL, BgL_arg3196z00_978); } 
BgL_arg3188z00_973 = BgL_czd2fmtzd2_702; 
BgL_arg3189z00_974 = BgL_ftypez00_965; 
BgL_arg3190z00_975 = BgL_otypez00_967; 
BgL_arg3191z00_976 = BgL_vtypez00_966; 
BgL_auxz00_1895 = 
BGl_makezd2vsetz12zc0zzast_nodez00(BgL_arg3183z00_968, 
(BgL_typez00_bglt)(BgL_arg3184z00_969), BUNSPEC, 
BINT(((long)-1)), BgL_arg3186z00_971, 
(obj_t)(BgL_arg3187z00_972), BgL_arg3188z00_973, BgL_arg3189z00_974, BgL_arg3190z00_975, BgL_arg3191z00_976); } } 
return 
(obj_t)(BgL_auxz00_1895);} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22168zd2_823;
BgL_cdrzd22168zd2_823 = 
CDR(BgL_sexpz00_2); 
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22177zd2_824;
BgL_cdrzd22177zd2_824 = 
CDR(BgL_cdrzd22168zd2_823); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2889z00_825;
{ /* ./Ast/private.scm 41 */
obj_t BgL_auxz00_1912;obj_t BgL_auxz00_1910;
BgL_auxz00_1912 = 
CNST_TABLE_REF(((long)9)); 
BgL_auxz00_1910 = 
CAR(BgL_cdrzd22168zd2_823); 
BgL_test2889z00_825 = 
(BgL_auxz00_1910==BgL_auxz00_1912); } 
if(BgL_test2889z00_825)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2890z00_826;
BgL_test2890z00_826 = 
PAIRP(BgL_cdrzd22177zd2_824); 
if(BgL_test2890z00_826)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22186zd2_827;
BgL_cdrzd22186zd2_827 = 
CDR(BgL_cdrzd22177zd2_824); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2891z00_828;
BgL_test2891z00_828 = 
PAIRP(BgL_cdrzd22186zd2_827); 
if(BgL_test2891z00_828)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22195zd2_829;
BgL_cdrzd22195zd2_829 = 
CDR(BgL_cdrzd22186zd2_827); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2892z00_830;
BgL_test2892z00_830 = 
PAIRP(BgL_cdrzd22195zd2_829); 
if(BgL_test2892z00_830)
{ /* ./Ast/private.scm 41 */
obj_t BgL_cdrzd22203zd2_831;
BgL_cdrzd22203zd2_831 = 
CDR(BgL_cdrzd22195zd2_829); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2893z00_832;
BgL_test2893z00_832 = 
PAIRP(BgL_cdrzd22203zd2_831); 
if(BgL_test2893z00_832)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd22209zd2_833;obj_t BgL_cdrzd22210zd2_834;
BgL_carzd22209zd2_833 = 
CAR(BgL_cdrzd22203zd2_831); 
BgL_cdrzd22210zd2_834 = 
CDR(BgL_cdrzd22203zd2_831); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2894z00_835;
BgL_test2894z00_835 = 
STRINGP(BgL_carzd22209zd2_833); 
if(BgL_test2894z00_835)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2895z00_836;
BgL_test2895z00_836 = 
PAIRP(BgL_cdrzd22210zd2_834); 
if(BgL_test2895z00_836)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd22217zd2_837;obj_t BgL_cdrzd22218zd2_838;
BgL_carzd22217zd2_837 = 
CAR(BgL_cdrzd22210zd2_834); 
BgL_cdrzd22218zd2_838 = 
CDR(BgL_cdrzd22210zd2_834); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2896z00_839;
BgL_test2896z00_839 = 
STRINGP(BgL_carzd22217zd2_837); 
if(BgL_test2896z00_839)
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2897z00_840;
BgL_test2897z00_840 = 
PAIRP(BgL_cdrzd22218zd2_838); 
if(BgL_test2897z00_840)
{ /* ./Ast/private.scm 41 */
obj_t BgL_carzd22224zd2_841;
BgL_carzd22224zd2_841 = 
CAR(BgL_cdrzd22218zd2_838); 
{ /* ./Ast/private.scm 41 */
bool_t BgL_test2898z00_842;
BgL_test2898z00_842 = 
BOOLEANP(BgL_carzd22224zd2_841); 
if(BgL_test2898z00_842)
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg2900z00_843;obj_t BgL_arg2901z00_844;obj_t BgL_arg2902z00_845;obj_t BgL_arg2903z00_846;
BgL_arg2900z00_843 = 
CAR(BgL_cdrzd22177zd2_824); 
BgL_arg2901z00_844 = 
CAR(BgL_cdrzd22186zd2_827); 
BgL_arg2902z00_845 = 
CAR(BgL_cdrzd22195zd2_829); 
BgL_arg2903z00_846 = 
CDR(BgL_cdrzd22218zd2_838); 
{ /* ./Ast/private.scm 41 */
BgL_typez00_bglt BgL_ftypez00_1500;BgL_typez00_bglt BgL_vtypez00_1501;BgL_typez00_bglt BgL_otypez00_1502;
BgL_ftypez00_1500 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_arg2901z00_844, BgL_locz00_4); 
BgL_vtypez00_1501 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_arg2900z00_843, BgL_locz00_4); 
BgL_otypez00_1502 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_arg2902z00_845, BgL_locz00_4); 
{ /* ./Ast/private.scm 41 */
obj_t BgL_arg3208z00_1503;BgL_typez00_bglt BgL_arg3210z00_1504;obj_t BgL_arg3213z00_1506;obj_t BgL_arg3214z00_1507;BgL_typez00_bglt BgL_arg3215z00_1508;BgL_typez00_bglt BgL_arg3216z00_1509;
BgL_arg3208z00_1503 = BgL_locz00_4; 
BgL_arg3210z00_1504 = BgL_vtypez00_1501; 
BgL_arg3213z00_1506 = 
BGl_sexpza2zd2ze3nodez93zzast_sexpz00(BgL_arg2903z00_846, BgL_stackz00_3, BgL_locz00_4, BgL_sitez00_5); 
BgL_arg3214z00_1507 = BgL_carzd22209zd2_833; 
BgL_arg3215z00_1508 = BgL_ftypez00_1500; 
BgL_arg3216z00_1509 = BgL_otypez00_1502; 
{ /* ./Ast/private.scm 41 */
BgL_vallocz00_bglt BgL_auxz00_1950;
BgL_auxz00_1950 = 
BGl_makezd2valloczd2zzast_nodez00(BgL_arg3208z00_1503, BgL_arg3210z00_1504, BUNSPEC, 
BINT(((long)-1)), BgL_arg3213z00_1506, BUNSPEC, BgL_arg3214z00_1507, BgL_arg3215z00_1508, BgL_arg3216z00_1509); 
return 
(obj_t)(BgL_auxz00_1950);} } } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } } } } } } } } } } } } } } } } } } } } } }  else 
{ /* ./Ast/private.scm 41 */
goto BgL_tagzd2110zd2_713;} } } } } 
}



/* _private->node */
obj_t BGl__privatezd2ze3nodez31zzast_privatez00(obj_t BgL_envz00_1555, obj_t BgL_sexpz00_1556, obj_t BgL_stackz00_1557, obj_t BgL_locz00_1558, obj_t BgL_sitez00_1559)
{ AN_OBJECT;
{ /* ./Ast/private.scm 36 */
return 
BGl_privatezd2ze3nodez31zzast_privatez00(BgL_sexpz00_1556, BgL_stackz00_1557, BgL_locz00_1558, BgL_sitez00_1559);} 
}



/* make-private-sexp */
BGL_EXPORTED_DEF obj_t BGl_makezd2privatezd2sexpz00zzast_privatez00(obj_t BgL_kindz00_6, obj_t BgL_typezd2idzd2_7, obj_t BgL_objsz00_8)
{ AN_OBJECT;
{ /* ./Ast/private.scm 174 */
{ /* ./Ast/private.scm 177 */
bool_t BgL_test3232z00_998;
{ /* ./Ast/private.scm 177 */
obj_t BgL_objz00_1552;
BgL_objz00_1552 = BGl_za2privatezd2stampza2zd2zzast_privatez00; 
BgL_test3232z00_998 = 
SYMBOLP(BgL_objz00_1552); } 
if(BgL_test3232z00_998)
{ /* ./Ast/private.scm 177 */BFALSE; }  else 
{ /* ./Ast/private.scm 177 */
BGl_za2privatezd2stampza2zd2zzast_privatez00 = 
CNST_TABLE_REF(((long)10)); } } 
{ /* ./Ast/private.scm 179 */
obj_t BgL_arg3235z00_999;
{ /* ./Ast/private.scm 179 */
obj_t BgL_arg3238z00_1000;
BgL_arg3238z00_1000 = 
MAKE_PAIR(BgL_typezd2idzd2_7, BgL_objsz00_8); 
BgL_arg3235z00_999 = 
MAKE_PAIR(BgL_kindz00_6, BgL_arg3238z00_1000); } 
return 
MAKE_PAIR(BGl_za2privatezd2stampza2zd2zzast_privatez00, BgL_arg3235z00_999);} } 
}



/* _make-private-sexp */
obj_t BGl__makezd2privatezd2sexpz00zzast_privatez00(obj_t BgL_envz00_1560, obj_t BgL_kindz00_1561, obj_t BgL_typezd2idzd2_1562, obj_t BgL_objsz00_1563)
{ AN_OBJECT;
{ /* ./Ast/private.scm 174 */
return 
BGl_makezd2privatezd2sexpz00zzast_privatez00(BgL_kindz00_1561, BgL_typezd2idzd2_1562, BgL_objsz00_1563);} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_privatez00()
{ AN_OBJECT;
{ /* ./Ast/private.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_privatez00()
{ AN_OBJECT;
{ /* ./Ast/private.scm 15 */
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_private"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_private"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_private"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_private"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "ast_private"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_private"); 
return 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_private");} 
}

