/*===========================================================================*/
/*   (Eval/progn.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 Eval/progn.scm -indent -o objs/obj_u/Eval/progn.c)*/
/* GC selection */
#define THE_GC BOEHM_GC

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

static obj_t BGl_loopz00zz__prognz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__prognz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_normaliza7ezd2prognz75zz__prognz00(obj_t);
extern obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_replacez12z12zz__prognz00(obj_t, obj_t);
static obj_t BGl__replacez12z12zz__prognz00(obj_t, obj_t, obj_t);
static obj_t BGl_cnstzd2initzd2zz__prognz00();
static obj_t BGl_loopz72z72zz__prognz00(obj_t);
static obj_t BGl_symbol1833z00zz__prognz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_normaliza7ezd2bodyz75zz__prognz00(obj_t);
extern obj_t string_to_symbol(char *);
static obj_t BGl__normaliza7ezd2prognz75zz__prognz00(obj_t, obj_t);
extern obj_t bgl_append2(obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zz__prognz00();
static obj_t BGl__normaliza7ezd2bodyz75zz__prognz00(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zz__prognz00 = BUNSPEC;
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_normaliza7ezd2bodyzd2envza7zz__prognz00, BgL_bgl__normaliza7a7eza7d2bodyza775za7za7__prognza7001839z00, BGl__normaliza7ezd2bodyz75zz__prognz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_replacez12zd2envzc0zz__prognz00, BgL_bgl__replaceza712za712za7za7__prognza7001840za7, BGl__replacez12z12zz__prognz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_normaliza7ezd2prognzd2envza7zz__prognz00, BgL_bgl__normaliza7a7eza7d2prognza775za7za7__prognza7001841z00, BGl__normaliza7ezd2prognz75zz__prognz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zz__prognz00(long BgL_checksumz00_637, char * BgL_fromz00_638)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zz__prognz00))
{ 
BGl_requirezd2initializa7ationz75zz__prognz00 = 
BBOOL(((bool_t)0)); 
BGl_cnstzd2initzd2zz__prognz00(); 
BGl_importedzd2moduleszd2initz00zz__prognz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zz__prognz00()
{ AN_OBJECT;
{ /* ./Eval/progn.scm 14 */
return ( 
BGl_symbol1833z00zz__prognz00 = 
string_to_symbol("begin"), BUNSPEC) ;} 
}



/* normalize-progn */
BGL_EXPORTED_DEF obj_t BGl_normaliza7ezd2prognz75zz__prognz00(obj_t BgL_bodyz00_1)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 52 */
if(
PAIRP(BgL_bodyz00_1))
{ /* ./Eval/progn.scm 54 */
{ /* ./Eval/progn.scm 57 */
obj_t BgL_resz00_358;
{ /* ./Eval/progn.scm 57 */
obj_t BgL_arg1025z00_366;obj_t BgL_arg1026z00_367;
BgL_arg1025z00_366 = BGl_symbol1833z00zz__prognz00; 
{ /* ./Eval/progn.scm 57 */
obj_t BgL_arg1029z00_368;
{ /* ./Eval/progn.scm 57 */
obj_t BgL_arg1033z00_372;
{ /* ./Eval/progn.scm 57 */
bool_t BgL_testz00_647;
{ /* ./Eval/progn.scm 57 */
obj_t BgL_auxz00_648;
BgL_auxz00_648 = 
CAR(BgL_bodyz00_1); 
BgL_testz00_647 = 
(BgL_auxz00_648==BGl_symbol1833z00zz__prognz00); } 
if(BgL_testz00_647)
{ /* ./Eval/progn.scm 57 */
BgL_arg1033z00_372 = 
CDR(BgL_bodyz00_1); }  else 
{ /* ./Eval/progn.scm 57 */
BgL_arg1033z00_372 = BgL_bodyz00_1; } } 
BgL_arg1029z00_368 = 
BGl_loopz72z72zz__prognz00(BgL_arg1033z00_372); } 
BgL_arg1026z00_367 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1029z00_368, BNIL); } 
BgL_resz00_358 = 
MAKE_PAIR(BgL_arg1025z00_366, BgL_arg1026z00_367); } 
{ /* ./Eval/progn.scm 68 */
bool_t BgL_test1005z00_359;
BgL_test1005z00_359 = 
EXTENDED_PAIRP(BgL_bodyz00_1); 
if(BgL_test1005z00_359)
{ /* ./Eval/progn.scm 68 */
return 
BGl_replacez12z12zz__prognz00(BgL_bodyz00_1, BgL_resz00_358);}  else 
{ /* ./Eval/progn.scm 70 */
bool_t BgL_test1007z00_360;
{ /* ./Eval/progn.scm 70 */
obj_t BgL_auxz00_658;
BgL_auxz00_658 = 
CAR(BgL_bodyz00_1); 
BgL_test1007z00_360 = 
EXTENDED_PAIRP(BgL_auxz00_658); } 
if(BgL_test1007z00_360)
{ /* ./Eval/progn.scm 70 */
{ /* ./Eval/progn.scm 71 */
obj_t BgL_arg1009z00_361;obj_t BgL_arg1010z00_362;obj_t BgL_arg1011z00_363;
BgL_arg1009z00_361 = 
CAR(BgL_resz00_358); 
BgL_arg1010z00_362 = 
CDR(BgL_resz00_358); 
{ /* ./Eval/progn.scm 71 */
obj_t BgL_auxz00_664;
BgL_auxz00_664 = 
CAR(BgL_bodyz00_1); 
BgL_arg1011z00_363 = 
CER(BgL_auxz00_664); } 
{ /* ./Eval/progn.scm 71 */
obj_t BgL_res1828z00_593;
BgL_res1828z00_593 = 
MAKE_EXTENDED_PAIR(BgL_arg1009z00_361, BgL_arg1010z00_362, BgL_arg1011z00_363); 
return BgL_res1828z00_593;} } }  else 
{ /* ./Eval/progn.scm 70 */
return BgL_resz00_358;} } } } }  else 
{ /* ./Eval/progn.scm 54 */
{ /* ./Eval/progn.scm 55 */
obj_t BgL_arg1073z00_387;obj_t BgL_arg1075z00_388;
BgL_arg1073z00_387 = BGl_symbol1833z00zz__prognz00; 
BgL_arg1075z00_388 = 
MAKE_PAIR(BgL_bodyz00_1, BNIL); 
return 
MAKE_PAIR(BgL_arg1073z00_387, BgL_arg1075z00_388);} } } 
}



