/*===========================================================================*/
/*   (Jas/produce.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 Jas/produce.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_codez00;
   obj_t BgL_vectz00;
} *BgL_typez00_bglt;

typedef struct BgL_basicz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_codez00;
   obj_t BgL_vectz00;
} *BgL_basicz00_bglt;

typedef struct BgL_vectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_codez00;
   obj_t BgL_vectz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_vectz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_codez00;
   obj_t BgL_vectz00;
   struct BgL_typez00_bgl * BgL_tretz00;
   obj_t BgL_targsz00;
} *BgL_funz00_bglt;

typedef struct BgL_classez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_codez00;
   obj_t BgL_vectz00;
   obj_t BgL_flagsz00;
   obj_t BgL_namez00;
   obj_t BgL_poolz00;
} *BgL_classez00_bglt;

typedef struct BgL_fieldzd2orzd2methodz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_flagsz00;
   obj_t BgL_namez00;
   obj_t BgL_ownerz00;
   obj_t BgL_usertypez00;
   obj_t BgL_typez00;
   obj_t BgL_pnamez00;
   obj_t BgL_descriptorz00;
   obj_t BgL_poolz00;
   obj_t BgL_attributesz00;
} *BgL_fieldzd2orzd2methodz00_bglt;

typedef struct BgL_fieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_flagsz00;
   obj_t BgL_namez00;
   obj_t BgL_ownerz00;
   obj_t BgL_usertypez00;
   obj_t BgL_typez00;
   obj_t BgL_pnamez00;
   obj_t BgL_descriptorz00;
   obj_t BgL_poolz00;
   obj_t BgL_attributesz00;
} *BgL_fieldz00_bglt;

typedef struct BgL_methodz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_flagsz00;
   obj_t BgL_namez00;
   obj_t BgL_ownerz00;
   obj_t BgL_usertypez00;
   obj_t BgL_typez00;
   obj_t BgL_pnamez00;
   obj_t BgL_descriptorz00;
   obj_t BgL_poolz00;
   obj_t BgL_attributesz00;
} *BgL_methodz00_bglt;

typedef struct BgL_attributez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_typez00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_infoz00;
} *BgL_attributez00_bglt;

typedef struct BgL_classfilez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_currentzd2methodzd2;
   obj_t BgL_globalsz00;
   obj_t BgL_poolz00;
   obj_t BgL_poolzd2siza7ez75;
   obj_t BgL_flagsz00;
   obj_t BgL_mez00;
   obj_t BgL_superz00;
   obj_t BgL_interfacesz00;
   obj_t BgL_fieldsz00;
   obj_t BgL_methodsz00;
   obj_t BgL_attributesz00;
} *BgL_classfilez00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzjas_producez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzjas_classfilez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzjas_libz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
static obj_t BGl_methodzd2initzd2zzjas_producez00();
BGL_IMPORT long bgl_list_length(obj_t);
static obj_t BGl_producezd2cpinfozd2zzjas_producez00(obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl_outshortz00zzjas_producez00(obj_t, obj_t);
static bool_t BGl_producezd2interfaceszd2zzjas_producez00(obj_t, obj_t);
BGL_IMPORT obj_t bgl_reverse(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
static bool_t BGl_producezd2poolzd2zzjas_producez00(obj_t, obj_t, obj_t);
extern obj_t BGl_stringzd2ze3utf8z31zzjas_libz00(obj_t);
static obj_t BGl_producezd2stringzd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_producezd2codezd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_producezd2attributezd2zzjas_producez00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_producez00zzjas_producez00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zzjas_producez00();
static bool_t BGl_producezd2attributeszd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzjas_producez00();
static bool_t BGl_producezd2fieldzd2zzjas_producez00(obj_t, obj_t);
static bool_t BGl_producezd2methodszd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzjas_producez00 = BUNSPEC;
static bool_t BGl_producezd2fieldszd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_outintz00zzjas_producez00(obj_t, obj_t);
BGL_IMPORT bool_t BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
static bool_t BGl_producezd2methodzd2zzjas_producez00(obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzjas_producez00();
static obj_t BGl__produce1898z00zzjas_producez00(obj_t, obj_t, obj_t);
static obj_t __cnst[ 6 ] ;


DEFINE_STRING( BGl_string1972z00zzjas_producez00, BgL_bgl_string1972za700za7za7jas_produceza7001998z00, "localvariable linenumber srcfile code bytevector ok ", 52 );
DEFINE_STRING( BGl_string1971z00zzjas_producez00, BgL_bgl_string1971za700za7za7jas_produceza7001999z00, "bad code attribute", 18 );
DEFINE_STRING( BGl_string1970z00zzjas_producez00, BgL_bgl_string1970za700za7za7jas_produceza7002000z00, "bad handler", 11 );
DEFINE_STRING( BGl_string1969z00zzjas_producez00, BgL_bgl_string1969za700za7za7jas_produceza7002001z00, "produce-code", 12 );
DEFINE_STRING( BGl_string1968z00zzjas_producez00, BgL_bgl_string1968za700za7za7jas_produceza7002002z00, "bad attribute type", 18 );
DEFINE_STRING( BGl_string1967z00zzjas_producez00, BgL_bgl_string1967za700za7za7jas_produceza7002003z00, "produce-attribute", 17 );
DEFINE_STRING( BGl_string1966z00zzjas_producez00, BgL_bgl_string1966za700za7za7jas_produceza7002004z00, "bad cpinfo tag", 14 );
DEFINE_STRING( BGl_string1965z00zzjas_producez00, BgL_bgl_string1965za700za7za7jas_produceza7002005z00, "as", 2 );
DEFINE_EXPORT_PROCEDURE( BGl_producezd2envzd2zzjas_producez00, BgL_bgl__produce1898za700za7za7jas_produceza7002006z00, BGl__produce1898z00zzjas_producez00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzjas_producez00(long BgL_checksumz00_643, char * BgL_fromz00_644)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzjas_producez00))
{ 
BGl_requirezd2initializa7ationz75zzjas_producez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzjas_producez00(); 
BGl_cnstzd2initzd2zzjas_producez00(); 
BGl_importedzd2moduleszd2initz00zzjas_producez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzjas_producez00()
{ AN_OBJECT;
{ /* ./Jas/produce.scm 1 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "jas_produce"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "jas_produce"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)0), "jas_produce"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzjas_producez00()
{ AN_OBJECT;
{ /* ./Jas/produce.scm 1 */
{ /* ./Jas/produce.scm 1 */
obj_t BgL_cportz00_636;
BgL_cportz00_636 = 
open_input_string(BGl_string1972z00zzjas_producez00); 
{ 
long BgL_iz00_637;
BgL_iz00_637 = ((long)5); 
BgL_loopz00_638:
{ /* ./Jas/produce.scm 1 */
bool_t BgL_test1974z00_639;
BgL_test1974z00_639 = 
(BgL_iz00_637==((long)-1)); 
if(BgL_test1974z00_639)
{ /* ./Jas/produce.scm 1 */
return BUNSPEC;}  else 
{ /* ./Jas/produce.scm 1 */
{ /* ./Jas/produce.scm 1 */
obj_t BgL_arg1976z00_640;
{ /* ./Jas/produce.scm 1 */
obj_t BgL_list1979z00_641;
BgL_list1979z00_641 = 
MAKE_PAIR(BgL_cportz00_636, BNIL); 
BgL_arg1976z00_640 = 
BGl_readz00zz__readerz00(BgL_list1979z00_641); } 
{ /* ./Jas/produce.scm 1 */
int BgL_auxz00_659;
BgL_auxz00_659 = 
(int)(BgL_iz00_637); 
CNST_TABLE_SET(BgL_auxz00_659, BgL_arg1976z00_640); } } 
{ /* ./Jas/produce.scm 1 */
int BgL_auxz00_642;
{ /* ./Jas/produce.scm 1 */
long BgL_auxz00_662;
BgL_auxz00_662 = 
(BgL_iz00_637-((long)1)); 
BgL_auxz00_642 = 
(int)(BgL_auxz00_662); } 
{ 
long BgL_iz00_665;
BgL_iz00_665 = 
(long)(BgL_auxz00_642); 
BgL_iz00_637 = BgL_iz00_665; 
goto BgL_loopz00_638;} } } } } } } 
}



