/*===========================================================================*/
/*   (Module/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 Module/pragma.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_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;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_pragmaz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_evalz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_removez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzeffect_feffectz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__errorz00(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__r4_equivalence_6_2z00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_makezd2pragmazd2compilerz00zzmodule_pragmaz00();
static obj_t BGl_methodzd2initzd2zzmodule_pragmaz00();
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_removezd2varzd2fromz12z12zzast_removez00(obj_t, BgL_variablez00_bglt);
extern obj_t BGl_sfunz00zzast_varz00;
extern BgL_ccompz00_bglt BGl_makezd2ccompzd2zzmodule_modulez00(obj_t, obj_t, obj_t, obj_t);
extern obj_t BGl_findzd2globalzf2modulez20zzast_envz00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT bool_t BGl_iszd2azf3z21zz__objectz00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_usezd2typez12zc0zztype_envz00(obj_t, obj_t);
extern obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00;
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
extern obj_t BGl_cfunz00zzast_varz00;
static obj_t BGl_pragmazd2producerzd2zzmodule_pragmaz00(obj_t);
static obj_t BGl_zc3anonymousza31602ze3z83zzmodule_pragmaz00(obj_t, obj_t);
extern obj_t BGl_funz00zzast_varz00;
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_findzd2locationzd2zztools_locationz00(obj_t);
static obj_t BGl_zc3anonymousza31597ze3z83zzmodule_pragmaz00(obj_t, obj_t, obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
static bool_t BGl_setzd2pragmazd2propertiesz12z12zzmodule_pragmaz00(obj_t, obj_t, obj_t);
extern BgL_feffectz00_bglt BGl_parsezd2effectzd2zzeffect_feffectz00(obj_t);
static obj_t BGl_setzd2pragmazd2propertyz12z12zzmodule_pragmaz00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzmodule_pragmaz00();
BGL_EXPORTED_DECL obj_t BGl_pragmazd2finaliza7erz75zzmodule_pragmaz00();
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_pragmaz00();
static obj_t BGl__pragmazd2finaliza7erz75zzmodule_pragmaz00(obj_t);
BGL_IMPORT obj_t BGl_warningz00zz__errorz00(obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzmodule_pragmaz00 = BUNSPEC;
static obj_t BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00 = BUNSPEC;
static obj_t BGl_pragmazd2parserzd2zzmodule_pragmaz00(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_pragmaz00();
static obj_t BGl__makezd2pragmazd2compilerz00zzmodule_pragmaz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzmodule_pragmaz00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t __cnst[ 13 ] ;


DEFINE_STATIC_PROCEDURE( BGl_proc2087z00zzmodule_pragmaz00, BgL_bgl_za7c3anonymousza7a31597za7e3za783za7za7module_pragmaza7002132za7, BGl_zc3anonymousza31597ze3z83zzmodule_pragmaz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pragmazd2compilerzd2envzd2zzmodule_pragmaz00, BgL_bgl__makeza7d2pragmaza7d2compilerza700za7za7module_pragmaza7002133z00, BGl__makezd2pragmazd2compilerz00zzmodule_pragmaz00, 0L, 0 );
DEFINE_STRING( BGl_string2099z00zzmodule_pragmaz00, BgL_bgl_string2099za700za7za7module_pragmaza7002134z00, "no-trace", 8 );
DEFINE_STRING( BGl_string2098z00zzmodule_pragmaz00, BgL_bgl_string2098za700za7za7module_pragmaza7002135z00, "allocator", 9 );
DEFINE_STRING( BGl_string2097z00zzmodule_pragmaz00, BgL_bgl_string2097za700za7za7module_pragmaza7002136z00, "no-cfa-top", 10 );
DEFINE_STRING( BGl_string2096z00zzmodule_pragmaz00, BgL_bgl_string2096za700za7za7module_pragmaza7002137z00, "side-effect-free", 16 );
DEFINE_STRING( BGl_string2095z00zzmodule_pragmaz00, BgL_bgl_string2095za700za7za7module_pragmaza7002138z00, "property is not concerning a function", 37 );
DEFINE_STRING( BGl_string2104z00zzmodule_pragmaz00, BgL_bgl_string2104za700za7za7module_pragmaza7002139z00, "effect coerce predicate-of args-safe nesting no-trace allocator no-cfa-top side-effect-free void @ foreign pragma ", 114 );
DEFINE_STRING( BGl_string2094z00zzmodule_pragmaz00, BgL_bgl_string2094za700za7za7module_pragmaza7002140z00, ")", 1 );
DEFINE_STRING( BGl_string2103z00zzmodule_pragmaz00, BgL_bgl_string2103za700za7za7module_pragmaza7002141z00, "effect", 6 );
DEFINE_STRING( BGl_string2093z00zzmodule_pragmaz00, BgL_bgl_string2093za700za7za7module_pragmaza7002142z00, "pragma(", 7 );
DEFINE_STRING( BGl_string2102z00zzmodule_pragmaz00, BgL_bgl_string2102za700za7za7module_pragmaza7002143z00, "Illegal `predicate-of' pragma", 29 );
DEFINE_STRING( BGl_string2092z00zzmodule_pragmaz00, BgL_bgl_string2092za700za7za7module_pragmaza7002144z00, "Illegal `pragma' finalizer form", 31 );
DEFINE_STRING( BGl_string2101z00zzmodule_pragmaz00, BgL_bgl_string2101za700za7za7module_pragmaza7002145z00, "predicate-of", 12 );
DEFINE_STRING( BGl_string2091z00zzmodule_pragmaz00, BgL_bgl_string2091za700za7za7module_pragmaza7002146z00, "pragma-finalizer", 16 );
DEFINE_STRING( BGl_string2100z00zzmodule_pragmaz00, BgL_bgl_string2100za700za7za7module_pragmaza7002147z00, "Illegal `pragma' form", 21 );
DEFINE_STRING( BGl_string2090z00zzmodule_pragmaz00, BgL_bgl_string2090za700za7za7module_pragmaza7002148z00, "Can't find global variable for pragma -- ", 41 );
DEFINE_STRING( BGl_string2089z00zzmodule_pragmaz00, BgL_bgl_string2089za700za7za7module_pragmaza7002149z00, "Illegal `pragma' clause", 23 );
DEFINE_STRING( BGl_string2088z00zzmodule_pragmaz00, BgL_bgl_string2088za700za7za7module_pragmaza7002150z00, "Parse error", 11 );
DEFINE_EXPORT_PROCEDURE( BGl_pragmazd2finaliza7erzd2envza7zzmodule_pragmaz00, BgL_bgl__pragmaza7d2finaliza7a7erza775za7za7module_pragmaza7002151z00, BGl__pragmazd2finaliza7erz75zzmodule_pragmaz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_pragmaz00(long BgL_checksumz00_664, char * BgL_fromz00_665)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmodule_pragmaz00))
{ 
BGl_requirezd2initializa7ationz75zzmodule_pragmaz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmodule_pragmaz00(); 
BGl_cnstzd2initzd2zzmodule_pragmaz00(); 
BGl_importedzd2moduleszd2initz00zzmodule_pragmaz00(); 
BGl_toplevelzd2initzd2zzmodule_pragmaz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_pragma"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "module_pragma"); 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)0), "module_pragma"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "module_pragma"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 15 */
{ /* ./Module/pragma.scm 15 */
obj_t BgL_cportz00_657;
BgL_cportz00_657 = 
open_input_string(BGl_string2104z00zzmodule_pragmaz00); 
{ 
long BgL_iz00_658;
BgL_iz00_658 = ((long)12); 
BgL_loopz00_659:
{ /* ./Module/pragma.scm 15 */
bool_t BgL_test2106z00_660;
BgL_test2106z00_660 = 
(BgL_iz00_658==((long)-1)); 
if(BgL_test2106z00_660)
{ /* ./Module/pragma.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/pragma.scm 15 */
{ /* ./Module/pragma.scm 15 */
obj_t BgL_arg2108z00_661;
{ /* ./Module/pragma.scm 15 */
obj_t BgL_list2111z00_662;
BgL_list2111z00_662 = 
MAKE_PAIR(BgL_cportz00_657, BNIL); 
BgL_arg2108z00_661 = 
BGl_readz00zz__readerz00(BgL_list2111z00_662); } 
{ /* ./Module/pragma.scm 15 */
int BgL_auxz00_682;
BgL_auxz00_682 = 
(int)(BgL_iz00_658); 
CNST_TABLE_SET(BgL_auxz00_682, BgL_arg2108z00_661); } } 
{ /* ./Module/pragma.scm 15 */
int BgL_auxz00_663;
{ /* ./Module/pragma.scm 15 */
long BgL_auxz00_685;
BgL_auxz00_685 = 
(BgL_iz00_658-((long)1)); 
BgL_auxz00_663 = 
(int)(BgL_auxz00_685); } 
{ 
long BgL_iz00_688;
BgL_iz00_688 = 
(long)(BgL_auxz00_663); 
BgL_iz00_658 = BgL_iz00_688; 
goto BgL_loopz00_659;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 15 */
return ( 
BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00 = BNIL, BUNSPEC) ;} 
}



/* make-pragma-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2pragmazd2compilerz00zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 34 */
{ /* ./Module/pragma.scm 35 */
obj_t BgL_arg1590z00_293;obj_t BgL_arg1591z00_294;obj_t BgL_arg1594z00_296;
BgL_arg1590z00_293 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1591z00_294 = 
BGl_pragmazd2producerzd2zzmodule_pragmaz00(BGl_za2moduleza2z00zzmodule_modulez00); 
BgL_arg1594z00_296 = BGl_pragmazd2finaliza7erzd2envza7zzmodule_pragmaz00; 
{ /* ./Module/pragma.scm 35 */
BgL_ccompz00_bglt BgL_auxz00_692;
BgL_auxz00_692 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1590z00_293, BgL_arg1591z00_294, BGl_proc2087z00zzmodule_pragmaz00, BgL_arg1594z00_296); 
return 
(obj_t)(BgL_auxz00_692);} } } 
}



/* _make-pragma-compiler */
obj_t BGl__makezd2pragmazd2compilerz00zzmodule_pragmaz00(obj_t BgL_envz00_648)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 34 */
return 
BGl_makezd2pragmazd2compilerz00zzmodule_pragmaz00();} 
}



