/*===========================================================================*/
/*   (Tools/shape.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 Tools/shape.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;

typedef struct BgL_valuez00_bgl {
   header_t header;
   obj_t widening;
} *BgL_valuez00_bglt;

typedef struct BgL_variablez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
} *BgL_variablez00_bglt;

typedef struct BgL_globalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   obj_t BgL_modulez00;
   obj_t BgL_importz00;
   bool_t BgL_evaluablezf3zf3;
   bool_t BgL_libraryzf3zf3;
   bool_t BgL_userzf3zf3;
   obj_t BgL_pragmaz00;
   obj_t BgL_srcz00;
   obj_t BgL_jvmzd2typezd2namez00;
} *BgL_globalz00_bglt;

typedef struct BgL_localz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_idz00;
   obj_t BgL_namez00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_valuez00_bgl * BgL_valuez00;
   obj_t BgL_accessz00;
   obj_t BgL_fastzd2alphazd2;
   obj_t BgL_removablez00;
   long BgL_occurrencez00;
   bool_t BgL_userzf3zf3;
   long BgL_keyz00;
} *BgL_localz00_bglt;

typedef struct BgL_funz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
} *BgL_funz00_bglt;

typedef struct BgL_sfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_propertyz00;
   obj_t BgL_argsz00;
   obj_t BgL_bodyz00;
   obj_t BgL_classz00;
   obj_t BgL_dssslzd2keywordszd2;
   obj_t BgL_locz00;
} *BgL_sfunz00_bglt;

typedef struct BgL_cfunz00_bgl {
   header_t header;
   obj_t widening;
   long BgL_arityz00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_predicatezd2ofzd2;
   obj_t BgL_stackzd2allocatorzd2;
   bool_t BgL_topzf3zf3;
   obj_t BgL_thezd2closurezd2;
   obj_t BgL_effectz00;
   obj_t BgL_argszd2typezd2;
   bool_t BgL_macrozf3zf3;
   bool_t BgL_infixzf3zf3;
   obj_t BgL_methodz00;
} *BgL_cfunz00_bglt;

typedef struct BgL_svarz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
} *BgL_svarz00_bglt;

typedef struct BgL_scnstz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_nodez00;
   obj_t BgL_classz00;
   obj_t BgL_locz00;
} *BgL_scnstz00_bglt;

typedef struct BgL_cvarz00_bgl {
   header_t header;
   obj_t widening;
   bool_t BgL_macrozf3zf3;
} *BgL_cvarz00_bglt;

typedef struct BgL_sexitz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_handlerz00;
   bool_t BgL_detachedzf3zf3;
} *BgL_sexitz00_bglt;

typedef struct BgL_feffectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_readz00;
   obj_t BgL_writez00;
} *BgL_feffectz00_bglt;

typedef struct BgL_nodez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
} *BgL_nodez00_bglt;

typedef struct BgL_nodezf2effectzf2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
} *BgL_nodezf2effectzf2_bglt;

typedef struct BgL_atomz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_atomz00_bglt;

typedef struct BgL_varz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_varz00_bglt;

typedef struct BgL_closurez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_variablez00_bgl * BgL_variablez00;
} *BgL_closurez00_bglt;

typedef struct BgL_kwotez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_valuez00;
} *BgL_kwotez00_bglt;

typedef struct BgL_sequencez00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_nodesz00;
} *BgL_sequencez00_bglt;

typedef struct BgL_appz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
} *BgL_appz00_bglt;

typedef struct BgL_appzd2lyzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_appzd2lyzd2_bglt;

typedef struct BgL_funcallz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_funz00;
   obj_t BgL_argsz00;
   obj_t BgL_strengthz00;
} *BgL_funcallz00_bglt;

typedef struct BgL_externz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_externz00_bglt;

typedef struct BgL_pragmaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_formatz00;
} *BgL_pragmaz00_bglt;

typedef struct BgL_getfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_getfieldz00_bglt;

typedef struct BgL_setfieldz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_fnamez00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_setfieldz00_bglt;

typedef struct BgL_newz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
} *BgL_newz00_bglt;

typedef struct BgL_vallocz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2heapzd2formatz00;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
} *BgL_vallocz00_bglt;

typedef struct BgL_vrefz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vrefz00_bglt;

typedef struct BgL_vsetz12z12_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_ftypez00;
   struct BgL_typez00_bgl * BgL_otypez00;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vsetz12z12_bglt;

typedef struct BgL_vlengthz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   obj_t BgL_czd2formatzd2;
   struct BgL_typez00_bgl * BgL_vtypez00;
} *BgL_vlengthz00_bglt;

typedef struct BgL_isaz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_exprza2za2;
   obj_t BgL_effectz00;
   struct BgL_typez00_bgl * BgL_classz00;
} *BgL_isaz00_bglt;

typedef struct BgL_castz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_argz00;
} *BgL_castz00_bglt;

typedef struct BgL_setqz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_setqz00_bglt;

typedef struct BgL_conditionalz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   struct BgL_nodez00_bgl * BgL_truez00;
   struct BgL_nodez00_bgl * BgL_falsez00;
} *BgL_conditionalz00_bglt;

typedef struct BgL_failz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_procz00;
   struct BgL_nodez00_bgl * BgL_msgz00;
   struct BgL_nodez00_bgl * BgL_objz00;
} *BgL_failz00_bglt;

typedef struct BgL_selectz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_testz00;
   obj_t BgL_clausesz00;
   struct BgL_typez00_bgl * BgL_itemzd2typezd2;
} *BgL_selectz00_bglt;

typedef struct BgL_letzd2funzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_localsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_letzd2funzd2_bglt;

typedef struct BgL_letzd2varzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   obj_t BgL_bindingsz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
   bool_t BgL_removablezf3zf3;
} *BgL_letzd2varzd2_bglt;

typedef struct BgL_setzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_bodyz00;
} *BgL_setzd2exzd2itz00_bglt;

typedef struct BgL_jumpzd2exzd2itz00_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_nodez00_bgl * BgL_exitz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_jumpzd2exzd2itz00_bglt;

typedef struct BgL_makezd2boxzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_makezd2boxzd2_bglt;

typedef struct BgL_boxzd2refzd2_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   obj_t BgL_sidezd2effectzf3z21;
   obj_t BgL_keyz00;
   struct BgL_varz00_bgl * BgL_varz00;
} *BgL_boxzd2refzd2_bglt;

typedef struct BgL_boxzd2setz12zc0_bgl {
   header_t header;
   obj_t widening;
   obj_t BgL_locz00;
   struct BgL_typez00_bgl * BgL_typez00;
   struct BgL_varz00_bgl * BgL_varz00;
   struct BgL_nodez00_bgl * BgL_valuez00;
} *BgL_boxzd2setz12zc0_bglt;


static obj_t BGl_methodzd2initzd2zztools_shapez00();
BGL_IMPORT obj_t open_input_string(obj_t);
extern obj_t BGl_nodez00zzast_nodez00;
BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t);
BGL_IMPORT obj_t BGl_addzd2genericz12zc0zz__objectz00(obj_t, obj_t);
extern obj_t BGl_za2userzd2shapezf3za2z21zzengine_paramz00;
extern obj_t BGl_nodezd2ze3sexpz31zzast_dumpz00(BgL_nodez00_bglt);
BGL_IMPORT obj_t string_to_bstring(char *);
extern obj_t BGl_globalz00zzast_varz00;
extern obj_t BGl_typez00zztype_typez00;
static obj_t BGl_cnstzd2initzd2zztools_shapez00();
extern obj_t BGl_globalzd2bucketzd2positionz00zzast_envz00(obj_t, obj_t);
static obj_t BGl_shapezd2local2669zd2zztools_shapez00(obj_t, obj_t);
BGL_IMPORT obj_t BGl_stringzd2appendzd2zz__r4_strings_6_7z00(obj_t);
static obj_t BGl_importedzd2moduleszd2initz00zztools_shapez00();
BGL_IMPORT obj_t make_struct(obj_t, int, obj_t);
BGL_IMPORT obj_t BGl_addzd2methodz12zc0zz__objectz00(obj_t, obj_t, obj_t);
extern obj_t BGl_za2modulezd2shapezf3za2z21zzengine_paramz00;
static obj_t BGl_toplevelzd2initzd2zztools_shapez00();
BGL_IMPORT obj_t string_append_3(obj_t, obj_t, obj_t);
static obj_t BGl_shapezd2type2671zd2zztools_shapez00(obj_t, obj_t);
BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_dumpz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(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_numbers_6_5_fixnumz00(long, char *);
BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long, char *);
static obj_t BGl_shapezd2default2664zd2zztools_shapez00(obj_t);
static obj_t BGl_shapezd2global2667zd2zztools_shapez00(obj_t, obj_t);
static obj_t BGl_shapezd2node2673zd2zztools_shapez00(obj_t, obj_t);
extern obj_t BGl_za2typezd2shapezf3za2z21zzengine_paramz00;
BGL_IMPORT obj_t string_to_symbol(char *);
extern obj_t BGl_za2accesszd2shapezf3za2z21zzengine_paramz00;
BGL_IMPORT obj_t string_append(obj_t, obj_t);
BGL_IMPORT obj_t make_vector(int, obj_t);
BGL_EXPORTED_DECL obj_t BGl_shapez00zztools_shapez00(obj_t);
extern obj_t BGl_za2keyzd2shapezf3za2z21zzengine_paramz00;
BGL_IMPORT obj_t BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(long, obj_t);
static obj_t BGl__shapezd2default2664zd2zztools_shapez00(obj_t, obj_t);
static obj_t BGl_loopz00zztools_shapez00(obj_t);
extern obj_t BGl_internalzd2errorzd2zztools_errorz00(obj_t, obj_t, obj_t);
BGL_IMPORT obj_t create_struct(obj_t, int);
extern obj_t BGl_localz00zzast_varz00;
BGL_IMPORT obj_t BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(obj_t);
static obj_t BGl__shapez00zztools_shapez00(obj_t, obj_t);
extern obj_t BGl_za2typenamezd2shapezf3za2z21zzengine_paramz00;
static obj_t BGl_requirezd2initializa7ationz75zztools_shapez00 = BUNSPEC;
static obj_t BGl_libraryzd2moduleszd2initz00zztools_shapez00();
static obj_t __cnst[ 3 ] ;


DEFINE_STATIC_PROCEDURE( BGl_shapezd2default2664zd2envz00zztools_shapez00, BgL_bgl__shapeza7d2default2664za7d2za7za7tools_shapeza7003511za7, BGl__shapezd2default2664zd2zztools_shapez00, 0L, 1 );
DEFINE_EXPORT_GENERIC( BGl_shapezd2envzd2zztools_shapez00, BgL_bgl__shapeza700za7za7tools_shapeza7003512z00, BGl__shapez00zztools_shapez00, 0L, 1 );
DEFINE_STRING( BGl_string3482z00zztools_shapez00, BgL_bgl_string3482za700za7za7tools_shapeza7003513z00, "a-tvector @ _ ", 14 );
DEFINE_STRING( BGl_string3481z00zztools_shapez00, BgL_bgl_string3481za700za7za7tools_shapeza7003514z00, "Can't find global any more", 26 );
DEFINE_STRING( BGl_string3480z00zztools_shapez00, BgL_bgl_string3480za700za7za7tools_shapeza7003515z00, "global-shape", 12 );
DEFINE_STRING( BGl_string3479z00zztools_shapez00, BgL_bgl_string3479za700za7za7tools_shapeza7003516z00, "@", 1 );
DEFINE_STRING( BGl_string3478z00zztools_shapez00, BgL_bgl_string3478za700za7za7tools_shapeza7003517z00, "}", 1 );
DEFINE_STRING( BGl_string3477z00zztools_shapez00, BgL_bgl_string3477za700za7za7tools_shapeza7003518z00, "{", 1 );
DEFINE_STRING( BGl_string3476z00zztools_shapez00, BgL_bgl_string3476za700za7za7tools_shapeza7003519z00, "", 0 );
DEFINE_STRING( BGl_string3475z00zztools_shapez00, BgL_bgl_string3475za700za7za7tools_shapeza7003520z00, "::", 2 );
DEFINE_STRING( BGl_string3474z00zztools_shapez00, BgL_bgl_string3474za700za7za7tools_shapeza7003521z00, "\"", 1 );
DEFINE_STRING( BGl_string3473z00zztools_shapez00, BgL_bgl_string3473za700za7za7tools_shapeza7003522z00, "-", 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3470z00zztools_shapez00, BgL_bgl_shapeza7d2local2669za7d2za7za7tools_shapeza7003523za7, BGl_shapezd2local2669zd2zztools_shapez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3469z00zztools_shapez00, BgL_bgl_shapeza7d2global2667za7d2za7za7tools_shapeza7003524za7, BGl_shapezd2global2667zd2zztools_shapez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3471z00zztools_shapez00, BgL_bgl_shapeza7d2type2671za7d2za7za7tools_shapeza7003525za7, BGl_shapezd2type2671zd2zztools_shapez00, 0L, 1 );
DEFINE_STATIC_PROCEDURE( BGl_proc3472z00zztools_shapez00, BgL_bgl_shapeza7d2node2673za7d2za7za7tools_shapeza7003526za7, BGl_shapezd2node2673zd2zztools_shapez00, 0L, 1 );



/* module-initialization */
BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long BgL_checksumz00_1384, char * BgL_fromz00_1385)
{ AN_OBJECT;
{ 
if(
CBOOL(BGl_requirezd2initializa7ationz75zztools_shapez00))
{ 
BGl_requirezd2initializa7ationz75zztools_shapez00 = 
BBOOL(((bool_t)0)); 
BGl_libraryzd2moduleszd2initz00zztools_shapez00(); 
BGl_cnstzd2initzd2zztools_shapez00(); 
BGl_importedzd2moduleszd2initz00zztools_shapez00(); 
BGl_methodzd2initzd2zztools_shapez00(); 
return BUNSPEC;}  else 
{ 
return BUNSPEC;} } 
}



