/*===========================================================================*/
/*   (Ast/labels.scm)                                                        */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Ast/labels.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_typez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;

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

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

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

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

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

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

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

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

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

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

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

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

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;


static obj_t BGl_methodzd2initzd2zzast_labelsz00();
static obj_t BGl__labelszd2ze3nodez31zzast_labelsz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_dssslzd2argsza2zd2ze3argszd2listz93zztools_dssslz00(obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern long BGl_arityz00zztools_argsz00(obj_t);
extern BgL_localz00_bglt BGl_makezd2userzd2localzd2svarzd2zzast_localz00(obj_t, BgL_typez00_bglt);
extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
extern BgL_letzd2funzd2_bglt BGl_makezd2letzd2funz00zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, BgL_nodez00_bglt);
extern obj_t BGl_za2_za2z00zztype_cachez00;
extern BgL_localz00_bglt BGl_makezd2userzd2localzd2sfunzd2zzast_localz00(obj_t, BgL_typez00_bglt, BgL_sfunz00_bglt);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
BGL_IMPORT obj_t BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(obj_t);
extern obj_t BGl_enterzd2functionzd2zztools_errorz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzast_labelsz00();
extern obj_t BGl_leavezd2functionzd2zztools_errorz00();
static obj_t BGl_importedzd2moduleszd2initz00zzast_labelsz00();
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
static obj_t BGl_toplevelzd2initzd2zzast_labelsz00();
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_labelsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_prognz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_argsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_dssslz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_localz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__dssslz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
extern obj_t BGl_normaliza7ezd2prognz75zztools_prognz00(obj_t);
BGL_IMPORT obj_t BGl_makezd2dssslzd2functionzd2preludezd2zz__dssslz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_labelszd2bindingzd2zzast_labelsz00(obj_t, obj_t, obj_t, obj_t);
extern bool_t BGl_userzd2symbolzf3z21zzast_identz00(obj_t);
extern BgL_localz00_bglt BGl_makezd2localzd2sfunz00zzast_localz00(obj_t, BgL_typez00_bglt, BgL_sfunz00_bglt);
extern BgL_localz00_bglt BGl_makezd2localzd2svarz00zzast_localz00(obj_t, BgL_typez00_bglt);
static obj_t BGl_allocatezd2sfunszd2zzast_labelsz00(obj_t, obj_t);
extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
extern BgL_sfunz00_bglt BGl_makezd2sfunzd2zzast_varz00(long, obj_t, obj_t, obj_t, bool_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_labelsz00 = BUNSPEC;
BGL_EXPORTED_DECL BgL_letzd2funzd2_bglt BGl_labelszd2ze3nodez31zzast_labelsz00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_parsezd2idzd2zzast_identz00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_labelsz00();
static obj_t __cnst[ 2 ] ;


extern obj_t BGl_userzd2errorzd2envz00zztools_errorz00;
DEFINE_STRING( BGl_string3298z00zzast_labelsz00, BgL_bgl_string3298za700za7za7ast_labelsza7003325z00, "value plain ", 12 );
DEFINE_STRING( BGl_string3297z00zzast_labelsz00, BgL_bgl_string3297za700za7za7ast_labelsza7003326z00, "Illegal `labels' form", 21 );
DEFINE_STRING( BGl_string3296z00zzast_labelsz00, BgL_bgl_string3296za700za7za7ast_labelsza7003327z00, "Illegal `binding' form", 22 );
DEFINE_STRING( BGl_string3295z00zzast_labelsz00, BgL_bgl_string3295za700za7za7ast_labelsza7003328z00, "Illegal formal type", 19 );
DEFINE_STRING( BGl_string3294z00zzast_labelsz00, BgL_bgl_string3294za700za7za7ast_labelsza7003329z00, "Illegal `labels' expression", 27 );
DEFINE_EXPORT_PROCEDURE( BGl_labelszd2ze3nodezd2envze3zzast_labelsz00, BgL_bgl__labelsza7d2za7e3nodeza731za7za7ast_labelsza7003330z00, BGl__labelszd2ze3nodez31zzast_labelsz00, 0L, 4 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_labelsz00(long BgL_checksumz00_1283, char * BgL_fromz00_1284)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_labelsz00))
{ 
BGl_requirezd2initializa7ationz75zzast_labelsz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_labelsz00(); 
BGl_cnstzd2initzd2zzast_labelsz00(); 
BGl_importedzd2moduleszd2initz00zzast_labelsz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_labelsz00()
{ AN_OBJECT;
{ /* ./Ast/labels.scm 14 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_labels"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_labels"); 
BGl_modulezd2initializa7ationz75zz__dssslz00(((long)0), "ast_labels"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_labelsz00()
{ AN_OBJECT;
{ /* ./Ast/labels.scm 14 */
{ /* ./Ast/labels.scm 14 */
obj_t BgL_cportz00_1276;
BgL_cportz00_1276 = 
open_input_string(BGl_string3298z00zzast_labelsz00); 
{ 
long BgL_iz00_1277;
BgL_iz00_1277 = ((long)1); 
BgL_loopz00_1278:
{ /* ./Ast/labels.scm 14 */
bool_t BgL_test3300z00_1279;
BgL_test3300z00_1279 = 
(BgL_iz00_1277==((long)-1)); 
if(BgL_test3300z00_1279)
{ /* ./Ast/labels.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/labels.scm 14 */
{ /* ./Ast/labels.scm 14 */
obj_t BgL_arg3302z00_1280;
{ /* ./Ast/labels.scm 14 */
obj_t BgL_list3305z00_1281;
BgL_list3305z00_1281 = 
MAKE_PAIR(BgL_cportz00_1276, BNIL); 
BgL_arg3302z00_1280 = 
BGl_readz00zz__readerz00(BgL_list3305z00_1281); } 
{ /* ./Ast/labels.scm 14 */
int BgL_auxz00_1299;
BgL_auxz00_1299 = 
(int)(BgL_iz00_1277); 
CNST_TABLE_SET(BgL_auxz00_1299, BgL_arg3302z00_1280); } } 
{ /* ./Ast/labels.scm 14 */
int BgL_auxz00_1282;
{ /* ./Ast/labels.scm 14 */
long BgL_auxz00_1302;
BgL_auxz00_1302 = 
(BgL_iz00_1277-((long)1)); 
BgL_auxz00_1282 = 
(int)(BgL_auxz00_1302); } 
{ 
long BgL_iz00_1305;
BgL_iz00_1305 = 
(long)(BgL_auxz00_1282); 
BgL_iz00_1277 = BgL_iz00_1305; 
goto BgL_loopz00_1278;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_labelsz00()
{ AN_OBJECT;
{ /* ./Ast/labels.scm 14 */
return BUNSPEC;} 
}



/* labels->node */
BGL_EXPORTED_DEF BgL_letzd2funzd2_bglt BGl_labelszd2ze3nodez31zzast_labelsz00(obj_t BgL_expz00_15, obj_t BgL_stackz00_16, obj_t BgL_locz00_17, obj_t BgL_sitez00_18)
{ AN_OBJECT;
{ /* ./Ast/labels.scm 32 */
{ /* ./Ast/labels.scm 33 */
obj_t BgL_locz00_692;
BgL_locz00_692 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_15, BgL_locz00_17); 
{ 
obj_t BgL_bindingsz00_693;obj_t BgL_bodyz00_694;
{ /* ./Ast/labels.scm 34 */
bool_t BgL_test2710z00_698;
BgL_test2710z00_698 = 
PAIRP(BgL_expz00_15); 
if(BgL_test2710z00_698)
{ /* ./Ast/labels.scm 34 */
obj_t BgL_cdrzd2128zd2_699;
BgL_cdrzd2128zd2_699 = 
CDR(BgL_expz00_15); 
{ /* ./Ast/labels.scm 34 */
bool_t BgL_test2711z00_700;
BgL_test2711z00_700 = 
PAIRP(BgL_cdrzd2128zd2_699); 
if(BgL_test2711z00_700)
{ /* ./Ast/labels.scm 34 */
obj_t BgL_carzd2131zd2_701;
BgL_carzd2131zd2_701 = 
CAR(BgL_cdrzd2128zd2_699); 
{ /* ./Ast/labels.scm 34 */
bool_t BgL_test2712z00_702;
BgL_test2712z00_702 = 
PAIRP(BgL_carzd2131zd2_701); 
if(BgL_test2712z00_702)
{ /* ./Ast/labels.scm 34 */
obj_t BgL_arg2714z00_703;
BgL_arg2714z00_703 = 
CDR(BgL_cdrzd2128zd2_699); 
BgL_bindingsz00_693 = BgL_carzd2131zd2_701; 
BgL_bodyz00_694 = BgL_arg2714z00_703; 
{ /* ./Ast/labels.scm 36 */
obj_t BgL_localsz00_704;
BgL_localsz00_704 = 
BGl_allocatezd2sfunszd2zzast_labelsz00(BgL_bindingsz00_693, BgL_locz00_692); 
{ /* ./Ast/labels.scm 36 */
obj_t BgL_newzd2stackzd2_705;
BgL_newzd2stackzd2_705 = 
bgl_append2(BgL_localsz00_704, BgL_stackz00_16); 
{ /* ./Ast/labels.scm 37 */
BgL_nodez00_bglt BgL_bodyz00_706;
{ /* ./Ast/labels.scm 38 */
obj_t BgL_arg2747z00_721;
BgL_arg2747z00_721 = 
BGl_normaliza7ezd2prognz75zztools_prognz00(BgL_bodyz00_694); 
BgL_bodyz00_706 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2747z00_721, BgL_newzd2stackzd2_705, BgL_locz00_692, BgL_sitez00_18); } 
{ /* ./Ast/labels.scm 38 */
obj_t BgL_locz00_707;
BgL_locz00_707 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_15, BgL_locz00_692); 
{ /* ./Ast/labels.scm 42 */

{ 
obj_t BgL_ll2662z00_708;obj_t BgL_ll2663z00_709;
BgL_ll2662z00_708 = BgL_localsz00_704; 
BgL_ll2663z00_709 = BgL_bindingsz00_693; 
BgL_forzd2each2664zd2_710:
{ /* ./Ast/labels.scm 44 */
bool_t BgL_test2726z00_711;
BgL_test2726z00_711 = 
NULLP(BgL_ll2662z00_708); 
if(BgL_test2726z00_711)
{ /* ./Ast/labels.scm 44 */((bool_t)1); }  else 
{ /* ./Ast/labels.scm 44 */
{ /* ./Ast/labels.scm 44 */
obj_t BgL_funz00_712;obj_t BgL_bz00_713;
BgL_funz00_712 = 
CAR(BgL_ll2662z00_708); 
BgL_bz00_713 = 
CAR(BgL_ll2663z00_709); 
BGl_labelszd2bindingzd2zzast_labelsz00(BgL_funz00_712, BgL_bz00_713, BgL_newzd2stackzd2_705, BgL_locz00_707); } 
{ /* ./Ast/labels.scm 44 */
obj_t BgL_arg2731z00_714;obj_t BgL_arg2732z00_715;
BgL_arg2731z00_714 = 
CDR(BgL_ll2662z00_708); 
BgL_arg2732z00_715 = 
CDR(BgL_ll2663z00_709); 
{ 
obj_t BgL_ll2663z00_1330;obj_t BgL_ll2662z00_1329;
BgL_ll2662z00_1329 = BgL_arg2731z00_714; 
BgL_ll2663z00_1330 = BgL_arg2732z00_715; 
BgL_ll2663z00_709 = BgL_ll2663z00_1330; 
BgL_ll2662z00_708 = BgL_ll2662z00_1329; 
goto BgL_forzd2each2664zd2_710;} } } } } 
{ /* ./Ast/labels.scm 49 */
obj_t BgL_arg2738z00_716;BgL_typez00_bglt BgL_arg2739z00_717;obj_t BgL_arg2741z00_719;BgL_nodez00_bglt BgL_arg2742z00_720;
BgL_arg2738z00_716 = BgL_locz00_707; 
BgL_arg2739z00_717 = 
(((BgL_nodez00_bglt)CREF(BgL_bodyz00_706))->BgL_typez00); 
BgL_arg2741z00_719 = BgL_localsz00_704; 
BgL_arg2742z00_720 = BgL_bodyz00_706; 
return 
BGl_makezd2letzd2funz00zzast_nodez00(BgL_arg2738z00_716, BgL_arg2739z00_717, BUNSPEC, 
BINT(((long)-1)), BgL_arg2741z00_719, BgL_arg2742z00_720);} } } } } } }  else 
{ /* ./Ast/labels.scm 34 */
BgL_nodez00_bglt BgL_auxz00_1334;
BgL_tagzd2121zd2_696:
BgL_auxz00_1334 = 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3294z00zzast_labelsz00, BgL_expz00_15, BgL_locz00_692); 
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1334);} } }  else 
{ /* ./Ast/labels.scm 34 */
BgL_nodez00_bglt BgL_auxz00_1337;
goto BgL_tagzd2121zd2_696;
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1337);} } }  else 
{ /* ./Ast/labels.scm 34 */
BgL_nodez00_bglt BgL_auxz00_1339;
goto BgL_tagzd2121zd2_696;
return 
(BgL_letzd2funzd2_bglt)(BgL_auxz00_1339);} } } } } 
}



/* _labels->node */
obj_t BGl__labelszd2ze3nodez31zzast_labelsz00(obj_t BgL_envz00_1265, obj_t BgL_expz00_1266, obj_t BgL_stackz00_1267, obj_t BgL_locz00_1268, obj_t BgL_sitez00_1269)
{ AN_OBJECT;
{ /* ./Ast/labels.scm 32 */
{ /* ./Ast/labels.scm 33 */
BgL_letzd2funzd2_bglt BgL_auxz00_1341;
BgL_auxz00_1341 = 
BGl_labelszd2ze3nodez31zzast_labelsz00(BgL_expz00_1266, BgL_stackz00_1267, BgL_locz00_1268, BgL_sitez00_1269); 
return 
(obj_t)(BgL_auxz00_1341);} } 
}



/* allocate-sfuns */
obj_t BGl_allocatezd2sfunszd2zzast_labelsz00(obj_t BgL_bindingsz00_19, obj_t BgL_locz00_20)
{ AN_OBJECT;
{ /* ./Ast/labels.scm 59 */
{ 
obj_t BgL_bindingsz00_722;obj_t BgL_resz00_723;
BgL_bindingsz00_722 = BgL_bindingsz00_19; 
BgL_resz00_723 = BNIL; 
BgL_loopz00_724:
{ /* ./Ast/labels.scm 62 */
bool_t BgL_test2755z00_725;
BgL_test2755z00_725 = 
NULLP(BgL_bindingsz00_722); 
if(BgL_test2755z00_725)
{ /* ./Ast/labels.scm 62 */
return 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_resz00_723);}  else 
{ 
obj_t BgL_funz00_726;obj_t BgL_argsz00_727;obj_t BgL_bodyz00_728;
{ /* ./Ast/labels.scm 64 */
obj_t BgL_ezd2139zd2_731;
BgL_ezd2139zd2_731 = 
CAR(BgL_bindingsz00_722); 
{ /* ./Ast/labels.scm 64 */
bool_t BgL_test2757z00_732;
BgL_test2757z00_732 = 
PAIRP(BgL_ezd2139zd2_731); 
if(BgL_test2757z00_732)
{ /* ./Ast/labels.scm 64 */
obj_t BgL_carzd2146zd2_733;obj_t BgL_cdrzd2147zd2_734;
BgL_carzd2146zd2_733 = 
CAR(BgL_ezd2139zd2_731); 
BgL_cdrzd2147zd2_734 = 
CDR(BgL_ezd2139zd2_731); 
{ /* ./Ast/labels.scm 64 */
bool_t BgL_test2758z00_735;
BgL_test2758z00_735 = 
SYMBOLP(BgL_carzd2146zd2_733); 
if(BgL_test2758z00_735)
{ /* ./Ast/labels.scm 64 */
bool_t BgL_test2759z00_736;
BgL_test2759z00_736 = 
PAIRP(BgL_cdrzd2147zd2_734); 
if(BgL_test2759z00_736)
{ /* ./Ast/labels.scm 64 */
obj_t BgL_arg2761z00_737;obj_t BgL_arg2762z00_738;
BgL_arg2761z00_737 = 
CAR(BgL_cdrzd2147zd2_734); 
BgL_arg2762z00_738 = 
CDR(BgL_cdrzd2147zd2_734); 
BgL_funz00_726 = BgL_carzd2146zd2_733; 
BgL_argsz00_727 = BgL_arg2761z00_737; 
BgL_bodyz00_728 = BgL_arg2762z00_738; 
{ /* ./Ast/labels.scm 66 */
obj_t BgL_locz00_739;
{ /* ./Ast/labels.scm 66 */
obj_t BgL_arg2870z00_796;
BgL_arg2870z00_796 = 
CAR(BgL_bindingsz00_722); 
BgL_locz00_739 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_arg2870z00_796, BgL_locz00_20); } 
{ /* ./Ast/labels.scm 66 */
obj_t BgL_idze2typeze2_740;
BgL_idze2typeze2_740 = 
BGl_parsezd2idzd2zzast_identz00(BgL_funz00_726, BgL_locz00_739); 
{ /* ./Ast/labels.scm 67 */
obj_t BgL_idz00_741;
BgL_idz00_741 = 
CAR(BgL_idze2typeze2_740); 
{ /* ./Ast/labels.scm 68 */
obj_t BgL_typez00_742;
BgL_typez00_742 = 
CDR(BgL_idze2typeze2_740); 
{ /* ./Ast/labels.scm 69 */
long BgL_arityz00_743;
BgL_arityz00_743 = 
BGl_arityz00zztools_argsz00(BgL_argsz00_727); 
{ /* ./Ast/labels.scm 70 */
obj_t BgL_formalsz00_744;
{ /* ./Ast/labels.scm 71 */
obj_t BgL_l2666z00_784;
BgL_l2666z00_784 = 
BGl_dssslzd2argsza2zd2ze3argszd2listz93zztools_dssslz00(BgL_argsz00_727); 
{ /* ./Ast/labels.scm 71 */
bool_t BgL_test2846z00_785;
BgL_test2846z00_785 = 
NULLP(BgL_l2666z00_784); 
if(BgL_test2846z00_785)
{ /* ./Ast/labels.scm 71 */
BgL_formalsz00_744 = BNIL; }  else 
{ /* ./Ast/labels.scm 71 */
obj_t BgL_head2668z00_786;
BgL_head2668z00_786 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2666z00_787;obj_t BgL_tail2669z00_788;
BgL_l2666z00_787 = BgL_l2666z00_784; 
BgL_tail2669z00_788 = BgL_head2668z00_786; 
BgL_map2667z00_789:
{ /* ./Ast/labels.scm 71 */
bool_t BgL_test2848z00_790;
BgL_test2848z00_790 = 
NULLP(BgL_l2666z00_787); 
if(BgL_test2848z00_790)
{ /* ./Ast/labels.scm 71 */
BgL_formalsz00_744 = 
CDR(BgL_head2668z00_786); }  else 
{ /* ./Ast/labels.scm 72 */
obj_t BgL_newtail2670z00_791;
{ /* ./Ast/labels.scm 72 */
obj_t BgL_arg2856z00_793;
{ /* ./Ast/labels.scm 72 */
obj_t BgL_az00_795;
BgL_az00_795 = 
CAR(BgL_l2666z00_787); 
BgL_arg2856z00_793 = 
BGl_parsezd2idzd2zzast_identz00(BgL_az00_795, BgL_locz00_739); } 
BgL_newtail2670z00_791 = 
MAKE_PAIR(BgL_arg2856z00_793, BNIL); } 
SET_CDR(BgL_tail2669z00_788, BgL_newtail2670z00_791); 
{ /* ./Ast/labels.scm 71 */
obj_t BgL_arg2852z00_792;
BgL_arg2852z00_792 = 
CDR(BgL_l2666z00_787); 
{ 
obj_t BgL_tail2669z00_1377;obj_t BgL_l2666z00_1376;
BgL_l2666z00_1376 = BgL_arg2852z00_792; 
BgL_tail2669z00_1377 = BgL_newtail2670z00_791; 
BgL_tail2669z00_788 = BgL_tail2669z00_1377; 
BgL_l2666z00_787 = BgL_l2666z00_1376; 
goto BgL_map2667z00_789;} } } } } } } } 
{ /* ./Ast/labels.scm 71 */

{ /* ./Ast/labels.scm 75 */
bool_t BgL_test2775z00_745;
{ /* ./Ast/labels.scm 75 */
bool_t BgL_test2834z00_778;
BgL_test2834z00_778 = 
(BgL_arityz00_743>=((long)0)); 
if(BgL_test2834z00_778)
{ /* ./Ast/labels.scm 75 */
BgL_test2775z00_745 = ((bool_t)1); }  else 
{ /* ./Ast/labels.scm 76 */
obj_t BgL_largz00_779;
{ /* ./Ast/labels.scm 76 */
obj_t BgL_auxz00_1380;
BgL_auxz00_1380 = 
BGl_lastzd2pairzd2zz__r4_pairs_and_lists_6_3z00(BgL_formalsz00_744); 
BgL_largz00_779 = 
CAR(BgL_auxz00_1380); } 
{ /* ./Ast/labels.scm 76 */
obj_t BgL_typez00_780;
BgL_typez00_780 = 
CDR(BgL_largz00_779); 
{ /* ./Ast/labels.scm 77 */

{ /* ./Ast/labels.scm 79 */
bool_t BgL_test2835z00_781;
BgL_test2835z00_781 = 
(BgL_typez00_780==BGl_za2objza2z00zztype_cachez00); 
if(BgL_test2835z00_781)
{ /* ./Ast/labels.scm 79 */
BgL_test2775z00_745 = ((bool_t)1); }  else 
{ /* ./Ast/labels.scm 81 */
bool_t BgL_test2836z00_782;
BgL_test2836z00_782 = 
(BgL_typez00_780==BGl_za2_za2z00zztype_cachez00); 
if(BgL_test2836z00_782)
{ /* ./Ast/labels.scm 81 */
{ /* ./Ast/labels.scm 82 */
obj_t BgL_objz00_1230;
BgL_objz00_1230 = BGl_za2objza2z00zztype_cachez00; 
SET_CDR(BgL_largz00_779, BgL_objz00_1230); } 
BgL_test2775z00_745 = ((bool_t)1); }  else 
{ /* ./Ast/labels.scm 81 */
BgL_test2775z00_745 = ((bool_t)0); } } } } } } } 
if(BgL_test2775z00_745)
{ /* ./Ast/labels.scm 86 */
obj_t BgL_argsz00_746;
{ /* ./Ast/labels.scm 86 */
bool_t BgL_test2795z00_759;
BgL_test2795z00_759 = 
NULLP(BgL_formalsz00_744); 
if(BgL_test2795z00_759)
{ /* ./Ast/labels.scm 86 */
BgL_argsz00_746 = BNIL; }  else 
{ /* ./Ast/labels.scm 86 */
obj_t BgL_head2673z00_760;
BgL_head2673z00_760 = 
MAKE_PAIR(BNIL, BNIL); 
{ 
obj_t BgL_l2671z00_761;obj_t BgL_tail2674z00_762;
BgL_l2671z00_761 = BgL_formalsz00_744; 
BgL_tail2674z00_762 = BgL_head2673z00_760; 
BgL_map2672z00_763:
{ /* ./Ast/labels.scm 86 */
bool_t BgL_test2797z00_764;
BgL_test2797z00_764 = 
NULLP(BgL_l2671z00_761); 
if(BgL_test2797z00_764)
{ /* ./Ast/labels.scm 86 */
BgL_argsz00_746 = 
CDR(BgL_head2673z00_760); }  else 
{ /* ./Ast/labels.scm 87 */
obj_t BgL_newtail2675z00_765;
{ /* ./Ast/labels.scm 87 */
BgL_localz00_bglt BgL_arg2805z00_767;
{ /* ./Ast/labels.scm 87 */
obj_t BgL_fz00_769;
BgL_fz00_769 = 
CAR(BgL_l2671z00_761); 
{ /* ./Ast/labels.scm 87 */
bool_t BgL_test2808z00_770;
{ /* ./Ast/labels.scm 87 */
obj_t BgL_arg2822z00_775;
BgL_arg2822z00_775 = 
CAR(BgL_fz00_769); 
BgL_test2808z00_770 = 
BGl_userzd2symbolzf3z21zzast_identz00(BgL_arg2822z00_775); } 
if(BgL_test2808z00_770)
{ /* ./Ast/labels.scm 88 */
obj_t BgL_arg2810z00_771;obj_t BgL_arg2811z00_772;
BgL_arg2810z00_771 = 
CAR(BgL_fz00_769); 
BgL_arg2811z00_772 = 
CDR(BgL_fz00_769); 
BgL_arg2805z00_767 = 
BGl_makezd2userzd2localzd2svarzd2zzast_localz00(BgL_arg2810z00_771, 
(BgL_typez00_bglt)(BgL_arg2811z00_772)); }  else 
{ /* ./Ast/labels.scm 90 */
obj_t BgL_arg2816z00_773;obj_t BgL_arg2817z00_774;
BgL_arg2816z00_773 = 
CAR(BgL_fz00_769); 
BgL_arg2817z00_774 = 
CDR(BgL_fz00_769); 
BgL_arg2805z00_767 = 
BGl_makezd2localzd2svarz00zzast_localz00(BgL_arg2816z00_773, 
(BgL_typez00_bglt)(BgL_arg2817z00_774)); } } } 
{ /* ./Ast/labels.scm 86 */
obj_t BgL_obj1z00_1242;
BgL_obj1z00_1242 = 
(obj_t)(BgL_arg2805z00_767); 
BgL_newtail2675z00_765 = 
MAKE_PAIR(BgL_obj1z00_1242, BNIL); } } 
SET_CDR(BgL_tail2674z00_762, BgL_newtail2675z00_765); 
{ /* ./Ast/labels.scm 86 */
obj_t BgL_arg2801z00_766;
BgL_arg2801z00_766 = 
CDR(BgL_l2671z00_761); 
{ 
obj_t BgL_tail2674z00_1413;obj_t BgL_l2671z00_1412;
BgL_l2671z00_1412 = BgL_arg2801z00_766; 
BgL_tail2674z00_1413 = BgL_newtail2675z00_765; 
BgL_tail2674z00_762 = BgL_tail2674z00_1413; 
BgL_l2671z00_761 = BgL_l2671z00_1412; 
goto BgL_map2672z00_763;} } } } } } } 
{ /* ./Ast/labels.scm 86 */
BgL_sfunz00_bglt BgL_sfunz00_747;
{ /* ./Ast/labels.scm 95 */
long BgL_arg2787z00_752;obj_t BgL_arg2789z00_754;obj_t BgL_arg2790z00_755;obj_t BgL_arg2792z00_757;
BgL_arg2787z00_752 = BgL_arityz00_743; 
BgL_arg2789z00_754 = BgL_argsz00_746; 
BgL_arg2790z00_755 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg2792z00_757 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_bodyz00_728, BgL_locz00_739); 
BgL_sfunz00_747 = 
BGl_makezd2sfunzd2zzast_varz00(BgL_arg2787z00_752, BUNSPEC, BFALSE, BFALSE, ((bool_t)1), BUNSPEC, BUNSPEC, BNIL, BgL_arg2789z00_754, BUNSPEC, BgL_arg2790z00_755, BNIL, BgL_arg2792z00_757); } 
{ /* ./Ast/labels.scm 93 */
BgL_localz00_bglt BgL_funz00_748;
{ /* ./Ast/labels.scm 98 */
bool_t BgL_test2782z00_751;
BgL_test2782z00_751 = 
BGl_userzd2symbolzf3z21zzast_identz00(BgL_idz00_741); 
if(BgL_test2782z00_751)
{ /* ./Ast/labels.scm 98 */
BgL_funz00_748 = 
BGl_makezd2userzd2localzd2sfunzd2zzast_localz00(BgL_idz00_741, 
(BgL_typez00_bglt)(BgL_typez00_742), BgL_sfunz00_747); }  else 
{ /* ./Ast/labels.scm 98 */
BgL_funz00_748 = 
BGl_makezd2localzd2sfunz00zzast_localz00(BgL_idz00_741, 
(BgL_typez00_bglt)(BgL_typez00_742), BgL_sfunz00_747); } } 
{ /* ./Ast/labels.scm 98 */

{ /* ./Ast/labels.scm 101 */
obj_t BgL_arg2777z00_749;obj_t BgL_arg2778z00_750;
BgL_arg2777z00_749 = 
CDR(BgL_bindingsz00_722); 
{ /* ./Ast/labels.scm 101 */
obj_t BgL_auxz00_1424;
BgL_auxz00_1424 = 
(obj_t)(BgL_funz00_748); 
BgL_arg2778z00_750 = 
MAKE_PAIR(BgL_auxz00_1424, BgL_resz00_723); } 
{ 
obj_t BgL_resz00_1428;obj_t BgL_bindingsz00_1427;
BgL_bindingsz00_1427 = BgL_arg2777z00_749; 
BgL_resz00_1428 = BgL_arg2778z00_750; 
BgL_resz00_723 = BgL_resz00_1428; 
BgL_bindingsz00_722 = BgL_bindingsz00_1427; 
goto BgL_loopz00_724;} } } } } }  else 
{ /* ./Ast/labels.scm 75 */
{ /* ./Ast/labels.scm 103 */
obj_t BgL_arg2831z00_777;
BgL_arg2831z00_777 = 
CAR(BgL_bindingsz00_722); 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3295z00zzast_labelsz00, BgL_arg2831z00_777, BgL_locz00_739); } 
return BNIL;} } } } } } } } } }  else 
{ /* ./Ast/labels.scm 64 */
BgL_tagzd2138zd2_730:
{ /* ./Ast/labels.scm 108 */
obj_t BgL_arg2875z00_798;
BgL_arg2875z00_798 = 
CAR(BgL_bindingsz00_722); 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3296z00zzast_labelsz00, BgL_arg2875z00_798, BgL_locz00_20); } 
return BNIL;} }  else 
{ /* ./Ast/labels.scm 64 */
goto BgL_tagzd2138zd2_730;} } }  else 
{ /* ./Ast/labels.scm 64 */
goto BgL_tagzd2138zd2_730;} } } } } } } 
}