/* outshort */
obj_t BGl_outshortz00zzjas_producez00(obj_t BgL_outchanz00_5, obj_t BgL_nz00_6)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 14 */
{ /* ./Jas/produce.scm 15 */
long BgL_arg1431z00_210;
{ /* ./Jas/produce.scm 15 */
int BgL_auxz00_669;long BgL_auxz00_667;
BgL_auxz00_669 = 
(int)(((long)8)); 
BgL_auxz00_667 = 
(long)CINT(BgL_nz00_6); 
BgL_arg1431z00_210 = 
(BgL_auxz00_667 >> BgL_auxz00_669); } 
{ /* ./Jas/produce.scm 15 */
unsigned char BgL_arg1424z00_463;
{ /* ./Jas/produce.scm 15 */
long BgL_auxz00_672;
BgL_auxz00_672 = 
(BgL_arg1431z00_210 & ((long)255)); 
BgL_arg1424z00_463 = 
(BgL_auxz00_672); } 
{ /* ./Jas/produce.scm 15 */
char BgL_charz00_471;
BgL_charz00_471 = 
(char)(BgL_arg1424z00_463); 
BGL_OUTPUT_CHAR(BgL_outchanz00_5, BgL_charz00_471); } } } 
{ /* ./Jas/produce.scm 16 */
long BgL_arg1435z00_211;
{ /* ./Jas/produce.scm 16 */
long BgL_auxz00_677;
BgL_auxz00_677 = 
(long)CINT(BgL_nz00_6); 
BgL_arg1435z00_211 = 
(BgL_auxz00_677 & ((long)255)); } 
{ /* ./Jas/produce.scm 16 */
unsigned char BgL_arg1424z00_476;
{ /* ./Jas/produce.scm 16 */
long BgL_auxz00_680;
BgL_auxz00_680 = 
(BgL_arg1435z00_211 & ((long)255)); 
BgL_arg1424z00_476 = 
(BgL_auxz00_680); } 
{ /* ./Jas/produce.scm 16 */
char BgL_charz00_484;
BgL_charz00_484 = 
(char)(BgL_arg1424z00_476); 
return 
BGL_OUTPUT_CHAR(BgL_outchanz00_5, BgL_charz00_484);} } } } 
}



/* outint */
obj_t BGl_outintz00zzjas_producez00(obj_t BgL_outchanz00_7, obj_t BgL_nz00_8)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 18 */
{ /* ./Jas/produce.scm 19 */
long BgL_arg1440z00_212;
{ /* ./Jas/produce.scm 19 */
int BgL_auxz00_687;long BgL_auxz00_685;
BgL_auxz00_687 = 
(int)(((long)16)); 
BgL_auxz00_685 = 
(long)CINT(BgL_nz00_8); 
BgL_arg1440z00_212 = 
(BgL_auxz00_685 >> BgL_auxz00_687); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_7, 
BINT(BgL_arg1440z00_212)); } 
{ /* ./Jas/produce.scm 20 */
long BgL_arg1444z00_213;
{ /* ./Jas/produce.scm 20 */
long BgL_auxz00_692;
BgL_auxz00_692 = 
(long)CINT(BgL_nz00_8); 
BgL_arg1444z00_213 = 
(BgL_auxz00_692 & ((long)65535)); } 
return 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_7, 
BINT(BgL_arg1444z00_213));} } 
}



/* produce */
BGL_EXPORTED_DEF obj_t BGl_producez00zzjas_producez00(obj_t BgL_outchanz00_9, obj_t BgL_classfilez00_10)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 22 */
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, 
BINT(((long)51966))); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, 
BINT(((long)47806))); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, 
BINT(((long)3))); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, 
BINT(((long)45))); 
{ /* ./Jas/produce.scm 29 */
obj_t BgL_arg1453z00_215;obj_t BgL_arg1454z00_216;
{ /* ./Jas/produce.scm 29 */
BgL_classfilez00_bglt BgL_obj1331z00_489;
BgL_obj1331z00_489 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1453z00_215 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1331z00_489))->BgL_poolzd2siza7ez75); } 
{ /* ./Jas/produce.scm 29 */
obj_t BgL_auxz00_707;
{ /* ./Jas/produce.scm 29 */
BgL_classfilez00_bglt BgL_obj1328z00_490;
BgL_obj1328z00_490 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_auxz00_707 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1328z00_490))->BgL_poolz00); } 
BgL_arg1454z00_216 = 
bgl_reverse(BgL_auxz00_707); } 
BGl_producezd2poolzd2zzjas_producez00(BgL_outchanz00_9, BgL_arg1453z00_215, BgL_arg1454z00_216); } 
{ /* ./Jas/produce.scm 30 */
obj_t BgL_arg1463z00_218;
{ /* ./Jas/produce.scm 30 */
BgL_classfilez00_bglt BgL_obj1334z00_491;
BgL_obj1334z00_491 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1463z00_218 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1334z00_491))->BgL_flagsz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, BgL_arg1463z00_218); } 
{ /* ./Jas/produce.scm 31 */
obj_t BgL_arg1468z00_219;
{ /* ./Jas/produce.scm 31 */
BgL_classfilez00_bglt BgL_obj1337z00_492;
BgL_obj1337z00_492 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1468z00_219 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1337z00_492))->BgL_mez00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, BgL_arg1468z00_219); } 
{ /* ./Jas/produce.scm 32 */
obj_t BgL_arg1474z00_220;
{ /* ./Jas/produce.scm 32 */
BgL_classfilez00_bglt BgL_obj1340z00_493;
BgL_obj1340z00_493 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1474z00_220 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1340z00_493))->BgL_superz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_9, BgL_arg1474z00_220); } 
{ /* ./Jas/produce.scm 33 */
obj_t BgL_arg1478z00_221;
{ /* ./Jas/produce.scm 33 */
BgL_classfilez00_bglt BgL_obj1343z00_494;
BgL_obj1343z00_494 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1478z00_221 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1343z00_494))->BgL_interfacesz00); } 
BGl_producezd2interfaceszd2zzjas_producez00(BgL_outchanz00_9, BgL_arg1478z00_221); } 
{ /* ./Jas/produce.scm 34 */
obj_t BgL_arg1483z00_222;
{ /* ./Jas/produce.scm 34 */
BgL_classfilez00_bglt BgL_obj1346z00_495;
BgL_obj1346z00_495 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1483z00_222 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1346z00_495))->BgL_fieldsz00); } 
BGl_producezd2fieldszd2zzjas_producez00(BgL_outchanz00_9, BgL_arg1483z00_222); } 
{ /* ./Jas/produce.scm 35 */
obj_t BgL_arg1487z00_223;
{ /* ./Jas/produce.scm 35 */
BgL_classfilez00_bglt BgL_obj1349z00_496;
BgL_obj1349z00_496 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1487z00_223 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1349z00_496))->BgL_methodsz00); } 
BGl_producezd2methodszd2zzjas_producez00(BgL_outchanz00_9, BgL_arg1487z00_223); } 
{ /* ./Jas/produce.scm 36 */
obj_t BgL_arg1491z00_224;
{ /* ./Jas/produce.scm 36 */
BgL_classfilez00_bglt BgL_obj1352z00_497;
BgL_obj1352z00_497 = 
(BgL_classfilez00_bglt)(BgL_classfilez00_10); 
BgL_arg1491z00_224 = 
(((BgL_classfilez00_bglt)CREF(BgL_obj1352z00_497))->BgL_attributesz00); } 
{ /* ./Jas/produce.scm 36 */
bool_t BgL_auxz00_732;
BgL_auxz00_732 = 
BGl_producezd2attributeszd2zzjas_producez00(BgL_outchanz00_9, BgL_arg1491z00_224); 
return 
BBOOL(BgL_auxz00_732);} } } 
}