/* library-modules-init */
obj_t BGl_libraryzd2moduleszd2initz00zztools_shapez00()
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
BGl_modulezd2initializa7ationz75zz__readerz00(((long)0), "tools_shape"); 
BGl_modulezd2initializa7ationz75zz__objectz00(((long)0), "tools_shape"); 
BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(((long)0), "tools_shape"); 
BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(((long)0), "tools_shape"); 
BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(((long)0), "tools_shape"); 
return BUNSPEC;} 
}



/* cnst-init */
obj_t BGl_cnstzd2initzd2zztools_shapez00()
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
{ /* ./Tools/shape.scm 16 */
obj_t BgL_cportz00_1376;
BgL_cportz00_1376 = 
open_input_string(BGl_string3482z00zztools_shapez00); 
{ 
long BgL_iz00_1377;
BgL_iz00_1377 = ((long)2); 
BgL_loopz00_1378:
{ /* ./Tools/shape.scm 16 */
bool_t BgL_test3484z00_1379;
BgL_test3484z00_1379 = 
(BgL_iz00_1377==((long)-1)); 
if(BgL_test3484z00_1379)
{ /* ./Tools/shape.scm 16 */
return BUNSPEC;}  else 
{ /* ./Tools/shape.scm 16 */
{ /* ./Tools/shape.scm 16 */
obj_t BgL_arg3486z00_1380;
{ /* ./Tools/shape.scm 16 */
obj_t BgL_list3489z00_1381;
BgL_list3489z00_1381 = 
MAKE_PAIR(BgL_cportz00_1376, BNIL); 
BgL_arg3486z00_1380 = 
BGl_readz00zz__readerz00(BgL_list3489z00_1381); } 
{ /* ./Tools/shape.scm 16 */
int BgL_auxz00_1403;
BgL_auxz00_1403 = 
(int)(BgL_iz00_1377); 
CNST_TABLE_SET(BgL_auxz00_1403, BgL_arg3486z00_1380); } } 
{ /* ./Tools/shape.scm 16 */
int BgL_auxz00_1382;
{ /* ./Tools/shape.scm 16 */
long BgL_auxz00_1406;
BgL_auxz00_1406 = 
(BgL_iz00_1377-((long)1)); 
BgL_auxz00_1382 = 
(int)(BgL_auxz00_1406); } 
{ 
long BgL_iz00_1409;
BgL_iz00_1409 = 
(long)(BgL_auxz00_1382); 
BgL_iz00_1377 = BgL_iz00_1409; 
goto BgL_loopz00_1378;} } } } } } } 
}



