/*===========================================================================*/
/*   (Tools/error.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 Tools/error.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_methodzd2initzd2zztools_errorz00();
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_za2sfunzd2stackza2zd2zztools_errorz00 = BUNSPEC;
BGL_IMPORT obj_t display_char(obj_t, obj_t);
BGL_IMPORT obj_t BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(obj_t, obj_t, obj_t);
extern obj_t BGl_za2tracezd2portza2zd2zztools_tracez00;
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static obj_t BGl_zc3anonymousza32812ze3z83zztools_errorz00(obj_t);
static obj_t BGl_zc3anonymousza32814ze3z83zztools_errorz00(obj_t);
BGL_IMPORT obj_t BGl_displayzd2circlezd2zz__pp_circlez00(obj_t, obj_t);
static obj_t BGl_zc3exitza32804ze3z83zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32818ze3z83zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_errorzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32821ze3z83zztools_errorz00(obj_t);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
static obj_t BGl_escapez00zztools_errorz00(obj_t, obj_t);
static obj_t BGl__nozd2warningzd2zztools_errorz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_enterzd2functionzd2zztools_errorz00(obj_t);
static obj_t BGl_cnstzd2initzd2zztools_errorz00();
BGL_EXPORTED_DECL obj_t BGl_leavezd2functionzd2zztools_errorz00();
BGL_IMPORT obj_t c_substring(obj_t, int, int);
BGL_EXPORTED_DEF obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_displayzd22zd2zz__r4_output_6_10_3z00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32844ze3z83zztools_errorz00(obj_t);
extern obj_t BGl_za2currentzd2passza2zd2zzengine_passz00;
BGL_IMPORT obj_t open_output_string();
static obj_t BGl_importedzd2moduleszd2initz00zztools_errorz00();
static obj_t BGl_zc3anonymousza32846ze3z83zztools_errorz00(obj_t);
static obj_t BGl_zc3exitza32836ze3z83zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2bigloozd2emailza2zd2zzengine_paramz00;
static obj_t BGl_zc3anonymousza32850ze3z83zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_currentzd2functionzd2zztools_errorz00();
static obj_t BGl_zc3anonymousza32853ze3z83zztools_errorz00(obj_t);
BGL_IMPORT obj_t BGl_notifyzd2errorzd2zz__errorz00(obj_t, obj_t, obj_t);
static obj_t BGl__internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_addzd2errorzd2handlerz12z12zz__errorz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zztools_errorz00();
BGL_EXPORTED_DECL obj_t BGl_userzd2warningzd2zztools_errorz00(obj_t, obj_t, obj_t);
static obj_t BGl__userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(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_modulezd2initializa7ationz75zzengine_passz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzinit_mainz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__pp_circlez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
static obj_t BGl_handlerz00zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t close_output_port(obj_t);
static obj_t BGl__leavezd2functionzd2zztools_errorz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t string_to_symbol(char *);
BGL_EXPORTED_DECL obj_t BGl_nozd2warningzd2zztools_errorz00(obj_t);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
static obj_t BGl__userzd2warningzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_unwindzd2untilz12zc0zz__bexitz00(obj_t, obj_t);
extern obj_t BGl_za2bigloozd2authorza2zd2zzengine_paramz00;
BGL_IMPORT obj_t display_string(obj_t, obj_t);
static obj_t BGl_escape_3256z00zztools_errorz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_removezd2errorzd2handlerz12z12zz__errorz00();
static obj_t BGl_sharpzd2symbolzd2zztools_errorz00 = BUNSPEC;
BGL_IMPORT bool_t bigloo_strcmp(obj_t, obj_t);
static obj_t BGl__userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_warningz00zz__errorz00(obj_t);
static obj_t BGl__enterzd2function3261zd2zztools_errorz00(obj_t, obj_t);
static obj_t BGl__currentzd2functionzd2zztools_errorz00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zztools_errorz00 = BUNSPEC;
BGL_IMPORT obj_t BGl_warningzf2locationzf2zz__errorz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_za2warningza2z00zz__errorz00;
static obj_t BGl_libraryzd2moduleszd2initz00zztools_errorz00();
extern obj_t BGl_exitzd2bigloozd2zzinit_mainz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t __cnst[ 2 ] ;


DEFINE_EXPORT_PROCEDURE( BGl_userzd2errorzd2envz00zztools_errorz00, BgL_bgl__userza7d2errorza7d2za7za7tools_errorza7003423za7, va_generic_entry, BGl__userzd2errorzd2zztools_errorz00, -4 );
DEFINE_EXPORT_PROCEDURE( BGl_userzd2warningzd2envz00zztools_errorz00, BgL_bgl__userza7d2warningza7d2za7za7tools_errorza7003424za7, BGl__userzd2warningzd2zztools_errorz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_nozd2warningzd2envz00zztools_errorz00, BgL_bgl__noza7d2warningza7d2za7za7tools_errorza7003425za7, BGl__nozd2warningzd2zztools_errorz00, 0L, 1 );
DEFINE_STRING( BGl_string3393z00zztools_errorz00, BgL_bgl_string3393za700za7za7tools_errorza7003426z00, "location (top-level) ", 21 );
DEFINE_STRING( BGl_string3392z00zztools_errorz00, BgL_bgl_string3392za700za7za7tools_errorza7003427z00, " ...", 4 );
DEFINE_STRING( BGl_string3391z00zztools_errorz00, BgL_bgl_string3391za700za7za7tools_errorza7003428z00, "*** ERROR:", 10 );
DEFINE_STRING( BGl_string3390z00zztools_errorz00, BgL_bgl_string3390za700za7za7tools_errorza7003429z00, " -- ", 4 );
DEFINE_STRING( BGl_string3389z00zztools_errorz00, BgL_bgl_string3389za700za7za7tools_errorza7003430z00, "], thank you.)", 14 );
DEFINE_STRING( BGl_string3388z00zztools_errorz00, BgL_bgl_string3388za700za7za7tools_errorza7003431z00, " [", 2 );
DEFINE_STRING( BGl_string3387z00zztools_errorz00, BgL_bgl_string3387za700za7za7tools_errorza7003432z00, "(Would you, please, send this error report and the source file to", 65 );
DEFINE_STRING( BGl_string3386z00zztools_errorz00, BgL_bgl_string3386za700za7za7tools_errorza7003433z00, "*** INTERNAL-ERROR in pass: ", 28 );
DEFINE_STRING( BGl_string3385z00zztools_errorz00, BgL_bgl_string3385za700za7za7tools_errorza7003434z00, ":", 1 );
DEFINE_STRING( BGl_string3384z00zztools_errorz00, BgL_bgl_string3384za700za7za7tools_errorza7003435z00, "*** ERROR: ", 11 );
DEFINE_STRING( BGl_string3383z00zztools_errorz00, BgL_bgl_string3383za700za7za7tools_errorza7003436z00, "#", 1 );
DEFINE_EXPORT_PROCEDURE( BGl_enterzd2functionzd2envz00zztools_errorz00, BgL_bgl__enterza7d2function3261za7d2za7za7tools_errorza7003437za7, BGl__enterzd2function3261zd2zztools_errorz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_userzd2warningzf2locationzd2envzf2zztools_errorz00, BgL_bgl__userza7d2warningza7f2locationza720za7za7tools_errorza7003438z00, BGl__userzd2warningzf2locationz20zztools_errorz00, 0L, 4 );
DEFINE_EXPORT_PROCEDURE( BGl_userzd2errorzf2locationzd2envzf2zztools_errorz00, BgL_bgl__userza7d2errorza7f2locationza720za7za7tools_errorza7003439z00, va_generic_entry, BGl__userzd2errorzf2locationz20zztools_errorz00, -5 );
DEFINE_EXPORT_PROCEDURE( BGl_leavezd2functionzd2envz00zztools_errorz00, BgL_bgl__leaveza7d2functionza7d2za7za7tools_errorza7003440za7, BGl__leavezd2functionzd2zztools_errorz00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_internalzd2errorzd2envz00zztools_errorz00, BgL_bgl__internalza7d2errorza7d2za7za7tools_errorza7003441za7, BGl__internalzd2errorzd2zztools_errorz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_currentzd2functionzd2envz00zztools_errorz00, BgL_bgl__currentza7d2functionza7d2za7za7tools_errorza7003442za7, BGl__currentzd2functionzd2zztools_errorz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long BgL_checksumz00_1380, char * BgL_fromz00_1381)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zztools_errorz00))
{ 
BGl_requirezd2initializa7ationz75zztools_errorz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zztools_errorz00(); 
BGl_cnstzd2initzd2zztools_errorz00(); 
BGl_importedzd2moduleszd2initz00zztools_errorz00(); 
BGl_toplevelzd2initzd2zztools_errorz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "tools_error"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "tools_error"); 
BGl_modulezd2initializa7ationz75zz__pp_circlez00(((long)0), "tools_error"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "tools_error"); 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)0), "tools_error"); 
BGl_modulezd2initializa7ationz75zz__bexitz00(((long)0), "tools_error"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 15 */
{ /* ./Tools/error.scm 15 */
obj_t BgL_cportz00_1373;
BgL_cportz00_1373 = 
open_input_string(BGl_string3393z00zztools_errorz00); 
{ 
long BgL_iz00_1374;
BgL_iz00_1374 = ((long)1); 
BgL_loopz00_1375:
{ /* ./Tools/error.scm 15 */
bool_t BgL_test3395z00_1376;
BgL_test3395z00_1376 = 
(BgL_iz00_1374==((long)-1)); 
if(BgL_test3395z00_1376)
{ /* ./Tools/error.scm 15 */
return BUNSPEC;}  else 
{ /* ./Tools/error.scm 15 */
{ /* ./Tools/error.scm 15 */
obj_t BgL_arg3397z00_1377;
{ /* ./Tools/error.scm 15 */
obj_t BgL_list3400z00_1378;
BgL_list3400z00_1378 = 
MAKE_PAIR(BgL_cportz00_1373, BNIL); 
BgL_arg3397z00_1377 = 
BGl_readz00zz__readerz00(BgL_list3400z00_1378); } 
{ /* ./Tools/error.scm 15 */
int BgL_auxz00_1400;
BgL_auxz00_1400 = 
(int)(BgL_iz00_1374); 
CNST_TABLE_SET(BgL_auxz00_1400, BgL_arg3397z00_1377); } } 
{ /* ./Tools/error.scm 15 */
int BgL_auxz00_1379;
{ /* ./Tools/error.scm 15 */
long BgL_auxz00_1403;
BgL_auxz00_1403 = 
(BgL_iz00_1374-((long)1)); 
BgL_auxz00_1379 = 
(int)(BgL_auxz00_1403); } 
{ 
long BgL_iz00_1406;
BgL_iz00_1406 = 
(long)(BgL_auxz00_1379); 
BgL_iz00_1374 = BgL_iz00_1406; 
goto BgL_loopz00_1375;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 15 */
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(((long)0)); 
BGl_za2sfunzd2stackza2zd2zztools_errorz00 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Tools/error.scm 165 */
char * BgL_auxz00_1410;
BgL_auxz00_1410 = 
BSTRING_TO_STRING(BGl_string3383z00zztools_errorz00); 
return ( 
BGl_sharpzd2symbolzd2zztools_errorz00 = 
string_to_symbol(BgL_auxz00_1410), BUNSPEC) ;} } 
}



/* internal-error */
BGL_EXPORTED_DEF obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t BgL_procz00_15, obj_t BgL_mesz00_16, obj_t BgL_objz00_17)
{ AN_OBJECT;
{ /* ./Tools/error.scm 43 */
{ /* ./Tools/error.scm 44 */
bool_t BgL_test2716z00_703;
{ /* ./Tools/error.scm 44 */
obj_t BgL_objz00_1191;
BgL_objz00_1191 = BGl_za2tracezd2portza2zd2zztools_tracez00; 
BgL_test2716z00_703 = 
OUTPUT_PORTP(BgL_objz00_1191); } 
if(BgL_test2716z00_703)
{ /* ./Tools/error.scm 45 */
obj_t BgL_port2662z00_704;
BgL_port2662z00_704 = BGl_za2tracezd2portza2zd2zztools_tracez00; 
display_string(BGl_string3384z00zztools_errorz00, BgL_port2662z00_704); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_procz00_15, BgL_port2662z00_704); 
display_string(BGl_string3385z00zztools_errorz00, BgL_port2662z00_704); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_mesz00_16, BgL_port2662z00_704); 
display_string(BGl_string3385z00zztools_errorz00, BgL_port2662z00_704); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_objz00_17, BgL_port2662z00_704); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2662z00_704); }  else 
{ /* ./Tools/error.scm 44 */BFALSE; } } 
{ /* ./Tools/error.scm 46 */
obj_t BgL_port2663z00_705;
BgL_port2663z00_705 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string3386z00zztools_errorz00, BgL_port2663z00_705); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2currentzd2passza2zd2zzengine_passz00, BgL_port2663z00_705); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2663z00_705); } 
{ /* ./Tools/error.scm 48 */
obj_t BgL_port2664z00_706;
BgL_port2664z00_706 = 
BGL_CURRENT_ERROR_PORT(); 
display_string(BGl_string3387z00zztools_errorz00, BgL_port2664z00_706); 
{ /* ./Tools/error.scm 48 */
obj_t BgL_auxz00_1428;
BgL_auxz00_1428 = 
BCHAR(((unsigned char)'\n')); 
display_char(BgL_auxz00_1428, BgL_port2664z00_706); } 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2bigloozd2authorza2zd2zzengine_paramz00, BgL_port2664z00_706); 
display_string(BGl_string3388z00zztools_errorz00, BgL_port2664z00_706); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BGl_za2bigloozd2emailza2zd2zzengine_paramz00, BgL_port2664z00_706); 
display_string(BGl_string3389z00zztools_errorz00, BgL_port2664z00_706); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2664z00_706); } 
FAILURE(BgL_procz00_15,BgL_mesz00_16,BgL_objz00_17);} 
}



