/*===========================================================================*/
/*   (Module/main.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/main.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_mainz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
static obj_t BGl_methodzd2initzd2zzmodule_mainz00();
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_producezd2modulezd2clausez12z12zzmodule_modulez00(obj_t);
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);
static obj_t BGl_mainzd2consumerzd2zzmodule_mainz00(obj_t, obj_t);
static obj_t BGl_mainzd2producerzd2zzmodule_mainz00(obj_t);
extern obj_t BGl_za2moduleza2z00zzmodule_modulez00;
extern obj_t BGl_za2mainza2z00zzmodule_modulez00;
static obj_t BGl__makezd2mainzd2compilerz00zzmodule_mainz00(obj_t);
static obj_t BGl_zc3anonymousza31593ze3z83zzmodule_mainz00(obj_t);
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_za2bdbzd2debugza2zd2zzengine_paramz00;
BGL_EXPORTED_DECL obj_t BGl_makezd2mainzd2compilerz00zzmodule_mainz00();
static obj_t BGl_cnstzd2initzd2zzmodule_mainz00();
static obj_t BGl_duplicatezd2mainzd2errorz00zzmodule_mainz00(obj_t);
static bool_t BGl_correctzd2mainzf3z21zzmodule_mainz00(BgL_globalz00_bglt);
extern obj_t BGl_za2objza2z00zztype_cachez00;
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_mainz00();
static obj_t BGl_requirezd2initializa7ationz75zzmodule_mainz00 = BUNSPEC;
extern obj_t BGl_za2pairza2z00zztype_cachez00;
static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_mainz00();
static obj_t BGl__mainzd2consumerzd2zzmodule_mainz00(obj_t, obj_t, obj_t);
static obj_t BGl__mainzd2producerzd2zzmodule_mainz00(obj_t, obj_t);
static obj_t __cnst[ 6 ] ;


DEFINE_STATIC_PROCEDURE( BGl_mainzd2consumerzd2envz00zzmodule_mainz00, BgL_bgl__mainza7d2consumerza7d2za7za7module_mainza7001850za7, BGl__mainzd2consumerzd2zzmodule_mainz00, 0L, 2 );
DEFINE_STATIC_PROCEDURE( BGl_mainzd2producerzd2envz00zzmodule_mainz00, BgL_bgl__mainza7d2producerza7d2za7za7module_mainza7001851za7, BGl__mainzd2producerzd2zzmodule_mainz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2mainzd2compilerzd2envzd2zzmodule_mainz00, BgL_bgl__makeza7d2mainza7d2compilerza700za7za7module_mainza7001852z00, BGl__makezd2mainzd2compilerz00zzmodule_mainz00, 0L, 0 );
DEFINE_STRING( BGl_string1823z00zzmodule_mainz00, BgL_bgl_string1823za700za7za7module_mainza7001853z00, "argv::pair argv::obj export imported void main ", 47 );
DEFINE_STRING( BGl_string1822z00zzmodule_mainz00, BgL_bgl_string1822za700za7za7module_mainza7001854z00, "Duplicated main clause", 22 );
DEFINE_STRING( BGl_string1821z00zzmodule_mainz00, BgL_bgl_string1821za700za7za7module_mainza7001855z00, "Illegal main clause", 19 );
DEFINE_STRING( BGl_string1820z00zzmodule_mainz00, BgL_bgl_string1820za700za7za7module_mainza7001856z00, "Parse error", 11 );
DEFINE_STRING( BGl_string1819z00zzmodule_mainz00, BgL_bgl_string1819za700za7za7module_mainza7001857z00, "Illegal declaration of main function", 36 );
DEFINE_STATIC_PROCEDURE( BGl_proc1818z00zzmodule_mainz00, BgL_bgl_za7c3anonymousza7a31593za7e3za783za7za7module_mainza7001858za7, BGl_zc3anonymousza31593ze3z83zzmodule_mainz00, 0L, 0 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_mainz00(long BgL_checksumz00_492, char * BgL_fromz00_493)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmodule_mainz00))
{ 
BGl_requirezd2initializa7ationz75zzmodule_mainz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmodule_mainz00(); 
BGl_cnstzd2initzd2zzmodule_mainz00(); 
BGl_importedzd2moduleszd2initz00zzmodule_mainz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_mainz00()
{ AN_OBJECT;
{ /* ./Module/main.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_main"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "module_main"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_mainz00()
{ AN_OBJECT;
{ /* ./Module/main.scm 15 */
{ /* ./Module/main.scm 15 */
obj_t BgL_cportz00_485;
BgL_cportz00_485 = 
open_input_string(BGl_string1823z00zzmodule_mainz00); 
{ 
long BgL_iz00_486;
BgL_iz00_486 = ((long)5); 
BgL_loopz00_487:
{ /* ./Module/main.scm 15 */
bool_t BgL_test1825z00_488;
BgL_test1825z00_488 = 
(BgL_iz00_486==((long)-1)); 
if(BgL_test1825z00_488)
{ /* ./Module/main.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/main.scm 15 */
{ /* ./Module/main.scm 15 */
obj_t BgL_arg1829z00_489;
{ /* ./Module/main.scm 15 */
obj_t BgL_list1832z00_490;
BgL_list1832z00_490 = 
MAKE_PAIR(BgL_cportz00_485, BNIL); 
BgL_arg1829z00_489 = 
BGl_readz00zz__readerz00(BgL_list1832z00_490); } 
{ /* ./Module/main.scm 15 */
int BgL_auxz00_507;
BgL_auxz00_507 = 
(int)(BgL_iz00_486); 
CNST_TABLE_SET(BgL_auxz00_507, BgL_arg1829z00_489); } } 
{ /* ./Module/main.scm 15 */
int BgL_auxz00_491;
{ /* ./Module/main.scm 15 */
long BgL_auxz00_510;
BgL_auxz00_510 = 
(BgL_iz00_486-((long)1)); 
BgL_auxz00_491 = 
(int)(BgL_auxz00_510); } 
{ 
long BgL_iz00_513;
BgL_iz00_513 = 
(long)(BgL_auxz00_491); 
BgL_iz00_486 = BgL_iz00_513; 
goto BgL_loopz00_487;} } } } } } } 
}