/* toplevel-init */
obj_t BGl_toplevelzd2initzd2zztools_shapez00()
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
return BUNSPEC;} 
}



/* method-init */
obj_t BGl_methodzd2initzd2zztools_shapez00()
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
BGl_addzd2genericz12zc0zz__objectz00(BGl_shapezd2envzd2zztools_shapez00, BGl_shapezd2default2664zd2envz00zztools_shapez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_shapezd2envzd2zztools_shapez00, BGl_globalz00zzast_varz00, BGl_proc3469z00zztools_shapez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_shapezd2envzd2zztools_shapez00, BGl_localz00zzast_varz00, BGl_proc3470z00zztools_shapez00); 
BGl_addzd2methodz12zc0zz__objectz00(BGl_shapezd2envzd2zztools_shapez00, BGl_typez00zztype_typez00, BGl_proc3471z00zztools_shapez00); 
return 
BGl_addzd2methodz12zc0zz__objectz00(BGl_shapezd2envzd2zztools_shapez00, BGl_nodez00zzast_nodez00, BGl_proc3472z00zztools_shapez00);} 
}



/* shape-node2673 */
obj_t BGl_shapezd2node2673zd2zztools_shapez00(obj_t BgL_envz00_1363, obj_t BgL_nodez00_1364)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 166 */
{ /* ./Tools/shape.scm 167 */
BgL_nodez00_bglt BgL_nodez00_1383;
BgL_nodez00_1383 = 
(BgL_nodez00_bglt)(BgL_nodez00_1364); 
return 
BGl_nodezd2ze3sexpz31zzast_dumpz00(BgL_nodez00_1383);} } 
}



/* shape-type2671 */
obj_t BGl_shapezd2type2671zd2zztools_shapez00(obj_t BgL_envz00_1365, obj_t BgL_typez00_1366)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 148 */
{ 
BgL_typez00_bglt BgL_typez00_1136;
BgL_typez00_1136 = 
(BgL_typez00_bglt)(BgL_typez00_1366); 
{ /* ./Tools/shape.scm 149 */
obj_t BgL_spz00_1139;
{ /* ./Tools/shape.scm 149 */
obj_t BgL_arg3250z00_1153;
{ /* ./Tools/shape.scm 149 */
BgL_typez00_bglt BgL_obj1003z00_1263;
BgL_obj1003z00_1263 = BgL_typez00_1136; 
BgL_arg3250z00_1153 = 
(((BgL_typez00_bglt)CREF(BgL_obj1003z00_1263))->BgL_idz00); } 
BgL_spz00_1139 = 
SYMBOL_TO_STRING(BgL_arg3250z00_1153); } 
{ /* ./Tools/shape.scm 149 */
obj_t BgL_sz00_1140;
if(
CBOOL(BGl_za2keyzd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 151 */
obj_t BgL_arg3240z00_1149;
{ /* ./Tools/shape.scm 156 */
long BgL_arg3243z00_1150;
BgL_arg3243z00_1150 = 
(long)(BgL_typez00_1136); 
{ /* ./Tools/shape.scm 155 */
obj_t BgL_list3247z00_1152;
{ /* ./Tools/shape.scm 155 */
obj_t BgL_auxz00_1423;
BgL_auxz00_1423 = 
BINT(((long)16)); 
BgL_list3247z00_1152 = 
MAKE_PAIR(BgL_auxz00_1423, BNIL); } 
BgL_arg3240z00_1149 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(BgL_arg3243z00_1150, BgL_list3247z00_1152); } } 
BgL_sz00_1140 = 
string_append_3(BgL_spz00_1139, BGl_string3473z00zztools_shapez00, BgL_arg3240z00_1149); }  else 
{ /* ./Tools/shape.scm 150 */
BgL_sz00_1140 = BgL_spz00_1139; } 
{ /* ./Tools/shape.scm 150 */

if(
CBOOL(BGl_za2typenamezd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 160 */
obj_t BgL_arg3223z00_1142;
{ /* ./Tools/shape.scm 160 */
BgL_typez00_bglt BgL_obj1004z00_1265;
BgL_obj1004z00_1265 = BgL_typez00_1136; 
BgL_arg3223z00_1142 = 
(((BgL_typez00_bglt)CREF(BgL_obj1004z00_1265))->BgL_namez00); } 
{ /* ./Tools/shape.scm 160 */
obj_t BgL_list3226z00_1144;
{ /* ./Tools/shape.scm 160 */
obj_t BgL_arg3228z00_1145;
{ /* ./Tools/shape.scm 160 */
obj_t BgL_arg3231z00_1146;
{ /* ./Tools/shape.scm 160 */
obj_t BgL_arg3234z00_1147;
BgL_arg3234z00_1147 = 
MAKE_PAIR(BGl_string3474z00zztools_shapez00, BNIL); 
BgL_arg3231z00_1146 = 
MAKE_PAIR(BgL_arg3223z00_1142, BgL_arg3234z00_1147); } 
BgL_arg3228z00_1145 = 
MAKE_PAIR(BGl_string3474z00zztools_shapez00, BgL_arg3231z00_1146); } 
BgL_list3226z00_1144 = 
MAKE_PAIR(BgL_sz00_1140, BgL_arg3228z00_1145); } 
return 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3226z00_1144);} }  else 
{ /* ./Tools/shape.scm 159 */
return BgL_sz00_1140;} } } } } } 
}



