/*===========================================================================*/
/*   (Type/tools.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 Type/tools.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_modulezd2initializa7ationz75zztype_toolsz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
BGL_EXPORTED_DECL obj_t BGl_replacezd2z42z90zztype_toolsz00(obj_t, obj_t);
BGL_IMPORT obj_t make_string(int, unsigned char);
static obj_t BGl_methodzd2initzd2zztype_toolsz00();
BGL_EXPORTED_DECL obj_t BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(BgL_typez00_bglt);
static obj_t BGl__makezd2pointerzd2tozd2namezd2zztype_toolsz00(obj_t, obj_t);
BGL_IMPORT obj_t string_append(obj_t, obj_t);
static obj_t BGl__za2zd2namezf3z83zztype_toolsz00(obj_t, obj_t);
static obj_t BGl__z42zd2inzd2namezf3zb1zztype_toolsz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_za2zd2namezf3z83zztype_toolsz00(obj_t);
BGL_IMPORT obj_t BGl_stringzd2copyzd2zz__r4_strings_6_7z00(obj_t);
static obj_t BGl__makezd2typedzd2declarationz00zztype_toolsz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_typez00_bglt, obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zztype_toolsz00();
static obj_t BGl_requirezd2initializa7ationz75zztype_toolsz00 = BUNSPEC;
static obj_t BGl__stringzd2sanszd2z42z42zztype_toolsz00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(obj_t);
static obj_t BGl_libraryzd2moduleszd2initz00zztype_toolsz00();
BGL_EXPORTED_DECL obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t);
static obj_t BGl__replacezd2z42z90zztype_toolsz00(obj_t, obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_makezd2pointerzd2tozd2namezd2zztype_toolsz00(BgL_typez00_bglt);
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl__typezd2namezd2sanszd2z42z90zztype_toolsz00(obj_t, obj_t);
static obj_t *__cnst;


DEFINE_EXPORT_PROCEDURE( BGl_makezd2typedzd2declarationzd2envzd2zztype_toolsz00, BgL_bgl__makeza7d2typedza7d2declarationza700za7za7type_toolsza7001280z00, BGl__makezd2typedzd2declarationz00zztype_toolsz00, 0L, 2 );
DEFINE_EXPORT_PROCEDURE( BGl_replacezd2z42zd2envz42zztype_toolsz00, BgL_bgl__replaceza7d2za742za790za7za7type_toolsza7001281z00, BGl__replacezd2z42z90zztype_toolsz00, 0L, 2 );
DEFINE_STRING( BGl_string1271z00zztype_toolsz00, BgL_bgl_string1271za700za7za7type_toolsza7001282z00, "Unbound foreign type", 20 );
DEFINE_STRING( BGl_string1270z00zztype_toolsz00, BgL_bgl_string1270za700za7za7type_toolsza7001283z00, "make-pointer-to-name", 20 );
DEFINE_STRING( BGl_string1269z00zztype_toolsz00, BgL_bgl_string1269za700za7za7type_toolsza7001284z00, " *", 2 );
DEFINE_STRING( BGl_string1268z00zztype_toolsz00, BgL_bgl_string1268za700za7za7type_toolsza7001285z00, "(*)", 3 );
DEFINE_EXPORT_PROCEDURE( BGl_stringzd2sanszd2z42zd2envz90zztype_toolsz00, BgL_bgl__stringza7d2sansza7d2za742za742za7za7type_toolsza7001286za7, BGl__stringzd2sanszd2z42z42zztype_toolsz00, 0L, 1 );
DEFINE_STRING( BGl_string1267z00zztype_toolsz00, BgL_bgl_string1267za700za7za7type_toolsza7001287z00, " ", 1 );
DEFINE_EXPORT_PROCEDURE( BGl_z42zd2inzd2namezf3zd2envz63zztype_toolsz00, BgL_bgl__za742za7d2inza7d2nameza7f3za7b1za7za7type_toolsza7001288z00, BGl__z42zd2inzd2namezf3zb1zztype_toolsz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_makezd2pointerzd2tozd2namezd2envz00zztype_toolsz00, BgL_bgl__makeza7d2pointerza7d2toza7d2nameza7d2za7za7type_toolsza7001289za7, BGl__makezd2pointerzd2tozd2namezd2zztype_toolsz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_typezd2namezd2sanszd2z42zd2envz42zztype_toolsz00, BgL_bgl__typeza7d2nameza7d2sansza7d2za742za790za7za7type_toolsza7001290z00, BGl__typezd2namezd2sanszd2z42z90zztype_toolsz00, 0L, 1 );
DEFINE_EXPORT_PROCEDURE( BGl_za2zd2namezf3zd2envz51zztype_toolsz00, BgL_bgl__za7a2za7d2nameza7f3za783za7za7type_toolsza7001291za7, BGl__za2zd2namezf3z83zztype_toolsz00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zztype_toolsz00(long BgL_checksumz00_242, char * BgL_fromz00_243)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zztype_toolsz00))
{ 
BGl_requirezd2initializa7ationz75zztype_toolsz00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zztype_toolsz00(); 
BGl_importedzd2moduleszd2initz00zztype_toolsz00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zztype_toolsz00()
{ AN_OBJECT;
{ /* ./Type/tools.scm 15 */
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "type_tools"); 
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "type_tools"); 
return BUNSPEC;} 
}