/* loop' */
obj_t BGl_loopz72z72zz__prognz00(obj_t BgL_bodyz00_370)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 57 */
if(
NULLP(BgL_bodyz00_370))
{ /* ./Eval/progn.scm 60 */
return BNIL;}  else 
{ /* ./Eval/progn.scm 62 */
obj_t BgL_exprz00_377;
BgL_exprz00_377 = 
CAR(BgL_bodyz00_370); 
{ /* ./Eval/progn.scm 63 */
bool_t BgL_test1043z00_378;
if(
PAIRP(BgL_exprz00_377))
{ /* ./Eval/progn.scm 64 */
obj_t BgL_auxz00_675;
BgL_auxz00_675 = 
CAR(BgL_exprz00_377); 
BgL_test1043z00_378 = 
(BgL_auxz00_675==BGl_symbol1833z00zz__prognz00); }  else 
{ /* ./Eval/progn.scm 63 */
BgL_test1043z00_378 = ((bool_t)0); } 
if(BgL_test1043z00_378)
{ /* ./Eval/progn.scm 63 */
return 
bgl_append2(
CDR(BgL_exprz00_377), 
BGl_loopz72z72zz__prognz00(
CDR(BgL_bodyz00_370)));}  else 
{ /* ./Eval/progn.scm 66 */
obj_t BgL_auxz00_683;
BgL_auxz00_683 = 
BGl_loopz72z72zz__prognz00(
CDR(BgL_bodyz00_370)); 
return 
MAKE_PAIR(BgL_exprz00_377, BgL_auxz00_683);} } } } 
}



/* _normalize-progn */
obj_t BGl__normaliza7ezd2prognz75zz__prognz00(obj_t BgL_envz00_630, obj_t BgL_bodyz00_631)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 52 */
return 
BGl_normaliza7ezd2prognz75zz__prognz00(BgL_bodyz00_631);} 
}