/* <anonymous:1597> */
obj_t BGl_zc3anonymousza31597ze3z83zzmodule_pragmaz00(obj_t BgL_envz00_649, obj_t BgL_mz00_650, obj_t BgL_cz00_651)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 37 */
{ 
obj_t BgL_mz00_297;obj_t BgL_cz00_298;
BgL_mz00_297 = BgL_mz00_650; 
BgL_cz00_298 = BgL_cz00_651; 
{ /* ./Module/pragma.scm 38 */
obj_t BgL_fun1600z00_566;
BgL_fun1600z00_566 = 
BGl_pragmazd2producerzd2zzmodule_pragmaz00(BgL_mz00_297); 
return 
PROCEDURE_ENTRY(BgL_fun1600z00_566)(BgL_fun1600z00_566, BgL_cz00_298, BEOA);} } } 
}



/* pragma-producer */
obj_t BGl_pragmazd2producerzd2zzmodule_pragmaz00(obj_t BgL_modulez00_1)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 44 */
{ /* ./Module/pragma.scm 45 */
obj_t BgL_zc3anonymousza31602ze3z83_653;
{ 
int BgL_auxz00_701;int BgL_auxz00_699;
BgL_auxz00_701 = 
(int)(((long)1)); 
BgL_auxz00_699 = 
(int)(((long)1)); 
BgL_zc3anonymousza31602ze3z83_653 = 
make_fx_procedure(BGl_zc3anonymousza31602ze3z83zzmodule_pragmaz00, BgL_auxz00_699, BgL_auxz00_701); } 
{ /* ./Module/pragma.scm 45 */
int BgL_auxz00_704;
BgL_auxz00_704 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31602ze3z83_653, BgL_auxz00_704, BgL_modulez00_1); } 
return BgL_zc3anonymousza31602ze3z83_653;} } 
}



