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

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;

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_tclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   struct BgL_globalz00_bgl * BgL_holderz00;
   obj_t BgL_wideningz00;
   long BgL_depthz00;
   bool_t BgL_finalzf3zf3;
   obj_t BgL_constructorz00;
   obj_t BgL_virtualzd2slotszd2numberz00;
   bool_t BgL_abstractzf3zf3;
   obj_t BgL_widezd2typezd2;
} *BgL_tclassz00_bglt;

typedef struct BgL_jclassz00_bgl {
   obj_t BgL_itszd2superzd2;
   obj_t BgL_slotsz00;
   obj_t BgL_packagez00;
} *BgL_jclassz00_bglt;

typedef struct BgL_wclassz00_bgl {
   obj_t BgL_itszd2classzd2;
} *BgL_wclassz00_bglt;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;


static obj_t BGl_impusezd2parserzd2zzmodule_impusez00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzread_readerz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_prototypez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_includez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_checksumz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_speekz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzread_accessz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzread_inlinez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_findzd2gdefszd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(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__osz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__evalz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long, char *);
BGL_IMPORT obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_handlerz00zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_inlinezd2finaliza7erz75zzread_inlinez00();
static obj_t BGl_methodzd2initzd2zzmodule_impusez00();
extern obj_t BGl_verbosez00zztools_speekz00(obj_t, obj_t);
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_findzd2filezf2pathz20zz__osz00(obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2importzd2compilerz00zzmodule_impusez00();
extern obj_t BGl_sfunz00zzast_varz00;
BGL_IMPORT obj_t BGl_stringzd2downcasezd2zz__r4_strings_6_7z00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_importzd2withzd2modulez12z12zzmodule_impusez00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t bgl_reverse(obj_t);
extern BgL_ccompz00_bglt BGl_makezd2ccompzd2zzmodule_modulez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__importzd2withzd2modulez122775z12zzmodule_impusez00(obj_t, obj_t, obj_t);
extern obj_t BGl_declarezd2classz12zc0zzmodule_classz00(obj_t, obj_t, obj_t, bool_t, bool_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
static obj_t BGl_importzd2finaliza7erz75zzmodule_impusez00();
extern obj_t BGl_za2accesszd2tableza2zd2zzengine_paramz00;
static obj_t BGl__makezd2importzd2compilerz00zzmodule_impusez00(obj_t);
static obj_t BGl_importzd2wantedzd2zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_unwindzd2untilz12zc0zz__bexitz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_memvz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32401ze3z83zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_getzd2importedzd2modulesz00zzmodule_impusez00();
extern obj_t BGl_userzd2errorzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
BGL_IMPORT obj_t string_to_bstring(char *);
extern obj_t BGl_addzd2accessz12zc0zzread_accessz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza32404ze3z83zzmodule_impusez00(obj_t);
static obj_t BGl_zc3anonymousza32395ze3z83zzmodule_impusez00(obj_t);
extern obj_t BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2fromzd2compilerz00zzmodule_impusez00();
extern obj_t BGl_globalz00zzast_varz00;
static obj_t BGl_zc3anonymousza32397ze3z83zzmodule_impusez00(obj_t);
BGL_IMPORT obj_t BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00(obj_t, obj_t);
static obj_t BGl_importzd21zd2modulez00zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl__getzd2importedzd2modulesz00zzmodule_impusez00(obj_t);
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
static obj_t BGl_escapez00zzmodule_impusez00(obj_t, obj_t);
static obj_t BGl_zc3exitza32387ze3z83zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_typez00zztype_typez00;
extern obj_t BGl_consumezd2modulez12zc0zzmodule_modulez00(obj_t, obj_t);
extern obj_t BGl_declarezd2widezd2classz12z12zzmodule_classz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_resetzd2includezd2consumedzd2codez12zc0zzmodule_includez00();
static obj_t BGl__importzd2parser2779zd2zzmodule_impusez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_removezd2errorzd2handlerz12z12zz__errorz00();
extern obj_t BGl_getzd2includezd2consumedzd2directivezd2zzmodule_includez00();
BGL_IMPORT obj_t create_struct(obj_t, int);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
BGL_IMPORT obj_t BGl_assqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl__impusezd2producerzd2zzmodule_impusez00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_importzd2parserzd2zzmodule_impusez00(obj_t, obj_t, obj_t);
extern obj_t BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00(obj_t);
static obj_t BGl_readzd2importedzd2modulez00zzmodule_impusez00(obj_t);
extern BgL_globalz00_bglt BGl_declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza31888ze3z83zzmodule_impusez00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzmodule_impusez00();
static obj_t BGl_zc3anonymousza31889ze3z83zzmodule_impusez00(obj_t);
extern obj_t BGl_getzd2includezd2consumedzd2codezd2zzmodule_includez00();
static obj_t BGl__impusezd2finaliza7erz75zzmodule_impusez00(obj_t);
BGL_IMPORT obj_t close_input_port(obj_t);
extern obj_t BGl_za2modulezd2clauseza2zd2zzmodule_modulez00;
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
static obj_t BGl_impusezd2finaliza7erz75zzmodule_impusez00();
static obj_t BGl_zc3anonymousza31896ze3z83zzmodule_impusez00(obj_t, obj_t, obj_t);
static obj_t BGl_importzd2everythingzd2zzmodule_impusez00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_impusez00();
static obj_t BGl_zc3anonymousza31907ze3z83zzmodule_impusez00(obj_t, obj_t, obj_t);
static obj_t BGl__makezd2usezd2compilerz00zzmodule_impusez00(obj_t);
static obj_t BGl_impusezd2producerzd2zzmodule_impusez00(obj_t);
static obj_t BGl_zc3anonymousza31909ze3z83zzmodule_impusez00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzmodule_impusez00 = BUNSPEC;
static obj_t BGl__makezd2fromzd2compilerz00zzmodule_impusez00(obj_t);
static obj_t BGl_importzd2allzd2modulez00zzmodule_impusez00(obj_t, obj_t, obj_t);
static obj_t BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = BUNSPEC;
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2usezd2compilerz00zzmodule_impusez00();
BGL_IMPORT bool_t BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(obj_t);
BGL_IMPORT obj_t BGl_za2loadzd2pathza2zd2zz__evalz00;
extern obj_t BGl_parsezd2prototypezd2zzmodule_prototypez00(obj_t);
static obj_t BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00 = BUNSPEC;
extern obj_t BGl_compilerzd2readzd2zzread_readerz00(obj_t);
BGL_IMPORT obj_t BGl_notifyzd2errorzd2zz__errorz00(obj_t, obj_t, obj_t);
extern obj_t BGl_lookzd2forzd2inlinez00zzread_inlinez00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_impusez00();
extern BgL_globalz00_bglt BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_exitzd2bigloozd2zzinit_mainz00(obj_t);
BGL_IMPORT obj_t BGl_readerzd2resetz12zc0zz__readerz00();
BGL_IMPORT obj_t BGl_addzd2errorzd2handlerz12z12zz__errorz00(obj_t, obj_t);
extern long BGl_modulezd2checksumzd2zzmodule_checksumz00(obj_t);
extern obj_t BGl_za2debugzd2moduleza2zd2zzengine_paramz00;
BGL_IMPORT obj_t BGl_remqz12z12zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzmodule_impusez00();
extern obj_t BGl_resetzd2includezd2consumedzd2directivez12zc0zzmodule_includez00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t __cnst[ 23 ] ;


DEFINE_STRING( BGl_string2975z00zzmodule_impusez00, BgL_bgl_string2975za700za7za7module_impuseza7003012z00, "sifun wide-class final-class abstract-class class svar (sfun sifun sgfun) (import with from) @ from::string checksum::long unit imported-modules pragma::int begin nothing with imode all from use void import ", 207 );
DEFINE_STRING( BGl_string2974z00zzmodule_impusez00, BgL_bgl_string2974za700za7za7module_impuseza7003013z00, "Can't find exportation for these identifiers", 44 );
DEFINE_STRING( BGl_string2973z00zzmodule_impusez00, BgL_bgl_string2973za700za7za7module_impuseza7003014z00, "Can't find such module", 22 );
DEFINE_STRING( BGl_string2972z00zzmodule_impusez00, BgL_bgl_string2972za700za7za7module_impuseza7003015z00, "Can't open such file", 20 );
DEFINE_STRING( BGl_string2971z00zzmodule_impusez00, BgL_bgl_string2971za700za7za7module_impuseza7003016z00, "read-imported-module", 20 );
DEFINE_STRING( BGl_string2970z00zzmodule_impusez00, BgL_bgl_string2970za700za7za7module_impuseza7003017z00, "      [reading ", 15 );
DEFINE_STRING( BGl_string2969z00zzmodule_impusez00, BgL_bgl_string2969za700za7za7module_impuseza7003018z00, " module ", 8 );
DEFINE_STRING( BGl_string2968z00zzmodule_impusez00, BgL_bgl_string2968za700za7za7module_impuseza7003019z00, "]", 1 );
DEFINE_STRING( BGl_string2967z00zzmodule_impusez00, BgL_bgl_string2967za700za7za7module_impuseza7003020z00, "Illegal prototype", 17 );
DEFINE_STRING( BGl_string2966z00zzmodule_impusez00, BgL_bgl_string2966za700za7za7module_impuseza7003021z00, "\")", 2 );
DEFINE_STRING( BGl_string2965z00zzmodule_impusez00, BgL_bgl_string2965za700za7za7module_impuseza7003022z00, "puts(\"    Module init (import): ", 32 );
DEFINE_STRING( BGl_string2964z00zzmodule_impusez00, BgL_bgl_string2964za700za7za7module_impuseza7003023z00, "Illegal import/use/from clause", 30 );
DEFINE_STRING( BGl_string2963z00zzmodule_impusez00, BgL_bgl_string2963za700za7za7module_impuseza7003024z00, "Parse error", 11 );
DEFINE_STRING( BGl_string2962z00zzmodule_impusez00, BgL_bgl_string2962za700za7za7module_impuseza7003025z00, "' clause", 8 );
DEFINE_STRING( BGl_string2961z00zzmodule_impusez00, BgL_bgl_string2961za700za7za7module_impuseza7003026z00, "Illegal `", 9 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2importzd2compilerzd2envzd2zzmodule_impusez00, BgL_bgl__makeza7d2importza7d2compilerza700za7za7module_impuseza7003027z00, BGl__makezd2importzd2compilerz00zzmodule_impusez00, 0L, 0 );
BGL_IMPORT obj_t BGl_symbolzf3zd2envz21zz__r4_symbols_6_4z00;
DEFINE_EXPORT_PROCEDURE( BGl_getzd2importedzd2moduleszd2envzd2zzmodule_impusez00, BgL_bgl__getza7d2importedza7d2modulesza700za7za7module_impuseza7003028z00, BGl__getzd2importedzd2modulesz00zzmodule_impusez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_impusezd2producerzd2envz00zzmodule_impusez00, BgL_bgl__impuseza7d2producerza7d2za7za7module_impuseza7003029za7, BGl__impusezd2producerzd2zzmodule_impusez00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2fromzd2compilerzd2envzd2zzmodule_impusez00, BgL_bgl__makeza7d2fromza7d2compilerza700za7za7module_impuseza7003030z00, BGl__makezd2fromzd2compilerz00zzmodule_impusez00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_importzd2parserzd2envz00zzmodule_impusez00, BgL_bgl__importza7d2parser2779za7d2za7za7module_impuseza7003031za7, va_generic_entry, BGl__importzd2parser2779zd2zzmodule_impusez00, -3 );
DEFINE_EXPORT_PROCEDURE( BGl_importzd2withzd2modulez12zd2envzc0zzmodule_impusez00, BgL_bgl__importza7d2withza7d2moduleza7122775za712za7za7module_impuseza7003032za7, BGl__importzd2withzd2modulez122775z12zzmodule_impusez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc2956z00zzmodule_impusez00, BgL_bgl_za7c3anonymousza7a31889za7e3za783za7za7module_impuseza7003033za7, BGl_zc3anonymousza31889ze3z83zzmodule_impusez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc2957z00zzmodule_impusez00, BgL_bgl_za7c3anonymousza7a31888za7e3za783za7za7module_impuseza7003034za7, BGl_zc3anonymousza31888ze3z83zzmodule_impusez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc2958z00zzmodule_impusez00, BgL_bgl_za7c3anonymousza7a31896za7e3za783za7za7module_impuseza7003035za7, BGl_zc3anonymousza31896ze3z83zzmodule_impusez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc2960z00zzmodule_impusez00, BgL_bgl_za7c3anonymousza7a31907za7e3za783za7za7module_impuseza7003036za7, BGl_zc3anonymousza31907ze3z83zzmodule_impusez00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_proc2959z00zzmodule_impusez00, BgL_bgl_za7c3anonymousza7a31909za7e3za783za7za7module_impuseza7003037za7, BGl_zc3anonymousza31909ze3z83zzmodule_impusez00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_impusezd2finaliza7erzd2envza7zzmodule_impusez00, BgL_bgl__impuseza7d2finaliza7a7erza775za7za7module_impuseza7003038z00, BGl__impusezd2finaliza7erz75zzmodule_impusez00, 0L, 0 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2usezd2compilerzd2envzd2zzmodule_impusez00, BgL_bgl__makeza7d2useza7d2compilerza700za7za7module_impuseza7003039z00, BGl__makezd2usezd2compilerz00zzmodule_impusez00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_impusez00(long BgL_checksumz00_1425, char * BgL_fromz00_1426)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmodule_impusez00))
{ 
BGl_requirezd2initializa7ationz75zzmodule_impusez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmodule_impusez00(); 
BGl_cnstzd2initzd2zzmodule_impusez00(); 
BGl_importedzd2moduleszd2initz00zzmodule_impusez00(); 
BGl_toplevelzd2initzd2zzmodule_impusez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__osz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__bexitz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__evalz00(((long)0), "module_impuse"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "module_impuse"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 15 */
{ /* ./Module/impuse.scm 15 */
obj_t BgL_cportz00_1411;
BgL_cportz00_1411 = 
open_input_string(BGl_string2975z00zzmodule_impusez00); 
{ 
long BgL_iz00_1412;
BgL_iz00_1412 = ((long)22); 
BgL_loopz00_1413:
{ /* ./Module/impuse.scm 15 */
bool_t BgL_test2977z00_1414;
BgL_test2977z00_1414 = 
(BgL_iz00_1412==((long)-1)); 
if(BgL_test2977z00_1414)
{ /* ./Module/impuse.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/impuse.scm 15 */
{ /* ./Module/impuse.scm 15 */
obj_t BgL_arg2979z00_1415;
{ /* ./Module/impuse.scm 15 */
obj_t BgL_list2982z00_1416;
BgL_list2982z00_1416 = 
MAKE_PAIR(BgL_cportz00_1411, BNIL); 
BgL_arg2979z00_1415 = 
BGl_readz00zz__readerz00(BgL_list2982z00_1416); } 
{ /* ./Module/impuse.scm 15 */
int BgL_auxz00_1451;
BgL_auxz00_1451 = 
(int)(BgL_iz00_1412); 
CNST_TABLE_SET(BgL_auxz00_1451, BgL_arg2979z00_1415); } } 
{ /* ./Module/impuse.scm 15 */
int BgL_auxz00_1417;
{ /* ./Module/impuse.scm 15 */
long BgL_auxz00_1454;
BgL_auxz00_1454 = 
(BgL_iz00_1412-((long)1)); 
BgL_auxz00_1417 = 
(int)(BgL_auxz00_1454); } 
{ 
long BgL_iz00_1457;
BgL_iz00_1457 = 
(long)(BgL_auxz00_1417); 
BgL_iz00_1412 = BgL_iz00_1457; 
goto BgL_loopz00_1413;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 15 */
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = BNIL; 
return ( 
BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00 = BNIL, BUNSPEC) ;} 
}



/* make-import-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2importzd2compilerz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 50 */
{ /* ./Module/impuse.scm 51 */
obj_t BgL_arg1882z00_411;obj_t BgL_arg1884z00_412;
BgL_arg1882z00_411 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1884z00_412 = BGl_impusezd2producerzd2envz00zzmodule_impusez00; 
{ /* ./Module/impuse.scm 51 */
BgL_ccompz00_bglt BgL_auxz00_1460;
BgL_auxz00_1460 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1882z00_411, BgL_arg1884z00_412, BGl_proc2957z00zzmodule_impusez00, BGl_proc2956z00zzmodule_impusez00); 
return 
(obj_t)(BgL_auxz00_1460);} } } 
}



/* _make-import-compiler */
obj_t BGl__makezd2importzd2compilerz00zzmodule_impusez00(obj_t BgL_envz00_1334)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 50 */
return 
BGl_makezd2importzd2compilerz00zzmodule_impusez00();} 
}



/* <anonymous:1889> */
obj_t BGl_zc3anonymousza31889ze3z83zzmodule_impusez00(obj_t BgL_envz00_1335)
{ AN_OBJECT;
{ /* ./Module/module.scm 50 */
{ 

return 
CNST_TABLE_REF(((long)1));} } 
}



/* <anonymous:1888> */
obj_t BGl_zc3anonymousza31888ze3z83zzmodule_impusez00(obj_t BgL_envz00_1336, obj_t BgL_mz00_1337, obj_t BgL_cz00_1338)
{ AN_OBJECT;
{ /* ./Module/module.scm 48 */
return BNIL;} 
}



/* make-use-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2usezd2compilerz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 57 */
{ /* ./Module/impuse.scm 58 */
obj_t BgL_arg1891z00_421;obj_t BgL_arg1892z00_422;obj_t BgL_arg1894z00_424;
BgL_arg1891z00_421 = 
CNST_TABLE_REF(((long)2)); 
BgL_arg1892z00_422 = BGl_impusezd2producerzd2envz00zzmodule_impusez00; 
BgL_arg1894z00_424 = BGl_impusezd2finaliza7erzd2envza7zzmodule_impusez00; 
{ /* ./Module/impuse.scm 58 */
BgL_ccompz00_bglt BgL_auxz00_1466;
BgL_auxz00_1466 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1891z00_421, BgL_arg1892z00_422, BGl_proc2958z00zzmodule_impusez00, BgL_arg1894z00_424); 
return 
(obj_t)(BgL_auxz00_1466);} } } 
}



