/*===========================================================================*/
/*   (Ast/pragma.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/pragma.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_STATEzd20zd22663z00zzast_pragmaz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzast_pragmaz00();
BGL_IMPORT obj_t open_input_string(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT bool_t rgc_fill_buffer(obj_t);
BGL_IMPORT obj_t BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(obj_t);
BGL_EXPORTED_DECL BgL_nodez00_bglt BGl_pragmazf2typezd2ze3nodezc3zzast_pragmaz00(bool_t, obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzast_pragmaz00();
static obj_t BGl_importedzd2moduleszd2initz00zzast_pragmaz00();
extern obj_t BGl_findzd2locationzf2locz20zztools_locationz00(obj_t, obj_t);
BGL_IMPORT obj_t rgc_buffer_substring(obj_t, int, int);
static obj_t BGl_thezd2substringzd2zzast_pragmaz00(obj_t, long, int);
static obj_t BGl_case_else2669z00zzast_pragmaz00(long);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_pragmaz00(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_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
BGL_IMPORT long bgl_list_length(obj_t);
extern BgL_pragmaz00_bglt BGl_makezd2pragmazd2zzast_nodez00(obj_t, BgL_typez00_bglt, obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza32748ze3z83zzast_pragmaz00(obj_t, obj_t, obj_t);
extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t, obj_t, obj_t);
static obj_t BGl_thezd2stringzd2zzast_pragmaz00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_pragmaz00 = BUNSPEC;
static obj_t BGl_thezd2failurezd2zzast_pragmaz00(obj_t);
static obj_t BGl__pragmazf2typezd2ze3nodezc3zzast_pragmaz00(obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_za2pragmazf3za2zf3zzengine_paramz00;
static obj_t BGl_libraryzd2moduleszd2initz00zzast_pragmaz00();
extern obj_t BGl_userzd2warningzf2locationz20zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_ignorez00zzast_pragmaz00(obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_getzd2maxzd2indexz00zzast_pragmaz00(obj_t);
static obj_t __cnst[ 2 ] ;


DEFINE_STRING( BGl_string3299z00zzast_pragmaz00, BgL_bgl_string3299za700za7za7ast_pragmaza7003333z00, "Illegal `pragma' form", 21 );
DEFINE_STRING( BGl_string3298z00zzast_pragmaz00, BgL_bgl_string3298za700za7za7ast_pragmaza7003334z00, "Wrong number of arguments in `pragma' form", 42 );
DEFINE_STRING( BGl_string3307z00zzast_pragmaz00, BgL_bgl_string3307za700za7za7ast_pragmaza7003335z00, "set! value ", 11 );
DEFINE_STRING( BGl_string3305z00zzast_pragmaz00, BgL_bgl_string3305za700za7za7ast_pragmaza7003336z00, "Illegal match", 13 );
DEFINE_STRING( BGl_string3304z00zzast_pragmaz00, BgL_bgl_string3304za700za7za7ast_pragmaza7003337z00, "regular-grammar", 15 );
DEFINE_STRING( BGl_string3303z00zzast_pragmaz00, BgL_bgl_string3303za700za7za7ast_pragmaza7003338z00, "Illegal range", 13 );
DEFINE_STRING( BGl_string3302z00zzast_pragmaz00, BgL_bgl_string3302za700za7za7ast_pragmaza7003339z00, "the-substring", 13 );
DEFINE_STRING( BGl_string3301z00zzast_pragmaz00, BgL_bgl_string3301za700za7za7ast_pragmaza7003340z00, "Pragma ignored with this back-end", 33 );
DEFINE_STRING( BGl_string3300z00zzast_pragmaz00, BgL_bgl_string3300za700za7za7ast_pragmaza7003341z00, "pragma", 6 );
DEFINE_STATIC_PROCEDURE( BGl_proc3306z00zzast_pragmaz00, BgL_bgl_stateza7d20za7d22663za700za7za7ast_pragmaza7003342z00, BGl_STATEzd20zd22663z00zzast_pragmaz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_pragmazf2typezd2ze3nodezd2envz11zzast_pragmaz00, BgL_bgl__pragmaza7f2typeza7d2za7e3nodeza7c3za7za7ast_pragmaza7003343za7, BGl__pragmazf2typezd2ze3nodezc3zzast_pragmaz00, 0L, 7 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_pragmaz00(long BgL_checksumz00_1360, char * BgL_fromz00_1361)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_pragmaz00))
{ 
BGl_requirezd2initializa7ationz75zzast_pragmaz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_pragmaz00(); 
BGl_cnstzd2initzd2zzast_pragmaz00(); 
BGl_importedzd2moduleszd2initz00zzast_pragmaz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_pragmaz00()
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 14 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)0), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "ast_pragma"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_pragmaz00()
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 14 */
{ /* ./Ast/pragma.scm 14 */
obj_t BgL_cportz00_1353;
BgL_cportz00_1353 = 
open_input_string(BGl_string3307z00zzast_pragmaz00); 
{ 
long BgL_iz00_1354;
BgL_iz00_1354 = ((long)1); 
BgL_loopz00_1355:
{ /* ./Ast/pragma.scm 14 */
bool_t BgL_test3309z00_1356;
BgL_test3309z00_1356 = 
(BgL_iz00_1354==((long)-1)); 
if(BgL_test3309z00_1356)
{ /* ./Ast/pragma.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/pragma.scm 14 */
{ /* ./Ast/pragma.scm 14 */
obj_t BgL_arg3311z00_1357;
{ /* ./Ast/pragma.scm 14 */
obj_t BgL_list3314z00_1358;
BgL_list3314z00_1358 = 
MAKE_PAIR(BgL_cportz00_1353, BNIL); 
BgL_arg3311z00_1357 = 
BGl_readz00zz__readerz00(BgL_list3314z00_1358); } 
{ /* ./Ast/pragma.scm 14 */
int BgL_auxz00_1376;
BgL_auxz00_1376 = 
(int)(BgL_iz00_1354); 
CNST_TABLE_SET(BgL_auxz00_1376, BgL_arg3311z00_1357); } } 
{ /* ./Ast/pragma.scm 14 */
int BgL_auxz00_1359;
{ /* ./Ast/pragma.scm 14 */
long BgL_auxz00_1379;
BgL_auxz00_1379 = 
(BgL_iz00_1354-((long)1)); 
BgL_auxz00_1359 = 
(int)(BgL_auxz00_1379); } 
{ 
long BgL_iz00_1382;
BgL_iz00_1382 = 
(long)(BgL_auxz00_1359); 
BgL_iz00_1354 = BgL_iz00_1382; 
goto BgL_loopz00_1355;} } } } } } } 
}