/* string-sans-$ */
BGL_EXPORTED_DEF obj_t BGl_stringzd2sanszd2z42z42zztype_toolsz00(obj_t BgL_stringz00_1)
{ AN_OBJECT;
{ /* ./Type/tools.scm 33 */
{ /* ./Type/tools.scm 34 */
obj_t BgL_newz00_66;
BgL_newz00_66 = 
BGl_stringzd2copyzd2zz__r4_strings_6_7z00(BgL_stringz00_1); 
{ 
long BgL_iz00_67;
{ /* ./Type/tools.scm 35 */
long BgL_arg1090z00_69;
{ /* ./Type/tools.scm 35 */
long BgL_auxz00_252;
{ /* ./Type/tools.scm 35 */
int BgL_auxz00_253;
BgL_auxz00_253 = 
STRING_LENGTH(BgL_newz00_66); 
BgL_auxz00_252 = 
(long)(BgL_auxz00_253); } 
BgL_arg1090z00_69 = 
(BgL_auxz00_252-((long)1)); } 
BgL_iz00_67 = BgL_arg1090z00_69; 
BgL_loopz00_68:
{ /* ./Type/tools.scm 37 */
bool_t BgL_test1099z00_72;
BgL_test1099z00_72 = 
(BgL_iz00_67==((long)-1)); 
if(BgL_test1099z00_72)
{ /* ./Type/tools.scm 37 */
return BgL_newz00_66;}  else 
{ /* ./Type/tools.scm 39 */
bool_t BgL_test1100z00_73;
{ /* ./Type/tools.scm 39 */
unsigned char BgL_auxz00_259;
{ /* ./Type/tools.scm 39 */
int BgL_auxz00_260;
BgL_auxz00_260 = 
(int)(BgL_iz00_67); 
BgL_auxz00_259 = 
STRING_REF(BgL_newz00_66, BgL_auxz00_260); } 
BgL_test1100z00_73 = 
(BgL_auxz00_259==((unsigned char)'$')); } 
if(BgL_test1100z00_73)
{ /* ./Type/tools.scm 39 */
{ /* ./Type/tools.scm 40 */
int BgL_kz00_150;
BgL_kz00_150 = 
(int)(BgL_iz00_67); 
STRING_SET(BgL_newz00_66, BgL_kz00_150, ((unsigned char)' ')); } 
{ /* ./Type/tools.scm 41 */
long BgL_arg1103z00_74;
BgL_arg1103z00_74 = 
(BgL_iz00_67-((long)1)); 
{ 
long BgL_iz00_268;
BgL_iz00_268 = BgL_arg1103z00_74; 
BgL_iz00_67 = BgL_iz00_268; 
goto BgL_loopz00_68;} } }  else 
{ /* ./Type/tools.scm 39 */
{ /* ./Type/tools.scm 43 */
long BgL_arg1107z00_75;
BgL_arg1107z00_75 = 
(BgL_iz00_67-((long)1)); 
{ 
long BgL_iz00_270;
BgL_iz00_270 = BgL_arg1107z00_75; 
BgL_iz00_67 = BgL_iz00_270; 
goto BgL_loopz00_68;} } } } } } } } } 
}