/* _internal-error */
obj_t BGl__internalzd2errorzd2zztools_errorz00(obj_t BgL_envz00_1264, obj_t BgL_procz00_1265, obj_t BgL_mesz00_1266, obj_t BgL_objz00_1267)
{ AN_OBJECT;
{ /* ./Tools/error.scm 43 */
return 
BGl_internalzd2errorzd2zztools_errorz00(BgL_procz00_1265, BgL_mesz00_1266, BgL_objz00_1267);} 
}



/* user-warning/location */
BGL_EXPORTED_DEF obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t BgL_locz00_18, obj_t BgL_procz00_19, obj_t BgL_mesz00_20, obj_t BgL_objz00_21)
{ AN_OBJECT;
{ /* ./Tools/error.scm 58 */
{ /* ./Tools/error.scm 59 */
bool_t BgL_test2739z00_707;
if(
STRUCTP(BgL_locz00_18))
{ /* ./Tools/error.scm 59 */
obj_t BgL_auxz00_1444;obj_t BgL_auxz00_1442;
BgL_auxz00_1444 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_1442 = 
STRUCT_KEY(BgL_locz00_18); 
BgL_test2739z00_707 = 
(BgL_auxz00_1442==BgL_auxz00_1444); }  else 
{ /* ./Tools/error.scm 59 */
BgL_test2739z00_707 = ((bool_t)0); } 
if(BgL_test2739z00_707)
{ /* ./Tools/error.scm 61 */
obj_t BgL_arg2741z00_708;obj_t BgL_arg2742z00_709;
{ /* ./Tools/error.scm 61 */
int BgL_auxz00_1448;
BgL_auxz00_1448 = 
(int)(((long)0)); 
BgL_arg2741z00_708 = 
STRUCT_REF(BgL_locz00_18, BgL_auxz00_1448); } 
{ /* ./Tools/error.scm 62 */
int BgL_auxz00_1451;
BgL_auxz00_1451 = 
(int)(((long)1)); 
BgL_arg2742z00_709 = 
STRUCT_REF(BgL_locz00_18, BgL_auxz00_1451); } 
{ /* ./Tools/error.scm 61 */
obj_t BgL_list2745z00_711;
{ /* ./Tools/error.scm 61 */
obj_t BgL_arg2747z00_712;
{ /* ./Tools/error.scm 61 */
obj_t BgL_arg2750z00_713;
{ /* ./Tools/error.scm 61 */
obj_t BgL_arg2753z00_714;
BgL_arg2753z00_714 = 
MAKE_PAIR(BgL_objz00_21, BNIL); 
BgL_arg2750z00_713 = 
MAKE_PAIR(BGl_string3390z00zztools_errorz00, BgL_arg2753z00_714); } 
BgL_arg2747z00_712 = 
MAKE_PAIR(BgL_mesz00_20, BgL_arg2750z00_713); } 
BgL_list2745z00_711 = 
MAKE_PAIR(BgL_procz00_19, BgL_arg2747z00_712); } 
return 
BGl_warningzf2locationzf2zz__errorz00(BgL_arg2741z00_708, BgL_arg2742z00_709, BgL_list2745z00_711);} }  else 
{ /* ./Tools/error.scm 60 */
obj_t BgL_list2759z00_715;
{ /* ./Tools/error.scm 60 */
obj_t BgL_arg2761z00_716;
{ /* ./Tools/error.scm 60 */
obj_t BgL_arg2764z00_717;
{ /* ./Tools/error.scm 60 */
obj_t BgL_arg2768z00_719;
BgL_arg2768z00_719 = 
MAKE_PAIR(BgL_objz00_21, BNIL); 
BgL_arg2764z00_717 = 
MAKE_PAIR(BGl_string3390z00zztools_errorz00, BgL_arg2768z00_719); } 
BgL_arg2761z00_716 = 
MAKE_PAIR(BgL_mesz00_20, BgL_arg2764z00_717); } 
BgL_list2759z00_715 = 
MAKE_PAIR(BgL_procz00_19, BgL_arg2761z00_716); } 
return 
BGl_warningz00zz__errorz00(BgL_list2759z00_715);} } } 
}



