/*===========================================================================*/
/*   (Ast/ident.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 Ast/ident.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_idz00;
   obj_t BgL_namez00;
   obj_t BgL_siza7eza7;
   obj_t BgL_classz00;
   obj_t BgL_coercezd2tozd2;
   obj_t BgL_parentsz00;
   bool_t BgL_initzf3zf3;
   bool_t BgL_magiczf3zf3;
   obj_t BgL_z42z42;
   obj_t BgL_aliasz00;
   obj_t BgL_pointedzd2tozd2byz00;
   obj_t BgL_tvectorz00;
   obj_t BgL_locationz00;
   obj_t BgL_importzd2locationzd2;
} *BgL_typez00_bglt;


BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_dssslz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
static obj_t BGl__typezd2ofzd2idz00zzast_identz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_idzd2ofzd2idz00zzast_identz00(obj_t, obj_t);
static obj_t BGl_methodzd2initzd2zzast_identz00();
extern obj_t BGl_userzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t open_input_string(obj_t);
static obj_t BGl__markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t, obj_t);
BGL_IMPORT obj_t string_to_symbol(char *);
BGL_IMPORT obj_t BGl_stringzd2downcasezd2zz__r4_strings_6_7z00(obj_t);
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
extern obj_t BGl_dssslzd2defaultedzd2formalzf3zf3zztools_dssslz00(obj_t);
BGL_EXPORTED_DECL bool_t BGl_userzd2symbolzf3z21zzast_identz00(obj_t);
BGL_IMPORT obj_t bigloo_mangle(obj_t);
BGL_EXPORTED_DECL obj_t BGl_parsezd2dssslzd2zzast_identz00(obj_t);
extern BgL_typez00_bglt BGl_getzd2defaultzd2typez00zztype_cachez00();
BGL_EXPORTED_DECL obj_t BGl_checkzd2idzd2zzast_identz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(obj_t, obj_t, obj_t);
static obj_t BGl__parsezd2dssslzd2zzast_identz00(obj_t, obj_t);
BGL_EXPORTED_DECL bool_t BGl_typezd2identzf3z21zzast_identz00(obj_t);
static obj_t BGl__idzd2ze3namez31zzast_identz00(obj_t, obj_t);
static obj_t BGl_zc3anonymousza31318ze3z83zzast_identz00(obj_t, obj_t, obj_t);
static obj_t BGl_parsezd2idzf2usez20zzast_identz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_gensymz00zz__r4_symbols_6_4z00;
BGL_EXPORTED_DECL obj_t BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t, obj_t);
static obj_t BGl__typezd2ofzd2idzf2importzd2locationz20zzast_identz00(obj_t, obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_typezd2ofzd2idz00zzast_identz00(obj_t, obj_t);
static obj_t BGl__parsezd2idzd2zzast_identz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_putpropz12z12zz__r4_symbols_6_4z00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_getpropz00zz__r4_symbols_6_4z00(obj_t, obj_t);
static obj_t BGl__userzd2symbolzf3z21zzast_identz00(obj_t, obj_t);
static obj_t BGl__makezd2typedzd2formalz00zzast_identz00(obj_t, obj_t);
static obj_t BGl_4dotsz00zzast_identz00 = BUNSPEC;
static obj_t BGl__idzd2ofzd2idz00zzast_identz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl_cnstzd2initzd2zzast_identz00();
static obj_t BGl__parsezd2idzf2importzd2locationzf2zzast_identz00(obj_t, obj_t, obj_t, obj_t);
BGL_IMPORT obj_t c_substring(obj_t, int, int);
static obj_t BGl_zc3anonymousza31318ze3_1376z83zzast_identz00(obj_t, obj_t, obj_t);
extern obj_t BGl_za2objza2z00zztype_cachez00;
BGL_EXPORTED_DECL BgL_typez00_bglt BGl_typezd2ofzd2idzf2importzd2locationz20zzast_identz00(obj_t, obj_t, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zzast_identz00();
static obj_t BGl__localzd2idzd2ze3nameze3zzast_identz00(obj_t, obj_t);
extern BgL_typez00_bglt BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(obj_t, obj_t, obj_t);
static obj_t BGl_requirezd2initializa7ationz75zzast_identz00 = BUNSPEC;
BGL_EXPORTED_DECL obj_t BGl_idzd2ze3namez31zzast_identz00(obj_t);
BGL_EXPORTED_DECL obj_t BGl_localzd2idzd2ze3nameze3zzast_identz00(obj_t);
static obj_t BGl__fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_parsezd2idzd2zzast_identz00(obj_t, obj_t);
static obj_t BGl__checkzd2idzd2zzast_identz00(obj_t, obj_t, obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zzast_identz00();
BGL_EXPORTED_DECL obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2typedzd2formalz00zzast_identz00(obj_t);
extern obj_t BGl_dssslzd2namedzd2constantzf3zf3zztools_dssslz00(obj_t);
static obj_t BGl_toplevelzd2initzd2zzast_identz00();
static obj_t BGl__makezd2typedzd2identz00zzast_identz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t);
static obj_t BGl__typezd2identzf3z21zzast_identz00(obj_t, obj_t);
static obj_t __cnst[ 3 ] ;


extern obj_t BGl_usezd2typez12zd2envz12zztype_envz00;
DEFINE_EXPORT_PROCEDURE( BGl_checkzd2idzd2envz00zzast_identz00, BgL_bgl__checkza7d2idza7d2za7za7ast_identza7001492za7, BGl__checkzd2idzd2zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_parsezd2idzf2importzd2locationzd2envz20zzast_identz00, BgL_bgl__parseza7d2idza7f2importza7d2locationza7f2za7za7ast_identza7001493za7, BGl__parsezd2idzf2importzd2locationzf2zzast_identz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_fastzd2idzd2ofzd2idzd2envz00zzast_identz00, BgL_bgl__fastza7d2idza7d2ofza7d2idza7d2za7za7ast_identza7001494za7, BGl__fastzd2idzd2ofzd2idzd2zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_markzd2symbolzd2nonzd2userz12zd2envz12zzast_identz00, BgL_bgl__markza7d2symbolza7d2nonza7d2userza712za7c0za7za7ast_identza7001495z00, BGl__markzd2symbolzd2nonzd2userz12zc0zzast_identz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_localzd2idzd2ze3namezd2envz31zzast_identz00, BgL_bgl__localza7d2idza7d2za7e3nameza7e3za7za7ast_identza7001496za7, BGl__localzd2idzd2ze3nameze3zzast_identz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_typezd2identzf3zd2envzf3zzast_identz00, BgL_bgl__typeza7d2identza7f3za721za7za7ast_identza7001497z00, BGl__typezd2identzf3z21zzast_identz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_userzd2symbolzf3zd2envzf3zzast_identz00, BgL_bgl__userza7d2symbolza7f3za721za7za7ast_identza7001498z00, BGl__userzd2symbolzf3z21zzast_identz00, 0L, 1 );
DEFINE_STRING( BGl_string1464z00zzast_identz00, BgL_bgl_string1464za700za7za7ast_identza7001499z00, "non-user error-ident dsssl ", 27 );
DEFINE_STRING( BGl_string1463z00zzast_identz00, BgL_bgl_string1463za700za7za7ast_identza7001500z00, "Illegal formal parameter", 24 );
DEFINE_STRING( BGl_string1462z00zzast_identz00, BgL_bgl_string1462za700za7za7ast_identza7001501z00, "Illegal formal identifier", 25 );
DEFINE_STRING( BGl_string1461z00zzast_identz00, BgL_bgl_string1461za700za7za7ast_identza7001502z00, "type-of-id", 10 );
DEFINE_STRING( BGl_string1460z00zzast_identz00, BgL_bgl_string1460za700za7za7ast_identza7001503z00, "", 0 );
DEFINE_STRING( BGl_string1459z00zzast_identz00, BgL_bgl_string1459za700za7za7ast_identza7001504z00, "parse", 5 );
DEFINE_STRING( BGl_string1458z00zzast_identz00, BgL_bgl_string1458za700za7za7ast_identza7001505z00, "`'", 2 );
DEFINE_STRING( BGl_string1457z00zzast_identz00, BgL_bgl_string1457za700za7za7ast_identza7001506z00, "Illegal identifier", 18 );
DEFINE_STRING( BGl_string1456z00zzast_identz00, BgL_bgl_string1456za700za7za7ast_identza7001507z00, "::", 2 );
DEFINE_EXPORT_PROCEDURE( BGl_typezd2ofzd2idzf2importzd2locationzd2envzf2zzast_identz00, BgL_bgl__typeza7d2ofza7d2idza7f2importza7d2locationza720za7za7ast_identza7001508z00, BGl__typezd2ofzd2idzf2importzd2locationz20zzast_identz00, 0L, 3 );
DEFINE_EXPORT_PROCEDURE( BGl_parsezd2dssslzd2envz00zzast_identz00, BgL_bgl__parseza7d2dssslza7d2za7za7ast_identza7001509za7, BGl__parsezd2dssslzd2zzast_identz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_parsezd2idzd2envz00zzast_identz00, BgL_bgl__parseza7d2idza7d2za7za7ast_identza7001510za7, BGl__parsezd2idzd2zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_idzd2ze3namezd2envze3zzast_identz00, BgL_bgl__idza7d2za7e3nameza731za7za7ast_identza7001511z00, BGl__idzd2ze3namez31zzast_identz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_typezd2ofzd2idzd2envzd2zzast_identz00, BgL_bgl__typeza7d2ofza7d2idza700za7za7ast_identza7001512z00, BGl__typezd2ofzd2idz00zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_idzd2ofzd2idzd2envzd2zzast_identz00, BgL_bgl__idza7d2ofza7d2idza700za7za7ast_identza7001513z00, BGl__idzd2ofzd2idz00zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2typedzd2identzd2envzd2zzast_identz00, BgL_bgl__makeza7d2typedza7d2identza700za7za7ast_identza7001514z00, BGl__makezd2typedzd2identz00zzast_identz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2typedzd2formalzd2envzd2zzast_identz00, BgL_bgl__makeza7d2typedza7d2formalza700za7za7ast_identza7001515z00, BGl__makezd2typedzd2formalz00zzast_identz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long BgL_checksumz00_398, char * BgL_fromz00_399)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zzast_identz00))
{ 
BGl_requirezd2initializa7ationz75zzast_identz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zzast_identz00(); 
BGl_cnstzd2initzd2zzast_identz00(); 
BGl_importedzd2moduleszd2initz00zzast_identz00(); 
BGl_toplevelzd2initzd2zzast_identz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zzast_identz00()
{ AN_OBJECT;
{ /* ./Ast/ident.scm 14 */
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "ast_ident"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "ast_ident"); 
BGl_modulezd2initializa7ationz75zz__biglooz00(((long)0), "ast_ident"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "ast_ident"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zzast_identz00()
{ AN_OBJECT;
{ /* ./Ast/ident.scm 14 */
{ /* ./Ast/ident.scm 14 */
obj_t BgL_cportz00_391;
BgL_cportz00_391 = 
open_input_string(BGl_string1464z00zzast_identz00); 
{ 
long BgL_iz00_392;
BgL_iz00_392 = ((long)2); 
BgL_loopz00_393:
{ /* ./Ast/ident.scm 14 */
bool_t BgL_test1466z00_394;
BgL_test1466z00_394 = 
(BgL_iz00_392==((long)-1)); 
if(BgL_test1466z00_394)
{ /* ./Ast/ident.scm 14 */
return BUNSPEC;}  else 
{ /* ./Ast/ident.scm 14 */
{ /* ./Ast/ident.scm 14 */
obj_t BgL_arg1468z00_395;
{ /* ./Ast/ident.scm 14 */
obj_t BgL_list1471z00_396;
BgL_list1471z00_396 = 
MAKE_PAIR(BgL_cportz00_391, BNIL); 
BgL_arg1468z00_395 = 
BGl_readz00zz__readerz00(BgL_list1471z00_396); } 
{ /* ./Ast/ident.scm 14 */
int BgL_auxz00_416;
BgL_auxz00_416 = 
(int)(BgL_iz00_392); 
CNST_TABLE_SET(BgL_auxz00_416, BgL_arg1468z00_395); } } 
{ /* ./Ast/ident.scm 14 */
int BgL_auxz00_397;
{ /* ./Ast/ident.scm 14 */
long BgL_auxz00_419;
BgL_auxz00_419 = 
(BgL_iz00_392-((long)1)); 
BgL_auxz00_397 = 
(int)(BgL_auxz00_419); } 
{ 
long BgL_iz00_422;
BgL_iz00_422 = 
(long)(BgL_auxz00_397); 
BgL_iz00_392 = BgL_iz00_422; 
goto BgL_loopz00_393;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zzast_identz00()
{ AN_OBJECT;
{ /* ./Ast/ident.scm 14 */
{ /* ./Ast/ident.scm 39 */
char * BgL_auxz00_424;
BgL_auxz00_424 = 
BSTRING_TO_STRING(BGl_string1456z00zzast_identz00); 
return ( 
BGl_4dotsz00zzast_identz00 = 
string_to_symbol(BgL_auxz00_424), BUNSPEC) ;} } 
}



/* type-ident? */
BGL_EXPORTED_DEF bool_t BGl_typezd2identzf3z21zzast_identz00(obj_t BgL_symz00_1)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 44 */
{ /* ./Ast/ident.scm 45 */
obj_t BgL_strz00_85;
BgL_strz00_85 = 
SYMBOL_TO_STRING(BgL_symz00_1); 
{ /* ./Ast/ident.scm 46 */
bool_t BgL_testz00_428;
{ /* ./Ast/ident.scm 46 */
long BgL_auxz00_429;
{ /* ./Ast/ident.scm 46 */
int BgL_auxz00_430;
BgL_auxz00_430 = 
STRING_LENGTH(BgL_strz00_85); 
BgL_auxz00_429 = 
(long)(BgL_auxz00_430); } 
BgL_testz00_428 = 
(BgL_auxz00_429>((long)2)); } 
if(BgL_testz00_428)
{ /* ./Ast/ident.scm 47 */
bool_t BgL_testz00_434;
{ /* ./Ast/ident.scm 47 */
unsigned char BgL_auxz00_435;
{ /* ./Ast/ident.scm 47 */
int BgL_auxz00_436;
BgL_auxz00_436 = 
(int)(((long)0)); 
BgL_auxz00_435 = 
STRING_REF(BgL_strz00_85, BgL_auxz00_436); } 
BgL_testz00_434 = 
(BgL_auxz00_435==((unsigned char)':')); } 
if(BgL_testz00_434)
{ /* ./Ast/ident.scm 48 */
unsigned char BgL_auxz00_440;
{ /* ./Ast/ident.scm 48 */
int BgL_auxz00_441;
BgL_auxz00_441 = 
(int)(((long)1)); 
BgL_auxz00_440 = 
STRING_REF(BgL_strz00_85, BgL_auxz00_441); } 
return 
(BgL_auxz00_440==((unsigned char)':'));}  else 
{ /* ./Ast/ident.scm 47 */
return ((bool_t)0);} }  else 
{ /* ./Ast/ident.scm 46 */
return ((bool_t)0);} } } } 
}



/* _type-ident? */
obj_t BGl__typezd2identzf3z21zzast_identz00(obj_t BgL_envz00_338, obj_t BgL_symz00_339)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 44 */
{ /* ./Ast/ident.scm 45 */
bool_t BgL_auxz00_445;
BgL_auxz00_445 = 
BGl_typezd2identzf3z21zzast_identz00(BgL_symz00_339); 
return 
BBOOL(BgL_auxz00_445);} } 
}



/* make-typed-ident */
BGL_EXPORTED_DEF obj_t BGl_makezd2typedzd2identz00zzast_identz00(obj_t BgL_sym1z00_2, obj_t BgL_sym2z00_3)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 53 */
{ /* ./Ast/ident.scm 54 */
obj_t BgL_list1107z00_221;
{ /* ./Ast/ident.scm 54 */
obj_t BgL_arg1109z00_222;
{ /* ./Ast/ident.scm 54 */
obj_t BgL_arg1112z00_223;
BgL_arg1112z00_223 = 
MAKE_PAIR(BgL_sym2z00_3, BNIL); 
BgL_arg1109z00_222 = 
MAKE_PAIR(BGl_4dotsz00zzast_identz00, BgL_arg1112z00_223); } 
BgL_list1107z00_221 = 
MAKE_PAIR(BgL_sym1z00_2, BgL_arg1109z00_222); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1107z00_221);} } 
}



/* _make-typed-ident */
obj_t BGl__makezd2typedzd2identz00zzast_identz00(obj_t BgL_envz00_340, obj_t BgL_sym1z00_341, obj_t BgL_sym2z00_342)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 53 */
return 
BGl_makezd2typedzd2identz00zzast_identz00(BgL_sym1z00_341, BgL_sym2z00_342);} 
}



/* make-typed-formal */
BGL_EXPORTED_DEF obj_t BGl_makezd2typedzd2formalz00zzast_identz00(obj_t BgL_sym2z00_4)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 59 */
{ /* ./Ast/ident.scm 60 */
obj_t BgL_list1116z00_95;
{ /* ./Ast/ident.scm 60 */
obj_t BgL_arg1118z00_96;
BgL_arg1118z00_96 = 
MAKE_PAIR(BgL_sym2z00_4, BNIL); 
BgL_list1116z00_95 = 
MAKE_PAIR(BGl_4dotsz00zzast_identz00, BgL_arg1118z00_96); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list1116z00_95);} } 
}