/* _produce1898 */
obj_t BGl__produce1898z00zzjas_producez00(obj_t BgL_envz00_633, obj_t BgL_outchanz00_634, obj_t BgL_classfilez00_635)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 22 */
return 
BGl_producez00zzjas_producez00(BgL_outchanz00_634, BgL_classfilez00_635);} 
}



/* produce-pool */
bool_t BGl_producezd2poolzd2zzjas_producez00(obj_t BgL_outchanz00_11, obj_t BgL_siza7eza7_12, obj_t BgL_poolz00_13)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 38 */
BGl_outshortz00zzjas_producez00(BgL_outchanz00_11, BgL_siza7eza7_12); 
{ 
obj_t BgL_l1394z00_225;
BgL_l1394z00_225 = BgL_poolz00_13; 
BgL_forzd2each1395zd2_226:
{ /* ./Jas/produce.scm 40 */
bool_t BgL_test1496z00_227;
BgL_test1496z00_227 = 
PAIRP(BgL_l1394z00_225); 
if(BgL_test1496z00_227)
{ /* ./Jas/produce.scm 40 */
{ /* ./Jas/produce.scm 40 */
obj_t BgL_cpinfoz00_228;
BgL_cpinfoz00_228 = 
CAR(BgL_l1394z00_225); 
BGl_producezd2cpinfozd2zzjas_producez00(BgL_outchanz00_11, BgL_cpinfoz00_228); } 
{ /* ./Jas/produce.scm 40 */
obj_t BgL_arg1500z00_229;
BgL_arg1500z00_229 = 
CDR(BgL_l1394z00_225); 
{ 
obj_t BgL_l1394z00_742;
BgL_l1394z00_742 = BgL_arg1500z00_229; 
BgL_l1394z00_225 = BgL_l1394z00_742; 
goto BgL_forzd2each1395zd2_226;} } }  else 
{ /* ./Jas/produce.scm 40 */
return ((bool_t)1);} } } } 
}



/* produce-cpinfo */
obj_t BGl_producezd2cpinfozd2zzjas_producez00(obj_t BgL_outchanz00_14, obj_t BgL_cpinfoz00_15)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 42 */
{ /* ./Jas/produce.scm 43 */
obj_t BgL_arg1506z00_230;
BgL_arg1506z00_230 = 
CAR(BgL_cpinfoz00_15); 
{ /* ./Jas/produce.scm 43 */
unsigned char BgL_arg1424z00_504;
{ /* ./Jas/produce.scm 43 */
long BgL_auxz00_744;
{ /* ./Jas/produce.scm 43 */
long BgL_auxz00_745;
BgL_auxz00_745 = 
(long)CINT(BgL_arg1506z00_230); 
BgL_auxz00_744 = 
(BgL_auxz00_745 & ((long)255)); } 
BgL_arg1424z00_504 = 
(BgL_auxz00_744); } 
{ /* ./Jas/produce.scm 43 */
char BgL_charz00_512;
BgL_charz00_512 = 
(char)(BgL_arg1424z00_504); 
BGL_OUTPUT_CHAR(BgL_outchanz00_14, BgL_charz00_512); } } } 
{ 

{ /* ./Jas/produce.scm 44 */
obj_t BgL_aux1397z00_232;
BgL_aux1397z00_232 = 
CAR(BgL_cpinfoz00_15); 
{ /* ./Jas/produce.scm 44 */
bool_t BgL_test1509z00_233;
BgL_test1509z00_233 = 
INTEGERP(BgL_aux1397z00_232); 
if(BgL_test1509z00_233)
{ /* ./Jas/produce.scm 44 */
switch( 
(long)CINT(BgL_aux1397z00_232)) { case ((long)1) : 

{ /* ./Jas/produce.scm 46 */
obj_t BgL_strz00_234;
{ /* ./Jas/produce.scm 46 */
obj_t BgL_arg1516z00_236;
BgL_arg1516z00_236 = 
CDR(BgL_cpinfoz00_15); 
BgL_strz00_234 = 
BGl_stringzd2ze3utf8z31zzjas_libz00(BgL_arg1516z00_236); } 
{ /* ./Jas/produce.scm 47 */
int BgL_arg1511z00_235;
BgL_arg1511z00_235 = 
STRING_LENGTH(BgL_strz00_234); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_14, 
BINT(BgL_arg1511z00_235)); } 
return 
BGl_producezd2stringzd2zzjas_producez00(BgL_outchanz00_14, BgL_strz00_234);} break;case ((long)3) : 
case ((long)4) : 
case ((long)5) : 
case ((long)6) : 
case ((long)7) : 
case ((long)8) : 
case ((long)9) : 
case ((long)10) : 
case ((long)11) : 
case ((long)12) : 

{ 
obj_t BgL_l1398z00_237;
{ /* ./Jas/produce.scm 50 */
obj_t BgL_arg1520z00_239;
BgL_arg1520z00_239 = 
CDR(BgL_cpinfoz00_15); 
{ /* ./Jas/produce.scm 50 */
bool_t BgL_auxz00_761;
BgL_l1398z00_237 = BgL_arg1520z00_239; 
BgL_forzd2each1399zd2_238:
{ /* ./Jas/produce.scm 50 */
bool_t BgL_test1523z00_240;
BgL_test1523z00_240 = 
PAIRP(BgL_l1398z00_237); 
if(BgL_test1523z00_240)
{ /* ./Jas/produce.scm 50 */
{ /* ./Jas/produce.scm 50 */
obj_t BgL_nz00_241;
BgL_nz00_241 = 
CAR(BgL_l1398z00_237); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_14, BgL_nz00_241); } 
{ /* ./Jas/produce.scm 50 */
obj_t BgL_arg1527z00_242;
BgL_arg1527z00_242 = 
CDR(BgL_l1398z00_237); 
{ 
obj_t BgL_l1398z00_767;
BgL_l1398z00_767 = BgL_arg1527z00_242; 
BgL_l1398z00_237 = BgL_l1398z00_767; 
goto BgL_forzd2each1399zd2_238;} } }  else 
{ /* ./Jas/produce.scm 50 */
BgL_auxz00_761 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_761);} } } break;
default: 
BgL_case_else1396z00_231:
{ /* ./Jas/produce.scm 51 */
obj_t BgL_arg1540z00_245;
BgL_arg1540z00_245 = 
CAR(BgL_cpinfoz00_15); 
FAILURE(BGl_string1965z00zzjas_producez00,BGl_string1966z00zzjas_producez00,BgL_arg1540z00_245);} } }  else 
{ /* ./Jas/produce.scm 44 */
goto BgL_case_else1396z00_231;} } } } } 
}