/* _user-warning/location */
obj_t BGl__userzd2warningzf2locationz20zztools_errorz00(obj_t BgL_envz00_1268, obj_t BgL_locz00_1269, obj_t BgL_procz00_1270, obj_t BgL_mesz00_1271, obj_t BgL_objz00_1272)
{ AN_OBJECT;
{ /* ./Tools/error.scm 58 */
return 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_locz00_1269, BgL_procz00_1270, BgL_mesz00_1271, BgL_objz00_1272);} 
}



/* user-warning */
BGL_EXPORTED_DEF obj_t BGl_userzd2warningzd2zztools_errorz00(obj_t BgL_procz00_22, obj_t BgL_mesz00_23, obj_t BgL_objz00_24)
{ AN_OBJECT;
{ /* ./Tools/error.scm 71 */
{ /* ./Tools/error.scm 72 */
obj_t BgL_arg2773z00_1211;
BgL_arg2773z00_1211 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_objz00_24); 
return 
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_arg2773z00_1211, BgL_procz00_22, BgL_mesz00_23, BgL_objz00_24);} } 
}



/* _user-warning */
obj_t BGl__userzd2warningzd2zztools_errorz00(obj_t BgL_envz00_1273, obj_t BgL_procz00_1274, obj_t BgL_mesz00_1275, obj_t BgL_objz00_1276)
{ AN_OBJECT;
{ /* ./Tools/error.scm 71 */
return 
BGl_userzd2warningzd2zztools_errorz00(BgL_procz00_1274, BgL_mesz00_1275, BgL_objz00_1276);} 
}



/* no-warning */
BGL_EXPORTED_DEF obj_t BGl_nozd2warningzd2zztools_errorz00(obj_t BgL_thunkz00_25)
{ AN_OBJECT;
{ /* ./Tools/error.scm 77 */
{ /* ./Tools/error.scm 78 */
obj_t BgL_warningz00_721;
BgL_warningz00_721 = BGl_za2warningza2z00zz__errorz00; 
BGl_za2warningza2z00zz__errorz00 = BFALSE; 
{ /* ./Tools/error.scm 80 */
obj_t BgL_valz00_722;
BgL_valz00_722 = 
PROCEDURE_ENTRY(BgL_thunkz00_25)(BgL_thunkz00_25, BEOA); 
BGl_za2warningza2z00zz__errorz00 = BgL_warningz00_721; 
return BgL_valz00_722;} } } 
}



/* _no-warning */
obj_t BGl__nozd2warningzd2zztools_errorz00(obj_t BgL_envz00_1277, obj_t BgL_thunkz00_1278)
{ AN_OBJECT;
{ /* ./Tools/error.scm 77 */
return 
BGl_nozd2warningzd2zztools_errorz00(BgL_thunkz00_1278);} 
}



/* user-error */
BGL_EXPORTED_DEF obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t BgL_procz00_26, obj_t BgL_mesz00_27, obj_t BgL_objz00_28, obj_t BgL_continuez00_29)
{ AN_OBJECT;
{ /* ./Tools/error.scm 87 */
{ /* ./Tools/error.scm 88 */
bool_t BgL_test2777z00_723;
BgL_test2777z00_723 = 
PAIRP(BgL_continuez00_29); 
if(BgL_test2777z00_723)
{ /* ./Tools/error.scm 89 */
obj_t BgL_arg2779z00_724;obj_t BgL_arg2780z00_725;
BgL_arg2779z00_724 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_objz00_28); 
BgL_arg2780z00_725 = 
CAR(BgL_continuez00_29); 
{ /* ./Tools/error.scm 89 */
obj_t BgL_list2782z00_726;
BgL_list2782z00_726 = 
MAKE_PAIR(BgL_arg2780z00_725, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2779z00_724, BgL_procz00_26, BgL_mesz00_27, BgL_objz00_28, BgL_list2782z00_726);} }  else 
{ /* ./Tools/error.scm 91 */
obj_t BgL_arg2787z00_727;
BgL_arg2787z00_727 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_objz00_28); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2787z00_727, BgL_procz00_26, BgL_mesz00_27, BgL_objz00_28, BNIL);} } } 
}



/* _user-error */
obj_t BGl__userzd2errorzd2zztools_errorz00(obj_t BgL_envz00_1279, obj_t BgL_procz00_1280, obj_t BgL_mesz00_1281, obj_t BgL_objz00_1282, obj_t BgL_continuez00_1283)
{ AN_OBJECT;
{ /* ./Tools/error.scm 87 */
return 
BGl_userzd2errorzd2zztools_errorz00(BgL_procz00_1280, BgL_mesz00_1281, BgL_objz00_1282, BgL_continuez00_1283);} 
}