/* _make-typed-formal */
obj_t BGl__makezd2typedzd2formalz00zzast_identz00(obj_t BgL_envz00_343, obj_t BgL_sym2z00_344)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 59 */
return 
BGl_makezd2typedzd2formalz00zzast_identz00(BgL_sym2z00_344);} 
}



/* type-of-id */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_typezd2ofzd2idz00zzast_identz00(obj_t BgL_idz00_5, obj_t BgL_locz00_6)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 65 */
{ /* ./Ast/ident.scm 66 */
bool_t BgL_test1121z00_97;
BgL_test1121z00_97 = 
SYMBOLP(BgL_idz00_5); 
if(BgL_test1121z00_97)
{ /* ./Ast/ident.scm 68 */
obj_t BgL_arg1123z00_98;
BgL_arg1123z00_98 = 
BGl_parsezd2idzf2usez20zzast_identz00(BgL_idz00_5, BgL_locz00_6, BGl_usezd2typez12zd2envz12zztype_envz00); 
{ /* ./Ast/ident.scm 68 */
obj_t BgL_auxz00_460;
BgL_auxz00_460 = 
CDR(BgL_arg1123z00_98); 
return 
(BgL_typez00_bglt)(BgL_auxz00_460);} }  else 
{ /* ./Ast/ident.scm 67 */
obj_t BgL_auxz00_463;
BgL_auxz00_463 = 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1457z00zzast_identz00, BGl_string1458z00zzast_identz00, BgL_idz00_5, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_463);} } } 
}