/* produce-string */
obj_t BGl_producezd2stringzd2zzjas_producez00(obj_t BgL_outchanz00_16, obj_t BgL_sz00_17)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 53 */
{ /* ./Jas/produce.scm 54 */
int BgL_nz00_246;
BgL_nz00_246 = 
STRING_LENGTH(BgL_sz00_17); 
{ 
long BgL_iz00_248;
BgL_iz00_248 = ((long)0); 
BgL_zc3anonymousza31544ze3z83_249:
{ /* ./Jas/produce.scm 56 */
bool_t BgL_test1545z00_250;
{ /* ./Jas/produce.scm 56 */
long BgL_auxz00_774;
BgL_auxz00_774 = 
(long)(BgL_nz00_246); 
BgL_test1545z00_250 = 
(BgL_iz00_248==BgL_auxz00_774); } 
if(BgL_test1545z00_250)
{ /* ./Jas/produce.scm 56 */
return 
CNST_TABLE_REF(((long)0));}  else 
{ /* ./Jas/produce.scm 56 */
{ /* ./Jas/produce.scm 58 */
long BgL_arg1547z00_251;
{ /* ./Jas/produce.scm 58 */
unsigned char BgL_auxz00_779;
{ /* ./Jas/produce.scm 58 */
int BgL_auxz00_780;
BgL_auxz00_780 = 
(int)(BgL_iz00_248); 
BgL_auxz00_779 = 
STRING_REF(BgL_sz00_17, BgL_auxz00_780); } 
BgL_arg1547z00_251 = 
(BgL_auxz00_779); } 
{ /* ./Jas/produce.scm 58 */
unsigned char BgL_arg1424z00_532;
{ /* ./Jas/produce.scm 58 */
long BgL_auxz00_784;
BgL_auxz00_784 = 
(BgL_arg1547z00_251 & ((long)255)); 
BgL_arg1424z00_532 = 
(BgL_auxz00_784); } 
{ /* ./Jas/produce.scm 58 */
char BgL_charz00_540;
BgL_charz00_540 = 
(char)(BgL_arg1424z00_532); 
BGL_OUTPUT_CHAR(BgL_outchanz00_16, BgL_charz00_540); } } } 
{ /* ./Jas/produce.scm 59 */
long BgL_arg1555z00_253;
BgL_arg1555z00_253 = 
(BgL_iz00_248+((long)1)); 
{ 
long BgL_iz00_790;
BgL_iz00_790 = BgL_arg1555z00_253; 
BgL_iz00_248 = BgL_iz00_790; 
goto BgL_zc3anonymousza31544ze3z83_249;} } } } } } } 
}



/* produce-interfaces */
bool_t BGl_producezd2interfaceszd2zzjas_producez00(obj_t BgL_outchanz00_18, obj_t BgL_interfacesz00_19)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 62 */
{ /* ./Jas/produce.scm 63 */
long BgL_arg1562z00_255;
BgL_arg1562z00_255 = 
bgl_list_length(BgL_interfacesz00_19); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_18, 
BINT(BgL_arg1562z00_255)); } 
{ 
obj_t BgL_l1400z00_256;
BgL_l1400z00_256 = BgL_interfacesz00_19; 
BgL_forzd2each1401zd2_257:
{ /* ./Jas/produce.scm 64 */
bool_t BgL_test1566z00_258;
BgL_test1566z00_258 = 
PAIRP(BgL_l1400z00_256); 
if(BgL_test1566z00_258)
{ /* ./Jas/produce.scm 64 */
{ /* ./Jas/produce.scm 64 */
obj_t BgL_nz00_259;
BgL_nz00_259 = 
CAR(BgL_l1400z00_256); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_18, BgL_nz00_259); } 
{ /* ./Jas/produce.scm 64 */
obj_t BgL_arg1570z00_260;
BgL_arg1570z00_260 = 
CDR(BgL_l1400z00_256); 
{ 
obj_t BgL_l1400z00_799;
BgL_l1400z00_799 = BgL_arg1570z00_260; 
BgL_l1400z00_256 = BgL_l1400z00_799; 
goto BgL_forzd2each1401zd2_257;} } }  else 
{ /* ./Jas/produce.scm 64 */
return ((bool_t)1);} } } } 
}



/* produce-fields */
bool_t BGl_producezd2fieldszd2zzjas_producez00(obj_t BgL_outchanz00_20, obj_t BgL_fieldsz00_21)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 66 */
{ /* ./Jas/produce.scm 67 */
long BgL_arg1575z00_261;
BgL_arg1575z00_261 = 
bgl_list_length(BgL_fieldsz00_21); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_20, 
BINT(BgL_arg1575z00_261)); } 
{ 
obj_t BgL_l1402z00_262;
BgL_l1402z00_262 = BgL_fieldsz00_21; 
BgL_forzd2each1403zd2_263:
{ /* ./Jas/produce.scm 68 */
bool_t BgL_test1579z00_264;
BgL_test1579z00_264 = 
PAIRP(BgL_l1402z00_262); 
if(BgL_test1579z00_264)
{ /* ./Jas/produce.scm 68 */
{ /* ./Jas/produce.scm 68 */
obj_t BgL_fieldz00_265;
BgL_fieldz00_265 = 
CAR(BgL_l1402z00_262); 
BGl_producezd2fieldzd2zzjas_producez00(BgL_outchanz00_20, BgL_fieldz00_265); } 
{ /* ./Jas/produce.scm 68 */
obj_t BgL_arg1586z00_266;
BgL_arg1586z00_266 = 
CDR(BgL_l1402z00_262); 
{ 
obj_t BgL_l1402z00_808;
BgL_l1402z00_808 = BgL_arg1586z00_266; 
BgL_l1402z00_262 = BgL_l1402z00_808; 
goto BgL_forzd2each1403zd2_263;} } }  else 
{ /* ./Jas/produce.scm 68 */
return ((bool_t)1);} } } } 
}