/* shape-local2669 */
obj_t BGl_shapezd2local2669zd2zztools_shapez00(obj_t BgL_envz00_1367, obj_t BgL_varz00_1368)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 120 */
{ 
BgL_localz00_bglt BgL_varz00_1104;
BgL_varz00_1104 = 
(BgL_localz00_bglt)(BgL_varz00_1368); 
{ /* ./Tools/shape.scm 121 */
obj_t BgL_symz00_1107;
if(
CBOOL(BGl_za2keyzd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 122 */
obj_t BgL_arg3191z00_1125;obj_t BgL_arg3192z00_1126;obj_t BgL_arg3193z00_1127;
{ /* ./Tools/shape.scm 122 */
BgL_variablez00_bglt BgL_obj1093z00_1253;
BgL_obj1093z00_1253 = 
(BgL_variablez00_bglt)(BgL_varz00_1104); 
BgL_arg3191z00_1125 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1253))->BgL_idz00); } 
BgL_arg3192z00_1126 = 
CNST_TABLE_REF(((long)0)); 
{ /* ./Tools/shape.scm 125 */
obj_t BgL_arg3206z00_1131;
BgL_arg3206z00_1131 = 
BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00(
(((BgL_localz00_bglt)CREF(BgL_varz00_1104))->BgL_keyz00), BNIL); 
{ /* ./Tools/shape.scm 124 */
char * BgL_auxz00_1444;
BgL_auxz00_1444 = 
BSTRING_TO_STRING(BgL_arg3206z00_1131); 
BgL_arg3193z00_1127 = 
string_to_symbol(BgL_auxz00_1444); } } 
{ /* ./Tools/shape.scm 122 */
obj_t BgL_list3195z00_1128;
{ /* ./Tools/shape.scm 122 */
obj_t BgL_arg3197z00_1129;
{ /* ./Tools/shape.scm 122 */
obj_t BgL_arg3201z00_1130;
BgL_arg3201z00_1130 = 
MAKE_PAIR(BgL_arg3193z00_1127, BNIL); 
BgL_arg3197z00_1129 = 
MAKE_PAIR(BgL_arg3192z00_1126, BgL_arg3201z00_1130); } 
BgL_list3195z00_1128 = 
MAKE_PAIR(BgL_arg3191z00_1125, BgL_arg3197z00_1129); } 
BgL_symz00_1107 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3195z00_1128); } }  else 
{ /* ./Tools/shape.scm 126 */
BgL_variablez00_bglt BgL_obj1093z00_1256;
BgL_obj1093z00_1256 = 
(BgL_variablez00_bglt)(BgL_varz00_1104); 
BgL_symz00_1107 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1256))->BgL_idz00); } 
{ /* ./Tools/shape.scm 121 */
obj_t BgL_symz00_1108;
BgL_symz00_1108 = 
SYMBOL_TO_STRING(BgL_symz00_1107); 
{ /* ./Tools/shape.scm 127 */
BgL_typez00_bglt BgL_typez00_1109;
{ /* ./Tools/shape.scm 128 */
BgL_variablez00_bglt BgL_obj1097z00_1258;
BgL_obj1097z00_1258 = 
(BgL_variablez00_bglt)(BgL_varz00_1104); 
BgL_typez00_1109 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1258))->BgL_typez00); } 
{ /* ./Tools/shape.scm 128 */
obj_t BgL_tshapez00_1110;
if(
CBOOL(BGl_za2typezd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 131 */
obj_t BgL_arg3185z00_1124;
BgL_arg3185z00_1124 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_typez00_1109)); 
BgL_tshapez00_1110 = 
string_append(BGl_string3475z00zztools_shapez00, BgL_arg3185z00_1124); }  else 
{ /* ./Tools/shape.scm 129 */
BgL_tshapez00_1110 = BGl_string3476z00zztools_shapez00; } 
{ /* ./Tools/shape.scm 129 */
char * BgL_ushapez00_1111;
if(
CBOOL(BGl_za2userzd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 132 */
if(
(((BgL_localz00_bglt)CREF(BgL_varz00_1104))->BgL_userzf3zf3))
{ /* ./Tools/shape.scm 134 */
BgL_ushapez00_1111 = "-<user>"; }  else 
{ /* ./Tools/shape.scm 134 */
BgL_ushapez00_1111 = "-<no-user>"; } }  else 
{ /* ./Tools/shape.scm 132 */
BgL_ushapez00_1111 = ""; } 
{ /* ./Tools/shape.scm 132 */
obj_t BgL_ashapez00_1112;
if(
CBOOL(BGl_za2accesszd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 138 */
{ /* ./Tools/shape.scm 141 */
obj_t BgL_arg3174z00_1119;
{ /* ./Tools/shape.scm 141 */
obj_t BgL_arg3178z00_1121;
{ /* ./Tools/shape.scm 141 */
BgL_variablez00_bglt BgL_obj1103z00_1260;
BgL_obj1103z00_1260 = 
(BgL_variablez00_bglt)(BgL_varz00_1104); 
BgL_arg3178z00_1121 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1103z00_1260))->BgL_accessz00); } 
BgL_arg3174z00_1119 = 
SYMBOL_TO_STRING(BgL_arg3178z00_1121); } 
BgL_ashapez00_1112 = 
string_append_3(BGl_string3477z00zztools_shapez00, BgL_arg3174z00_1119, BGl_string3478z00zztools_shapez00); } }  else 
{ /* ./Tools/shape.scm 138 */
BgL_ashapez00_1112 = BGl_string3476z00zztools_shapez00; } 
{ /* ./Tools/shape.scm 137 */

{ /* ./Tools/shape.scm 143 */
obj_t BgL_arg3158z00_1113;
{ /* ./Tools/shape.scm 143 */
obj_t BgL_list3161z00_1114;
{ /* ./Tools/shape.scm 143 */
obj_t BgL_arg3163z00_1115;
{ /* ./Tools/shape.scm 143 */
obj_t BgL_arg3166z00_1116;
{ /* ./Tools/shape.scm 143 */
obj_t BgL_arg3169z00_1117;
BgL_arg3169z00_1117 = 
MAKE_PAIR(BgL_ashapez00_1112, BNIL); 
{ /* ./Tools/shape.scm 143 */
obj_t BgL_auxz00_1472;
BgL_auxz00_1472 = 
string_to_bstring(BgL_ushapez00_1111); 
BgL_arg3166z00_1116 = 
MAKE_PAIR(BgL_auxz00_1472, BgL_arg3169z00_1117); } } 
BgL_arg3163z00_1115 = 
MAKE_PAIR(BgL_tshapez00_1110, BgL_arg3166z00_1116); } 
BgL_list3161z00_1114 = 
MAKE_PAIR(BgL_symz00_1108, BgL_arg3163z00_1115); } 
BgL_arg3158z00_1113 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3161z00_1114); } 
{ /* ./Tools/shape.scm 143 */
char * BgL_auxz00_1478;
BgL_auxz00_1478 = 
BSTRING_TO_STRING(BgL_arg3158z00_1113); 
return 
string_to_symbol(BgL_auxz00_1478);} } } } } } } } } } } 
}