/* _type-of-id */
obj_t BGl__typezd2ofzd2idz00zzast_identz00(obj_t BgL_envz00_345, obj_t BgL_idz00_346, obj_t BgL_locz00_347)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 65 */
{ /* ./Ast/ident.scm 66 */
BgL_typez00_bglt BgL_auxz00_466;
BgL_auxz00_466 = 
BGl_typezd2ofzd2idz00zzast_identz00(BgL_idz00_346, BgL_locz00_347); 
return 
(obj_t)(BgL_auxz00_466);} } 
}



/* type-of-id/import-location */
BGL_EXPORTED_DEF BgL_typez00_bglt BGl_typezd2ofzd2idzf2importzd2locationz20zzast_identz00(obj_t BgL_idz00_7, obj_t BgL_locz00_8, obj_t BgL_lociz00_9)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 73 */
{ /* ./Ast/ident.scm 74 */
bool_t BgL_test1129z00_100;
BgL_test1129z00_100 = 
SYMBOLP(BgL_idz00_7); 
if(BgL_test1129z00_100)
{ /* ./Ast/ident.scm 76 */
obj_t BgL_arg1131z00_101;
{ /* ./Ast/ident.scm 76 */
obj_t BgL_zc3anonymousza31318ze3z83_351;
{ 
int BgL_auxz00_473;int BgL_auxz00_471;
BgL_auxz00_473 = 
(int)(((long)1)); 
BgL_auxz00_471 = 
(int)(((long)2)); 
BgL_zc3anonymousza31318ze3z83_351 = 
make_fx_procedure(BGl_zc3anonymousza31318ze3z83zzast_identz00, BgL_auxz00_471, BgL_auxz00_473); } 
{ /* ./Ast/ident.scm 76 */
int BgL_auxz00_476;
BgL_auxz00_476 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31318ze3z83_351, BgL_auxz00_476, BgL_lociz00_9); } 
BgL_arg1131z00_101 = 
BGl_parsezd2idzf2usez20zzast_identz00(BgL_idz00_7, BgL_locz00_8, BgL_zc3anonymousza31318ze3z83_351); } 
{ /* ./Ast/ident.scm 76 */
obj_t BgL_auxz00_480;
BgL_auxz00_480 = 
CDR(BgL_arg1131z00_101); 
return 
(BgL_typez00_bglt)(BgL_auxz00_480);} }  else 
{ /* ./Ast/ident.scm 75 */
obj_t BgL_auxz00_483;
BgL_auxz00_483 = 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1457z00zzast_identz00, BGl_string1458z00zzast_identz00, BgL_idz00_7, BNIL); 
return 
(BgL_typez00_bglt)(BgL_auxz00_483);} } } 
}