/* normalize-body */
BGL_EXPORTED_DEF obj_t BGl_normaliza7ezd2bodyz75zz__prognz00(obj_t BgL_bodyz00_2)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 83 */
if(
PAIRP(BgL_bodyz00_2))
{ /* ./Eval/progn.scm 85 */
{ /* ./Eval/progn.scm 88 */
obj_t BgL_resz00_390;
{ /* ./Eval/progn.scm 88 */
obj_t BgL_arg1098z00_397;obj_t BgL_arg1099z00_398;
BgL_arg1098z00_397 = BGl_symbol1833z00zz__prognz00; 
{ /* ./Eval/progn.scm 88 */
obj_t BgL_arg1102z00_399;
{ /* ./Eval/progn.scm 88 */
obj_t BgL_arg1106z00_403;
{ /* ./Eval/progn.scm 88 */
bool_t BgL_testz00_690;
{ /* ./Eval/progn.scm 88 */
obj_t BgL_auxz00_691;
BgL_auxz00_691 = 
CAR(BgL_bodyz00_2); 
BgL_testz00_690 = 
(BgL_auxz00_691==BGl_symbol1833z00zz__prognz00); } 
if(BgL_testz00_690)
{ /* ./Eval/progn.scm 88 */
BgL_arg1106z00_403 = 
CDR(BgL_bodyz00_2); }  else 
{ /* ./Eval/progn.scm 88 */
BgL_arg1106z00_403 = BgL_bodyz00_2; } } 
BgL_arg1102z00_399 = 
BGl_loopz00zz__prognz00(BgL_arg1106z00_403); } 
BgL_arg1099z00_398 = 
BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_arg1102z00_399, BNIL); } 
BgL_resz00_390 = 
MAKE_PAIR(BgL_arg1098z00_397, BgL_arg1099z00_398); } 
{ /* ./Eval/progn.scm 99 */
bool_t BgL_test1080z00_391;
{ /* ./Eval/progn.scm 99 */
obj_t BgL_auxz00_698;
BgL_auxz00_698 = 
CAR(BgL_bodyz00_2); 
BgL_test1080z00_391 = 
EXTENDED_PAIRP(BgL_auxz00_698); } 
if(BgL_test1080z00_391)
{ /* ./Eval/progn.scm 99 */
{ /* ./Eval/progn.scm 100 */
obj_t BgL_arg1083z00_392;obj_t BgL_arg1084z00_393;obj_t BgL_arg1085z00_394;
BgL_arg1083z00_392 = 
CAR(BgL_resz00_390); 
BgL_arg1084z00_393 = 
CDR(BgL_resz00_390); 
{ /* ./Eval/progn.scm 100 */
obj_t BgL_auxz00_704;
BgL_auxz00_704 = 
CAR(BgL_bodyz00_2); 
BgL_arg1085z00_394 = 
CER(BgL_auxz00_704); } 
{ /* ./Eval/progn.scm 100 */
obj_t BgL_res1829z00_613;
BgL_res1829z00_613 = 
MAKE_EXTENDED_PAIR(BgL_arg1083z00_392, BgL_arg1084z00_393, BgL_arg1085z00_394); 
return BgL_res1829z00_613;} } }  else 
{ /* ./Eval/progn.scm 99 */
return BgL_resz00_390;} } } }  else 
{ /* ./Eval/progn.scm 85 */
{ /* ./Eval/progn.scm 86 */
obj_t BgL_arg1144z00_418;obj_t BgL_arg1146z00_419;
BgL_arg1144z00_418 = BGl_symbol1833z00zz__prognz00; 
BgL_arg1146z00_419 = 
MAKE_PAIR(BgL_bodyz00_2, BNIL); 
return 
MAKE_PAIR(BgL_arg1144z00_418, BgL_arg1146z00_419);} } } 
}