/* labels-binding */
obj_t BGl_labelszd2bindingzd2zzast_labelsz00(obj_t BgL_localz00_21, obj_t BgL_bindingz00_22, obj_t BgL_stackz00_23, obj_t BgL_locz00_24)
{ AN_OBJECT;
{ /* ./Ast/labels.scm 116 */
{ 
obj_t BgL_argsz00_799;obj_t BgL_bodyz00_800;
{ /* ./Ast/labels.scm 117 */
bool_t BgL_test2879z00_804;
BgL_test2879z00_804 = 
PAIRP(BgL_bindingz00_22); 
if(BgL_test2879z00_804)
{ /* ./Ast/labels.scm 117 */
obj_t BgL_cdrzd2165zd2_805;
BgL_cdrzd2165zd2_805 = 
CDR(BgL_bindingz00_22); 
{ /* ./Ast/labels.scm 117 */
bool_t BgL_test2880z00_806;
BgL_test2880z00_806 = 
PAIRP(BgL_cdrzd2165zd2_805); 
if(BgL_test2880z00_806)
{ /* ./Ast/labels.scm 117 */
obj_t BgL_arg2882z00_807;obj_t BgL_arg2883z00_808;
BgL_arg2882z00_807 = 
CAR(BgL_cdrzd2165zd2_805); 
BgL_arg2883z00_808 = 
CDR(BgL_cdrzd2165zd2_805); 
BgL_argsz00_799 = BgL_arg2882z00_807; 
BgL_bodyz00_800 = BgL_arg2883z00_808; 
{ /* ./Ast/labels.scm 119 */
obj_t BgL_arg2893z00_809;
{ /* ./Ast/labels.scm 119 */
BgL_variablez00_bglt BgL_obj1093z00_1255;
BgL_obj1093z00_1255 = 
(BgL_variablez00_bglt)(BgL_localz00_21); 
BgL_arg2893z00_809 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1255))->BgL_idz00); } 
BGl_enterzd2functionzd2zztools_errorz00(BgL_arg2893z00_809); } 
{ /* ./Ast/labels.scm 120 */
obj_t BgL_locz00_810;
BgL_locz00_810 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_bindingz00_22, BgL_locz00_24); 
{ /* ./Ast/labels.scm 120 */
BgL_nodez00_bglt BgL_bodyz00_811;
{ /* ./Ast/labels.scm 122 */
obj_t BgL_arg2906z00_814;obj_t BgL_arg2907z00_815;obj_t BgL_arg2908z00_816;
{ /* ./Ast/labels.scm 122 */
obj_t BgL_arg2912z00_817;obj_t BgL_arg2913z00_818;
{ /* ./Ast/labels.scm 122 */
BgL_variablez00_bglt BgL_obj1093z00_1256;
BgL_obj1093z00_1256 = 
(BgL_variablez00_bglt)(BgL_localz00_21); 
BgL_arg2912z00_817 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1256))->BgL_idz00); } 
BgL_arg2913z00_818 = 
BGl_normaliza7ezd2prognz75zztools_prognz00(BgL_bodyz00_800); 
BgL_arg2906z00_814 = 
BGl_makezd2dssslzd2functionzd2preludezd2zz__dssslz00(BgL_arg2912z00_817, BgL_argsz00_799, BgL_arg2913z00_818, BGl_userzd2errorzd2envz00zztools_errorz00, BNIL); } 
{ /* ./Ast/labels.scm 126 */
obj_t BgL_auxz00_1448;
{ /* ./Ast/labels.scm 126 */
BgL_sfunz00_bglt BgL_obj1367z00_1258;
{ /* ./Ast/labels.scm 126 */
BgL_valuez00_bglt BgL_auxz00_1449;
{ /* ./Ast/labels.scm 126 */
BgL_variablez00_bglt BgL_obj1100z00_1257;
BgL_obj1100z00_1257 = 
(BgL_variablez00_bglt)(BgL_localz00_21); 
BgL_auxz00_1449 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1257))->BgL_valuez00); } 
BgL_obj1367z00_1258 = 
(BgL_sfunz00_bglt)(BgL_auxz00_1449); } 
BgL_auxz00_1448 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1367z00_1258))->BgL_argsz00); } 
BgL_arg2907z00_815 = 
bgl_append2(BgL_auxz00_1448, BgL_stackz00_23); } 
BgL_arg2908z00_816 = 
CNST_TABLE_REF(((long)1)); 
BgL_bodyz00_811 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2906z00_814, BgL_arg2907z00_815, BgL_locz00_810, BgL_arg2908z00_816); } 
{ /* ./Ast/labels.scm 121 */

{ /* ./Ast/labels.scm 129 */
BgL_valuez00_bglt BgL_arg2897z00_812;
{ /* ./Ast/labels.scm 129 */
BgL_variablez00_bglt BgL_obj1100z00_1259;
BgL_obj1100z00_1259 = 
(BgL_variablez00_bglt)(BgL_localz00_21); 
BgL_arg2897z00_812 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1259))->BgL_valuez00); } 
{ /* ./Ast/labels.scm 129 */
BgL_sfunz00_bglt BgL_obj1382z00_1260;obj_t BgL_val1381z00_1261;
BgL_obj1382z00_1260 = 
(BgL_sfunz00_bglt)(BgL_arg2897z00_812); 
BgL_val1381z00_1261 = BgL_locz00_810; 
((((BgL_sfunz00_bglt)CREF(BgL_obj1382z00_1260))->BgL_locz00) = ((obj_t)BgL_val1381z00_1261), BUNSPEC); } } 
{ /* ./Ast/labels.scm 130 */
BgL_valuez00_bglt BgL_arg2901z00_813;
{ /* ./Ast/labels.scm 130 */
BgL_variablez00_bglt BgL_obj1100z00_1262;
BgL_obj1100z00_1262 = 
(BgL_variablez00_bglt)(BgL_localz00_21); 
BgL_arg2901z00_813 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1100z00_1262))->BgL_valuez00); } 
{ /* ./Ast/labels.scm 130 */
BgL_sfunz00_bglt BgL_obj1373z00_1263;obj_t BgL_val1371z00_1264;
BgL_obj1373z00_1263 = 
(BgL_sfunz00_bglt)(BgL_arg2901z00_813); 
BgL_val1371z00_1264 = 
(obj_t)(BgL_bodyz00_811); 
((((BgL_sfunz00_bglt)CREF(BgL_obj1373z00_1263))->BgL_bodyz00) = ((obj_t)BgL_val1371z00_1264), BUNSPEC); } } 
return 
BGl_leavezd2functionzd2zztools_errorz00();} } } }  else 
{ /* ./Ast/labels.scm 117 */
BgL_nodez00_bglt BgL_auxz00_1467;
BgL_tagzd2158zd2_802:
BgL_auxz00_1467 = 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3297z00zzast_labelsz00, BgL_bindingz00_22, BgL_locz00_24); 
return 
(obj_t)(BgL_auxz00_1467);} } }  else 
{ /* ./Ast/labels.scm 117 */
BgL_nodez00_bglt BgL_auxz00_1470;
goto BgL_tagzd2158zd2_802;
return 
(obj_t)(BgL_auxz00_1470);} } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_labelsz00()
{ AN_OBJECT;
{ /* ./Ast/labels.scm 14 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_labels"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_labels"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_tracez00(((long)59211), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_prognz00(((long)55569), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_argsz00(((long)42726), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztools_dssslz00(((long)55629), "ast_labels"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_labels"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_labels"); 
BGl_modulezd2initializa7ationz75zzast_identz00(((long)51504), "ast_labels"); 
return 
BGl_modulezd2initializa7ationz75zzast_localz00(((long)28959), "ast_labels");} 
}