/* _type-of-id/import-location */
obj_t BGl__typezd2ofzd2idzf2importzd2locationz20zzast_identz00(obj_t BgL_envz00_352, obj_t BgL_idz00_353, obj_t BgL_locz00_354, obj_t BgL_lociz00_355)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 73 */
{ /* ./Ast/ident.scm 74 */
BgL_typez00_bglt BgL_auxz00_486;
BgL_auxz00_486 = 
BGl_typezd2ofzd2idzf2importzd2locationz20zzast_identz00(BgL_idz00_353, BgL_locz00_354, BgL_lociz00_355); 
return 
(obj_t)(BgL_auxz00_486);} } 
}



/* <anonymous:1318> */
obj_t BGl_zc3anonymousza31318ze3z83zzast_identz00(obj_t BgL_envz00_356, obj_t BgL_tidz00_358, obj_t BgL_locz00_359)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 167 */
{ /* ./Ast/ident.scm 76 */
obj_t BgL_lociz00_357;
{ /* ./Ast/ident.scm 76 */
int BgL_auxz00_489;
BgL_auxz00_489 = 
(int)(((long)0)); 
BgL_lociz00_357 = 
PROCEDURE_REF(BgL_envz00_356, BgL_auxz00_489); } 
{ 
obj_t BgL_tidz00_233;obj_t BgL_locz00_234;
{ /* ./Ast/ident.scm 76 */
BgL_typez00_bglt BgL_auxz00_492;
BgL_tidz00_233 = BgL_tidz00_358; 
BgL_locz00_234 = BgL_locz00_359; 
BgL_auxz00_492 = 
BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(BgL_tidz00_233, BgL_locz00_234, BgL_lociz00_357); 
return 
(obj_t)(BgL_auxz00_492);} } } } 
}



/* id-of-id */
BGL_EXPORTED_DEF obj_t BGl_idzd2ofzd2idz00zzast_identz00(obj_t BgL_idz00_10, obj_t BgL_locz00_11)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 81 */
{ /* ./Ast/ident.scm 82 */
bool_t BgL_test1137z00_103;
BgL_test1137z00_103 = 
SYMBOLP(BgL_idz00_10); 
if(BgL_test1137z00_103)
{ /* ./Ast/ident.scm 84 */
obj_t BgL_arg1140z00_104;
BgL_arg1140z00_104 = 
BGl_parsezd2idzf2usez20zzast_identz00(BgL_idz00_10, BgL_locz00_11, BGl_usezd2typez12zd2envz12zztype_envz00); 
return 
CAR(BgL_arg1140z00_104);}  else 
{ /* ./Ast/ident.scm 82 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1459z00zzast_identz00, BGl_string1457z00zzast_identz00, BgL_idz00_10, BNIL);} } } 
}



/* _id-of-id */
obj_t BGl__idzd2ofzd2idz00zzast_identz00(obj_t BgL_envz00_360, obj_t BgL_idz00_361, obj_t BgL_locz00_362)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 81 */
return 
BGl_idzd2ofzd2idz00zzast_identz00(BgL_idz00_361, BgL_locz00_362);} 
}