/* <anonymous:1602> */
obj_t BGl_zc3anonymousza31602ze3z83zzmodule_pragmaz00(obj_t BgL_envz00_654, obj_t BgL_clausez00_656)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 45 */
{ /* ./Module/pragma.scm 45 */
obj_t BgL_modulez00_655;
{ /* ./Module/pragma.scm 45 */
int BgL_auxz00_707;
BgL_auxz00_707 = 
(int)(((long)0)); 
BgL_modulez00_655 = 
PROCEDURE_REF(BgL_envz00_654, BgL_auxz00_707); } 
{ 
obj_t BgL_clausez00_302;
BgL_clausez00_302 = BgL_clausez00_656; 
{ 
obj_t BgL_protosz00_304;
{ /* ./Module/pragma.scm 45 */
bool_t BgL_test1603z00_308;
BgL_test1603z00_308 = 
PAIRP(BgL_clausez00_302); 
if(BgL_test1603z00_308)
{ /* ./Module/pragma.scm 45 */
obj_t BgL_arg1606z00_309;
BgL_arg1606z00_309 = 
CDR(BgL_clausez00_302); 
BgL_protosz00_304 = BgL_arg1606z00_309; 
{ 
obj_t BgL_l1583z00_310;
BgL_l1583z00_310 = BgL_protosz00_304; 
BgL_forzd2each1584zd2_311:
{ /* ./Module/pragma.scm 48 */
bool_t BgL_test1612z00_312;
BgL_test1612z00_312 = 
PAIRP(BgL_l1583z00_310); 
if(BgL_test1612z00_312)
{ /* ./Module/pragma.scm 48 */
{ /* ./Module/pragma.scm 48 */
obj_t BgL_protoz00_313;
BgL_protoz00_313 = 
CAR(BgL_l1583z00_310); 
BGl_pragmazd2parserzd2zzmodule_pragmaz00(BgL_protoz00_313, BgL_modulez00_655, BgL_clausez00_302); } 
{ /* ./Module/pragma.scm 48 */
obj_t BgL_arg1617z00_314;
BgL_arg1617z00_314 = 
CDR(BgL_l1583z00_310); 
{ 
obj_t BgL_l1583z00_718;
BgL_l1583z00_718 = BgL_arg1617z00_314; 
BgL_l1583z00_310 = BgL_l1583z00_718; 
goto BgL_forzd2each1584zd2_311;} } }  else 
{ /* ./Module/pragma.scm 48 */((bool_t)1); } } } 
return BNIL;}  else 
{ /* ./Module/pragma.scm 45 */
{ /* ./Module/pragma.scm 52 */
obj_t BgL_list1622z00_315;
BgL_list1622z00_315 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2089z00zzmodule_pragmaz00, BgL_clausez00_302, BgL_list1622z00_315);} } } } } } } 
}



/* pragma-parser */
obj_t BGl_pragmazd2parserzd2zzmodule_pragmaz00(obj_t BgL_protoz00_2, obj_t BgL_modulez00_3, obj_t BgL_clausez00_4)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 60 */
{ 
obj_t BgL_idz00_316;obj_t BgL_propz00_317;
{ /* ./Module/pragma.scm 61 */
bool_t BgL_test1624z00_321;
BgL_test1624z00_321 = 
PAIRP(BgL_protoz00_2); 
if(BgL_test1624z00_321)
{ /* ./Module/pragma.scm 61 */
obj_t BgL_carzd2116zd2_322;
BgL_carzd2116zd2_322 = 
CAR(BgL_protoz00_2); 
{ /* ./Module/pragma.scm 61 */
bool_t BgL_test1625z00_323;
BgL_test1625z00_323 = 
SYMBOLP(BgL_carzd2116zd2_322); 
if(BgL_test1625z00_323)
{ /* ./Module/pragma.scm 61 */
obj_t BgL_arg1627z00_324;
BgL_arg1627z00_324 = 
CDR(BgL_protoz00_2); 
BgL_idz00_316 = BgL_carzd2116zd2_322; 
BgL_propz00_317 = BgL_arg1627z00_324; 
{ /* ./Module/pragma.scm 63 */
obj_t BgL_arg1636z00_325;
{ /* ./Module/pragma.scm 63 */
obj_t BgL_list1639z00_326;
{ /* ./Module/pragma.scm 63 */
obj_t BgL_arg1641z00_327;
{ /* ./Module/pragma.scm 63 */
obj_t BgL_arg1644z00_328;
{ /* ./Module/pragma.scm 63 */
obj_t BgL_arg1648z00_329;
BgL_arg1648z00_329 = 
MAKE_PAIR(BgL_clausez00_4, BNIL); 
BgL_arg1644z00_328 = 
MAKE_PAIR(BgL_propz00_317, BgL_arg1648z00_329); } 
BgL_arg1641z00_327 = 
MAKE_PAIR(BgL_modulez00_3, BgL_arg1644z00_328); } 
BgL_list1639z00_326 = 
MAKE_PAIR(BgL_idz00_316, BgL_arg1641z00_327); } 
BgL_arg1636z00_325 = BgL_list1639z00_326; } 
return ( 
BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00 = 
MAKE_PAIR(BgL_arg1636z00_325, BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00), BUNSPEC) ;} }  else 
{ /* ./Module/pragma.scm 61 */
BgL_tagzd2110zd2_319:
{ /* ./Module/pragma.scm 65 */
obj_t BgL_list1652z00_330;
BgL_list1652z00_330 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2089z00zzmodule_pragmaz00, BgL_clausez00_4, BgL_list1652z00_330);} } } }  else 
{ /* ./Module/pragma.scm 61 */
goto BgL_tagzd2110zd2_319;} } } } 
}



