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


static obj_t BGl_methodzd2initzd2zzast_exitz00();
BGL_IMPORT obj_t open_input_string(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);
extern BgL_jumpzd2exzd2itz00_bglt BGl_makezd2jumpzd2exzd2itzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_nodez00_bglt, BgL_nodez00_bglt);
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern BgL_localz00_bglt BGl_makezd2localzd2sexitz00zzast_localz00(obj_t, BgL_typez00_bglt, BgL_sexitz00_bglt);
static obj_t BGl_cnstzd2initzd2zzast_exitz00();
static obj_t BGl_importedzd2moduleszd2initz00zzast_exitz00();
extern BgL_setzd2exzd2itz00_bglt BGl_makezd2setzd2exzd2itzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_varz00_bglt, BgL_nodez00_bglt);
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
extern BgL_sexitz00_bglt BGl_makezd2sexitzd2zzast_varz00(obj_t, bool_t);
BGL_EXPORTED_DECL BgL_jumpzd2exzd2itz00_bglt BGl_jumpzd2exitzd2ze3nodeze3zzast_exitz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_exitz00(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_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_prognz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
extern obj_t BGl_normaliza7ezd2prognz75zztools_prognz00(obj_t);
BGL_EXPORTED_DECL BgL_letzd2funzd2_bglt BGl_setzd2exitzd2ze3nodeze3zzast_exitz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__jumpzd2exitzd2ze3nodeze3zzast_exitz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_makezd2anonymouszd2namez00zzast_sexpz00(obj_t, obj_t);
extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t, obj_t, obj_t);
extern BgL_varz00_bglt BGl_makezd2varzd2zzast_nodez00(obj_t, BgL_typez00_bglt, BgL_variablez00_bglt);
extern obj_t BGl_za2exitza2z00zztype_cachez00;
static obj_t BGl__setzd2exitzd2ze3nodeze3zzast_exitz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_exitz00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zzast_exitz00();
extern obj_t BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t);
static obj_t __cnst[ 3 ] ;