/* produce-field */
bool_t BGl_producezd2fieldzd2zzjas_producez00(obj_t BgL_outchanz00_22, obj_t BgL_fieldz00_23)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 70 */
{ /* ./Jas/produce.scm 72 */
obj_t BgL_arg1591z00_268;
{ /* ./Jas/produce.scm 72 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1119z00_549;
BgL_obj1119z00_549 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_fieldz00_23); 
BgL_arg1591z00_268 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1119z00_549))->BgL_flagsz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_22, BgL_arg1591z00_268); } 
{ /* ./Jas/produce.scm 73 */
obj_t BgL_arg1596z00_269;
{ /* ./Jas/produce.scm 73 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1135z00_550;
BgL_obj1135z00_550 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_fieldz00_23); 
BgL_arg1596z00_269 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1135z00_550))->BgL_pnamez00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_22, BgL_arg1596z00_269); } 
{ /* ./Jas/produce.scm 74 */
obj_t BgL_arg1600z00_270;
{ /* ./Jas/produce.scm 74 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1138z00_551;
BgL_obj1138z00_551 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_fieldz00_23); 
BgL_arg1600z00_270 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1138z00_551))->BgL_descriptorz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_22, BgL_arg1600z00_270); } 
{ /* ./Jas/produce.scm 75 */
obj_t BgL_arg1604z00_271;
{ /* ./Jas/produce.scm 75 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1144z00_552;
BgL_obj1144z00_552 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_fieldz00_23); 
BgL_arg1604z00_271 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1144z00_552))->BgL_attributesz00); } 
return 
BGl_producezd2attributeszd2zzjas_producez00(BgL_outchanz00_22, BgL_arg1604z00_271);} } 
}



/* produce-methods */
bool_t BGl_producezd2methodszd2zzjas_producez00(obj_t BgL_outchanz00_24, obj_t BgL_methodsz00_25)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 77 */
{ /* ./Jas/produce.scm 78 */
long BgL_arg1608z00_272;
BgL_arg1608z00_272 = 
bgl_list_length(BgL_methodsz00_25); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_24, 
BINT(BgL_arg1608z00_272)); } 
{ 
obj_t BgL_l1406z00_273;
BgL_l1406z00_273 = BgL_methodsz00_25; 
BgL_forzd2each1407zd2_274:
{ /* ./Jas/produce.scm 79 */
bool_t BgL_test1612z00_275;
BgL_test1612z00_275 = 
PAIRP(BgL_l1406z00_273); 
if(BgL_test1612z00_275)
{ /* ./Jas/produce.scm 79 */
{ /* ./Jas/produce.scm 79 */
obj_t BgL_methodz00_276;
BgL_methodz00_276 = 
CAR(BgL_l1406z00_273); 
BGl_producezd2methodzd2zzjas_producez00(BgL_outchanz00_24, BgL_methodz00_276); } 
{ /* ./Jas/produce.scm 79 */
obj_t BgL_arg1617z00_277;
BgL_arg1617z00_277 = 
CDR(BgL_l1406z00_273); 
{ 
obj_t BgL_l1406z00_829;
BgL_l1406z00_829 = BgL_arg1617z00_277; 
BgL_l1406z00_273 = BgL_l1406z00_829; 
goto BgL_forzd2each1407zd2_274;} } }  else 
{ /* ./Jas/produce.scm 79 */
return ((bool_t)1);} } } } 
}



/* produce-method */
bool_t BGl_producezd2methodzd2zzjas_producez00(obj_t BgL_outchanz00_26, obj_t BgL_methodz00_27)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 81 */
{ /* ./Jas/produce.scm 83 */
obj_t BgL_arg1622z00_279;
{ /* ./Jas/produce.scm 83 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1119z00_556;
BgL_obj1119z00_556 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_methodz00_27); 
BgL_arg1622z00_279 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1119z00_556))->BgL_flagsz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_26, BgL_arg1622z00_279); } 
{ /* ./Jas/produce.scm 84 */
obj_t BgL_arg1627z00_280;
{ /* ./Jas/produce.scm 84 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1135z00_557;
BgL_obj1135z00_557 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_methodz00_27); 
BgL_arg1627z00_280 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1135z00_557))->BgL_pnamez00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_26, BgL_arg1627z00_280); } 
{ /* ./Jas/produce.scm 85 */
obj_t BgL_arg1631z00_281;
{ /* ./Jas/produce.scm 85 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1138z00_558;
BgL_obj1138z00_558 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_methodz00_27); 
BgL_arg1631z00_281 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1138z00_558))->BgL_descriptorz00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_26, BgL_arg1631z00_281); } 
{ /* ./Jas/produce.scm 86 */
obj_t BgL_arg1635z00_282;
{ /* ./Jas/produce.scm 86 */
BgL_fieldzd2orzd2methodz00_bglt BgL_obj1144z00_559;
BgL_obj1144z00_559 = 
(BgL_fieldzd2orzd2methodz00_bglt)(BgL_methodz00_27); 
BgL_arg1635z00_282 = 
(((BgL_fieldzd2orzd2methodz00_bglt)CREF(BgL_obj1144z00_559))->BgL_attributesz00); } 
return 
BGl_producezd2attributeszd2zzjas_producez00(BgL_outchanz00_26, BgL_arg1635z00_282);} } 
}



/* produce-attributes */
bool_t BGl_producezd2attributeszd2zzjas_producez00(obj_t BgL_outchanz00_28, obj_t BgL_attributesz00_29)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 88 */
{ /* ./Jas/produce.scm 89 */
long BgL_arg1641z00_283;
BgL_arg1641z00_283 = 
bgl_list_length(BgL_attributesz00_29); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_28, 
BINT(BgL_arg1641z00_283)); } 
{ 
obj_t BgL_l1410z00_284;
BgL_l1410z00_284 = BgL_attributesz00_29; 
BgL_forzd2each1411zd2_285:
{ /* ./Jas/produce.scm 90 */
bool_t BgL_test1645z00_286;
BgL_test1645z00_286 = 
PAIRP(BgL_l1410z00_284); 
if(BgL_test1645z00_286)
{ /* ./Jas/produce.scm 90 */
{ /* ./Jas/produce.scm 90 */
obj_t BgL_attributez00_287;
BgL_attributez00_287 = 
CAR(BgL_l1410z00_284); 
BGl_producezd2attributezd2zzjas_producez00(BgL_outchanz00_28, BgL_attributez00_287); } 
{ /* ./Jas/produce.scm 90 */
obj_t BgL_arg1650z00_288;
BgL_arg1650z00_288 = 
CDR(BgL_l1410z00_284); 
{ 
obj_t BgL_l1410z00_850;
BgL_l1410z00_850 = BgL_arg1650z00_288; 
BgL_l1410z00_284 = BgL_l1410z00_850; 
goto BgL_forzd2each1411zd2_285;} } }  else 
{ /* ./Jas/produce.scm 90 */
return ((bool_t)1);} } } } 
}