/* _string-sans-$ */
obj_t BGl__stringzd2sanszd2z42z42zztype_toolsz00(obj_t BgL_envz00_226, obj_t BgL_stringz00_227)
{ AN_OBJECT;
{ /* ./Type/tools.scm 33 */
return 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_stringz00_227);} 
}



/* type-name-sans-$ */
BGL_EXPORTED_DEF obj_t BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(BgL_typez00_bglt BgL_typez00_2)
{ AN_OBJECT;
{ /* ./Type/tools.scm 48 */
{ /* ./Type/tools.scm 49 */
obj_t BgL_tnamez00_77;
BgL_tnamez00_77 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_2))->BgL_namez00); 
{ /* ./Type/tools.scm 50 */
bool_t BgL_test1116z00_78;
{ /* ./Type/tools.scm 50 */
obj_t BgL_auxz00_273;
BgL_auxz00_273 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_2))->BgL_z42z42); 
BgL_test1116z00_78 = 
CBOOL(BgL_auxz00_273); } 
if(BgL_test1116z00_78)
{ /* ./Type/tools.scm 50 */
return 
BGl_stringzd2sanszd2z42z42zztype_toolsz00(BgL_tnamez00_77);}  else 
{ /* ./Type/tools.scm 50 */
return BgL_tnamez00_77;} } } } 
}



/* _type-name-sans-$ */
obj_t BGl__typezd2namezd2sanszd2z42z90zztype_toolsz00(obj_t BgL_envz00_228, obj_t BgL_typez00_229)
{ AN_OBJECT;
{ /* ./Type/tools.scm 48 */
return 
BGl_typezd2namezd2sanszd2z42z90zztype_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_229));} 
}



/* $-in-name? */
BGL_EXPORTED_DEF obj_t BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(obj_t BgL_namez00_3)
{ AN_OBJECT;
{ /* ./Type/tools.scm 59 */
{ 
long BgL_iz00_79;
{ /* ./Type/tools.scm 60 */
bool_t BgL_auxz00_280;
{ /* ./Type/tools.scm 60 */
long BgL_auxz00_291;
{ /* ./Type/tools.scm 60 */
int BgL_auxz00_292;
BgL_auxz00_292 = 
STRING_LENGTH(BgL_namez00_3); 
BgL_auxz00_291 = 
(long)(BgL_auxz00_292); } 
BgL_iz00_79 = 
(BgL_auxz00_291-((long)1)); } 
BgL_loopz00_80:
if(
(BgL_iz00_79==((long)-1)))
{ /* ./Type/tools.scm 62 */
BgL_auxz00_280 = ((bool_t)0); }  else 
{ /* ./Type/tools.scm 64 */
bool_t BgL_testz00_283;
{ /* ./Type/tools.scm 64 */
unsigned char BgL_auxz00_284;
{ /* ./Type/tools.scm 64 */
int BgL_auxz00_285;
BgL_auxz00_285 = 
(int)(BgL_iz00_79); 
BgL_auxz00_284 = 
STRING_REF(BgL_namez00_3, BgL_auxz00_285); } 
BgL_testz00_283 = 
(BgL_auxz00_284==((unsigned char)'$')); } 
if(BgL_testz00_283)
{ /* ./Type/tools.scm 64 */
BgL_auxz00_280 = ((bool_t)1); }  else 
{ /* ./Type/tools.scm 64 */
{ 
long BgL_iz00_289;
BgL_iz00_289 = 
(BgL_iz00_79-((long)1)); 
BgL_iz00_79 = BgL_iz00_289; 
goto BgL_loopz00_80;} } } 
return 
BBOOL(BgL_auxz00_280);} } } 
}



/* _$-in-name? */
obj_t BGl__z42zd2inzd2namezf3zb1zztype_toolsz00(obj_t BgL_envz00_230, obj_t BgL_namez00_231)
{ AN_OBJECT;
{ /* ./Type/tools.scm 59 */
return 
BGl_z42zd2inzd2namezf3zb1zztype_toolsz00(BgL_namez00_231);} 
}