/* user-error/location */
BGL_EXPORTED_DEF obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t BgL_locz00_30, obj_t BgL_procz00_31, obj_t BgL_mesz00_32, obj_t BgL_objz00_33, obj_t BgL_continuez00_34)
{ AN_OBJECT;
{ /* ./Tools/error.scm 96 */
{ /* ./Tools/error.scm 97 */
bool_t BgL_test2792z00_729;
{ /* ./Tools/error.scm 97 */
obj_t BgL_objz00_1214;
BgL_objz00_1214 = BGl_za2tracezd2portza2zd2zztools_tracez00; 
BgL_test2792z00_729 = 
OUTPUT_PORTP(BgL_objz00_1214); } 
if(BgL_test2792z00_729)
{ /* ./Tools/error.scm 98 */
obj_t BgL_port2665z00_730;
BgL_port2665z00_730 = BGl_za2tracezd2portza2zd2zztools_tracez00; 
display_string(BGl_string3391z00zztools_errorz00, BgL_port2665z00_730); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_procz00_31, BgL_port2665z00_730); 
display_string(BGl_string3385z00zztools_errorz00, BgL_port2665z00_730); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_mesz00_32, BgL_port2665z00_730); 
display_string(BGl_string3385z00zztools_errorz00, BgL_port2665z00_730); 
BGl_displayzd22zd2zz__r4_output_6_10_3z00(BgL_objz00_33, BgL_port2665z00_730); 
WRITE_CHAR(((unsigned char)'\n'), BgL_port2665z00_730); }  else 
{ /* ./Tools/error.scm 97 */BFALSE; } } 
{ /* ./Tools/error.scm 99 */
long BgL_za71za7_1216;
BgL_za71za7_1216 = 
(long)CINT(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00); 
{ /* ./Tools/error.scm 99 */
long BgL_auxz00_1490;
BgL_auxz00_1490 = 
(BgL_za71za7_1216+((long)1)); 
BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = 
BINT(BgL_auxz00_1490); } } 
{ /* ./Tools/error.scm 100 */
obj_t BgL_proczd2stringzd2_731;
{ /* ./Tools/error.scm 101 */
bool_t BgL_test2890z00_810;
BgL_test2890z00_810 = 
STRINGP(BgL_procz00_31); 
if(BgL_test2890z00_810)
{ /* ./Tools/error.scm 101 */
BgL_proczd2stringzd2_731 = BgL_procz00_31; }  else 
{ /* ./Tools/error.scm 103 */
bool_t BgL_test2891z00_811;
BgL_test2891z00_811 = 
SYMBOLP(BgL_procz00_31); 
if(BgL_test2891z00_811)
{ /* ./Tools/error.scm 103 */
BgL_proczd2stringzd2_731 = 
SYMBOL_TO_STRING(BgL_procz00_31); }  else 
{ /* ./Tools/error.scm 103 */
BgL_proczd2stringzd2_731 = BFALSE; } } } 
{ /* ./Tools/error.scm 100 */
obj_t BgL_funzd2stringzd2_732;
{ /* ./Tools/error.scm 107 */
obj_t BgL_arg2887z00_809;
{ /* ./Tools/error.scm 107 */
obj_t BgL_pairz00_1221;
BgL_pairz00_1221 = BGl_za2sfunzd2stackza2zd2zztools_errorz00; 
BgL_arg2887z00_809 = 
CAR(BgL_pairz00_1221); } 
BgL_funzd2stringzd2_732 = 
SYMBOL_TO_STRING(BgL_arg2887z00_809); } 
{ /* ./Tools/error.scm 107 */
obj_t BgL_procz00_733;
{ /* ./Tools/error.scm 108 */
bool_t BgL_test2880z00_806;
{ /* ./Tools/error.scm 108 */
bool_t BgL_test2882z00_807;
BgL_test2882z00_807 = 
STRINGP(BgL_proczd2stringzd2_731); 
if(BgL_test2882z00_807)
{ /* ./Tools/error.scm 109 */
bool_t BgL_test2883z00_808;
BgL_test2883z00_808 = 
bigloo_strcmp(BgL_proczd2stringzd2_731, BgL_funzd2stringzd2_732); 
if(BgL_test2883z00_808)
{ /* ./Tools/error.scm 109 */
BgL_test2880z00_806 = ((bool_t)0); }  else 
{ /* ./Tools/error.scm 109 */
BgL_test2880z00_806 = ((bool_t)1); } }  else 
{ /* ./Tools/error.scm 108 */
BgL_test2880z00_806 = ((bool_t)0); } } 
if(BgL_test2880z00_806)
{ /* ./Tools/error.scm 108 */
BgL_procz00_733 = 
string_append_3(BgL_funzd2stringzd2_732, BGl_string3385z00zztools_errorz00, BgL_proczd2stringzd2_731); }  else 
{ /* ./Tools/error.scm 108 */
BgL_procz00_733 = BgL_funzd2stringzd2_732; } } 
{ /* ./Tools/error.scm 108 */

{ /* ./Tools/error.scm 112 */
obj_t BgL_objzd2prnzd2_734;
{ /* ./Tools/error.scm 112 */
obj_t BgL_portz00_791;
BgL_portz00_791 = 
open_output_string(); 
{ /* ./Tools/error.scm 113 */
obj_t BgL_list2859z00_792;
BgL_list2859z00_792 = 
MAKE_PAIR(BgL_portz00_791, BNIL); 
BGl_displayzd2circlezd2zz__pp_circlez00(BgL_objz00_33, BgL_list2859z00_792); } 
{ /* ./Tools/error.scm 114 */
obj_t BgL_stringz00_793;
BgL_stringz00_793 = 
close_output_port(BgL_portz00_791); 
{ /* ./Tools/error.scm 115 */
bool_t BgL_test2861z00_794;
{ /* ./Tools/error.scm 115 */
long BgL_auxz00_1510;
{ /* ./Tools/error.scm 115 */
int BgL_auxz00_1511;
BgL_auxz00_1511 = 
STRING_LENGTH(BgL_stringz00_793); 
BgL_auxz00_1510 = 
(long)(BgL_auxz00_1511); } 
BgL_test2861z00_794 = 
(BgL_auxz00_1510>((long)45)); } 
if(BgL_test2861z00_794)
{ /* ./Tools/error.scm 116 */
obj_t BgL_arg2863z00_795;
{ /* ./Tools/error.scm 116 */
int BgL_startz00_1231;int BgL_endz00_1232;
BgL_startz00_1231 = 
(int)(((long)0)); 
BgL_endz00_1232 = 
(int)(((long)44)); 
BgL_arg2863z00_795 = 
c_substring(BgL_stringz00_793, BgL_startz00_1231, BgL_endz00_1232); } 
BgL_objzd2prnzd2_734 = 
string_append(BgL_arg2863z00_795, BGl_string3392z00zztools_errorz00); }  else 
{ /* ./Tools/error.scm 115 */
BgL_objzd2prnzd2_734 = BgL_stringz00_793; } } } } 
{ /* ./Tools/error.scm 119 */
obj_t BgL_handlerz00_1294;
{ 
int BgL_auxz00_1522;int BgL_auxz00_1520;
BgL_auxz00_1522 = 
(int)(((long)1)); 
BgL_auxz00_1520 = 
(int)(((long)4)); 
BgL_handlerz00_1294 = 
make_fx_procedure(BGl_handlerz00zztools_errorz00, BgL_auxz00_1520, BgL_auxz00_1522); } 
{ /* ./Tools/error.scm 119 */
int BgL_auxz00_1525;
BgL_auxz00_1525 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_handlerz00_1294, BgL_auxz00_1525, BgL_continuez00_34); } 
{ /* ./Tools/error.scm 121 */
bool_t BgL_test2802z00_736;
if(
STRUCTP(BgL_locz00_30))
{ /* ./Tools/error.scm 121 */
obj_t BgL_auxz00_1532;obj_t BgL_auxz00_1530;
BgL_auxz00_1532 = 
CNST_TABLE_REF(((long)1)); 
BgL_auxz00_1530 = 
STRUCT_KEY(BgL_locz00_30); 
BgL_test2802z00_736 = 
(BgL_auxz00_1530==BgL_auxz00_1532); }  else 
{ /* ./Tools/error.scm 121 */
BgL_test2802z00_736 = ((bool_t)0); } 
if(BgL_test2802z00_736)
{ /* ./Tools/error.scm 122 */
bool_t BgL_test2803z00_737;
BgL_test2803z00_737 = 
PAIRP(BgL_continuez00_34); 
if(BgL_test2803z00_737)
{ /* ./Tools/error.scm 123 */
obj_t BgL_armed2669z00_738;obj_t BgL_handler2666z00_739;
BgL_armed2669z00_738 = 
MAKE_CELL(BUNSPEC); 
BgL_handler2666z00_739 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Tools/error.scm 123 */
obj_t BgL_zc3anonymousza32821ze3z83_1285;obj_t BgL_zc3anonymousza32818ze3z83_1287;
{ 
int BgL_auxz00_1540;int BgL_auxz00_1538;
BgL_auxz00_1540 = 
(int)(((long)4)); 
BgL_auxz00_1538 = 
(int)(((long)0)); 
BgL_zc3anonymousza32821ze3z83_1285 = 
make_fx_procedure(BGl_zc3anonymousza32821ze3z83zztools_errorz00, BgL_auxz00_1538, BgL_auxz00_1540); } 
{ 
int BgL_auxz00_1545;int BgL_auxz00_1543;
BgL_auxz00_1545 = 
(int)(((long)2)); 
BgL_auxz00_1543 = 
(int)(((long)4)); 
BgL_zc3anonymousza32818ze3z83_1287 = 
make_fx_procedure(BGl_zc3anonymousza32818ze3z83zztools_errorz00, BgL_auxz00_1543, BgL_auxz00_1545); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1548;
BgL_auxz00_1548 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32821ze3z83_1285, BgL_auxz00_1548, BgL_locz00_30); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1551;
BgL_auxz00_1551 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32821ze3z83_1285, BgL_auxz00_1551, BgL_procz00_733); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1554;
BgL_auxz00_1554 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32821ze3z83_1285, BgL_auxz00_1554, BgL_mesz00_32); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1557;
BgL_auxz00_1557 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32821ze3z83_1285, BgL_auxz00_1557, BgL_objzd2prnzd2_734); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1560;
BgL_auxz00_1560 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32818ze3z83_1287, BgL_auxz00_1560, BgL_armed2669z00_738); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1563;
BgL_auxz00_1563 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32818ze3z83_1287, BgL_auxz00_1563, BgL_handler2666z00_739); } 
CELL_SET(BgL_handler2666z00_739, BgL_handlerz00_1294); 
CELL_SET(BgL_armed2669z00_738, BTRUE); 
return 
BGl_zc3exitza32804ze3z83zztools_errorz00(BgL_zc3anonymousza32821ze3z83_1285, BgL_zc3anonymousza32818ze3z83_1287, BgL_handler2666z00_739, BgL_armed2669z00_738);} }  else 
{ /* ./Tools/error.scm 132 */
obj_t BgL_arg2829z00_764;obj_t BgL_arg2830z00_765;
{ /* ./Tools/error.scm 132 */
int BgL_auxz00_1567;
BgL_auxz00_1567 = 
(int)(((long)0)); 
BgL_arg2829z00_764 = 
STRUCT_REF(BgL_locz00_30, BgL_auxz00_1567); } 
{ /* ./Tools/error.scm 133 */
int BgL_auxz00_1570;
BgL_auxz00_1570 = 
(int)(((long)1)); 
BgL_arg2830z00_765 = 
STRUCT_REF(BgL_locz00_30, BgL_auxz00_1570); } 
return 
BGl_errorzf2locationzf2zz__errorz00(BgL_procz00_733, BgL_mesz00_32, BgL_objzd2prnzd2_734, BgL_arg2829z00_764, BgL_arg2830z00_765);} }  else 
{ /* ./Tools/error.scm 134 */
bool_t BgL_test2835z00_766;
BgL_test2835z00_766 = 
PAIRP(BgL_continuez00_34); 
if(BgL_test2835z00_766)
{ /* ./Tools/error.scm 135 */
obj_t BgL_armed2677z00_767;obj_t BgL_handler2674z00_768;
BgL_armed2677z00_767 = 
MAKE_CELL(BUNSPEC); 
BgL_handler2674z00_768 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Tools/error.scm 135 */
obj_t BgL_zc3anonymousza32853ze3z83_1290;obj_t BgL_zc3anonymousza32850ze3z83_1292;
{ 
int BgL_auxz00_1578;int BgL_auxz00_1576;
BgL_auxz00_1578 = 
(int)(((long)3)); 
BgL_auxz00_1576 = 
(int)(((long)0)); 
BgL_zc3anonymousza32853ze3z83_1290 = 
make_fx_procedure(BGl_zc3anonymousza32853ze3z83zztools_errorz00, BgL_auxz00_1576, BgL_auxz00_1578); } 
{ 
int BgL_auxz00_1583;int BgL_auxz00_1581;
BgL_auxz00_1583 = 
(int)(((long)2)); 
BgL_auxz00_1581 = 
(int)(((long)4)); 
BgL_zc3anonymousza32850ze3z83_1292 = 
make_fx_procedure(BGl_zc3anonymousza32850ze3z83zztools_errorz00, BgL_auxz00_1581, BgL_auxz00_1583); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1586;
BgL_auxz00_1586 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32853ze3z83_1290, BgL_auxz00_1586, BgL_procz00_733); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1589;
BgL_auxz00_1589 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32853ze3z83_1290, BgL_auxz00_1589, BgL_mesz00_32); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1592;
BgL_auxz00_1592 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32853ze3z83_1290, BgL_auxz00_1592, BgL_objz00_33); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1595;
BgL_auxz00_1595 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32850ze3z83_1292, BgL_auxz00_1595, BgL_armed2677z00_767); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1598;
BgL_auxz00_1598 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32850ze3z83_1292, BgL_auxz00_1598, BgL_handler2674z00_768); } 
CELL_SET(BgL_handler2674z00_768, BgL_handlerz00_1294); 
CELL_SET(BgL_armed2677z00_767, BTRUE); 
return 
BGl_zc3exitza32836ze3z83zztools_errorz00(BgL_zc3anonymousza32853ze3z83_1290, BgL_zc3anonymousza32850ze3z83_1292, BgL_handler2674z00_768, BgL_armed2677z00_767);} }  else 
{ /* ./Tools/error.scm 134 */
FAILURE(BgL_procz00_733,BgL_mesz00_32,BgL_objz00_33);} } } } } } } } } } 
}



