/*===========================================================================*/
/*   (R5rs/syntax.scm)                                                       */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -O4 -mklib -cc gcc-2.95 -fsharing -q -s -copt -DBGL_NO_PIC -unsafe -c R5rs/syntax.scm -indent -o objs/obj_u/R5rs/syntax.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>
#include <signal.h>

static obj_t BGl_loopz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__r5_macro_4_3_syntaxz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r5_macro_4_3_hygienez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
extern obj_t BGl_r5rszd2macrozd2matcheszd2patternzf3z21zz__r5_macro_4_3_hygienez00(obj_t, obj_t, obj_t);
static obj_t BGl_loop_2159z00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
extern obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
static obj_t BGl_TAGzd2220zd2zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2297z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2296z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl__expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2294z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2293z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2292z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2291z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2300z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2290z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2289z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2288z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2287z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2286z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2285z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl__expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
static obj_t BGl_symbol2283z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2282z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2281z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2279z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
static obj_t BGl_symbol2278z00zz__r5_macro_4_3_syntaxz00 = BUNSPEC;
extern obj_t BGl_r5rszd2hygienezd2untagz00zz__r5_macro_4_3_hygienez00(obj_t, obj_t, obj_t);
extern obj_t BGl_r5rszd2hygienezd2tagz00zz__r5_macro_4_3_hygienez00(obj_t, obj_t, obj_t);
extern obj_t BGl_r5rszd2macrozd2expandzd2patternzd2zz__r5_macro_4_3_hygienez00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza31557ze3z83zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
static obj_t BGl_syntaxzd2rulezd2procz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
static obj_t BGl_map2z00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__r5_macro_4_3_syntaxz00();
static obj_t BGl_loopz72z72zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
extern obj_t string_to_symbol(char *);
extern obj_t BGl_r5rszd2macrozd2getzd2bindingszd2zz__r5_macro_4_3_hygienez00(obj_t, obj_t, obj_t);
extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
BGL_EXPORTED_DECL obj_t BGl_expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
static obj_t BGl_syntaxzd2ruleszd2procz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t);
static obj_t BGl_TAGzd2163zd2zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t, obj_t, obj_t);
extern obj_t bgl_append2(obj_t, obj_t);
static obj_t BGl__expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza31430ze3z83zz__r5_macro_4_3_syntaxz00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zz__r5_macro_4_3_syntaxz00();
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_expandzd2letreczd2syntaxzd2envzd2zz__r5_macro_4_3_syntaxz00, BgL_bgl__expandza7d2letrecza7d2syntaxza700za7za7__r5_macro_4_3_syntaxza7002309z00, BGl__expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00, 0L, 2 );
DEFINE_STRING( BGl_string2299z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2299za700za7za7__r5_macro_4_3_syntaxza7002310z00, "Illegal form", 12 );
DEFINE_STRING( BGl_string2298z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2298za700za7za7__r5_macro_4_3_syntaxza7002311z00, "define-syntax", 13 );
DEFINE_STRING( BGl_string2295z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2295za700za7za7__r5_macro_4_3_syntaxza7002312z00, "Illegal clause", 14 );
DEFINE_STRING( BGl_string2303z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2303za700za7za7__r5_macro_4_3_syntaxza7002313z00, "let-syntax", 10 );
DEFINE_STRING( BGl_string2302z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2302za700za7za7__r5_macro_4_3_syntaxza7002314z00, "Illegal bindings", 16 );
DEFINE_STRING( BGl_string2301z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2301za700za7za7__r5_macro_4_3_syntaxza7002315z00, "letrec-syntax", 13 );
DEFINE_STRING( BGl_string2284z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2284za700za7za7__r5_macro_4_3_syntaxza7002316z00, "No matching clause", 18 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2definezd2syntaxzd2envzd2zz__r5_macro_4_3_syntaxz00, BgL_bgl__expandza7d2defineza7d2syntaxza700za7za7__r5_macro_4_3_syntaxza7002317z00, BGl__expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00, 0L, 2 );
DEFINE_STRING( BGl_string2277z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2277za700za7za7__r5_macro_4_3_syntaxza7002318z00, "Illegal list", 12 );
DEFINE_STRING( BGl_string2276z00zz__r5_macro_4_3_syntaxz00, BgL_bgl_string2276za700za7za7__r5_macro_4_3_syntaxza7002319z00, "syntax-rules", 12 );
DEFINE_EXPORT_PROCEDURE( BGl_expandzd2letzd2syntaxzd2envzd2zz__r5_macro_4_3_syntaxz00, BgL_bgl__expandza7d2letza7d2syntaxza700za7za7__r5_macro_4_3_syntaxza7002320z00, BGl__expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__r5_macro_4_3_syntaxz00(long BgL_checksumz00_1019, char * BgL_fromz00_1020)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__r5_macro_4_3_syntaxz00))
{ 
BGl_requirezd2initializa7ationz75zz__r5_macro_4_3_syntaxz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__r5_macro_4_3_syntaxz00(); 
BGl_importedzd2moduleszd2initz00zz__r5_macro_4_3_syntaxz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__r5_macro_4_3_syntaxz00()
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 18 */
BGl_symbol2278z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("let"); 
BGl_symbol2279z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("cons"); 
BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("quote"); 
BGl_symbol2281z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("cond"); 
BGl_symbol2282z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("else"); 
BGl_symbol2283z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("error"); 
BGl_symbol2285z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-macro-matches-pattern?"); 
BGl_symbol2286z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("multiple-value-bind"); 
BGl_symbol2287z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("tout-pat"); 
BGl_symbol2288z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("alist"); 
BGl_symbol2289z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-hygiene-tag"); 
BGl_symbol2290z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("append"); 
BGl_symbol2291z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-hygiene-flatten"); 
BGl_symbol2292z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-hygiene-untag"); 
BGl_symbol2293z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-macro-expand-pattern"); 
BGl_symbol2294z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("r5rs-macro-get-bindings"); 
BGl_symbol2296z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("syntax-rules"); 
BGl_symbol2297z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("define-macro"); 
return ( 
BGl_symbol2300z00zz__r5_macro_4_3_syntaxz00 = 
string_to_symbol("begin"), BUNSPEC) ;} 
}



/* map2 */
obj_t BGl_map2z00zz__r5_macro_4_3_syntaxz00(obj_t BgL_fz00_1, obj_t BgL_l0z00_2)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 49 */
return 
BGl_loopz72z72zz__r5_macro_4_3_syntaxz00(BgL_fz00_1, BgL_l0z00_2, BgL_l0z00_2);} 
}



/* loop' */
obj_t BGl_loopz72z72zz__r5_macro_4_3_syntaxz00(obj_t BgL_fz00_1018, obj_t BgL_l0z00_1017, obj_t BgL_lz00_277)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 50 */
if(
NULLP(BgL_lz00_277))
{ /* ./R5rs/syntax.scm 52 */
return BNIL;}  else 
{ /* ./R5rs/syntax.scm 52 */
if(
PAIRP(BgL_lz00_277))
{ /* ./R5rs/syntax.scm 54 */
{ /* ./R5rs/syntax.scm 57 */
obj_t BgL_arg1007z00_281;obj_t BgL_arg1008z00_282;
{ /* ./R5rs/syntax.scm 57 */
obj_t BgL_arg1011z00_283;
BgL_arg1011z00_283 = 
CAR(BgL_lz00_277); 
BgL_arg1007z00_281 = 
BGl_syntaxzd2rulezd2procz00zz__r5_macro_4_3_syntaxz00(BgL_fz00_1018, BgL_arg1011z00_283); } 
BgL_arg1008z00_282 = 
BGl_loopz72z72zz__r5_macro_4_3_syntaxz00(BgL_fz00_1018, BgL_l0z00_1017, 
CDR(BgL_lz00_277)); 
return 
MAKE_PAIR(BgL_arg1007z00_281, BgL_arg1008z00_282);} }  else 
{ /* ./R5rs/syntax.scm 54 */
FAILURE(BGl_string2276z00zz__r5_macro_4_3_syntaxz00,BGl_string2277z00zz__r5_macro_4_3_syntaxz00,BgL_l0z00_1017);} } } 
}