/* fast-id-of-id */
BGL_EXPORTED_DEF obj_t BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t BgL_idz00_12, obj_t BgL_locz00_13)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 89 */
{ 
obj_t BgL_idz00_114;
{ /* ./Ast/ident.scm 104 */
bool_t BgL_test1146z00_107;
{ /* ./Ast/ident.scm 104 */
obj_t BgL_auxz00_501;
BgL_auxz00_501 = 
BGl_dssslzd2namedzd2constantzf3zf3zztools_dssslz00(BgL_idz00_12); 
BgL_test1146z00_107 = 
CBOOL(BgL_auxz00_501); } 
if(BgL_test1146z00_107)
{ /* ./Ast/ident.scm 104 */
return 
PROCEDURE_ENTRY(BGl_gensymz00zz__r4_symbols_6_4z00)(BGl_gensymz00zz__r4_symbols_6_4z00, 
CNST_TABLE_REF(((long)0)), BEOA);}  else 
{ /* ./Ast/ident.scm 106 */
bool_t BgL_test1148z00_108;
if(
PAIRP(BgL_idz00_12))
{ /* ./Ast/ident.scm 106 */
obj_t BgL_auxz00_510;
BgL_auxz00_510 = 
CAR(BgL_idz00_12); 
BgL_test1148z00_108 = 
SYMBOLP(BgL_auxz00_510); }  else 
{ /* ./Ast/ident.scm 106 */
BgL_test1148z00_108 = ((bool_t)0); } 
if(BgL_test1148z00_108)
{ /* ./Ast/ident.scm 106 */
{ /* ./Ast/ident.scm 107 */
obj_t BgL_arg1150z00_109;
BgL_arg1150z00_109 = 
CAR(BgL_idz00_12); 
BgL_idz00_114 = BgL_arg1150z00_109; 
BgL_zc3anonymousza31167ze3z83_115:
{ /* ./Ast/ident.scm 91 */
obj_t BgL_stringz00_116;
BgL_stringz00_116 = 
SYMBOL_TO_STRING(BgL_idz00_114); 
{ /* ./Ast/ident.scm 91 */
int BgL_lenz00_117;
BgL_lenz00_117 = 
STRING_LENGTH(BgL_stringz00_116); 
{ /* ./Ast/ident.scm 92 */

{ 
long BgL_walkerz00_118;
BgL_walkerz00_118 = ((long)0); 
BgL_loopz00_119:
{ /* ./Ast/ident.scm 95 */
bool_t BgL_test1169z00_120;
{ /* ./Ast/ident.scm 95 */
long BgL_auxz00_517;
BgL_auxz00_517 = 
(long)(BgL_lenz00_117); 
BgL_test1169z00_120 = 
(BgL_walkerz00_118==BgL_auxz00_517); } 
if(BgL_test1169z00_120)
{ /* ./Ast/ident.scm 95 */
return BgL_idz00_114;}  else 
{ /* ./Ast/ident.scm 97 */
bool_t BgL_test1171z00_121;
{ /* ./Ast/ident.scm 97 */
bool_t BgL_testz00_521;
{ /* ./Ast/ident.scm 97 */
unsigned char BgL_auxz00_522;
{ /* ./Ast/ident.scm 97 */
int BgL_auxz00_523;
BgL_auxz00_523 = 
(int)(BgL_walkerz00_118); 
BgL_auxz00_522 = 
STRING_REF(BgL_stringz00_116, BgL_auxz00_523); } 
BgL_testz00_521 = 
(BgL_auxz00_522==((unsigned char)':')); } 
if(BgL_testz00_521)
{ /* ./Ast/ident.scm 98 */
bool_t BgL_testz00_527;
{ /* ./Ast/ident.scm 98 */
long BgL_auxz00_528;
{ /* ./Ast/ident.scm 98 */
long BgL_auxz00_529;
BgL_auxz00_529 = 
(long)(BgL_lenz00_117); 
BgL_auxz00_528 = 
(BgL_auxz00_529-((long)1)); } 
BgL_testz00_527 = 
(BgL_walkerz00_118<BgL_auxz00_528); } 
if(BgL_testz00_527)
{ /* ./Ast/ident.scm 99 */
unsigned char BgL_auxz00_533;
{ /* ./Ast/ident.scm 99 */
int BgL_auxz00_534;
{ /* ./Ast/ident.scm 99 */
long BgL_auxz00_535;
BgL_auxz00_535 = 
(BgL_walkerz00_118+((long)1)); 
BgL_auxz00_534 = 
(int)(BgL_auxz00_535); } 
BgL_auxz00_533 = 
STRING_REF(BgL_stringz00_116, BgL_auxz00_534); } 
BgL_test1171z00_121 = 
(BgL_auxz00_533==((unsigned char)':')); }  else 
{ /* ./Ast/ident.scm 98 */
BgL_test1171z00_121 = ((bool_t)0); } }  else 
{ /* ./Ast/ident.scm 97 */
BgL_test1171z00_121 = ((bool_t)0); } } 
if(BgL_test1171z00_121)
{ /* ./Ast/ident.scm 97 */
{ /* ./Ast/ident.scm 100 */
obj_t BgL_arg1177z00_122;
{ /* ./Ast/ident.scm 100 */
int BgL_startz00_264;int BgL_endz00_265;
BgL_startz00_264 = 
(int)(((long)0)); 
BgL_endz00_265 = 
(int)(BgL_walkerz00_118); 
BgL_arg1177z00_122 = 
c_substring(BgL_stringz00_116, BgL_startz00_264, BgL_endz00_265); } 
{ /* ./Ast/ident.scm 100 */
char * BgL_auxz00_544;
BgL_auxz00_544 = 
BSTRING_TO_STRING(BgL_arg1177z00_122); 
return 
string_to_symbol(BgL_auxz00_544);} } }  else 
{ /* ./Ast/ident.scm 97 */
{ /* ./Ast/ident.scm 102 */
long BgL_arg1182z00_123;
BgL_arg1182z00_123 = 
(BgL_walkerz00_118+((long)1)); 
{ 
long BgL_walkerz00_548;
BgL_walkerz00_548 = BgL_arg1182z00_123; 
BgL_walkerz00_118 = BgL_walkerz00_548; 
goto BgL_loopz00_119;} } } } } } } } } } }  else 
{ /* ./Ast/ident.scm 108 */
bool_t BgL_test1153z00_110;
BgL_test1153z00_110 = 
SYMBOLP(BgL_idz00_12); 
if(BgL_test1153z00_110)
{ /* ./Ast/ident.scm 108 */
{ 
obj_t BgL_idz00_551;
BgL_idz00_551 = BgL_idz00_12; 
BgL_idz00_114 = BgL_idz00_551; 
goto BgL_zc3anonymousza31167ze3z83_115;} }  else 
{ /* ./Ast/ident.scm 108 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1459z00zzast_identz00, BGl_string1457z00zzast_identz00, BgL_idz00_12, BNIL);} } } } } } 
}



/* _fast-id-of-id */
obj_t BGl__fastzd2idzd2ofzd2idzd2zzast_identz00(obj_t BgL_envz00_363, obj_t BgL_idz00_364, obj_t BgL_locz00_365)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 89 */
return 
BGl_fastzd2idzd2ofzd2idzd2zzast_identz00(BgL_idz00_364, BgL_locz00_365);} 
}



/* parse-id/use */
obj_t BGl_parsezd2idzf2usez20zzast_identz00(obj_t BgL_idz00_14, obj_t BgL_locz00_15, obj_t BgL_usezd2typezd2_16)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 116 */
{ /* ./Ast/ident.scm 117 */
bool_t BgL_test1205z00_131;
BgL_test1205z00_131 = 
SYMBOLP(BgL_idz00_14); 
if(BgL_test1205z00_131)
{ /* ./Ast/ident.scm 119 */
obj_t BgL_stringz00_132;
BgL_stringz00_132 = 
SYMBOL_TO_STRING(BgL_idz00_14); 
{ /* ./Ast/ident.scm 119 */
int BgL_lenz00_133;
BgL_lenz00_133 = 
STRING_LENGTH(BgL_stringz00_132); 
{ /* ./Ast/ident.scm 120 */

{ 
long BgL_walkerz00_134;long BgL_idzd2stopzd2_135;long BgL_typezd2startzd2_136;
BgL_walkerz00_134 = ((long)0); 
BgL_idzd2stopzd2_135 = ((long)0); 
BgL_typezd2startzd2_136 = ((long)0); 
BgL_loopz00_137:
{ /* ./Ast/ident.scm 125 */
bool_t BgL_test1207z00_138;
{ /* ./Ast/ident.scm 125 */
long BgL_auxz00_558;
BgL_auxz00_558 = 
(long)(BgL_lenz00_133); 
BgL_test1207z00_138 = 
(BgL_walkerz00_134==BgL_auxz00_558); } 
if(BgL_test1207z00_138)
{ /* ./Ast/ident.scm 125 */
{ /* ./Ast/ident.scm 127 */
bool_t BgL_test1208z00_139;
if(
(BgL_idzd2stopzd2_135==((long)0)))
{ /* ./Ast/ident.scm 127 */
BgL_test1208z00_139 = 
(BgL_typezd2startzd2_136>((long)0)); }  else 
{ /* ./Ast/ident.scm 127 */
BgL_test1208z00_139 = ((bool_t)0); } 
if(BgL_test1208z00_139)
{ /* ./Ast/ident.scm 127 */
{ /* ./Ast/ident.scm 130 */
obj_t BgL_idz00_140;obj_t BgL_tidz00_141;
{ /* ./Ast/ident.scm 130 */
char * BgL_auxz00_566;
BgL_auxz00_566 = 
BSTRING_TO_STRING(BGl_string1460z00zzast_identz00); 
BgL_idz00_140 = 
string_to_symbol(BgL_auxz00_566); } 
{ /* ./Ast/ident.scm 131 */
obj_t BgL_arg1215z00_143;
{ /* ./Ast/ident.scm 131 */
int BgL_startz00_280;
BgL_startz00_280 = 
(int)(BgL_typezd2startzd2_136); 
BgL_arg1215z00_143 = 
c_substring(BgL_stringz00_132, BgL_startz00_280, BgL_lenz00_133); } 
{ /* ./Ast/ident.scm 131 */
char * BgL_auxz00_571;
BgL_auxz00_571 = 
BSTRING_TO_STRING(BgL_arg1215z00_143); 
BgL_tidz00_141 = 
string_to_symbol(BgL_auxz00_571); } } 
{ /* ./Ast/ident.scm 134 */
obj_t BgL_arg1210z00_142;
BgL_arg1210z00_142 = 
PROCEDURE_ENTRY(BgL_usezd2typezd2_16)(BgL_usezd2typezd2_16, BgL_tidz00_141, BgL_locz00_15, BEOA); 
return 
MAKE_PAIR(BgL_idz00_140, BgL_arg1210z00_142);} } }  else 
{ /* ./Ast/ident.scm 135 */
bool_t BgL_test1218z00_144;
BgL_test1218z00_144 = 
(BgL_idzd2stopzd2_135==((long)0)); 
if(BgL_test1218z00_144)
{ /* ./Ast/ident.scm 135 */
{ /* ./Ast/ident.scm 136 */
BgL_typez00_bglt BgL_arg1220z00_145;
BgL_arg1220z00_145 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
{ /* ./Ast/ident.scm 136 */
obj_t BgL_auxz00_580;
BgL_auxz00_580 = 
(obj_t)(BgL_arg1220z00_145); 
return 
MAKE_PAIR(BgL_idz00_14, BgL_auxz00_580);} } }  else 
{ /* ./Ast/ident.scm 137 */
bool_t BgL_test1223z00_146;
{ /* ./Ast/ident.scm 137 */
long BgL_auxz00_583;
BgL_auxz00_583 = 
(long)(BgL_lenz00_133); 
BgL_test1223z00_146 = 
(BgL_typezd2startzd2_136==BgL_auxz00_583); } 
if(BgL_test1223z00_146)
{ /* ./Ast/ident.scm 137 */
{ /* ./Ast/ident.scm 139 */
obj_t BgL_arg1229z00_149;
{ /* ./Ast/ident.scm 142 */
obj_t BgL_arg1234z00_151;BgL_typez00_bglt BgL_arg1235z00_152;
BgL_arg1234z00_151 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg1235z00_152 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
{ /* ./Ast/ident.scm 142 */
obj_t BgL_auxz00_589;
BgL_auxz00_589 = 
(obj_t)(BgL_arg1235z00_152); 
BgL_arg1229z00_149 = 
MAKE_PAIR(BgL_arg1234z00_151, BgL_auxz00_589); } } 
{ /* ./Ast/ident.scm 139 */
obj_t BgL_list1231z00_150;
BgL_list1231z00_150 = 
MAKE_PAIR(BgL_arg1229z00_149, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1461z00zzast_identz00, BGl_string1462z00zzast_identz00, BgL_idz00_14, BgL_list1231z00_150);} } }  else 
{ /* ./Ast/ident.scm 137 */
{ /* ./Ast/ident.scm 144 */
obj_t BgL_idz00_153;obj_t BgL_tidz00_154;
{ /* ./Ast/ident.scm 144 */
obj_t BgL_arg1244z00_156;
{ /* ./Ast/ident.scm 144 */
int BgL_startz00_288;int BgL_endz00_289;
BgL_startz00_288 = 
(int)(((long)0)); 
BgL_endz00_289 = 
(int)(BgL_idzd2stopzd2_135); 
BgL_arg1244z00_156 = 
c_substring(BgL_stringz00_132, BgL_startz00_288, BgL_endz00_289); } 
{ /* ./Ast/ident.scm 144 */
char * BgL_auxz00_597;
BgL_auxz00_597 = 
BSTRING_TO_STRING(BgL_arg1244z00_156); 
BgL_idz00_153 = 
string_to_symbol(BgL_auxz00_597); } } 
{ /* ./Ast/ident.scm 145 */
obj_t BgL_arg1249z00_157;
{ /* ./Ast/ident.scm 145 */
int BgL_startz00_292;
BgL_startz00_292 = 
(int)(BgL_typezd2startzd2_136); 
BgL_arg1249z00_157 = 
c_substring(BgL_stringz00_132, BgL_startz00_292, BgL_lenz00_133); } 
{ /* ./Ast/ident.scm 145 */
char * BgL_auxz00_602;
BgL_auxz00_602 = 
BSTRING_TO_STRING(BgL_arg1249z00_157); 
BgL_tidz00_154 = 
string_to_symbol(BgL_auxz00_602); } } 
{ /* ./Ast/ident.scm 148 */
obj_t BgL_arg1240z00_155;
BgL_arg1240z00_155 = 
PROCEDURE_ENTRY(BgL_usezd2typezd2_16)(BgL_usezd2typezd2_16, BgL_tidz00_154, BgL_locz00_15, BEOA); 
return 
MAKE_PAIR(BgL_idz00_153, BgL_arg1240z00_155);} } } } } } }  else 
{ /* ./Ast/ident.scm 149 */
bool_t BgL_test1257z00_159;
{ /* ./Ast/ident.scm 149 */
bool_t BgL_testz00_608;
{ /* ./Ast/ident.scm 149 */
unsigned char BgL_auxz00_609;
{ /* ./Ast/ident.scm 149 */
int BgL_auxz00_610;
BgL_auxz00_610 = 
(int)(BgL_walkerz00_134); 
BgL_auxz00_609 = 
STRING_REF(BgL_stringz00_132, BgL_auxz00_610); } 
BgL_testz00_608 = 
(BgL_auxz00_609==((unsigned char)':')); } 
if(BgL_testz00_608)
{ /* ./Ast/ident.scm 150 */
bool_t BgL_testz00_614;
{ /* ./Ast/ident.scm 150 */
long BgL_auxz00_615;
{ /* ./Ast/ident.scm 150 */
long BgL_auxz00_616;
BgL_auxz00_616 = 
(long)(BgL_lenz00_133); 
BgL_auxz00_615 = 
(BgL_auxz00_616-((long)1)); } 
BgL_testz00_614 = 
(BgL_walkerz00_134<BgL_auxz00_615); } 
if(BgL_testz00_614)
{ /* ./Ast/ident.scm 151 */
unsigned char BgL_auxz00_620;
{ /* ./Ast/ident.scm 151 */
int BgL_auxz00_621;
{ /* ./Ast/ident.scm 151 */
long BgL_auxz00_622;
BgL_auxz00_622 = 
(BgL_walkerz00_134+((long)1)); 
BgL_auxz00_621 = 
(int)(BgL_auxz00_622); } 
BgL_auxz00_620 = 
STRING_REF(BgL_stringz00_132, BgL_auxz00_621); } 
BgL_test1257z00_159 = 
(BgL_auxz00_620==((unsigned char)':')); }  else 
{ /* ./Ast/ident.scm 150 */
BgL_test1257z00_159 = ((bool_t)0); } }  else 
{ /* ./Ast/ident.scm 149 */
BgL_test1257z00_159 = ((bool_t)0); } } 
if(BgL_test1257z00_159)
{ /* ./Ast/ident.scm 149 */
{ /* ./Ast/ident.scm 152 */
bool_t BgL_test1258z00_160;
BgL_test1258z00_160 = 
(BgL_typezd2startzd2_136>((long)0)); 
if(BgL_test1258z00_160)
{ /* ./Ast/ident.scm 153 */
obj_t BgL_arg1266z00_163;
{ /* ./Ast/ident.scm 156 */
obj_t BgL_arg1273z00_165;BgL_typez00_bglt BgL_arg1276z00_166;
BgL_arg1273z00_165 = 
CNST_TABLE_REF(((long)1)); 
BgL_arg1276z00_166 = 
BGl_getzd2defaultzd2typez00zztype_cachez00(); 
{ /* ./Ast/ident.scm 156 */
obj_t BgL_auxz00_632;
BgL_auxz00_632 = 
(obj_t)(BgL_arg1276z00_166); 
BgL_arg1266z00_163 = 
MAKE_PAIR(BgL_arg1273z00_165, BgL_auxz00_632); } } 
{ /* ./Ast/ident.scm 153 */
obj_t BgL_list1268z00_164;
BgL_list1268z00_164 = 
MAKE_PAIR(BgL_arg1266z00_163, BNIL); 
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1461z00zzast_identz00, BGl_string1462z00zzast_identz00, BgL_idz00_14, BgL_list1268z00_164);} }  else 
{ /* ./Ast/ident.scm 157 */
long BgL_arg1282z00_167;long BgL_arg1283z00_168;
BgL_arg1282z00_167 = 
(BgL_walkerz00_134+((long)2)); 
BgL_arg1283z00_168 = 
(BgL_walkerz00_134+((long)2)); 
{ 
long BgL_typezd2startzd2_641;long BgL_idzd2stopzd2_640;long BgL_walkerz00_639;
BgL_walkerz00_639 = BgL_arg1282z00_167; 
BgL_idzd2stopzd2_640 = BgL_walkerz00_134; 
BgL_typezd2startzd2_641 = BgL_arg1283z00_168; 
BgL_typezd2startzd2_136 = BgL_typezd2startzd2_641; 
BgL_idzd2stopzd2_135 = BgL_idzd2stopzd2_640; 
BgL_walkerz00_134 = BgL_walkerz00_639; 
goto BgL_loopz00_137;} } } }  else 
{ /* ./Ast/ident.scm 149 */
{ /* ./Ast/ident.scm 159 */
long BgL_arg1289z00_169;
BgL_arg1289z00_169 = 
(BgL_walkerz00_134+((long)1)); 
{ 
long BgL_walkerz00_643;
BgL_walkerz00_643 = BgL_arg1289z00_169; 
BgL_walkerz00_134 = BgL_walkerz00_643; 
goto BgL_loopz00_137;} } } } } } } } }  else 
{ /* ./Ast/ident.scm 117 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1459z00zzast_identz00, BGl_string1457z00zzast_identz00, BgL_idz00_14, BNIL);} } } 
}



/* parse-id/import-location */
BGL_EXPORTED_DEF obj_t BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(obj_t BgL_idz00_17, obj_t BgL_locz00_18, obj_t BgL_lociz00_19)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 164 */
{ /* ./Ast/ident.scm 167 */
obj_t BgL_zc3anonymousza31318ze3z83_366;
{ 
int BgL_auxz00_647;int BgL_auxz00_645;
BgL_auxz00_647 = 
(int)(((long)1)); 
BgL_auxz00_645 = 
(int)(((long)2)); 
BgL_zc3anonymousza31318ze3z83_366 = 
make_fx_procedure(BGl_zc3anonymousza31318ze3_1376z83zzast_identz00, BgL_auxz00_645, BgL_auxz00_647); } 
{ /* ./Ast/ident.scm 167 */
int BgL_auxz00_650;
BgL_auxz00_650 = 
(int)(((long)0)); 
PROCEDURE_SET(BgL_zc3anonymousza31318ze3z83_366, BgL_auxz00_650, BgL_lociz00_19); } 
return 
BGl_parsezd2idzf2usez20zzast_identz00(BgL_idz00_17, BgL_locz00_18, BgL_zc3anonymousza31318ze3z83_366);} } 
}



/* _parse-id/import-location */
obj_t BGl__parsezd2idzf2importzd2locationzf2zzast_identz00(obj_t BgL_envz00_367, obj_t BgL_idz00_368, obj_t BgL_locz00_369, obj_t BgL_lociz00_370)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 164 */
return 
BGl_parsezd2idzf2importzd2locationzf2zzast_identz00(BgL_idz00_368, BgL_locz00_369, BgL_lociz00_370);} 
}