/* shape-global2667 */
obj_t BGl_shapezd2global2667zd2zztools_shapez00(obj_t BgL_envz00_1369, obj_t BgL_varz00_1370)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 72 */
{ 
BgL_globalz00_bglt BgL_varz00_1042;
BgL_varz00_1042 = 
(BgL_globalz00_bglt)(BgL_varz00_1370); 
{ /* ./Tools/shape.scm 73 */
obj_t BgL_strzd2idzd2_1045;
{ /* ./Tools/shape.scm 73 */
obj_t BgL_arg3148z00_1101;
{ /* ./Tools/shape.scm 73 */
BgL_variablez00_bglt BgL_obj1093z00_1233;
BgL_obj1093z00_1233 = 
(BgL_variablez00_bglt)(BgL_varz00_1042); 
BgL_arg3148z00_1101 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1233))->BgL_idz00); } 
BgL_strzd2idzd2_1045 = 
SYMBOL_TO_STRING(BgL_arg3148z00_1101); } 
{ /* ./Tools/shape.scm 73 */
obj_t BgL_idz00_1046;
{ /* ./Tools/shape.scm 74 */
char * BgL_auxz00_1485;
BgL_auxz00_1485 = 
BSTRING_TO_STRING(BgL_strzd2idzd2_1045); 
BgL_idz00_1046 = 
string_to_symbol(BgL_auxz00_1485); } 
{ /* ./Tools/shape.scm 74 */
obj_t BgL_modulez00_1047;
{ /* ./Tools/shape.scm 75 */
obj_t BgL_arg3143z00_1100;
BgL_arg3143z00_1100 = 
(((BgL_globalz00_bglt)CREF(BgL_varz00_1042))->BgL_modulez00); 
BgL_modulez00_1047 = 
SYMBOL_TO_STRING(BgL_arg3143z00_1100); } 
{ /* ./Tools/shape.scm 75 */
BgL_typez00_bglt BgL_typez00_1048;
{ /* ./Tools/shape.scm 76 */
BgL_variablez00_bglt BgL_obj1097z00_1238;
BgL_obj1097z00_1238 = 
(BgL_variablez00_bglt)(BgL_varz00_1042); 
BgL_typez00_1048 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1097z00_1238))->BgL_typez00); } 
{ /* ./Tools/shape.scm 76 */
obj_t BgL_tshapez00_1049;
if(
CBOOL(BGl_za2typezd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 79 */
obj_t BgL_arg3138z00_1099;
BgL_arg3138z00_1099 = 
BGl_shapez00zztools_shapez00(
(obj_t)(BgL_typez00_1048)); 
BgL_tshapez00_1049 = 
string_append(BGl_string3475z00zztools_shapez00, BgL_arg3138z00_1099); }  else 
{ /* ./Tools/shape.scm 77 */
BgL_tshapez00_1049 = BGl_string3476z00zztools_shapez00; } 
{ /* ./Tools/shape.scm 77 */
char * BgL_ushapez00_1050;
if(
CBOOL(BGl_za2userzd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 80 */
if(
(((BgL_globalz00_bglt)CREF(BgL_varz00_1042))->BgL_userzf3zf3))
{ /* ./Tools/shape.scm 82 */
BgL_ushapez00_1050 = "-<user>"; }  else 
{ /* ./Tools/shape.scm 82 */
BgL_ushapez00_1050 = "-<no-user>"; } }  else 
{ /* ./Tools/shape.scm 80 */
BgL_ushapez00_1050 = ""; } 
{ /* ./Tools/shape.scm 80 */
obj_t BgL_ashapez00_1051;
if(
CBOOL(BGl_za2accesszd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 86 */
{ /* ./Tools/shape.scm 89 */
obj_t BgL_arg3126z00_1094;
{ /* ./Tools/shape.scm 89 */
obj_t BgL_arg3131z00_1096;
{ /* ./Tools/shape.scm 89 */
BgL_variablez00_bglt BgL_obj1103z00_1240;
BgL_obj1103z00_1240 = 
(BgL_variablez00_bglt)(BgL_varz00_1042); 
BgL_arg3131z00_1096 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1103z00_1240))->BgL_accessz00); } 
BgL_arg3126z00_1094 = 
SYMBOL_TO_STRING(BgL_arg3131z00_1096); } 
BgL_ashapez00_1051 = 
string_append_3(BGl_string3477z00zztools_shapez00, BgL_arg3126z00_1094, BGl_string3478z00zztools_shapez00); } }  else 
{ /* ./Tools/shape.scm 86 */
BgL_ashapez00_1051 = BGl_string3476z00zztools_shapez00; } 
{ /* ./Tools/shape.scm 85 */

if(
CBOOL(BGl_za2modulezd2shapezf3za2z21zzengine_paramz00))
{ /* ./Tools/shape.scm 92 */
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3024z00_1052;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_list3027z00_1053;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3029z00_1054;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3033z00_1056;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3036z00_1057;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3039z00_1058;
{ /* ./Tools/shape.scm 93 */
obj_t BgL_arg3042z00_1059;
BgL_arg3042z00_1059 = 
MAKE_PAIR(BgL_ashapez00_1051, BNIL); 
{ /* ./Tools/shape.scm 93 */
obj_t BgL_auxz00_1510;
BgL_auxz00_1510 = 
string_to_bstring(BgL_ushapez00_1050); 
BgL_arg3039z00_1058 = 
MAKE_PAIR(BgL_auxz00_1510, BgL_arg3042z00_1059); } } 
BgL_arg3036z00_1057 = 
MAKE_PAIR(BgL_tshapez00_1049, BgL_arg3039z00_1058); } 
BgL_arg3033z00_1056 = 
MAKE_PAIR(BgL_modulez00_1047, BgL_arg3036z00_1057); } 
BgL_arg3029z00_1054 = 
MAKE_PAIR(BGl_string3479z00zztools_shapez00, BgL_arg3033z00_1056); } 
BgL_list3027z00_1053 = 
MAKE_PAIR(BgL_strzd2idzd2_1045, BgL_arg3029z00_1054); } 
BgL_arg3024z00_1052 = 
BGl_stringzd2appendzd2zz__r4_strings_6_7z00(BgL_list3027z00_1053); } 
{ /* ./Tools/shape.scm 93 */
char * BgL_auxz00_1518;
BgL_auxz00_1518 = 
BSTRING_TO_STRING(BgL_arg3024z00_1052); 
return 
string_to_symbol(BgL_auxz00_1518);} } }  else 
{ /* ./Tools/shape.scm 92 */
{ 

{ /* ./Tools/shape.scm 100 */
obj_t BgL_aux2663z00_1061;
{ /* ./Tools/shape.scm 100 */
obj_t BgL_arg3087z00_1078;obj_t BgL_arg3088z00_1079;
{ /* ./Tools/shape.scm 100 */
BgL_variablez00_bglt BgL_obj1093z00_1243;
BgL_obj1093z00_1243 = 
(BgL_variablez00_bglt)(BgL_varz00_1042); 
BgL_arg3087z00_1078 = 
(((BgL_variablez00_bglt)CREF(BgL_obj1093z00_1243))->BgL_idz00); } 
BgL_arg3088z00_1079 = 
(((BgL_globalz00_bglt)CREF(BgL_varz00_1042))->BgL_modulez00); 
BgL_aux2663z00_1061 = 
BGl_globalzd2bucketzd2positionz00zzast_envz00(BgL_arg3087z00_1078, BgL_arg3088z00_1079); } 
{ /* ./Tools/shape.scm 100 */
bool_t BgL_test3045z00_1062;
BgL_test3045z00_1062 = 
INTEGERP(BgL_aux2663z00_1061); 
if(BgL_test3045z00_1062)
{ /* ./Tools/shape.scm 100 */
switch( 
(long)CINT(BgL_aux2663z00_1061)) { case ((long)-1) : 

{ /* ./Tools/shape.scm 102 */
obj_t BgL_arg3049z00_1065;
{ /* ./Tools/shape.scm 104 */
obj_t BgL_arg3052z00_1066;obj_t BgL_arg3053z00_1067;
BgL_arg3052z00_1066 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Tools/shape.scm 104 */
obj_t BgL_arg3056z00_1068;
{ /* ./Tools/shape.scm 104 */
obj_t BgL_arg3059z00_1069;
BgL_arg3059z00_1069 = 
(((BgL_globalz00_bglt)CREF(BgL_varz00_1042))->BgL_modulez00); 
BgL_arg3056z00_1068 = 
MAKE_PAIR(BgL_arg3059z00_1069, BNIL); } 
BgL_arg3053z00_1067 = 
MAKE_PAIR(BgL_idz00_1046, BgL_arg3056z00_1068); } 
BgL_arg3049z00_1065 = 
MAKE_PAIR(BgL_arg3052z00_1066, BgL_arg3053z00_1067); } 
return 
BGl_internalzd2errorzd2zztools_errorz00(BGl_string3480z00zztools_shapez00, BGl_string3481z00zztools_shapez00, BgL_arg3049z00_1065);} break;case ((long)0) : 

{ /* ./Tools/shape.scm 107 */
obj_t BgL_arg3065z00_1071;obj_t BgL_arg3066z00_1072;obj_t BgL_arg3067z00_1073;
{ /* ./Tools/shape.scm 107 */
char * BgL_auxz00_1533;
BgL_auxz00_1533 = 
BSTRING_TO_STRING(BgL_tshapez00_1049); 
BgL_arg3065z00_1071 = 
string_to_symbol(BgL_auxz00_1533); } 
{ /* ./Tools/shape.scm 108 */
obj_t BgL_stringz00_1247;
BgL_stringz00_1247 = 
string_to_bstring(BgL_ushapez00_1050); 
{ /* ./Tools/shape.scm 108 */
char * BgL_auxz00_1537;
BgL_auxz00_1537 = 
BSTRING_TO_STRING(BgL_stringz00_1247); 
BgL_arg3066z00_1072 = 
string_to_symbol(BgL_auxz00_1537); } } 
{ /* ./Tools/shape.scm 109 */
char * BgL_auxz00_1540;
BgL_auxz00_1540 = 
BSTRING_TO_STRING(BgL_ashapez00_1051); 
BgL_arg3067z00_1073 = 
string_to_symbol(BgL_auxz00_1540); } 
{ /* ./Tools/shape.scm 106 */
obj_t BgL_list3069z00_1074;
{ /* ./Tools/shape.scm 106 */
obj_t BgL_arg3071z00_1075;
{ /* ./Tools/shape.scm 106 */
obj_t BgL_arg3074z00_1076;
{ /* ./Tools/shape.scm 106 */
obj_t BgL_arg3077z00_1077;
BgL_arg3077z00_1077 = 
MAKE_PAIR(BgL_arg3067z00_1073, BNIL); 
BgL_arg3074z00_1076 = 
MAKE_PAIR(BgL_arg3066z00_1072, BgL_arg3077z00_1077); } 
BgL_arg3071z00_1075 = 
MAKE_PAIR(BgL_arg3065z00_1071, BgL_arg3074z00_1076); } 
BgL_list3069z00_1074 = 
MAKE_PAIR(BgL_idz00_1046, BgL_arg3071z00_1075); } 
return 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3069z00_1074);} } break;
default: 
BgL_case_else2662z00_1060:
{ /* ./Tools/shape.scm 111 */
obj_t BgL_symz00_1080;
{ /* ./Tools/shape.scm 112 */
obj_t BgL_arg3106z00_1086;obj_t BgL_arg3107z00_1087;obj_t BgL_arg3108z00_1088;
{ /* ./Tools/shape.scm 112 */
char * BgL_auxz00_1548;
BgL_auxz00_1548 = 
BSTRING_TO_STRING(BgL_tshapez00_1049); 
BgL_arg3106z00_1086 = 
string_to_symbol(BgL_auxz00_1548); } 
{ /* ./Tools/shape.scm 113 */
obj_t BgL_stringz00_1250;
BgL_stringz00_1250 = 
string_to_bstring(BgL_ushapez00_1050); 
{ /* ./Tools/shape.scm 113 */
char * BgL_auxz00_1552;
BgL_auxz00_1552 = 
BSTRING_TO_STRING(BgL_stringz00_1250); 
BgL_arg3107z00_1087 = 
string_to_symbol(BgL_auxz00_1552); } } 
{ /* ./Tools/shape.scm 114 */
char * BgL_auxz00_1555;
BgL_auxz00_1555 = 
BSTRING_TO_STRING(BgL_ashapez00_1051); 
BgL_arg3108z00_1088 = 
string_to_symbol(BgL_auxz00_1555); } 
{ /* ./Tools/shape.scm 111 */
obj_t BgL_list3110z00_1089;
{ /* ./Tools/shape.scm 111 */
obj_t BgL_arg3112z00_1090;
{ /* ./Tools/shape.scm 111 */
obj_t BgL_arg3115z00_1091;
{ /* ./Tools/shape.scm 111 */
obj_t BgL_arg3118z00_1092;
BgL_arg3118z00_1092 = 
MAKE_PAIR(BgL_arg3108z00_1088, BNIL); 
BgL_arg3115z00_1091 = 
MAKE_PAIR(BgL_arg3107z00_1087, BgL_arg3118z00_1092); } 
BgL_arg3112z00_1090 = 
MAKE_PAIR(BgL_arg3106z00_1086, BgL_arg3115z00_1091); } 
BgL_list3110z00_1089 = 
MAKE_PAIR(BgL_idz00_1046, BgL_arg3112z00_1090); } 
BgL_symz00_1080 = 
BGl_symbolzd2appendzd2zz__r4_symbols_6_4z00(BgL_list3110z00_1089); } } 
{ /* ./Tools/shape.scm 115 */
obj_t BgL_arg3094z00_1081;obj_t BgL_arg3095z00_1082;
BgL_arg3094z00_1081 = 
CNST_TABLE_REF(((long)1)); 
{ /* ./Tools/shape.scm 115 */
obj_t BgL_arg3098z00_1083;
{ /* ./Tools/shape.scm 115 */
obj_t BgL_arg3101z00_1084;
{ /* ./Tools/shape.scm 115 */
char * BgL_auxz00_1564;
BgL_auxz00_1564 = 
BSTRING_TO_STRING(BgL_modulez00_1047); 
BgL_arg3101z00_1084 = 
string_to_symbol(BgL_auxz00_1564); } 
BgL_arg3098z00_1083 = 
MAKE_PAIR(BgL_arg3101z00_1084, BNIL); } 
BgL_arg3095z00_1082 = 
MAKE_PAIR(BgL_symz00_1080, BgL_arg3098z00_1083); } 
return 
MAKE_PAIR(BgL_arg3094z00_1081, BgL_arg3095z00_1082);} } } }  else 
{ /* ./Tools/shape.scm 100 */
goto BgL_case_else2662z00_1060;} } } } } } } } } } } } } } } 
}