/* pragma/type->node */
BGL_EXPORTED_DEF BgL_nodez00_bglt BGl_pragmazf2typezd2ze3nodezc3zzast_pragmaz00(bool_t BgL_freez00_1, obj_t BgL_effectz00_2, BgL_typez00_bglt BgL_typez00_3, obj_t BgL_expz00_4, obj_t BgL_stackz00_5, obj_t BgL_locz00_6, obj_t BgL_sitez00_7)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 25 */
if(
CBOOL(BGl_za2pragmazf3za2zf3zzengine_paramz00))
{ 
obj_t BgL_formatz00_666;obj_t BgL_valuesz00_667;
{ /* ./Ast/pragma.scm 33 */
bool_t BgL_test2671z00_671;
BgL_test2671z00_671 = 
PAIRP(BgL_expz00_4); 
if(BgL_test2671z00_671)
{ /* ./Ast/pragma.scm 33 */
obj_t BgL_cdrzd2109zd2_672;
BgL_cdrzd2109zd2_672 = 
CDR(BgL_expz00_4); 
{ /* ./Ast/pragma.scm 33 */
bool_t BgL_test2672z00_673;
BgL_test2672z00_673 = 
PAIRP(BgL_cdrzd2109zd2_672); 
if(BgL_test2672z00_673)
{ /* ./Ast/pragma.scm 33 */
obj_t BgL_carzd2112zd2_674;
BgL_carzd2112zd2_674 = 
CAR(BgL_cdrzd2109zd2_672); 
{ /* ./Ast/pragma.scm 33 */
bool_t BgL_test2673z00_675;
BgL_test2673z00_675 = 
STRINGP(BgL_carzd2112zd2_674); 
if(BgL_test2673z00_675)
{ /* ./Ast/pragma.scm 33 */
obj_t BgL_arg2675z00_676;
BgL_arg2675z00_676 = 
CDR(BgL_cdrzd2109zd2_672); 
{ /* ./Ast/pragma.scm 33 */
obj_t BgL_auxz00_1395;
BgL_formatz00_666 = BgL_carzd2112zd2_674; 
BgL_valuesz00_667 = BgL_arg2675z00_676; 
{ /* ./Ast/pragma.scm 35 */
obj_t BgL_maxzd2indexzd2_677;obj_t BgL_locz00_678;
BgL_maxzd2indexzd2_677 = 
BGl_getzd2maxzd2indexz00zzast_pragmaz00(BgL_formatz00_666); 
BgL_locz00_678 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_expz00_4, BgL_locz00_6); 
{ /* ./Ast/pragma.scm 37 */
bool_t BgL_test2686z00_679;
{ /* ./Ast/pragma.scm 37 */
long BgL_auxz00_1400;long BgL_auxz00_1398;
BgL_auxz00_1400 = 
bgl_list_length(BgL_valuesz00_667); 
BgL_auxz00_1398 = 
(long)CINT(BgL_maxzd2indexzd2_677); 
BgL_test2686z00_679 = 
(BgL_auxz00_1398==BgL_auxz00_1400); } 
if(BgL_test2686z00_679)
{ 
obj_t BgL_expsz00_680;obj_t BgL_nodesz00_681;
{ /* ./Ast/pragma.scm 42 */
BgL_pragmaz00_bglt BgL_auxz00_1404;
BgL_expsz00_680 = BgL_valuesz00_667; 
BgL_nodesz00_681 = BNIL; 
BgL_loopz00_682:
{ /* ./Ast/pragma.scm 44 */
bool_t BgL_test2688z00_683;
BgL_test2688z00_683 = 
NULLP(BgL_expsz00_680); 
if(BgL_test2688z00_683)
{ /* ./Ast/pragma.scm 46 */
obj_t BgL_arg2690z00_684;BgL_typez00_bglt BgL_arg2691z00_685;bool_t BgL_arg2692z00_686;obj_t BgL_arg2694z00_688;obj_t BgL_arg2695z00_689;obj_t BgL_arg2696z00_690;
BgL_arg2690z00_684 = BgL_locz00_678; 
BgL_arg2691z00_685 = BgL_typez00_3; 
if(BgL_freez00_1)
{ /* ./Ast/pragma.scm 48 */
BgL_arg2692z00_686 = ((bool_t)0); }  else 
{ /* ./Ast/pragma.scm 48 */
BgL_arg2692z00_686 = ((bool_t)1); } 
BgL_arg2694z00_688 = 
BGl_reversez12z12zz__r4_pairs_and_lists_6_3z00(BgL_nodesz00_681); 
BgL_arg2695z00_689 = BgL_effectz00_2; 
BgL_arg2696z00_690 = BgL_formatz00_666; 
BgL_auxz00_1404 = 
BGl_makezd2pragmazd2zzast_nodez00(BgL_arg2690z00_684, BgL_arg2691z00_685, 
BBOOL(BgL_arg2692z00_686), 
BINT(((long)-1)), BgL_arg2694z00_688, BgL_arg2695z00_689, BgL_arg2696z00_690); }  else 
{ /* ./Ast/pragma.scm 52 */
obj_t BgL_arg2700z00_691;obj_t BgL_arg2701z00_692;
BgL_arg2700z00_691 = 
CDR(BgL_expsz00_680); 
{ /* ./Ast/pragma.scm 54 */
BgL_nodez00_bglt BgL_arg2705z00_693;
{ /* ./Ast/pragma.scm 54 */
obj_t BgL_arg2708z00_694;obj_t BgL_arg2709z00_695;obj_t BgL_arg2710z00_696;
BgL_arg2708z00_694 = 
CAR(BgL_expsz00_680); 
{ /* ./Ast/pragma.scm 56 */
obj_t BgL_arg2714z00_697;
BgL_arg2714z00_697 = 
CAR(BgL_expsz00_680); 
BgL_arg2709z00_695 = 
BGl_findzd2locationzf2locz20zztools_locationz00(BgL_arg2714z00_697, BgL_locz00_678); } 
if(BgL_freez00_1)
{ /* ./Ast/pragma.scm 57 */
BgL_arg2710z00_696 = 
CNST_TABLE_REF(((long)0)); }  else 
{ /* ./Ast/pragma.scm 57 */
BgL_arg2710z00_696 = 
CNST_TABLE_REF(((long)1)); } 
BgL_arg2705z00_693 = 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg2708z00_694, BgL_stackz00_5, BgL_arg2709z00_695, BgL_arg2710z00_696); } 
{ /* ./Ast/pragma.scm 53 */
obj_t BgL_auxz00_1420;
BgL_auxz00_1420 = 
(obj_t)(BgL_arg2705z00_693); 
BgL_arg2701z00_692 = 
MAKE_PAIR(BgL_auxz00_1420, BgL_nodesz00_681); } } 
{ 
obj_t BgL_nodesz00_1424;obj_t BgL_expsz00_1423;
BgL_expsz00_1423 = BgL_arg2700z00_691; 
BgL_nodesz00_1424 = BgL_arg2701z00_692; 
BgL_nodesz00_681 = BgL_nodesz00_1424; 
BgL_expsz00_680 = BgL_expsz00_1423; 
goto BgL_loopz00_682;} } } 
BgL_auxz00_1395 = 
(obj_t)(BgL_auxz00_1404); } }  else 
{ /* ./Ast/pragma.scm 38 */
BgL_nodez00_bglt BgL_auxz00_1426;
BgL_auxz00_1426 = 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3298z00zzast_pragmaz00, BgL_expz00_4, BgL_locz00_678); 
BgL_auxz00_1395 = 
(obj_t)(BgL_auxz00_1426); } } } 
return 
(BgL_nodez00_bglt)(BgL_auxz00_1395);} }  else 
{ /* ./Ast/pragma.scm 33 */
BgL_tagzd2102zd2_669:
return 
BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(BGl_string3299z00zzast_pragmaz00, BgL_expz00_4, BgL_locz00_6);} } }  else 
{ /* ./Ast/pragma.scm 33 */
goto BgL_tagzd2102zd2_669;} } }  else 
{ /* ./Ast/pragma.scm 33 */
goto BgL_tagzd2102zd2_669;} } }  else 
{ /* ./Ast/pragma.scm 26 */
BGl_userzd2warningzf2locationz20zztools_errorz00(BgL_locz00_6, BGl_string3300z00zzast_pragmaz00, BGl_string3301z00zzast_pragmaz00, BgL_expz00_4); 
return 
BGl_sexpzd2ze3nodez31zzast_sexpz00(BUNSPEC, BgL_stackz00_5, BgL_locz00_6, BgL_sitez00_7);} } 
}