/* <anonymous:1318>_1376 */
obj_t BGl_zc3anonymousza31318ze3_1376z83zzast_identz00(obj_t BgL_envz00_371, obj_t BgL_tidz00_373, obj_t BgL_locz00_374)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 167 */
{ /* ./Ast/ident.scm 167 */
obj_t BgL_lociz00_372;
{ /* ./Ast/ident.scm 167 */
int BgL_auxz00_655;
BgL_auxz00_655 = 
(int)(((long)0)); 
BgL_lociz00_372 = 
PROCEDURE_REF(BgL_envz00_371, BgL_auxz00_655); } 
{ 
obj_t BgL_tidz00_318;obj_t BgL_locz00_319;
{ /* ./Ast/ident.scm 167 */
BgL_typez00_bglt BgL_auxz00_658;
BgL_tidz00_318 = BgL_tidz00_373; 
BgL_locz00_319 = BgL_locz00_374; 
BgL_auxz00_658 = 
BGl_usezd2typezf2importzd2locz12ze0zztype_envz00(BgL_tidz00_318, BgL_locz00_319, BgL_lociz00_372); 
return 
(obj_t)(BgL_auxz00_658);} } } } 
}



/* parse-id */
BGL_EXPORTED_DEF obj_t BGl_parsezd2idzd2zzast_identz00(obj_t BgL_idz00_20, obj_t BgL_locz00_21)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 172 */
return 
BGl_parsezd2idzf2usez20zzast_identz00(BgL_idz00_20, BgL_locz00_21, BGl_usezd2typez12zd2envz12zztype_envz00);} 
}