/* pragma-finalizer */
BGL_EXPORTED_DEF obj_t BGl_pragmazd2finaliza7erz75zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 75 */
{ 
obj_t BgL_l1585z00_331;
BgL_l1585z00_331 = BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00; 
BgL_forzd2each1586zd2_332:
{ /* ./Module/pragma.scm 76 */
bool_t BgL_test1655z00_333;
BgL_test1655z00_333 = 
PAIRP(BgL_l1585z00_331); 
if(BgL_test1655z00_333)
{ /* ./Module/pragma.scm 76 */
{ /* ./Module/pragma.scm 77 */
obj_t BgL_pragmaz00_334;
BgL_pragmaz00_334 = 
CAR(BgL_l1585z00_331); 
{ 
obj_t BgL_idz00_335;obj_t BgL_modulez00_336;obj_t BgL_propza2za2_337;obj_t BgL_clausez00_338;
{ /* ./Module/pragma.scm 77 */
bool_t BgL_test1656z00_342;
BgL_test1656z00_342 = 
PAIRP(BgL_pragmaz00_334); 
if(BgL_test1656z00_342)
{ /* ./Module/pragma.scm 77 */
obj_t BgL_cdrzd2133zd2_343;
BgL_cdrzd2133zd2_343 = 
CDR(BgL_pragmaz00_334); 
{ /* ./Module/pragma.scm 77 */
bool_t BgL_test1657z00_344;
BgL_test1657z00_344 = 
PAIRP(BgL_cdrzd2133zd2_343); 
if(BgL_test1657z00_344)
{ /* ./Module/pragma.scm 77 */
obj_t BgL_cdrzd2139zd2_345;
BgL_cdrzd2139zd2_345 = 
CDR(BgL_cdrzd2133zd2_343); 
{ /* ./Module/pragma.scm 77 */
bool_t BgL_test1658z00_346;
BgL_test1658z00_346 = 
PAIRP(BgL_cdrzd2139zd2_345); 
if(BgL_test1658z00_346)
{ /* ./Module/pragma.scm 77 */
obj_t BgL_cdrzd2144zd2_347;
BgL_cdrzd2144zd2_347 = 
CDR(BgL_cdrzd2139zd2_345); 
{ /* ./Module/pragma.scm 77 */
bool_t BgL_test1659z00_348;
BgL_test1659z00_348 = 
PAIRP(BgL_cdrzd2144zd2_347); 
if(BgL_test1659z00_348)
{ /* ./Module/pragma.scm 77 */
bool_t BgL_test1660z00_349;
{ /* ./Module/pragma.scm 77 */
obj_t BgL_auxz00_748;
BgL_auxz00_748 = 
CDR(BgL_cdrzd2144zd2_347); 
BgL_test1660z00_349 = 
NULLP(BgL_auxz00_748); } 
if(BgL_test1660z00_349)
{ /* ./Module/pragma.scm 77 */
obj_t BgL_arg1662z00_350;obj_t BgL_arg1663z00_351;obj_t BgL_arg1666z00_352;obj_t BgL_arg1667z00_353;
BgL_arg1662z00_350 = 
CAR(BgL_pragmaz00_334); 
BgL_arg1663z00_351 = 
CAR(BgL_cdrzd2133zd2_343); 
BgL_arg1666z00_352 = 
CAR(BgL_cdrzd2139zd2_345); 
BgL_arg1667z00_353 = 
CAR(BgL_cdrzd2144zd2_347); 
BgL_idz00_335 = BgL_arg1662z00_350; 
BgL_modulez00_336 = BgL_arg1663z00_351; 
BgL_propza2za2_337 = BgL_arg1666z00_352; 
BgL_clausez00_338 = BgL_arg1667z00_353; 
{ /* ./Module/pragma.scm 79 */
obj_t BgL_globalz00_355;
{ /* ./Module/pragma.scm 79 */
obj_t BgL_globalz00_365;
BgL_globalz00_365 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_idz00_335, BgL_modulez00_336); 
{ /* ./Module/pragma.scm 81 */
bool_t BgL_test1715z00_366;
BgL_test1715z00_366 = 
BGl_iszd2azf3z21zz__objectz00(BgL_globalz00_365, BGl_globalz00zzast_varz00); 
if(BgL_test1715z00_366)
{ /* ./Module/pragma.scm 81 */
BgL_globalz00_355 = BgL_globalz00_365; }  else 
{ /* ./Module/pragma.scm 81 */
BgL_globalz00_355 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_idz00_335, 
CNST_TABLE_REF(((long)1))); } } } 
{ /* ./Module/pragma.scm 84 */
bool_t BgL_test1689z00_356;
BgL_test1689z00_356 = 
BGl_iszd2azf3z21zz__objectz00(BgL_globalz00_355, BGl_globalz00zzast_varz00); 
if(BgL_test1689z00_356)
{ /* ./Module/pragma.scm 88 */
bool_t BgL_auxz00_763;
BgL_auxz00_763 = 
BGl_setzd2pragmazd2propertiesz12z12zzmodule_pragmaz00(BgL_globalz00_355, BgL_propza2za2_337, BgL_clausez00_338); 
BBOOL(BgL_auxz00_763); }  else 
{ /* ./Module/pragma.scm 85 */
obj_t BgL_arg1692z00_357;
{ /* ./Module/pragma.scm 85 */
obj_t BgL_arg1706z00_362;obj_t BgL_arg1707z00_363;
BgL_arg1706z00_362 = 
CNST_TABLE_REF(((long)2)); 
{ /* ./Module/pragma.scm 85 */
obj_t BgL_arg1710z00_364;
BgL_arg1710z00_364 = 
MAKE_PAIR(BgL_modulez00_336, BNIL); 
BgL_arg1707z00_363 = 
MAKE_PAIR(BgL_idz00_335, BgL_arg1710z00_364); } 
BgL_arg1692z00_357 = 
MAKE_PAIR(BgL_arg1706z00_362, BgL_arg1707z00_363); } 
{ /* ./Module/pragma.scm 85 */
obj_t BgL_list1697z00_359;
{ /* ./Module/pragma.scm 85 */
obj_t BgL_arg1699z00_360;
{ /* ./Module/pragma.scm 85 */
obj_t BgL_arg1702z00_361;
BgL_arg1702z00_361 = 
MAKE_PAIR(BgL_pragmaz00_334, BNIL); 
BgL_arg1699z00_360 = 
MAKE_PAIR(BGl_string2090z00zzmodule_pragmaz00, BgL_arg1702z00_361); } 
BgL_list1697z00_359 = 
MAKE_PAIR(BgL_arg1692z00_357, BgL_arg1699z00_360); } 
BGl_warningz00zz__errorz00(BgL_list1697z00_359); } } } } }  else 
{ /* ./Module/pragma.scm 77 */
BgL_tagzd2122zd2_340:
BGl_internalzd2errorzd2zztools_errorz00(BGl_string2091z00zzmodule_pragmaz00, BGl_string2092z00zzmodule_pragmaz00, BgL_pragmaz00_334); } }  else 
{ /* ./Module/pragma.scm 77 */
goto BgL_tagzd2122zd2_340;} } }  else 
{ /* ./Module/pragma.scm 77 */
goto BgL_tagzd2122zd2_340;} } }  else 
{ /* ./Module/pragma.scm 77 */
goto BgL_tagzd2122zd2_340;} } }  else 
{ /* ./Module/pragma.scm 77 */
goto BgL_tagzd2122zd2_340;} } } } 
{ /* ./Module/pragma.scm 76 */
obj_t BgL_arg1722z00_367;
BgL_arg1722z00_367 = 
CDR(BgL_l1585z00_331); 
{ 
obj_t BgL_l1585z00_776;
BgL_l1585z00_776 = BgL_arg1722z00_367; 
BgL_l1585z00_331 = BgL_l1585z00_776; 
goto BgL_forzd2each1586zd2_332;} } }  else 
{ /* ./Module/pragma.scm 76 */((bool_t)1); } } } 
BGl_za2pragmazd2listza2zd2zzmodule_pragmaz00 = BNIL; 
return 
CNST_TABLE_REF(((long)3));} 
}