/* *-name? */
BGL_EXPORTED_DEF obj_t BGl_za2zd2namezf3z83zztype_toolsz00(obj_t BgL_namez00_4)
{ AN_OBJECT;
{ /* ./Type/tools.scm 74 */
{ /* ./Type/tools.scm 75 */
bool_t BgL_auxz00_298;
{ /* ./Type/tools.scm 75 */
unsigned char BgL_auxz00_299;
{ /* ./Type/tools.scm 75 */
int BgL_auxz00_300;
{ /* ./Type/tools.scm 75 */
long BgL_auxz00_301;
{ /* ./Type/tools.scm 75 */
long BgL_auxz00_302;
{ /* ./Type/tools.scm 75 */
int BgL_auxz00_303;
BgL_auxz00_303 = 
STRING_LENGTH(BgL_namez00_4); 
BgL_auxz00_302 = 
(long)(BgL_auxz00_303); } 
BgL_auxz00_301 = 
(BgL_auxz00_302-((long)1)); } 
BgL_auxz00_300 = 
(int)(BgL_auxz00_301); } 
BgL_auxz00_299 = 
STRING_REF(BgL_namez00_4, BgL_auxz00_300); } 
BgL_auxz00_298 = 
(BgL_auxz00_299==((unsigned char)'*')); } 
return 
BBOOL(BgL_auxz00_298);} } 
}



/* _*-name? */
obj_t BGl__za2zd2namezf3z83zztype_toolsz00(obj_t BgL_envz00_232, obj_t BgL_namez00_233)
{ AN_OBJECT;
{ /* ./Type/tools.scm 74 */
return 
BGl_za2zd2namezf3z83zztype_toolsz00(BgL_namez00_233);} 
}