/* _pragma/type->node */
obj_t BGl__pragmazf2typezd2ze3nodezc3zzast_pragmaz00(obj_t BgL_envz00_1322, obj_t BgL_freez00_1323, obj_t BgL_effectz00_1324, obj_t BgL_typez00_1325, obj_t BgL_expz00_1326, obj_t BgL_stackz00_1327, obj_t BgL_locz00_1328, obj_t BgL_sitez00_1329)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 25 */
{ /* ./Ast/pragma.scm 26 */
BgL_nodez00_bglt BgL_auxz00_1433;
BgL_auxz00_1433 = 
BGl_pragmazf2typezd2ze3nodezc3zzast_pragmaz00(
CBOOL(BgL_freez00_1323), BgL_effectz00_1324, 
(BgL_typez00_bglt)(BgL_typez00_1325), BgL_expz00_1326, BgL_stackz00_1327, BgL_locz00_1328, BgL_sitez00_1329); 
return 
(obj_t)(BgL_auxz00_1433);} } 
}



/* get-max-index */
obj_t BGl_getzd2maxzd2indexz00zzast_pragmaz00(obj_t BgL_formatz00_8)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 65 */
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_parserz00_699;obj_t BgL_portz00_700;
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_thezd2rgczd2contextz00_712;
BgL_thezd2rgczd2contextz00_712 = 
MAKE_CELL(BUNSPEC); 
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_zc3anonymousza32748ze3z83_1336;
{ 
int BgL_auxz00_1438;
BgL_auxz00_1438 = 
(int)(((long)1)); 
BgL_zc3anonymousza32748ze3z83_1336 = 
MAKE_EL_PROCEDURE_1(BgL_auxz00_1438); } 
{ /* ./Ast/pragma.scm 66 */
int BgL_auxz00_1441;
BgL_auxz00_1441 = 
(int)(((long)0)); 
PROCEDURE_1_EL_SET(BgL_zc3anonymousza32748ze3z83_1336, BgL_auxz00_1441, BgL_thezd2rgczd2contextz00_712); } 
BgL_parserz00_699 = BgL_zc3anonymousza32748ze3z83_1336; } } 
BgL_portz00_700 = 
open_input_string(BgL_formatz00_8); 
{ 
obj_t BgL_expz00_701;obj_t BgL_maxz00_702;
{ /* ./Ast/pragma.scm 74 */
obj_t BgL_arg2729z00_704;
BgL_arg2729z00_704 = 
BGl_zc3anonymousza32748ze3z83zzast_pragmaz00(BgL_parserz00_699, BgL_portz00_700, BFALSE); 
BgL_expz00_701 = BgL_arg2729z00_704; 
BgL_maxz00_702 = 
BINT(((long)0)); 
BgL_loopz00_703:
{ /* ./Ast/pragma.scm 77 */
bool_t BgL_test2733z00_706;
BgL_test2733z00_706 = 
EOF_OBJECTP(BgL_expz00_701); 
if(BgL_test2733z00_706)
{ /* ./Ast/pragma.scm 77 */
return BgL_maxz00_702;}  else 
{ /* ./Ast/pragma.scm 79 */
bool_t BgL_test2734z00_707;
BgL_test2734z00_707 = 
CHARP(BgL_expz00_701); 
if(BgL_test2734z00_707)
{ /* ./Ast/pragma.scm 79 */
{ /* ./Ast/pragma.scm 80 */
obj_t BgL_arg2736z00_708;
BgL_arg2736z00_708 = 
BGl_zc3anonymousza32748ze3z83zzast_pragmaz00(BgL_parserz00_699, BgL_portz00_700, BFALSE); 
{ 
obj_t BgL_expz00_1453;
BgL_expz00_1453 = BgL_arg2736z00_708; 
BgL_expz00_701 = BgL_expz00_1453; 
goto BgL_loopz00_703;} } }  else 
{ /* ./Ast/pragma.scm 79 */
{ /* ./Ast/pragma.scm 82 */
obj_t BgL_arg2740z00_709;obj_t BgL_arg2741z00_710;
BgL_arg2740z00_709 = 
BGl_zc3anonymousza32748ze3z83zzast_pragmaz00(BgL_parserz00_699, BgL_portz00_700, BFALSE); 
{ /* ./Ast/pragma.scm 82 */
bool_t BgL_testz00_1456;
{ /* ./Ast/pragma.scm 82 */
long BgL_auxz00_1459;long BgL_auxz00_1457;
BgL_auxz00_1459 = 
(long)CINT(BgL_maxz00_702); 
BgL_auxz00_1457 = 
(long)CINT(BgL_expz00_701); 
BgL_testz00_1456 = 
(BgL_auxz00_1457>BgL_auxz00_1459); } 
if(BgL_testz00_1456)
{ /* ./Ast/pragma.scm 82 */
BgL_arg2741z00_710 = BgL_expz00_701; }  else 
{ /* ./Ast/pragma.scm 82 */
BgL_arg2741z00_710 = BgL_maxz00_702; } } 
{ 
obj_t BgL_maxz00_1463;obj_t BgL_expz00_1462;
BgL_expz00_1462 = BgL_arg2740z00_709; 
BgL_maxz00_1463 = BgL_arg2741z00_710; 
BgL_maxz00_702 = BgL_maxz00_1463; 
BgL_expz00_701 = BgL_expz00_1462; 
goto BgL_loopz00_703;} } } } } } } } } 
}