DEFINE_STRING( BGl_string3148z00zzast_exitz00, BgL_bgl_string3148za700za7za7ast_exitza7003172z00, "snifun value labels ", 20 );
DEFINE_STRING( BGl_string3147z00zzast_exitz00, BgL_bgl_string3147za700za7za7ast_exitza7003173z00, "Illegal `jump-exit' form", 24 );
DEFINE_STRING( BGl_string3146z00zzast_exitz00, BgL_bgl_string3146za700za7za7ast_exitza7003174z00, "Illegal `set-exit' form", 23 );
DEFINE_STRING( BGl_string3145z00zzast_exitz00, BgL_bgl_string3145za700za7za7ast_exitza7003175z00, "exit", 4 );
DEFINE_EXPORT_PROCEDURE( BGl_setzd2exitzd2ze3nodezd2envz31zzast_exitz00, BgL_bgl__setza7d2exitza7d2za7e3nodeza7e3za7za7ast_exitza7003176za7, BGl__setzd2exitzd2ze3nodeze3zzast_exitz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_jumpzd2exitzd2ze3nodezd2envz31zzast_exitz00, BgL_bgl__jumpza7d2exitza7d2za7e3nodeza7e3za7za7ast_exitza7003177za7, BGl__jumpzd2exitzd2ze3nodeze3zzast_exitz00, 0L, 4 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_exitz00(long BgL_checksumz00_1146, char * BgL_fromz00_1147)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_exitz00))
{ 
BGl_requirezd2initializa7ationz75zzast_exitz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_exitz00(); 
BGl_cnstzd2initzd2zzast_exitz00(); 
BGl_importedzd2moduleszd2initz00zzast_exitz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_exitz00()
{ AN_OBJECT;
{ /* ./Ast/exit.scm 14 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_exit"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_exitz00()
{ AN_OBJECT;
{ /* ./Ast/exit.scm 14 */
{ /* ./Ast/exit.scm 14 */
obj_t BgL_cportz00_1139;
BgL_cportz00_1139 = 
open_input_string(BGl_string3148z00zzast_exitz00); 
{ 
long BgL_iz00_1140;
BgL_iz00_1140 = ((long)2); 
BgL_loopz00_1141:
{ /* ./Ast/exit.scm 14 */
bool_t BgL_test3150z00_1142;
BgL_test3150z00_1142 = 
(BgL_iz00_1140==((long)-1)); 
if(BgL_test3150z00_1142)
{ /* ./Ast/exit.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/exit.scm 14 */
{ /* ./Ast/exit.scm 14 */
obj_t BgL_arg3152z00_1143;
{ /* ./Ast/exit.scm 14 */
obj_t BgL_list3155z00_1144;
BgL_list3155z00_1144 = 
MAKE_PAIR(BgL_cportz00_1139, BNIL); 
BgL_arg3152z00_1143 = 
BGl_readz00zz__readerz00(BgL_list3155z00_1144); } 
{ /* ./Ast/exit.scm 14 */
int BgL_auxz00_1160;
BgL_auxz00_1160 = 
(int)(BgL_iz00_1140); 
CNST_TABLE_SET(BgL_auxz00_1160, BgL_arg3152z00_1143); } } 
{ /* ./Ast/exit.scm 14 */
int BgL_auxz00_1145;
{ /* ./Ast/exit.scm 14 */
long BgL_auxz00_1163;
BgL_auxz00_1163 = 
(BgL_iz00_1140-((long)1)); 
BgL_auxz00_1145 = 
(int)(BgL_auxz00_1163); } 
{ 
long BgL_iz00_1166;
BgL_iz00_1166 = 
(long)(BgL_auxz00_1145); 
BgL_iz00_1140 = BgL_iz00_1166; 
goto BgL_loopz00_1141;} } } } } } } 
}



/* set-exit->node */
BGL_EXPORTED_DEF BgL_letzd2funzd2_bglt BGl_setzd2exitzd2ze3nodeze3zzast_exitz00(obj_t BgL_expz00_1, obj_t BgL_stackz00_2, obj_t BgL_locz00_3, obj_t BgL_sitez00_4)
{ AN_OBJECT;
{ /* ./Ast/exit.scm 33 */
{ /* ./Ast/exit.scm 36 */
obj_t BgL_locz00_667;
BgL_locz00_667 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_1, BgL_locz00_3); 
{ 
obj_t BgL_exitz00_668;obj_t BgL_bodyz00_669;
{ /* ./Ast/exit.scm 37 */
bool_t BgL_test2666z00_673;
BgL_test2666z00_673 = 
PAIRP(BgL_expz00_1); 
if(BgL_test2666z00_673)
{ /* ./Ast/exit.scm 37 */
obj_t BgL_cdrzd2128zd2_674;
BgL_cdrzd2128zd2_674 = 
CDR(BgL_expz00_1); 
{ /* ./Ast/exit.scm 37 */
bool_t BgL_test2667z00_675;
BgL_test2667z00_675 = 
PAIRP(BgL_cdrzd2128zd2_674); 
if(BgL_test2667z00_675)
{ /* ./Ast/exit.scm 37 */
obj_t BgL_carzd2131zd2_676;
BgL_carzd2131zd2_676 = 
CAR(BgL_cdrzd2128zd2_674); 
{ /* ./Ast/exit.scm 37 */
bool_t BgL_test2668z00_677;
BgL_test2668z00_677 = 
PAIRP(BgL_carzd2131zd2_676); 
if(BgL_test2668z00_677)
{ /* ./Ast/exit.scm 37 */
bool_t BgL_test2669z00_678;
{ /* ./Ast/exit.scm 37 */
obj_t BgL_auxz00_1177;
BgL_auxz00_1177 = 
CDR(BgL_carzd2131zd2_676); 
BgL_test2669z00_678 = 
NULLP(BgL_auxz00_1177); } 
if(BgL_test2669z00_678)
{ /* ./Ast/exit.scm 37 */
obj_t BgL_arg2671z00_679;obj_t BgL_arg2672z00_680;
BgL_arg2671z00_679 = 
CAR(BgL_carzd2131zd2_676); 
BgL_arg2672z00_680 = 
CDR(BgL_cdrzd2128zd2_674); 
{ /* ./Ast/exit.scm 37 */
BgL_nodez00_bglt BgL_auxz00_1183;
BgL_exitz00_668 = BgL_arg2671z00_679; 
BgL_bodyz00_669 = BgL_arg2672z00_680; 
{ /* ./Ast/exit.scm 39 */
obj_t BgL_hdlgzd2namezd2_682;
{ /* ./Ast/exit.scm 40 */
obj_t BgL_arg2749z00_714;
{ /* ./Ast/exit.scm 40 */
obj_t BgL_list2752z00_715;
BgL_list2752z00_715 = 
MAKE_PAIR(BGl_string3145z00zzast_exitz00, BNIL); 
BgL_arg2749z00_714 = 
BGl_makezd2anonymouszd2namez00zzast_sexpz00(BgL_locz00_667, BgL_list2752z00_715); } 
BgL_hdlgzd2namezd2_682 = 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_arg2749z00_714); } 
{ /* ./Ast/exit.scm 39 */
obj_t BgL_hdlgzd2sexpzd2_683;
{ /* ./Ast/exit.scm 41 */
obj_t BgL_arg2724z00_703;obj_t BgL_arg2725z00_704;
BgL_arg2724z00_703 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Ast/exit.scm 41 */
obj_t BgL_arg2728z00_705;obj_t BgL_arg2729z00_706;
{ /* ./Ast/exit.scm 41 */
obj_t BgL_arg2732z00_707;
{ /* ./Ast/exit.scm 41 */
obj_t BgL_arg2736z00_709;
{ /* ./Ast/exit.scm 41 */
obj_t BgL_arg2740z00_711;
BgL_arg2740z00_711 = 
MAKE_PAIR(BUNSPEC, BNIL); 
BgL_arg2736z00_709 = 
MAKE_PAIR(BNIL, BgL_arg2740z00_711); } 
BgL_arg2732z00_707 = 
MAKE_PAIR(BgL_hdlgzd2namezd2_682, BgL_arg2736z00_709); } 
BgL_arg2728z00_705 = 
MAKE_PAIR(BgL_arg2732z00_707, BNIL); } 
{ /* ./Ast/exit.scm 42 */
obj_t BgL_arg2744z00_712;
BgL_arg2744z00_712 = 
MAKE_PAIR(BgL_hdlgzd2namezd2_682, BNIL); 
BgL_arg2729z00_706 = 
MAKE_PAIR(BgL_arg2744z00_712, BNIL); } 
BgL_arg2725z00_704 = 
MAKE_PAIR(BgL_arg2728z00_705, BgL_arg2729z00_706); } 
BgL_hdlgzd2sexpzd2_683 = 
MAKE_PAIR(BgL_arg2724z00_703, BgL_arg2725z00_704); } 
{ /* ./Ast/exit.scm 41 */
BgL_nodez00_bglt BgL_hdlgzd2nodezd2_684;
BgL_hdlgzd2nodezd2_684 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_hdlgzd2sexpzd2_683, BgL_stackz00_2, BgL_locz00_667, BgL_sitez00_4); 
{ /* ./Ast/exit.scm 43 */
obj_t BgL_hdlgzd2funzd2_685;
{ /* ./Ast/exit.scm 44 */
obj_t BgL_auxz00_1197;
{ /* ./Ast/exit.scm 44 */
BgL_letzd2funzd2_bglt BgL_obj2448z00_1108;
BgL_obj2448z00_1108 = 
(BgL_letzd2funzd2_bglt)(BgL_hdlgzd2nodezd2_684); 
BgL_auxz00_1197 = 
(((BgL_letzd2funzd2_bglt)CREF(BgL_obj2448z00_1108))->BgL_localsz00); } 
BgL_hdlgzd2funzd2_685 = 
CAR(BgL_auxz00_1197); } 
{ /* ./Ast/exit.scm 44 */
BgL_localz00_bglt BgL_exitz00_686;
{ /* ./Ast/exit.scm 45 */
BgL_sexitz00_bglt BgL_arg2758z00_1112;
{ /* ./Ast/exit.scm 45 */
obj_t BgL_arg2761z00_1113;
BgL_arg2761z00_1113 = BgL_hdlgzd2funzd2_685; 
BgL_arg2758z00_1112 = 
BGl_makezd2sexitzd2zzast_varz00(BgL_arg2761z00_1113, ((bool_t)0)); } 
BgL_exitz00_686 = 
BGl_makezd2localzd2sexitz00zzast_localz00(BgL_exitz00_668, 
(BgL_typez00_bglt)(BGl_za2exitza2z00zztype_cachez00), BgL_arg2758z00_1112); } 
{ /* ./Ast/exit.scm 45 */
BgL_nodez00_bglt BgL_bodyz00_687;
{ /* ./Ast/exit.scm 46 */
obj_t BgL_arg2711z00_699;obj_t BgL_arg2712z00_700;obj_t BgL_arg2713z00_701;
BgL_arg2711z00_699 = 
BGl_normaliza7ezd2prognz75zztools_prognz00(BgL_bodyz00_669); 
{ /* ./Ast/exit.scm 47 */
obj_t BgL_auxz00_1205;
BgL_auxz00_1205 = 
(obj_t)(BgL_exitz00_686); 
BgL_arg2712z00_700 = 
MAKE_PAIR(BgL_auxz00_1205, BgL_stackz00_2); } 
BgL_arg2713z00_701 = 
CNST_TABLE_REF(((long)1)); 
BgL_bodyz00_687 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2711z00_699, BgL_arg2712z00_700, BgL_locz00_667, BgL_arg2713z00_701); } 
{ /* ./Ast/exit.scm 46 */
BgL_setzd2exzd2itz00_bglt BgL_exitzd2bodyzd2_688;
{ /* ./Ast/exit.scm 51 */
obj_t BgL_arg2700z00_692;obj_t BgL_arg2701z00_693;BgL_varz00_bglt BgL_arg2702z00_694;BgL_nodez00_bglt BgL_arg2703z00_695;
BgL_arg2700z00_692 = BgL_locz00_667; 
BgL_arg2701z00_693 = BGl_za2_za2z00zztype_cachez00; 
{ /* ./Ast/exit.scm 55 */
obj_t BgL_arg2706z00_696;obj_t BgL_arg2707z00_697;BgL_localz00_bglt BgL_arg2708z00_698;
BgL_arg2706z00_696 = BgL_locz00_667; 
BgL_arg2707z00_697 = BGl_za2exitza2z00zztype_cachez00; 
BgL_arg2708z00_698 = BgL_exitz00_686; 
BgL_arg2702z00_694 = 
BGl_makezd2varzd2zzast_nodez00(BgL_arg2706z00_696, 
(BgL_typez00_bglt)(BgL_arg2707z00_697), 
(BgL_variablez00_bglt)(BgL_arg2708z00_698)); } 
BgL_arg2703z00_695 = BgL_bodyz00_687; 
BgL_exitzd2bodyzd2_688 = 
BGl_makezd2setzd2exzd2itzd2zzast_nodez00(BgL_arg2700z00_692, 
(BgL_typez00_bglt)(BgL_arg2701z00_693), BgL_arg2702z00_694, BgL_arg2703z00_695); } 
{ /* ./Ast/exit.scm 50 */

{ /* ./Ast/exit.scm 61 */
BgL_localz00_bglt BgL_obj1265z00_1114;bool_t BgL_val1264z00_1115;
BgL_obj1265z00_1114 = 
(BgL_localz00_bglt)(BgL_hdlgzd2funzd2_685); 
BgL_val1264z00_1115 = ((bool_t)1); 
((((BgL_localz00_bglt)CREF(BgL_obj1265z00_1114))->BgL_userzf3zf3) = ((bool_t)BgL_val1264z00_1115), BUNSPEC); } 
{ /* ./Ast/exit.scm 64 */
BgL_valuez00_bglt BgL_arg2691z00_689;obj_t BgL_arg2692z00_690;
{ /* ./Ast/exit.scm 64 */
BgL_variablez00_bglt BgL_obj1100z00_1116;
BgL_obj1100z00_1116 = 
(BgL_variablez00_bglt)(BgL_hdlgzd2funzd2_685); 
BgL_arg2691z00_689 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1116))->BgL_valuez00); } 
BgL_arg2692z00_690 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Ast/exit.scm 64 */
BgL_sfunz00_bglt BgL_obj1376z00_1117;obj_t BgL_val1375z00_1118;
BgL_obj1376z00_1117 = 
(BgL_sfunz00_bglt)(BgL_arg2691z00_689); 
BgL_val1375z00_1118 = BgL_arg2692z00_690; 
((((BgL_sfunz00_bglt)CREF(BgL_obj1376z00_1117))->BgL_classz00) = ((obj_t)BgL_val1375z00_1118), BUNSPEC); } } 
{ /* ./Ast/exit.scm 65 */
BgL_valuez00_bglt BgL_arg2696z00_691;
{ /* ./Ast/exit.scm 65 */
BgL_variablez00_bglt BgL_obj1100z00_1119;
BgL_obj1100z00_1119 = 
(BgL_variablez00_bglt)(BgL_hdlgzd2funzd2_685); 
BgL_arg2696z00_691 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1119))->BgL_valuez00); } 
{ /* ./Ast/exit.scm 65 */
BgL_sfunz00_bglt BgL_obj1373z00_1120;obj_t BgL_val1371z00_1121;
BgL_obj1373z00_1120 = 
(BgL_sfunz00_bglt)(BgL_arg2696z00_691); 
BgL_val1371z00_1121 = 
(obj_t)(BgL_exitzd2bodyzd2_688); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1120))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1121), BUNSPEC); } } 
BgL_auxz00_1183 = BgL_hdlgzd2nodezd2_684; } } } } } } } } 
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1183);} }  else 
{ /* ./Ast/exit.scm 37 */
BgL_nodez00_bglt BgL_auxz00_1228;
BgL_tagzd2121zd2_671:
BgL_auxz00_1228 = 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3146z00zzast_exitz00, BgL_expz00_1, BgL_locz00_667); 
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1228);} }  else 
{ /* ./Ast/exit.scm 37 */
BgL_nodez00_bglt BgL_auxz00_1231;
goto BgL_tagzd2121zd2_671;
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1231);} } }  else 
{ /* ./Ast/exit.scm 37 */
BgL_nodez00_bglt BgL_auxz00_1233;
goto BgL_tagzd2121zd2_671;
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1233);} } }  else 
{ /* ./Ast/exit.scm 37 */
BgL_nodez00_bglt BgL_auxz00_1235;
goto BgL_tagzd2121zd2_671;
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1235);} } } } } 
}