/* <exit:2836> */
obj_t BGl_zc3exitza32836ze3z83zztools_errorz00(obj_t BgL_zc3anonymousza32853ze3z83_1367, obj_t BgL_zc3anonymousza32850ze3z83_1366, obj_t BgL_handler2674z00_1365, obj_t BgL_armed2677z00_1364)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
jmp_buf jmpbuf; 
obj_t BgL_an_exit2678z00_772;
if( SET_EXIT(BgL_an_exit2678z00_772) ) { 
return 
_exit_value_;
} else {
BgL_an_exit2678z00_772 = 
(obj_t)jmpbuf; 
{ /* ./Tools/error.scm 135 */

PUSH_EXIT(BgL_an_exit2678z00_772, ((bool_t)1)); 
{ /* ./Tools/error.scm 135 */
obj_t BgL_an_exitd2679z00_773;
BgL_an_exitd2679z00_773 = 
BGL_EXITD_TOP(); 
{ /* ./Tools/error.scm 135 */
obj_t BgL_escapez00_1291;
{ 
int BgL_auxz00_1609;int BgL_auxz00_1607;
BgL_auxz00_1609 = 
(int)(((long)1)); 
BgL_auxz00_1607 = 
(int)(((long)1)); 
BgL_escapez00_1291 = 
make_fx_procedure(BGl_escape_3256z00zztools_errorz00, BgL_auxz00_1607, BgL_auxz00_1609); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1612;
BgL_auxz00_1612 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_escapez00_1291, BgL_auxz00_1612, BgL_an_exitd2679z00_773); } 
{ /* ./Tools/error.scm 135 */
obj_t BgL_res2681z00_776;
{ /* ./Tools/error.scm 135 */
obj_t BgL_zc3anonymousza32846ze3z83_1289;obj_t BgL_zc3anonymousza32844ze3z83_1293;
{ 
int BgL_auxz00_1617;int BgL_auxz00_1615;
BgL_auxz00_1617 = 
(int)(((long)1)); 
BgL_auxz00_1615 = 
(int)(((long)0)); 
BgL_zc3anonymousza32846ze3z83_1289 = 
make_fx_procedure(BGl_zc3anonymousza32846ze3z83zztools_errorz00, BgL_auxz00_1615, BgL_auxz00_1617); } 
{ 
int BgL_auxz00_1622;int BgL_auxz00_1620;
BgL_auxz00_1622 = 
(int)(((long)5)); 
BgL_auxz00_1620 = 
(int)(((long)0)); 
BgL_zc3anonymousza32844ze3z83_1293 = 
make_fx_procedure(BGl_zc3anonymousza32844ze3z83zztools_errorz00, BgL_auxz00_1620, BgL_auxz00_1622); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1625;
BgL_auxz00_1625 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32846ze3z83_1289, BgL_auxz00_1625, BgL_armed2677z00_1364); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1628;
BgL_auxz00_1628 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32844ze3z83_1293, BgL_auxz00_1628, BgL_an_exitd2679z00_773); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1631;
BgL_auxz00_1631 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32844ze3z83_1293, BgL_auxz00_1631, BgL_armed2677z00_1364); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1634;
BgL_auxz00_1634 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32844ze3z83_1293, BgL_auxz00_1634, BgL_handler2674z00_1365); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1637;
BgL_auxz00_1637 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32844ze3z83_1293, BgL_auxz00_1637, BgL_zc3anonymousza32850ze3z83_1366); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1640;
BgL_auxz00_1640 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza32844ze3z83_1293, BgL_auxz00_1640, BgL_escapez00_1291); } 
BgL_res2681z00_776 = 
BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32844ze3z83_1293, BgL_zc3anonymousza32853ze3z83_1367, BgL_zc3anonymousza32846ze3z83_1289); } 
POP_EXIT(); 
return BgL_res2681z00_776;} } } } 
} } 
}