/* produce-attribute */
obj_t BGl_producezd2attributezd2zzjas_producez00(obj_t BgL_outchanz00_30, obj_t BgL_attributez00_31)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 93 */
{ /* ./Jas/produce.scm 94 */
obj_t BgL_arg1655z00_289;
{ /* ./Jas/produce.scm 94 */
BgL_attributez00_bglt BgL_obj1297z00_563;
BgL_obj1297z00_563 = 
(BgL_attributez00_bglt)(BgL_attributez00_31); 
BgL_arg1655z00_289 = 
(((BgL_attributez00_bglt)CREF(BgL_obj1297z00_563))->BgL_namez00); } 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, BgL_arg1655z00_289); } 
{ /* ./Jas/produce.scm 95 */
obj_t BgL_arg1659z00_290;
{ /* ./Jas/produce.scm 95 */
BgL_attributez00_bglt BgL_obj1300z00_564;
BgL_obj1300z00_564 = 
(BgL_attributez00_bglt)(BgL_attributez00_31); 
BgL_arg1659z00_290 = 
(((BgL_attributez00_bglt)CREF(BgL_obj1300z00_564))->BgL_siza7eza7); } 
BGl_outintz00zzjas_producez00(BgL_outchanz00_30, BgL_arg1659z00_290); } 
{ /* ./Jas/produce.scm 96 */
obj_t BgL_infoz00_291;obj_t BgL_typez00_292;
{ /* ./Jas/produce.scm 96 */
BgL_attributez00_bglt BgL_obj1303z00_565;
BgL_obj1303z00_565 = 
(BgL_attributez00_bglt)(BgL_attributez00_31); 
BgL_infoz00_291 = 
(((BgL_attributez00_bglt)CREF(BgL_obj1303z00_565))->BgL_infoz00); } 
{ /* ./Jas/produce.scm 96 */
BgL_attributez00_bglt BgL_obj1294z00_566;
BgL_obj1294z00_566 = 
(BgL_attributez00_bglt)(BgL_attributez00_31); 
BgL_typez00_292 = 
(((BgL_attributez00_bglt)CREF(BgL_obj1294z00_566))->BgL_typez00); } 
{ /* ./Jas/produce.scm 97 */
bool_t BgL_test1662z00_294;
BgL_test1662z00_294 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_typez00_292, 
CNST_TABLE_REF(((long)1))); 
if(BgL_test1662z00_294)
{ /* ./Jas/produce.scm 97 */
return 
BGl_producezd2stringzd2zzjas_producez00(BgL_outchanz00_30, BgL_infoz00_291);}  else 
{ /* ./Jas/produce.scm 97 */
bool_t BgL_test1664z00_295;
BgL_test1664z00_295 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_typez00_292, 
CNST_TABLE_REF(((long)2))); 
if(BgL_test1664z00_295)
{ /* ./Jas/produce.scm 97 */
return 
BGl_producezd2codezd2zzjas_producez00(BgL_outchanz00_30, BgL_infoz00_291);}  else 
{ /* ./Jas/produce.scm 97 */
bool_t BgL_test1666z00_296;
BgL_test1666z00_296 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_typez00_292, 
CNST_TABLE_REF(((long)3))); 
if(BgL_test1666z00_296)
{ /* ./Jas/produce.scm 97 */
return 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, BgL_infoz00_291);}  else 
{ /* ./Jas/produce.scm 97 */
bool_t BgL_test1668z00_297;
BgL_test1668z00_297 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_typez00_292, 
CNST_TABLE_REF(((long)4))); 
if(BgL_test1668z00_297)
{ /* ./Jas/produce.scm 97 */
{ /* ./Jas/produce.scm 105 */
long BgL_arg1670z00_298;
BgL_arg1670z00_298 = 
bgl_list_length(BgL_infoz00_291); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, 
BINT(BgL_arg1670z00_298)); } 
{ 
obj_t BgL_l1412z00_299;
{ /* ./Jas/produce.scm 106 */
bool_t BgL_auxz00_879;
BgL_l1412z00_299 = BgL_infoz00_291; 
BgL_forzd2each1413zd2_300:
{ /* ./Jas/produce.scm 106 */
bool_t BgL_test1674z00_301;
BgL_test1674z00_301 = 
PAIRP(BgL_l1412z00_299); 
if(BgL_test1674z00_301)
{ /* ./Jas/produce.scm 106 */
{ /* ./Jas/produce.scm 106 */
obj_t BgL_slotz00_302;
BgL_slotz00_302 = 
CAR(BgL_l1412z00_299); 
{ /* ./Jas/produce.scm 106 */
obj_t BgL_arg1676z00_303;
BgL_arg1676z00_303 = 
CAR(BgL_slotz00_302); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, BgL_arg1676z00_303); } 
{ /* ./Jas/produce.scm 107 */
obj_t BgL_arg1680z00_304;
BgL_arg1680z00_304 = 
CDR(BgL_slotz00_302); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, BgL_arg1680z00_304); } } 
{ /* ./Jas/produce.scm 106 */
obj_t BgL_arg1685z00_305;
BgL_arg1685z00_305 = 
CDR(BgL_l1412z00_299); 
{ 
obj_t BgL_l1412z00_888;
BgL_l1412z00_888 = BgL_arg1685z00_305; 
BgL_l1412z00_299 = BgL_l1412z00_888; 
goto BgL_forzd2each1413zd2_300;} } }  else 
{ /* ./Jas/produce.scm 106 */
BgL_auxz00_879 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_879);} } }  else 
{ /* ./Jas/produce.scm 97 */
bool_t BgL_test1689z00_306;
BgL_test1689z00_306 = 
BGl_eqvzf3zf3zz__r4_equivalence_6_2z00(BgL_typez00_292, 
CNST_TABLE_REF(((long)5))); 
if(BgL_test1689z00_306)
{ /* ./Jas/produce.scm 97 */
{ /* ./Jas/produce.scm 110 */
long BgL_arg1691z00_307;
BgL_arg1691z00_307 = 
bgl_list_length(BgL_infoz00_291); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, 
BINT(BgL_arg1691z00_307)); } 
{ 
obj_t BgL_l1414z00_308;
{ /* ./Jas/produce.scm 111 */
bool_t BgL_auxz00_896;
BgL_l1414z00_308 = BgL_infoz00_291; 
BgL_forzd2each1415zd2_309:
{ /* ./Jas/produce.scm 111 */
bool_t BgL_test1695z00_310;
BgL_test1695z00_310 = 
PAIRP(BgL_l1414z00_308); 
if(BgL_test1695z00_310)
{ /* ./Jas/produce.scm 111 */
{ /* ./Jas/produce.scm 111 */
obj_t BgL_slotz00_311;
BgL_slotz00_311 = 
CAR(BgL_l1414z00_308); 
{ 
obj_t BgL_l1416z00_312;
BgL_l1416z00_312 = BgL_slotz00_311; 
BgL_forzd2each1417zd2_313:
{ /* ./Jas/produce.scm 111 */
bool_t BgL_test1697z00_314;
BgL_test1697z00_314 = 
PAIRP(BgL_l1416z00_312); 
if(BgL_test1697z00_314)
{ /* ./Jas/produce.scm 111 */
{ /* ./Jas/produce.scm 111 */
obj_t BgL_nz00_315;
BgL_nz00_315 = 
CAR(BgL_l1416z00_312); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_30, BgL_nz00_315); } 
{ /* ./Jas/produce.scm 111 */
obj_t BgL_arg1701z00_316;
BgL_arg1701z00_316 = 
CDR(BgL_l1416z00_312); 
{ 
obj_t BgL_l1416z00_905;
BgL_l1416z00_905 = BgL_arg1701z00_316; 
BgL_l1416z00_312 = BgL_l1416z00_905; 
goto BgL_forzd2each1417zd2_313;} } }  else 
{ /* ./Jas/produce.scm 111 */((bool_t)1); } } } } 
{ /* ./Jas/produce.scm 111 */
obj_t BgL_arg1707z00_317;
BgL_arg1707z00_317 = 
CDR(BgL_l1414z00_308); 
{ 
obj_t BgL_l1414z00_907;
BgL_l1414z00_907 = BgL_arg1707z00_317; 
BgL_l1414z00_308 = BgL_l1414z00_907; 
goto BgL_forzd2each1415zd2_309;} } }  else 
{ /* ./Jas/produce.scm 111 */
BgL_auxz00_896 = ((bool_t)1); } } 
return 
BBOOL(BgL_auxz00_896);} } }  else 
{ /* ./Jas/produce.scm 97 */
FAILURE(BGl_string1967z00zzjas_producez00,BGl_string1968z00zzjas_producez00,BgL_typez00_292);} } } } } } } } 
}