/* _parse-id */
obj_t BGl__parsezd2idzd2zzast_identz00(obj_t BgL_envz00_375, obj_t BgL_idz00_376, obj_t BgL_locz00_377)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 172 */
return 
BGl_parsezd2idzd2zzast_identz00(BgL_idz00_376, BgL_locz00_377);} 
}



/* id->name */
BGL_EXPORTED_DEF obj_t BGl_idzd2ze3namez31zzast_identz00(obj_t BgL_idz00_22)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 178 */
{ /* ./Ast/ident.scm 179 */
obj_t BgL_namez00_320;
{ /* ./Ast/ident.scm 179 */
obj_t BgL_arg1323z00_321;
BgL_arg1323z00_321 = 
SYMBOL_TO_STRING(BgL_idz00_22); 
BgL_namez00_320 = 
BGl_stringzd2downcasezd2zz__r4_strings_6_7z00(BgL_arg1323z00_321); } 
return 
bigloo_mangle(BgL_namez00_320);} } 
}



/* _id->name */
obj_t BGl__idzd2ze3namez31zzast_identz00(obj_t BgL_envz00_378, obj_t BgL_idz00_379)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 178 */
return 
BGl_idzd2ze3namez31zzast_identz00(BgL_idz00_379);} 
}



/* local-id->name */
BGL_EXPORTED_DEF obj_t BGl_localzd2idzd2ze3nameze3zzast_identz00(obj_t BgL_idz00_23)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 185 */
{ /* ./Ast/ident.scm 186 */
obj_t BgL_res1362z00_327;
{ /* ./Ast/ident.scm 186 */
obj_t BgL_namez00_324;
{ /* ./Ast/ident.scm 186 */
obj_t BgL_arg1323z00_325;
BgL_arg1323z00_325 = 
SYMBOL_TO_STRING(BgL_idz00_23); 
BgL_namez00_324 = 
BGl_stringzd2downcasezd2zz__r4_strings_6_7z00(BgL_arg1323z00_325); } 
BgL_res1362z00_327 = 
bigloo_mangle(BgL_namez00_324); } 
return BgL_res1362z00_327;} } 
}