/* <exit:2804> */
obj_t BGl_zc3exitza32804ze3z83zztools_errorz00(obj_t BgL_zc3anonymousza32821ze3z83_1371, obj_t BgL_zc3anonymousza32818ze3z83_1370, obj_t BgL_handler2666z00_1369, obj_t BgL_armed2669z00_1368)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
jmp_buf jmpbuf; 
obj_t BgL_an_exit2670z00_743;
if( SET_EXIT(BgL_an_exit2670z00_743) ) { 
return 
_exit_value_;
} else {
BgL_an_exit2670z00_743 = 
(obj_t)jmpbuf; 
{ /* ./Tools/error.scm 123 */

PUSH_EXIT(BgL_an_exit2670z00_743, ((bool_t)1)); 
{ /* ./Tools/error.scm 123 */
obj_t BgL_an_exitd2671z00_744;
BgL_an_exitd2671z00_744 = 
BGL_EXITD_TOP(); 
{ /* ./Tools/error.scm 123 */
obj_t BgL_escapez00_1286;
{ 
int BgL_auxz00_1651;int BgL_auxz00_1649;
BgL_auxz00_1651 = 
(int)(((long)1)); 
BgL_auxz00_1649 = 
(int)(((long)1)); 
BgL_escapez00_1286 = 
make_fx_procedure(BGl_escapez00zztools_errorz00, BgL_auxz00_1649, BgL_auxz00_1651); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1654;
BgL_auxz00_1654 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_escapez00_1286, BgL_auxz00_1654, BgL_an_exitd2671z00_744); } 
{ /* ./Tools/error.scm 123 */
obj_t BgL_res2673z00_747;
{ /* ./Tools/error.scm 123 */
obj_t BgL_zc3anonymousza32814ze3z83_1284;obj_t BgL_zc3anonymousza32812ze3z83_1288;
{ 
int BgL_auxz00_1659;int BgL_auxz00_1657;
BgL_auxz00_1659 = 
(int)(((long)1)); 
BgL_auxz00_1657 = 
(int)(((long)0)); 
BgL_zc3anonymousza32814ze3z83_1284 = 
make_fx_procedure(BGl_zc3anonymousza32814ze3z83zztools_errorz00, BgL_auxz00_1657, BgL_auxz00_1659); } 
{ 
int BgL_auxz00_1664;int BgL_auxz00_1662;
BgL_auxz00_1664 = 
(int)(((long)5)); 
BgL_auxz00_1662 = 
(int)(((long)0)); 
BgL_zc3anonymousza32812ze3z83_1288 = 
make_fx_procedure(BGl_zc3anonymousza32812ze3z83zztools_errorz00, BgL_auxz00_1662, BgL_auxz00_1664); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1667;
BgL_auxz00_1667 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32814ze3z83_1284, BgL_auxz00_1667, BgL_armed2669z00_1368); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1670;
BgL_auxz00_1670 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32812ze3z83_1288, BgL_auxz00_1670, BgL_an_exitd2671z00_744); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1673;
BgL_auxz00_1673 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32812ze3z83_1288, BgL_auxz00_1673, BgL_armed2669z00_1368); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1676;
BgL_auxz00_1676 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32812ze3z83_1288, BgL_auxz00_1676, BgL_handler2666z00_1369); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1679;
BgL_auxz00_1679 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32812ze3z83_1288, BgL_auxz00_1679, BgL_zc3anonymousza32818ze3z83_1370); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1682;
BgL_auxz00_1682 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza32812ze3z83_1288, BgL_auxz00_1682, BgL_escapez00_1286); } 
BgL_res2673z00_747 = 
BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32812ze3z83_1288, BgL_zc3anonymousza32821ze3z83_1371, BgL_zc3anonymousza32814ze3z83_1284); } 
POP_EXIT(); 
return BgL_res2673z00_747;} } } } 
} } 
}



/* _user-error/location */
obj_t BGl__userzd2errorzf2locationz20zztools_errorz00(obj_t BgL_envz00_1295, obj_t BgL_locz00_1296, obj_t BgL_procz00_1297, obj_t BgL_mesz00_1298, obj_t BgL_objz00_1299, obj_t BgL_continuez00_1300)
{ AN_OBJECT;
{ /* ./Tools/error.scm 96 */
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_locz00_1296, BgL_procz00_1297, BgL_mesz00_1298, BgL_objz00_1299, BgL_continuez00_1300);} 
}



/* <anonymous:2814> */
obj_t BGl_zc3anonymousza32814ze3z83zztools_errorz00(obj_t BgL_envz00_1301)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
{ /* ./Tools/error.scm 123 */
obj_t BgL_armed2669z00_1302;
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1688;
BgL_auxz00_1688 = 
(int)(((long)0)); 
BgL_armed2669z00_1302 = 
PROCEDURE_REF(BgL_envz00_1301, BgL_auxz00_1688); } 
{ 

{ /* ./Tools/error.scm 123 */
bool_t BgL_testz00_1691;
{ /* ./Tools/error.scm 123 */
obj_t BgL_auxz00_1692;
BgL_auxz00_1692 = 
CELL_REF(BgL_armed2669z00_1302); 
BgL_testz00_1691 = 
CBOOL(BgL_auxz00_1692); } 
if(BgL_testz00_1691)
{ /* ./Tools/error.scm 123 */
CELL_SET(BgL_armed2669z00_1302, BFALSE); 
return 
BGl_removezd2errorzd2handlerz12z12zz__errorz00();}  else 
{ /* ./Tools/error.scm 123 */
return BFALSE;} } } } } 
}