/* shape */
BGL_EXPORTED_DEF obj_t BGl_shapez00zztools_shapez00(obj_t BgL_expz00_11)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 28 */
{ 

{ /* ./Tools/shape.scm 28 */
bool_t BgL_test3265z00_1162;
BgL_test3265z00_1162 = 
BGL_OBJECTP(BgL_expz00_11); 
if(BgL_test3265z00_1162)
{ /* ./Tools/shape.scm 28 */
obj_t BgL_method2665z00_1163;
{ /* ./Tools/shape.scm 28 */
BgL_objectz00_bglt BgL_objz00_1267;
BgL_objz00_1267 = 
(BgL_objectz00_bglt)(BgL_expz00_11); 
{ /* ./Tools/shape.scm 28 */
long BgL_objzd2classzd2numz00_1268;
BgL_objzd2classzd2numz00_1268 = 
BGL_OBJECT_CLASS_NUM(BgL_objz00_1267); 
{ /* ./Tools/shape.scm 28 */
obj_t BgL_arg2017z00_1269;
{ /* ./Tools/shape.scm 28 */
int BgL_auxz00_1577;
BgL_auxz00_1577 = 
(int)(((long)1)); 
BgL_arg2017z00_1269 = 
PROCEDURE_REF(BGl_shapezd2envzd2zztools_shapez00, BgL_auxz00_1577); } 
{ /* ./Tools/shape.scm 28 */
int BgL_offsetz00_1272;
BgL_offsetz00_1272 = 
(int)(BgL_objzd2classzd2numz00_1268); 
{ /* ./Tools/shape.scm 28 */
long BgL_offsetz00_1273;
{ /* ./Tools/shape.scm 28 */
long BgL_auxz00_1581;
BgL_auxz00_1581 = 
(long)(BgL_offsetz00_1272); 
BgL_offsetz00_1273 = 
(BgL_auxz00_1581-OBJECT_TYPE); } 
{ /* ./Tools/shape.scm 28 */
long BgL_modz00_1274;
{ /* ./Tools/shape.scm 28 */
int BgL_arg2028z00_1275;
BgL_arg2028z00_1275 = 
(int)(((long)8)); 
{ /* ./Tools/shape.scm 28 */
long BgL_n2z00_1283;
BgL_n2z00_1283 = 
(long)(BgL_arg2028z00_1275); 
BgL_modz00_1274 = 
(BgL_offsetz00_1273/BgL_n2z00_1283); } } 
{ /* ./Tools/shape.scm 28 */
long BgL_restz00_1276;
{ /* ./Tools/shape.scm 28 */
int BgL_arg2024z00_1277;
BgL_arg2024z00_1277 = 
(int)(((long)8)); 
{ /* ./Tools/shape.scm 28 */
long BgL_n2z00_1286;
BgL_n2z00_1286 = 
(long)(BgL_arg2024z00_1277); 
BgL_restz00_1276 = 
(BgL_offsetz00_1273%BgL_n2z00_1286); } } 
{ /* ./Tools/shape.scm 28 */

{ /* ./Tools/shape.scm 28 */
obj_t BgL_bucketz00_1278;
{ /* ./Tools/shape.scm 28 */
int BgL_kz00_1288;
BgL_kz00_1288 = 
(int)(BgL_modz00_1274); 
BgL_bucketz00_1278 = 
VECTOR_REF(BgL_arg2017z00_1269,BgL_kz00_1288); } 
{ /* ./Tools/shape.scm 28 */
int BgL_kz00_1290;
BgL_kz00_1290 = 
(int)(BgL_restz00_1276); 
BgL_method2665z00_1163 = 
VECTOR_REF(BgL_bucketz00_1278,BgL_kz00_1290); } } } } } } } } } } 
return 
PROCEDURE_ENTRY(BgL_method2665z00_1163)(BgL_method2665z00_1163, BgL_expz00_11, BEOA);}  else 
{ /* ./Tools/shape.scm 28 */
{ /* ./Tools/shape.scm 28 */
obj_t BgL_fun3275z00_1165;
{ /* ./Tools/shape.scm 28 */
int BgL_auxz00_1596;
BgL_auxz00_1596 = 
(int)(((long)0)); 
BgL_fun3275z00_1165 = 
PROCEDURE_REF(BGl_shapezd2envzd2zztools_shapez00, BgL_auxz00_1596); } 
return 
PROCEDURE_ENTRY(BgL_fun3275z00_1165)(BgL_fun3275z00_1165, BgL_expz00_11, BEOA);} } } } } 
}



