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


BGL_IMPORT double BGl_roundflz00zz__r4_numbers_6_5_flonumz00(double);
static obj_t BGl_methodzd2initzd2zzast_buildz00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_buildzd2astzd2sanszd2removezd2zzast_buildz00(obj_t);
extern obj_t BGl_unitzd2ze3defsz31zzast_unitz00(obj_t);
extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_buildzd2astzd2zzast_buildz00(obj_t);
BGL_IMPORT obj_t string_to_bstring(char *);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
extern obj_t BGl_enterzd2functionzd2zztools_errorz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzast_buildz00();
extern obj_t BGl_leavezd2functionzd2zztools_errorz00();
static obj_t BGl__buildzd2astzd2zzast_buildz00(obj_t, obj_t);
extern obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00;
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
extern obj_t BGl_za2currentzd2passza2zd2zzengine_passz00;
static obj_t BGl_importedzd2moduleszd2initz00zzast_buildz00();
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_exitz00zz__errorz00(obj_t);
static obj_t BGl__buildzd2astzd2sanszd2removezd2zzast_buildz00(obj_t, obj_t);
BGL_IMPORT bool_t BGl_2ze3ze3zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_buildz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_passz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_unitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_findzd2gdefszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_removez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_argsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_prognz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
static BgL_globalz00_bglt BGl_sfunzd2defzd2ze3astze3zzast_buildz00(BgL_globalz00_bglt);
extern obj_t BGl_removezd2varzd2zzast_removez00(obj_t, obj_t);
BGL_IMPORT obj_t display_string(obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_checkzd2tozd2bezd2definezd2zzast_findzd2gdefszd2();
static obj_t BGl_requirezd2initializa7ationz75zzast_buildz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_appendz00zz__r4_pairs_and_lists_6_3z00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_buildz00();
static obj_t __cnst[ 3 ] ;


DEFINE_STRING( BGl_string3267z00zzast_buildz00, BgL_bgl_string3267za700za7za7ast_buildza7003297z00, "value pass-started ast ", 23 );
DEFINE_STRING( BGl_string3266z00zzast_buildz00, BgL_bgl_string3266za700za7za7ast_buildza7003298z00, "failure during postlude hook", 28 );
DEFINE_STRING( BGl_string3265z00zzast_buildz00, BgL_bgl_string3265za700za7za7ast_buildza7003299z00, " occured, ending ...", 20 );
DEFINE_STRING( BGl_string3264z00zzast_buildz00, BgL_bgl_string3264za700za7za7ast_buildza7003300z00, " error", 6 );
DEFINE_STRING( BGl_string3263z00zzast_buildz00, BgL_bgl_string3263za700za7za7ast_buildza7003301z00, "failure during prelude hook", 27 );
DEFINE_STRING( BGl_string3262z00zzast_buildz00, BgL_bgl_string3262za700za7za7ast_buildza7003302z00, "   . ", 5 );
DEFINE_STRING( BGl_string3261z00zzast_buildz00, BgL_bgl_string3261za700za7za7ast_buildza7003303z00, "Ast", 3 );
DEFINE_EXPORT_PROCEDURE( BGl_buildzd2astzd2sanszd2removezd2envz00zzast_buildz00, BgL_bgl__buildza7d2astza7d2sansza7d2removeza7d2za7za7ast_buildza7003304za7, BGl__buildzd2astzd2sanszd2removezd2zzast_buildz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_buildzd2astzd2envz00zzast_buildz00, BgL_bgl__buildza7d2astza7d2za7za7ast_buildza7003305za7, BGl__buildzd2astzd2zzast_buildz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_buildz00(long BgL_checksumz00_1213, char * BgL_fromz00_1214)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_buildz00))
{ 
BGl_requirezd2initializa7ationz75zzast_buildz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_buildz00(); 
BGl_cnstzd2initzd2zzast_buildz00(); 
BGl_importedzd2moduleszd2initz00zzast_buildz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_buildz00()
{ AN_OBJECT;
{ /* ./Ast/build.scm 14 */
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(((long)0), "ast_build"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_build"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "ast_build"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "ast_build"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "ast_build"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_build"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_buildz00()
{ AN_OBJECT;
{ /* ./Ast/build.scm 14 */
{ /* ./Ast/build.scm 14 */
obj_t BgL_cportz00_1206;
BgL_cportz00_1206 = 
open_input_string(BGl_string3267z00zzast_buildz00); 
{ 
long BgL_iz00_1207;
BgL_iz00_1207 = ((long)2); 
BgL_loopz00_1208:
{ /* ./Ast/build.scm 14 */
bool_t BgL_test3269z00_1209;
BgL_test3269z00_1209 = 
(BgL_iz00_1207==((long)-1)); 
if(BgL_test3269z00_1209)
{ /* ./Ast/build.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/build.scm 14 */
{ /* ./Ast/build.scm 14 */
obj_t BgL_arg3272z00_1210;
{ /* ./Ast/build.scm 14 */
obj_t BgL_list3275z00_1211;
BgL_list3275z00_1211 = 
MAKE_PAIR(BgL_cportz00_1206, BNIL); 
BgL_arg3272z00_1210 = 
BGl_readz00zz__readerz00(BgL_list3275z00_1211); } 
{ /* ./Ast/build.scm 14 */
int BgL_auxz00_1232;
BgL_auxz00_1232 = 
(int)(BgL_iz00_1207); 
CNST_TABLE_SET(BgL_auxz00_1232, BgL_arg3272z00_1210); } } 
{ /* ./Ast/build.scm 14 */
int BgL_auxz00_1212;
{ /* ./Ast/build.scm 14 */
long BgL_auxz00_1235;
BgL_auxz00_1235 = 
(BgL_iz00_1207-((long)1)); 
BgL_auxz00_1212 = 
(int)(BgL_auxz00_1235); } 
{ 
long BgL_iz00_1238;
BgL_iz00_1238 = 
(long)(BgL_auxz00_1212); 
BgL_iz00_1207 = BgL_iz00_1238; 
goto BgL_loopz00_1208;} } } } } } } 
}



/* build-ast */
BGL_EXPORTED_DEF obj_t BGl_buildzd2astzd2zzast_buildz00(obj_t BgL_unitsz00_1)
{ AN_OBJECT;
{ /* ./Ast/build.scm 36 */
{ /* ./Ast/build.scm 37 */
obj_t BgL_arg2675z00_1126;obj_t BgL_arg2676z00_1127;
BgL_arg2675z00_1126 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2676z00_1127 = 
BGl_buildzd2astzd2sanszd2removezd2zzast_buildz00(BgL_unitsz00_1); 
return 
BGl_removezd2varzd2zzast_removez00(BgL_arg2675z00_1126, BgL_arg2676z00_1127);} } 
}



/* _build-ast */
obj_t BGl__buildzd2astzd2zzast_buildz00(obj_t BgL_envz00_1202, obj_t BgL_unitsz00_1203)
{ AN_OBJECT;
{ /* ./Ast/build.scm 36 */
return 
BGl_buildzd2astzd2zzast_buildz00(BgL_unitsz00_1203);} 
}



/* build-ast-sans-remove */
BGL_EXPORTED_DEF obj_t BGl_buildzd2astzd2sanszd2removezd2zzast_buildz00(obj_t BgL_unitsz00_2)
{ AN_OBJECT;
{ /* ./Ast/build.scm 44 */
{ /* ./Ast/build.scm 45 */
obj_t BgL_list2680z00_663;
{ /* ./Ast/build.scm 45 */
obj_t BgL_arg2683z00_665;
{ /* ./Ast/build.scm 45 */
obj_t BgL_arg2687z00_667;
{ /* ./Ast/build.scm 45 */
obj_t BgL_auxz00_1244;
BgL_auxz00_1244 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg2687z00_667 = 
MAKE_PAIR(BgL_auxz00_1244, BNIL); } 
BgL_arg2683z00_665 = 
MAKE_PAIR(BGl_string3261z00zzast_buildz00, BgL_arg2687z00_667); } 
BgL_list2680z00_663 = 
MAKE_PAIR(BGl_string3262z00zzast_buildz00, BgL_arg2683z00_665); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)1)), BgL_list2680z00_663); } 
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(((long)0)); 
BGl_za2currentzd2passza2zd2zzengine_passz00 = BGl_string3261z00zzast_buildz00; 
{ 
obj_t BgL_hooksz00_668;obj_t BgL_hnamesz00_669;
{ /* ./Ast/build.scm 45 */
obj_t BgL_arg2691z00_671;
BgL_arg2691z00_671 = BNIL; 
BgL_hooksz00_668 = BgL_arg2691z00_671; 
BgL_hnamesz00_669 = BNIL; 
BgL_loopz00_670:
{ /* ./Ast/build.scm 45 */
bool_t BgL_test2696z00_674;
BgL_test2696z00_674 = 
NULLP(BgL_hooksz00_668); 
if(BgL_test2696z00_674)
{ /* ./Ast/build.scm 45 */
CNST_TABLE_REF(((long)1)); }  else 
{ /* ./Ast/build.scm 45 */
bool_t BgL_test2697z00_675;
{ /* ./Ast/build.scm 45 */
obj_t BgL_fun2712z00_681;
BgL_fun2712z00_681 = 
CAR(BgL_hooksz00_668); 
{ /* ./Ast/build.scm 45 */
obj_t BgL_auxz00_1256;
BgL_auxz00_1256 = 
PROCEDURE_ENTRY(BgL_fun2712z00_681)(BgL_fun2712z00_681, BEOA); 
BgL_test2697z00_675 = 
CBOOL(BgL_auxz00_1256); } } 
if(BgL_test2697z00_675)
{ /* ./Ast/build.scm 45 */
{ /* ./Ast/build.scm 45 */
obj_t BgL_arg2699z00_676;obj_t BgL_arg2700z00_677;
BgL_arg2699z00_676 = 
CDR(BgL_hooksz00_668); 
BgL_arg2700z00_677 = 
CDR(BgL_hnamesz00_669); 
{ 
obj_t BgL_hnamesz00_1264;obj_t BgL_hooksz00_1263;
BgL_hooksz00_1263 = BgL_arg2699z00_676; 
BgL_hnamesz00_1264 = BgL_arg2700z00_677; 
BgL_hnamesz00_669 = BgL_hnamesz00_1264; 
BgL_hooksz00_668 = BgL_hooksz00_1263; 
goto BgL_loopz00_670;} } }  else 
{ /* ./Ast/build.scm 45 */
{ /* ./Ast/build.scm 45 */
obj_t BgL_arg2707z00_680;
BgL_arg2707z00_680 = 
CAR(BgL_hnamesz00_669); 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string3261z00zzast_buildz00, BGl_string3263z00zzast_buildz00, BgL_arg2707z00_680); } } } } } } 
{ /* ./Ast/build.scm 49 */
obj_t BgL_nberrz00_682;
BgL_nberrz00_682 = BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00; 
{ /* ./Ast/build.scm 49 */
obj_t BgL_defsz00_683;
{ /* ./Ast/build.scm 50 */
obj_t BgL_runner2859z00_758;
{ /* ./Ast/build.scm 50 */
bool_t BgL_test2830z00_743;
BgL_test2830z00_743 = 
NULLP(BgL_unitsz00_2); 
if(BgL_test2830z00_743)
{ /* ./Ast/build.scm 50 */
BgL_runner2859z00_758 = BNIL; }  else 
{ /* ./Ast/build.scm 50 */
obj_t BgL_head2664z00_744;
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2851z00_755;
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2855z00_757;
BgL_arg2855z00_757 = 
CAR(BgL_unitsz00_2); 
BgL_arg2851z00_755 = 
BGl_unitzd2ze3defsz31zzast_unitz00(BgL_arg2855z00_757); } 
BgL_head2664z00_744 = 
MAKE_PAIR(BgL_arg2851z00_755, BNIL); } 
{ 
obj_t BgL_l2662z00_745;obj_t BgL_tail2665z00_746;
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2832z00_748;
BgL_arg2832z00_748 = 
CDR(BgL_unitsz00_2); 
BgL_l2662z00_745 = BgL_arg2832z00_748; 
BgL_tail2665z00_746 = BgL_head2664z00_744; 
BgL_map2663z00_747:
{ /* ./Ast/build.scm 50 */
bool_t BgL_test2835z00_749;
BgL_test2835z00_749 = 
NULLP(BgL_l2662z00_745); 
if(BgL_test2835z00_749)
{ /* ./Ast/build.scm 50 */
BgL_runner2859z00_758 = BgL_head2664z00_744; }  else 
{ /* ./Ast/build.scm 50 */
obj_t BgL_newtail2666z00_750;
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2842z00_752;
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2846z00_754;
BgL_arg2846z00_754 = 
CAR(BgL_l2662z00_745); 
BgL_arg2842z00_752 = 
BGl_unitzd2ze3defsz31zzast_unitz00(BgL_arg2846z00_754); } 
BgL_newtail2666z00_750 = 
MAKE_PAIR(BgL_arg2842z00_752, BNIL); } 
SET_CDR(BgL_tail2665z00_746, BgL_newtail2666z00_750); 
{ /* ./Ast/build.scm 50 */
obj_t BgL_arg2838z00_751;
BgL_arg2838z00_751 = 
CDR(BgL_l2662z00_745); 
{ 
obj_t BgL_tail2665z00_1281;obj_t BgL_l2662z00_1280;
BgL_l2662z00_1280 = BgL_arg2838z00_751; 
BgL_tail2665z00_1281 = BgL_newtail2666z00_750; 
BgL_tail2665z00_746 = BgL_tail2665z00_1281; 
BgL_l2662z00_745 = BgL_l2662z00_1280; 
goto BgL_map2663z00_747;} } } } } } } } 
BgL_defsz00_683 = 
BGl_appendz00zz__r4_pairs_and_lists_6_3z00(BgL_runner2859z00_758); } 
{ /* ./Ast/build.scm 50 */

{ /* ./Ast/build.scm 51 */
bool_t BgL_test2715z00_684;
{ /* ./Ast/build.scm 51 */
long BgL_n1z00_1147;long BgL_n2z00_1148;
BgL_n1z00_1147 = 
(long)CINT(BgL_nberrz00_682); 
BgL_n2z00_1148 = 
(long)CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); 
BgL_test2715z00_684 = 
(BgL_n1z00_1147==BgL_n2z00_1148); } 
if(BgL_test2715z00_684)
{ /* ./Ast/build.scm 51 */
BGl_checkzd2tozd2bezd2definezd2zzast_findzd2gdefszd2(); 
{ /* ./Ast/build.scm 56 */
obj_t BgL_astz00_685;
{ /* ./Ast/build.scm 56 */
bool_t BgL_test2759z00_707;
BgL_test2759z00_707 = 
NULLP(BgL_defsz00_683); 
if(BgL_test2759z00_707)
{ /* ./Ast/build.scm 56 */
BgL_astz00_685 = BNIL; }  else 
{ /* ./Ast/build.scm 56 */
obj_t BgL_head2669z00_708;
{ /* ./Ast/build.scm 56 */
BgL_globalz00_bglt BgL_arg2780z00_719;
{ /* ./Ast/build.scm 56 */
obj_t BgL_arg2784z00_721;
BgL_arg2784z00_721 = 
CAR(BgL_defsz00_683); 
BgL_arg2780z00_719 = 
BGl_sfunzd2defzd2ze3astze3zzast_buildz00(
(BgL_globalz00_bglt)(BgL_arg2784z00_721)); } 
{ /* ./Ast/build.scm 56 */
obj_t BgL_obj1z00_1151;
BgL_obj1z00_1151 = 
(obj_t)(BgL_arg2780z00_719); 
BgL_head2669z00_708 = 
MAKE_PAIR(BgL_obj1z00_1151, BNIL); } } 
{ 
obj_t BgL_l2667z00_709;obj_t BgL_tail2670z00_710;
{ /* ./Ast/build.scm 56 */
obj_t BgL_arg2761z00_712;
BgL_arg2761z00_712 = 
CDR(BgL_defsz00_683); 
BgL_l2667z00_709 = BgL_arg2761z00_712; 
BgL_tail2670z00_710 = BgL_head2669z00_708; 
BgL_map2668z00_711:
{ /* ./Ast/build.scm 56 */
bool_t BgL_test2764z00_713;
BgL_test2764z00_713 = 
NULLP(BgL_l2667z00_709); 
if(BgL_test2764z00_713)
{ /* ./Ast/build.scm 56 */
BgL_astz00_685 = BgL_head2669z00_708; }  else 
{ /* ./Ast/build.scm 56 */
obj_t BgL_newtail2671z00_714;
{ /* ./Ast/build.scm 56 */
BgL_globalz00_bglt BgL_arg2771z00_716;
{ /* ./Ast/build.scm 56 */
obj_t BgL_arg2775z00_718;
BgL_arg2775z00_718 = 
CAR(BgL_l2667z00_709); 
BgL_arg2771z00_716 = 
BGl_sfunzd2defzd2ze3astze3zzast_buildz00(
(BgL_globalz00_bglt)(BgL_arg2775z00_718)); } 
{ /* ./Ast/build.scm 56 */
obj_t BgL_obj1z00_1156;
BgL_obj1z00_1156 = 
(obj_t)(BgL_arg2771z00_716); 
BgL_newtail2671z00_714 = 
MAKE_PAIR(BgL_obj1z00_1156, BNIL); } } 
SET_CDR(BgL_tail2670z00_710, BgL_newtail2671z00_714); 
{ /* ./Ast/build.scm 56 */
obj_t BgL_arg2767z00_715;
BgL_arg2767z00_715 = 
CDR(BgL_l2667z00_709); 
{ 
obj_t BgL_tail2670z00_1306;obj_t BgL_l2667z00_1305;
BgL_l2667z00_1305 = BgL_arg2767z00_715; 
BgL_tail2670z00_1306 = BgL_newtail2671z00_714; 
BgL_tail2670z00_710 = BgL_tail2670z00_1306; 
BgL_l2667z00_709 = BgL_l2667z00_1305; 
goto BgL_map2668z00_711;} } } } } } } } 
{ /* ./Ast/build.scm 58 */
bool_t BgL_test2717z00_687;
{ /* ./Ast/build.scm 58 */
long BgL_n1z00_1161;
BgL_n1z00_1161 = 
(long)CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); 
BgL_test2717z00_687 = 
(BgL_n1z00_1161>((long)0)); } 
if(BgL_test2717z00_687)
{ /* ./Ast/build.scm 58 */
{ /* ./Ast/build.scm 58 */
obj_t BgL_port2672z00_688;
BgL_port2672z00_688 = 
BGL_CURRENT_ERROR_PORT(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, BgL_port2672z00_688); 
display_string(BGl_string3264z00zzast_buildz00, BgL_port2672z00_688); 
{ /* ./Ast/build.scm 58 */
char * BgL_arg2721z00_689;
{ /* ./Ast/build.scm 58 */
bool_t BgL_test2723z00_690;
{ /* ./Ast/build.scm 58 */
bool_t BgL_test2724z00_691;
{ /* ./Ast/build.scm 58 */
bool_t BgL_res3214z00_1169;
{ /* ./Ast/build.scm 58 */
obj_t BgL_objz00_1163;
BgL_objz00_1163 = BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00; 
{ /* ./Ast/build.scm 58 */
bool_t BgL_test1396z00_1164;
BgL_test1396z00_1164 = 
INTEGERP(BgL_objz00_1163); 
if(BgL_test1396z00_1164)
{ /* ./Ast/build.scm 58 */
BgL_res3214z00_1169 = ((bool_t)1); }  else 
{ /* ./Ast/build.scm 58 */
bool_t BgL_test1397z00_1165;
BgL_test1397z00_1165 = 
REALP(BgL_objz00_1163); 
if(BgL_test1397z00_1165)
{ /* ./Ast/build.scm 58 */
double BgL_arg1399z00_1166;
BgL_arg1399z00_1166 = 
BGl_roundflz00zz__r4_numbers_6_5_flonumz00(
REAL_TO_DOUBLE(BgL_objz00_1163)); 
{ /* ./Ast/build.scm 58 */
double BgL_auxz00_1319;
BgL_auxz00_1319 = 
REAL_TO_DOUBLE(BgL_objz00_1163); 
BgL_res3214z00_1169 = 
(BgL_auxz00_1319==BgL_arg1399z00_1166); } }  else 
{ /* ./Ast/build.scm 58 */
BgL_res3214z00_1169 = ((bool_t)0); } } } } 
BgL_test2724z00_691 = BgL_res3214z00_1169; } 
if(BgL_test2724z00_691)
{ /* ./Ast/build.scm 58 */
BgL_test2723z00_690 = 
BGl_2ze3ze3zz__r4_numbers_6_5z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, 
BINT(((long)1))); }  else 
{ /* ./Ast/build.scm 58 */
BgL_test2723z00_690 = ((bool_t)0); } } 
if(BgL_test2723z00_690)
{ /* ./Ast/build.scm 58 */
BgL_arg2721z00_689 = "s"; }  else 
{ /* ./Ast/build.scm 58 */
BgL_arg2721z00_689 = ""; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg2721z00_689), BgL_port2672z00_688); } 
display_string(BGl_string3265z00zzast_buildz00, BgL_port2672z00_688); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2672z00_688); } 
{ /* ./Ast/build.scm 58 */
obj_t BgL_list2731z00_692;
{ /* ./Ast/build.scm 58 */
obj_t BgL_auxz00_1330;
BgL_auxz00_1330 = 
BINT(((long)-1)); 
BgL_list2731z00_692 = 
MAKE_PAIR(BgL_auxz00_1330, BNIL); } 
return 
BGl_exitz00zz__errorz00(BgL_list2731z00_692);} }  else 
{ 
obj_t BgL_hooksz00_693;obj_t BgL_hnamesz00_694;
{ /* ./Ast/build.scm 58 */
obj_t BgL_arg2734z00_696;
BgL_arg2734z00_696 = BNIL; 
BgL_hooksz00_693 = BgL_arg2734z00_696; 
BgL_hnamesz00_694 = BNIL; 
BgL_loopz00_695:
{ /* ./Ast/build.scm 58 */
bool_t BgL_test2739z00_699;
BgL_test2739z00_699 = 
NULLP(BgL_hooksz00_693); 
if(BgL_test2739z00_699)
{ /* ./Ast/build.scm 58 */
return BgL_astz00_685;}  else 
{ /* ./Ast/build.scm 58 */
bool_t BgL_test2740z00_700;
{ /* ./Ast/build.scm 58 */
obj_t BgL_fun2755z00_705;
BgL_fun2755z00_705 = 
CAR(BgL_hooksz00_693); 
{ /* ./Ast/build.scm 58 */
obj_t BgL_auxz00_1337;
BgL_auxz00_1337 = 
PROCEDURE_ENTRY(BgL_fun2755z00_705)(BgL_fun2755z00_705, BEOA); 
BgL_test2740z00_700 = 
CBOOL(BgL_auxz00_1337); } } 
if(BgL_test2740z00_700)
{ /* ./Ast/build.scm 58 */
{ /* ./Ast/build.scm 58 */
obj_t BgL_arg2742z00_701;obj_t BgL_arg2743z00_702;
BgL_arg2742z00_701 = 
CDR(BgL_hooksz00_693); 
BgL_arg2743z00_702 = 
CDR(BgL_hnamesz00_694); 
{ 
obj_t BgL_hnamesz00_1345;obj_t BgL_hooksz00_1344;
BgL_hooksz00_1344 = BgL_arg2742z00_701; 
BgL_hnamesz00_1345 = BgL_arg2743z00_702; 
BgL_hnamesz00_694 = BgL_hnamesz00_1345; 
BgL_hooksz00_693 = BgL_hooksz00_1344; 
goto BgL_loopz00_695;} } }  else 
{ /* ./Ast/build.scm 58 */
{ /* ./Ast/build.scm 58 */
obj_t BgL_arg2749z00_704;
BgL_arg2749z00_704 = 
CAR(BgL_hnamesz00_694); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_za2currentzd2passza2zd2zzengine_passz00, BGl_string3266z00zzast_buildz00, BgL_arg2749z00_704);} } } } } } } } }  else 
{ /* ./Ast/build.scm 59 */
bool_t BgL_test2788z00_723;
{ /* ./Ast/build.scm 59 */
long BgL_n1z00_1178;
BgL_n1z00_1178 = 
(long)CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); 
BgL_test2788z00_723 = 
(BgL_n1z00_1178>((long)0)); } 
if(BgL_test2788z00_723)
{ /* ./Ast/build.scm 59 */
{ /* ./Ast/build.scm 59 */
obj_t BgL_port2673z00_724;
BgL_port2673z00_724 = 
BGL_CURRENT_ERROR_PORT(); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, BgL_port2673z00_724); 
display_string(BGl_string3264z00zzast_buildz00, BgL_port2673z00_724); 
{ /* ./Ast/build.scm 59 */
char * BgL_arg2792z00_725;
{ /* ./Ast/build.scm 59 */
bool_t BgL_test2794z00_726;
{ /* ./Ast/build.scm 59 */
bool_t BgL_test2795z00_727;
{ /* ./Ast/build.scm 59 */
bool_t BgL_res3216z00_1186;
{ /* ./Ast/build.scm 59 */
obj_t BgL_objz00_1180;
BgL_objz00_1180 = BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00; 
{ /* ./Ast/build.scm 59 */
bool_t BgL_test1396z00_1181;
BgL_test1396z00_1181 = 
INTEGERP(BgL_objz00_1180); 
if(BgL_test1396z00_1181)
{ /* ./Ast/build.scm 59 */
BgL_res3216z00_1186 = ((bool_t)1); }  else 
{ /* ./Ast/build.scm 59 */
bool_t BgL_test1397z00_1182;
BgL_test1397z00_1182 = 
REALP(BgL_objz00_1180); 
if(BgL_test1397z00_1182)
{ /* ./Ast/build.scm 59 */
double BgL_arg1399z00_1183;
BgL_arg1399z00_1183 = 
BGl_roundflz00zz__r4_numbers_6_5_flonumz00(
REAL_TO_DOUBLE(BgL_objz00_1180)); 
{ /* ./Ast/build.scm 59 */
double BgL_auxz00_1360;
BgL_auxz00_1360 = 
REAL_TO_DOUBLE(BgL_objz00_1180); 
BgL_res3216z00_1186 = 
(BgL_auxz00_1360==BgL_arg1399z00_1183); } }  else 
{ /* ./Ast/build.scm 59 */
BgL_res3216z00_1186 = ((bool_t)0); } } } } 
BgL_test2795z00_727 = BgL_res3216z00_1186; } 
if(BgL_test2795z00_727)
{ /* ./Ast/build.scm 59 */
BgL_test2794z00_726 = 
BGl_2ze3ze3zz__r4_numbers_6_5z00(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00, 
BINT(((long)1))); }  else 
{ /* ./Ast/build.scm 59 */
BgL_test2794z00_726 = ((bool_t)0); } } 
if(BgL_test2794z00_726)
{ /* ./Ast/build.scm 59 */
BgL_arg2792z00_725 = "s"; }  else 
{ /* ./Ast/build.scm 59 */
BgL_arg2792z00_725 = ""; } } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(
string_to_bstring(BgL_arg2792z00_725), BgL_port2673z00_724); } 
display_string(BGl_string3265z00zzast_buildz00, BgL_port2673z00_724); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2673z00_724); } 
{ /* ./Ast/build.scm 59 */
obj_t BgL_list2802z00_728;
{ /* ./Ast/build.scm 59 */
obj_t BgL_auxz00_1371;
BgL_auxz00_1371 = 
BINT(((long)-1)); 
BgL_list2802z00_728 = 
MAKE_PAIR(BgL_auxz00_1371, BNIL); } 
return 
BGl_exitz00zz__errorz00(BgL_list2802z00_728);} }  else 
{ 
obj_t BgL_hooksz00_729;obj_t BgL_hnamesz00_730;
{ /* ./Ast/build.scm 59 */
obj_t BgL_arg2805z00_732;
BgL_arg2805z00_732 = BNIL; 
BgL_hooksz00_729 = BgL_arg2805z00_732; 
BgL_hnamesz00_730 = BNIL; 
BgL_loopz00_731:
{ /* ./Ast/build.scm 59 */
bool_t BgL_test2810z00_735;
BgL_test2810z00_735 = 
NULLP(BgL_hooksz00_729); 
if(BgL_test2810z00_735)
{ /* ./Ast/build.scm 59 */
return BNIL;}  else 
{ /* ./Ast/build.scm 59 */
bool_t BgL_test2811z00_736;
{ /* ./Ast/build.scm 59 */
obj_t BgL_fun2825z00_741;
BgL_fun2825z00_741 = 
CAR(BgL_hooksz00_729); 
{ /* ./Ast/build.scm 59 */
obj_t BgL_auxz00_1378;
BgL_auxz00_1378 = 
PROCEDURE_ENTRY(BgL_fun2825z00_741)(BgL_fun2825z00_741, BEOA); 
BgL_test2811z00_736 = 
CBOOL(BgL_auxz00_1378); } } 
if(BgL_test2811z00_736)
{ /* ./Ast/build.scm 59 */
{ /* ./Ast/build.scm 59 */
obj_t BgL_arg2813z00_737;obj_t BgL_arg2814z00_738;
BgL_arg2813z00_737 = 
CDR(BgL_hooksz00_729); 
BgL_arg2814z00_738 = 
CDR(BgL_hnamesz00_730); 
{ 
obj_t BgL_hnamesz00_1386;obj_t BgL_hooksz00_1385;
BgL_hooksz00_1385 = BgL_arg2813z00_737; 
BgL_hnamesz00_1386 = BgL_arg2814z00_738; 
BgL_hnamesz00_730 = BgL_hnamesz00_1386; 
BgL_hooksz00_729 = BgL_hooksz00_1385; 
goto BgL_loopz00_731;} } }  else 
{ /* ./Ast/build.scm 59 */
{ /* ./Ast/build.scm 59 */
obj_t BgL_arg2820z00_740;
BgL_arg2820z00_740 = 
CAR(BgL_hnamesz00_730); 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_za2currentzd2passza2zd2zzengine_passz00, BGl_string3266z00zzast_buildz00, BgL_arg2820z00_740);} } } } } } } } } } } } 
}