/* syntax-rules-proc */
obj_t BGl_syntaxzd2ruleszd2procz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_macrozd2namezd2_3, obj_t BgL_kkz00_4, obj_t BgL_ccz00_5, obj_t BgL_argzd2symzd2_6, obj_t BgL_kkzd2symzd2_7)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 62 */
{ /* ./R5rs/syntax.scm 82 */
obj_t BgL_syntaxzd2rulezd2procz00_975;
{ 
int BgL_auxz00_1057;
BgL_auxz00_1057 = 
(int)(((long)2)); 
BgL_syntaxzd2rulezd2procz00_975 = 
MAKE_EL_PROCEDURE(BgL_auxz00_1057); } 
{ /* ./R5rs/syntax.scm 82 */
int BgL_auxz00_1060;
BgL_auxz00_1060 = 
(int)(((long)0)); 
PROCEDURE_EL_SET(BgL_syntaxzd2rulezd2procz00_975, BgL_auxz00_1060, BgL_kkzd2symzd2_7); } 
{ /* ./R5rs/syntax.scm 82 */
int BgL_auxz00_1063;
BgL_auxz00_1063 = 
(int)(((long)1)); 
PROCEDURE_EL_SET(BgL_syntaxzd2rulezd2procz00_975, BgL_auxz00_1063, BgL_argzd2symzd2_6); } 
{ /* ./R5rs/syntax.scm 83 */
obj_t BgL_kkz00_286;
BgL_kkz00_286 = 
MAKE_PAIR(BgL_macrozd2namezd2_3, BgL_kkz00_4); 
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1022z00_287;obj_t BgL_arg1023z00_288;
BgL_arg1022z00_287 = BGl_symbol2278z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1026z00_289;obj_t BgL_arg1028z00_290;
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1031z00_291;obj_t BgL_arg1032z00_292;
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1035z00_293;
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1038z00_294;
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1042z00_296;obj_t BgL_arg1043z00_297;
BgL_arg1042z00_296 = BGl_symbol2279z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1046z00_298;obj_t BgL_arg1047z00_299;
{ /* ./R5rs/syntax.scm 84 */
obj_t BgL_arg1050z00_300;obj_t BgL_arg1051z00_301;
BgL_arg1050z00_300 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1051z00_301 = 
MAKE_PAIR(BgL_macrozd2namezd2_3, BNIL); 
BgL_arg1046z00_298 = 
MAKE_PAIR(BgL_arg1050z00_300, BgL_arg1051z00_301); } 
BgL_arg1047z00_299 = 
MAKE_PAIR(BgL_argzd2symzd2_6, BNIL); 
BgL_arg1043z00_297 = 
MAKE_PAIR(BgL_arg1046z00_298, BgL_arg1047z00_299); } 
BgL_arg1038z00_294 = 
MAKE_PAIR(BgL_arg1042z00_296, BgL_arg1043z00_297); } 
BgL_arg1035z00_293 = 
MAKE_PAIR(BgL_arg1038z00_294, BNIL); } 
BgL_arg1031z00_291 = 
MAKE_PAIR(BgL_argzd2symzd2_6, BgL_arg1035z00_293); } 
{ /* ./R5rs/syntax.scm 85 */
obj_t BgL_arg1058z00_302;
{ /* ./R5rs/syntax.scm 85 */
obj_t BgL_arg1064z00_304;
{ /* ./R5rs/syntax.scm 85 */
obj_t BgL_arg1067z00_305;
{ /* ./R5rs/syntax.scm 85 */
obj_t BgL_arg1073z00_307;obj_t BgL_arg1075z00_308;
BgL_arg1073z00_307 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1075z00_308 = 
MAKE_PAIR(BgL_kkz00_286, BNIL); 
BgL_arg1067z00_305 = 
MAKE_PAIR(BgL_arg1073z00_307, BgL_arg1075z00_308); } 
BgL_arg1064z00_304 = 
MAKE_PAIR(BgL_arg1067z00_305, BNIL); } 
BgL_arg1058z00_302 = 
MAKE_PAIR(BgL_kkzd2symzd2_7, BgL_arg1064z00_304); } 
BgL_arg1032z00_292 = 
MAKE_PAIR(BgL_arg1058z00_302, BNIL); } 
BgL_arg1026z00_289 = 
MAKE_PAIR(BgL_arg1031z00_291, BgL_arg1032z00_292); } 
{ /* ./R5rs/syntax.scm 86 */
obj_t BgL_arg1079z00_309;
{ /* ./R5rs/syntax.scm 86 */
obj_t BgL_arg1083z00_311;obj_t BgL_arg1084z00_312;
BgL_arg1083z00_311 = BGl_symbol2281z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 86 */
obj_t BgL_arg1087z00_313;obj_t BgL_arg1088z00_314;
BgL_arg1087z00_313 = 
BGl_map2z00zz__r5_macro_4_3_syntaxz00(BgL_syntaxzd2rulezd2procz00_975, BgL_ccz00_5); 
{ /* ./R5rs/syntax.scm 87 */
obj_t BgL_arg1092z00_315;
{ /* ./R5rs/syntax.scm 87 */
obj_t BgL_arg1096z00_317;obj_t BgL_arg1097z00_318;
BgL_arg1096z00_317 = BGl_symbol2282z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1100z00_319;
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1104z00_321;obj_t BgL_arg1105z00_322;
BgL_arg1104z00_321 = BGl_symbol2283z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1109z00_324;
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1113z00_326;
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1117z00_327;
{ /* ./R5rs/syntax.scm 88 */
obj_t BgL_arg1121z00_329;obj_t BgL_arg1122z00_330;
BgL_arg1121z00_329 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1122z00_330 = 
MAKE_PAIR(BgL_macrozd2namezd2_3, BNIL); 
BgL_arg1117z00_327 = 
MAKE_PAIR(BgL_arg1121z00_329, BgL_arg1122z00_330); } 
BgL_arg1113z00_326 = 
MAKE_PAIR(BgL_arg1117z00_327, BNIL); } 
BgL_arg1109z00_324 = 
MAKE_PAIR(BGl_string2284z00zz__r5_macro_4_3_syntaxz00, BgL_arg1113z00_326); } 
BgL_arg1105z00_322 = 
MAKE_PAIR(BGl_string2276z00zz__r5_macro_4_3_syntaxz00, BgL_arg1109z00_324); } 
BgL_arg1100z00_319 = 
MAKE_PAIR(BgL_arg1104z00_321, BgL_arg1105z00_322); } 
BgL_arg1097z00_318 = 
MAKE_PAIR(BgL_arg1100z00_319, BNIL); } 
BgL_arg1092z00_315 = 
MAKE_PAIR(BgL_arg1096z00_317, BgL_arg1097z00_318); } 
BgL_arg1088z00_314 = 
MAKE_PAIR(BgL_arg1092z00_315, BNIL); } 
BgL_arg1084z00_312 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1087z00_313, BgL_arg1088z00_314); } 
BgL_arg1079z00_309 = 
MAKE_PAIR(BgL_arg1083z00_311, BgL_arg1084z00_312); } 
BgL_arg1028z00_290 = 
MAKE_PAIR(BgL_arg1079z00_309, BNIL); } 
BgL_arg1023z00_288 = 
MAKE_PAIR(BgL_arg1026z00_289, BgL_arg1028z00_290); } 
return 
MAKE_PAIR(BgL_arg1022z00_287, BgL_arg1023z00_288);} } } } 
}