/* ignore */
obj_t BGl_ignorez00zzast_pragmaz00(obj_t BgL_statezd20zd22663z00_1340, obj_t BgL_thezd2rgczd2contextz00_1339, obj_t BgL_procz00_1338, obj_t BgL_inputzd2portzd2_1337)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
BGl_ignorez00zzast_pragmaz00:
RGC_START_MATCH(BgL_inputzd2portzd2_1337); 
{ /* ./Ast/pragma.scm 66 */
long BgL_matchz00_739;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2769z00_747;
BgL_test2769z00_747 = 
PROCEDUREP(BgL_procz00_1338); 
if(BgL_test2769z00_747)
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_auxz00_1468;
BgL_auxz00_1468 = 
PROCEDURE_ENTRY(BgL_procz00_1338)(BgL_procz00_1338, BgL_statezd20zd22663z00_1340, BgL_inputzd2portzd2_1337, 
BINT(((long)2)), 
CELL_REF(BgL_thezd2rgczd2contextz00_1339), BEOA); 
BgL_matchz00_739 = 
(long)CINT(BgL_auxz00_1468); }  else 
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_auxz00_1473;
BgL_auxz00_1473 = 
BGl_STATEzd20zd22663z00zzast_pragmaz00(BgL_statezd20zd22663z00_1340, BgL_inputzd2portzd2_1337, 
BINT(((long)2)), 
CELL_REF(BgL_thezd2rgczd2contextz00_1339)); 
BgL_matchz00_739 = 
(long)CINT(BgL_auxz00_1473); } } 
RGC_SET_FILEPOS(BgL_inputzd2portzd2_1337); 
switch( BgL_matchz00_739) { case ((long)2) : 

return 
BGl_thezd2failurezd2zzast_pragmaz00(BgL_inputzd2portzd2_1337);break;case ((long)1) : 

{ 

goto BGl_ignorez00zzast_pragmaz00;} break;case ((long)0) : 

{ /* ./Ast/pragma.scm 68 */
obj_t BgL_arg2757z00_743;
{ /* ./Ast/pragma.scm 68 */
int BgL_arg2762z00_746;
{ /* ./Ast/pragma.scm 68 */
int BgL_res3225z00_1232;
{ /* ./Ast/pragma.scm 68 */
long BgL_auxz00_1479;
BgL_auxz00_1479 = 
RGC_BUFFER_LENGTH(BgL_inputzd2portzd2_1337); 
BgL_res3225z00_1232 = 
(int)(BgL_auxz00_1479); } 
BgL_arg2762z00_746 = BgL_res3225z00_1232; } 
BgL_arg2757z00_743 = 
BGl_thezd2substringzd2zzast_pragmaz00(BgL_inputzd2portzd2_1337, ((long)1), BgL_arg2762z00_746); } 
return 
BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00(BgL_arg2757z00_743, BNIL);} break;
default: 
return 
BGl_case_else2669z00zzast_pragmaz00(BgL_matchz00_739);} } } 
}