/* _make-use-compiler */
obj_t BGl__makezd2usezd2compilerz00zzmodule_impusez00(obj_t BgL_envz00_1342)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 57 */
return 
BGl_makezd2usezd2compilerz00zzmodule_impusez00();} 
}



/* <anonymous:1896> */
obj_t BGl_zc3anonymousza31896ze3z83zzmodule_impusez00(obj_t BgL_envz00_1343, obj_t BgL_mz00_1344, obj_t BgL_cz00_1345)
{ AN_OBJECT;
{ /* ./Module/module.scm 48 */
return BNIL;} 
}



/* make-from-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2fromzd2compilerz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 65 */
{ /* ./Module/impuse.scm 66 */
obj_t BgL_arg1898z00_429;obj_t BgL_arg1902z00_430;
BgL_arg1898z00_429 = 
CNST_TABLE_REF(((long)3)); 
BgL_arg1902z00_430 = BGl_impusezd2producerzd2envz00zzmodule_impusez00; 
{ /* ./Module/impuse.scm 66 */
BgL_ccompz00_bglt BgL_auxz00_1471;
BgL_auxz00_1471 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1898z00_429, BgL_arg1902z00_430, BGl_proc2960z00zzmodule_impusez00, BGl_proc2959z00zzmodule_impusez00); 
return 
(obj_t)(BgL_auxz00_1471);} } } 
}



/* _make-from-compiler */
obj_t BGl__makezd2fromzd2compilerz00zzmodule_impusez00(obj_t BgL_envz00_1349)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 65 */
return 
BGl_makezd2fromzd2compilerz00zzmodule_impusez00();} 
}



/* <anonymous:1909> */
obj_t BGl_zc3anonymousza31909ze3z83zzmodule_impusez00(obj_t BgL_envz00_1350)
{ AN_OBJECT;
{ /* ./Module/module.scm 50 */
{ 

return 
CNST_TABLE_REF(((long)1));} } 
}



/* <anonymous:1907> */
obj_t BGl_zc3anonymousza31907ze3z83zzmodule_impusez00(obj_t BgL_envz00_1351, obj_t BgL_modulez00_1352, obj_t BgL_clausez00_1353)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 68 */
{ /* ./Module/impuse.scm 69 */
obj_t BgL_res2991z00_1424;
BGl_impusezd2producerzd2zzmodule_impusez00(BgL_clausez00_1353); 
BgL_res2991z00_1424 = BNIL; 
return BgL_res2991z00_1424;} } 
}



/* impuse-producer */
obj_t BGl_impusezd2producerzd2zzmodule_impusez00(obj_t BgL_clausez00_19)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 75 */
{ /* ./Module/impuse.scm 76 */
obj_t BgL_modez00_439;
BgL_modez00_439 = 
CAR(BgL_clausez00_19); 
{ 
obj_t BgL_protosz00_440;
{ /* ./Module/impuse.scm 77 */
bool_t BgL_test1910z00_444;
BgL_test1910z00_444 = 
PAIRP(BgL_clausez00_19); 
if(BgL_test1910z00_444)
{ /* ./Module/impuse.scm 77 */
obj_t BgL_arg1915z00_445;
BgL_arg1915z00_445 = 
CDR(BgL_clausez00_19); 
{ /* ./Module/impuse.scm 77 */
bool_t BgL_auxz00_1481;
BgL_protosz00_440 = BgL_arg1915z00_445; 
{ 
obj_t BgL_l1832z00_446;
BgL_l1832z00_446 = BgL_protosz00_440; 
BgL_forzd2each1833zd2_447:
{ /* ./Module/impuse.scm 79 */
bool_t BgL_test1922z00_448;
BgL_test1922z00_448 = 
PAIRP(BgL_l1832z00_446); 
if(BgL_test1922z00_448)
{ /* ./Module/impuse.scm 79 */
{ /* ./Module/impuse.scm 79 */
obj_t BgL_protoz00_449;
BgL_protoz00_449 = 
CAR(BgL_l1832z00_446); 
BGl_impusezd2parserzd2zzmodule_impusez00(BgL_protoz00_449, BgL_modez00_439, BgL_clausez00_19); } 
{ /* ./Module/impuse.scm 79 */
obj_t BgL_arg1928z00_450;
BgL_arg1928z00_450 = 
CDR(BgL_l1832z00_446); 
{ 
obj_t BgL_l1832z00_1487;
BgL_l1832z00_1487 = BgL_arg1928z00_450; 
BgL_l1832z00_446 = BgL_l1832z00_1487; 
goto BgL_forzd2each1833zd2_447;} } }  else 
{ /* ./Module/impuse.scm 79 */
BgL_auxz00_1481 = ((bool_t)1); } } } 
return 
BBOOL(BgL_auxz00_1481);} }  else 
{ /* ./Module/impuse.scm 77 */
{ /* ./Module/impuse.scm 81 */
obj_t BgL_arg1933z00_451;obj_t BgL_arg1935z00_453;
BgL_arg1933z00_451 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
{ /* ./Module/impuse.scm 83 */
obj_t BgL_arg1946z00_457;
{ /* ./Module/impuse.scm 85 */
obj_t BgL_arg1951z00_459;
BgL_arg1951z00_459 = 
SYMBOL_TO_STRING(BgL_modez00_439); 
BgL_arg1946z00_457 = 
BGl_stringzd2downcasezd2zz__r4_strings_6_7z00(BgL_arg1951z00_459); } 
BgL_arg1935z00_453 = 
string_append_3(BGl_string2961z00zzmodule_impusez00, BgL_arg1946z00_457, BGl_string2962z00zzmodule_impusez00); } 
{ /* ./Module/impuse.scm 81 */
obj_t BgL_list1938z00_455;
BgL_list1938z00_455 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg1933z00_451, BGl_string2963z00zzmodule_impusez00, BgL_arg1935z00_453, BgL_clausez00_19, BgL_list1938z00_455);} } } } } } } 
}



/* _impuse-producer */
obj_t BGl__impusezd2producerzd2zzmodule_impusez00(obj_t BgL_envz00_1339, obj_t BgL_clausez00_1340)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 75 */
return 
BGl_impusezd2producerzd2zzmodule_impusez00(BgL_clausez00_1340);} 
}



/* import-all-module */
obj_t BGl_importzd2allzd2modulez00zzmodule_impusez00(obj_t BgL_modulez00_20, obj_t BgL_modez00_21, obj_t BgL_srcz00_22)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 93 */
{ /* ./Module/impuse.scm 94 */
obj_t BgL_bz00_460;obj_t BgL_locz00_461;
BgL_bz00_460 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modulez00_20, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00); 
{ /* ./Module/impuse.scm 95 */
obj_t BgL_arg1974z00_467;
BgL_arg1974z00_467 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
BgL_locz00_461 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srcz00_22, BgL_arg1974z00_467); } 
{ /* ./Module/impuse.scm 96 */
bool_t BgL_test1956z00_462;
BgL_test1956z00_462 = 
PAIRP(BgL_bz00_460); 
if(BgL_test1956z00_462)
{ /* ./Module/impuse.scm 97 */
obj_t BgL_arg1958z00_463;obj_t BgL_arg1960z00_464;
BgL_arg1958z00_463 = 
CDR(BgL_bz00_460); 
BgL_arg1960z00_464 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Module/impuse.scm 97 */
int BgL_kz00_962;
BgL_kz00_962 = 
(int)(((long)2)); 
{ /* ./Module/impuse.scm 97 */
obj_t BgL_xz00_1410;
BgL_xz00_1410 = 
STRUCT_SET(BgL_arg1958z00_463, BgL_kz00_962, BgL_arg1960z00_464); 
return BUNSPEC;} } }  else 
{ /* ./Module/impuse.scm 100 */
obj_t BgL_arg1964z00_465;
{ /* ./Module/impuse.scm 100 */
obj_t BgL_arg1968z00_466;
{ /* ./Module/impuse.scm 100 */
obj_t BgL_varsz00_966;
BgL_varsz00_966 = 
CNST_TABLE_REF(((long)4)); 
{ /* ./Module/impuse.scm 100 */
obj_t BgL_newz00_970;
{ /* ./Module/impuse.scm 100 */
int BgL_auxz00_1508;obj_t BgL_auxz00_1506;
BgL_auxz00_1508 = 
(int)(((long)6)); 
BgL_auxz00_1506 = 
CNST_TABLE_REF(((long)5)); 
BgL_newz00_970 = 
create_struct(BgL_auxz00_1506, BgL_auxz00_1508); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_974;
BgL_kz00_974 = 
(int)(((long)5)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_974, BgL_srcz00_22); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_979;
BgL_kz00_979 = 
(int)(((long)4)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_979, BgL_locz00_461); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_984;
BgL_kz00_984 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_984, BUNSPEC); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_989;
BgL_kz00_989 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_989, BgL_varsz00_966); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_994;
BgL_kz00_994 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_994, BgL_modez00_21); } 
{ /* ./Module/impuse.scm 100 */
int BgL_kz00_999;
BgL_kz00_999 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_970, BgL_kz00_999, BgL_modulez00_20); } 
BgL_arg1968z00_466 = BgL_newz00_970; } } 
BgL_arg1964z00_465 = 
MAKE_PAIR(BgL_modulez00_20, BgL_arg1968z00_466); } 
return ( 
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = 
MAKE_PAIR(BgL_arg1964z00_465, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00), BUNSPEC) ;} } } } 
}