/* syntax-rule-proc */
obj_t BGl_syntaxzd2rulezd2procz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_976, obj_t BgL_cz00_979)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 82 */
{ /* ./R5rs/syntax.scm 82 */
obj_t BgL_kkzd2symzd2_977;obj_t BgL_argzd2symzd2_978;
{ /* ./R5rs/syntax.scm 82 */
int BgL_auxz00_1095;
BgL_auxz00_1095 = 
(int)(((long)0)); 
BgL_kkzd2symzd2_977 = 
PROCEDURE_EL_REF(BgL_envz00_976, BgL_auxz00_1095); } 
{ /* ./R5rs/syntax.scm 82 */
int BgL_auxz00_1098;
BgL_auxz00_1098 = 
(int)(((long)1)); 
BgL_argzd2symzd2_978 = 
PROCEDURE_EL_REF(BgL_envz00_976, BgL_auxz00_1098); } 
{ 
obj_t BgL_cz00_331;
BgL_cz00_331 = BgL_cz00_979; 
{ 
obj_t BgL_inzd2patzd2_333;obj_t BgL_outzd2patzd2_334;
if(
PAIRP(BgL_cz00_331))
{ /* ./R5rs/syntax.scm 82 */
obj_t BgL_cdrzd2109zd2_339;
BgL_cdrzd2109zd2_339 = 
CDR(BgL_cz00_331); 
if(
PAIRP(BgL_cdrzd2109zd2_339))
{ /* ./R5rs/syntax.scm 82 */
bool_t BgL_testz00_1106;
{ /* ./R5rs/syntax.scm 82 */
obj_t BgL_auxz00_1107;
BgL_auxz00_1107 = 
CDR(BgL_cdrzd2109zd2_339); 
BgL_testz00_1106 = 
NULLP(BgL_auxz00_1107); } 
if(BgL_testz00_1106)
{ /* ./R5rs/syntax.scm 82 */
BgL_inzd2patzd2_333 = 
CAR(BgL_cz00_331); 
BgL_outzd2patzd2_334 = 
CAR(BgL_cdrzd2109zd2_339); 
{ /* ./R5rs/syntax.scm 66 */
obj_t BgL_arg1147z00_345;obj_t BgL_arg1148z00_346;
{ /* ./R5rs/syntax.scm 66 */
obj_t BgL_arg1151z00_347;obj_t BgL_arg1152z00_348;
BgL_arg1151z00_347 = BGl_symbol2285z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 66 */
obj_t BgL_arg1155z00_349;obj_t BgL_arg1156z00_350;
{ /* ./R5rs/syntax.scm 66 */
obj_t BgL_arg1160z00_351;obj_t BgL_arg1161z00_352;
BgL_arg1160z00_351 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1161z00_352 = 
MAKE_PAIR(BgL_inzd2patzd2_333, BNIL); 
BgL_arg1155z00_349 = 
MAKE_PAIR(BgL_arg1160z00_351, BgL_arg1161z00_352); } 
{ /* ./R5rs/syntax.scm 66 */
obj_t BgL_arg1165z00_353;
BgL_arg1165z00_353 = 
MAKE_PAIR(BgL_kkzd2symzd2_977, BNIL); 
BgL_arg1156z00_350 = 
MAKE_PAIR(BgL_argzd2symzd2_978, BgL_arg1165z00_353); } 
BgL_arg1152z00_348 = 
MAKE_PAIR(BgL_arg1155z00_349, BgL_arg1156z00_350); } 
BgL_arg1147z00_345 = 
MAKE_PAIR(BgL_arg1151z00_347, BgL_arg1152z00_348); } 
{ /* ./R5rs/syntax.scm 67 */
obj_t BgL_arg1169z00_354;
{ /* ./R5rs/syntax.scm 67 */
obj_t BgL_arg1174z00_356;obj_t BgL_arg1175z00_357;
BgL_arg1174z00_356 = BGl_symbol2286z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 67 */
obj_t BgL_arg1178z00_358;obj_t BgL_arg1179z00_359;
{ /* ./R5rs/syntax.scm 67 */
obj_t BgL_arg1182z00_360;obj_t BgL_arg1183z00_361;
BgL_arg1182z00_360 = BGl_symbol2287z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1183z00_361 = 
MAKE_PAIR(BGl_symbol2288z00zz__r5_macro_4_3_syntaxz00, BNIL); 
BgL_arg1178z00_358 = 
MAKE_PAIR(BgL_arg1182z00_360, BgL_arg1183z00_361); } 
{ /* ./R5rs/syntax.scm 69 */
obj_t BgL_arg1187z00_362;obj_t BgL_arg1188z00_363;
{ /* ./R5rs/syntax.scm 69 */
obj_t BgL_arg1191z00_364;obj_t BgL_arg1192z00_365;
BgL_arg1191z00_364 = BGl_symbol2289z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 69 */
obj_t BgL_arg1195z00_366;obj_t BgL_arg1196z00_367;
{ /* ./R5rs/syntax.scm 69 */
obj_t BgL_arg1199z00_368;obj_t BgL_arg1200z00_369;
BgL_arg1199z00_368 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1200z00_369 = 
MAKE_PAIR(BgL_outzd2patzd2_334, BNIL); 
BgL_arg1195z00_366 = 
MAKE_PAIR(BgL_arg1199z00_368, BgL_arg1200z00_369); } 
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1204z00_370;obj_t BgL_arg1205z00_371;
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1208z00_372;obj_t BgL_arg1209z00_373;
BgL_arg1208z00_372 = BGl_symbol2290z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1212z00_374;obj_t BgL_arg1213z00_375;
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1216z00_376;obj_t BgL_arg1217z00_377;
BgL_arg1216z00_376 = BGl_symbol2291z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1220z00_378;
{ /* ./R5rs/syntax.scm 70 */
obj_t BgL_arg1224z00_380;obj_t BgL_arg1225z00_381;
BgL_arg1224z00_380 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1225z00_381 = 
MAKE_PAIR(BgL_inzd2patzd2_333, BNIL); 
BgL_arg1220z00_378 = 
MAKE_PAIR(BgL_arg1224z00_380, BgL_arg1225z00_381); } 
BgL_arg1217z00_377 = 
MAKE_PAIR(BgL_arg1220z00_378, BNIL); } 
BgL_arg1212z00_374 = 
MAKE_PAIR(BgL_arg1216z00_376, BgL_arg1217z00_377); } 
BgL_arg1213z00_375 = 
MAKE_PAIR(BgL_kkzd2symzd2_977, BNIL); 
BgL_arg1209z00_373 = 
MAKE_PAIR(BgL_arg1212z00_374, BgL_arg1213z00_375); } 
BgL_arg1204z00_370 = 
MAKE_PAIR(BgL_arg1208z00_372, BgL_arg1209z00_373); } 
{ /* ./R5rs/syntax.scm 72 */
obj_t BgL_arg1230z00_382;
{ /* ./R5rs/syntax.scm 72 */
obj_t BgL_arg1234z00_384;obj_t BgL_arg1235z00_385;
BgL_arg1234z00_384 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1235z00_385 = 
MAKE_PAIR(BNIL, BNIL); 
BgL_arg1230z00_382 = 
MAKE_PAIR(BgL_arg1234z00_384, BgL_arg1235z00_385); } 
BgL_arg1205z00_371 = 
MAKE_PAIR(BgL_arg1230z00_382, BNIL); } 
BgL_arg1196z00_367 = 
MAKE_PAIR(BgL_arg1204z00_370, BgL_arg1205z00_371); } 
BgL_arg1192z00_365 = 
MAKE_PAIR(BgL_arg1195z00_366, BgL_arg1196z00_367); } 
BgL_arg1187z00_362 = 
MAKE_PAIR(BgL_arg1191z00_364, BgL_arg1192z00_365); } 
{ /* ./R5rs/syntax.scm 74 */
obj_t BgL_arg1240z00_386;
{ /* ./R5rs/syntax.scm 74 */
obj_t BgL_arg1244z00_388;obj_t BgL_arg1245z00_389;
BgL_arg1244z00_388 = BGl_symbol2292z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 75 */
obj_t BgL_arg1249z00_390;obj_t BgL_arg1250z00_391;
{ /* ./R5rs/syntax.scm 75 */
obj_t BgL_arg1254z00_392;obj_t BgL_arg1255z00_393;
BgL_arg1254z00_392 = BGl_symbol2293z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 75 */
obj_t BgL_arg1258z00_394;obj_t BgL_arg1259z00_395;
BgL_arg1258z00_394 = BGl_symbol2287z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 77 */
obj_t BgL_arg1262z00_396;obj_t BgL_arg1265z00_397;
{ /* ./R5rs/syntax.scm 77 */
obj_t BgL_arg1268z00_398;obj_t BgL_arg1269z00_399;
BgL_arg1268z00_398 = BGl_symbol2294z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 77 */
obj_t BgL_arg1273z00_400;obj_t BgL_arg1274z00_401;
{ /* ./R5rs/syntax.scm 77 */
obj_t BgL_arg1277z00_402;obj_t BgL_arg1278z00_403;
BgL_arg1277z00_402 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1278z00_403 = 
MAKE_PAIR(BgL_inzd2patzd2_333, BNIL); 
BgL_arg1273z00_400 = 
MAKE_PAIR(BgL_arg1277z00_402, BgL_arg1278z00_403); } 
{ /* ./R5rs/syntax.scm 77 */
obj_t BgL_arg1282z00_404;
BgL_arg1282z00_404 = 
MAKE_PAIR(BgL_kkzd2symzd2_977, BNIL); 
BgL_arg1274z00_401 = 
MAKE_PAIR(BgL_argzd2symzd2_978, BgL_arg1282z00_404); } 
BgL_arg1269z00_399 = 
MAKE_PAIR(BgL_arg1273z00_400, BgL_arg1274z00_401); } 
BgL_arg1262z00_396 = 
MAKE_PAIR(BgL_arg1268z00_398, BgL_arg1269z00_399); } 
BgL_arg1265z00_397 = 
MAKE_PAIR(BgL_kkzd2symzd2_977, BNIL); 
BgL_arg1259z00_395 = 
MAKE_PAIR(BgL_arg1262z00_396, BgL_arg1265z00_397); } 
BgL_arg1255z00_393 = 
MAKE_PAIR(BgL_arg1258z00_394, BgL_arg1259z00_395); } 
BgL_arg1249z00_390 = 
MAKE_PAIR(BgL_arg1254z00_392, BgL_arg1255z00_393); } 
{ /* ./R5rs/syntax.scm 74 */
obj_t BgL_arg1287z00_405;obj_t BgL_arg1288z00_406;
BgL_arg1287z00_405 = BGl_symbol2288z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 80 */
obj_t BgL_arg1291z00_407;
{ /* ./R5rs/syntax.scm 80 */
obj_t BgL_arg1295z00_409;obj_t BgL_arg1296z00_410;
BgL_arg1295z00_409 = BGl_symbol2280z00zz__r5_macro_4_3_syntaxz00; 
BgL_arg1296z00_410 = 
MAKE_PAIR(BNIL, BNIL); 
BgL_arg1291z00_407 = 
MAKE_PAIR(BgL_arg1295z00_409, BgL_arg1296z00_410); } 
BgL_arg1288z00_406 = 
MAKE_PAIR(BgL_arg1291z00_407, BNIL); } 
BgL_arg1250z00_391 = 
MAKE_PAIR(BgL_arg1287z00_405, BgL_arg1288z00_406); } 
BgL_arg1245z00_389 = 
MAKE_PAIR(BgL_arg1249z00_390, BgL_arg1250z00_391); } 
BgL_arg1240z00_386 = 
MAKE_PAIR(BgL_arg1244z00_388, BgL_arg1245z00_389); } 
BgL_arg1188z00_363 = 
MAKE_PAIR(BgL_arg1240z00_386, BNIL); } 
BgL_arg1179z00_359 = 
MAKE_PAIR(BgL_arg1187z00_362, BgL_arg1188z00_363); } 
BgL_arg1175z00_357 = 
MAKE_PAIR(BgL_arg1178z00_358, BgL_arg1179z00_359); } 
BgL_arg1169z00_354 = 
MAKE_PAIR(BgL_arg1174z00_356, BgL_arg1175z00_357); } 
BgL_arg1148z00_346 = 
MAKE_PAIR(BgL_arg1169z00_354, BNIL); } 
return 
MAKE_PAIR(BgL_arg1147z00_345, BgL_arg1148z00_346);} }  else 
{ /* ./R5rs/syntax.scm 82 */
FAILURE(BGl_string2276z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_331);} }  else 
{ /* ./R5rs/syntax.scm 82 */
FAILURE(BGl_string2276z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_331);} }  else 
{ /* ./R5rs/syntax.scm 82 */
FAILURE(BGl_string2276z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_331);} } } } } 
}