/* make-main-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2mainzd2compilerz00zzmodule_mainz00()
{ AN_OBJECT;
{ /* ./Module/main.scm 32 */
{ /* ./Module/main.scm 33 */
obj_t BgL_arg1587z00_288;obj_t BgL_arg1589z00_289;obj_t BgL_arg1590z00_290;
BgL_arg1587z00_288 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1589z00_289 = BGl_mainzd2producerzd2envz00zzmodule_mainz00; 
BgL_arg1590z00_290 = BGl_mainzd2consumerzd2envz00zzmodule_mainz00; 
{ /* ./Module/main.scm 33 */
BgL_ccompz00_bglt BgL_auxz00_516;
BgL_auxz00_516 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1587z00_288, BgL_arg1589z00_289, BgL_arg1590z00_290, BGl_proc1818z00zzmodule_mainz00); 
return 
(obj_t)(BgL_auxz00_516);} } } 
}



/* _make-main-compiler */
obj_t BGl__makezd2mainzd2compilerz00zzmodule_mainz00(obj_t BgL_envz00_478)
{ AN_OBJECT;
{ /* ./Module/main.scm 32 */
return 
BGl_makezd2mainzd2compilerz00zzmodule_mainz00();} 
}



/* <anonymous:1593> */
obj_t BGl_zc3anonymousza31593ze3z83zzmodule_mainz00(obj_t BgL_envz00_479)
{ AN_OBJECT;
{ /* ./Module/module.scm 50 */
{ 

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



/* correct-main? */
bool_t BGl_correctzd2mainzf3z21zzmodule_mainz00(BgL_globalz00_bglt BgL_globalz00_1)
{ AN_OBJECT;
{ /* ./Module/main.scm 43 */
{ /* ./Module/main.scm 44 */
BgL_valuez00_bglt BgL_sfunz00_294;
{ /* ./Module/main.scm 44 */
BgL_variablez00_bglt BgL_obj1120z00_456;
BgL_obj1120z00_456 = 
(BgL_variablez00_bglt)(BgL_globalz00_1); 
BgL_sfunz00_294 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1120z00_456))->BgL_valuez00); } 
{ /* ./Module/main.scm 45 */
bool_t BgL__andtest_1583z00_295;
{ /* ./Module/main.scm 45 */
obj_t BgL_obj1446z00_457;
BgL_obj1446z00_457 = 
(obj_t)(BgL_sfunz00_294); 
BgL__andtest_1583z00_295 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1446z00_457, BGl_sfunz00zzast_varz00); } 
if(BgL__andtest_1583z00_295)
{ /* ./Module/main.scm 46 */
bool_t BgL__andtest_1584z00_296;
{ /* ./Module/main.scm 46 */
long BgL_auxz00_526;
{ /* ./Module/main.scm 46 */
BgL_funz00_bglt BgL_obj1323z00_458;
BgL_obj1323z00_458 = 
(BgL_funz00_bglt)(BgL_sfunz00_294); 
BgL_auxz00_526 = 
(((BgL_funz00_bglt)CREF(BgL_obj1323z00_458))->BgL_arityz00); } 
BgL__andtest_1584z00_296 = 
(BgL_auxz00_526==((long)1)); } 
if(BgL__andtest_1584z00_296)
{ /* ./Module/main.scm 47 */
obj_t BgL_argsz00_297;
{ /* ./Module/main.scm 47 */
obj_t BgL_auxz00_531;
{ /* ./Module/main.scm 47 */
BgL_sfunz00_bglt BgL_obj1389z00_461;
BgL_obj1389z00_461 = 
(BgL_sfunz00_bglt)(BgL_sfunz00_294); 
BgL_auxz00_531 = 
(((BgL_sfunz00_bglt)CREF(BgL_obj1389z00_461))->BgL_argsz00); } 
BgL_argsz00_297 = 
CAR(BgL_auxz00_531); } 
{ /* ./Module/main.scm 47 */
BgL_typez00_bglt BgL_typez00_298;
{ /* ./Module/main.scm 48 */
BgL_variablez00_bglt BgL_obj1117z00_463;
BgL_obj1117z00_463 = 
(BgL_variablez00_bglt)(BgL_argsz00_297); 
BgL_typez00_298 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1117z00_463))->BgL_typez00); } 
{ /* ./Module/main.scm 48 */

{ /* ./Module/main.scm 49 */
bool_t BgL__ortest_1585z00_299;
{ /* ./Module/main.scm 49 */
obj_t BgL_auxz00_537;
BgL_auxz00_537 = 
(obj_t)(BgL_typez00_298); 
BgL__ortest_1585z00_299 = 
(BgL_auxz00_537==BGl_za2objza2z00zztype_cachez00); } 
if(BgL__ortest_1585z00_299)
{ /* ./Module/main.scm 49 */
return BgL__ortest_1585z00_299;}  else 
{ /* ./Module/main.scm 49 */
obj_t BgL_auxz00_541;
BgL_auxz00_541 = 
(obj_t)(BgL_typez00_298); 
return 
(BgL_auxz00_541==BGl_za2pairza2z00zztype_cachez00);} } } } }  else 
{ /* ./Module/main.scm 46 */
return ((bool_t)0);} }  else 
{ /* ./Module/main.scm 45 */
return ((bool_t)0);} } } } 
}