/* _shape */
obj_t BGl__shapez00zztools_shapez00(obj_t BgL_envz00_1371, obj_t BgL_expz00_1372)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 28 */
return 
BGl_shapez00zztools_shapez00(BgL_expz00_1372);} 
}



/* shape-default2664 */
obj_t BGl_shapezd2default2664zd2zztools_shapez00(obj_t BgL_expz00_12)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
{ /* ./Tools/shape.scm 30 */
bool_t BgL_test3277z00_1166;
BgL_test3277z00_1166 = 
PAIRP(BgL_expz00_12); 
if(BgL_test3277z00_1166)
{ /* ./Tools/shape.scm 30 */
return 
BGl_loopz00zztools_shapez00(BgL_expz00_12);}  else 
{ /* ./Tools/shape.scm 41 */
bool_t BgL_test3312z00_1181;
BgL_test3312z00_1181 = 
VECTORP(BgL_expz00_12); 
if(BgL_test3312z00_1181)
{ /* ./Tools/shape.scm 41 */
{ /* ./Tools/shape.scm 42 */
int BgL_lenz00_1182;
BgL_lenz00_1182 = 
VECTOR_LENGTH(BgL_expz00_12); 
{ /* ./Tools/shape.scm 42 */
obj_t BgL_resz00_1183;
BgL_resz00_1183 = 
make_vector(BgL_lenz00_1182, BNIL); 
{ /* ./Tools/shape.scm 43 */

{ 
long BgL_indicez00_1184;
BgL_indicez00_1184 = ((long)0); 
BgL_loopz00_1185:
{ /* ./Tools/shape.scm 45 */
bool_t BgL_test3314z00_1186;
{ /* ./Tools/shape.scm 45 */
long BgL_auxz00_1609;
BgL_auxz00_1609 = 
(long)(BgL_lenz00_1182); 
BgL_test3314z00_1186 = 
(BgL_indicez00_1184==BgL_auxz00_1609); } 
if(BgL_test3314z00_1186)
{ /* ./Tools/shape.scm 45 */
return BgL_resz00_1183;}  else 
{ /* ./Tools/shape.scm 45 */
{ /* ./Tools/shape.scm 50 */
obj_t BgL_arg3316z00_1187;
{ /* ./Tools/shape.scm 50 */
obj_t BgL_arg3319z00_1188;
{ /* ./Tools/shape.scm 50 */
int BgL_kz00_1311;
BgL_kz00_1311 = 
(int)(BgL_indicez00_1184); 
BgL_arg3319z00_1188 = 
VECTOR_REF(BgL_expz00_12,BgL_kz00_1311); } 
BgL_arg3316z00_1187 = 
BGl_shapez00zztools_shapez00(BgL_arg3319z00_1188); } 
{ /* ./Tools/shape.scm 48 */
int BgL_kz00_1313;
BgL_kz00_1313 = 
(int)(BgL_indicez00_1184); 
VECTOR_SET(BgL_resz00_1183,BgL_kz00_1313,BgL_arg3316z00_1187); } } 
{ /* ./Tools/shape.scm 51 */
long BgL_arg3323z00_1189;
BgL_arg3323z00_1189 = 
(BgL_indicez00_1184+((long)1)); 
{ 
long BgL_indicez00_1619;
BgL_indicez00_1619 = BgL_arg3323z00_1189; 
BgL_indicez00_1184 = BgL_indicez00_1619; 
goto BgL_loopz00_1185;} } } } } } } } }  else 
{ /* ./Tools/shape.scm 52 */
bool_t BgL_test3329z00_1190;
if(
STRUCTP(BgL_expz00_12))
{ /* ./Tools/shape.scm 52 */
obj_t BgL_auxz00_1624;obj_t BgL_auxz00_1622;
BgL_auxz00_1624 = 
CNST_TABLE_REF(((long)2)); 
BgL_auxz00_1622 = 
STRUCT_KEY(BgL_expz00_12); 
BgL_test3329z00_1190 = 
(BgL_auxz00_1622==BgL_auxz00_1624); }  else 
{ /* ./Tools/shape.scm 52 */
BgL_test3329z00_1190 = ((bool_t)0); } 
if(BgL_test3329z00_1190)
{ /* ./Tools/shape.scm 52 */
{ /* ./Tools/shape.scm 53 */
obj_t BgL_arg3331z00_1191;obj_t BgL_arg3332z00_1192;
{ /* ./Tools/shape.scm 53 */
obj_t BgL_arg3335z00_1193;
{ /* ./Tools/shape.scm 53 */
int BgL_auxz00_1628;
BgL_auxz00_1628 = 
(int)(((long)0)); 
BgL_arg3335z00_1193 = 
STRUCT_REF(BgL_expz00_12, BgL_auxz00_1628); } 
BgL_arg3331z00_1191 = 
BGl_shapez00zztools_shapez00(BgL_arg3335z00_1193); } 
{ /* ./Tools/shape.scm 53 */
obj_t BgL_arg3340z00_1194;
{ /* ./Tools/shape.scm 53 */
int BgL_auxz00_1632;
BgL_auxz00_1632 = 
(int)(((long)1)); 
BgL_arg3340z00_1194 = 
STRUCT_REF(BgL_expz00_12, BgL_auxz00_1632); } 
BgL_arg3332z00_1192 = 
BGl_shapez00zztools_shapez00(BgL_arg3340z00_1194); } 
{ /* ./Tools/shape.scm 53 */
obj_t BgL_newz00_1332;
{ /* ./Tools/shape.scm 53 */
int BgL_auxz00_1638;obj_t BgL_auxz00_1636;
BgL_auxz00_1638 = 
(int)(((long)2)); 
BgL_auxz00_1636 = 
CNST_TABLE_REF(((long)2)); 
BgL_newz00_1332 = 
create_struct(BgL_auxz00_1636, BgL_auxz00_1638); } 
{ /* ./Tools/shape.scm 53 */
int BgL_kz00_1336;
BgL_kz00_1336 = 
(int)(((long)1)); 
STRUCT_SET(BgL_newz00_1332, BgL_kz00_1336, BgL_arg3332z00_1192); } 
{ /* ./Tools/shape.scm 53 */
int BgL_kz00_1341;
BgL_kz00_1341 = 
(int)(((long)0)); 
STRUCT_SET(BgL_newz00_1332, BgL_kz00_1341, BgL_arg3331z00_1191); } 
return BgL_newz00_1332;} } }  else 
{ /* ./Tools/shape.scm 54 */
bool_t BgL_test3343z00_1195;
BgL_test3343z00_1195 = 
STRUCTP(BgL_expz00_12); 
if(BgL_test3343z00_1195)
{ /* ./Tools/shape.scm 54 */
{ /* ./Tools/shape.scm 55 */
obj_t BgL_keyz00_1196;
BgL_keyz00_1196 = 
STRUCT_KEY(BgL_expz00_12); 
{ /* ./Tools/shape.scm 55 */
int BgL_lenz00_1197;
BgL_lenz00_1197 = 
STRUCT_LENGTH(BgL_expz00_12); 
{ /* ./Tools/shape.scm 56 */
obj_t BgL_resz00_1198;
BgL_resz00_1198 = 
make_struct(BgL_keyz00_1196, BgL_lenz00_1197, BNIL); 
{ /* ./Tools/shape.scm 57 */

{ 
long BgL_indicez00_1199;
BgL_indicez00_1199 = ((long)0); 
BgL_loopz00_1200:
{ /* ./Tools/shape.scm 59 */
bool_t BgL_test3345z00_1201;
{ /* ./Tools/shape.scm 59 */
long BgL_auxz00_1650;
BgL_auxz00_1650 = 
(long)(BgL_lenz00_1197); 
BgL_test3345z00_1201 = 
(BgL_indicez00_1199==BgL_auxz00_1650); } 
if(BgL_test3345z00_1201)
{ /* ./Tools/shape.scm 59 */
return BgL_resz00_1198;}  else 
{ /* ./Tools/shape.scm 59 */
{ /* ./Tools/shape.scm 64 */
obj_t BgL_arg3347z00_1202;
{ /* ./Tools/shape.scm 64 */
obj_t BgL_arg3350z00_1203;
{ /* ./Tools/shape.scm 64 */
int BgL_auxz00_1654;
BgL_auxz00_1654 = 
(int)(BgL_indicez00_1199); 
BgL_arg3350z00_1203 = 
STRUCT_REF(BgL_expz00_12, BgL_auxz00_1654); } 
BgL_arg3347z00_1202 = 
BGl_shapez00zztools_shapez00(BgL_arg3350z00_1203); } 
{ /* ./Tools/shape.scm 62 */
int BgL_kz00_1355;
BgL_kz00_1355 = 
(int)(BgL_indicez00_1199); 
STRUCT_SET(BgL_resz00_1198, BgL_kz00_1355, BgL_arg3347z00_1202); } } 
{ /* ./Tools/shape.scm 65 */
long BgL_arg3354z00_1204;
BgL_arg3354z00_1204 = 
(BgL_indicez00_1199+((long)1)); 
{ 
long BgL_indicez00_1661;
BgL_indicez00_1661 = BgL_arg3354z00_1204; 
BgL_indicez00_1199 = BgL_indicez00_1661; 
goto BgL_loopz00_1200;} } } } } } } } } }  else 
{ /* ./Tools/shape.scm 54 */
return BgL_expz00_12;} } } } } } 
}