/* expand-define-syntax */
BGL_EXPORTED_DEF obj_t BGl_expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_xz00_8, obj_t BgL_ez00_9)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 93 */
if(
PAIRP(BgL_xz00_8))
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_cdrzd2125zd2_419;
BgL_cdrzd2125zd2_419 = 
CDR(BgL_xz00_8); 
if(
PAIRP(BgL_cdrzd2125zd2_419))
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_carzd2129zd2_421;obj_t BgL_cdrzd2130zd2_422;
BgL_carzd2129zd2_421 = 
CAR(BgL_cdrzd2125zd2_419); 
BgL_cdrzd2130zd2_422 = 
CDR(BgL_cdrzd2125zd2_419); 
if(
SYMBOLP(BgL_carzd2129zd2_421))
{ /* ./R5rs/syntax.scm 94 */
if(
PAIRP(BgL_cdrzd2130zd2_422))
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_carzd2136zd2_425;
BgL_carzd2136zd2_425 = 
CAR(BgL_cdrzd2130zd2_422); 
if(
PAIRP(BgL_carzd2136zd2_425))
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_cdrzd2141zd2_427;
BgL_cdrzd2141zd2_427 = 
CDR(BgL_carzd2136zd2_425); 
{ /* ./R5rs/syntax.scm 94 */
bool_t BgL_testz00_1175;
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_auxz00_1176;
BgL_auxz00_1176 = 
CAR(BgL_carzd2136zd2_425); 
BgL_testz00_1175 = 
(BgL_auxz00_1176==BGl_symbol2296z00zz__r5_macro_4_3_syntaxz00); } 
if(BgL_testz00_1175)
{ /* ./R5rs/syntax.scm 94 */
if(
PAIRP(BgL_cdrzd2141zd2_427))
{ /* ./R5rs/syntax.scm 94 */
bool_t BgL_testz00_1181;
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_auxz00_1182;
BgL_auxz00_1182 = 
CDR(BgL_cdrzd2130zd2_422); 
BgL_testz00_1181 = 
NULLP(BgL_auxz00_1182); } 
if(BgL_testz00_1181)
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1309z00_431;obj_t BgL_arg1310z00_432;
BgL_arg1309z00_431 = 
CAR(BgL_cdrzd2141zd2_427); 
BgL_arg1310z00_432 = 
CDR(BgL_cdrzd2141zd2_427); 
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_rulesz00_759;
BgL_rulesz00_759 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BEOA); 
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1343z00_760;
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1346z00_761;obj_t BgL_arg1347z00_762;
BgL_arg1346z00_761 = BGl_symbol2297z00zz__r5_macro_4_3_syntaxz00; 
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1352z00_763;obj_t BgL_arg1354z00_764;
BgL_arg1352z00_763 = 
MAKE_PAIR(BgL_carzd2129zd2_421, BgL_rulesz00_759); 
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1358z00_765;
{ /* ./R5rs/syntax.scm 94 */
obj_t BgL_arg1362z00_767;
BgL_arg1362z00_767 = 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, BEOA); 
BgL_arg1358z00_765 = 
BGl_syntaxzd2ruleszd2procz00zz__r5_macro_4_3_syntaxz00(BgL_carzd2129zd2_421, BgL_arg1309z00_431, BgL_arg1310z00_432, BgL_rulesz00_759, BgL_arg1362z00_767); } 
BgL_arg1354z00_764 = 
MAKE_PAIR(BgL_arg1358z00_765, BNIL); } 
BgL_arg1347z00_762 = 
MAKE_PAIR(BgL_arg1352z00_763, BgL_arg1354z00_764); } 
BgL_arg1343z00_760 = 
MAKE_PAIR(BgL_arg1346z00_761, BgL_arg1347z00_762); } 
return 
PROCEDURE_ENTRY(BgL_ez00_9)(BgL_ez00_9, BgL_arg1343z00_760, BgL_ez00_9, BEOA);} } }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} } }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} }  else 
{ /* ./R5rs/syntax.scm 94 */
FAILURE(BGl_string2298z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_8);} } 
}