/* main-producer */
obj_t BGl_mainzd2producerzd2zzmodule_mainz00(obj_t BgL_clausez00_2)
{ AN_OBJECT;
{ /* ./Module/main.scm 54 */
{ /* ./Module/main.scm 55 */
bool_t BgL_test1609z00_303;
{ /* ./Module/main.scm 55 */
bool_t BgL_test1681z00_333;
{ /* ./Module/main.scm 55 */
obj_t BgL_auxz00_544;
BgL_auxz00_544 = 
CNST_TABLE_REF(((long)2)); 
BgL_test1681z00_333 = 
(BGl_za2mainza2z00zzmodule_modulez00==BgL_auxz00_544); } 
if(BgL_test1681z00_333)
{ /* ./Module/main.scm 55 */
BgL_test1609z00_303 = ((bool_t)1); }  else 
{ /* ./Module/main.scm 55 */
obj_t BgL_obj1261z00_464;
BgL_obj1261z00_464 = BGl_za2mainza2z00zzmodule_modulez00; 
BgL_test1609z00_303 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1261z00_464, BGl_globalz00zzast_varz00); } } 
if(BgL_test1609z00_303)
{ /* ./Module/main.scm 55 */
return 
BGl_duplicatezd2mainzd2errorz00zzmodule_mainz00(BgL_clausez00_2);}  else 
{ 
obj_t BgL_mainz00_304;
{ /* ./Module/main.scm 57 */
bool_t BgL_test1611z00_308;
BgL_test1611z00_308 = 
PAIRP(BgL_clausez00_2); 
if(BgL_test1611z00_308)
{ /* ./Module/main.scm 57 */
obj_t BgL_cdrzd2107zd2_309;
BgL_cdrzd2107zd2_309 = 
CDR(BgL_clausez00_2); 
{ /* ./Module/main.scm 57 */
bool_t BgL_test1612z00_310;
BgL_test1612z00_310 = 
PAIRP(BgL_cdrzd2107zd2_309); 
if(BgL_test1612z00_310)
{ /* ./Module/main.scm 57 */
obj_t BgL_carzd2109zd2_311;
BgL_carzd2109zd2_311 = 
CAR(BgL_cdrzd2107zd2_309); 
{ /* ./Module/main.scm 57 */
bool_t BgL_test1613z00_312;
BgL_test1613z00_312 = 
SYMBOLP(BgL_carzd2109zd2_311); 
if(BgL_test1613z00_312)
{ /* ./Module/main.scm 57 */
bool_t BgL_test1614z00_313;
{ /* ./Module/main.scm 57 */
obj_t BgL_auxz00_559;
BgL_auxz00_559 = 
CDR(BgL_cdrzd2107zd2_309); 
BgL_test1614z00_313 = 
NULLP(BgL_auxz00_559); } 
if(BgL_test1614z00_313)
{ /* ./Module/main.scm 57 */
BgL_mainz00_304 = BgL_carzd2109zd2_311; 
{ /* ./Module/main.scm 59 */
obj_t BgL_globalz00_315;
BgL_globalz00_315 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_mainz00_304, BGl_za2moduleza2z00zzmodule_modulez00); 
{ /* ./Module/main.scm 60 */
bool_t BgL_test1629z00_316;
BgL_test1629z00_316 = 
BGl_iszd2azf3z21zz__objectz00(BgL_globalz00_315, BGl_globalz00zzast_varz00); 
if(BgL_test1629z00_316)
{ /* ./Module/main.scm 61 */
bool_t BgL_test1630z00_317;
BgL_test1630z00_317 = 
BGl_correctzd2mainzf3z21zzmodule_mainz00(
(BgL_globalz00_bglt)(BgL_globalz00_315)); 
if(BgL_test1630z00_317)
{ /* ./Module/main.scm 61 */
return BFALSE;}  else 
{ /* ./Module/main.scm 62 */
obj_t BgL_list1632z00_318;
BgL_list1632z00_318 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_za2moduleza2z00zzmodule_modulez00, BGl_string1819z00zzmodule_mainz00, BgL_mainz00_304, BgL_list1632z00_318);} }  else 
{ /* ./Module/main.scm 60 */
{ /* ./Module/main.scm 67 */
bool_t BgL_test1635z00_319;
{ /* ./Module/main.scm 67 */
long BgL_n1z00_473;
BgL_n1z00_473 = 
(long)CINT(BGl_za2bdbzd2debugza2zd2zzengine_paramz00); 
BgL_test1635z00_319 = 
(BgL_n1z00_473>((long)0)); } 
if(BgL_test1635z00_319)
{ /* ./Module/main.scm 68 */
obj_t BgL_arg1638z00_320;
{ /* ./Module/main.scm 68 */
obj_t BgL_arg1641z00_321;obj_t BgL_arg1642z00_322;
BgL_arg1641z00_321 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Module/main.scm 68 */
obj_t BgL_arg1648z00_323;
{ /* ./Module/main.scm 68 */
obj_t BgL_arg1654z00_325;
{ /* ./Module/main.scm 68 */
obj_t BgL_auxz00_575;
BgL_auxz00_575 = 
CNST_TABLE_REF(((long)4)); 
BgL_arg1654z00_325 = 
MAKE_PAIR(BgL_auxz00_575, BNIL); } 
BgL_arg1648z00_323 = 
MAKE_PAIR(BgL_mainz00_304, BgL_arg1654z00_325); } 
BgL_arg1642z00_322 = 
MAKE_PAIR(BgL_arg1648z00_323, BNIL); } 
BgL_arg1638z00_320 = 
MAKE_PAIR(BgL_arg1641z00_321, BgL_arg1642z00_322); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1638z00_320); }  else 
{ /* ./Module/main.scm 69 */
obj_t BgL_arg1658z00_326;
{ /* ./Module/main.scm 69 */
obj_t BgL_arg1661z00_327;obj_t BgL_arg1662z00_328;
BgL_arg1661z00_327 = 
CNST_TABLE_REF(((long)3)); 
{ /* ./Module/main.scm 69 */
obj_t BgL_arg1666z00_329;
{ /* ./Module/main.scm 69 */
obj_t BgL_arg1670z00_331;
{ /* ./Module/main.scm 69 */
obj_t BgL_auxz00_583;
BgL_auxz00_583 = 
CNST_TABLE_REF(((long)5)); 
BgL_arg1670z00_331 = 
MAKE_PAIR(BgL_auxz00_583, BNIL); } 
BgL_arg1666z00_329 = 
MAKE_PAIR(BgL_mainz00_304, BgL_arg1670z00_331); } 
BgL_arg1662z00_328 = 
MAKE_PAIR(BgL_arg1666z00_329, BNIL); } 
BgL_arg1658z00_326 = 
MAKE_PAIR(BgL_arg1661z00_327, BgL_arg1662z00_328); } 
BGl_producezd2modulezd2clausez12z12zzmodule_modulez00(BgL_arg1658z00_326); } } 
return ( 
BGl_za2mainza2z00zzmodule_modulez00 = 
BGl_findzd2globalzf2modulez20zzast_envz00(BgL_mainz00_304, BGl_za2moduleza2z00zzmodule_modulez00), BUNSPEC) ;} } } }  else 
{ /* ./Module/main.scm 57 */
BgL_tagzd2102zd2_306:
{ /* ./Module/main.scm 72 */
obj_t BgL_list1678z00_332;
BgL_list1678z00_332 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1820z00zzmodule_mainz00, BGl_string1821z00zzmodule_mainz00, BgL_clausez00_2, BgL_list1678z00_332);} } }  else 
{ /* ./Module/main.scm 57 */
goto BgL_tagzd2102zd2_306;} } }  else 
{ /* ./Module/main.scm 57 */
goto BgL_tagzd2102zd2_306;} } }  else 
{ /* ./Module/main.scm 57 */
goto BgL_tagzd2102zd2_306;} } } } } 
}



