/*===========================================================================*/
/*   (Module/option.scm)                                                     */
/*   Bigloo (2.6b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Mon Dec 15 12:14:36 CET 2003        */
/*===========================================================================*/
/* COMPILATION: (/users/serrano/prgm/project/bigloo/bin/bigloo -q -afile .afile -fsharing -fno-reflection -cc gcc-2.95 -lib-dir /users/serrano/prgm/project/bigloo/lib/2.6b -unsafev -no-hello -O2 -rm -unsafe -s -indent Module/option.scm)*/
/* GC selection */
#define THE_GC BOEHM_GC

#include <bigloo.h>


/* Object type definitions */
typedef struct BgL_ccompz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_producerz00;
   obj_t BgL_consumerz00;
   obj_t BgL_finaliza7erza7;
} *BgL_ccompz00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzmodule_optionz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzmodule_modulez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__evalz00(long, char *);
static obj_t BGl__makezd2optionzd2compilerz00zzmodule_optionz00(obj_t);
static obj_t BGl_methodzd2initzd2zzmodule_optionz00();
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
extern BgL_ccompz00_bglt BGl_makezd2ccompzd2zzmodule_modulez00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT obj_t BGl_evalz00zz__evalz00(obj_t, obj_t);
static obj_t BGl_optionzd2producerzd2zzmodule_optionz00(obj_t);
static obj_t BGl_cnstzd2initzd2zzmodule_optionz00();
static obj_t BGl_importedzd2moduleszd2initz00zzmodule_optionz00();
static obj_t BGl_requirezd2initializa7ationz75zzmodule_optionz00 = BUNSPEC;
static obj_t BGl__optionzd2producerzd2zzmodule_optionz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2optionzd2compilerz00zzmodule_optionz00();
static obj_t BGl_libraryzd2moduleszd2initz00zzmodule_optionz00();
static obj_t BGl_zc3anonymousza31069ze3z83zzmodule_optionz00(obj_t, obj_t, obj_t);
static obj_t BGl_zc3anonymousza31070ze3z83zzmodule_optionz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzmodule_optionz00();
static obj_t __cnst[ 2 ] ;