/* _expand-define-syntax */
obj_t BGl__expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_980, obj_t BgL_xz00_981, obj_t BgL_ez00_982)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 93 */
return 
BGl_expandzd2definezd2syntaxz00zz__r5_macro_4_3_syntaxz00(BgL_xz00_981, BgL_ez00_982);} 
}



/* expand-letrec-syntax */
BGL_EXPORTED_DEF obj_t BGl_expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_xz00_10, obj_t BgL_ez00_11)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 108 */
{ 
obj_t BgL_bindingsz00_445;obj_t BgL_bodyz00_446;
if(
PAIRP(BgL_xz00_10))
{ /* ./R5rs/syntax.scm 109 */
obj_t BgL_cdrzd2156zd2_451;
BgL_cdrzd2156zd2_451 = 
CDR(BgL_xz00_10); 
if(
PAIRP(BgL_cdrzd2156zd2_451))
{ /* ./R5rs/syntax.scm 109 */
BgL_bindingsz00_445 = 
CAR(BgL_cdrzd2156zd2_451); 
BgL_bodyz00_446 = 
CDR(BgL_cdrzd2156zd2_451); 
{ /* ./R5rs/syntax.scm 111 */
obj_t BgL_e1z00_455;
BgL_e1z00_455 = 
BGl_loopz00zz__r5_macro_4_3_syntaxz00(BgL_ez00_11, BgL_bindingsz00_445); 
{ /* ./R5rs/syntax.scm 141 */
obj_t BgL_arg1381z00_456;
{ /* ./R5rs/syntax.scm 141 */
obj_t BgL_auxz00_1213;
BgL_auxz00_1213 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_bodyz00_446, BNIL); 
BgL_arg1381z00_456 = 
MAKE_PAIR(BGl_symbol2300z00zz__r5_macro_4_3_syntaxz00, BgL_auxz00_1213); } 
return 
PROCEDURE_ENTRY(BgL_e1z00_455)(BgL_e1z00_455, BgL_arg1381z00_456, BgL_e1z00_455, BEOA);} } }  else 
{ /* ./R5rs/syntax.scm 109 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_10);} }  else 
{ /* ./R5rs/syntax.scm 109 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_10);} } } 
}



/* _expand-letrec-syntax */
obj_t BGl__expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_986, obj_t BgL_xz00_987, obj_t BgL_ez00_988)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 108 */
return 
BGl_expandzd2letreczd2syntaxz00zz__r5_macro_4_3_syntaxz00(BgL_xz00_987, BgL_ez00_988);} 
}



/* loop */
obj_t BGl_loopz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_ez00_989, obj_t BgL_bindingsz00_459)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 111 */
if(
NULLP(BgL_bindingsz00_459))
{ /* ./R5rs/syntax.scm 112 */
return BgL_ez00_989;}  else 
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_ezd2165zd2_467;
BgL_ezd2165zd2_467 = 
CAR(BgL_bindingsz00_459); 
if(
PAIRP(BgL_ezd2165zd2_467))
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_carzd2172zd2_469;obj_t BgL_cdrzd2173zd2_470;
BgL_carzd2172zd2_469 = 
CAR(BgL_ezd2165zd2_467); 
BgL_cdrzd2173zd2_470 = 
CDR(BgL_ezd2165zd2_467); 
if(
SYMBOLP(BgL_carzd2172zd2_469))
{ /* ./R5rs/syntax.scm 114 */
if(
PAIRP(BgL_cdrzd2173zd2_470))
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_carzd2179zd2_473;
BgL_carzd2179zd2_473 = 
CAR(BgL_cdrzd2173zd2_470); 
if(
PAIRP(BgL_carzd2179zd2_473))
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_cdrzd2184zd2_475;
BgL_cdrzd2184zd2_475 = 
CDR(BgL_carzd2179zd2_473); 
{ /* ./R5rs/syntax.scm 114 */
bool_t BgL_testz00_1238;
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_auxz00_1239;
BgL_auxz00_1239 = 
CAR(BgL_carzd2179zd2_473); 
BgL_testz00_1238 = 
(BgL_auxz00_1239==BGl_symbol2296z00zz__r5_macro_4_3_syntaxz00); } 
if(BgL_testz00_1238)
{ /* ./R5rs/syntax.scm 114 */
if(
PAIRP(BgL_cdrzd2184zd2_475))
{ /* ./R5rs/syntax.scm 114 */
bool_t BgL_testz00_1244;
{ /* ./R5rs/syntax.scm 114 */
obj_t BgL_auxz00_1245;
BgL_auxz00_1245 = 
CDR(BgL_cdrzd2173zd2_470); 
BgL_testz00_1244 = 
NULLP(BgL_auxz00_1245); } 
if(BgL_testz00_1244)
{ /* ./R5rs/syntax.scm 114 */
return 
BGl_TAGzd2163zd2zz__r5_macro_4_3_syntaxz00(BgL_bindingsz00_459, BgL_ez00_989, BgL_carzd2172zd2_469, 
CAR(BgL_cdrzd2184zd2_475), 
CDR(BgL_cdrzd2184zd2_475));}  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} } }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} }  else 
{ /* ./R5rs/syntax.scm 114 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_459);} } } 
}



/* TAG-163 */
obj_t BGl_TAGzd2163zd2zz__r5_macro_4_3_syntaxz00(obj_t BgL_bindingsz00_991, obj_t BgL_ez00_990, obj_t BgL_mz00_462, obj_t BgL_ksz00_463, obj_t BgL_clausesz00_464)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 114 */
{ /* ./R5rs/syntax.scm 116 */
obj_t BgL_zc3anonymousza31430ze3z83_983;
{ 
int BgL_auxz00_1260;int BgL_auxz00_1258;
BgL_auxz00_1260 = 
(int)(((long)5)); 
BgL_auxz00_1258 = 
(int)(((long)2)); 
BgL_zc3anonymousza31430ze3z83_983 = 
make_fx_procedure(BGl_zc3anonymousza31430ze3z83zz__r5_macro_4_3_syntaxz00, BgL_auxz00_1258, BgL_auxz00_1260); } 
{ /* ./R5rs/syntax.scm 116 */
int BgL_auxz00_1263;
BgL_auxz00_1263 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31430ze3z83_983, BgL_auxz00_1263, BgL_ez00_990); } 
{ /* ./R5rs/syntax.scm 116 */
int BgL_auxz00_1266;
BgL_auxz00_1266 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza31430ze3z83_983, BgL_auxz00_1266, BgL_mz00_462); } 
{ /* ./R5rs/syntax.scm 116 */
int BgL_auxz00_1269;
BgL_auxz00_1269 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza31430ze3z83_983, BgL_auxz00_1269, BgL_bindingsz00_991); } 
{ /* ./R5rs/syntax.scm 116 */
int BgL_auxz00_1272;
BgL_auxz00_1272 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza31430ze3z83_983, BgL_auxz00_1272, BgL_ksz00_463); } 
{ /* ./R5rs/syntax.scm 116 */
int BgL_auxz00_1275;
BgL_auxz00_1275 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza31430ze3z83_983, BgL_auxz00_1275, BgL_clausesz00_464); } 
return BgL_zc3anonymousza31430ze3z83_983;} } 
}