/* produce-code */
obj_t BGl_producezd2codezd2zzjas_producez00(obj_t BgL_outchanz00_32, obj_t BgL_codez00_33)
{ AN_OBJECT;
{ /* ./Jas/produce.scm 116 */
{ 
obj_t BgL_maxstkz00_318;obj_t BgL_maxlocalz00_319;obj_t BgL_bytecodez00_320;obj_t BgL_handlersz00_321;obj_t BgL_attributesz00_322;
{ /* ./Jas/produce.scm 117 */
bool_t BgL_test1719z00_326;
BgL_test1719z00_326 = 
PAIRP(BgL_codez00_33); 
if(BgL_test1719z00_326)
{ /* ./Jas/produce.scm 117 */
obj_t BgL_cdrzd2115zd2_327;
BgL_cdrzd2115zd2_327 = 
CDR(BgL_codez00_33); 
{ /* ./Jas/produce.scm 117 */
bool_t BgL_test1721z00_328;
BgL_test1721z00_328 = 
PAIRP(BgL_cdrzd2115zd2_327); 
if(BgL_test1721z00_328)
{ /* ./Jas/produce.scm 117 */
obj_t BgL_cdrzd2122zd2_329;
BgL_cdrzd2122zd2_329 = 
CDR(BgL_cdrzd2115zd2_327); 
{ /* ./Jas/produce.scm 117 */
bool_t BgL_test1723z00_330;
BgL_test1723z00_330 = 
PAIRP(BgL_cdrzd2122zd2_329); 
if(BgL_test1723z00_330)
{ /* ./Jas/produce.scm 117 */
obj_t BgL_cdrzd2128zd2_331;
BgL_cdrzd2128zd2_331 = 
CDR(BgL_cdrzd2122zd2_329); 
{ /* ./Jas/produce.scm 117 */
bool_t BgL_test1725z00_332;
BgL_test1725z00_332 = 
PAIRP(BgL_cdrzd2128zd2_331); 
if(BgL_test1725z00_332)
{ /* ./Jas/produce.scm 117 */
obj_t BgL_arg1727z00_333;obj_t BgL_arg1728z00_334;obj_t BgL_arg1729z00_335;obj_t BgL_arg1731z00_336;obj_t BgL_arg1732z00_337;
BgL_arg1727z00_333 = 
CAR(BgL_codez00_33); 
BgL_arg1728z00_334 = 
CAR(BgL_cdrzd2115zd2_327); 
BgL_arg1729z00_335 = 
CAR(BgL_cdrzd2122zd2_329); 
BgL_arg1731z00_336 = 
CAR(BgL_cdrzd2128zd2_331); 
BgL_arg1732z00_337 = 
CDR(BgL_cdrzd2128zd2_331); 
{ /* ./Jas/produce.scm 117 */
bool_t BgL_auxz00_926;
BgL_maxstkz00_318 = BgL_arg1727z00_333; 
BgL_maxlocalz00_319 = BgL_arg1728z00_334; 
BgL_bytecodez00_320 = BgL_arg1729z00_335; 
BgL_handlersz00_321 = BgL_arg1731z00_336; 
BgL_attributesz00_322 = BgL_arg1732z00_337; 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_maxstkz00_318); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_maxlocalz00_319); 
{ /* ./Jas/produce.scm 121 */
long BgL_arg1755z00_338;
BgL_arg1755z00_338 = 
bgl_list_length(BgL_bytecodez00_320); 
BGl_outintz00zzjas_producez00(BgL_outchanz00_32, 
BINT(BgL_arg1755z00_338)); } 
{ 
obj_t BgL_l1418z00_339;
BgL_l1418z00_339 = BgL_bytecodez00_320; 
BgL_forzd2each1419zd2_340:
{ /* ./Jas/produce.scm 122 */
bool_t BgL_test1759z00_341;
BgL_test1759z00_341 = 
PAIRP(BgL_l1418z00_339); 
if(BgL_test1759z00_341)
{ /* ./Jas/produce.scm 122 */
{ /* ./Jas/produce.scm 122 */
obj_t BgL_bz00_342;
BgL_bz00_342 = 
CAR(BgL_l1418z00_339); 
{ /* ./Jas/produce.scm 122 */
unsigned char BgL_arg1424z00_597;
{ /* ./Jas/produce.scm 122 */
long BgL_auxz00_935;
{ /* ./Jas/produce.scm 122 */
long BgL_auxz00_936;
BgL_auxz00_936 = 
(long)CINT(BgL_bz00_342); 
BgL_auxz00_935 = 
(BgL_auxz00_936 & ((long)255)); } 
BgL_arg1424z00_597 = 
(BgL_auxz00_935); } 
{ /* ./Jas/produce.scm 122 */
char BgL_charz00_605;
BgL_charz00_605 = 
(char)(BgL_arg1424z00_597); 
BGL_OUTPUT_CHAR(BgL_outchanz00_32, BgL_charz00_605); } } } 
{ /* ./Jas/produce.scm 122 */
obj_t BgL_arg1766z00_343;
BgL_arg1766z00_343 = 
CDR(BgL_l1418z00_339); 
{ 
obj_t BgL_l1418z00_943;
BgL_l1418z00_943 = BgL_arg1766z00_343; 
BgL_l1418z00_339 = BgL_l1418z00_943; 
goto BgL_forzd2each1419zd2_340;} } }  else 
{ /* ./Jas/produce.scm 122 */((bool_t)1); } } } 
{ /* ./Jas/produce.scm 123 */
long BgL_arg1771z00_344;
BgL_arg1771z00_344 = 
bgl_list_length(BgL_handlersz00_321); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, 
BINT(BgL_arg1771z00_344)); } 
{ 
obj_t BgL_l1420z00_345;
BgL_l1420z00_345 = BgL_handlersz00_321; 
BgL_forzd2each1421zd2_346:
{ /* ./Jas/produce.scm 124 */
bool_t BgL_test1775z00_347;
BgL_test1775z00_347 = 
PAIRP(BgL_l1420z00_345); 
if(BgL_test1775z00_347)
{ /* ./Jas/produce.scm 124 */
{ /* ./Jas/produce.scm 125 */
obj_t BgL_hz00_348;
BgL_hz00_348 = 
CAR(BgL_l1420z00_345); 
{ 

{ /* ./Jas/produce.scm 125 */
bool_t BgL_test1776z00_356;
BgL_test1776z00_356 = 
PAIRP(BgL_hz00_348); 
if(BgL_test1776z00_356)
{ /* ./Jas/produce.scm 125 */
obj_t BgL_cdrzd2148zd2_357;
BgL_cdrzd2148zd2_357 = 
CDR(BgL_hz00_348); 
{ /* ./Jas/produce.scm 125 */
bool_t BgL_test1777z00_358;
BgL_test1777z00_358 = 
PAIRP(BgL_cdrzd2148zd2_357); 
if(BgL_test1777z00_358)
{ /* ./Jas/produce.scm 125 */
obj_t BgL_cdrzd2154zd2_359;
BgL_cdrzd2154zd2_359 = 
CDR(BgL_cdrzd2148zd2_357); 
{ /* ./Jas/produce.scm 125 */
bool_t BgL_test1778z00_360;
BgL_test1778z00_360 = 
PAIRP(BgL_cdrzd2154zd2_359); 
if(BgL_test1778z00_360)
{ /* ./Jas/produce.scm 125 */
obj_t BgL_cdrzd2159zd2_361;
BgL_cdrzd2159zd2_361 = 
CDR(BgL_cdrzd2154zd2_359); 
{ /* ./Jas/produce.scm 125 */
bool_t BgL_test1779z00_362;
BgL_test1779z00_362 = 
PAIRP(BgL_cdrzd2159zd2_361); 
if(BgL_test1779z00_362)
{ /* ./Jas/produce.scm 125 */
bool_t BgL_test1780z00_363;
{ /* ./Jas/produce.scm 125 */
obj_t BgL_auxz00_961;
BgL_auxz00_961 = 
CDR(BgL_cdrzd2159zd2_361); 
BgL_test1780z00_363 = 
NULLP(BgL_auxz00_961); } 
if(BgL_test1780z00_363)
{ /* ./Jas/produce.scm 125 */
obj_t BgL_arg1782z00_364;obj_t BgL_arg1783z00_365;obj_t BgL_arg1784z00_366;obj_t BgL_arg1785z00_367;
BgL_arg1782z00_364 = 
CAR(BgL_hz00_348); 
BgL_arg1783z00_365 = 
CAR(BgL_cdrzd2148zd2_357); 
BgL_arg1784z00_366 = 
CAR(BgL_cdrzd2154zd2_359); 
BgL_arg1785z00_367 = 
CAR(BgL_cdrzd2159zd2_361); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_arg1782z00_364); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_arg1783z00_365); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_arg1784z00_366); 
BGl_outshortz00zzjas_producez00(BgL_outchanz00_32, BgL_arg1785z00_367); }  else 
{ /* ./Jas/produce.scm 125 */
BgL_tagzd2137zd2_354:
FAILURE(BGl_string1969z00zzjas_producez00,BGl_string1970z00zzjas_producez00,BgL_hz00_348);} }  else 
{ /* ./Jas/produce.scm 125 */
goto BgL_tagzd2137zd2_354;} } }  else 
{ /* ./Jas/produce.scm 125 */
goto BgL_tagzd2137zd2_354;} } }  else 
{ /* ./Jas/produce.scm 125 */
goto BgL_tagzd2137zd2_354;} } }  else 
{ /* ./Jas/produce.scm 125 */
goto BgL_tagzd2137zd2_354;} } } } 
{ /* ./Jas/produce.scm 124 */
obj_t BgL_arg1815z00_369;
BgL_arg1815z00_369 = 
CDR(BgL_l1420z00_345); 
{ 
obj_t BgL_l1420z00_975;
BgL_l1420z00_975 = BgL_arg1815z00_369; 
BgL_l1420z00_345 = BgL_l1420z00_975; 
goto BgL_forzd2each1421zd2_346;} } }  else 
{ /* ./Jas/produce.scm 124 */((bool_t)1); } } } 
BgL_auxz00_926 = 
BGl_producezd2attributeszd2zzjas_producez00(BgL_outchanz00_32, BgL_attributesz00_322); 
return 
BBOOL(BgL_auxz00_926);} }  else 
{ /* ./Jas/produce.scm 117 */
BgL_tagzd2102zd2_324:
FAILURE(BGl_string1969z00zzjas_producez00,BGl_string1971z00zzjas_producez00,BgL_codez00_33);} } }  else 
{ /* ./Jas/produce.scm 117 */
goto BgL_tagzd2102zd2_324;} } }  else 
{ /* ./Jas/produce.scm 117 */
goto BgL_tagzd2102zd2_324;} } }  else 
{ /* ./Jas/produce.scm 117 */
goto BgL_tagzd2102zd2_324;} } } } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzjas_producez00()
{ AN_OBJECT;
{ /* ./Jas/produce.scm 1 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzjas_producez00()
{ AN_OBJECT;
{ /* ./Jas/produce.scm 1 */
BGl_modulezd2initializa7ationz75zzjas_classfilez00(((long)21074), "jas_produce"); 
return 
BGl_modulezd2initializa7ationz75zzjas_libz00(((long)38394), "jas_produce");} 
}