/* import-1-module */
obj_t BGl_importzd21zd2modulez00zzmodule_impusez00(obj_t BgL_modulez00_23, obj_t BgL_varz00_24, obj_t BgL_modez00_25, obj_t BgL_srcz00_26)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 106 */
{ /* ./Module/impuse.scm 107 */
obj_t BgL_cellz00_468;obj_t BgL_locz00_469;
BgL_cellz00_468 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modulez00_23, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00); 
{ /* ./Module/impuse.scm 108 */
obj_t BgL_arg2016z00_483;
BgL_arg2016z00_483 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
BgL_locz00_469 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srcz00_26, BgL_arg2016z00_483); } 
{ /* ./Module/impuse.scm 109 */
bool_t BgL_test1977z00_470;
BgL_test1977z00_470 = 
PAIRP(BgL_cellz00_468); 
if(BgL_test1977z00_470)
{ /* ./Module/impuse.scm 118 */
obj_t BgL_bz00_471;
BgL_bz00_471 = 
CDR(BgL_cellz00_468); 
{ /* ./Module/impuse.scm 119 */
obj_t BgL_casezd2valuezd2_472;
{ /* ./Module/impuse.scm 119 */
int BgL_auxz00_1531;
BgL_auxz00_1531 = 
(int)(((long)2)); 
BgL_casezd2valuezd2_472 = 
STRUCT_REF(BgL_bz00_471, BgL_auxz00_1531); } 
{ /* ./Module/impuse.scm 119 */
bool_t BgL_test1978z00_473;
BgL_test1978z00_473 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_472, 
CNST_TABLE_REF(((long)6))); 
if(BgL_test1978z00_473)
{ /* ./Module/impuse.scm 119 */
{ /* ./Module/impuse.scm 121 */
int BgL_kz00_1009;
BgL_kz00_1009 = 
(int)(((long)1)); 
STRUCT_SET(BgL_bz00_471, BgL_kz00_1009, BgL_modez00_25); } 
{ /* ./Module/impuse.scm 122 */
obj_t BgL_arg1981z00_474;
{ /* ./Module/impuse.scm 122 */
obj_t BgL_list1984z00_475;
BgL_list1984z00_475 = 
MAKE_PAIR(BgL_varz00_24, BNIL); 
BgL_arg1981z00_474 = BgL_list1984z00_475; } 
{ /* ./Module/impuse.scm 122 */
int BgL_kz00_1016;
BgL_kz00_1016 = 
(int)(((long)2)); 
return 
STRUCT_SET(BgL_bz00_471, BgL_kz00_1016, BgL_arg1981z00_474);} } }  else 
{ /* ./Module/impuse.scm 119 */
bool_t BgL_test1986z00_476;
BgL_test1986z00_476 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_472, 
CNST_TABLE_REF(((long)4))); 
if(BgL_test1986z00_476)
{ /* ./Module/impuse.scm 119 */
return 
CNST_TABLE_REF(((long)7));}  else 
{ /* ./Module/impuse.scm 126 */
obj_t BgL_arg1988z00_477;
BgL_arg1988z00_477 = 
MAKE_PAIR(BgL_varz00_24, BgL_casezd2valuezd2_472); 
{ /* ./Module/impuse.scm 126 */
int BgL_kz00_1024;
BgL_kz00_1024 = 
(int)(((long)2)); 
return 
STRUCT_SET(BgL_bz00_471, BgL_kz00_1024, BgL_arg1988z00_477);} } } } } }  else 
{ /* ./Module/impuse.scm 113 */
obj_t BgL_arg2001z00_479;
{ /* ./Module/impuse.scm 113 */
obj_t BgL_arg2005z00_480;
{ /* ./Module/impuse.scm 113 */
obj_t BgL_arg2008z00_481;
{ /* ./Module/impuse.scm 113 */
obj_t BgL_list2011z00_482;
BgL_list2011z00_482 = 
MAKE_PAIR(BgL_varz00_24, BNIL); 
BgL_arg2008z00_481 = BgL_list2011z00_482; } 
{ /* ./Module/impuse.scm 111 */
obj_t BgL_newz00_1034;
{ /* ./Module/impuse.scm 111 */
int BgL_auxz00_1552;obj_t BgL_auxz00_1550;
BgL_auxz00_1552 = 
(int)(((long)6)); 
BgL_auxz00_1550 = 
CNST_TABLE_REF(((long)5)); 
BgL_newz00_1034 = 
create_struct(BgL_auxz00_1550, BgL_auxz00_1552); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1038;
BgL_kz00_1038 = 
(int)(((long)5)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1038, BgL_srcz00_26); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1043;
BgL_kz00_1043 = 
(int)(((long)4)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1043, BgL_locz00_469); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1048;
BgL_kz00_1048 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1048, BUNSPEC); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1053;
BgL_kz00_1053 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1053, BgL_arg2008z00_481); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1058;
BgL_kz00_1058 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1058, BgL_modez00_25); } 
{ /* ./Module/impuse.scm 111 */
int BgL_kz00_1063;
BgL_kz00_1063 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1034, BgL_kz00_1063, BgL_modulez00_23); } 
BgL_arg2005z00_480 = BgL_newz00_1034; } } 
BgL_arg2001z00_479 = 
MAKE_PAIR(BgL_modulez00_23, BgL_arg2005z00_480); } 
return ( 
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = 
MAKE_PAIR(BgL_arg2001z00_479, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00), BUNSPEC) ;} } } } 
}



/* import-with-module! */
BGL_EXPORTED_DEF obj_t BGl_importzd2withzd2modulez12z12zzmodule_impusez00(obj_t BgL_modulez00_27, obj_t BgL_srcz00_28)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 131 */
{ /* ./Module/impuse.scm 132 */
obj_t BgL_bz00_484;obj_t BgL_locz00_485;
BgL_bz00_484 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modulez00_27, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00); 
{ /* ./Module/impuse.scm 133 */
obj_t BgL_arg2032z00_489;
BgL_arg2032z00_489 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
BgL_locz00_485 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_srcz00_28, BgL_arg2032z00_489); } 
{ /* ./Module/impuse.scm 134 */
bool_t BgL_test2019z00_486;
BgL_test2019z00_486 = 
PAIRP(BgL_bz00_484); 
if(BgL_test2019z00_486)
{ /* ./Module/impuse.scm 134 */
return BFALSE;}  else 
{ /* ./Module/impuse.scm 136 */
obj_t BgL_arg2021z00_487;
{ /* ./Module/impuse.scm 136 */
obj_t BgL_arg2025z00_488;
{ /* ./Module/impuse.scm 136 */
obj_t BgL_modez00_1067;
BgL_modez00_1067 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Module/impuse.scm 136 */
obj_t BgL_newz00_1072;
{ /* ./Module/impuse.scm 136 */
int BgL_auxz00_1577;obj_t BgL_auxz00_1575;
BgL_auxz00_1577 = 
(int)(((long)6)); 
BgL_auxz00_1575 = 
CNST_TABLE_REF(((long)5)); 
BgL_newz00_1072 = 
create_struct(BgL_auxz00_1575, BgL_auxz00_1577); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1076;
BgL_kz00_1076 = 
(int)(((long)5)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1076, BgL_srcz00_28); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1081;
BgL_kz00_1081 = 
(int)(((long)4)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1081, BgL_locz00_485); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1086;obj_t BgL_oz00_1087;
BgL_kz00_1086 = 
(int)(((long)3)); 
BgL_oz00_1087 = 
BINT(((long)0)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1086, BgL_oz00_1087); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1091;
BgL_kz00_1091 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1091, BNIL); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1096;
BgL_kz00_1096 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1096, BgL_modez00_1067); } 
{ /* ./Module/impuse.scm 136 */
int BgL_kz00_1101;
BgL_kz00_1101 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1072, BgL_kz00_1101, BgL_modulez00_27); } 
BgL_arg2025z00_488 = BgL_newz00_1072; } } 
BgL_arg2021z00_487 = 
MAKE_PAIR(BgL_modulez00_27, BgL_arg2025z00_488); } 
return ( 
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = 
MAKE_PAIR(BgL_arg2021z00_487, BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00), BUNSPEC) ;} } } } 
}



/* _import-with-module!2775 */
obj_t BGl__importzd2withzd2modulez122775z12zzmodule_impusez00(obj_t BgL_envz00_1354, obj_t BgL_modulez00_1355, obj_t BgL_srcz00_1356)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 131 */
return 
BGl_importzd2withzd2modulez12z12zzmodule_impusez00(BgL_modulez00_1355, BgL_srcz00_1356);} 
}



/* impuse-parser */
obj_t BGl_impusezd2parserzd2zzmodule_impusez00(obj_t BgL_prototypez00_29, obj_t BgL_modez00_30, obj_t BgL_importzd2srczd2_31)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 148 */
{ 
obj_t BgL_predz00_520;obj_t BgL_lstz00_521;
{ /* ./Module/impuse.scm 157 */
bool_t BgL_test2035z00_491;
BgL_test2035z00_491 = 
SYMBOLP(BgL_prototypez00_29); 
if(BgL_test2035z00_491)
{ /* ./Module/impuse.scm 157 */
return 
BGl_importzd2allzd2modulez00zzmodule_impusez00(BgL_prototypez00_29, BgL_modez00_30, BgL_importzd2srczd2_31);}  else 
{ /* ./Module/impuse.scm 160 */
bool_t BgL_test2037z00_492;
BgL_test2037z00_492 = 
BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(BgL_prototypez00_29); 
if(BgL_test2037z00_492)
{ /* ./Module/impuse.scm 160 */
{ /* ./Module/impuse.scm 161 */
obj_t BgL_invz00_493;
BgL_invz00_493 = 
bgl_reverse(BgL_prototypez00_29); 
{ 
obj_t BgL_lstz00_494;obj_t BgL_filesz00_495;
BgL_lstz00_494 = BgL_invz00_493; 
BgL_filesz00_495 = BNIL; 
BgL_loopz00_496:
{ /* ./Module/impuse.scm 165 */
bool_t BgL_test2039z00_497;
BgL_test2039z00_497 = 
PAIRP(BgL_lstz00_494); 
if(BgL_test2039z00_497)
{ /* ./Module/impuse.scm 170 */
bool_t BgL_test2040z00_498;
{ /* ./Module/impuse.scm 170 */
obj_t BgL_auxz00_1604;
BgL_auxz00_1604 = 
CAR(BgL_lstz00_494); 
BgL_test2040z00_498 = 
STRINGP(BgL_auxz00_1604); } 
if(BgL_test2040z00_498)
{ /* ./Module/impuse.scm 170 */
{ /* ./Module/impuse.scm 171 */
obj_t BgL_arg2042z00_499;obj_t BgL_arg2043z00_500;
BgL_arg2042z00_499 = 
CDR(BgL_lstz00_494); 
{ /* ./Module/impuse.scm 171 */
obj_t BgL_arg2047z00_501;
BgL_arg2047z00_501 = 
CAR(BgL_lstz00_494); 
BgL_arg2043z00_500 = 
MAKE_PAIR(BgL_arg2047z00_501, BgL_filesz00_495); } 
{ 
obj_t BgL_filesz00_1612;obj_t BgL_lstz00_1611;
BgL_lstz00_1611 = BgL_arg2042z00_499; 
BgL_filesz00_1612 = BgL_arg2043z00_500; 
BgL_filesz00_495 = BgL_filesz00_1612; 
BgL_lstz00_494 = BgL_lstz00_1611; 
goto BgL_loopz00_496;} } }  else 
{ /* ./Module/impuse.scm 172 */
bool_t BgL_test2050z00_502;
{ /* ./Module/impuse.scm 172 */
obj_t BgL_auxz00_1613;
BgL_auxz00_1613 = 
CAR(BgL_lstz00_494); 
BgL_test2050z00_502 = 
SYMBOLP(BgL_auxz00_1613); } 
if(BgL_test2050z00_502)
{ /* ./Module/impuse.scm 172 */
{ /* ./Module/impuse.scm 173 */
obj_t BgL_modz00_503;obj_t BgL_varsz00_504;
BgL_modz00_503 = 
CAR(BgL_lstz00_494); 
BgL_varsz00_504 = 
CDR(BgL_lstz00_494); 
{ /* ./Module/impuse.scm 176 */
bool_t BgL_test2051z00_505;
BgL_test2051z00_505 = 
NULLP(BgL_varsz00_504); 
if(BgL_test2051z00_505)
{ /* ./Module/impuse.scm 176 */
{ /* ./Module/impuse.scm 178 */
bool_t BgL_test2053z00_506;
BgL_test2053z00_506 = 
PAIRP(BgL_filesz00_495); 
if(BgL_test2053z00_506)
{ /* ./Module/impuse.scm 178 */
BGl_addzd2accessz12zc0zzread_accessz00(BgL_modz00_503, BgL_filesz00_495); }  else 
{ /* ./Module/impuse.scm 178 */BFALSE; } } 
return 
BGl_importzd2allzd2modulez00zzmodule_impusez00(BgL_modz00_503, BgL_modez00_30, BgL_prototypez00_29);}  else 
{ /* ./Module/impuse.scm 180 */
bool_t BgL_test2057z00_507;
BgL_predz00_520 = BGl_symbolzf3zd2envz21zz__r4_symbols_6_4z00; 
BgL_lstz00_521 = BgL_varsz00_504; 
BgL_zc3anonymousza32099ze3z83_522:
{ /* ./Module/impuse.scm 152 */
bool_t BgL_test2100z00_523;
BgL_test2100z00_523 = 
NULLP(BgL_lstz00_521); 
if(BgL_test2100z00_523)
{ /* ./Module/impuse.scm 152 */
BgL_test2057z00_507 = ((bool_t)1); }  else 
{ /* ./Module/impuse.scm 153 */
bool_t BgL_test2101z00_524;
BgL_test2101z00_524 = 
PAIRP(BgL_lstz00_521); 
if(BgL_test2101z00_524)
{ /* ./Module/impuse.scm 154 */
bool_t BgL_test2103z00_525;
{ /* ./Module/impuse.scm 154 */
obj_t BgL_arg2109z00_527;
BgL_arg2109z00_527 = 
CAR(BgL_lstz00_521); 
{ /* ./Module/impuse.scm 154 */
obj_t BgL_auxz00_1630;
BgL_auxz00_1630 = 
PROCEDURE_ENTRY(BgL_predz00_520)(BgL_predz00_520, BgL_arg2109z00_527, BEOA); 
BgL_test2103z00_525 = 
CBOOL(BgL_auxz00_1630); } } 
if(BgL_test2103z00_525)
{ /* ./Module/impuse.scm 154 */
{ /* ./Module/impuse.scm 154 */
obj_t BgL_arg2105z00_526;
BgL_arg2105z00_526 = 
CDR(BgL_lstz00_521); 
{ 
obj_t BgL_lstz00_1636;
BgL_lstz00_1636 = BgL_arg2105z00_526; 
BgL_lstz00_521 = BgL_lstz00_1636; 
goto BgL_zc3anonymousza32099ze3z83_522;} } }  else 
{ /* ./Module/impuse.scm 154 */
BgL_test2057z00_507 = ((bool_t)0); } }  else 
{ /* ./Module/impuse.scm 153 */
BgL_test2057z00_507 = ((bool_t)0); } } } 
if(BgL_test2057z00_507)
{ /* ./Module/impuse.scm 180 */
{ /* ./Module/impuse.scm 182 */
bool_t BgL_test2059z00_508;
BgL_test2059z00_508 = 
PAIRP(BgL_filesz00_495); 
if(BgL_test2059z00_508)
{ /* ./Module/impuse.scm 182 */
BGl_addzd2accessz12zc0zzread_accessz00(BgL_modz00_503, BgL_filesz00_495); }  else 
{ /* ./Module/impuse.scm 182 */BFALSE; } } 
{ 
obj_t BgL_l1834z00_509;
{ /* ./Module/impuse.scm 183 */
bool_t BgL_auxz00_1641;
BgL_l1834z00_509 = BgL_varsz00_504; 
BgL_forzd2each1835zd2_510:
{ /* ./Module/impuse.scm 183 */
bool_t BgL_test2063z00_511;
BgL_test2063z00_511 = 
PAIRP(BgL_l1834z00_509); 
if(BgL_test2063z00_511)
{ /* ./Module/impuse.scm 183 */
{ /* ./Module/impuse.scm 184 */
obj_t BgL_vz00_512;
BgL_vz00_512 = 
CAR(BgL_l1834z00_509); 
BGl_importzd21zd2modulez00zzmodule_impusez00(BgL_modz00_503, BgL_vz00_512, BgL_modez00_30, BgL_prototypez00_29); } 
{ /* ./Module/impuse.scm 183 */
obj_t BgL_arg2067z00_513;
BgL_arg2067z00_513 = 
CDR(BgL_l1834z00_509); 
{ 
obj_t BgL_l1834z00_1647;
BgL_l1834z00_1647 = BgL_arg2067z00_513; 
BgL_l1834z00_509 = BgL_l1834z00_1647; 
goto BgL_forzd2each1835zd2_510;} } }  else 
{ /* ./Module/impuse.scm 183 */
BgL_auxz00_1641 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_1641);} } }  else 
{ /* ./Module/impuse.scm 180 */
{ /* ./Module/impuse.scm 187 */
obj_t BgL_list2072z00_514;
BgL_list2072z00_514 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2963z00zzmodule_impusez00, BGl_string2964z00zzmodule_impusez00, BgL_prototypez00_29, BgL_list2072z00_514);} } } } } }  else 
{ /* ./Module/impuse.scm 172 */
{ /* ./Module/impuse.scm 192 */
obj_t BgL_list2079z00_515;
BgL_list2079z00_515 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2963z00zzmodule_impusez00, BGl_string2964z00zzmodule_impusez00, BgL_prototypez00_29, BgL_list2079z00_515);} } } }  else 
{ /* ./Module/impuse.scm 165 */
{ /* ./Module/impuse.scm 166 */
obj_t BgL_list2090z00_518;
BgL_list2090z00_518 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2963z00zzmodule_impusez00, BGl_string2964z00zzmodule_impusez00, BgL_prototypez00_29, BgL_list2090z00_518);} } } } } }  else 
{ /* ./Module/impuse.scm 160 */
{ /* ./Module/impuse.scm 197 */
obj_t BgL_list2095z00_519;
BgL_list2095z00_519 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2963z00zzmodule_impusez00, BGl_string2964z00zzmodule_impusez00, BgL_prototypez00_29, BgL_list2095z00_519);} } } } } } 
}



