/*===========================================================================*/
/*   (SawMill/lib.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 SawMill/lib.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>

BGL_EXPORTED_DECL obj_t BGl_substz00zzsaw_libz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzsaw_libz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
static obj_t BGl_walkz72z72zzsaw_libz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_substzd2appendzd2zzsaw_libz00(obj_t, obj_t, obj_t);
static obj_t BGl__substz00zzsaw_libz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t bgl_append2(obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzsaw_libz00 = BUNSPEC;
static obj_t BGl_walkz00zzsaw_libz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzsaw_libz00();
static obj_t BGl__substzd2appendzd2zzsaw_libz00(obj_t, obj_t, obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_substzd2envzd2zzsaw_libz00, BgL_bgl__substza700za7za7saw_libza7001053z00, BGl__substz00zzsaw_libz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_substzd2appendzd2envz00zzsaw_libz00, BgL_bgl__substza7d2appendza7d2za7za7saw_libza7001054za7, BGl__substzd2appendzd2zzsaw_libz00, 0L, 3 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzsaw_libz00(long BgL_checksumz00_49, char * BgL_fromz00_50)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzsaw_libz00))
{ 
BGl_requirezd2initializa7ationz75zzsaw_libz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzsaw_libz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzsaw_libz00()
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 1 */
BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(((long)0), "saw_lib"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "saw_lib"); 
return BUNSPEC;} 
}



/* subst */
BGL_EXPORTED_DEF obj_t BGl_substz00zzsaw_libz00(obj_t BgL_lz00_1, obj_t BgL_xz00_2, obj_t BgL_yz00_3)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 5 */
return 
BGl_walkz72z72zzsaw_libz00(BgL_yz00_3, BgL_xz00_2, BgL_lz00_1);} 
}



/* walk' */
obj_t BGl_walkz72z72zzsaw_libz00(obj_t BgL_yz00_48, obj_t BgL_xz00_47, obj_t BgL_lz00_8)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 12 */
{ /* ./SawMill/lib.scm 7 */
bool_t BgL_test1005z00_10;
BgL_test1005z00_10 = 
NULLP(BgL_lz00_8); 
if(BgL_test1005z00_10)
{ /* ./SawMill/lib.scm 7 */
return BgL_lz00_8;}  else 
{ /* ./SawMill/lib.scm 9 */
obj_t BgL_oz00_11;
BgL_oz00_11 = 
CAR(BgL_lz00_8); 
{ /* ./SawMill/lib.scm 10 */
bool_t BgL_test1006z00_12;
BgL_test1006z00_12 = 
(BgL_oz00_11==BgL_xz00_47); 
if(BgL_test1006z00_12)
{ /* ./SawMill/lib.scm 11 */
obj_t BgL_arg1008z00_13;
{ /* ./SawMill/lib.scm 11 */
obj_t BgL_arg1011z00_14;
BgL_arg1011z00_14 = 
CDR(BgL_lz00_8); 
BgL_arg1008z00_13 = 
BGl_walkz72z72zzsaw_libz00(BgL_yz00_48, BgL_xz00_47, BgL_arg1011z00_14); } 
return 
MAKE_PAIR(BgL_yz00_48, BgL_arg1008z00_13);}  else 
{ /* ./SawMill/lib.scm 12 */
obj_t BgL_arg1015z00_15;
{ /* ./SawMill/lib.scm 12 */
obj_t BgL_arg1018z00_16;
BgL_arg1018z00_16 = 
CDR(BgL_lz00_8); 
BgL_arg1015z00_15 = 
BGl_walkz72z72zzsaw_libz00(BgL_yz00_48, BgL_xz00_47, BgL_arg1018z00_16); } 
return 
MAKE_PAIR(BgL_oz00_11, BgL_arg1015z00_15);} } } } } 
}



/* _subst */
obj_t BGl__substz00zzsaw_libz00(obj_t BgL_envz00_37, obj_t BgL_lz00_38, obj_t BgL_xz00_39, obj_t BgL_yz00_40)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 5 */
return 
BGl_substz00zzsaw_libz00(BgL_lz00_38, BgL_xz00_39, BgL_yz00_40);} 
}



/* subst-append */
BGL_EXPORTED_DEF obj_t BGl_substzd2appendzd2zzsaw_libz00(obj_t BgL_lz00_4, obj_t BgL_xz00_5, obj_t BgL_yz00_6)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 15 */
return 
BGl_walkz00zzsaw_libz00(BgL_yz00_6, BgL_xz00_5, BgL_lz00_4);} 
}



/* walk */
obj_t BGl_walkz00zzsaw_libz00(obj_t BgL_yz00_46, obj_t BgL_xz00_45, obj_t BgL_lz00_19)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 22 */
{ /* ./SawMill/lib.scm 17 */
bool_t BgL_test1026z00_21;
BgL_test1026z00_21 = 
NULLP(BgL_lz00_19); 
if(BgL_test1026z00_21)
{ /* ./SawMill/lib.scm 17 */
return BgL_lz00_19;}  else 
{ /* ./SawMill/lib.scm 19 */
obj_t BgL_oz00_22;
BgL_oz00_22 = 
CAR(BgL_lz00_19); 
{ /* ./SawMill/lib.scm 20 */
bool_t BgL_test1027z00_23;
BgL_test1027z00_23 = 
(BgL_oz00_22==BgL_xz00_45); 
if(BgL_test1027z00_23)
{ /* ./SawMill/lib.scm 21 */
obj_t BgL_arg1029z00_24;
{ /* ./SawMill/lib.scm 21 */
obj_t BgL_arg1032z00_25;
BgL_arg1032z00_25 = 
CDR(BgL_lz00_19); 
BgL_arg1029z00_24 = 
BGl_walkz00zzsaw_libz00(BgL_yz00_46, BgL_xz00_45, BgL_arg1032z00_25); } 
return 
bgl_append2(BgL_yz00_46, BgL_arg1029z00_24);}  else 
{ /* ./SawMill/lib.scm 22 */
obj_t BgL_arg1036z00_26;
{ /* ./SawMill/lib.scm 22 */
obj_t BgL_arg1039z00_27;
BgL_arg1039z00_27 = 
CDR(BgL_lz00_19); 
BgL_arg1036z00_26 = 
BGl_walkz00zzsaw_libz00(BgL_yz00_46, BgL_xz00_45, BgL_arg1039z00_27); } 
return 
MAKE_PAIR(BgL_oz00_22, BgL_arg1036z00_26);} } } } } 
}



/* _subst-append */
obj_t BGl__substzd2appendzd2zzsaw_libz00(obj_t BgL_envz00_41, obj_t BgL_lz00_42, obj_t BgL_xz00_43, obj_t BgL_yz00_44)
{ AN_OBJECT;
{ /* ./SawMill/lib.scm 15 */
return 
BGl_substzd2appendzd2zzsaw_libz00(BgL_lz00_42, BgL_xz00_43, BgL_yz00_44);} 
}