/* _local-id->name */
obj_t BGl__localzd2idzd2ze3nameze3zzast_identz00(obj_t BgL_envz00_380, obj_t BgL_idz00_381)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 185 */
return 
BGl_localzd2idzd2ze3nameze3zzast_identz00(BgL_idz00_381);} 
}



/* check-id */
BGL_EXPORTED_DEF obj_t BGl_checkzd2idzd2zzast_identz00(obj_t BgL_idz00_24, obj_t BgL_srcz00_25)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 191 */
{ /* ./Ast/ident.scm 192 */
bool_t BgL_test1327z00_184;
{ /* ./Ast/ident.scm 192 */
obj_t BgL_arg1331z00_186;
{ /* ./Ast/ident.scm 192 */
obj_t BgL_arg1334z00_187;
BgL_arg1334z00_187 = 
CAR(BgL_idz00_24); 
BgL_arg1331z00_186 = 
SYMBOL_TO_STRING(BgL_arg1334z00_187); } 
{ /* ./Ast/ident.scm 192 */
long BgL_auxz00_673;
{ /* ./Ast/ident.scm 192 */
int BgL_auxz00_674;
BgL_auxz00_674 = 
STRING_LENGTH(BgL_arg1331z00_186); 
BgL_auxz00_673 = 
(long)(BgL_auxz00_674); } 
BgL_test1327z00_184 = 
(BgL_auxz00_673==((long)0)); } } 
if(BgL_test1327z00_184)
{ /* ./Ast/ident.scm 192 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1457z00zzast_identz00, BGl_string1458z00zzast_identz00, BgL_srcz00_25, BNIL);}  else 
{ /* ./Ast/ident.scm 192 */
return BgL_idz00_24;} } } 
}



/* _check-id */
obj_t BGl__checkzd2idzd2zzast_identz00(obj_t BgL_envz00_382, obj_t BgL_idz00_383, obj_t BgL_srcz00_384)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 191 */
return 
BGl_checkzd2idzd2zzast_identz00(BgL_idz00_383, BgL_srcz00_384);} 
}



/* parse-dsssl */
BGL_EXPORTED_DEF obj_t BGl_parsezd2dssslzd2zzast_identz00(obj_t BgL_objz00_26)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 199 */
{ /* ./Ast/ident.scm 201 */
bool_t BgL_test1338z00_188;
{ /* ./Ast/ident.scm 201 */
obj_t BgL_auxz00_681;
BgL_auxz00_681 = 
BGl_dssslzd2namedzd2constantzf3zf3zztools_dssslz00(BgL_objz00_26); 
BgL_test1338z00_188 = 
CBOOL(BgL_auxz00_681); } 
if(BgL_test1338z00_188)
{ /* ./Ast/ident.scm 201 */
return 
MAKE_PAIR(BgL_objz00_26, BGl_za2objza2z00zztype_cachez00);}  else 
{ /* ./Ast/ident.scm 203 */
bool_t BgL_test1340z00_189;
{ /* ./Ast/ident.scm 203 */
obj_t BgL_auxz00_686;
BgL_auxz00_686 = 
BGl_dssslzd2defaultedzd2formalzf3zf3zztools_dssslz00(BgL_objz00_26); 
BgL_test1340z00_189 = 
CBOOL(BgL_auxz00_686); } 
if(BgL_test1340z00_189)
{ /* ./Ast/ident.scm 203 */
return 
MAKE_PAIR(BgL_objz00_26, BGl_za2objza2z00zztype_cachez00);}  else 
{ /* ./Ast/ident.scm 203 */
return 
BGl_userzd2errorzd2zztools_errorz00(BGl_string1463z00zzast_identz00, BGl_string1460z00zzast_identz00, BgL_objz00_26, BNIL);} } } } 
}



/* _parse-dsssl */
obj_t BGl__parsezd2dssslzd2zzast_identz00(obj_t BgL_envz00_385, obj_t BgL_objz00_386)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 199 */
return 
BGl_parsezd2dssslzd2zzast_identz00(BgL_objz00_386);} 
}



/* mark-symbol-non-user! */
BGL_EXPORTED_DEF obj_t BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t BgL_symz00_27)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 218 */
BGl_putpropz12z12zz__r4_symbols_6_4z00(BgL_symz00_27, 
CNST_TABLE_REF(((long)2)), BTRUE); 
return BgL_symz00_27;} 
}



/* _mark-symbol-non-user! */
obj_t BGl__markzd2symbolzd2nonzd2userz12zc0zzast_identz00(obj_t BgL_envz00_387, obj_t BgL_symz00_388)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 218 */
return 
BGl_markzd2symbolzd2nonzd2userz12zc0zzast_identz00(BgL_symz00_388);} 
}



/* user-symbol? */
BGL_EXPORTED_DEF bool_t BGl_userzd2symbolzf3z21zzast_identz00(obj_t BgL_symbolz00_28)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 227 */
{ /* ./Ast/ident.scm 228 */
bool_t BgL_testz00_696;
{ /* ./Ast/ident.scm 228 */
obj_t BgL_auxz00_697;
BgL_auxz00_697 = 
BGl_getpropz00zz__r4_symbols_6_4z00(BgL_symbolz00_28, 
CNST_TABLE_REF(((long)2))); 
BgL_testz00_696 = 
CBOOL(BgL_auxz00_697); } 
if(BgL_testz00_696)
{ /* ./Ast/ident.scm 228 */
return ((bool_t)0);}  else 
{ /* ./Ast/ident.scm 228 */
return ((bool_t)1);} } } 
}



/* _user-symbol? */
obj_t BGl__userzd2symbolzf3z21zzast_identz00(obj_t BgL_envz00_389, obj_t BgL_symbolz00_390)
{ AN_OBJECT;
{ /* ./Ast/ident.scm 227 */
{ /* ./Ast/ident.scm 228 */
bool_t BgL_auxz00_701;
BgL_auxz00_701 = 
BGl_userzd2symbolzf3z21zzast_identz00(BgL_symbolz00_390); 
return 
BBOOL(BgL_auxz00_701);} } 
}



/* method-init */
obj_t BGl_methodzd2initzd2zzast_identz00()
{ AN_OBJECT;
{ /* ./Ast/ident.scm 14 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zzast_identz00()
{ AN_OBJECT;
{ /* ./Ast/ident.scm 14 */
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "ast_ident"); 
BGl_modulezd2initializa7ationz75zztools_dssslz00(((long)55629), "ast_ident"); 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "ast_ident"); 
BGl_modulezd2initializa7ationz75zztype_envz00(((long)25186), "ast_ident"); 
return 
BGl_modulezd2initializa7ationz75zztype_cachez00(((long)25848), "ast_ident");} 
}