/* get-imported-modules */
BGL_EXPORTED_DEF obj_t BGl_getzd2importedzd2modulesz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 225 */
return BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00;} 
}



/* _get-imported-modules */
obj_t BGl__getzd2importedzd2modulesz00zzmodule_impusez00(obj_t BgL_envz00_1359)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 225 */
return BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00;} 
}



/* import-finalizer */
obj_t BGl_importzd2finaliza7erz75zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 237 */
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00); 
{ 
obj_t BgL_initza2za2_539;
BgL_initza2za2_539 = BNIL; 
BgL_loopz00_540:
{ /* ./Module/impuse.scm 243 */
bool_t BgL_test2159z00_541;
{ /* ./Module/impuse.scm 243 */
obj_t BgL_objz00_1184;
BgL_objz00_1184 = BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00; 
BgL_test2159z00_541 = 
NULLP(BgL_objz00_1184); } 
if(BgL_test2159z00_541)
{ /* ./Module/impuse.scm 244 */
bool_t BgL_test2160z00_542;
BgL_test2160z00_542 = 
PAIRP(BgL_initza2za2_539); 
if(BgL_test2160z00_542)
{ 
obj_t BgL_initza2za2_543;obj_t BgL_initzd2callza2z70_544;
BgL_initza2za2_543 = BgL_initza2za2_539; 
BgL_initzd2callza2z70_544 = BNIL; 
BgL_loopz00_545:
{ /* ./Module/impuse.scm 247 */
bool_t BgL_test2162z00_546;
BgL_test2162z00_546 = 
NULLP(BgL_initza2za2_543); 
if(BgL_test2162z00_546)
{ /* ./Module/impuse.scm 251 */
obj_t BgL_bodyz00_547;
{ /* ./Module/impuse.scm 251 */
bool_t BgL_test2170z00_550;
{ /* ./Module/impuse.scm 251 */
long BgL_n1z00_1187;
BgL_n1z00_1187 = 
(long)CINT(BGl_za2debugzd2moduleza2zd2zzengine_paramz00); 
BgL_test2170z00_550 = 
(BgL_n1z00_1187>((long)0)); } 
if(BgL_test2170z00_550)
{ /* ./Module/impuse.scm 252 */
obj_t BgL_arg2172z00_551;
{ /* ./Module/impuse.scm 252 */
obj_t BgL_arg2176z00_553;obj_t BgL_arg2177z00_554;
BgL_arg2176z00_553 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Module/impuse.scm 253 */
obj_t BgL_arg2180z00_555;obj_t BgL_arg2181z00_556;
{ /* ./Module/impuse.scm 253 */
obj_t BgL_arg2184z00_557;obj_t BgL_arg2185z00_558;
BgL_arg2184z00_557 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Module/impuse.scm 254 */
obj_t BgL_arg2188z00_559;
{ /* ./Module/impuse.scm 254 */
obj_t BgL_arg2193z00_562;
{ /* ./Module/impuse.scm 256 */
obj_t BgL_symbolz00_1189;
BgL_symbolz00_1189 = BGl_za2moduleza2z00zzmodule_modulez00; 
BgL_arg2193z00_562 = 
SYMBOL_TO_STRING(BgL_symbolz00_1189); } 
BgL_arg2188z00_559 = 
string_append_3(BGl_string2965z00zzmodule_impusez00, BgL_arg2193z00_562, BGl_string2966z00zzmodule_impusez00); } 
BgL_arg2185z00_558 = 
MAKE_PAIR(BgL_arg2188z00_559, BNIL); } 
BgL_arg2180z00_555 = 
MAKE_PAIR(BgL_arg2184z00_557, BgL_arg2185z00_558); } 
BgL_arg2181z00_556 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_initzd2callza2z70_544, BNIL); 
BgL_arg2177z00_554 = 
MAKE_PAIR(BgL_arg2180z00_555, BgL_arg2181z00_556); } 
BgL_arg2172z00_551 = 
MAKE_PAIR(BgL_arg2176z00_553, BgL_arg2177z00_554); } 
BgL_bodyz00_547 = 
MAKE_PAIR(BgL_arg2172z00_551, BNIL); }  else 
{ /* ./Module/impuse.scm 251 */
BgL_bodyz00_547 = BgL_initzd2callza2z70_544; } } 
{ /* ./Module/impuse.scm 260 */
obj_t BgL_arg2165z00_548;
{ /* ./Module/impuse.scm 260 */
obj_t BgL_idz00_1190;
BgL_idz00_1190 = 
CNST_TABLE_REF(((long)10)); 
{ /* ./Module/impuse.scm 260 */
obj_t BgL_newz00_1194;
{ /* ./Module/impuse.scm 260 */
int BgL_auxz00_1680;obj_t BgL_auxz00_1678;
BgL_auxz00_1680 = 
(int)(((long)4)); 
BgL_auxz00_1678 = 
CNST_TABLE_REF(((long)11)); 
BgL_newz00_1194 = 
create_struct(BgL_auxz00_1678, BgL_auxz00_1680); } 
{ /* ./Module/impuse.scm 260 */
int BgL_kz00_1198;
BgL_kz00_1198 = 
(int)(((long)3)); 
STRUCT_SET(BgL_newz00_1194, BgL_kz00_1198, BTRUE); } 
{ /* ./Module/impuse.scm 260 */
int BgL_kz00_1203;
BgL_kz00_1203 = 
(int)(((long)2)); 
STRUCT_SET(BgL_newz00_1194, BgL_kz00_1203, BgL_bodyz00_547); } 
{ /* ./Module/impuse.scm 260 */
int BgL_kz00_1208;obj_t BgL_oz00_1209;
BgL_kz00_1208 = 
(int)(((long)1)); 
BgL_oz00_1209 = 
BINT(((long)12)); 
STRUCT_SET(BgL_newz00_1194, BgL_kz00_1208, BgL_oz00_1209); } 
{ /* ./Module/impuse.scm 260 */
int BgL_kz00_1213;
BgL_kz00_1213 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1194, BgL_kz00_1213, BgL_idz00_1190); } 
BgL_arg2165z00_548 = BgL_newz00_1194; } } 
{ /* ./Module/impuse.scm 260 */
obj_t BgL_list2167z00_549;
BgL_list2167z00_549 = 
MAKE_PAIR(BgL_arg2165z00_548, BNIL); 
return BgL_list2167z00_549;} } }  else 
{ /* ./Module/impuse.scm 261 */
obj_t BgL_idz00_564;
{ /* ./Module/impuse.scm 261 */
int BgL_auxz00_1695;obj_t BgL_auxz00_1693;
BgL_auxz00_1695 = 
(int)(((long)0)); 
BgL_auxz00_1693 = 
CAR(BgL_initza2za2_543); 
BgL_idz00_564 = 
STRUCT_REF(BgL_auxz00_1693, BgL_auxz00_1695); } 
{ /* ./Module/impuse.scm 261 */
obj_t BgL_checksumz00_565;
{ /* ./Module/impuse.scm 262 */
int BgL_auxz00_1700;obj_t BgL_auxz00_1698;
BgL_auxz00_1700 = 
(int)(((long)3)); 
BgL_auxz00_1698 = 
CAR(BgL_initza2za2_543); 
BgL_checksumz00_565 = 
STRUCT_REF(BgL_auxz00_1698, BgL_auxz00_1700); } 
{ /* ./Module/impuse.scm 262 */
obj_t BgL_initzd2funzd2idz00_566;
BgL_initzd2funzd2idz00_566 = 
BGl_modulezd2initializa7ationzd2idza7zzmodule_modulez00(BgL_idz00_564); 
{ /* ./Module/impuse.scm 263 */

{ /* ./Module/impuse.scm 264 */
obj_t BgL_globalz00_567;
{ /* ./Module/impuse.scm 265 */
obj_t BgL_arg2201z00_568;
{ /* ./Module/impuse.scm 265 */
obj_t BgL_list2205z00_570;
{ /* ./Module/impuse.scm 265 */
obj_t BgL_arg2207z00_571;
{ /* ./Module/impuse.scm 265 */
obj_t BgL_arg2210z00_572;obj_t BgL_arg2211z00_573;
BgL_arg2210z00_572 = 
CNST_TABLE_REF(((long)12)); 
{ /* ./Module/impuse.scm 264 */
obj_t BgL_auxz00_1705;
BgL_auxz00_1705 = 
CNST_TABLE_REF(((long)13)); 
BgL_arg2211z00_573 = 
MAKE_PAIR(BgL_auxz00_1705, BNIL); } 
BgL_arg2207z00_571 = 
MAKE_PAIR(BgL_arg2210z00_572, BgL_arg2211z00_573); } 
BgL_list2205z00_570 = 
MAKE_PAIR(BgL_initzd2funzd2idz00_566, BgL_arg2207z00_571); } 
BgL_arg2201z00_568 = BgL_list2205z00_570; } 
BgL_globalz00_567 = 
BGl_importzd2parserzd2zzmodule_impusez00(BgL_idz00_564, BgL_arg2201z00_568, BNIL); } 
{ /* ./Module/impuse.scm 269 */
BgL_globalz00_bglt BgL_obj1441z00_1227;bool_t BgL_val1440z00_1228;
BgL_obj1441z00_1227 = 
(BgL_globalz00_bglt)(BgL_globalz00_567); 
BgL_val1440z00_1228 = ((bool_t)0); 
((((BgL_globalz00_bglt)CREF(BgL_obj1441z00_1227))->BgL_evaluablezf3zf3) = ((bool_t)BgL_val1440z00_1228), BUNSPEC); } } 
{ /* ./Module/impuse.scm 270 */
obj_t BgL_arg2215z00_574;obj_t BgL_arg2216z00_575;
BgL_arg2215z00_574 = 
CDR(BgL_initza2za2_543); 
{ /* ./Module/impuse.scm 271 */
obj_t BgL_arg2220z00_576;
{ /* ./Module/impuse.scm 271 */
obj_t BgL_arg2223z00_577;obj_t BgL_arg2224z00_578;
{ /* ./Module/impuse.scm 271 */
obj_t BgL_arg2227z00_579;obj_t BgL_arg2228z00_580;
BgL_arg2227z00_579 = 
CNST_TABLE_REF(((long)14)); 
{ /* ./Module/impuse.scm 271 */
obj_t BgL_arg2231z00_581;
BgL_arg2231z00_581 = 
MAKE_PAIR(BgL_idz00_564, BNIL); 
BgL_arg2228z00_580 = 
MAKE_PAIR(BgL_initzd2funzd2idz00_566, BgL_arg2231z00_581); } 
BgL_arg2223z00_577 = 
MAKE_PAIR(BgL_arg2227z00_579, BgL_arg2228z00_580); } 
{ /* ./Module/impuse.scm 273 */
obj_t BgL_arg2235z00_582;
{ /* ./Module/impuse.scm 273 */
obj_t BgL_arg2238z00_583;
{ /* ./Module/impuse.scm 273 */
obj_t BgL_symbolz00_1230;
BgL_symbolz00_1230 = BGl_za2moduleza2z00zzmodule_modulez00; 
BgL_arg2238z00_583 = 
SYMBOL_TO_STRING(BgL_symbolz00_1230); } 
BgL_arg2235z00_582 = 
MAKE_PAIR(BgL_arg2238z00_583, BNIL); } 
BgL_arg2224z00_578 = 
MAKE_PAIR(BgL_checksumz00_565, BgL_arg2235z00_582); } 
BgL_arg2220z00_576 = 
MAKE_PAIR(BgL_arg2223z00_577, BgL_arg2224z00_578); } 
BgL_arg2216z00_575 = 
MAKE_PAIR(BgL_arg2220z00_576, BgL_initzd2callza2z70_544); } 
{ 
obj_t BgL_initzd2callza2z70_1724;obj_t BgL_initza2za2_1723;
BgL_initza2za2_1723 = BgL_arg2215z00_574; 
BgL_initzd2callza2z70_1724 = BgL_arg2216z00_575; 
BgL_initzd2callza2z70_544 = BgL_initzd2callza2z70_1724; 
BgL_initza2za2_543 = BgL_initza2za2_1723; 
goto BgL_loopz00_545;} } } } } } } }  else 
{ /* ./Module/impuse.scm 244 */
return BNIL;} }  else 
{ /* ./Module/impuse.scm 276 */
obj_t BgL_modulez00_587;obj_t BgL_imodez00_588;
{ /* ./Module/impuse.scm 276 */
obj_t BgL_arg2274z00_596;
{ /* ./Module/impuse.scm 276 */
obj_t BgL_pairz00_1231;
BgL_pairz00_1231 = BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00; 
BgL_arg2274z00_596 = 
CAR(BgL_pairz00_1231); } 
BgL_modulez00_587 = 
CAR(BgL_arg2274z00_596); } 
{ /* ./Module/impuse.scm 277 */
obj_t BgL_arg2278z00_597;
{ /* ./Module/impuse.scm 277 */
obj_t BgL_pairz00_1233;
BgL_pairz00_1233 = BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00; 
BgL_arg2278z00_597 = 
CAR(BgL_pairz00_1233); } 
BgL_imodez00_588 = 
CDR(BgL_arg2278z00_597); } 
{ /* ./Module/impuse.scm 278 */
obj_t BgL_pairz00_1235;
BgL_pairz00_1235 = BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00; 
BGl_za2importzd2modulezd2listza2z00zzmodule_impusez00 = 
CDR(BgL_pairz00_1235); } 
BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00 = 
MAKE_PAIR(BgL_modulez00_587, BGl_za2importedzd2modulezd2listza2z00zzmodule_impusez00); 
{ /* ./Module/impuse.scm 280 */
bool_t BgL_test2255z00_589;
{ /* ./Module/impuse.scm 280 */
obj_t BgL_auxz00_1735;obj_t BgL_auxz00_1731;
BgL_auxz00_1735 = 
CNST_TABLE_REF(((long)6)); 
{ /* ./Module/impuse.scm 280 */
int BgL_auxz00_1732;
BgL_auxz00_1732 = 
(int)(((long)1)); 
BgL_auxz00_1731 = 
STRUCT_REF(BgL_imodez00_588, BgL_auxz00_1732); } 
BgL_test2255z00_589 = 
(BgL_auxz00_1731==BgL_auxz00_1735); } 
if(BgL_test2255z00_589)
{ /* ./Module/impuse.scm 280 */BFALSE; }  else 
{ /* ./Module/impuse.scm 280 */
BGl_readzd2importedzd2modulez00zzmodule_impusez00(BgL_imodez00_588); } } 
{ /* ./Module/impuse.scm 282 */
obj_t BgL_arg2264z00_592;
{ /* ./Module/impuse.scm 282 */
bool_t BgL_test2266z00_593;
{ /* ./Module/impuse.scm 282 */
obj_t BgL_auxz00_1740;
{ /* ./Module/impuse.scm 282 */
obj_t BgL_auxz00_1741;
{ /* ./Module/impuse.scm 282 */
int BgL_auxz00_1742;
BgL_auxz00_1742 = 
(int)(((long)1)); 
BgL_auxz00_1741 = 
STRUCT_REF(BgL_imodez00_588, BgL_auxz00_1742); } 
BgL_auxz00_1740 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_auxz00_1741, 
CNST_TABLE_REF(((long)15))); } 
BgL_test2266z00_593 = 
CBOOL(BgL_auxz00_1740); } 
if(BgL_test2266z00_593)
{ /* ./Module/impuse.scm 282 */
BgL_arg2264z00_592 = 
MAKE_PAIR(BgL_imodez00_588, BgL_initza2za2_539); }  else 
{ /* ./Module/impuse.scm 282 */
BgL_arg2264z00_592 = BgL_initza2za2_539; } } 
{ 
obj_t BgL_initza2za2_1750;
BgL_initza2za2_1750 = BgL_arg2264z00_592; 
BgL_initza2za2_539 = BgL_initza2za2_1750; 
goto BgL_loopz00_540;} } } } } } 
}