/* <anonymous:1430> */
obj_t BGl_zc3anonymousza31430ze3z83zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_992, obj_t BgL_xz00_998, obj_t BgL_e2z00_999)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 116 */
{ /* ./R5rs/syntax.scm 117 */
obj_t BgL_ez00_993;obj_t BgL_mz00_994;obj_t BgL_bindingsz00_995;obj_t BgL_ksz00_996;obj_t BgL_clausesz00_997;
{ /* ./R5rs/syntax.scm 117 */
int BgL_auxz00_1278;
BgL_auxz00_1278 = 
(int)(((long)0)); 
BgL_ez00_993 = 
PROCEDURE_REF(BgL_envz00_992, BgL_auxz00_1278); } 
{ /* ./R5rs/syntax.scm 117 */
int BgL_auxz00_1281;
BgL_auxz00_1281 = 
(int)(((long)1)); 
BgL_mz00_994 = 
PROCEDURE_REF(BgL_envz00_992, BgL_auxz00_1281); } 
{ /* ./R5rs/syntax.scm 117 */
int BgL_auxz00_1284;
BgL_auxz00_1284 = 
(int)(((long)2)); 
BgL_bindingsz00_995 = 
PROCEDURE_REF(BgL_envz00_992, BgL_auxz00_1284); } 
{ /* ./R5rs/syntax.scm 117 */
int BgL_auxz00_1287;
BgL_auxz00_1287 = 
(int)(((long)3)); 
BgL_ksz00_996 = 
PROCEDURE_REF(BgL_envz00_992, BgL_auxz00_1287); } 
{ /* ./R5rs/syntax.scm 117 */
int BgL_auxz00_1290;
BgL_auxz00_1290 = 
(int)(((long)4)); 
BgL_clausesz00_997 = 
PROCEDURE_REF(BgL_envz00_992, BgL_auxz00_1290); } 
{ 
obj_t BgL_xz00_484;obj_t BgL_e2z00_485;
BgL_xz00_484 = BgL_xz00_998; 
BgL_e2z00_485 = BgL_e2z00_999; 
{ /* ./R5rs/syntax.scm 117 */
bool_t BgL_test1431z00_487;
if(
PAIRP(BgL_xz00_484))
{ /* ./R5rs/syntax.scm 117 */
obj_t BgL_auxz00_1295;
BgL_auxz00_1295 = 
CAR(BgL_xz00_484); 
BgL_test1431z00_487 = 
(BgL_auxz00_1295==BgL_mz00_994); }  else 
{ /* ./R5rs/syntax.scm 117 */
BgL_test1431z00_487 = ((bool_t)0); } 
if(BgL_test1431z00_487)
{ 
obj_t BgL_clausesz00_488;
BgL_clausesz00_488 = BgL_clausesz00_997; 
BgL_loopz00_489:
if(
NULLP(BgL_clausesz00_488))
{ /* ./R5rs/syntax.scm 119 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2284z00zz__r5_macro_4_3_syntaxz00,BgL_mz00_994);}  else 
{ /* ./R5rs/syntax.scm 121 */
obj_t BgL_cz00_491;
BgL_cz00_491 = 
CAR(BgL_clausesz00_488); 
{ 
obj_t BgL_inzd2patzd2_492;obj_t BgL_outzd2patzd2_493;
if(
PAIRP(BgL_cz00_491))
{ /* ./R5rs/syntax.scm 122 */
obj_t BgL_cdrzd2199zd2_498;
BgL_cdrzd2199zd2_498 = 
CDR(BgL_cz00_491); 
if(
PAIRP(BgL_cdrzd2199zd2_498))
{ /* ./R5rs/syntax.scm 122 */
bool_t BgL_testz00_1308;
{ /* ./R5rs/syntax.scm 122 */
obj_t BgL_auxz00_1309;
BgL_auxz00_1309 = 
CDR(BgL_cdrzd2199zd2_498); 
BgL_testz00_1308 = 
NULLP(BgL_auxz00_1309); } 
if(BgL_testz00_1308)
{ /* ./R5rs/syntax.scm 122 */
BgL_inzd2patzd2_492 = 
CAR(BgL_cz00_491); 
BgL_outzd2patzd2_493 = 
CAR(BgL_cdrzd2199zd2_498); 
{ /* ./R5rs/syntax.scm 124 */
bool_t BgL_testz00_1312;
{ /* ./R5rs/syntax.scm 124 */
obj_t BgL_auxz00_1313;
BgL_auxz00_1313 = 
BGl_r5rszd2macrozd2matcheszd2patternzf3z21zz__r5_macro_4_3_hygienez00(BgL_inzd2patzd2_492, BgL_xz00_484, BgL_ksz00_996); 
BgL_testz00_1312 = 
CBOOL(BgL_auxz00_1313); } 
if(BgL_testz00_1312)
{ /* ./R5rs/syntax.scm 125 */
obj_t BgL_toutzd2patzd2_505;
BgL_toutzd2patzd2_505 = 
BGl_r5rszd2hygienezd2tagz00zz__r5_macro_4_3_hygienez00(BgL_outzd2patzd2_493, 
bgl_append2(BgL_inzd2patzd2_492, BgL_ksz00_996), BNIL); 
{ /* ./R5rs/syntax.scm 126 */
obj_t BgL_alistz00_506;
{ /* ./R5rs/syntax.scm 127 */
int BgL_auxz00_1318;
BgL_auxz00_1318 = 
(int)(((long)1)); 
BgL_alistz00_506 = 
BGL_MVALUES_VAL(BgL_auxz00_1318); } 
{ /* ./R5rs/syntax.scm 127 */
obj_t BgL_rz00_507;
BgL_rz00_507 = 
BGl_r5rszd2macrozd2getzd2bindingszd2zz__r5_macro_4_3_hygienez00(BgL_inzd2patzd2_492, BgL_xz00_484, BgL_ksz00_996); 
{ /* ./R5rs/syntax.scm 130 */
obj_t BgL_arg1456z00_508;
BgL_arg1456z00_508 = 
BGl_r5rszd2hygienezd2untagz00zz__r5_macro_4_3_hygienez00(
BGl_r5rszd2macrozd2expandzd2patternzd2zz__r5_macro_4_3_hygienez00(BgL_toutzd2patzd2_505, BgL_rz00_507, BgL_ksz00_996), BgL_alistz00_506, BNIL); 
return 
PROCEDURE_ENTRY(BgL_e2z00_485)(BgL_e2z00_485, BgL_arg1456z00_508, BgL_e2z00_485, BEOA);} } } }  else 
{ 
obj_t BgL_clausesz00_1326;
BgL_clausesz00_1326 = 
CDR(BgL_clausesz00_488); 
BgL_clausesz00_488 = BgL_clausesz00_1326; 
goto BgL_loopz00_489;} } }  else 
{ /* ./R5rs/syntax.scm 122 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_491);} }  else 
{ /* ./R5rs/syntax.scm 122 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_491);} }  else 
{ /* ./R5rs/syntax.scm 122 */
FAILURE(BGl_string2301z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_491);} } } }  else 
{ /* ./R5rs/syntax.scm 137 */
obj_t BgL_e3z00_514;
BgL_e3z00_514 = 
BGl_loopz00zz__r5_macro_4_3_syntaxz00(BgL_ez00_993, 
CDR(BgL_bindingsz00_995)); 
return 
PROCEDURE_ENTRY(BgL_e3z00_514)(BgL_e3z00_514, BgL_xz00_484, BgL_e2z00_485, BEOA);} } } } } 
}