/* <anonymous:2821> */
obj_t BGl_zc3anonymousza32821ze3z83zztools_errorz00(obj_t BgL_envz00_1304)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
{ /* ./Tools/error.scm 126 */
obj_t BgL_locz00_1305;obj_t BgL_procz00_1306;obj_t BgL_mesz00_1307;obj_t BgL_objzd2prnzd2_1308;
{ /* ./Tools/error.scm 126 */
int BgL_auxz00_1695;
BgL_auxz00_1695 = 
(int)(((long)0)); 
BgL_locz00_1305 = 
PROCEDURE_REF(BgL_envz00_1304, BgL_auxz00_1695); } 
{ /* ./Tools/error.scm 126 */
int BgL_auxz00_1698;
BgL_auxz00_1698 = 
(int)(((long)1)); 
BgL_procz00_1306 = 
PROCEDURE_REF(BgL_envz00_1304, BgL_auxz00_1698); } 
{ /* ./Tools/error.scm 126 */
int BgL_auxz00_1701;
BgL_auxz00_1701 = 
(int)(((long)2)); 
BgL_mesz00_1307 = 
PROCEDURE_REF(BgL_envz00_1304, BgL_auxz00_1701); } 
{ /* ./Tools/error.scm 126 */
int BgL_auxz00_1704;
BgL_auxz00_1704 = 
(int)(((long)3)); 
BgL_objzd2prnzd2_1308 = 
PROCEDURE_REF(BgL_envz00_1304, BgL_auxz00_1704); } 
{ 

{ /* ./Tools/error.scm 126 */
obj_t BgL_arg2823z00_760;obj_t BgL_arg2824z00_761;
{ /* ./Tools/error.scm 126 */
int BgL_auxz00_1707;
BgL_auxz00_1707 = 
(int)(((long)0)); 
BgL_arg2823z00_760 = 
STRUCT_REF(BgL_locz00_1305, BgL_auxz00_1707); } 
{ /* ./Tools/error.scm 127 */
int BgL_auxz00_1710;
BgL_auxz00_1710 = 
(int)(((long)1)); 
BgL_arg2824z00_761 = 
STRUCT_REF(BgL_locz00_1305, BgL_auxz00_1710); } 
return 
BGl_errorzf2locationzf2zz__errorz00(BgL_procz00_1306, BgL_mesz00_1307, BgL_objzd2prnzd2_1308, BgL_arg2823z00_760, BgL_arg2824z00_761);} } } } 
}



/* <anonymous:2812> */
obj_t BGl_zc3anonymousza32812ze3z83zztools_errorz00(obj_t BgL_envz00_1309)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
{ /* ./Tools/error.scm 123 */
obj_t BgL_zc3anonymousza32818ze3z83_1313;obj_t BgL_escapez00_1314;
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1714;
BgL_auxz00_1714 = 
(int)(((long)3)); 
BgL_zc3anonymousza32818ze3z83_1313 = 
PROCEDURE_REF(BgL_envz00_1309, BgL_auxz00_1714); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1717;
BgL_auxz00_1717 = 
(int)(((long)4)); 
BgL_escapez00_1314 = 
PROCEDURE_REF(BgL_envz00_1309, BgL_auxz00_1717); } 
{ 

return 
BGl_addzd2errorzd2handlerz12z12zz__errorz00(BgL_zc3anonymousza32818ze3z83_1313, BgL_escapez00_1314);} } } 
}



/* escape */
obj_t BGl_escapez00zztools_errorz00(obj_t BgL_envz00_1315, obj_t BgL_val2672z00_1317)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
{ /* ./Tools/error.scm 123 */
obj_t BgL_an_exitd2671z00_1316;
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1721;
BgL_auxz00_1721 = 
(int)(((long)0)); 
BgL_an_exitd2671z00_1316 = 
PROCEDURE_REF(BgL_envz00_1315, BgL_auxz00_1721); } 
{ 
obj_t BgL_val2672z00_745;
BgL_val2672z00_745 = BgL_val2672z00_1317; 
return 
BGl_unwindzd2untilz12zc0zz__bexitz00(BgL_an_exitd2671z00_1316, BgL_val2672z00_745);} } } 
}



/* <anonymous:2818> */
obj_t BGl_zc3anonymousza32818ze3z83zztools_errorz00(obj_t BgL_envz00_1318, obj_t BgL_escz00_1321, obj_t BgL_objz00_1322, obj_t BgL_procz00_1323, obj_t BgL_msgz00_1324)
{ AN_OBJECT;
{ /* ./Tools/error.scm 123 */
{ /* ./Tools/error.scm 123 */
obj_t BgL_armed2669z00_1319;obj_t BgL_handler2666z00_1320;
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1725;
BgL_auxz00_1725 = 
(int)(((long)0)); 
BgL_armed2669z00_1319 = 
PROCEDURE_REF(BgL_envz00_1318, BgL_auxz00_1725); } 
{ /* ./Tools/error.scm 123 */
int BgL_auxz00_1728;
BgL_auxz00_1728 = 
(int)(((long)1)); 
BgL_handler2666z00_1320 = 
PROCEDURE_REF(BgL_envz00_1318, BgL_auxz00_1728); } 
{ 
obj_t BgL_escz00_754;obj_t BgL_objz00_755;obj_t BgL_procz00_756;obj_t BgL_msgz00_757;
BgL_escz00_754 = BgL_escz00_1321; 
BgL_objz00_755 = BgL_objz00_1322; 
BgL_procz00_756 = BgL_procz00_1323; 
BgL_msgz00_757 = BgL_msgz00_1324; 
CELL_SET(BgL_armed2669z00_1319, BFALSE); 
BGl_removezd2errorzd2handlerz12z12zz__errorz00(); 
{ /* ./Tools/error.scm 123 */
obj_t BgL_auxz00_1733;
BgL_auxz00_1733 = 
CELL_REF(BgL_handler2666z00_1320); 
return 
PROCEDURE_ENTRY(BgL_auxz00_1733)(
CELL_REF(BgL_handler2666z00_1320), BgL_escz00_754, BgL_objz00_755, BgL_procz00_756, BgL_msgz00_757, BEOA);} } } } 
}



/* <anonymous:2846> */
obj_t BGl_zc3anonymousza32846ze3z83zztools_errorz00(obj_t BgL_envz00_1326)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
{ /* ./Tools/error.scm 135 */
obj_t BgL_armed2677z00_1327;
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1734;
BgL_auxz00_1734 = 
(int)(((long)0)); 
BgL_armed2677z00_1327 = 
PROCEDURE_REF(BgL_envz00_1326, BgL_auxz00_1734); } 
{ 

{ /* ./Tools/error.scm 135 */
bool_t BgL_testz00_1737;
{ /* ./Tools/error.scm 135 */
obj_t BgL_auxz00_1738;
BgL_auxz00_1738 = 
CELL_REF(BgL_armed2677z00_1327); 
BgL_testz00_1737 = 
CBOOL(BgL_auxz00_1738); } 
if(BgL_testz00_1737)
{ /* ./Tools/error.scm 135 */
CELL_SET(BgL_armed2677z00_1327, BFALSE); 
return 
BGl_removezd2errorzd2handlerz12z12zz__errorz00();}  else 
{ /* ./Tools/error.scm 135 */
return BFALSE;} } } } } 
}



/* <anonymous:2853> */
obj_t BGl_zc3anonymousza32853ze3z83zztools_errorz00(obj_t BgL_envz00_1329)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
{ /* ./Tools/error.scm 135 */
obj_t BgL_procz00_1330;obj_t BgL_mesz00_1331;obj_t BgL_objz00_1332;
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1741;
BgL_auxz00_1741 = 
(int)(((long)0)); 
BgL_procz00_1330 = 
PROCEDURE_REF(BgL_envz00_1329, BgL_auxz00_1741); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1744;
BgL_auxz00_1744 = 
(int)(((long)1)); 
BgL_mesz00_1331 = 
PROCEDURE_REF(BgL_envz00_1329, BgL_auxz00_1744); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1747;
BgL_auxz00_1747 = 
(int)(((long)2)); 
BgL_objz00_1332 = 
PROCEDURE_REF(BgL_envz00_1329, BgL_auxz00_1747); } 
{ 

FAILURE(BgL_procz00_1330,BgL_mesz00_1331,BgL_objz00_1332);} } } 
}