/* impuse-finalizer */
obj_t BGl_impusezd2finaliza7erz75zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 293 */
{ /* ./Module/impuse.scm 294 */
obj_t BgL_importzd2finaliza7erz75_598;
BgL_importzd2finaliza7erz75_598 = 
BGl_importzd2finaliza7erz75zzmodule_impusez00(); 
{ /* ./Module/impuse.scm 294 */
obj_t BgL_inlinezd2finaliza7erz75_599;
BgL_inlinezd2finaliza7erz75_599 = 
BGl_inlinezd2finaliza7erz75zzread_inlinez00(); 
{ /* ./Module/impuse.scm 295 */
obj_t BgL_finaliza7ersza7_600;
BgL_finaliza7ersza7_600 = 
bgl_append2(BgL_importzd2finaliza7erz75_598, BgL_inlinezd2finaliza7erz75_599); 
{ /* ./Module/impuse.scm 296 */

if(
NULLP(BgL_finaliza7ersza7_600))
{ /* ./Module/impuse.scm 297 */
return 
CNST_TABLE_REF(((long)1));}  else 
{ /* ./Module/impuse.scm 297 */
return BgL_finaliza7ersza7_600;} } } } } } 
}



/* _impuse-finalizer */
obj_t BGl__impusezd2finaliza7erz75zzmodule_impusez00(obj_t BgL_envz00_1346)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 293 */
return 
BGl_impusezd2finaliza7erz75zzmodule_impusez00();} 
}



/* import-parser */
BGL_EXPORTED_DEF obj_t BGl_importzd2parserzd2zzmodule_impusez00(obj_t BgL_modulez00_58, obj_t BgL_prototypez00_59, obj_t BgL_importzd2srczd2_60)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 304 */
{ /* ./Module/impuse.scm 305 */
obj_t BgL_protoz00_602;obj_t BgL_srcz00_603;
BgL_protoz00_602 = 
BGl_parsezd2prototypezd2zzmodule_prototypez00(BgL_prototypez00_59); 
if(
PAIRP(BgL_importzd2srczd2_60))
{ /* ./Module/impuse.scm 306 */
BgL_srcz00_603 = 
CAR(BgL_importzd2srczd2_60); }  else 
{ /* ./Module/impuse.scm 306 */
BgL_srcz00_603 = BFALSE; } 
{ /* ./Module/impuse.scm 309 */
bool_t BgL_test2287z00_604;
BgL_test2287z00_604 = 
PAIRP(BgL_protoz00_602); 
if(BgL_test2287z00_604)
{ /* ./Module/impuse.scm 315 */
obj_t BgL_casezd2valuezd2_605;
BgL_casezd2valuezd2_605 = 
CAR(BgL_protoz00_602); 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2288z00_606;
{ /* ./Module/impuse.scm 317 */
obj_t BgL_auxz00_1765;
BgL_auxz00_1765 = 
BGl_memvz00zz__r4_pairs_and_lists_6_3z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)16))); 
BgL_test2288z00_606 = 
CBOOL(BgL_auxz00_1765); } 
if(BgL_test2288z00_606)
{ /* ./Module/impuse.scm 317 */
obj_t BgL_arg2290z00_607;obj_t BgL_arg2291z00_608;obj_t BgL_arg2292z00_609;
{ /* ./Module/impuse.scm 317 */
obj_t BgL_auxz00_1770;
BgL_auxz00_1770 = 
CDR(BgL_protoz00_602); 
BgL_arg2290z00_607 = 
CAR(BgL_auxz00_1770); } 
{ /* ./Module/impuse.scm 318 */
obj_t BgL_auxz00_1773;
{ /* ./Module/impuse.scm 318 */
obj_t BgL_auxz00_1774;
BgL_auxz00_1774 = 
CDR(BgL_protoz00_602); 
BgL_auxz00_1773 = 
CDR(BgL_auxz00_1774); } 
BgL_arg2291z00_608 = 
CAR(BgL_auxz00_1773); } 
BgL_arg2292z00_609 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Module/impuse.scm 317 */
BgL_globalz00_bglt BgL_auxz00_1779;
BgL_auxz00_1779 = 
BGl_declarezd2globalzd2sfunz12z12zzast_glozd2declzd2(BgL_arg2290z00_607, BgL_arg2291z00_608, BgL_modulez00_58, BgL_arg2292z00_609, BgL_casezd2valuezd2_605, BgL_prototypez00_59, BgL_srcz00_603); 
return 
(obj_t)(BgL_auxz00_1779);} }  else 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2298z00_611;
BgL_test2298z00_611 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)17))); 
if(BgL_test2298z00_611)
{ /* ./Module/impuse.scm 325 */
obj_t BgL_arg2300z00_612;obj_t BgL_arg2301z00_613;
{ /* ./Module/impuse.scm 325 */
obj_t BgL_auxz00_1785;
BgL_auxz00_1785 = 
CDR(BgL_protoz00_602); 
BgL_arg2300z00_612 = 
CAR(BgL_auxz00_1785); } 
BgL_arg2301z00_613 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Module/impuse.scm 325 */
BgL_globalz00_bglt BgL_auxz00_1789;
BgL_auxz00_1789 = 
BGl_declarezd2globalzd2svarz12z12zzast_glozd2declzd2(BgL_arg2300z00_612, BgL_modulez00_58, BgL_arg2301z00_613, BgL_prototypez00_59, BgL_srcz00_603); 
return 
(obj_t)(BgL_auxz00_1789);} }  else 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2304z00_614;
BgL_test2304z00_614 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)18))); 
if(BgL_test2304z00_614)
{ /* ./Module/impuse.scm 327 */
obj_t BgL_arg2306z00_615;obj_t BgL_arg2307z00_616;
BgL_arg2306z00_615 = 
CDR(BgL_protoz00_602); 
BgL_arg2307z00_616 = 
CNST_TABLE_REF(((long)0)); 
return 
BGl_declarezd2classz12zc0zzmodule_classz00(BgL_arg2306z00_615, BgL_modulez00_58, BgL_arg2307z00_616, ((bool_t)0), ((bool_t)0), BgL_prototypez00_59, BgL_srcz00_603);}  else 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2310z00_617;
BgL_test2310z00_617 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)19))); 
if(BgL_test2310z00_617)
{ /* ./Module/impuse.scm 329 */
obj_t BgL_arg2312z00_618;obj_t BgL_arg2313z00_619;
BgL_arg2312z00_618 = 
CDR(BgL_protoz00_602); 
BgL_arg2313z00_619 = 
CNST_TABLE_REF(((long)0)); 
return 
BGl_declarezd2classz12zc0zzmodule_classz00(BgL_arg2312z00_618, BgL_modulez00_58, BgL_arg2313z00_619, ((bool_t)0), ((bool_t)1), BgL_prototypez00_59, BgL_srcz00_603);}  else 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2316z00_620;
BgL_test2316z00_620 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)20))); 
if(BgL_test2316z00_620)
{ /* ./Module/impuse.scm 331 */
obj_t BgL_arg2318z00_621;obj_t BgL_arg2319z00_622;
BgL_arg2318z00_621 = 
CDR(BgL_protoz00_602); 
BgL_arg2319z00_622 = 
CNST_TABLE_REF(((long)0)); 
return 
BGl_declarezd2classz12zc0zzmodule_classz00(BgL_arg2318z00_621, BgL_modulez00_58, BgL_arg2319z00_622, ((bool_t)1), ((bool_t)0), BgL_prototypez00_59, BgL_srcz00_603);}  else 
{ /* ./Module/impuse.scm 316 */
bool_t BgL_test2322z00_623;
BgL_test2322z00_623 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_casezd2valuezd2_605, 
CNST_TABLE_REF(((long)21))); 
if(BgL_test2322z00_623)
{ /* ./Module/impuse.scm 333 */
obj_t BgL_arg2324z00_624;obj_t BgL_arg2325z00_625;
BgL_arg2324z00_624 = 
CDR(BgL_protoz00_602); 
BgL_arg2325z00_625 = 
CNST_TABLE_REF(((long)0)); 
return 
BGl_declarezd2widezd2classz12z12zzmodule_classz00(BgL_arg2324z00_624, BgL_modulez00_58, BgL_arg2325z00_625, BgL_prototypez00_59, BgL_srcz00_603);}  else 
{ /* ./Module/impuse.scm 335 */
obj_t BgL_list2329z00_626;
BgL_list2329z00_626 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2963z00zzmodule_impusez00, BGl_string2967z00zzmodule_impusez00, BgL_prototypez00_59, BgL_list2329z00_626);} } } } } } } }  else 
{ /* ./Module/impuse.scm 310 */
obj_t BgL_arg2339z00_627;
BgL_arg2339z00_627 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
{ /* ./Module/impuse.scm 310 */
obj_t BgL_list2345z00_631;
BgL_list2345z00_631 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2339z00_627, BGl_string2963z00zzmodule_impusez00, BGl_string2967z00zzmodule_impusez00, BgL_prototypez00_59, BgL_list2345z00_631);} } } } } 
}



/* _import-parser2779 */
obj_t BGl__importzd2parser2779zd2zzmodule_impusez00(obj_t BgL_envz00_1360, obj_t BgL_modulez00_1361, obj_t BgL_prototypez00_1362, obj_t BgL_importzd2srczd2_1363)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 304 */
return 
BGl_importzd2parserzd2zzmodule_impusez00(BgL_modulez00_1361, BgL_prototypez00_1362, BgL_importzd2srczd2_1363);} 
}