/* _build-ast-sans-remove */
obj_t BGl__buildzd2astzd2sanszd2removezd2zzast_buildz00(obj_t BgL_envz00_1204, obj_t BgL_unitsz00_1205)
{ AN_OBJECT;
{ /* ./Ast/build.scm 44 */
return 
BGl_buildzd2astzd2sanszd2removezd2zzast_buildz00(BgL_unitsz00_1205);} 
}



/* sfun-def->ast */
BgL_globalz00_bglt BGl_sfunzd2defzd2ze3astze3zzast_buildz00(BgL_globalz00_bglt BgL_defz00_3)
{ AN_OBJECT;
{ /* ./Ast/build.scm 64 */
{ /* ./Ast/build.scm 65 */
obj_t BgL_arg2861z00_759;
{ /* ./Ast/build.scm 65 */
BgL_variablez00_bglt BgL_obj1093z00_1195;
BgL_obj1093z00_1195 = 
(BgL_variablez00_bglt)(BgL_defz00_3); 
BgL_arg2861z00_759 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1195))->BgL_idz00); } 
BGl_enterzd2functionzd2zztools_errorz00(BgL_arg2861z00_759); } 
{ /* ./Ast/build.scm 66 */
BgL_valuez00_bglt BgL_sfunz00_760;
{ /* ./Ast/build.scm 66 */
BgL_variablez00_bglt BgL_obj1100z00_1196;
BgL_obj1100z00_1196 = 
(BgL_variablez00_bglt)(BgL_defz00_3); 
BgL_sfunz00_760 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1196))->BgL_valuez00); } 
{ /* ./Ast/build.scm 66 */
obj_t BgL_sfunzd2argszd2_761;
{ /* ./Ast/build.scm 67 */
BgL_sfunz00_bglt BgL_obj1367z00_1197;
BgL_obj1367z00_1197 = 
(BgL_sfunz00_bglt)(BgL_sfunz00_760); 
BgL_sfunzd2argszd2_761 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1197))->BgL_argsz00); } 
{ /* ./Ast/build.scm 67 */
obj_t BgL_sfunzd2bodyzd2expz00_762;
{ /* ./Ast/build.scm 68 */
BgL_sfunz00_bglt BgL_obj1370z00_1198;
BgL_obj1370z00_1198 = 
(BgL_sfunz00_bglt)(BgL_sfunz00_760); 
BgL_sfunzd2bodyzd2expz00_762 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1370z00_1198))->BgL_bodyz00); } 
{ /* ./Ast/build.scm 68 */
obj_t BgL_defzd2loczd2_763;
{ /* ./Ast/build.scm 69 */
obj_t BgL_arg2873z00_767;
BgL_arg2873z00_767 = 
(((BgL_globalz00_bglt)CREF(BgL_defz00_3))->BgL_srcz00); 
BgL_defzd2loczd2_763 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_arg2873z00_767); } 
{ /* ./Ast/build.scm 69 */
BgL_nodez00_bglt BgL_bodyz00_764;
{ /* ./Ast/build.scm 72 */
obj_t BgL_arg2868z00_765;obj_t BgL_arg2869z00_766;
BgL_arg2868z00_765 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_sfunzd2bodyzd2expz00_762, BgL_defzd2loczd2_763); 
BgL_arg2869z00_766 = 
CNST_TABLE_REF(((long)2)); 
BgL_bodyz00_764 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_sfunzd2bodyzd2expz00_762, BgL_sfunzd2argszd2_761, BgL_arg2868z00_765, BgL_arg2869z00_766); } 
{ /* ./Ast/build.scm 70 */

{ /* ./Ast/build.scm 75 */
BgL_sfunz00_bglt BgL_obj1373z00_1200;obj_t BgL_val1371z00_1201;
BgL_obj1373z00_1200 = 
(BgL_sfunz00_bglt)(BgL_sfunz00_760); 
BgL_val1371z00_1201 = 
(obj_t)(BgL_bodyz00_764); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1200))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1201), BUNSPEC); } 
BGl_leavezd2functionzd2zztools_errorz00(); 
return BgL_defz00_3;} } } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_buildz00()
{ AN_OBJECT;
{ /* ./Ast/build.scm 14 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_buildz00()
{ AN_OBJECT;
{ /* ./Ast/build.scm 14 */
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "ast_build"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_build"); 
BGl_modulezd2initializa7ationz75zzengine_passz00(((long)10268), "ast_build"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_unitz00(((long)47192), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_findzd2gdefszd2(((long)59854), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_removez00(((long)12493), "ast_build"); 
BGl_modulezd2initializa7ationz75zzast_localz00(((long)28959), "ast_build"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "ast_build"); 
BGl_modulezd2initializa7ationz75zztools_prognz00(((long)55569), "ast_build"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_build"); 
return 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "ast_build");} 
}