/* _set-exit->node */
obj_t BGl__setzd2exitzd2ze3nodeze3zzast_exitz00(obj_t BgL_envz00_1129, obj_t BgL_expz00_1130, obj_t BgL_stackz00_1131, obj_t BgL_locz00_1132, obj_t BgL_sitez00_1133)
{ AN_OBJECT;
{ /* ./Ast/exit.scm 33 */
{ /* ./Ast/exit.scm 35 */
BgL_letzd2funzd2_bglt BgL_auxz00_1237;
BgL_auxz00_1237 = 
BGl_setzd2exitzd2ze3nodeze3zzast_exitz00(BgL_expz00_1130, BgL_stackz00_1131, BgL_locz00_1132, BgL_sitez00_1133); 
return 
(obj_t)(BgL_auxz00_1237);} } 
}



/* jump-exit->node */
BGL_EXPORTED_DEF BgL_jumpzd2exzd2itz00_bglt BGl_jumpzd2exitzd2ze3nodeze3zzast_exitz00(obj_t BgL_expz00_5, obj_t BgL_stackz00_6, obj_t BgL_locz00_7, obj_t BgL_sitez00_8)
{ AN_OBJECT;
{ /* ./Ast/exit.scm 73 */
{ /* ./Ast/exit.scm 74 */
obj_t BgL_locz00_722;
BgL_locz00_722 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_5, BgL_locz00_7); 
{ 
obj_t BgL_exitz00_723;obj_t BgL_valuez00_724;
{ /* ./Ast/exit.scm 75 */
bool_t BgL_test2763z00_728;
BgL_test2763z00_728 = 
PAIRP(BgL_expz00_5); 
if(BgL_test2763z00_728)
{ /* ./Ast/exit.scm 75 */
obj_t BgL_cdrzd2146zd2_729;
BgL_cdrzd2146zd2_729 = 
CDR(BgL_expz00_5); 
{ /* ./Ast/exit.scm 75 */
bool_t BgL_test2764z00_730;
BgL_test2764z00_730 = 
PAIRP(BgL_cdrzd2146zd2_729); 
if(BgL_test2764z00_730)
{ /* ./Ast/exit.scm 75 */
obj_t BgL_arg2766z00_731;obj_t BgL_arg2767z00_732;
BgL_arg2766z00_731 = 
CAR(BgL_cdrzd2146zd2_729); 
BgL_arg2767z00_732 = 
CDR(BgL_cdrzd2146zd2_729); 
BgL_exitz00_723 = BgL_arg2766z00_731; 
BgL_valuez00_724 = BgL_arg2767z00_732; 
{ /* ./Ast/exit.scm 77 */
BgL_nodez00_bglt BgL_valuez00_733;BgL_nodez00_bglt BgL_exitz00_734;
{ /* ./Ast/exit.scm 77 */
obj_t BgL_arg2783z00_739;obj_t BgL_arg2784z00_740;
BgL_arg2783z00_739 = 
BGl_normaliza7ezd2prognz75zztools_prognz00(BgL_valuez00_724); 
BgL_arg2784z00_740 = 
CNST_TABLE_REF(((long)1)); 
BgL_valuez00_733 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2783z00_739, BgL_stackz00_6, BgL_locz00_722, BgL_arg2784z00_740); } 
BgL_exitz00_734 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_exitz00_723, BgL_stackz00_6, BgL_locz00_722, 
CNST_TABLE_REF(((long)1))); 
{ /* ./Ast/exit.scm 79 */
obj_t BgL_arg2777z00_735;obj_t BgL_arg2778z00_736;BgL_nodez00_bglt BgL_arg2779z00_737;BgL_nodez00_bglt BgL_arg2780z00_738;
BgL_arg2777z00_735 = BgL_locz00_722; 
BgL_arg2778z00_736 = BGl_za2_za2z00zztype_cachez00; 
BgL_arg2779z00_737 = BgL_exitz00_734; 
BgL_arg2780z00_738 = BgL_valuez00_733; 
return 
BGl_makezd2jumpzd2exzd2itzd2zzast_nodez00(BgL_arg2777z00_735, 
(BgL_typez00_bglt)(BgL_arg2778z00_736), BgL_arg2779z00_737, BgL_arg2780z00_738);} } }  else 
{ /* ./Ast/exit.scm 75 */
BgL_nodez00_bglt BgL_auxz00_1255;
BgL_tagzd2139zd2_726:
BgL_auxz00_1255 = 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3147z00zzast_exitz00, BgL_expz00_5, BgL_locz00_722); 
return 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_auxz00_1255);} } }  else 
{ /* ./Ast/exit.scm 75 */
BgL_nodez00_bglt BgL_auxz00_1258;
goto BgL_tagzd2139zd2_726;
return 
(BgL_jumpzd2exzd2itz00_bglt)(BgL_auxz00_1258);} } } } } 
}



/* _jump-exit->node */
obj_t BGl__jumpzd2exitzd2ze3nodeze3zzast_exitz00(obj_t BgL_envz00_1134, obj_t BgL_expz00_1135, obj_t BgL_stackz00_1136, obj_t BgL_locz00_1137, obj_t BgL_sitez00_1138)
{ AN_OBJECT;
{ /* ./Ast/exit.scm 73 */
{ /* ./Ast/exit.scm 74 */
BgL_jumpzd2exzd2itz00_bglt BgL_auxz00_1260;
BgL_auxz00_1260 = 
BGl_jumpzd2exitzd2ze3nodeze3zzast_exitz00(BgL_expz00_1135, BgL_stackz00_1136, BgL_locz00_1137, BgL_sitez00_1138); 
return 
(obj_t)(BgL_auxz00_1260);} } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_exitz00()
{ AN_OBJECT;
{ /* ./Ast/exit.scm 14 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_exit"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_exit"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_exit"); 
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "ast_exit"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_exit"); 
BGl_modulezd2initializa7ationz75zzast_localz00(((long)28959), "ast_exit"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "ast_exit"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_exit"); 
BGl_modulezd2initializa7ationz75zztools_prognz00(((long)55569), "ast_exit"); 
return 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_exit");} 
}