/* expand-let-syntax */
BGL_EXPORTED_DEF obj_t BGl_expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_xz00_12, obj_t BgL_ez00_13)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 148 */
{ 
obj_t BgL_bindingsz00_518;obj_t BgL_bodyz00_519;
if(
PAIRP(BgL_xz00_12))
{ /* ./R5rs/syntax.scm 149 */
obj_t BgL_cdrzd2213zd2_524;
BgL_cdrzd2213zd2_524 = 
CDR(BgL_xz00_12); 
if(
PAIRP(BgL_cdrzd2213zd2_524))
{ /* ./R5rs/syntax.scm 149 */
BgL_bindingsz00_518 = 
CAR(BgL_cdrzd2213zd2_524); 
BgL_bodyz00_519 = 
CDR(BgL_cdrzd2213zd2_524); 
{ /* ./R5rs/syntax.scm 151 */
obj_t BgL_e1z00_528;
BgL_e1z00_528 = 
BGl_loop_2159z00zz__r5_macro_4_3_syntaxz00(BgL_ez00_13, BgL_bindingsz00_518); 
{ /* ./R5rs/syntax.scm 181 */
obj_t BgL_arg1509z00_529;
{ /* ./R5rs/syntax.scm 181 */
obj_t BgL_auxz00_1343;
BgL_auxz00_1343 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_bodyz00_519, BNIL); 
BgL_arg1509z00_529 = 
MAKE_PAIR(BGl_symbol2300z00zz__r5_macro_4_3_syntaxz00, BgL_auxz00_1343); } 
return 
PROCEDURE_ENTRY(BgL_e1z00_528)(BgL_e1z00_528, BgL_arg1509z00_529, BgL_e1z00_528, BEOA);} } }  else 
{ /* ./R5rs/syntax.scm 149 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_12);} }  else 
{ /* ./R5rs/syntax.scm 149 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2299z00zz__r5_macro_4_3_syntaxz00,BgL_xz00_12);} } } 
}



/* _expand-let-syntax */
obj_t BGl__expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_1003, obj_t BgL_xz00_1004, obj_t BgL_ez00_1005)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 148 */
return 
BGl_expandzd2letzd2syntaxz00zz__r5_macro_4_3_syntaxz00(BgL_xz00_1004, BgL_ez00_1005);} 
}



/* loop_2159 */
obj_t BGl_loop_2159z00zz__r5_macro_4_3_syntaxz00(obj_t BgL_ez00_1006, obj_t BgL_bindingsz00_532)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 151 */
if(
NULLP(BgL_bindingsz00_532))
{ /* ./R5rs/syntax.scm 152 */
return BgL_ez00_1006;}  else 
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_ezd2222zd2_540;
BgL_ezd2222zd2_540 = 
CAR(BgL_bindingsz00_532); 
if(
PAIRP(BgL_ezd2222zd2_540))
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_carzd2229zd2_542;obj_t BgL_cdrzd2230zd2_543;
BgL_carzd2229zd2_542 = 
CAR(BgL_ezd2222zd2_540); 
BgL_cdrzd2230zd2_543 = 
CDR(BgL_ezd2222zd2_540); 
if(
SYMBOLP(BgL_carzd2229zd2_542))
{ /* ./R5rs/syntax.scm 154 */
if(
PAIRP(BgL_cdrzd2230zd2_543))
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_carzd2236zd2_546;
BgL_carzd2236zd2_546 = 
CAR(BgL_cdrzd2230zd2_543); 
if(
PAIRP(BgL_carzd2236zd2_546))
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_cdrzd2241zd2_548;
BgL_cdrzd2241zd2_548 = 
CDR(BgL_carzd2236zd2_546); 
{ /* ./R5rs/syntax.scm 154 */
bool_t BgL_testz00_1368;
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_auxz00_1369;
BgL_auxz00_1369 = 
CAR(BgL_carzd2236zd2_546); 
BgL_testz00_1368 = 
(BgL_auxz00_1369==BGl_symbol2296z00zz__r5_macro_4_3_syntaxz00); } 
if(BgL_testz00_1368)
{ /* ./R5rs/syntax.scm 154 */
if(
PAIRP(BgL_cdrzd2241zd2_548))
{ /* ./R5rs/syntax.scm 154 */
bool_t BgL_testz00_1374;
{ /* ./R5rs/syntax.scm 154 */
obj_t BgL_auxz00_1375;
BgL_auxz00_1375 = 
CDR(BgL_cdrzd2230zd2_543); 
BgL_testz00_1374 = 
NULLP(BgL_auxz00_1375); } 
if(BgL_testz00_1374)
{ /* ./R5rs/syntax.scm 154 */
return 
BGl_TAGzd2220zd2zz__r5_macro_4_3_syntaxz00(BgL_ez00_1006, BgL_bindingsz00_532, BgL_carzd2229zd2_542, 
CAR(BgL_cdrzd2241zd2_548), 
CDR(BgL_cdrzd2241zd2_548));}  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} } }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} }  else 
{ /* ./R5rs/syntax.scm 154 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2302z00zz__r5_macro_4_3_syntaxz00,BgL_bindingsz00_532);} } } 
}



/* TAG-220 */
obj_t BGl_TAGzd2220zd2zz__r5_macro_4_3_syntaxz00(obj_t BgL_ez00_1008, obj_t BgL_bindingsz00_1007, obj_t BgL_mz00_535, obj_t BgL_ksz00_536, obj_t BgL_clausesz00_537)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 154 */
{ /* ./R5rs/syntax.scm 156 */
obj_t BgL_zc3anonymousza31557ze3z83_1000;
{ 
int BgL_auxz00_1390;int BgL_auxz00_1388;
BgL_auxz00_1390 = 
(int)(((long)5)); 
BgL_auxz00_1388 = 
(int)(((long)2)); 
BgL_zc3anonymousza31557ze3z83_1000 = 
make_fx_procedure(BGl_zc3anonymousza31557ze3z83zz__r5_macro_4_3_syntaxz00, BgL_auxz00_1388, BgL_auxz00_1390); } 
{ /* ./R5rs/syntax.scm 156 */
int BgL_auxz00_1393;
BgL_auxz00_1393 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31557ze3z83_1000, BgL_auxz00_1393, BgL_mz00_535); } 
{ /* ./R5rs/syntax.scm 156 */
int BgL_auxz00_1396;
BgL_auxz00_1396 = 
(int)(((long)1)); 
PROCEDURE_SET(BgL_zc3anonymousza31557ze3z83_1000, BgL_auxz00_1396, BgL_bindingsz00_1007); } 
{ /* ./R5rs/syntax.scm 156 */
int BgL_auxz00_1399;
BgL_auxz00_1399 = 
(int)(((long)2)); 
PROCEDURE_SET(BgL_zc3anonymousza31557ze3z83_1000, BgL_auxz00_1399, BgL_ksz00_536); } 
{ /* ./R5rs/syntax.scm 156 */
int BgL_auxz00_1402;
BgL_auxz00_1402 = 
(int)(((long)3)); 
PROCEDURE_SET(BgL_zc3anonymousza31557ze3z83_1000, BgL_auxz00_1402, BgL_ez00_1008); } 
{ /* ./R5rs/syntax.scm 156 */
int BgL_auxz00_1405;
BgL_auxz00_1405 = 
(int)(((long)4)); 
PROCEDURE_SET(BgL_zc3anonymousza31557ze3z83_1000, BgL_auxz00_1405, BgL_clausesz00_537); } 
return BgL_zc3anonymousza31557ze3z83_1000;} } 
}