/* _pragma-finalizer */
obj_t BGl__pragmazd2finaliza7erz75zzmodule_pragmaz00(obj_t BgL_envz00_652)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 75 */
return 
BGl_pragmazd2finaliza7erz75zzmodule_pragmaz00();} 
}



/* set-pragma-properties! */
bool_t BGl_setzd2pragmazd2propertiesz12z12zzmodule_pragmaz00(obj_t BgL_globalz00_5, obj_t BgL_propza2za2_6, obj_t BgL_clausez00_7)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 100 */
{ 
obj_t BgL_l1587z00_368;
BgL_l1587z00_368 = BgL_propza2za2_6; 
BgL_forzd2each1588zd2_369:
{ /* ./Module/pragma.scm 101 */
bool_t BgL_test1727z00_370;
BgL_test1727z00_370 = 
PAIRP(BgL_l1587z00_368); 
if(BgL_test1727z00_370)
{ /* ./Module/pragma.scm 101 */
{ /* ./Module/pragma.scm 101 */
obj_t BgL_propz00_371;
BgL_propz00_371 = 
CAR(BgL_l1587z00_368); 
BGl_setzd2pragmazd2propertyz12z12zzmodule_pragmaz00(BgL_globalz00_5, BgL_propz00_371, BgL_clausez00_7); } 
{ /* ./Module/pragma.scm 101 */
obj_t BgL_arg1731z00_372;
BgL_arg1731z00_372 = 
CDR(BgL_l1587z00_368); 
{ 
obj_t BgL_l1587z00_784;
BgL_l1587z00_784 = BgL_arg1731z00_372; 
BgL_l1587z00_368 = BgL_l1587z00_784; 
goto BgL_forzd2each1588zd2_369;} } }  else 
{ /* ./Module/pragma.scm 101 */
return ((bool_t)1);} } } } 
}