/* _main-producer */
obj_t BGl__mainzd2producerzd2zzmodule_mainz00(obj_t BgL_envz00_480, obj_t BgL_clausez00_481)
{ AN_OBJECT;
{ /* ./Module/main.scm 54 */
return 
BGl_mainzd2producerzd2zzmodule_mainz00(BgL_clausez00_481);} 
}



/* main-consumer */
obj_t BGl_mainzd2consumerzd2zzmodule_mainz00(obj_t BgL_modulez00_3, obj_t BgL_clausez00_4)
{ AN_OBJECT;
{ /* ./Module/main.scm 77 */
{ /* ./Module/main.scm 78 */
bool_t BgL_test1684z00_475;
{ /* ./Module/main.scm 78 */
obj_t BgL_obj1261z00_476;
BgL_obj1261z00_476 = BGl_za2mainza2z00zzmodule_modulez00; 
BgL_test1684z00_475 = 
BGl_iszd2azf3z21zz__objectz00(BgL_obj1261z00_476, BGl_globalz00zzast_varz00); } 
if(BgL_test1684z00_475)
{ /* ./Module/main.scm 78 */
BGl_duplicatezd2mainzd2errorz00zzmodule_mainz00(BgL_clausez00_4); }  else 
{ /* ./Module/main.scm 78 */
BGl_za2mainza2z00zzmodule_modulez00 = 
CNST_TABLE_REF(((long)2)); } } 
return BNIL;} 
}



/* _main-consumer */
obj_t BGl__mainzd2consumerzd2zzmodule_mainz00(obj_t BgL_envz00_482, obj_t BgL_modulez00_483, obj_t BgL_clausez00_484)
{ AN_OBJECT;
{ /* ./Module/main.scm 77 */
return 
BGl_mainzd2consumerzd2zzmodule_mainz00(BgL_modulez00_483, BgL_clausez00_484);} 
}



/* duplicate-main-error */
obj_t BGl_duplicatezd2mainzd2errorz00zzmodule_mainz00(obj_t BgL_clausez00_5)
{ AN_OBJECT;
{ /* ./Module/main.scm 86 */
{ /* ./Module/main.scm 87 */
obj_t BgL_list1688z00_335;
BgL_list1688z00_335 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1820z00zzmodule_mainz00, BGl_string1822z00zzmodule_mainz00, BgL_clausez00_5, BgL_list1688z00_335);} } 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_mainz00()
{ AN_OBJECT;
{ /* ./Module/main.scm 15 */
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_main"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_main"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "module_main"); 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "module_main"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "module_main"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "module_main"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_main");} 
}