/* the-substring */
obj_t BGl_thezd2substringzd2zzast_pragmaz00(obj_t BgL_inputzd2portzd2_1341, long BgL_minz00_768, int BgL_maxz00_769)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2806z00_771;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2814z00_775;
BgL_test2814z00_775 = 
(BgL_minz00_768>=((long)0)); 
if(BgL_test2814z00_775)
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2815z00_776;
{ /* ./Ast/pragma.scm 66 */
int BgL_arg2818z00_777;
{ /* ./Ast/pragma.scm 66 */
int BgL_res3227z00_1246;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1488;
BgL_auxz00_1488 = 
RGC_BUFFER_LENGTH(BgL_inputzd2portzd2_1341); 
BgL_res3227z00_1246 = 
(int)(BgL_auxz00_1488); } 
BgL_arg2818z00_777 = BgL_res3227z00_1246; } 
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1493;long BgL_auxz00_1491;
BgL_auxz00_1493 = 
(long)(BgL_arg2818z00_777); 
BgL_auxz00_1491 = 
(long)(BgL_maxz00_769); 
BgL_test2815z00_776 = 
(BgL_auxz00_1491<=BgL_auxz00_1493); } } 
if(BgL_test2815z00_776)
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1497;
BgL_auxz00_1497 = 
(long)(BgL_maxz00_769); 
BgL_test2806z00_771 = 
(BgL_auxz00_1497>=BgL_minz00_768); }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_test2806z00_771 = ((bool_t)0); } }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_test2806z00_771 = ((bool_t)0); } } 
if(BgL_test2806z00_771)
{ /* ./Ast/pragma.scm 66 */
int BgL_startz00_1252;
BgL_startz00_1252 = 
(int)(BgL_minz00_768); 
return 
rgc_buffer_substring(BgL_inputzd2portzd2_1341, BgL_startz00_1252, BgL_maxz00_769);}  else 
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_arg2811z00_774;
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_auxz00_1505;obj_t BgL_auxz00_1503;
BgL_auxz00_1505 = 
BINT(BgL_maxz00_769); 
BgL_auxz00_1503 = 
BINT(BgL_minz00_768); 
BgL_arg2811z00_774 = 
MAKE_PAIR(BgL_auxz00_1503, BgL_auxz00_1505); } 
FAILURE(BGl_string3302z00zzast_pragmaz00,BGl_string3303z00zzast_pragmaz00,BgL_arg2811z00_774);} } } 
}



/* the-failure */
obj_t BGl_thezd2failurezd2zzast_pragmaz00(obj_t BgL_inputzd2portzd2_1342)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2782z00_757;
{ /* ./Ast/pragma.scm 66 */
int BgL_arg2789z00_760;
{ /* ./Ast/pragma.scm 66 */
int BgL_res3226z00_1237;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1509;
BgL_auxz00_1509 = 
RGC_BUFFER_LENGTH(BgL_inputzd2portzd2_1342); 
BgL_res3226z00_1237 = 
(int)(BgL_auxz00_1509); } 
BgL_arg2789z00_760 = BgL_res3226z00_1237; } 
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1512;
BgL_auxz00_1512 = 
(long)(BgL_arg2789z00_760); 
BgL_test2782z00_757 = 
(BgL_auxz00_1512==((long)0)); } } 
if(BgL_test2782z00_757)
{ /* ./Ast/pragma.scm 66 */
return BCNST(256);}  else 
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_arg2784z00_758;
BgL_arg2784z00_758 = 
BGl_thezd2stringzd2zzast_pragmaz00(BgL_inputzd2portzd2_1342); 
{ /* ./Ast/pragma.scm 66 */
unsigned char BgL_auxz00_1517;
{ /* ./Ast/pragma.scm 66 */
int BgL_auxz00_1518;
BgL_auxz00_1518 = 
(int)(((long)0)); 
BgL_auxz00_1517 = 
STRING_REF(BgL_arg2784z00_758, BgL_auxz00_1518); } 
return 
BCHAR(BgL_auxz00_1517);} } } } 
}



/* case_else2669 */
obj_t BGl_case_else2669z00zzast_pragmaz00(long BgL_matchz00_1343)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_objectz00_1235;
BgL_objectz00_1235 = 
BINT(BgL_matchz00_1343); 
FAILURE(BGl_string3304z00zzast_pragmaz00,BGl_string3305z00zzast_pragmaz00,BgL_objectz00_1235);} } 
}