/* read-imported-module */
obj_t BGl_readzd2importedzd2modulez00zzmodule_impusez00(obj_t BgL_imodez00_61)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 340 */
{ /* ./Module/impuse.scm 342 */
obj_t BgL_modulez00_633;
{ /* ./Module/impuse.scm 342 */
int BgL_auxz00_1822;
BgL_auxz00_1822 = 
(int)(((long)0)); 
BgL_modulez00_633 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1822); } 
{ /* ./Module/impuse.scm 342 */
obj_t BgL_wantedz00_634;
{ /* ./Module/impuse.scm 343 */
int BgL_auxz00_1825;
BgL_auxz00_1825 = 
(int)(((long)2)); 
BgL_wantedz00_634 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1825); } 
{ /* ./Module/impuse.scm 343 */
obj_t BgL_bz00_635;
BgL_bz00_635 = 
BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_modulez00_633, BGl_za2accesszd2tableza2zd2zzengine_paramz00); 
{ /* ./Module/impuse.scm 344 */

{ /* ./Module/impuse.scm 345 */
char * BgL_arg2356z00_638;
{ /* ./Module/impuse.scm 346 */
bool_t BgL_testz00_1829;
{ /* ./Module/impuse.scm 346 */
obj_t BgL_auxz00_1834;obj_t BgL_auxz00_1830;
BgL_auxz00_1834 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Module/impuse.scm 346 */
int BgL_auxz00_1831;
BgL_auxz00_1831 = 
(int)(((long)1)); 
BgL_auxz00_1830 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1831); } 
BgL_testz00_1829 = 
(BgL_auxz00_1830==BgL_auxz00_1834); } 
if(BgL_testz00_1829)
{ /* ./Module/impuse.scm 346 */
BgL_arg2356z00_638 = "used"; }  else 
{ /* ./Module/impuse.scm 346 */
BgL_arg2356z00_638 = "imported"; } } 
{ /* ./Module/impuse.scm 345 */
obj_t BgL_list2360z00_641;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_arg2362z00_642;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_arg2365z00_643;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_arg2368z00_644;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_arg2371z00_645;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_arg2374z00_646;
{ /* ./Module/impuse.scm 345 */
obj_t BgL_auxz00_1837;
BgL_auxz00_1837 = 
BCHAR(((unsigned char)'\n')); 
BgL_arg2374z00_646 = 
MAKE_PAIR(BgL_auxz00_1837, BNIL); } 
BgL_arg2371z00_645 = 
MAKE_PAIR(BGl_string2968z00zzmodule_impusez00, BgL_arg2374z00_646); } 
BgL_arg2368z00_644 = 
MAKE_PAIR(BgL_modulez00_633, BgL_arg2371z00_645); } 
BgL_arg2365z00_643 = 
MAKE_PAIR(BGl_string2969z00zzmodule_impusez00, BgL_arg2368z00_644); } 
{ /* ./Module/impuse.scm 345 */
obj_t BgL_auxz00_1843;
BgL_auxz00_1843 = 
string_to_bstring(BgL_arg2356z00_638); 
BgL_arg2362z00_642 = 
MAKE_PAIR(BgL_auxz00_1843, BgL_arg2365z00_643); } } 
BgL_list2360z00_641 = 
MAKE_PAIR(BGl_string2970z00zzmodule_impusez00, BgL_arg2362z00_642); } 
BGl_verbosez00zztools_speekz00(
BINT(((long)2)), BgL_list2360z00_641); } } 
if(
CBOOL(BgL_bz00_635))
{ /* ./Module/impuse.scm 354 */
obj_t BgL_fnamesz00_650;
BgL_fnamesz00_650 = 
CDR(BgL_bz00_635); 
{ /* ./Module/impuse.scm 354 */
obj_t BgL_fnamez00_651;
{ /* ./Module/impuse.scm 355 */
obj_t BgL_arg2468z00_712;
BgL_arg2468z00_712 = 
CAR(BgL_fnamesz00_650); 
BgL_fnamez00_651 = 
BGl_findzd2filezf2pathz20zz__osz00(BgL_arg2468z00_712, BGl_za2loadzd2pathza2zd2zz__evalz00); } 
{ /* ./Module/impuse.scm 355 */

{ /* ./Module/impuse.scm 356 */
bool_t BgL_test2384z00_652;
BgL_test2384z00_652 = 
STRINGP(BgL_fnamez00_651); 
if(BgL_test2384z00_652)
{ /* ./Module/impuse.scm 362 */
obj_t BgL_portz00_653;
BgL_portz00_653 = 
BGl_openzd2inputzd2filez00zz__r4_ports_6_10_1z00(BgL_fnamez00_651, BNIL); 
BGl_readerzd2resetz12zc0zz__readerz00(); 
{ /* ./Module/impuse.scm 364 */
bool_t BgL_test2386z00_654;
BgL_test2386z00_654 = 
INPUT_PORTP(BgL_portz00_653); 
if(BgL_test2386z00_654)
{ /* ./Module/impuse.scm 372 */
obj_t BgL_handlerz00_1369;
{ 
int BgL_auxz00_1862;int BgL_auxz00_1860;
BgL_auxz00_1862 = 
(int)(((long)1)); 
BgL_auxz00_1860 = 
(int)(((long)4)); 
BgL_handlerz00_1369 = 
make_fx_procedure(BGl_handlerz00zzmodule_impusez00, BgL_auxz00_1860, BgL_auxz00_1862); } 
{ /* ./Module/impuse.scm 372 */
int BgL_auxz00_1865;
BgL_auxz00_1865 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_handlerz00_1369, BgL_auxz00_1865, BgL_portz00_653); } 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_armed1839z00_656;obj_t BgL_handler1836z00_657;
BgL_armed1839z00_656 = 
MAKE_CELL(BUNSPEC); 
BgL_handler1836z00_657 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_zc3anonymousza32404ze3z83_1365;obj_t BgL_zc3anonymousza32401ze3z83_1367;
{ 
int BgL_auxz00_1870;int BgL_auxz00_1868;
BgL_auxz00_1870 = 
(int)(((long)5)); 
BgL_auxz00_1868 = 
(int)(((long)0)); 
BgL_zc3anonymousza32404ze3z83_1365 = 
make_fx_procedure(BGl_zc3anonymousza32404ze3z83zzmodule_impusez00, BgL_auxz00_1868, BgL_auxz00_1870); } 
{ 
int BgL_auxz00_1875;int BgL_auxz00_1873;
BgL_auxz00_1875 = 
(int)(((long)2)); 
BgL_auxz00_1873 = 
(int)(((long)4)); 
BgL_zc3anonymousza32401ze3z83_1367 = 
make_fx_procedure(BGl_zc3anonymousza32401ze3z83zzmodule_impusez00, BgL_auxz00_1873, BgL_auxz00_1875); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1878;
BgL_auxz00_1878 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32404ze3z83_1365, BgL_auxz00_1878, BgL_portz00_653); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1881;
BgL_auxz00_1881 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32404ze3z83_1365, BgL_auxz00_1881, BgL_modulez00_633); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1884;
BgL_auxz00_1884 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32404ze3z83_1365, BgL_auxz00_1884, BgL_imodez00_61); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1887;
BgL_auxz00_1887 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32404ze3z83_1365, BgL_auxz00_1887, BgL_wantedz00_634); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1890;
BgL_auxz00_1890 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza32404ze3z83_1365, BgL_auxz00_1890, BgL_fnamesz00_650); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1893;
BgL_auxz00_1893 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32401ze3z83_1367, BgL_auxz00_1893, BgL_armed1839z00_656); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1896;
BgL_auxz00_1896 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32401ze3z83_1367, BgL_auxz00_1896, BgL_handler1836z00_657); } 
CELL_SET(BgL_handler1836z00_657, BgL_handlerz00_1369); 
CELL_SET(BgL_armed1839z00_656, BTRUE); 
return 
BGl_zc3exitza32387ze3z83zzmodule_impusez00(BgL_zc3anonymousza32404ze3z83_1365, BgL_zc3anonymousza32401ze3z83_1367, BgL_handler1836z00_657, BgL_armed1839z00_656);} } }  else 
{ /* ./Module/impuse.scm 365 */
obj_t BgL_arg2442z00_699;obj_t BgL_arg2445z00_702;
{ /* ./Module/impuse.scm 365 */
int BgL_auxz00_1900;
BgL_auxz00_1900 = 
(int)(((long)4)); 
BgL_arg2442z00_699 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1900); } 
BgL_arg2445z00_702 = 
CAR(BgL_fnamesz00_650); 
{ /* ./Module/impuse.scm 365 */
obj_t BgL_list2448z00_704;
BgL_list2448z00_704 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2442z00_699, BGl_string2971z00zzmodule_impusez00, BGl_string2972z00zzmodule_impusez00, BgL_arg2445z00_702, BgL_list2448z00_704);} } } }  else 
{ /* ./Module/impuse.scm 357 */
obj_t BgL_arg2456z00_706;obj_t BgL_arg2459z00_709;
{ /* ./Module/impuse.scm 357 */
int BgL_auxz00_1906;
BgL_auxz00_1906 = 
(int)(((long)4)); 
BgL_arg2456z00_706 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1906); } 
BgL_arg2459z00_709 = 
CAR(BgL_fnamesz00_650); 
{ /* ./Module/impuse.scm 357 */
obj_t BgL_list2462z00_711;
BgL_list2462z00_711 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2456z00_706, BGl_string2971z00zzmodule_impusez00, BGl_string2972z00zzmodule_impusez00, BgL_arg2459z00_709, BgL_list2462z00_711);} } } } } }  else 
{ /* ./Module/impuse.scm 349 */
obj_t BgL_arg2473z00_713;
{ /* ./Module/impuse.scm 349 */
int BgL_auxz00_1912;
BgL_auxz00_1912 = 
(int)(((long)4)); 
BgL_arg2473z00_713 = 
STRUCT_REF(BgL_imodez00_61, BgL_auxz00_1912); } 
{ /* ./Module/impuse.scm 349 */
obj_t BgL_list2478z00_717;
BgL_list2478z00_717 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2473z00_713, BGl_string2971z00zzmodule_impusez00, BGl_string2973z00zzmodule_impusez00, BgL_modulez00_633, BgL_list2478z00_717);} } } } } } } 
}



/* <exit:2387> */
obj_t BGl_zc3exitza32387ze3z83zzmodule_impusez00(obj_t BgL_zc3anonymousza32404ze3z83_1407, obj_t BgL_zc3anonymousza32401ze3z83_1406, obj_t BgL_handler1836z00_1405, obj_t BgL_armed1839z00_1404)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
jmp_buf jmpbuf; 
obj_t BgL_an_exit1840z00_661;
if( SET_EXIT(BgL_an_exit1840z00_661) ) { 
return 
_exit_value_;
} else {
BgL_an_exit1840z00_661 = 
(obj_t)jmpbuf; 
{ /* ./Module/impuse.scm 376 */

PUSH_EXIT(BgL_an_exit1840z00_661, ((bool_t)1)); 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_an_exitd1841z00_662;
BgL_an_exitd1841z00_662 = 
BGL_EXITD_TOP(); 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_escapez00_1366;
{ 
int BgL_auxz00_1923;int BgL_auxz00_1921;
BgL_auxz00_1923 = 
(int)(((long)1)); 
BgL_auxz00_1921 = 
(int)(((long)1)); 
BgL_escapez00_1366 = 
make_fx_procedure(BGl_escapez00zzmodule_impusez00, BgL_auxz00_1921, BgL_auxz00_1923); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1926;
BgL_auxz00_1926 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_escapez00_1366, BgL_auxz00_1926, BgL_an_exitd1841z00_662); } 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_res1843z00_665;
{ /* ./Module/impuse.scm 376 */
obj_t BgL_zc3anonymousza32397ze3z83_1364;obj_t BgL_zc3anonymousza32395ze3z83_1368;
{ 
int BgL_auxz00_1931;int BgL_auxz00_1929;
BgL_auxz00_1931 = 
(int)(((long)1)); 
BgL_auxz00_1929 = 
(int)(((long)0)); 
BgL_zc3anonymousza32397ze3z83_1364 = 
make_fx_procedure(BGl_zc3anonymousza32397ze3z83zzmodule_impusez00, BgL_auxz00_1929, BgL_auxz00_1931); } 
{ 
int BgL_auxz00_1936;int BgL_auxz00_1934;
BgL_auxz00_1936 = 
(int)(((long)5)); 
BgL_auxz00_1934 = 
(int)(((long)0)); 
BgL_zc3anonymousza32395ze3z83_1368 = 
make_fx_procedure(BGl_zc3anonymousza32395ze3z83zzmodule_impusez00, BgL_auxz00_1934, BgL_auxz00_1936); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1939;
BgL_auxz00_1939 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32397ze3z83_1364, BgL_auxz00_1939, BgL_armed1839z00_1404); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1942;
BgL_auxz00_1942 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza32395ze3z83_1368, BgL_auxz00_1942, BgL_an_exitd1841z00_662); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1945;
BgL_auxz00_1945 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza32395ze3z83_1368, BgL_auxz00_1945, BgL_armed1839z00_1404); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1948;
BgL_auxz00_1948 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza32395ze3z83_1368, BgL_auxz00_1948, BgL_handler1836z00_1405); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1951;
BgL_auxz00_1951 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza32395ze3z83_1368, BgL_auxz00_1951, BgL_zc3anonymousza32401ze3z83_1406); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1954;
BgL_auxz00_1954 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza32395ze3z83_1368, BgL_auxz00_1954, BgL_escapez00_1366); } 
BgL_res1843z00_665 = 
BGl_dynamiczd2windzd2zz__r4_control_features_6_9z00(BgL_zc3anonymousza32395ze3z83_1368, BgL_zc3anonymousza32404ze3z83_1407, BgL_zc3anonymousza32397ze3z83_1364); } 
POP_EXIT(); 
return BgL_res1843z00_665;} } } } 
} } 
}