/* set-pragma-property! */
obj_t BGl_setzd2pragmazd2propertyz12z12zzmodule_pragmaz00(obj_t BgL_globalz00_8, obj_t BgL_propz00_9, obj_t BgL_clausez00_10)
{ AN_OBJECT;
{ /* ./Module/pragma.scm 107 */
{ 
obj_t BgL_pz00_437;BgL_globalz00_bglt BgL_gz00_438;
{ 
obj_t BgL_keyz00_375;obj_t BgL_valz00_376;
{ /* ./Module/pragma.scm 114 */
bool_t BgL_test1735z00_380;
BgL_test1735z00_380 = 
SYMBOLP(BgL_propz00_9); 
if(BgL_test1735z00_380)
{ /* ./Module/pragma.scm 114 */
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1750z00_386;
BgL_test1750z00_386 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)4))); 
if(BgL_test1750z00_386)
{ /* ./Module/pragma.scm 119 */
BgL_valuez00_bglt BgL_valuez00_387;
{ /* ./Module/pragma.scm 119 */
BgL_variablez00_bglt BgL_obj1120z00_604;
BgL_obj1120z00_604 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_387 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_604))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 120 */
bool_t BgL_test1751z00_388;
{ /* ./Module/pragma.scm 120 */
obj_t BgL_obj1366z00_605;
BgL_obj1366z00_605 = 
(obj_t)(BgL_valuez00_387); 
BgL_test1751z00_388 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1366z00_605, BGl_funz00zzast_varz00); } 
if(BgL_test1751z00_388)
{ /* ./Module/pragma.scm 122 */
BgL_funz00_bglt BgL_obj1326z00_606;obj_t BgL_val1325z00_607;
BgL_obj1326z00_606 = 
(BgL_funz00_bglt)(BgL_valuez00_387); 
BgL_val1325z00_607 = BFALSE; 
return 
((((BgL_funz00_bglt)CREF(BgL_obj1326z00_606))->BgL_sidezd2effectzf3z21) = ((obj_t)BgL_val1325z00_607), BUNSPEC);}  else 
{ /* ./Module/pragma.scm 120 */
BgL_pz00_437 = BGl_string2096z00zzmodule_pragmaz00; 
BgL_gz00_438 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_zc3anonymousza31874ze3z83_439:
if(
CBOOL(BGl_za2allzd2exportzd2mutablezf3za2zf3zzmodule_evalz00))
{ /* ./Module/pragma.scm 109 */
return BFALSE;}  else 
{ /* ./Module/pragma.scm 110 */
obj_t BgL_arg1876z00_440;obj_t BgL_arg1878z00_442;
BgL_arg1876z00_440 = 
string_append_3(BGl_string2093z00zzmodule_pragmaz00, BgL_pz00_437, BGl_string2094z00zzmodule_pragmaz00); 
BgL_arg1878z00_442 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_gz00_438)); 
{ /* ./Module/pragma.scm 110 */
obj_t BgL_list1881z00_444;
BgL_list1881z00_444 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BgL_arg1876z00_440, BGl_string2095z00zzmodule_pragmaz00, BgL_arg1878z00_442, BgL_list1881z00_444);} } } } }  else 
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1756z00_389;
BgL_test1756z00_389 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)5))); 
if(BgL_test1756z00_389)
{ /* ./Module/pragma.scm 125 */
BgL_valuez00_bglt BgL_valuez00_390;
{ /* ./Module/pragma.scm 125 */
BgL_variablez00_bglt BgL_obj1120z00_608;
BgL_obj1120z00_608 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_390 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_608))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 126 */
bool_t BgL_test1757z00_391;
{ /* ./Module/pragma.scm 126 */
obj_t BgL_obj1366z00_609;
BgL_obj1366z00_609 = 
(obj_t)(BgL_valuez00_390); 
BgL_test1757z00_391 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1366z00_609, BGl_funz00zzast_varz00); } 
if(BgL_test1757z00_391)
{ /* ./Module/pragma.scm 128 */
BgL_funz00_bglt BgL_obj1335z00_610;bool_t BgL_val1334z00_611;
BgL_obj1335z00_610 = 
(BgL_funz00_bglt)(BgL_valuez00_390); 
BgL_val1334z00_611 = ((bool_t)0); 
return 
((((BgL_funz00_bglt)CREF(BgL_obj1335z00_610))->BgL_topzf3zf3) = ((bool_t)BgL_val1334z00_611), BUNSPEC);}  else 
{ 
BgL_globalz00_bglt BgL_gz00_816;obj_t BgL_pz00_815;
BgL_pz00_815 = BGl_string2097z00zzmodule_pragmaz00; 
BgL_gz00_816 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_gz00_438 = BgL_gz00_816; 
BgL_pz00_437 = BgL_pz00_815; 
goto BgL_zc3anonymousza31874ze3z83_439;} } }  else 
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1762z00_392;
BgL_test1762z00_392 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)6))); 
if(BgL_test1762z00_392)
{ /* ./Module/pragma.scm 132 */
BgL_valuez00_bglt BgL_valuez00_393;
{ /* ./Module/pragma.scm 132 */
BgL_variablez00_bglt BgL_obj1120z00_612;
BgL_obj1120z00_612 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_393 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_612))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 133 */
bool_t BgL_test1763z00_394;
{ /* ./Module/pragma.scm 133 */
obj_t BgL_obj1446z00_613;
BgL_obj1446z00_613 = 
(obj_t)(BgL_valuez00_393); 
BgL_test1763z00_394 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1446z00_613, BGl_sfunz00zzast_varz00); } 
if(BgL_test1763z00_394)
{ /* ./Module/pragma.scm 136 */
obj_t BgL_arg1766z00_395;
{ /* ./Module/pragma.scm 136 */
obj_t BgL_arg1771z00_396;
{ /* ./Module/pragma.scm 136 */
BgL_sfunz00_bglt BgL_obj1386z00_614;
BgL_obj1386z00_614 = 
(BgL_sfunz00_bglt)(BgL_valuez00_393); 
BgL_arg1771z00_396 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1386z00_614))->BgL_propertyz00); } 
BgL_arg1766z00_395 = 
MAKE_PAIR(BgL_propz00_9, BgL_arg1771z00_396); } 
{ /* ./Module/pragma.scm 135 */
BgL_sfunz00_bglt BgL_obj1388z00_615;obj_t BgL_val1387z00_616;
BgL_obj1388z00_615 = 
(BgL_sfunz00_bglt)(BgL_valuez00_393); 
BgL_val1387z00_616 = BgL_arg1766z00_395; 
return 
((((BgL_sfunz00_bglt)CREF(BgL_obj1388z00_615))->BgL_propertyz00) = ((obj_t)BgL_val1387z00_616), BUNSPEC);} }  else 
{ 
BgL_globalz00_bglt BgL_gz00_832;obj_t BgL_pz00_831;
BgL_pz00_831 = BGl_string2098z00zzmodule_pragmaz00; 
BgL_gz00_832 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_gz00_438 = BgL_gz00_832; 
BgL_pz00_437 = BgL_pz00_831; 
goto BgL_zc3anonymousza31874ze3z83_439;} } }  else 
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1777z00_397;
BgL_test1777z00_397 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)7))); 
if(BgL_test1777z00_397)
{ /* ./Module/pragma.scm 138 */
BgL_valuez00_bglt BgL_valuez00_398;
{ /* ./Module/pragma.scm 138 */
BgL_variablez00_bglt BgL_obj1120z00_617;
BgL_obj1120z00_617 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_398 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_617))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 139 */
bool_t BgL_test1778z00_399;
{ /* ./Module/pragma.scm 139 */
obj_t BgL_obj1446z00_618;
BgL_obj1446z00_618 = 
(obj_t)(BgL_valuez00_398); 
BgL_test1778z00_399 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1446z00_618, BGl_sfunz00zzast_varz00); } 
if(BgL_test1778z00_399)
{ /* ./Module/pragma.scm 142 */
obj_t BgL_arg1780z00_400;
{ /* ./Module/pragma.scm 142 */
obj_t BgL_arg1783z00_401;
{ /* ./Module/pragma.scm 142 */
BgL_sfunz00_bglt BgL_obj1386z00_619;
BgL_obj1386z00_619 = 
(BgL_sfunz00_bglt)(BgL_valuez00_398); 
BgL_arg1783z00_401 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1386z00_619))->BgL_propertyz00); } 
BgL_arg1780z00_400 = 
MAKE_PAIR(BgL_propz00_9, BgL_arg1783z00_401); } 
{ /* ./Module/pragma.scm 141 */
BgL_sfunz00_bglt BgL_obj1388z00_620;obj_t BgL_val1387z00_621;
BgL_obj1388z00_620 = 
(BgL_sfunz00_bglt)(BgL_valuez00_398); 
BgL_val1387z00_621 = BgL_arg1780z00_400; 
return 
((((BgL_sfunz00_bglt)CREF(BgL_obj1388z00_620))->BgL_propertyz00) = ((obj_t)BgL_val1387z00_621), BUNSPEC);} }  else 
{ 
BgL_globalz00_bglt BgL_gz00_848;obj_t BgL_pz00_847;
BgL_pz00_847 = BGl_string2099z00zzmodule_pragmaz00; 
BgL_gz00_848 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_gz00_438 = BgL_gz00_848; 
BgL_pz00_437 = BgL_pz00_847; 
goto BgL_zc3anonymousza31874ze3z83_439;} } }  else 
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1789z00_402;
BgL_test1789z00_402 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)8))); 
if(BgL_test1789z00_402)
{ /* ./Module/pragma.scm 144 */
BgL_valuez00_bglt BgL_valuez00_403;
{ /* ./Module/pragma.scm 144 */
BgL_variablez00_bglt BgL_obj1120z00_622;
BgL_obj1120z00_622 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_403 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_622))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 145 */
bool_t BgL_test1790z00_404;
{ /* ./Module/pragma.scm 145 */
obj_t BgL_obj1511z00_623;
BgL_obj1511z00_623 = 
(obj_t)(BgL_valuez00_403); 
BgL_test1790z00_404 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1511z00_623, BGl_cfunz00zzast_varz00); } 
if(BgL_test1790z00_404)
{ /* ./Module/pragma.scm 147 */
obj_t BgL_arg1792z00_405;
{ /* ./Module/pragma.scm 147 */
obj_t BgL_arg1795z00_406;obj_t BgL_arg1798z00_407;
BgL_arg1795z00_406 = 
CNST_TABLE_REF(((long)8)); 
{ /* ./Module/pragma.scm 148 */
BgL_globalz00_bglt BgL_obj1201z00_624;
BgL_obj1201z00_624 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_arg1798z00_407 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1201z00_624))->BgL_pragmaz00); } 
BgL_arg1792z00_405 = 
MAKE_PAIR(BgL_arg1795z00_406, BgL_arg1798z00_407); } 
{ /* ./Module/pragma.scm 146 */
BgL_globalz00_bglt BgL_obj1203z00_625;obj_t BgL_val1202z00_626;
BgL_obj1203z00_625 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_val1202z00_626 = BgL_arg1792z00_405; 
return 
((((BgL_globalz00_bglt)CREF(BgL_obj1203z00_625))->BgL_pragmaz00) = ((obj_t)BgL_val1202z00_626), BUNSPEC);} }  else 
{ /* ./Module/pragma.scm 145 */
return BFALSE;} } }  else 
{ /* ./Module/pragma.scm 116 */
bool_t BgL_test1803z00_408;
BgL_test1803z00_408 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_propz00_9, 
CNST_TABLE_REF(((long)9))); 
if(BgL_test1803z00_408)
{ /* ./Module/pragma.scm 150 */
BgL_valuez00_bglt BgL_valuez00_409;
{ /* ./Module/pragma.scm 150 */
BgL_variablez00_bglt BgL_obj1120z00_627;
BgL_obj1120z00_627 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_409 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_627))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 151 */
bool_t BgL_test1804z00_410;
{ /* ./Module/pragma.scm 151 */
obj_t BgL_obj1511z00_628;
BgL_obj1511z00_628 = 
(obj_t)(BgL_valuez00_409); 
BgL_test1804z00_410 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1511z00_628, BGl_cfunz00zzast_varz00); } 
if(BgL_test1804z00_410)
{ /* ./Module/pragma.scm 153 */
obj_t BgL_arg1806z00_411;
{ /* ./Module/pragma.scm 153 */
obj_t BgL_arg1809z00_412;obj_t BgL_arg1810z00_413;
BgL_arg1809z00_412 = 
CNST_TABLE_REF(((long)9)); 
{ /* ./Module/pragma.scm 154 */
BgL_globalz00_bglt BgL_obj1201z00_629;
BgL_obj1201z00_629 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_arg1810z00_413 = 
(((BgL_globalz00_bglt)CREF(BgL_obj1201z00_629))->BgL_pragmaz00); } 
BgL_arg1806z00_411 = 
MAKE_PAIR(BgL_arg1809z00_412, BgL_arg1810z00_413); } 
{ /* ./Module/pragma.scm 152 */
BgL_globalz00_bglt BgL_obj1203z00_630;obj_t BgL_val1202z00_631;
BgL_obj1203z00_630 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_val1202z00_631 = BgL_arg1806z00_411; 
return 
((((BgL_globalz00_bglt)CREF(BgL_obj1203z00_630))->BgL_pragmaz00) = ((obj_t)BgL_val1202z00_631), BUNSPEC);} }  else 
{ /* ./Module/pragma.scm 151 */
return BFALSE;} } }  else 
{ /* ./Module/pragma.scm 156 */
obj_t BgL_list1816z00_414;
BgL_list1816z00_414 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2100z00zzmodule_pragmaz00, BgL_clausez00_10, BgL_list1816z00_414);} } } } } } } }  else 
{ /* ./Module/pragma.scm 114 */
bool_t BgL_test1737z00_381;
BgL_test1737z00_381 = 
PAIRP(BgL_propz00_9); 
if(BgL_test1737z00_381)
{ /* ./Module/pragma.scm 114 */
obj_t BgL_carzd2160zd2_382;
BgL_carzd2160zd2_382 = 
CAR(BgL_propz00_9); 
{ /* ./Module/pragma.scm 114 */
bool_t BgL_test1738z00_383;
BgL_test1738z00_383 = 
SYMBOLP(BgL_carzd2160zd2_382); 
if(BgL_test1738z00_383)
{ /* ./Module/pragma.scm 114 */
obj_t BgL_arg1741z00_384;
BgL_arg1741z00_384 = 
CDR(BgL_propz00_9); 
BgL_keyz00_375 = BgL_carzd2160zd2_382; 
BgL_valz00_376 = BgL_arg1741z00_384; 
{ /* ./Module/pragma.scm 158 */
bool_t BgL_test1824z00_416;
BgL_test1824z00_416 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_keyz00_375, 
CNST_TABLE_REF(((long)10))); 
if(BgL_test1824z00_416)
{ /* ./Module/pragma.scm 161 */
bool_t BgL_test1825z00_417;
if(
PAIRP(BgL_valz00_376))
{ /* ./Module/pragma.scm 161 */
obj_t BgL_auxz00_891;
BgL_auxz00_891 = 
CAR(BgL_valz00_376); 
BgL_test1825z00_417 = 
SYMBOLP(BgL_auxz00_891); }  else 
{ /* ./Module/pragma.scm 161 */
BgL_test1825z00_417 = ((bool_t)0); } 
if(BgL_test1825z00_417)
{ /* ./Module/pragma.scm 163 */
BgL_typez00_bglt BgL_typez00_418;BgL_valuez00_bglt BgL_valuez00_419;
{ /* ./Module/pragma.scm 163 */
obj_t BgL_arg1836z00_421;obj_t BgL_arg1837z00_422;
BgL_arg1836z00_421 = 
CAR(BgL_valz00_376); 
BgL_arg1837z00_422 = 
BGl_findzd2locationzd2zztools_locationz00(BgL_propz00_9); 
BgL_typez00_418 = 
BGl_usezd2typez12zc0zztype_envz00(BgL_arg1836z00_421, BgL_arg1837z00_422); } 
{ /* ./Module/pragma.scm 164 */
BgL_variablez00_bglt BgL_obj1120z00_636;
BgL_obj1120z00_636 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_419 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_636))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 165 */
bool_t BgL_test1827z00_420;
{ /* ./Module/pragma.scm 165 */
obj_t BgL_obj1366z00_637;
BgL_obj1366z00_637 = 
(obj_t)(BgL_valuez00_419); 
BgL_test1827z00_420 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1366z00_637, BGl_funz00zzast_varz00); } 
if(BgL_test1827z00_420)
{ /* ./Module/pragma.scm 165 */
{ /* ./Module/pragma.scm 168 */
BgL_funz00_bglt BgL_obj1329z00_638;obj_t BgL_val1328z00_639;
BgL_obj1329z00_638 = 
(BgL_funz00_bglt)(BgL_valuez00_419); 
BgL_val1328z00_639 = 
(obj_t)(BgL_typez00_418); 
((((BgL_funz00_bglt)CREF(BgL_obj1329z00_638))->BgL_predicatezd2ofzd2) = ((obj_t)BgL_val1328z00_639), BUNSPEC); } 
BGl_removezd2varzd2fromz12z12zzast_removez00(
CNST_TABLE_REF(((long)11)), 
(BgL_variablez00_bglt)(BgL_globalz00_8)); 
{ /* ./Module/pragma.scm 174 */
BgL_funz00_bglt BgL_obj1326z00_640;obj_t BgL_val1325z00_641;
BgL_obj1326z00_640 = 
(BgL_funz00_bglt)(BgL_valuez00_419); 
BgL_val1325z00_641 = BFALSE; 
return 
((((BgL_funz00_bglt)CREF(BgL_obj1326z00_640))->BgL_sidezd2effectzf3z21) = ((obj_t)BgL_val1325z00_641), BUNSPEC);} }  else 
{ 
BgL_globalz00_bglt BgL_gz00_912;obj_t BgL_pz00_911;
BgL_pz00_911 = BGl_string2101z00zzmodule_pragmaz00; 
BgL_gz00_912 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_gz00_438 = BgL_gz00_912; 
BgL_pz00_437 = BgL_pz00_911; 
goto BgL_zc3anonymousza31874ze3z83_439;} } }  else 
{ /* ./Module/pragma.scm 161 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2102z00zzmodule_pragmaz00, BgL_propz00_9, BNIL);} }  else 
{ /* ./Module/pragma.scm 158 */
bool_t BgL_test1850z00_426;
BgL_test1850z00_426 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_keyz00_375, 
CNST_TABLE_REF(((long)12))); 
if(BgL_test1850z00_426)
{ /* ./Module/pragma.scm 176 */
BgL_valuez00_bglt BgL_valuez00_427;
{ /* ./Module/pragma.scm 176 */
BgL_variablez00_bglt BgL_obj1120z00_642;
BgL_obj1120z00_642 = 
(BgL_variablez00_bglt)(BgL_globalz00_8); 
BgL_valuez00_427 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_642))->BgL_valuez00); } 
{ /* ./Module/pragma.scm 177 */
bool_t BgL_test1851z00_428;
{ /* ./Module/pragma.scm 177 */
obj_t BgL_obj1366z00_643;
BgL_obj1366z00_643 = 
(obj_t)(BgL_valuez00_427); 
BgL_test1851z00_428 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1366z00_643, BGl_funz00zzast_varz00); } 
if(BgL_test1851z00_428)
{ /* ./Module/pragma.scm 179 */
BgL_feffectz00_bglt BgL_arg1853z00_429;
BgL_arg1853z00_429 = 
BGl_parsezd2effectzd2zzeffect_feffectz00(BgL_propz00_9); 
{ /* ./Module/pragma.scm 179 */
BgL_funz00_bglt BgL_obj1341z00_644;obj_t BgL_val1340z00_645;
BgL_obj1341z00_644 = 
(BgL_funz00_bglt)(BgL_valuez00_427); 
BgL_val1340z00_645 = 
(obj_t)(BgL_arg1853z00_429); 
return 
((((BgL_funz00_bglt)CREF(BgL_obj1341z00_644))->BgL_effectz00) = ((obj_t)BgL_val1340z00_645), BUNSPEC);} }  else 
{ 
BgL_globalz00_bglt BgL_gz00_928;obj_t BgL_pz00_927;
BgL_pz00_927 = BGl_string2103z00zzmodule_pragmaz00; 
BgL_gz00_928 = 
(BgL_globalz00_bglt)(BgL_globalz00_8); 
BgL_gz00_438 = BgL_gz00_928; 
BgL_pz00_437 = BgL_pz00_927; 
goto BgL_zc3anonymousza31874ze3z83_439;} } }  else 
{ /* ./Module/pragma.scm 181 */
obj_t BgL_list1860z00_430;
BgL_list1860z00_430 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2100z00zzmodule_pragmaz00, BgL_propz00_9, BgL_list1860z00_430);} } } }  else 
{ /* ./Module/pragma.scm 114 */
BgL_tagzd2152zd2_378:
{ /* ./Module/pragma.scm 183 */
obj_t BgL_arg1867z00_433;
if(
PAIRP(BgL_propz00_9))
{ /* ./Module/pragma.scm 185 */
BgL_arg1867z00_433 = BgL_propz00_9; }  else 
{ /* ./Module/pragma.scm 185 */
BgL_arg1867z00_433 = BgL_clausez00_10; } 
{ /* ./Module/pragma.scm 183 */
obj_t BgL_list1870z00_435;
BgL_list1870z00_435 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string2088z00zzmodule_pragmaz00, BGl_string2100z00zzmodule_pragmaz00, BgL_arg1867z00_433, BgL_list1870z00_435);} } } } }  else 
{ /* ./Module/pragma.scm 114 */
goto BgL_tagzd2152zd2_378;} } } } } } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_pragmaz00()
{ AN_OBJECT;
{ /* ./Module/pragma.scm 15 */
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzmodule_evalz00(((long)12722), "module_pragma"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_pragma"); 
BGl_modulezd2initializa7ationz75zztools_shapez00(((long)30833), "module_pragma"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzast_removez00(((long)12493), "module_pragma"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "module_pragma"); 
BGl_modulezd2initializa7ationz75zzeffect_feffectz00(((long)51512), "module_pragma"); 
return 
BGl_modulezd2initializa7ationz75zztools_locationz00(((long)32118), "module_pragma");} 
}