/* replace-$ */
BGL_EXPORTED_DEF obj_t BGl_replacezd2z42z90zztype_toolsz00(obj_t BgL_stringz00_5, obj_t BgL_rplacz00_6)
{ AN_OBJECT;
{ /* ./Type/tools.scm 80 */
{ /* ./Type/tools.scm 81 */
int BgL_lenzd2stringzd2_92;
BgL_lenzd2stringzd2_92 = 
STRING_LENGTH(BgL_stringz00_5); 
{ /* ./Type/tools.scm 81 */
int BgL_lenzd2rplaczd2_93;
BgL_lenzd2rplaczd2_93 = 
STRING_LENGTH(BgL_rplacz00_6); 
{ /* ./Type/tools.scm 82 */
long BgL_lenz00_94;
{ /* ./Type/tools.scm 83 */
long BgL_auxz00_314;
{ /* ./Type/tools.scm 83 */
long BgL_auxz00_317;long BgL_auxz00_315;
BgL_auxz00_317 = 
(long)(BgL_lenzd2rplaczd2_93); 
BgL_auxz00_315 = 
(long)(BgL_lenzd2stringzd2_92); 
BgL_auxz00_314 = 
(BgL_auxz00_315+BgL_auxz00_317); } 
BgL_lenz00_94 = 
(BgL_auxz00_314-((long)1)); } 
{ /* ./Type/tools.scm 83 */
obj_t BgL_newz00_95;
{ /* ./Type/tools.scm 84 */
obj_t BgL_res1228z00_188;
{ /* ./Type/tools.scm 84 */
int BgL_kz00_182;
BgL_kz00_182 = 
(int)(BgL_lenz00_94); 
BgL_res1228z00_188 = 
make_string(BgL_kz00_182, ((unsigned char)' ')); } 
BgL_newz00_95 = BgL_res1228z00_188; } 
{ /* ./Type/tools.scm 84 */

{ 
long BgL_rz00_96;long BgL_wz00_97;
BgL_rz00_96 = ((long)0); 
BgL_wz00_97 = ((long)0); 
BgL_loopz00_98:
{ /* ./Type/tools.scm 88 */
bool_t BgL_test1152z00_99;
{ /* ./Type/tools.scm 88 */
long BgL_auxz00_323;
BgL_auxz00_323 = 
(long)(BgL_lenzd2stringzd2_92); 
BgL_test1152z00_99 = 
(BgL_rz00_96==BgL_auxz00_323); } 
if(BgL_test1152z00_99)
{ /* ./Type/tools.scm 88 */
return BgL_newz00_95;}  else 
{ /* ./Type/tools.scm 90 */
bool_t BgL_test1153z00_100;
{ /* ./Type/tools.scm 90 */
unsigned char BgL_auxz00_327;
{ /* ./Type/tools.scm 90 */
int BgL_auxz00_328;
BgL_auxz00_328 = 
(int)(BgL_rz00_96); 
BgL_auxz00_327 = 
STRING_REF(BgL_stringz00_5, BgL_auxz00_328); } 
BgL_test1153z00_100 = 
(BgL_auxz00_327==((unsigned char)'$')); } 
if(BgL_test1153z00_100)
{ /* ./Type/tools.scm 90 */
{ 
long BgL_wz00_101;long BgL_rrz00_102;
BgL_wz00_101 = BgL_wz00_97; 
BgL_rrz00_102 = ((long)0); 
BgL_liipz00_103:
{ /* ./Type/tools.scm 94 */
bool_t BgL_test1155z00_104;
{ /* ./Type/tools.scm 94 */
long BgL_auxz00_333;
BgL_auxz00_333 = 
(long)(BgL_lenzd2rplaczd2_93); 
BgL_test1155z00_104 = 
(BgL_rrz00_102==BgL_auxz00_333); } 
if(BgL_test1155z00_104)
{ /* ./Type/tools.scm 95 */
long BgL_arg1158z00_105;
BgL_arg1158z00_105 = 
(BgL_rz00_96+((long)1)); 
{ 
long BgL_wz00_339;long BgL_rz00_338;
BgL_rz00_338 = BgL_arg1158z00_105; 
BgL_wz00_339 = BgL_wz00_101; 
BgL_wz00_97 = BgL_wz00_339; 
BgL_rz00_96 = BgL_rz00_338; 
goto BgL_loopz00_98;} }  else 
{ /* ./Type/tools.scm 94 */
{ /* ./Type/tools.scm 97 */
unsigned char BgL_arg1162z00_106;
{ /* ./Type/tools.scm 97 */
int BgL_auxz00_340;
BgL_auxz00_340 = 
(int)(BgL_rrz00_102); 
BgL_arg1162z00_106 = 
STRING_REF(BgL_rplacz00_6, BgL_auxz00_340); } 
{ /* ./Type/tools.scm 97 */
int BgL_kz00_202;
BgL_kz00_202 = 
(int)(BgL_wz00_101); 
STRING_SET(BgL_newz00_95, BgL_kz00_202, BgL_arg1162z00_106); } } 
{ /* ./Type/tools.scm 98 */
long BgL_arg1166z00_107;long BgL_arg1169z00_108;
BgL_arg1166z00_107 = 
(BgL_wz00_101+((long)1)); 
BgL_arg1169z00_108 = 
(BgL_rrz00_102+((long)1)); 
{ 
long BgL_rrz00_348;long BgL_wz00_347;
BgL_wz00_347 = BgL_arg1166z00_107; 
BgL_rrz00_348 = BgL_arg1169z00_108; 
BgL_rrz00_102 = BgL_rrz00_348; 
BgL_wz00_101 = BgL_wz00_347; 
goto BgL_liipz00_103;} } } } } }  else 
{ /* ./Type/tools.scm 90 */
{ /* ./Type/tools.scm 100 */
unsigned char BgL_arg1177z00_109;
{ /* ./Type/tools.scm 100 */
int BgL_auxz00_349;
BgL_auxz00_349 = 
(int)(BgL_rz00_96); 
BgL_arg1177z00_109 = 
STRING_REF(BgL_stringz00_5, BgL_auxz00_349); } 
{ /* ./Type/tools.scm 100 */
int BgL_kz00_211;
BgL_kz00_211 = 
(int)(BgL_wz00_97); 
STRING_SET(BgL_newz00_95, BgL_kz00_211, BgL_arg1177z00_109); } } 
{ /* ./Type/tools.scm 101 */
long BgL_arg1182z00_110;long BgL_arg1183z00_111;
BgL_arg1182z00_110 = 
(BgL_rz00_96+((long)1)); 
BgL_arg1183z00_111 = 
(BgL_wz00_97+((long)1)); 
{ 
long BgL_wz00_357;long BgL_rz00_356;
BgL_rz00_356 = BgL_arg1182z00_110; 
BgL_wz00_357 = BgL_arg1183z00_111; 
BgL_wz00_97 = BgL_wz00_357; 
BgL_rz00_96 = BgL_rz00_356; 
goto BgL_loopz00_98;} } } } } } } } } } } } 
}



/* _replace-$ */
obj_t BGl__replacezd2z42z90zztype_toolsz00(obj_t BgL_envz00_234, obj_t BgL_stringz00_235, obj_t BgL_rplacz00_236)
{ AN_OBJECT;
{ /* ./Type/tools.scm 80 */
return 
BGl_replacezd2z42z90zztype_toolsz00(BgL_stringz00_235, BgL_rplacz00_236);} 
}