/* <anonymous:2397> */
obj_t BGl_zc3anonymousza32397ze3z83zzmodule_impusez00(obj_t BgL_envz00_1370)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
{ /* ./Module/impuse.scm 376 */
obj_t BgL_armed1839z00_1371;
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_1959;
BgL_auxz00_1959 = 
(int)(((long)0)); 
BgL_armed1839z00_1371 = 
PROCEDURE_REF(BgL_envz00_1370, BgL_auxz00_1959); } 
{ 

{ /* ./Module/impuse.scm 376 */
bool_t BgL_testz00_1962;
{ /* ./Module/impuse.scm 376 */
obj_t BgL_auxz00_1963;
BgL_auxz00_1963 = 
CELL_REF(BgL_armed1839z00_1371); 
BgL_testz00_1962 = 
CBOOL(BgL_auxz00_1963); } 
if(BgL_testz00_1962)
{ /* ./Module/impuse.scm 376 */
CELL_SET(BgL_armed1839z00_1371, BFALSE); 
return 
BGl_removezd2errorzd2handlerz12z12zz__errorz00();}  else 
{ /* ./Module/impuse.scm 376 */
return BFALSE;} } } } } 
}



/* <anonymous:2404> */
obj_t BGl_zc3anonymousza32404ze3z83zzmodule_impusez00(obj_t BgL_envz00_1373)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
{ /* ./Module/impuse.scm 377 */
obj_t BgL_portz00_1374;obj_t BgL_modulez00_1375;obj_t BgL_imodez00_1376;obj_t BgL_wantedz00_1377;obj_t BgL_fnamesz00_1378;
{ /* ./Module/impuse.scm 377 */
int BgL_auxz00_1966;
BgL_auxz00_1966 = 
(int)(((long)0)); 
BgL_portz00_1374 = 
PROCEDURE_REF(BgL_envz00_1373, BgL_auxz00_1966); } 
{ /* ./Module/impuse.scm 377 */
int BgL_auxz00_1969;
BgL_auxz00_1969 = 
(int)(((long)1)); 
BgL_modulez00_1375 = 
PROCEDURE_REF(BgL_envz00_1373, BgL_auxz00_1969); } 
{ /* ./Module/impuse.scm 377 */
int BgL_auxz00_1972;
BgL_auxz00_1972 = 
(int)(((long)2)); 
BgL_imodez00_1376 = 
PROCEDURE_REF(BgL_envz00_1373, BgL_auxz00_1972); } 
{ /* ./Module/impuse.scm 377 */
int BgL_auxz00_1975;
BgL_auxz00_1975 = 
(int)(((long)3)); 
BgL_wantedz00_1377 = 
PROCEDURE_REF(BgL_envz00_1373, BgL_auxz00_1975); } 
{ /* ./Module/impuse.scm 377 */
int BgL_auxz00_1978;
BgL_auxz00_1978 = 
(int)(((long)4)); 
BgL_fnamesz00_1378 = 
PROCEDURE_REF(BgL_envz00_1373, BgL_auxz00_1978); } 
{ 

{ /* ./Module/impuse.scm 377 */
obj_t BgL_mdeclz00_678;
{ /* ./Module/impuse.scm 377 */
obj_t BgL_list2428z00_688;
{ /* ./Module/impuse.scm 377 */
obj_t BgL_arg2430z00_689;
BgL_arg2430z00_689 = 
MAKE_PAIR(BTRUE, BNIL); 
BgL_list2428z00_688 = 
MAKE_PAIR(BgL_portz00_1374, BgL_arg2430z00_689); } 
BgL_mdeclz00_678 = 
BGl_compilerzd2readzd2zzread_readerz00(BgL_list2428z00_688); } 
{ /* ./Module/impuse.scm 377 */
obj_t BgL_provz00_679;
{ /* ./Module/impuse.scm 380 */
obj_t BgL_arg2420z00_686;obj_t BgL_arg2421z00_687;
BGl_resetzd2includezd2consumedzd2directivez12zc0zzmodule_includez00(); 
BGl_resetzd2includezd2consumedzd2codez12zc0zzmodule_includez00(); 
BgL_arg2420z00_686 = 
BGl_consumezd2modulez12zc0zzmodule_modulez00(BgL_modulez00_1375, BgL_mdeclz00_678); 
BgL_arg2421z00_687 = 
BGl_getzd2includezd2consumedzd2directivezd2zzmodule_includez00(); 
BgL_provz00_679 = 
bgl_append2(BgL_arg2420z00_686, BgL_arg2421z00_687); } 
{ /* ./Module/impuse.scm 378 */
obj_t BgL_codez00_680;
BgL_codez00_680 = 
BGl_getzd2includezd2consumedzd2codezd2zzmodule_includez00(); 
{ /* ./Module/impuse.scm 384 */
long BgL_checkz00_681;
BgL_checkz00_681 = 
BGl_modulezd2checksumzd2zzmodule_checksumz00(BgL_mdeclz00_678); 
{ /* ./Module/impuse.scm 385 */
obj_t BgL_srcz00_682;
{ /* ./Module/impuse.scm 386 */
int BgL_auxz00_1991;
BgL_auxz00_1991 = 
(int)(((long)5)); 
BgL_srcz00_682 = 
STRUCT_REF(BgL_imodez00_1376, BgL_auxz00_1991); } 
{ /* ./Module/impuse.scm 386 */

{ /* ./Module/impuse.scm 387 */
int BgL_kz00_1285;obj_t BgL_oz00_1286;
BgL_kz00_1285 = 
(int)(((long)3)); 
BgL_oz00_1286 = 
BINT(BgL_checkz00_681); 
STRUCT_SET(BgL_imodez00_1376, BgL_kz00_1285, BgL_oz00_1286); } 
{ /* ./Module/impuse.scm 389 */
obj_t BgL_arg2407z00_683;obj_t BgL_arg2408z00_684;
{ /* ./Module/impuse.scm 389 */
bool_t BgL_test2410z00_685;
BgL_test2410z00_685 = 
PAIRP(BgL_wantedz00_1377); 
if(BgL_test2410z00_685)
{ /* ./Module/impuse.scm 389 */
BgL_arg2407z00_683 = 
BGl_importzd2wantedzd2zzmodule_impusez00(BgL_provz00_679, BgL_wantedz00_1377, BgL_modulez00_1375, BgL_srcz00_682); }  else 
{ /* ./Module/impuse.scm 389 */
BgL_arg2407z00_683 = 
BGl_importzd2everythingzd2zzmodule_impusez00(BgL_provz00_679, BgL_modulez00_1375, BgL_srcz00_682); } } 
BgL_arg2408z00_684 = 
CDR(BgL_fnamesz00_1378); 
BGl_lookzd2forzd2inlinez00zzread_inlinez00(BgL_arg2407z00_683, BgL_codez00_680, BgL_portz00_1374, BgL_arg2408z00_684, BgL_modulez00_1375); } 
return 
close_input_port(BgL_portz00_1374);} } } } } } } } } 
}



/* <anonymous:2395> */
obj_t BGl_zc3anonymousza32395ze3z83zzmodule_impusez00(obj_t BgL_envz00_1379)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
{ /* ./Module/impuse.scm 376 */
obj_t BgL_zc3anonymousza32401ze3z83_1383;obj_t BgL_escapez00_1384;
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_2004;
BgL_auxz00_2004 = 
(int)(((long)3)); 
BgL_zc3anonymousza32401ze3z83_1383 = 
PROCEDURE_REF(BgL_envz00_1379, BgL_auxz00_2004); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_2007;
BgL_auxz00_2007 = 
(int)(((long)4)); 
BgL_escapez00_1384 = 
PROCEDURE_REF(BgL_envz00_1379, BgL_auxz00_2007); } 
{ 

return 
BGl_addzd2errorzd2handlerz12z12zz__errorz00(BgL_zc3anonymousza32401ze3z83_1383, BgL_escapez00_1384);} } } 
}



/* escape */
obj_t BGl_escapez00zzmodule_impusez00(obj_t BgL_envz00_1385, obj_t BgL_val1842z00_1387)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
{ /* ./Module/impuse.scm 376 */
obj_t BgL_an_exitd1841z00_1386;
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_2011;
BgL_auxz00_2011 = 
(int)(((long)0)); 
BgL_an_exitd1841z00_1386 = 
PROCEDURE_REF(BgL_envz00_1385, BgL_auxz00_2011); } 
{ 
obj_t BgL_val1842z00_663;
BgL_val1842z00_663 = BgL_val1842z00_1387; 
return 
BGl_unwindzd2untilz12zc0zz__bexitz00(BgL_an_exitd1841z00_1386, BgL_val1842z00_663);} } } 
}



/* <anonymous:2401> */
obj_t BGl_zc3anonymousza32401ze3z83zzmodule_impusez00(obj_t BgL_envz00_1388, obj_t BgL_escz00_1391, obj_t BgL_objz00_1392, obj_t BgL_procz00_1393, obj_t BgL_msgz00_1394)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 376 */
{ /* ./Module/impuse.scm 376 */
obj_t BgL_armed1839z00_1389;obj_t BgL_handler1836z00_1390;
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_2015;
BgL_auxz00_2015 = 
(int)(((long)0)); 
BgL_armed1839z00_1389 = 
PROCEDURE_REF(BgL_envz00_1388, BgL_auxz00_2015); } 
{ /* ./Module/impuse.scm 376 */
int BgL_auxz00_2018;
BgL_auxz00_2018 = 
(int)(((long)1)); 
BgL_handler1836z00_1390 = 
PROCEDURE_REF(BgL_envz00_1388, BgL_auxz00_2018); } 
{ 
obj_t BgL_escz00_672;obj_t BgL_objz00_673;obj_t BgL_procz00_674;obj_t BgL_msgz00_675;
BgL_escz00_672 = BgL_escz00_1391; 
BgL_objz00_673 = BgL_objz00_1392; 
BgL_procz00_674 = BgL_procz00_1393; 
BgL_msgz00_675 = BgL_msgz00_1394; 
CELL_SET(BgL_armed1839z00_1389, BFALSE); 
BGl_removezd2errorzd2handlerz12z12zz__errorz00(); 
{ /* ./Module/impuse.scm 376 */
obj_t BgL_auxz00_2023;
BgL_auxz00_2023 = 
CELL_REF(BgL_handler1836z00_1390); 
return 
PROCEDURE_ENTRY(BgL_auxz00_2023)(
CELL_REF(BgL_handler1836z00_1390), BgL_escz00_672, BgL_objz00_673, BgL_procz00_674, BgL_msgz00_675, BEOA);} } } } 
}



/* handler */
obj_t BGl_handlerz00zzmodule_impusez00(obj_t BgL_envz00_1396, obj_t BgL_escapez00_1398, obj_t BgL_procz00_1399, obj_t BgL_mesz00_1400, obj_t BgL_objz00_1401)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 371 */
{ /* ./Module/impuse.scm 372 */
obj_t BgL_portz00_1397;
{ /* ./Module/impuse.scm 372 */
int BgL_auxz00_2024;
BgL_auxz00_2024 = 
(int)(((long)0)); 
BgL_portz00_1397 = 
PROCEDURE_REF(BgL_envz00_1396, BgL_auxz00_2024); } 
{ 
obj_t BgL_escapez00_692;obj_t BgL_procz00_693;obj_t BgL_mesz00_694;obj_t BgL_objz00_695;
BgL_escapez00_692 = BgL_escapez00_1398; 
BgL_procz00_693 = BgL_procz00_1399; 
BgL_mesz00_694 = BgL_mesz00_1400; 
BgL_objz00_695 = BgL_objz00_1401; 
BGl_notifyzd2errorzd2zz__errorz00(BgL_procz00_693, BgL_mesz00_694, BgL_objz00_695); 
{ /* ./Module/impuse.scm 373 */
obj_t BgL_arg2436z00_1290;
BgL_arg2436z00_1290 = 
BGL_CURRENT_ERROR_PORT(); 
FLUSH_OUTPUT_PORT(BgL_arg2436z00_1290); } 
close_input_port(BgL_portz00_1397); 
return 
BGl_exitzd2bigloozd2zzinit_mainz00(
BINT(((long)7)));} } } 
}