/* <anonymous:1557> */
obj_t BGl_zc3anonymousza31557ze3z83zz__r5_macro_4_3_syntaxz00(obj_t BgL_envz00_1009, obj_t BgL_xz00_1015, obj_t BgL_e2z00_1016)
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 156 */
{ /* ./R5rs/syntax.scm 157 */
obj_t BgL_mz00_1010;obj_t BgL_bindingsz00_1011;obj_t BgL_ksz00_1012;obj_t BgL_ez00_1013;obj_t BgL_clausesz00_1014;
{ /* ./R5rs/syntax.scm 157 */
int BgL_auxz00_1408;
BgL_auxz00_1408 = 
(int)(((long)0)); 
BgL_mz00_1010 = 
PROCEDURE_REF(BgL_envz00_1009, BgL_auxz00_1408); } 
{ /* ./R5rs/syntax.scm 157 */
int BgL_auxz00_1411;
BgL_auxz00_1411 = 
(int)(((long)1)); 
BgL_bindingsz00_1011 = 
PROCEDURE_REF(BgL_envz00_1009, BgL_auxz00_1411); } 
{ /* ./R5rs/syntax.scm 157 */
int BgL_auxz00_1414;
BgL_auxz00_1414 = 
(int)(((long)2)); 
BgL_ksz00_1012 = 
PROCEDURE_REF(BgL_envz00_1009, BgL_auxz00_1414); } 
{ /* ./R5rs/syntax.scm 157 */
int BgL_auxz00_1417;
BgL_auxz00_1417 = 
(int)(((long)3)); 
BgL_ez00_1013 = 
PROCEDURE_REF(BgL_envz00_1009, BgL_auxz00_1417); } 
{ /* ./R5rs/syntax.scm 157 */
int BgL_auxz00_1420;
BgL_auxz00_1420 = 
(int)(((long)4)); 
BgL_clausesz00_1014 = 
PROCEDURE_REF(BgL_envz00_1009, BgL_auxz00_1420); } 
{ 
obj_t BgL_xz00_557;obj_t BgL_e2z00_558;
BgL_xz00_557 = BgL_xz00_1015; 
BgL_e2z00_558 = BgL_e2z00_1016; 
{ /* ./R5rs/syntax.scm 157 */
bool_t BgL_test1558z00_560;
if(
PAIRP(BgL_xz00_557))
{ /* ./R5rs/syntax.scm 157 */
obj_t BgL_auxz00_1425;
BgL_auxz00_1425 = 
CAR(BgL_xz00_557); 
BgL_test1558z00_560 = 
(BgL_auxz00_1425==BgL_mz00_1010); }  else 
{ /* ./R5rs/syntax.scm 157 */
BgL_test1558z00_560 = ((bool_t)0); } 
if(BgL_test1558z00_560)
{ 
obj_t BgL_clausesz00_561;
BgL_clausesz00_561 = BgL_clausesz00_1014; 
BgL_loopz00_562:
if(
NULLP(BgL_clausesz00_561))
{ /* ./R5rs/syntax.scm 159 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2284z00zz__r5_macro_4_3_syntaxz00,BgL_mz00_1010);}  else 
{ /* ./R5rs/syntax.scm 161 */
obj_t BgL_cz00_564;
BgL_cz00_564 = 
CAR(BgL_clausesz00_561); 
{ 
obj_t BgL_inzd2patzd2_565;obj_t BgL_outzd2patzd2_566;
if(
PAIRP(BgL_cz00_564))
{ /* ./R5rs/syntax.scm 162 */
obj_t BgL_cdrzd2256zd2_571;
BgL_cdrzd2256zd2_571 = 
CDR(BgL_cz00_564); 
if(
PAIRP(BgL_cdrzd2256zd2_571))
{ /* ./R5rs/syntax.scm 162 */
bool_t BgL_testz00_1438;
{ /* ./R5rs/syntax.scm 162 */
obj_t BgL_auxz00_1439;
BgL_auxz00_1439 = 
CDR(BgL_cdrzd2256zd2_571); 
BgL_testz00_1438 = 
NULLP(BgL_auxz00_1439); } 
if(BgL_testz00_1438)
{ /* ./R5rs/syntax.scm 162 */
BgL_inzd2patzd2_565 = 
CAR(BgL_cz00_564); 
BgL_outzd2patzd2_566 = 
CAR(BgL_cdrzd2256zd2_571); 
{ /* ./R5rs/syntax.scm 164 */
bool_t BgL_testz00_1442;
{ /* ./R5rs/syntax.scm 164 */
obj_t BgL_auxz00_1443;
BgL_auxz00_1443 = 
BGl_r5rszd2macrozd2matcheszd2patternzf3z21zz__r5_macro_4_3_hygienez00(BgL_inzd2patzd2_565, BgL_xz00_557, BgL_ksz00_1012); 
BgL_testz00_1442 = 
CBOOL(BgL_auxz00_1443); } 
if(BgL_testz00_1442)
{ /* ./R5rs/syntax.scm 165 */
obj_t BgL_toutzd2patzd2_578;
BgL_toutzd2patzd2_578 = 
BGl_r5rszd2hygienezd2tagz00zz__r5_macro_4_3_hygienez00(BgL_outzd2patzd2_566, 
bgl_append2(BgL_inzd2patzd2_565, BgL_ksz00_1012), BNIL); 
{ /* ./R5rs/syntax.scm 166 */
obj_t BgL_alistz00_579;
{ /* ./R5rs/syntax.scm 167 */
int BgL_auxz00_1448;
BgL_auxz00_1448 = 
(int)(((long)1)); 
BgL_alistz00_579 = 
BGL_MVALUES_VAL(BgL_auxz00_1448); } 
{ /* ./R5rs/syntax.scm 167 */
obj_t BgL_rz00_580;
BgL_rz00_580 = 
BGl_r5rszd2macrozd2getzd2bindingszd2zz__r5_macro_4_3_hygienez00(BgL_inzd2patzd2_565, BgL_xz00_557, BgL_ksz00_1012); 
{ /* ./R5rs/syntax.scm 170 */
obj_t BgL_arg1585z00_581;
BgL_arg1585z00_581 = 
BGl_r5rszd2hygienezd2untagz00zz__r5_macro_4_3_hygienez00(
BGl_r5rszd2macrozd2expandzd2patternzd2zz__r5_macro_4_3_hygienez00(BgL_toutzd2patzd2_578, BgL_rz00_580, BgL_ksz00_1012), BgL_alistz00_579, BNIL); 
return 
PROCEDURE_ENTRY(BgL_ez00_1013)(BgL_ez00_1013, BgL_arg1585z00_581, BgL_ez00_1013, BEOA);} } } }  else 
{ 
obj_t BgL_clausesz00_1456;
BgL_clausesz00_1456 = 
CDR(BgL_clausesz00_561); 
BgL_clausesz00_561 = BgL_clausesz00_1456; 
goto BgL_loopz00_562;} } }  else 
{ /* ./R5rs/syntax.scm 162 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_564);} }  else 
{ /* ./R5rs/syntax.scm 162 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_564);} }  else 
{ /* ./R5rs/syntax.scm 162 */
FAILURE(BGl_string2303z00zz__r5_macro_4_3_syntaxz00,BGl_string2295z00zz__r5_macro_4_3_syntaxz00,BgL_cz00_564);} } } }  else 
{ /* ./R5rs/syntax.scm 177 */
obj_t BgL_e3z00_587;
BgL_e3z00_587 = 
BGl_loop_2159z00zz__r5_macro_4_3_syntaxz00(BgL_ez00_1013, 
CDR(BgL_bindingsz00_1011)); 
return 
PROCEDURE_ENTRY(BgL_e3z00_587)(BgL_e3z00_587, BgL_xz00_557, BgL_e2z00_558, BEOA);} } } } } 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__r5_macro_4_3_syntaxz00()
{ AN_OBJECT;
{ /* ./R5rs/syntax.scm 18 */
BGl_modulezd2initializa7ationz75zz__r5_macro_4_3_hygienez00(((long)17498), "__r5_macro_4_3_syntax"); 
return 
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__r5_macro_4_3_syntax");} 
}