/* make-typed-declaration */
BGL_EXPORTED_DEF obj_t BGl_makezd2typedzd2declarationz00zztype_toolsz00(BgL_typez00_bglt BgL_typez00_7, obj_t BgL_idz00_8)
{ AN_OBJECT;
{ /* ./Type/tools.scm 106 */
{ /* ./Type/tools.scm 107 */
obj_t BgL_tnamez00_116;
BgL_tnamez00_116 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_7))->BgL_namez00); 
{ /* ./Type/tools.scm 109 */
bool_t BgL_test1201z00_117;
{ /* ./Type/tools.scm 109 */
obj_t BgL_auxz00_360;
BgL_auxz00_360 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_7))->BgL_z42z42); 
BgL_test1201z00_117 = 
CBOOL(BgL_auxz00_360); } 
if(BgL_test1201z00_117)
{ /* ./Type/tools.scm 109 */
return 
BGl_replacezd2z42z90zztype_toolsz00(BgL_tnamez00_116, BgL_idz00_8);}  else 
{ /* ./Type/tools.scm 109 */
return 
string_append_3(BgL_tnamez00_116, BGl_string1267z00zztype_toolsz00, BgL_idz00_8);} } } } 
}



/* _make-typed-declaration */
obj_t BGl__makezd2typedzd2declarationz00zztype_toolsz00(obj_t BgL_envz00_237, obj_t BgL_typez00_238, obj_t BgL_idz00_239)
{ AN_OBJECT;
{ /* ./Type/tools.scm 106 */
return 
BGl_makezd2typedzd2declarationz00zztype_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_238), BgL_idz00_239);} 
}



/* make-pointer-to-name */
BGL_EXPORTED_DEF obj_t BGl_makezd2pointerzd2tozd2namezd2zztype_toolsz00(BgL_typez00_bglt BgL_typez00_9)
{ AN_OBJECT;
{ /* ./Type/tools.scm 117 */
{ /* ./Type/tools.scm 118 */
obj_t BgL_tnamez00_118;
BgL_tnamez00_118 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_9))->BgL_namez00); 
{ /* ./Type/tools.scm 119 */
bool_t BgL_test1206z00_119;
BgL_test1206z00_119 = 
STRINGP(BgL_tnamez00_118); 
if(BgL_test1206z00_119)
{ /* ./Type/tools.scm 121 */
bool_t BgL_test1207z00_120;
{ /* ./Type/tools.scm 123 */
obj_t BgL_auxz00_371;
BgL_auxz00_371 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_9))->BgL_z42z42); 
BgL_test1207z00_120 = 
CBOOL(BgL_auxz00_371); } 
if(BgL_test1207z00_120)
{ /* ./Type/tools.scm 121 */
return 
BGl_replacezd2z42z90zztype_toolsz00(BgL_tnamez00_118, BGl_string1268z00zztype_toolsz00);}  else 
{ /* ./Type/tools.scm 121 */
return 
string_append(BgL_tnamez00_118, BGl_string1269z00zztype_toolsz00);} }  else 
{ /* ./Type/tools.scm 120 */
obj_t BgL_arg1214z00_123;
BgL_arg1214z00_123 = 
(((BgL_typez00_bglt)CREF(BgL_typez00_9))->BgL_idz00); 
FAILURE(BGl_string1270z00zztype_toolsz00,BGl_string1271z00zztype_toolsz00,BgL_arg1214z00_123);} } } } 
}



/* _make-pointer-to-name */
obj_t BGl__makezd2pointerzd2tozd2namezd2zztype_toolsz00(obj_t BgL_envz00_240, obj_t BgL_typez00_241)
{ AN_OBJECT;
{ /* ./Type/tools.scm 117 */
return 
BGl_makezd2pointerzd2tozd2namezd2zztype_toolsz00(
(BgL_typez00_bglt)(BgL_typez00_241));} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zztype_toolsz00()
{ AN_OBJECT;
{ /* ./Type/tools.scm 15 */
return BUNSPEC;} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zztype_toolsz00()
{ AN_OBJECT;
{ /* ./Type/tools.scm 15 */
return 
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "type_tools");} 
}