DEFINE_STATIC_PROCEDURE( BGl_optionzd2producerzd2envz00zzmodule_optionz00, BgL_bgl__optionza7d2producerza7d2za7za7module_optionza7001146za7, BGl__optionzd2producerzd2zzmodule_optionz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2optionzd2compilerzd2envzd2zzmodule_optionz00, BgL_bgl__makeza7d2optionza7d2compilerza700za7za7module_optionza7001147z00, BGl__makezd2optionzd2compilerz00zzmodule_optionz00, 0L, 0 );
DEFINE_STRING( BGl_string1120z00zzmodule_optionz00, BgL_bgl_string1120za700za7za7module_optionza7001148z00, "void option ", 12 );
DEFINE_STRING( BGl_string1119z00zzmodule_optionz00, BgL_bgl_string1119za700za7za7module_optionza7001149z00, "Illegal `option' clause", 23 );
DEFINE_STRING( BGl_string1118z00zzmodule_optionz00, BgL_bgl_string1118za700za7za7module_optionza7001150z00, "Parse error", 11 );
DEFINE_STATIC_PROCEDURE( BGl_proc1116z00zzmodule_optionz00, BgL_bgl_za7c3anonymousza7a31070za7e3za783za7za7module_optionza7001151za7, BGl_zc3anonymousza31070ze3z83zzmodule_optionz00, 0L, 0 );
DEFINE_STATIC_PROCEDURE( BGl_proc1117z00zzmodule_optionz00, BgL_bgl_za7c3anonymousza7a31069za7e3za783za7za7module_optionza7001152za7, BGl_zc3anonymousza31069ze3z83zzmodule_optionz00, 0L, 2 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzmodule_optionz00(long BgL_checksumz00_106, char * BgL_fromz00_107)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzmodule_optionz00))
{ 
BGl_requirezd2initializa7ationz75zzmodule_optionz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzmodule_optionz00(); 
BGl_cnstzd2initzd2zzmodule_optionz00(); 
BGl_importedzd2moduleszd2initz00zzmodule_optionz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzmodule_optionz00()
{ AN_OBJECT;
{ /* ./Module/option.scm 15 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "module_option"); 
BGl_modulezd2initializa7ationz75zz__evalz00(((long)0), "module_option"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzmodule_optionz00()
{ AN_OBJECT;
{ /* ./Module/option.scm 15 */
{ /* ./Module/option.scm 15 */
obj_t BgL_cportz00_97;
BgL_cportz00_97 = 
open_input_string(BGl_string1120z00zzmodule_optionz00); 
{ 
long BgL_iz00_98;
BgL_iz00_98 = ((long)1); 
BgL_loopz00_99:
{ /* ./Module/option.scm 15 */
bool_t BgL_test1122z00_100;
BgL_test1122z00_100 = 
(BgL_iz00_98==((long)-1)); 
if(BgL_test1122z00_100)
{ /* ./Module/option.scm 15 */
return BUNSPEC;}  else 
{ /* ./Module/option.scm 15 */
{ /* ./Module/option.scm 15 */
obj_t BgL_arg1124z00_101;
{ /* ./Module/option.scm 15 */
obj_t BgL_list1127z00_102;
BgL_list1127z00_102 = 
MAKE_PAIR(BgL_cportz00_97, BNIL); 
BgL_arg1124z00_101 = 
BGl_readz00zz__readerz00(BgL_list1127z00_102); } 
{ /* ./Module/option.scm 15 */
int BgL_auxz00_121;
BgL_auxz00_121 = 
(int)(BgL_iz00_98); 
CNST_TABLE_SET(BgL_auxz00_121, BgL_arg1124z00_101); } } 
{ /* ./Module/option.scm 15 */
int BgL_auxz00_103;
{ /* ./Module/option.scm 15 */
long BgL_auxz00_124;
BgL_auxz00_124 = 
(BgL_iz00_98-((long)1)); 
BgL_auxz00_103 = 
(int)(BgL_auxz00_124); } 
{ 
long BgL_iz00_127;
BgL_iz00_127 = 
(long)(BgL_auxz00_103); 
BgL_iz00_98 = BgL_iz00_127; 
goto BgL_loopz00_99;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzmodule_optionz00()
{ AN_OBJECT;
{ /* ./Module/option.scm 15 */
return BUNSPEC;} 
}



/* make-option-compiler */
BGL_EXPORTED_DEF obj_t BGl_makezd2optionzd2compilerz00zzmodule_optionz00()
{ AN_OBJECT;
{ /* ./Module/option.scm 25 */
{ /* ./Module/option.scm 27 */
obj_t BgL_arg1064z00_40;obj_t BgL_arg1065z00_41;
BgL_arg1064z00_40 = 
CNST_TABLE_REF(((long)0)); 
BgL_arg1065z00_41 = BGl_optionzd2producerzd2envz00zzmodule_optionz00; 
{ /* ./Module/option.scm 26 */
BgL_ccompz00_bglt BgL_auxz00_130;
BgL_auxz00_130 = 
BGl_makezd2ccompzd2zzmodule_modulez00(BgL_arg1064z00_40, BgL_arg1065z00_41, BGl_proc1117z00zzmodule_optionz00, BGl_proc1116z00zzmodule_optionz00); 
return 
(obj_t)(BgL_auxz00_130);} } } 
}



/* _make-option-compiler */
obj_t BGl__makezd2optionzd2compilerz00zzmodule_optionz00(obj_t BgL_envz00_89)
{ AN_OBJECT;
{ /* ./Module/option.scm 25 */
return 
BGl_makezd2optionzd2compilerz00zzmodule_optionz00();} 
}



/* <anonymous:1070> */
obj_t BGl_zc3anonymousza31070ze3z83zzmodule_optionz00(obj_t BgL_envz00_90)
{ AN_OBJECT;
{ /* ./Module/module.scm 50 */
{ 

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



/* <anonymous:1069> */
obj_t BGl_zc3anonymousza31069ze3z83zzmodule_optionz00(obj_t BgL_envz00_91, obj_t BgL_mz00_92, obj_t BgL_cz00_93)
{ AN_OBJECT;
{ /* ./Module/module.scm 48 */
return BNIL;} 
}



/* option-producer */
obj_t BGl_optionzd2producerzd2zzmodule_optionz00(obj_t BgL_clausez00_19)
{ AN_OBJECT;
{ /* ./Module/option.scm 33 */
{ 
obj_t BgL_protosz00_50;
{ /* ./Module/option.scm 34 */
bool_t BgL_test1071z00_54;
BgL_test1071z00_54 = 
PAIRP(BgL_clausez00_19); 
if(BgL_test1071z00_54)
{ /* ./Module/option.scm 34 */
obj_t BgL_arg1075z00_55;
BgL_arg1075z00_55 = 
CDR(BgL_clausez00_19); 
BgL_protosz00_50 = BgL_arg1075z00_55; 
{ 
obj_t BgL_l1024z00_56;
BgL_l1024z00_56 = BgL_protosz00_50; 
BgL_forzd2each1025zd2_57:
{ /* ./Module/option.scm 36 */
bool_t BgL_test1081z00_58;
BgL_test1081z00_58 = 
PAIRP(BgL_l1024z00_56); 
if(BgL_test1081z00_58)
{ /* ./Module/option.scm 36 */
{ /* ./Module/option.scm 36 */
obj_t BgL_arg1084z00_59;
BgL_arg1084z00_59 = 
CAR(BgL_l1024z00_56); 
BGl_evalz00zz__evalz00(BgL_arg1084z00_59, BNIL); } 
{ /* ./Module/option.scm 36 */
obj_t BgL_arg1089z00_61;
BgL_arg1089z00_61 = 
CDR(BgL_l1024z00_56); 
{ 
obj_t BgL_l1024z00_143;
BgL_l1024z00_143 = BgL_arg1089z00_61; 
BgL_l1024z00_56 = BgL_l1024z00_143; 
goto BgL_forzd2each1025zd2_57;} } }  else 
{ /* ./Module/option.scm 36 */((bool_t)1); } } } 
return BNIL;}  else 
{ /* ./Module/option.scm 34 */
{ /* ./Module/option.scm 39 */
obj_t BgL_list1094z00_62;
BgL_list1094z00_62 = 
MAKE_PAIR(BNIL, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1118z00zzmodule_optionz00, BGl_string1119z00zzmodule_optionz00, BgL_clausez00_19, BgL_list1094z00_62);} } } } } 
}



/* _option-producer */
obj_t BGl__optionzd2producerzd2zzmodule_optionz00(obj_t BgL_envz00_94, obj_t BgL_clausez00_95)
{ AN_OBJECT;
{ /* ./Module/option.scm 33 */
return 
BGl_optionzd2producerzd2zzmodule_optionz00(BgL_clausez00_95);} 
}



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



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzmodule_optionz00()
{ AN_OBJECT;
{ /* ./Module/option.scm 15 */
BGl_modulezd2initializa7ationz75zzmodule_modulez00(((long)8699), "module_option"); 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "module_option"); 
return 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "module_option");} 
}