/* import-everything */
obj_t BGl_importzd2everythingzd2zzmodule_impusez00(obj_t BgL_providedz00_62, obj_t BgL_modulez00_63, obj_t BgL_srcz00_64)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 402 */
{ 
obj_t BgL_providedz00_718;obj_t BgL_inlinez00_719;
BgL_providedz00_718 = BgL_providedz00_62; 
BgL_inlinez00_719 = BNIL; 
BgL_loopz00_720:
{ /* ./Module/impuse.scm 405 */
bool_t BgL_test2485z00_721;
BgL_test2485z00_721 = 
NULLP(BgL_providedz00_718); 
if(BgL_test2485z00_721)
{ /* ./Module/impuse.scm 405 */
return BgL_inlinez00_719;}  else 
{ /* ./Module/impuse.scm 407 */
obj_t BgL_pz00_722;
{ /* ./Module/impuse.scm 407 */
obj_t BgL_arg2518z00_737;
BgL_arg2518z00_737 = 
CAR(BgL_providedz00_718); 
{ /* ./Module/impuse.scm 407 */
obj_t BgL_list2520z00_738;
BgL_list2520z00_738 = 
MAKE_PAIR(BgL_srcz00_64, BNIL); 
BgL_pz00_722 = 
BGl_importzd2parserzd2zzmodule_impusez00(BgL_modulez00_63, BgL_arg2518z00_737, BgL_list2520z00_738); } } 
{ /* ./Module/impuse.scm 408 */
bool_t BgL_test2486z00_723;
BgL_test2486z00_723 = 
BGl_iszd2azf3z21zz__objectz00(BgL_pz00_722, BGl_globalz00zzast_varz00); 
if(BgL_test2486z00_723)
{ /* ./Module/impuse.scm 409 */
BgL_valuez00_bglt BgL_valz00_724;
{ /* ./Module/impuse.scm 409 */
BgL_variablez00_bglt BgL_obj1367z00_1307;
BgL_obj1367z00_1307 = 
(BgL_variablez00_bglt)(BgL_pz00_722); 
BgL_valz00_724 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1367z00_1307))->BgL_valuez00); } 
{ /* ./Module/impuse.scm 410 */
obj_t BgL_arg2488z00_725;obj_t BgL_arg2489z00_726;
BgL_arg2488z00_725 = 
CDR(BgL_providedz00_718); 
{ /* ./Module/impuse.scm 412 */
bool_t BgL_test2492z00_727;
{ /* ./Module/impuse.scm 412 */
bool_t BgL_test2507z00_734;
BgL_test2507z00_734 = 
BGl_iszd2azf3z21zz__objectz00(BgL_pz00_722, BGl_globalz00zzast_varz00); 
if(BgL_test2507z00_734)
{ /* ./Module/impuse.scm 413 */
bool_t BgL_test2508z00_735;
{ /* ./Module/impuse.scm 413 */
obj_t BgL_obj1694z00_1310;
BgL_obj1694z00_1310 = 
(obj_t)(BgL_valz00_724); 
BgL_test2508z00_735 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1694z00_1310, BGl_sfunz00zzast_varz00); } 
if(BgL_test2508z00_735)
{ /* ./Module/impuse.scm 413 */
BgL_test2492z00_727 = ((bool_t)0); }  else 
{ /* ./Module/impuse.scm 413 */
BgL_test2492z00_727 = ((bool_t)1); } }  else 
{ /* ./Module/impuse.scm 412 */
BgL_test2492z00_727 = ((bool_t)1); } } 
if(BgL_test2492z00_727)
{ /* ./Module/impuse.scm 412 */
BgL_arg2489z00_726 = BgL_inlinez00_719; }  else 
{ /* ./Module/impuse.scm 415 */
bool_t BgL_test2493z00_728;
{ /* ./Module/impuse.scm 415 */
obj_t BgL_auxz00_2052;obj_t BgL_auxz00_2049;
BgL_auxz00_2052 = 
CNST_TABLE_REF(((long)22)); 
{ /* ./Module/impuse.scm 415 */
BgL_sfunz00_bglt BgL_obj1643z00_1311;
BgL_obj1643z00_1311 = 
(BgL_sfunz00_bglt)(BgL_valz00_724); 
BgL_auxz00_2049 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1643z00_1311))->BgL_classz00); } 
BgL_test2493z00_728 = 
(BgL_auxz00_2049==BgL_auxz00_2052); } 
if(BgL_test2493z00_728)
{ /* ./Module/impuse.scm 415 */
{ /* ./Module/impuse.scm 416 */
obj_t BgL_arg2495z00_729;
{ /* ./Module/impuse.scm 416 */
obj_t BgL_arg2498z00_730;obj_t BgL_arg2499z00_731;
{ /* ./Module/impuse.scm 416 */
BgL_variablez00_bglt BgL_obj1360z00_1312;
BgL_obj1360z00_1312 = 
(BgL_variablez00_bglt)(BgL_pz00_722); 
BgL_arg2498z00_730 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1360z00_1312))->BgL_idz00); } 
BgL_arg2499z00_731 = 
CNST_TABLE_REF(((long)22)); 
BgL_arg2495z00_729 = 
MAKE_PAIR(BgL_arg2498z00_730, BgL_arg2499z00_731); } 
BgL_arg2489z00_726 = 
MAKE_PAIR(BgL_arg2495z00_729, BgL_inlinez00_719); } }  else 
{ /* ./Module/impuse.scm 415 */
BgL_arg2489z00_726 = BgL_inlinez00_719; } } } 
{ 
obj_t BgL_inlinez00_2062;obj_t BgL_providedz00_2061;
BgL_providedz00_2061 = BgL_arg2488z00_725; 
BgL_inlinez00_2062 = BgL_arg2489z00_726; 
BgL_inlinez00_719 = BgL_inlinez00_2062; 
BgL_providedz00_718 = BgL_providedz00_2061; 
goto BgL_loopz00_720;} } }  else 
{ /* ./Module/impuse.scm 419 */
obj_t BgL_arg2513z00_736;
BgL_arg2513z00_736 = 
CDR(BgL_providedz00_718); 
{ 
obj_t BgL_providedz00_2064;
BgL_providedz00_2064 = BgL_arg2513z00_736; 
BgL_providedz00_718 = BgL_providedz00_2064; 
goto BgL_loopz00_720;} } } } } } } 
}



/* import-wanted */
obj_t BGl_importzd2wantedzd2zzmodule_impusez00(obj_t BgL_providedz00_65, obj_t BgL_wantedz00_66, obj_t BgL_modulez00_67, obj_t BgL_srcz00_68)
{ AN_OBJECT;
{ /* ./Module/impuse.scm 424 */
{ 
obj_t BgL_providedz00_739;obj_t BgL_inlinez00_740;obj_t BgL_wantedz00_741;
BgL_providedz00_739 = BgL_providedz00_65; 
BgL_inlinez00_740 = BNIL; 
BgL_wantedz00_741 = BgL_wantedz00_66; 
BgL_loopz00_742:
{ /* ./Module/impuse.scm 431 */
bool_t BgL_test2525z00_743;
BgL_test2525z00_743 = 
NULLP(BgL_wantedz00_741); 
if(BgL_test2525z00_743)
{ /* ./Module/impuse.scm 431 */
return BgL_inlinez00_740;}  else 
{ /* ./Module/impuse.scm 433 */
bool_t BgL_test2526z00_744;
BgL_test2526z00_744 = 
NULLP(BgL_providedz00_739); 
if(BgL_test2526z00_744)
{ /* ./Module/impuse.scm 433 */
{ /* ./Module/impuse.scm 434 */
obj_t BgL_arg2528z00_745;
BgL_arg2528z00_745 = 
BGl_findzd2locationzd2zztools_locationz00(BGl_za2modulezd2clauseza2zd2zzmodule_modulez00); 
{ /* ./Module/impuse.scm 434 */
obj_t BgL_list2533z00_748;
BgL_list2533z00_748 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzf2locationz20zztools_errorz00(BgL_arg2528z00_745, BgL_modulez00_67, BGl_string2974z00zzmodule_impusez00, BgL_wantedz00_741, BgL_list2533z00_748);} } }  else 
{ /* ./Module/impuse.scm 433 */
{ /* ./Module/impuse.scm 440 */
obj_t BgL_protoz00_749;
{ /* ./Module/impuse.scm 440 */
obj_t BgL_arg2598z00_774;
BgL_arg2598z00_774 = 
CAR(BgL_providedz00_739); 
BgL_protoz00_749 = 
BGl_parsezd2prototypezd2zzmodule_prototypez00(BgL_arg2598z00_774); } 
{ /* ./Module/impuse.scm 441 */
bool_t BgL_test2536z00_750;
BgL_test2536z00_750 = 
PAIRP(BgL_protoz00_749); 
if(BgL_test2536z00_750)
{ /* ./Module/impuse.scm 442 */
obj_t BgL_idz00_751;
{ /* ./Module/impuse.scm 442 */
obj_t BgL_arg2584z00_770;obj_t BgL_arg2585z00_771;
{ /* ./Module/impuse.scm 442 */
obj_t BgL_auxz00_2076;
BgL_auxz00_2076 = 
CDR(BgL_protoz00_749); 
BgL_arg2584z00_770 = 
CAR(BgL_auxz00_2076); } 
{ /* ./Module/impuse.scm 443 */
obj_t BgL_arg2589z00_772;
BgL_arg2589z00_772 = 
CAR(BgL_providedz00_739); 
BgL_arg2585z00_771 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_arg2589z00_772); } 
BgL_idz00_751 = 
BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(BgL_arg2584z00_770, BgL_arg2585z00_771); } 
{ /* ./Module/impuse.scm 444 */
bool_t BgL_test2537z00_752;
{ /* ./Module/impuse.scm 444 */
obj_t BgL_auxz00_2082;
BgL_auxz00_2082 = 
BGl_memqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_751, BgL_wantedz00_741); 
BgL_test2537z00_752 = 
CBOOL(BgL_auxz00_2082); } 
if(BgL_test2537z00_752)
{ /* ./Module/impuse.scm 448 */
obj_t BgL_pz00_753;
{ /* ./Module/impuse.scm 448 */
obj_t BgL_arg2573z00_767;
BgL_arg2573z00_767 = 
CAR(BgL_providedz00_739); 
{ /* ./Module/impuse.scm 448 */
obj_t BgL_list2575z00_768;
BgL_list2575z00_768 = 
MAKE_PAIR(BgL_srcz00_68, BNIL); 
BgL_pz00_753 = 
BGl_importzd2parserzd2zzmodule_impusez00(BgL_modulez00_67, BgL_arg2573z00_767, BgL_list2575z00_768); } } 
{ /* ./Module/impuse.scm 450 */
bool_t BgL_test2538z00_754;
BgL_test2538z00_754 = 
BGl_iszd2azf3z21zz__objectz00(BgL_pz00_753, BGl_globalz00zzast_varz00); 
if(BgL_test2538z00_754)
{ /* ./Module/impuse.scm 450 */
{ /* ./Module/impuse.scm 451 */
obj_t BgL_arg2540z00_755;obj_t BgL_arg2541z00_756;obj_t BgL_arg2542z00_757;
BgL_arg2540z00_755 = 
CDR(BgL_providedz00_739); 
{ /* ./Module/impuse.scm 453 */
bool_t BgL_test2545z00_758;
{ /* ./Module/impuse.scm 453 */
obj_t BgL_auxz00_2094;obj_t BgL_auxz00_2092;
BgL_auxz00_2094 = 
CNST_TABLE_REF(((long)22)); 
BgL_auxz00_2092 = 
CAR(BgL_protoz00_749); 
BgL_test2545z00_758 = 
(BgL_auxz00_2092==BgL_auxz00_2094); } 
if(BgL_test2545z00_758)
{ /* ./Module/impuse.scm 453 */
{ /* ./Module/impuse.scm 454 */
obj_t BgL_arg2547z00_759;
{ /* ./Module/impuse.scm 454 */
obj_t BgL_auxz00_2098;
BgL_auxz00_2098 = 
CNST_TABLE_REF(((long)22)); 
BgL_arg2547z00_759 = 
MAKE_PAIR(BgL_idz00_751, BgL_auxz00_2098); } 
BgL_arg2541z00_756 = 
MAKE_PAIR(BgL_arg2547z00_759, BgL_inlinez00_740); } }  else 
{ /* ./Module/impuse.scm 453 */
BgL_arg2541z00_756 = BgL_inlinez00_740; } } 
BgL_arg2542z00_757 = 
BGl_remqz12z12zz__r4_pairs_and_lists_6_3z00(BgL_idz00_751, BgL_wantedz00_741); 
{ 
obj_t BgL_wantedz00_2105;obj_t BgL_inlinez00_2104;obj_t BgL_providedz00_2103;
BgL_providedz00_2103 = BgL_arg2540z00_755; 
BgL_inlinez00_2104 = BgL_arg2541z00_756; 
BgL_wantedz00_2105 = BgL_arg2542z00_757; 
BgL_wantedz00_741 = BgL_wantedz00_2105; 
BgL_inlinez00_740 = BgL_inlinez00_2104; 
BgL_providedz00_739 = BgL_providedz00_2103; 
goto BgL_loopz00_742;} } }  else 
{ /* ./Module/impuse.scm 458 */
bool_t BgL_test2556z00_762;
BgL_test2556z00_762 = 
BGl_iszd2azf3z21zz__objectz00(BgL_pz00_753, BGl_typez00zztype_typez00); 
if(BgL_test2556z00_762)
{ /* ./Module/impuse.scm 458 */
{ /* ./Module/impuse.scm 459 */
obj_t BgL_arg2558z00_763;obj_t BgL_arg2559z00_764;
BgL_arg2558z00_763 = 
CDR(BgL_providedz00_739); 
BgL_arg2559z00_764 = 
BGl_remqz12z12zz__r4_pairs_and_lists_6_3z00(BgL_idz00_751, BgL_wantedz00_741); 
{ 
obj_t BgL_wantedz00_2111;obj_t BgL_providedz00_2110;
BgL_providedz00_2110 = BgL_arg2558z00_763; 
BgL_wantedz00_2111 = BgL_arg2559z00_764; 
BgL_wantedz00_741 = BgL_wantedz00_2111; 
BgL_providedz00_739 = BgL_providedz00_2110; 
goto BgL_loopz00_742;} } }  else 
{ /* ./Module/impuse.scm 458 */
{ /* ./Module/impuse.scm 463 */
obj_t BgL_arg2564z00_765;obj_t BgL_arg2565z00_766;
BgL_arg2564z00_765 = 
CDR(BgL_providedz00_739); 
BgL_arg2565z00_766 = 
BGl_remqz12z12zz__r4_pairs_and_lists_6_3z00(BgL_idz00_751, BgL_wantedz00_741); 
{ 
obj_t BgL_wantedz00_2115;obj_t BgL_providedz00_2114;
BgL_providedz00_2114 = BgL_arg2564z00_765; 
BgL_wantedz00_2115 = BgL_arg2565z00_766; 
BgL_wantedz00_741 = BgL_wantedz00_2115; 
BgL_providedz00_739 = BgL_providedz00_2114; 
goto BgL_loopz00_742;} } } } } }  else 
{ /* ./Module/impuse.scm 445 */
obj_t BgL_arg2579z00_769;
BgL_arg2579z00_769 = 
CDR(BgL_providedz00_739); 
{ 
obj_t BgL_providedz00_2117;
BgL_providedz00_2117 = BgL_arg2579z00_769; 
BgL_providedz00_739 = BgL_providedz00_2117; 
goto BgL_loopz00_742;} } } }  else 
{ /* ./Module/impuse.scm 466 */
obj_t BgL_arg2593z00_773;
BgL_arg2593z00_773 = 
CDR(BgL_providedz00_739); 
{ 
obj_t BgL_providedz00_2119;
BgL_providedz00_2119 = BgL_arg2593z00_773; 
BgL_providedz00_739 = BgL_providedz00_2119; 
goto BgL_loopz00_742;} } } } } } } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_impusez00()
{ AN_OBJECT;
{ /* ./Module/impuse.scm 15 */
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzread_readerz00(((long)38783), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzmodule_prototypez00(((long)9611), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzmodule_classz00(((long)34127), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzmodule_includez00(((long)1783), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzmodule_checksumz00(((long)54092), "module_impuse"); 
BGl_modulezd2initializa7ationz75zztools_speekz00(((long)23537), "module_impuse"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_impuse"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "module_impuse"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzobject_classz00(((long)30791), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzread_accessz00(((long)2266), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzread_inlinez00(((long)26859), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzast_findzd2gdefszd2(((long)59854), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzast_glozd2declzd2(((long)31087), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "module_impuse"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_impuse"); 
return 
BGl_modulezd2initializa7ationz75zzinit_mainz00(((long)6610), "module_impuse");} 
}