/* <anonymous:2844> */
obj_t BGl_zc3anonymousza32844ze3z83zztools_errorz00(obj_t BgL_envz00_1333)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
{ /* ./Tools/error.scm 135 */
obj_t BgL_zc3anonymousza32850ze3z83_1337;obj_t BgL_escapez00_1338;
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1751;
BgL_auxz00_1751 = 
(int)(((long)3)); 
BgL_zc3anonymousza32850ze3z83_1337 = 
PROCEDURE_REF(BgL_envz00_1333, BgL_auxz00_1751); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1754;
BgL_auxz00_1754 = 
(int)(((long)4)); 
BgL_escapez00_1338 = 
PROCEDURE_REF(BgL_envz00_1333, BgL_auxz00_1754); } 
{ 

return 
BGl_addzd2errorzd2handlerz12z12zz__errorz00(BgL_zc3anonymousza32850ze3z83_1337, BgL_escapez00_1338);} } } 
}



/* escape_3256 */
obj_t BGl_escape_3256z00zztools_errorz00(obj_t BgL_envz00_1339, obj_t BgL_val2680z00_1341)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
{ /* ./Tools/error.scm 135 */
obj_t BgL_an_exitd2679z00_1340;
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1758;
BgL_auxz00_1758 = 
(int)(((long)0)); 
BgL_an_exitd2679z00_1340 = 
PROCEDURE_REF(BgL_envz00_1339, BgL_auxz00_1758); } 
{ 
obj_t BgL_val2680z00_774;
BgL_val2680z00_774 = BgL_val2680z00_1341; 
return 
BGl_unwindzd2untilz12zc0zz__bexitz00(BgL_an_exitd2679z00_1340, BgL_val2680z00_774);} } } 
}



/* <anonymous:2850> */
obj_t BGl_zc3anonymousza32850ze3z83zztools_errorz00(obj_t BgL_envz00_1342, obj_t BgL_escz00_1345, obj_t BgL_objz00_1346, obj_t BgL_procz00_1347, obj_t BgL_msgz00_1348)
{ AN_OBJECT;
{ /* ./Tools/error.scm 135 */
{ /* ./Tools/error.scm 135 */
obj_t BgL_armed2677z00_1343;obj_t BgL_handler2674z00_1344;
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1762;
BgL_auxz00_1762 = 
(int)(((long)0)); 
BgL_armed2677z00_1343 = 
PROCEDURE_REF(BgL_envz00_1342, BgL_auxz00_1762); } 
{ /* ./Tools/error.scm 135 */
int BgL_auxz00_1765;
BgL_auxz00_1765 = 
(int)(((long)1)); 
BgL_handler2674z00_1344 = 
PROCEDURE_REF(BgL_envz00_1342, BgL_auxz00_1765); } 
{ 
obj_t BgL_escz00_783;obj_t BgL_objz00_784;obj_t BgL_procz00_785;obj_t BgL_msgz00_786;
BgL_escz00_783 = BgL_escz00_1345; 
BgL_objz00_784 = BgL_objz00_1346; 
BgL_procz00_785 = BgL_procz00_1347; 
BgL_msgz00_786 = BgL_msgz00_1348; 
CELL_SET(BgL_armed2677z00_1343, BFALSE); 
BGl_removezd2errorzd2handlerz12z12zz__errorz00(); 
{ /* ./Tools/error.scm 135 */
obj_t BgL_auxz00_1770;
BgL_auxz00_1770 = 
CELL_REF(BgL_handler2674z00_1344); 
return 
PROCEDURE_ENTRY(BgL_auxz00_1770)(
CELL_REF(BgL_handler2674z00_1344), BgL_escz00_783, BgL_objz00_784, BgL_procz00_785, BgL_msgz00_786, BEOA);} } } } 
}



/* handler */
obj_t BGl_handlerz00zztools_errorz00(obj_t BgL_envz00_1350, obj_t BgL_escapez00_1352, obj_t BgL_procz00_1353, obj_t BgL_mesz00_1354, obj_t BgL_objz00_1355)
{ AN_OBJECT;
{ /* ./Tools/error.scm 118 */
{ /* ./Tools/error.scm 119 */
obj_t BgL_continuez00_1351;
{ /* ./Tools/error.scm 119 */
int BgL_auxz00_1771;
BgL_auxz00_1771 = 
(int)(((long)0)); 
BgL_continuez00_1351 = 
PROCEDURE_REF(BgL_envz00_1350, BgL_auxz00_1771); } 
{ 
obj_t BgL_escapez00_799;obj_t BgL_procz00_800;obj_t BgL_mesz00_801;obj_t BgL_objz00_802;
BgL_escapez00_799 = BgL_escapez00_1352; 
BgL_procz00_800 = BgL_procz00_1353; 
BgL_mesz00_801 = BgL_mesz00_1354; 
BgL_objz00_802 = BgL_objz00_1355; 
BGl_notifyzd2errorzd2zz__errorz00(BgL_procz00_800, BgL_mesz00_801, BgL_objz00_802); 
{ /* ./Tools/error.scm 120 */
obj_t BgL_arg2877z00_1260;
BgL_arg2877z00_1260 = 
CAR(BgL_continuez00_1351); 
return 
PROCEDURE_ENTRY(BgL_escapez00_799)(BgL_escapez00_799, BgL_arg2877z00_1260, BEOA);} } } } 
}



/* enter-function */
BGL_EXPORTED_DEF obj_t BGl_enterzd2functionzd2zztools_errorz00(obj_t BgL_varz00_35)
{ AN_OBJECT;
{ /* ./Tools/error.scm 147 */
return ( 
BGl_za2sfunzd2stackza2zd2zztools_errorz00 = 
MAKE_PAIR(BgL_varz00_35, BGl_za2sfunzd2stackza2zd2zztools_errorz00), BUNSPEC) ;} 
}



/* _enter-function3261 */
obj_t BGl__enterzd2function3261zd2zztools_errorz00(obj_t BgL_envz00_1360, obj_t BgL_varz00_1361)
{ AN_OBJECT;
{ /* ./Tools/error.scm 147 */
return 
BGl_enterzd2functionzd2zztools_errorz00(BgL_varz00_1361);} 
}



/* leave-function */
BGL_EXPORTED_DEF obj_t BGl_leavezd2functionzd2zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 153 */
{ /* ./Tools/error.scm 154 */
obj_t BgL_pairz00_1262;
BgL_pairz00_1262 = BGl_za2sfunzd2stackza2zd2zztools_errorz00; 
return ( 
BGl_za2sfunzd2stackza2zd2zztools_errorz00 = 
CDR(BgL_pairz00_1262), BUNSPEC) ;} } 
}



/* _leave-function */
obj_t BGl__leavezd2functionzd2zztools_errorz00(obj_t BgL_envz00_1362)
{ AN_OBJECT;
{ /* ./Tools/error.scm 153 */
return 
BGl_leavezd2functionzd2zztools_errorz00();} 
}



/* current-function */
BGL_EXPORTED_DEF obj_t BGl_currentzd2functionzd2zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 159 */
{ /* ./Tools/error.scm 160 */
obj_t BgL_pairz00_1263;
BgL_pairz00_1263 = BGl_za2sfunzd2stackza2zd2zztools_errorz00; 
return 
CAR(BgL_pairz00_1263);} } 
}



/* _current-function */
obj_t BGl__currentzd2functionzd2zztools_errorz00(obj_t BgL_envz00_1363)
{ AN_OBJECT;
{ /* ./Tools/error.scm 159 */
return 
BGl_currentzd2functionzd2zztools_errorz00();} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zztools_errorz00()
{ AN_OBJECT;
{ /* ./Tools/error.scm 15 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "tools_error"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "tools_error"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "tools_error"); 
BGl_modulezd2initializa7ationz75zzengine_passz00(((long)10268), "tools_error"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "tools_error"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "tools_error"); 
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "tools_error"); 
return 
BGl_modulezd2initializa7ationz75zzinit_mainz00(((long)6610), "tools_error");} 
}