/* loop */
obj_t BGl_loopz00zztools_shapez00(obj_t BgL_expz00_1167)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 31 */
{ /* ./Tools/shape.scm 33 */
bool_t BgL_test3279z00_1169;
BgL_test3279z00_1169 = 
NULLP(BgL_expz00_1167); 
if(BgL_test3279z00_1169)
{ /* ./Tools/shape.scm 33 */
return BNIL;}  else 
{ /* ./Tools/shape.scm 35 */
bool_t BgL_test3280z00_1170;
BgL_test3280z00_1170 = 
PAIRP(BgL_expz00_1167); 
if(BgL_test3280z00_1170)
{ /* ./Tools/shape.scm 37 */
bool_t BgL_test3281z00_1171;
BgL_test3281z00_1171 = 
EXTENDED_PAIRP(BgL_expz00_1167); 
if(BgL_test3281z00_1171)
{ /* ./Tools/shape.scm 37 */
{ /* ./Tools/shape.scm 38 */
obj_t BgL_arg3283z00_1172;obj_t BgL_arg3284z00_1173;obj_t BgL_arg3285z00_1174;
{ /* ./Tools/shape.scm 38 */
obj_t BgL_arg3288z00_1175;
BgL_arg3288z00_1175 = 
CAR(BgL_expz00_1167); 
BgL_arg3283z00_1172 = 
BGl_shapez00zztools_shapez00(BgL_arg3288z00_1175); } 
{ /* ./Tools/shape.scm 38 */
obj_t BgL_arg3292z00_1176;
BgL_arg3292z00_1176 = 
CDR(BgL_expz00_1167); 
BgL_arg3284z00_1173 = 
BGl_loopz00zztools_shapez00(BgL_arg3292z00_1176); } 
BgL_arg3285z00_1174 = 
CER(BgL_expz00_1167); 
{ /* ./Tools/shape.scm 38 */
obj_t BgL_res3377z00_1303;
BgL_res3377z00_1303 = 
MAKE_EXTENDED_PAIR(BgL_arg3283z00_1172, BgL_arg3284z00_1173, BgL_arg3285z00_1174); 
return BgL_res3377z00_1303;} } }  else 
{ /* ./Tools/shape.scm 37 */
{ /* ./Tools/shape.scm 40 */
obj_t BgL_arg3297z00_1177;obj_t BgL_arg3298z00_1178;
{ /* ./Tools/shape.scm 40 */
obj_t BgL_arg3301z00_1179;
BgL_arg3301z00_1179 = 
CAR(BgL_expz00_1167); 
BgL_arg3297z00_1177 = 
BGl_shapez00zztools_shapez00(BgL_arg3301z00_1179); } 
{ /* ./Tools/shape.scm 40 */
obj_t BgL_arg3305z00_1180;
BgL_arg3305z00_1180 = 
CDR(BgL_expz00_1167); 
BgL_arg3298z00_1178 = 
BGl_loopz00zztools_shapez00(BgL_arg3305z00_1180); } 
return 
MAKE_PAIR(BgL_arg3297z00_1177, BgL_arg3298z00_1178);} } }  else 
{ /* ./Tools/shape.scm 35 */
return 
BGl_shapez00zztools_shapez00(BgL_expz00_1167);} } } } 
}



/* _shape-default2664 */
obj_t BGl__shapezd2default2664zd2zztools_shapez00(obj_t BgL_envz00_1373, obj_t BgL_expz00_1374)
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
return 
BGl_shapezd2default2664zd2zztools_shapez00(BgL_expz00_1374);} 
}



/* imported-modules-init */
obj_t BGl_importedzd2moduleszd2initz00zztools_shapez00()
{ AN_OBJECT;
{ /* ./Tools/shape.scm 16 */
BGl_modulezd2initializa7ationz75zztype_typez00(((long)19090), "tools_shape"); 
BGl_modulezd2initializa7ationz75zzast_varz00(((long)44246), "tools_shape"); 
BGl_modulezd2initializa7ationz75zzast_nodez00(((long)50868), "tools_shape"); 
BGl_modulezd2initializa7ationz75zzast_dumpz00(((long)16128), "tools_shape"); 
BGl_modulezd2initializa7ationz75zzast_envz00(((long)62031), "tools_shape"); 
BGl_modulezd2initializa7ationz75zzengine_paramz00(((long)14260), "tools_shape"); 
return 
BGl_modulezd2initializa7ationz75zztools_errorz00(((long)25566), "tools_shape");} 
}