/* the-string */
obj_t BGl_thezd2stringzd2zzast_pragmaz00(obj_t BgL_inputzd2portzd2_1344)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
int BgL_arg2825z00_780;
{ /* ./Ast/pragma.scm 66 */
int BgL_res3228z00_1258;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1524;
BgL_auxz00_1524 = 
RGC_BUFFER_LENGTH(BgL_inputzd2portzd2_1344); 
BgL_res3228z00_1258 = 
(int)(BgL_auxz00_1524); } 
BgL_arg2825z00_780 = BgL_res3228z00_1258; } 
{ /* ./Ast/pragma.scm 66 */
int BgL_startz00_1260;
BgL_startz00_1260 = 
(int)(((long)0)); 
return 
rgc_buffer_substring(BgL_inputzd2portzd2_1344, BgL_startz00_1260, BgL_arg2825z00_780);} } } 
}



/* <anonymous:2748> */
obj_t BGl_zc3anonymousza32748ze3z83zzast_pragmaz00(obj_t BgL_envz00_1345, obj_t BgL_inputzd2portzd2_1347, obj_t BgL_procz00_1348)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
obj_t BgL_thezd2rgczd2contextz00_1346;
{ /* ./Ast/pragma.scm 66 */
int BgL_auxz00_1529;
BgL_auxz00_1529 = 
(int)(((long)0)); 
BgL_thezd2rgczd2contextz00_1346 = 
PROCEDURE_1_EL_REF(BgL_envz00_1345, BgL_auxz00_1529); } 
{ 
obj_t BgL_inputzd2portzd2_713;obj_t BgL_procz00_714;
BgL_inputzd2portzd2_713 = BgL_inputzd2portzd2_1347; 
BgL_procz00_714 = BgL_procz00_1348; 
return 
BGl_ignorez00zzast_pragmaz00(BGl_proc3306z00zzast_pragmaz00, BgL_thezd2rgczd2contextz00_1346, BgL_procz00_714, BgL_inputzd2portzd2_713);} } } 
}