/* loop */
obj_t BGl_loopz00zz__prognz00(obj_t BgL_bodyz00_401)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 88 */
if(
NULLP(BgL_bodyz00_401))
{ /* ./Eval/progn.scm 91 */
return BNIL;}  else 
{ /* ./Eval/progn.scm 93 */
obj_t BgL_exprz00_408;
BgL_exprz00_408 = 
CAR(BgL_bodyz00_401); 
{ /* ./Eval/progn.scm 94 */
bool_t BgL_test1116z00_409;
if(
PAIRP(BgL_exprz00_408))
{ /* ./Eval/progn.scm 95 */
obj_t BgL_auxz00_715;
BgL_auxz00_715 = 
CAR(BgL_exprz00_408); 
BgL_test1116z00_409 = 
(BgL_auxz00_715==BGl_symbol1833z00zz__prognz00); }  else 
{ /* ./Eval/progn.scm 94 */
BgL_test1116z00_409 = ((bool_t)0); } 
if(BgL_test1116z00_409)
{ /* ./Eval/progn.scm 94 */
return 
bgl_append2(
CDR(BgL_exprz00_408), 
BGl_loopz00zz__prognz00(
CDR(BgL_bodyz00_401)));}  else 
{ /* ./Eval/progn.scm 97 */
obj_t BgL_auxz00_723;
BgL_auxz00_723 = 
BGl_loopz00zz__prognz00(
CDR(BgL_bodyz00_401)); 
return 
MAKE_PAIR(BgL_exprz00_408, BgL_auxz00_723);} } } } 
}



/* _normalize-body */
obj_t BGl__normaliza7ezd2bodyz75zz__prognz00(obj_t BgL_envz00_632, obj_t BgL_bodyz00_633)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 83 */
return 
BGl_normaliza7ezd2bodyz75zz__prognz00(BgL_bodyz00_633);} 
}



/* replace! */
BGL_EXPORTED_DEF obj_t BGl_replacez12z12zz__prognz00(obj_t BgL_p1z00_3, obj_t BgL_p2z00_4)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 107 */
{ /* ./Eval/progn.scm 108 */
bool_t BgL_test1150z00_420;
if(
PAIRP(BgL_p1z00_3))
{ /* ./Eval/progn.scm 108 */
if(
PAIRP(BgL_p2z00_4))
{ /* ./Eval/progn.scm 108 */
bool_t BgL_test1161z00_425;
BgL_test1161z00_425 = 
EXTENDED_PAIRP(BgL_p2z00_4); 
if(BgL_test1161z00_425)
{ /* ./Eval/progn.scm 108 */
BgL_test1150z00_420 = ((bool_t)0); }  else 
{ /* ./Eval/progn.scm 108 */
BgL_test1150z00_420 = ((bool_t)1); } }  else 
{ /* ./Eval/progn.scm 108 */
BgL_test1150z00_420 = ((bool_t)0); } }  else 
{ /* ./Eval/progn.scm 108 */
BgL_test1150z00_420 = ((bool_t)0); } 
if(BgL_test1150z00_420)
{ /* ./Eval/progn.scm 108 */
{ /* ./Eval/progn.scm 110 */
obj_t BgL_auxz00_735;
BgL_auxz00_735 = 
CAR(BgL_p2z00_4); 
SET_CAR(BgL_p1z00_3, BgL_auxz00_735); } 
{ /* ./Eval/progn.scm 111 */
obj_t BgL_auxz00_738;
BgL_auxz00_738 = 
CDR(BgL_p2z00_4); 
SET_CDR(BgL_p1z00_3, BgL_auxz00_738); } 
return BgL_p1z00_3;}  else 
{ /* ./Eval/progn.scm 108 */
return BgL_p2z00_4;} } } 
}



/* _replace! */
obj_t BGl__replacez12z12zz__prognz00(obj_t BgL_envz00_634, obj_t BgL_p1z00_635, obj_t BgL_p2z00_636)
{ AN_OBJECT;
{ /* ./Eval/progn.scm 107 */
return 
BGl_replacez12z12zz__prognz00(BgL_p1z00_635, BgL_p2z00_636);} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zz__prognz00()
{ AN_OBJECT;
{ /* ./Eval/progn.scm 14 */
BGl_modulezd2initializa7ationz75zz__errorz00(((long)11084), "__progn"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)48291), "__progn"); 
BGl_modulezd2initializa7ationz75zz__tvectorz00(((long)57114), "__progn"); 
BGl_modulezd2initializa7ationz75zz__structurez00(((long)53290), "__progn"); 
BGl_modulezd2initializa7ationz75zz__bexitz00(((long)13855), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(((long)21694), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)6615), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(((long)49269), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(((long)29164), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(((long)51785), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(((long)35070), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)247), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)21875), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)104413), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(((long)50132), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(((long)63121), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(((long)13988), "__progn"); 
BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(((long)45566), "__progn"); 
return 
BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(((long)18972), "__progn");} 
}