/* STATE-0-2663 */
obj_t BGl_STATEzd20zd22663z00zzast_pragmaz00(obj_t BgL_envz00_1349, obj_t BgL_inputzd2portzd2_1350, obj_t BgL_lastzd2matchzd2_1351, obj_t BgL_thezd2rgczd2contextz00_1352)
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 66 */
{ 
obj_t BgL_inputzd2portzd2_803;obj_t BgL_lastzd2matchzd2_804;obj_t BgL_thezd2rgczd2contextz00_805;
BgL_inputzd2portzd2_803 = BgL_inputzd2portzd2_1350; 
BgL_lastzd2matchzd2_804 = BgL_lastzd2matchzd2_1351; 
BgL_thezd2rgczd2contextz00_805 = BgL_thezd2rgczd2contextz00_1352; 
BgL_zc3anonymousza32859ze3z83_806:
{ 
obj_t BgL_inputzd2portzd2_822;obj_t BgL_lastzd2matchzd2_823;obj_t BgL_thezd2rgczd2contextz00_824;obj_t BgL_inputzd2portzd2_783;obj_t BgL_lastzd2matchzd2_784;obj_t BgL_thezd2rgczd2contextz00_785;obj_t BgL_inputzd2portzd2_793;long BgL_lastzd2matchzd2_794;obj_t BgL_thezd2rgczd2contextz00_795;obj_t BgL_inputzd2portzd2_812;long BgL_lastzd2matchzd2_813;obj_t BgL_thezd2rgczd2contextz00_814;
{ /* ./Ast/pragma.scm 66 */
int BgL_currentzd2charzd2_807;
BgL_currentzd2charzd2_807 = 
RGC_BUFFER_GET_CHAR(BgL_inputzd2portzd2_803); 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2860z00_808;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1534;
BgL_auxz00_1534 = 
(long)(BgL_currentzd2charzd2_807); 
BgL_test2860z00_808 = 
(BgL_auxz00_1534==((long)0)); } 
if(BgL_test2860z00_808)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2861z00_809;
BgL_test2861z00_809 = 
RGC_BUFFER_EMPTY(BgL_inputzd2portzd2_803); 
if(BgL_test2861z00_809)
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2862z00_810;
BgL_test2862z00_810 = 
rgc_fill_buffer(BgL_inputzd2portzd2_803); 
if(BgL_test2862z00_810)
{ 

goto BgL_zc3anonymousza32859ze3z83_806;}  else 
{ /* ./Ast/pragma.scm 66 */
return BgL_lastzd2matchzd2_804;} }  else 
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1542;
BgL_inputzd2portzd2_783 = BgL_inputzd2portzd2_803; 
BgL_lastzd2matchzd2_784 = BgL_lastzd2matchzd2_804; 
BgL_thezd2rgczd2contextz00_785 = BgL_thezd2rgczd2contextz00_805; 
BgL_zc3anonymousza32831ze3z83_786:
{ /* ./Ast/pragma.scm 66 */
long BgL_newzd2matchzd2_787;
RGC_STOP_MATCH(BgL_inputzd2portzd2_783); 
BgL_newzd2matchzd2_787 = ((long)1); 
{ /* ./Ast/pragma.scm 66 */
int BgL_currentzd2charzd2_788;
BgL_currentzd2charzd2_788 = 
RGC_BUFFER_GET_CHAR(BgL_inputzd2portzd2_783); 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2832z00_789;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1545;
BgL_auxz00_1545 = 
(long)(BgL_currentzd2charzd2_788); 
BgL_test2832z00_789 = 
(BgL_auxz00_1545==((long)0)); } 
if(BgL_test2832z00_789)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2833z00_790;
BgL_test2833z00_790 = 
RGC_BUFFER_EMPTY(BgL_inputzd2portzd2_783); 
if(BgL_test2833z00_790)
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2834z00_791;
BgL_test2834z00_791 = 
rgc_fill_buffer(BgL_inputzd2portzd2_783); 
if(BgL_test2834z00_791)
{ 

goto BgL_zc3anonymousza32831ze3z83_786;}  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1542 = BgL_newzd2matchzd2_787
; } }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_inputzd2portzd2_793 = BgL_inputzd2portzd2_783; 
BgL_lastzd2matchzd2_794 = BgL_newzd2matchzd2_787; 
BgL_thezd2rgczd2contextz00_795 = BgL_thezd2rgczd2contextz00_785; 
BgL_zc3anonymousza32845ze3z83_796:
{ /* ./Ast/pragma.scm 66 */
long BgL_newzd2matchzd2_797;
RGC_STOP_MATCH(BgL_inputzd2portzd2_793); 
BgL_newzd2matchzd2_797 = ((long)1); 
{ /* ./Ast/pragma.scm 66 */
int BgL_currentzd2charzd2_798;
BgL_currentzd2charzd2_798 = 
RGC_BUFFER_GET_CHAR(BgL_inputzd2portzd2_793); 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2846z00_799;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1555;
BgL_auxz00_1555 = 
(long)(BgL_currentzd2charzd2_798); 
BgL_test2846z00_799 = 
(BgL_auxz00_1555==((long)0)); } 
if(BgL_test2846z00_799)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2847z00_800;
BgL_test2847z00_800 = 
RGC_BUFFER_EMPTY(BgL_inputzd2portzd2_793); 
if(BgL_test2847z00_800)
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2848z00_801;
BgL_test2848z00_801 = 
rgc_fill_buffer(BgL_inputzd2portzd2_793); 
if(BgL_test2848z00_801)
{ 

goto BgL_zc3anonymousza32845ze3z83_796;}  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1542 = BgL_newzd2matchzd2_797
; } }  else 
{ 
long BgL_lastzd2matchzd2_1563;
BgL_lastzd2matchzd2_1563 = BgL_newzd2matchzd2_797; 
BgL_lastzd2matchzd2_794 = BgL_lastzd2matchzd2_1563; 
goto BgL_zc3anonymousza32845ze3z83_796;} } }  else 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2853z00_802;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1564;
BgL_auxz00_1564 = 
(long)(BgL_currentzd2charzd2_798); 
BgL_test2853z00_802 = 
(BgL_auxz00_1564==((long)36)); } 
if(BgL_test2853z00_802)
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1542 = BgL_newzd2matchzd2_797; }  else 
{ /* ./Ast/pragma.scm 66 */
{ 
long BgL_lastzd2matchzd2_1568;
BgL_lastzd2matchzd2_1568 = BgL_newzd2matchzd2_797; 
BgL_lastzd2matchzd2_794 = BgL_lastzd2matchzd2_1568; 
goto BgL_zc3anonymousza32845ze3z83_796;} } } } } } } } }  else 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2839z00_792;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1569;
BgL_auxz00_1569 = 
(long)(BgL_currentzd2charzd2_788); 
BgL_test2839z00_792 = 
(BgL_auxz00_1569==((long)36)); } 
if(BgL_test2839z00_792)
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1542 = BgL_newzd2matchzd2_787; }  else 
{ /* ./Ast/pragma.scm 66 */
{ 
obj_t BgL_thezd2rgczd2contextz00_1575;long BgL_lastzd2matchzd2_1574;obj_t BgL_inputzd2portzd2_1573;
BgL_inputzd2portzd2_1573 = BgL_inputzd2portzd2_783; 
BgL_lastzd2matchzd2_1574 = BgL_newzd2matchzd2_787; 
BgL_thezd2rgczd2contextz00_1575 = BgL_thezd2rgczd2contextz00_785; 
BgL_thezd2rgczd2contextz00_795 = BgL_thezd2rgczd2contextz00_1575; 
BgL_lastzd2matchzd2_794 = BgL_lastzd2matchzd2_1574; 
BgL_inputzd2portzd2_793 = BgL_inputzd2portzd2_1573; 
goto BgL_zc3anonymousza32845ze3z83_796;} } } } } } 
return 
BINT(BgL_auxz00_1542);} } }  else 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2867z00_811;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1577;
BgL_auxz00_1577 = 
(long)(BgL_currentzd2charzd2_807); 
BgL_test2867z00_811 = 
(BgL_auxz00_1577==((long)36)); } 
if(BgL_test2867z00_811)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1581;
BgL_inputzd2portzd2_822 = BgL_inputzd2portzd2_803; 
BgL_lastzd2matchzd2_823 = BgL_lastzd2matchzd2_804; 
BgL_thezd2rgczd2contextz00_824 = BgL_thezd2rgczd2contextz00_805; 
BgL_zc3anonymousza32886ze3z83_825:
{ /* ./Ast/pragma.scm 66 */
long BgL_newzd2matchzd2_826;
RGC_STOP_MATCH(BgL_inputzd2portzd2_822); 
BgL_newzd2matchzd2_826 = ((long)2); 
{ /* ./Ast/pragma.scm 66 */
int BgL_currentzd2charzd2_827;
BgL_currentzd2charzd2_827 = 
RGC_BUFFER_GET_CHAR(BgL_inputzd2portzd2_822); 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2887z00_828;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1584;
BgL_auxz00_1584 = 
(long)(BgL_currentzd2charzd2_827); 
BgL_test2887z00_828 = 
(BgL_auxz00_1584==((long)0)); } 
if(BgL_test2887z00_828)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2888z00_829;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_res3230z00_1306;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL__andtest_1005z00_1303;
BgL__andtest_1005z00_1303 = 
RGC_BUFFER_EMPTY(BgL_inputzd2portzd2_822); 
if(BgL__andtest_1005z00_1303)
{ /* ./Ast/pragma.scm 66 */
BgL_res3230z00_1306 = 
rgc_fill_buffer(BgL_inputzd2portzd2_822); }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_res3230z00_1306 = ((bool_t)0); } } 
BgL_test2888z00_829 = BgL_res3230z00_1306; } 
if(BgL_test2888z00_829)
{ 

goto BgL_zc3anonymousza32886ze3z83_825;}  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1581 = BgL_newzd2matchzd2_826
; } } }  else 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2891z00_830;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_testz00_1592;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1593;
BgL_auxz00_1593 = 
(long)(BgL_currentzd2charzd2_827); 
BgL_testz00_1592 = 
(BgL_auxz00_1593>=((long)48)); } 
if(BgL_testz00_1592)
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1596;
BgL_auxz00_1596 = 
(long)(BgL_currentzd2charzd2_827); 
BgL_test2891z00_830 = 
(BgL_auxz00_1596<((long)58)); }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_test2891z00_830 = ((bool_t)0); } } 
if(BgL_test2891z00_830)
{ /* ./Ast/pragma.scm 66 */
BgL_inputzd2portzd2_812 = BgL_inputzd2portzd2_822; 
BgL_lastzd2matchzd2_813 = BgL_newzd2matchzd2_826; 
BgL_thezd2rgczd2contextz00_814 = BgL_thezd2rgczd2contextz00_824; 
BgL_zc3anonymousza32873ze3z83_815:
{ /* ./Ast/pragma.scm 66 */
long BgL_newzd2matchzd2_816;
RGC_STOP_MATCH(BgL_inputzd2portzd2_812); 
BgL_newzd2matchzd2_816 = ((long)0); 
{ /* ./Ast/pragma.scm 66 */
int BgL_currentzd2charzd2_817;
BgL_currentzd2charzd2_817 = 
RGC_BUFFER_GET_CHAR(BgL_inputzd2portzd2_812); 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2874z00_818;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1602;
BgL_auxz00_1602 = 
(long)(BgL_currentzd2charzd2_817); 
BgL_test2874z00_818 = 
(BgL_auxz00_1602==((long)0)); } 
if(BgL_test2874z00_818)
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2875z00_819;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_res3229z00_1293;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL__andtest_1005z00_1290;
BgL__andtest_1005z00_1290 = 
RGC_BUFFER_EMPTY(BgL_inputzd2portzd2_812); 
if(BgL__andtest_1005z00_1290)
{ /* ./Ast/pragma.scm 66 */
BgL_res3229z00_1293 = 
rgc_fill_buffer(BgL_inputzd2portzd2_812); }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_res3229z00_1293 = ((bool_t)0); } } 
BgL_test2875z00_819 = BgL_res3229z00_1293; } 
if(BgL_test2875z00_819)
{ 

goto BgL_zc3anonymousza32873ze3z83_815;}  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1581 = BgL_newzd2matchzd2_816
; } } }  else 
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_test2878z00_820;
{ /* ./Ast/pragma.scm 66 */
bool_t BgL_testz00_1610;
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1611;
BgL_auxz00_1611 = 
(long)(BgL_currentzd2charzd2_817); 
BgL_testz00_1610 = 
(BgL_auxz00_1611>=((long)48)); } 
if(BgL_testz00_1610)
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1614;
BgL_auxz00_1614 = 
(long)(BgL_currentzd2charzd2_817); 
BgL_test2878z00_820 = 
(BgL_auxz00_1614<((long)58)); }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_test2878z00_820 = ((bool_t)0); } } 
if(BgL_test2878z00_820)
{ /* ./Ast/pragma.scm 66 */
{ 
long BgL_lastzd2matchzd2_1618;
BgL_lastzd2matchzd2_1618 = BgL_newzd2matchzd2_816; 
BgL_lastzd2matchzd2_813 = BgL_lastzd2matchzd2_1618; 
goto BgL_zc3anonymousza32873ze3z83_815;} }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1581 = BgL_newzd2matchzd2_816; } } } } } }  else 
{ /* ./Ast/pragma.scm 66 */
BgL_auxz00_1581 = BgL_newzd2matchzd2_826; } } } } } 
return 
BINT(BgL_auxz00_1581);} }  else 
{ /* ./Ast/pragma.scm 66 */
{ /* ./Ast/pragma.scm 66 */
long BgL_auxz00_1620;
{ 
obj_t BgL_thezd2rgczd2contextz00_1623;obj_t BgL_lastzd2matchzd2_1622;obj_t BgL_inputzd2portzd2_1621;
BgL_inputzd2portzd2_1621 = BgL_inputzd2portzd2_803; 
BgL_lastzd2matchzd2_1622 = BgL_lastzd2matchzd2_804; 
BgL_thezd2rgczd2contextz00_1623 = BgL_thezd2rgczd2contextz00_805; 
BgL_thezd2rgczd2contextz00_785 = BgL_thezd2rgczd2contextz00_1623; 
BgL_lastzd2matchzd2_784 = BgL_lastzd2matchzd2_1622; 
BgL_inputzd2portzd2_783 = BgL_inputzd2portzd2_1621; 
goto BgL_zc3anonymousza32831ze3z83_786;} 
return 
BINT(BgL_auxz00_1620);} } } } } } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_pragmaz00()
{ AN_OBJECT;
{ /* ./Ast/pragma.scm 14 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "ast_pragma"); 
BGl_modulezd2initializa7ationz75zzast_sexpz00(((long)15705), "ast_pragma"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "ast_pragma");} 
}

