/*===========================================================================*/
/*   (Ast/object.scm)                                                        */
/*   Bigloo (4.5b)                                                           */
/*   Inria -- Sophia Antipolis (c)       Fri Dec 22 05:17:06 PM CET 2023     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/bigloo/bin/bigloo -ldopt -L/home/serrano/prgm/project/bigloo/bigloo/libbacktrace/home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b  -q -afile .afile -fsharing -fno-reflection -cc gcc -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -unsafev -gno-error-localization -no-hello -O2 -rm -unsafe -s -stdc -indent Ast/object.scm) */
/* GC selection */
#define THE_GC BOEHM_GC

/* unsafe mode */
#define BIGLOO_UNSAFE 1

/* traces mode */
#define BIGLOO_TRACE 0

/* standard Bigloo include */
#include <bigloo.h>

#ifdef __cplusplus
extern "C"
{
#endif
#ifndef BGL_MODULE_TYPE_DEFINITIONS
#define BGL_MODULE_TYPE_DEFINITIONS
#ifndef BGL_AST_OBJECT_TYPE_DEFINITIONS
#define BGL_AST_OBJECT_TYPE_DEFINITIONS

/* 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;
		int BgL_occurrencez00;
	}              *BgL_typez00_bglt;

	typedef struct BgL_slotz00_bgl
	{
		header_t header;
		obj_t widening;
		obj_t BgL_idz00;
		obj_t BgL_namez00;
		obj_t BgL_srcz00;
		obj_t BgL_classzd2ownerzd2;
		long BgL_indexz00;
		obj_t BgL_typez00;
		bool_t BgL_readzd2onlyzf3z21;
		obj_t BgL_defaultzd2valuezd2;
		obj_t BgL_virtualzd2numzd2;
		bool_t BgL_virtualzd2overridezd2;
		obj_t BgL_getterz00;
		obj_t BgL_setterz00;
		obj_t BgL_userzd2infozd2;
	}              *BgL_slotz00_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;
		long BgL_occurrencewz00;
		bool_t BgL_userzf3zf3;
	}                  *BgL_variablez00_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_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;


#endif													// BGL_AST_OBJECT_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl___bigloo_wallow__z00zzast_objectz00 = BUNSPEC;
	BGL_EXPORTED_DECL BgL_nodez00_bglt
		BGl_fieldzd2refzd2ze3nodeze3zzast_objectz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static BgL_nodez00_bglt BGl_z62fieldzd2refzd2ze3nodez81zzast_objectz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zzast_objectz00 = BUNSPEC;
	BGL_IMPORT obj_t BGl_za2classesza2z00zz__objectz00;
	extern obj_t BGl_tclassz00zzobject_classz00;
	static obj_t BGl_toplevelzd2initzd2zzast_objectz00(void);
	BGL_IMPORT obj_t BGl_formatz00zz__r4_output_6_10_3z00(obj_t, obj_t);
	static obj_t BGl_genericzd2initzd2zzast_objectz00(void);
	static obj_t BGl_makezd2fieldzd2setz12z12zzast_objectz00(obj_t, obj_t,
		BgL_nodez00_bglt, obj_t, obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zzast_objectz00(void);
	extern obj_t BGl_privatezd2nodezd2zzast_privatez00(obj_t, obj_t, obj_t,
		obj_t);
	BGL_IMPORT bool_t BGl_2zd3zd3zz__r4_numbers_6_5z00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_za2inheritancesza2z00zz__objectz00;
	extern obj_t BGl_findzd2classzd2slotz00zzobject_toolsz00(BgL_typez00_bglt,
		obj_t);
	BGL_IMPORT obj_t bstring_to_symbol(obj_t);
	static obj_t BGl___bigloo__z00zzast_objectz00 = BUNSPEC;
	BGL_IMPORT obj_t BGl_readz00zz__readerz00(obj_t, obj_t);
	BGL_IMPORT obj_t BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_methodzd2initzd2zzast_objectz00(void);
	extern obj_t BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00;
	extern obj_t BGl_varz00zzast_nodez00;
	static obj_t BGl__fieldzd2accesszd2zzast_objectz00(obj_t, obj_t);
	extern obj_t BGl_jclassz00zzobject_classz00;
	extern obj_t BGl_wclassz00zzobject_classz00;
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zzast_objectz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_sexpz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzeffect_feffectz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_privatez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_applyz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_appz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_exitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_letz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_labelsz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_pragmaz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_buildz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_nodez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_varz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzast_identz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzbackend_backendz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzengine_paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_toolsz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_slotsz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zzobject_classz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typeofz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_cachez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_envz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztype_typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_dssslz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_miscz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_locationz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_prognz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_shapez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zztools_tracez00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long,
		char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	BGL_IMPORT obj_t
		BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__readerz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	BGL_IMPORT obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	BGL_EXPORTED_DECL obj_t BGl_fieldzd2accesszd2zzast_objectz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_cnstzd2initzd2zzast_objectz00(void);
	static obj_t BGl_makezd2fieldzd2refz00zzast_objectz00(obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static obj_t BGl_libraryzd2moduleszd2initz00zzast_objectz00(void);
	static obj_t BGl_sourcezd2ze3fieldz31zzast_objectz00(obj_t);
	extern BgL_nodez00_bglt BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00(obj_t,
		obj_t, obj_t);
	static obj_t BGl_importedzd2moduleszd2initz00zzast_objectz00(void);
	static obj_t BGl_gczd2rootszd2initz00zzast_objectz00(void);
	extern BgL_nodez00_bglt BGl_sexpzd2ze3nodez31zzast_sexpz00(obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_makezd2classzd2refz00zzobject_toolsz00(BgL_typez00_bglt,
		BgL_slotz00_bglt, obj_t);
	extern obj_t BGl_makezd2classzd2setz12z12zzobject_toolsz00(BgL_typez00_bglt,
		BgL_slotz00_bglt, obj_t, obj_t);
	BGL_EXPORTED_DECL BgL_nodez00_bglt
		BGl_fieldzd2setzd2ze3nodeze3zzast_objectz00(obj_t, obj_t, obj_t, obj_t,
		obj_t, obj_t);
	static BgL_nodez00_bglt BGl_z62fieldzd2setzd2ze3nodez81zzast_objectz00(obj_t,
		obj_t, obj_t, obj_t, obj_t, obj_t, obj_t);
	static obj_t __cnst[6];


	   
		 
		DEFINE_STRING(BGl_string1812z00zzast_objectz00,
		BgL_bgl_string1812za700za7za7a1823za7, "#!bigloo", 8);
	      DEFINE_STRING(BGl_string1813z00zzast_objectz00,
		BgL_bgl_string1813za700za7za7a1824za7, "#!bigloo_wallow", 15);
	      DEFINE_STRING(BGl_string1814z00zzast_objectz00,
		BgL_bgl_string1814za700za7za7a1825za7, "Class \"~a\" has not field \"~a\"",
		29);
	      DEFINE_STRING(BGl_string1815z00zzast_objectz00,
		BgL_bgl_string1815za700za7za7a1826za7, "Static type not a class", 23);
	      DEFINE_STRING(BGl_string1816z00zzast_objectz00,
		BgL_bgl_string1816za700za7za7a1827za7, "Unbound variable", 16);
	      DEFINE_STRING(BGl_string1817z00zzast_objectz00,
		BgL_bgl_string1817za700za7za7a1828za7, "Field read-only \"~a\"", 20);
	      DEFINE_STRING(BGl_string1818z00zzast_objectz00,
		BgL_bgl_string1818za700za7za7a1829za7, "Class \"~a\" has no field \"~a\"",
		28);
	      DEFINE_STRING(BGl_string1819z00zzast_objectz00,
		BgL_bgl_string1819za700za7za7a1830za7, "ast_object", 10);
	      DEFINE_STRING(BGl_string1820z00zzast_objectz00,
		BgL_bgl_string1820za700za7za7a1831za7,
		"call-virtual-setter @ call-virtual-getter __object set! -> ", 59);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_fieldzd2setzd2ze3nodezd2envz31zzast_objectz00,
		BgL_bgl_za762fieldza7d2setza7d1832za7,
		BGl_z62fieldzd2setzd2ze3nodez81zzast_objectz00, 0L, BUNSPEC, 6);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_fieldzd2refzd2ze3nodezd2envz31zzast_objectz00,
		BgL_bgl_za762fieldza7d2refza7d1833za7,
		BGl_z62fieldzd2refzd2ze3nodez81zzast_objectz00, 0L, BUNSPEC, 5);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_fieldzd2accesszd2envz00zzast_objectz00,
		BgL_bgl__fieldza7d2accessza71834z00, opt_generic_entry,
		BGl__fieldzd2accesszd2zzast_objectz00, BFALSE, -1);

/* GC roots registration */
	static obj_t bgl_gc_roots_register()
	{
#if defined( BGL_GC_ROOTS )
#define ADD_ROOT( addr ) (addr > roots_max ? roots_max = addr : (addr < roots_min ? roots_min = addr : 0))
		void *roots_min = (void *) ULONG_MAX, *roots_max = 0;
		     ADD_ROOT((void *) (&BGl___bigloo_wallow__z00zzast_objectz00));
		     ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zzast_objectz00));
		     ADD_ROOT((void *) (&BGl___bigloo__z00zzast_objectz00));
#undef ADD_ROOT
		if   (roots_max > 0)
			     GC_add_roots(roots_min, ((void **) roots_max) + 1);
#endif
		     return BUNSPEC;
	}



/* module-initialization */
	BGL_EXPORTED_DEF obj_t BGl_modulezd2initializa7ationz75zzast_objectz00(long
		BgL_checksumz00_2547, char *BgL_fromz00_2548)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zzast_objectz00))
				{
					BGl_requirezd2initializa7ationz75zzast_objectz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zzast_objectz00();
					BGl_libraryzd2moduleszd2initz00zzast_objectz00();
					BGl_cnstzd2initzd2zzast_objectz00();
					BGl_importedzd2moduleszd2initz00zzast_objectz00();
					return BGl_toplevelzd2initzd2zzast_objectz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* library-modules-init */
	obj_t BGl_libraryzd2moduleszd2initz00zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			BGl_modulezd2initializa7ationz75zz__objectz00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__readerz00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(0L,
				"ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(0L,
				"ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(0L,
				"ast_object");
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(0L, "ast_object");
			BGl_modulezd2initializa7ationz75zz__biglooz00(0L, "ast_object");
			return BUNSPEC;
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			{	/* Ast/object.scm 15 */
				obj_t BgL_cportz00_2536;

				{	/* Ast/object.scm 15 */
					obj_t BgL_stringz00_2543;

					BgL_stringz00_2543 = BGl_string1820z00zzast_objectz00;
					{	/* Ast/object.scm 15 */
						obj_t BgL_startz00_2544;

						BgL_startz00_2544 = BINT(0L);
						{	/* Ast/object.scm 15 */
							obj_t BgL_endz00_2545;

							BgL_endz00_2545 =
								BINT(STRING_LENGTH(((obj_t) BgL_stringz00_2543)));
							{	/* Ast/object.scm 15 */

								BgL_cportz00_2536 =
									BGl_openzd2inputzd2stringz12z12zz__r4_ports_6_10_1z00
									(BgL_stringz00_2543, BgL_startz00_2544, BgL_endz00_2545);
				}}}}
				{
					long BgL_iz00_2537;

					BgL_iz00_2537 = 5L;
				BgL_loopz00_2538:
					if ((BgL_iz00_2537 == -1L))
						{	/* Ast/object.scm 15 */
							return BUNSPEC;
						}
					else
						{	/* Ast/object.scm 15 */
							{	/* Ast/object.scm 15 */
								obj_t BgL_arg1822z00_2539;

								{	/* Ast/object.scm 15 */

									{	/* Ast/object.scm 15 */
										obj_t BgL_locationz00_2541;

										BgL_locationz00_2541 = BBOOL(((bool_t) 0));
										{	/* Ast/object.scm 15 */

											BgL_arg1822z00_2539 =
												BGl_readz00zz__readerz00(BgL_cportz00_2536,
												BgL_locationz00_2541);
										}
									}
								}
								{	/* Ast/object.scm 15 */
									int BgL_tmpz00_2578;

									BgL_tmpz00_2578 = (int) (BgL_iz00_2537);
									CNST_TABLE_SET(BgL_tmpz00_2578, BgL_arg1822z00_2539);
							}}
							{	/* Ast/object.scm 15 */
								int BgL_auxz00_2542;

								BgL_auxz00_2542 = (int) ((BgL_iz00_2537 - 1L));
								{
									long BgL_iz00_2583;

									BgL_iz00_2583 = (long) (BgL_auxz00_2542);
									BgL_iz00_2537 = BgL_iz00_2583;
									goto BgL_loopz00_2538;
								}
							}
						}
				}
			}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			BGl___bigloo__z00zzast_objectz00 =
				bstring_to_symbol(BGl_string1812z00zzast_objectz00);
			return (BGl___bigloo_wallow__z00zzast_objectz00 =
				bstring_to_symbol(BGl_string1813z00zzast_objectz00), BUNSPEC);
		}

	}



/* _field-access */
	obj_t BGl__fieldzd2accesszd2zzast_objectz00(obj_t BgL_env1306z00_21,
		obj_t BgL_opt1305z00_20)
	{
		{	/* Ast/object.scm 65 */
			{	/* Ast/object.scm 65 */
				obj_t BgL_g1307z00_1752;
				obj_t BgL_g1308z00_1753;

				BgL_g1307z00_1752 = VECTOR_REF(BgL_opt1305z00_20, 0L);
				BgL_g1308z00_1753 = VECTOR_REF(BgL_opt1305z00_20, 1L);
				switch (VECTOR_LENGTH(BgL_opt1305z00_20))
					{
					case 2L:

						{	/* Ast/object.scm 65 */

							return
								BGl_fieldzd2accesszd2zzast_objectz00(BgL_g1307z00_1752,
								BgL_g1308z00_1753, BFALSE);
						}
						break;
					case 3L:

						{	/* Ast/object.scm 65 */
							obj_t BgL_writezd2allowzd2_1757;

							BgL_writezd2allowzd2_1757 = VECTOR_REF(BgL_opt1305z00_20, 2L);
							{	/* Ast/object.scm 65 */

								return
									BGl_fieldzd2accesszd2zzast_objectz00(BgL_g1307z00_1752,
									BgL_g1308z00_1753, BgL_writezd2allowzd2_1757);
							}
						}
						break;
					default:
						return BUNSPEC;
					}
			}
		}

	}



/* field-access */
	BGL_EXPORTED_DEF obj_t BGl_fieldzd2accesszd2zzast_objectz00(obj_t
		BgL_varz00_17, obj_t BgL_fieldz00_18, obj_t BgL_writezd2allowzd2_19)
	{
		{	/* Ast/object.scm 65 */
			{	/* Ast/object.scm 66 */
				obj_t BgL_arg1347z00_1758;

				{	/* Ast/object.scm 66 */
					obj_t BgL_arg1348z00_1759;
					obj_t BgL_arg1352z00_1760;

					if (CBOOL(BgL_writezd2allowzd2_19))
						{	/* Ast/object.scm 66 */
							BgL_arg1348z00_1759 = BGl___bigloo_wallow__z00zzast_objectz00;
						}
					else
						{	/* Ast/object.scm 66 */
							BgL_arg1348z00_1759 = BGl___bigloo__z00zzast_objectz00;
						}
					{	/* Ast/object.scm 66 */
						obj_t BgL_arg1354z00_1761;

						BgL_arg1354z00_1761 = MAKE_YOUNG_PAIR(BgL_fieldz00_18, BNIL);
						BgL_arg1352z00_1760 =
							MAKE_YOUNG_PAIR(BgL_varz00_17, BgL_arg1354z00_1761);
					}
					BgL_arg1347z00_1758 =
						MAKE_YOUNG_PAIR(BgL_arg1348z00_1759, BgL_arg1352z00_1760);
				}
				return MAKE_YOUNG_PAIR(CNST_TABLE_REF(0L), BgL_arg1347z00_1758);
			}
		}

	}



/* source->field */
	obj_t BGl_sourcezd2ze3fieldz31zzast_objectz00(obj_t BgL_lz00_22)
	{
		{	/* Ast/object.scm 71 */
			{	/* Ast/object.scm 72 */
				bool_t BgL_test1838z00_2602;

				{	/* Ast/object.scm 72 */
					bool_t BgL_test1839z00_2603;

					{	/* Ast/object.scm 72 */
						obj_t BgL_arg1372z00_1769;

						BgL_arg1372z00_1769 = CAR(((obj_t) BgL_lz00_22));
						BgL_test1839z00_2603 =
							(BgL_arg1372z00_1769 == BGl___bigloo__z00zzast_objectz00);
					}
					if (BgL_test1839z00_2603)
						{	/* Ast/object.scm 72 */
							BgL_test1838z00_2602 = ((bool_t) 1);
						}
					else
						{	/* Ast/object.scm 72 */
							obj_t BgL_arg1369z00_1768;

							BgL_arg1369z00_1768 = CAR(((obj_t) BgL_lz00_22));
							BgL_test1838z00_2602 =
								(BgL_arg1369z00_1768 ==
								BGl___bigloo_wallow__z00zzast_objectz00);
						}
				}
				if (BgL_test1838z00_2602)
					{	/* Ast/object.scm 72 */
						return CDR(((obj_t) BgL_lz00_22));
					}
				else
					{	/* Ast/object.scm 72 */
						return BgL_lz00_22;
					}
			}
		}

	}



/* field-ref->node */
	BGL_EXPORTED_DEF BgL_nodez00_bglt
		BGl_fieldzd2refzd2ze3nodeze3zzast_objectz00(obj_t BgL_lz00_23,
		obj_t BgL_expz00_24, obj_t BgL_stackz00_25, obj_t BgL_locz00_26,
		obj_t BgL_sitez00_27)
	{
		{	/* Ast/object.scm 79 */
			{	/* Ast/object.scm 80 */
				obj_t BgL_l2z00_1770;

				BgL_l2z00_1770 = BGl_sourcezd2ze3fieldz31zzast_objectz00(BgL_lz00_23);
				{	/* Ast/object.scm 80 */
					BgL_nodez00_bglt BgL_varz00_1771;

					{	/* Ast/object.scm 81 */
						obj_t BgL_arg1453z00_1799;

						BgL_arg1453z00_1799 = CAR(((obj_t) BgL_l2z00_1770));
						BgL_varz00_1771 =
							BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg1453z00_1799,
							BgL_stackz00_25, BgL_locz00_26, BgL_sitez00_27);
					}
					{	/* Ast/object.scm 81 */

						{	/* Ast/object.scm 83 */
							bool_t BgL_test1840z00_2616;

							{	/* Ast/object.scm 83 */
								obj_t BgL_classz00_2115;

								BgL_classz00_2115 = BGl_varz00zzast_nodez00;
								{	/* Ast/object.scm 83 */
									BgL_objectz00_bglt BgL_arg1801z00_2117;

									{	/* Ast/object.scm 83 */
										obj_t BgL_tmpz00_2617;

										BgL_tmpz00_2617 =
											((obj_t) ((BgL_objectz00_bglt) BgL_varz00_1771));
										BgL_arg1801z00_2117 =
											(BgL_objectz00_bglt) (BgL_tmpz00_2617);
									}
									if (BGL_CONDEXPAND_ISA_ARCH64())
										{	/* Ast/object.scm 83 */
											long BgL_idxz00_2123;

											BgL_idxz00_2123 =
												BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2117);
											BgL_test1840z00_2616 =
												(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
													(BgL_idxz00_2123 + 2L)) == BgL_classz00_2115);
										}
									else
										{	/* Ast/object.scm 83 */
											bool_t BgL_res1800z00_2145;

											{	/* Ast/object.scm 83 */
												obj_t BgL_oclassz00_2131;

												{	/* Ast/object.scm 83 */
													long BgL_arg1808z00_2137;

													{	/* Ast/object.scm 83 */
														long BgL_arg1809z00_2138;

														BgL_arg1809z00_2138 =
															BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2117);
														BgL_arg1808z00_2137 =
															(BgL_arg1809z00_2138 - OBJECT_TYPE);
													}
													BgL_oclassz00_2131 =
														VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
														BgL_arg1808z00_2137);
												}
												{	/* Ast/object.scm 83 */
													bool_t BgL__ortest_1115z00_2132;

													BgL__ortest_1115z00_2132 =
														(BgL_classz00_2115 == BgL_oclassz00_2131);
													if (BgL__ortest_1115z00_2132)
														{	/* Ast/object.scm 83 */
															BgL_res1800z00_2145 = BgL__ortest_1115z00_2132;
														}
													else
														{	/* Ast/object.scm 83 */
															long BgL_odepthz00_2133;

															BgL_odepthz00_2133 =
																BGL_CLASS_DEPTH(BgL_oclassz00_2131);
															if ((2L < BgL_odepthz00_2133))
																{	/* Ast/object.scm 83 */
																	obj_t BgL_arg1797z00_2135;

																	BgL_arg1797z00_2135 =
																		BGL_CLASS_ANCESTORS_REF(BgL_oclassz00_2131,
																		2L);
																	BgL_res1800z00_2145 =
																		(BgL_arg1797z00_2135 == BgL_classz00_2115);
																}
															else
																{	/* Ast/object.scm 83 */
																	BgL_res1800z00_2145 = ((bool_t) 0);
																}
														}
												}
											}
											BgL_test1840z00_2616 = BgL_res1800z00_2145;
										}
								}
							}
							if (BgL_test1840z00_2616)
								{	/* Ast/object.scm 84 */
									BgL_variablez00_bglt BgL_i1112z00_1773;

									BgL_i1112z00_1773 =
										(((BgL_varz00_bglt) COBJECT(
												((BgL_varz00_bglt) BgL_varz00_1771)))->BgL_variablez00);
									{	/* Ast/object.scm 85 */
										obj_t BgL_g1113z00_1774;

										BgL_g1113z00_1774 = CDR(((obj_t) BgL_l2z00_1770));
										{
											obj_t BgL_nodez00_1777;
											obj_t BgL_klassz00_1778;
											obj_t BgL_slotsz00_1779;

											{	/* Ast/object.scm 85 */
												BgL_typez00_bglt BgL_arg1397z00_1776;

												BgL_arg1397z00_1776 =
													(((BgL_variablez00_bglt) COBJECT(BgL_i1112z00_1773))->
													BgL_typez00);
												{
													obj_t BgL_auxz00_2642;

													BgL_nodez00_1777 = ((obj_t) BgL_varz00_1771);
													BgL_klassz00_1778 = ((obj_t) BgL_arg1397z00_1776);
													BgL_slotsz00_1779 = BgL_g1113z00_1774;
												BgL_zc3z04anonymousza31398ze3z87_1780:
													if (NULLP(BgL_slotsz00_1779))
														{	/* Ast/object.scm 89 */
															BgL_auxz00_2642 = BgL_nodez00_1777;
														}
													else
														{	/* Ast/object.scm 91 */
															bool_t BgL_test1845z00_2645;

															{	/* Ast/object.scm 91 */
																bool_t BgL_test1846z00_2646;

																{	/* Ast/object.scm 91 */
																	obj_t BgL_classz00_2148;

																	BgL_classz00_2148 =
																		BGl_tclassz00zzobject_classz00;
																	if (BGL_OBJECTP(BgL_klassz00_1778))
																		{	/* Ast/object.scm 91 */
																			BgL_objectz00_bglt BgL_arg1801z00_2150;

																			BgL_arg1801z00_2150 =
																				(BgL_objectz00_bglt)
																				(BgL_klassz00_1778);
																			if (BGL_CONDEXPAND_ISA_ARCH64())
																				{	/* Ast/object.scm 91 */
																					long BgL_idxz00_2156;

																					BgL_idxz00_2156 =
																						BGL_OBJECT_INHERITANCE_NUM
																						(BgL_arg1801z00_2150);
																					BgL_test1846z00_2646 =
																						(VECTOR_REF
																						(BGl_za2inheritancesza2z00zz__objectz00,
																							(BgL_idxz00_2156 + 2L)) ==
																						BgL_classz00_2148);
																				}
																			else
																				{	/* Ast/object.scm 91 */
																					bool_t BgL_res1801z00_2178;

																					{	/* Ast/object.scm 91 */
																						obj_t BgL_oclassz00_2164;

																						{	/* Ast/object.scm 91 */
																							long BgL_arg1808z00_2170;

																							{	/* Ast/object.scm 91 */
																								long BgL_arg1809z00_2171;

																								BgL_arg1809z00_2171 =
																									BGL_OBJECT_CLASS_NUM
																									(BgL_arg1801z00_2150);
																								BgL_arg1808z00_2170 =
																									(BgL_arg1809z00_2171 -
																									OBJECT_TYPE);
																							}
																							BgL_oclassz00_2164 =
																								VECTOR_REF
																								(BGl_za2classesza2z00zz__objectz00,
																								BgL_arg1808z00_2170);
																						}
																						{	/* Ast/object.scm 91 */
																							bool_t BgL__ortest_1115z00_2165;

																							BgL__ortest_1115z00_2165 =
																								(BgL_classz00_2148 ==
																								BgL_oclassz00_2164);
																							if (BgL__ortest_1115z00_2165)
																								{	/* Ast/object.scm 91 */
																									BgL_res1801z00_2178 =
																										BgL__ortest_1115z00_2165;
																								}
																							else
																								{	/* Ast/object.scm 91 */
																									long BgL_odepthz00_2166;

																									BgL_odepthz00_2166 =
																										BGL_CLASS_DEPTH
																										(BgL_oclassz00_2164);
																									if ((2L < BgL_odepthz00_2166))
																										{	/* Ast/object.scm 91 */
																											obj_t BgL_arg1797z00_2168;

																											BgL_arg1797z00_2168 =
																												BGL_CLASS_ANCESTORS_REF
																												(BgL_oclassz00_2164,
																												2L);
																											BgL_res1801z00_2178 =
																												(BgL_arg1797z00_2168 ==
																												BgL_classz00_2148);
																										}
																									else
																										{	/* Ast/object.scm 91 */
																											BgL_res1801z00_2178 =
																												((bool_t) 0);
																										}
																								}
																						}
																					}
																					BgL_test1846z00_2646 =
																						BgL_res1801z00_2178;
																				}
																		}
																	else
																		{	/* Ast/object.scm 91 */
																			BgL_test1846z00_2646 = ((bool_t) 0);
																		}
																}
																if (BgL_test1846z00_2646)
																	{	/* Ast/object.scm 91 */
																		BgL_test1845z00_2645 = ((bool_t) 1);
																	}
																else
																	{	/* Ast/object.scm 91 */
																		bool_t BgL_test1851z00_2666;

																		{	/* Ast/object.scm 91 */
																			obj_t BgL_classz00_2179;

																			BgL_classz00_2179 =
																				BGl_jclassz00zzobject_classz00;
																			if (BGL_OBJECTP(BgL_klassz00_1778))
																				{	/* Ast/object.scm 91 */
																					BgL_objectz00_bglt
																						BgL_arg1801z00_2181;
																					BgL_arg1801z00_2181 =
																						(BgL_objectz00_bglt)
																						(BgL_klassz00_1778);
																					if (BGL_CONDEXPAND_ISA_ARCH64())
																						{	/* Ast/object.scm 91 */
																							long BgL_idxz00_2187;

																							BgL_idxz00_2187 =
																								BGL_OBJECT_INHERITANCE_NUM
																								(BgL_arg1801z00_2181);
																							BgL_test1851z00_2666 =
																								(VECTOR_REF
																								(BGl_za2inheritancesza2z00zz__objectz00,
																									(BgL_idxz00_2187 + 2L)) ==
																								BgL_classz00_2179);
																						}
																					else
																						{	/* Ast/object.scm 91 */
																							bool_t BgL_res1802z00_2209;

																							{	/* Ast/object.scm 91 */
																								obj_t BgL_oclassz00_2195;

																								{	/* Ast/object.scm 91 */
																									long BgL_arg1808z00_2201;

																									{	/* Ast/object.scm 91 */
																										long BgL_arg1809z00_2202;

																										BgL_arg1809z00_2202 =
																											BGL_OBJECT_CLASS_NUM
																											(BgL_arg1801z00_2181);
																										BgL_arg1808z00_2201 =
																											(BgL_arg1809z00_2202 -
																											OBJECT_TYPE);
																									}
																									BgL_oclassz00_2195 =
																										VECTOR_REF
																										(BGl_za2classesza2z00zz__objectz00,
																										BgL_arg1808z00_2201);
																								}
																								{	/* Ast/object.scm 91 */
																									bool_t
																										BgL__ortest_1115z00_2196;
																									BgL__ortest_1115z00_2196 =
																										(BgL_classz00_2179 ==
																										BgL_oclassz00_2195);
																									if (BgL__ortest_1115z00_2196)
																										{	/* Ast/object.scm 91 */
																											BgL_res1802z00_2209 =
																												BgL__ortest_1115z00_2196;
																										}
																									else
																										{	/* Ast/object.scm 91 */
																											long BgL_odepthz00_2197;

																											BgL_odepthz00_2197 =
																												BGL_CLASS_DEPTH
																												(BgL_oclassz00_2195);
																											if ((2L <
																													BgL_odepthz00_2197))
																												{	/* Ast/object.scm 91 */
																													obj_t
																														BgL_arg1797z00_2199;
																													BgL_arg1797z00_2199 =
																														BGL_CLASS_ANCESTORS_REF
																														(BgL_oclassz00_2195,
																														2L);
																													BgL_res1802z00_2209 =
																														(BgL_arg1797z00_2199
																														==
																														BgL_classz00_2179);
																												}
																											else
																												{	/* Ast/object.scm 91 */
																													BgL_res1802z00_2209 =
																														((bool_t) 0);
																												}
																										}
																								}
																							}
																							BgL_test1851z00_2666 =
																								BgL_res1802z00_2209;
																						}
																				}
																			else
																				{	/* Ast/object.scm 91 */
																					BgL_test1851z00_2666 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test1851z00_2666)
																			{	/* Ast/object.scm 91 */
																				BgL_test1845z00_2645 = ((bool_t) 1);
																			}
																		else
																			{	/* Ast/object.scm 91 */
																				obj_t BgL_classz00_2210;

																				BgL_classz00_2210 =
																					BGl_wclassz00zzobject_classz00;
																				if (BGL_OBJECTP(BgL_klassz00_1778))
																					{	/* Ast/object.scm 91 */
																						BgL_objectz00_bglt
																							BgL_arg1801z00_2212;
																						BgL_arg1801z00_2212 =
																							(BgL_objectz00_bglt)
																							(BgL_klassz00_1778);
																						if (BGL_CONDEXPAND_ISA_ARCH64())
																							{	/* Ast/object.scm 91 */
																								long BgL_idxz00_2218;

																								BgL_idxz00_2218 =
																									BGL_OBJECT_INHERITANCE_NUM
																									(BgL_arg1801z00_2212);
																								BgL_test1845z00_2645 =
																									(VECTOR_REF
																									(BGl_za2inheritancesza2z00zz__objectz00,
																										(BgL_idxz00_2218 + 2L)) ==
																									BgL_classz00_2210);
																							}
																						else
																							{	/* Ast/object.scm 91 */
																								bool_t BgL_res1803z00_2240;

																								{	/* Ast/object.scm 91 */
																									obj_t BgL_oclassz00_2226;

																									{	/* Ast/object.scm 91 */
																										long BgL_arg1808z00_2232;

																										{	/* Ast/object.scm 91 */
																											long BgL_arg1809z00_2233;

																											BgL_arg1809z00_2233 =
																												BGL_OBJECT_CLASS_NUM
																												(BgL_arg1801z00_2212);
																											BgL_arg1808z00_2232 =
																												(BgL_arg1809z00_2233 -
																												OBJECT_TYPE);
																										}
																										BgL_oclassz00_2226 =
																											VECTOR_REF
																											(BGl_za2classesza2z00zz__objectz00,
																											BgL_arg1808z00_2232);
																									}
																									{	/* Ast/object.scm 91 */
																										bool_t
																											BgL__ortest_1115z00_2227;
																										BgL__ortest_1115z00_2227 =
																											(BgL_classz00_2210 ==
																											BgL_oclassz00_2226);
																										if (BgL__ortest_1115z00_2227)
																											{	/* Ast/object.scm 91 */
																												BgL_res1803z00_2240 =
																													BgL__ortest_1115z00_2227;
																											}
																										else
																											{	/* Ast/object.scm 91 */
																												long BgL_odepthz00_2228;

																												BgL_odepthz00_2228 =
																													BGL_CLASS_DEPTH
																													(BgL_oclassz00_2226);
																												if ((2L <
																														BgL_odepthz00_2228))
																													{	/* Ast/object.scm 91 */
																														obj_t
																															BgL_arg1797z00_2230;
																														BgL_arg1797z00_2230
																															=
																															BGL_CLASS_ANCESTORS_REF
																															(BgL_oclassz00_2226,
																															2L);
																														BgL_res1803z00_2240
																															=
																															(BgL_arg1797z00_2230
																															==
																															BgL_classz00_2210);
																													}
																												else
																													{	/* Ast/object.scm 91 */
																														BgL_res1803z00_2240
																															= ((bool_t) 0);
																													}
																											}
																									}
																								}
																								BgL_test1845z00_2645 =
																									BgL_res1803z00_2240;
																							}
																					}
																				else
																					{	/* Ast/object.scm 91 */
																						BgL_test1845z00_2645 = ((bool_t) 0);
																					}
																			}
																	}
															}
															if (BgL_test1845z00_2645)
																{	/* Ast/object.scm 94 */
																	obj_t BgL_slotz00_1785;

																	{	/* Ast/object.scm 94 */
																		obj_t BgL_arg1451z00_1794;

																		BgL_arg1451z00_1794 =
																			CAR(((obj_t) BgL_slotsz00_1779));
																		BgL_slotz00_1785 =
																			BGl_findzd2classzd2slotz00zzobject_toolsz00
																			(((BgL_typez00_bglt) BgL_klassz00_1778),
																			BgL_arg1451z00_1794);
																	}
																	if (CBOOL(BgL_slotz00_1785))
																		{	/* Ast/object.scm 100 */
																			obj_t BgL_nodez00_1786;

																			BgL_nodez00_1786 =
																				BGl_makezd2fieldzd2refz00zzast_objectz00
																				(BgL_slotz00_1785, BgL_nodez00_1777,
																				BgL_stackz00_25, BgL_locz00_26,
																				BgL_sitez00_27);
																			{	/* Ast/object.scm 101 */
																				obj_t BgL_arg1407z00_1787;
																				obj_t BgL_arg1408z00_1788;

																				BgL_arg1407z00_1787 =
																					(((BgL_slotz00_bglt) COBJECT(
																							((BgL_slotz00_bglt)
																								BgL_slotz00_1785)))->
																					BgL_typez00);
																				BgL_arg1408z00_1788 =
																					CDR(((obj_t) BgL_slotsz00_1779));
																				{
																					obj_t BgL_slotsz00_2718;
																					obj_t BgL_klassz00_2717;
																					obj_t BgL_nodez00_2716;

																					BgL_nodez00_2716 = BgL_nodez00_1786;
																					BgL_klassz00_2717 =
																						BgL_arg1407z00_1787;
																					BgL_slotsz00_2718 =
																						BgL_arg1408z00_1788;
																					BgL_slotsz00_1779 = BgL_slotsz00_2718;
																					BgL_klassz00_1778 = BgL_klassz00_2717;
																					BgL_nodez00_1777 = BgL_nodez00_2716;
																					goto
																						BgL_zc3z04anonymousza31398ze3z87_1780;
																				}
																			}
																		}
																	else
																		{	/* Ast/object.scm 98 */
																			obj_t BgL_arg1420z00_1789;

																			{	/* Ast/object.scm 98 */
																				obj_t BgL_arg1431z00_1790;
																				obj_t BgL_arg1436z00_1791;

																				BgL_arg1431z00_1790 =
																					(((BgL_typez00_bglt) COBJECT(
																							((BgL_typez00_bglt)
																								BgL_klassz00_1778)))->
																					BgL_idz00);
																				BgL_arg1436z00_1791 =
																					CAR(((obj_t) BgL_slotsz00_1779));
																				{	/* Ast/object.scm 97 */
																					obj_t BgL_list1437z00_1792;

																					{	/* Ast/object.scm 97 */
																						obj_t BgL_arg1450z00_1793;

																						BgL_arg1450z00_1793 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1436z00_1791, BNIL);
																						BgL_list1437z00_1792 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1431z00_1790,
																							BgL_arg1450z00_1793);
																					}
																					BgL_arg1420z00_1789 =
																						BGl_formatz00zz__r4_output_6_10_3z00
																						(BGl_string1814z00zzast_objectz00,
																						BgL_list1437z00_1792);
																				}
																			}
																			BgL_auxz00_2642 =
																				((obj_t)
																				BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																				(BgL_arg1420z00_1789, BgL_expz00_24,
																					BgL_locz00_26));
																		}
																}
															else
																{	/* Ast/object.scm 91 */
																	BgL_auxz00_2642 =
																		((obj_t)
																		BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																		(BGl_string1815z00zzast_objectz00,
																			BgL_expz00_24, BgL_locz00_26));
																}
														}
													return ((BgL_nodez00_bglt) BgL_auxz00_2642);
												}
											}
										}
									}
								}
							else
								{	/* Ast/object.scm 102 */
									bool_t BgL_test1861z00_2733;

									if (INTEGERP
										(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00))
										{	/* Ast/object.scm 102 */
											BgL_test1861z00_2733 =
												(
												(long)
												CINT
												(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00) ==
												0L);
										}
									else
										{	/* Ast/object.scm 102 */
											BgL_test1861z00_2733 =
												BGl_2zd3zd3zz__r4_numbers_6_5z00
												(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00,
												BINT(0L));
										}
									if (BgL_test1861z00_2733)
										{	/* Ast/object.scm 102 */
											return
												BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
												(BGl_string1816z00zzast_objectz00, BgL_expz00_24,
												BgL_locz00_26);
										}
									else
										{	/* Ast/object.scm 102 */
											return BgL_varz00_1771;
										}
								}
						}
					}
				}
			}
		}

	}



/* &field-ref->node */
	BgL_nodez00_bglt BGl_z62fieldzd2refzd2ze3nodez81zzast_objectz00(obj_t
		BgL_envz00_2522, obj_t BgL_lz00_2523, obj_t BgL_expz00_2524,
		obj_t BgL_stackz00_2525, obj_t BgL_locz00_2526, obj_t BgL_sitez00_2527)
	{
		{	/* Ast/object.scm 79 */
			return
				BGl_fieldzd2refzd2ze3nodeze3zzast_objectz00(BgL_lz00_2523,
				BgL_expz00_2524, BgL_stackz00_2525, BgL_locz00_2526, BgL_sitez00_2527);
		}

	}



/* field-set->node */
	BGL_EXPORTED_DEF BgL_nodez00_bglt
		BGl_fieldzd2setzd2ze3nodeze3zzast_objectz00(obj_t BgL_lz00_28,
		obj_t BgL_valz00_29, obj_t BgL_expz00_30, obj_t BgL_stackz00_31,
		obj_t BgL_locz00_32, obj_t BgL_sitez00_33)
	{
		{	/* Ast/object.scm 110 */
			{	/* Ast/object.scm 111 */
				obj_t BgL_l2z00_1800;

				BgL_l2z00_1800 = BGl_sourcezd2ze3fieldz31zzast_objectz00(BgL_lz00_28);
				{	/* Ast/object.scm 111 */
					BgL_nodez00_bglt BgL_varz00_1801;

					{	/* Ast/object.scm 112 */
						obj_t BgL_arg1578z00_1848;

						BgL_arg1578z00_1848 = CAR(((obj_t) BgL_l2z00_1800));
						BgL_varz00_1801 =
							BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_arg1578z00_1848,
							BgL_stackz00_31, BgL_locz00_32, BgL_sitez00_33);
					}
					{	/* Ast/object.scm 112 */
						BgL_nodez00_bglt BgL_valz00_1802;

						BgL_valz00_1802 =
							BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_valz00_29, BgL_stackz00_31,
							BgL_locz00_32, BgL_sitez00_33);
						{	/* Ast/object.scm 113 */

							{	/* Ast/object.scm 115 */
								bool_t BgL_test1863z00_2747;

								{	/* Ast/object.scm 115 */
									obj_t BgL_classz00_2248;

									BgL_classz00_2248 = BGl_varz00zzast_nodez00;
									{	/* Ast/object.scm 115 */
										BgL_objectz00_bglt BgL_arg1801z00_2250;

										{	/* Ast/object.scm 115 */
											obj_t BgL_tmpz00_2748;

											BgL_tmpz00_2748 =
												((obj_t) ((BgL_objectz00_bglt) BgL_varz00_1801));
											BgL_arg1801z00_2250 =
												(BgL_objectz00_bglt) (BgL_tmpz00_2748);
										}
										if (BGL_CONDEXPAND_ISA_ARCH64())
											{	/* Ast/object.scm 115 */
												long BgL_idxz00_2256;

												BgL_idxz00_2256 =
													BGL_OBJECT_INHERITANCE_NUM(BgL_arg1801z00_2250);
												BgL_test1863z00_2747 =
													(VECTOR_REF(BGl_za2inheritancesza2z00zz__objectz00,
														(BgL_idxz00_2256 + 2L)) == BgL_classz00_2248);
											}
										else
											{	/* Ast/object.scm 115 */
												bool_t BgL_res1804z00_2278;

												{	/* Ast/object.scm 115 */
													obj_t BgL_oclassz00_2264;

													{	/* Ast/object.scm 115 */
														long BgL_arg1808z00_2270;

														{	/* Ast/object.scm 115 */
															long BgL_arg1809z00_2271;

															BgL_arg1809z00_2271 =
																BGL_OBJECT_CLASS_NUM(BgL_arg1801z00_2250);
															BgL_arg1808z00_2270 =
																(BgL_arg1809z00_2271 - OBJECT_TYPE);
														}
														BgL_oclassz00_2264 =
															VECTOR_REF(BGl_za2classesza2z00zz__objectz00,
															BgL_arg1808z00_2270);
													}
													{	/* Ast/object.scm 115 */
														bool_t BgL__ortest_1115z00_2265;

														BgL__ortest_1115z00_2265 =
															(BgL_classz00_2248 == BgL_oclassz00_2264);
														if (BgL__ortest_1115z00_2265)
															{	/* Ast/object.scm 115 */
																BgL_res1804z00_2278 = BgL__ortest_1115z00_2265;
															}
														else
															{	/* Ast/object.scm 115 */
																long BgL_odepthz00_2266;

																BgL_odepthz00_2266 =
																	BGL_CLASS_DEPTH(BgL_oclassz00_2264);
																if ((2L < BgL_odepthz00_2266))
																	{	/* Ast/object.scm 115 */
																		obj_t BgL_arg1797z00_2268;

																		BgL_arg1797z00_2268 =
																			BGL_CLASS_ANCESTORS_REF
																			(BgL_oclassz00_2264, 2L);
																		BgL_res1804z00_2278 =
																			(BgL_arg1797z00_2268 ==
																			BgL_classz00_2248);
																	}
																else
																	{	/* Ast/object.scm 115 */
																		BgL_res1804z00_2278 = ((bool_t) 0);
																	}
															}
													}
												}
												BgL_test1863z00_2747 = BgL_res1804z00_2278;
											}
									}
								}
								if (BgL_test1863z00_2747)
									{	/* Ast/object.scm 116 */
										BgL_variablez00_bglt BgL_i1114z00_1804;

										BgL_i1114z00_1804 =
											(((BgL_varz00_bglt) COBJECT(
													((BgL_varz00_bglt) BgL_varz00_1801)))->
											BgL_variablez00);
										{	/* Ast/object.scm 117 */
											obj_t BgL_g1115z00_1805;

											BgL_g1115z00_1805 = CDR(((obj_t) BgL_l2z00_1800));
											{
												obj_t BgL_nodez00_1808;
												obj_t BgL_klassz00_1809;
												obj_t BgL_slotsz00_1810;

												{	/* Ast/object.scm 117 */
													BgL_typez00_bglt BgL_arg1479z00_1807;

													BgL_arg1479z00_1807 =
														(((BgL_variablez00_bglt)
															COBJECT(BgL_i1114z00_1804))->BgL_typez00);
													{
														obj_t BgL_auxz00_2773;

														BgL_nodez00_1808 = ((obj_t) BgL_varz00_1801);
														BgL_klassz00_1809 = ((obj_t) BgL_arg1479z00_1807);
														BgL_slotsz00_1810 = BgL_g1115z00_1805;
													BgL_zc3z04anonymousza31480ze3z87_1811:
														{	/* Ast/object.scm 120 */
															bool_t BgL_test1867z00_2774;

															{	/* Ast/object.scm 120 */
																bool_t BgL_test1868z00_2775;

																{	/* Ast/object.scm 120 */
																	obj_t BgL_classz00_2281;

																	BgL_classz00_2281 =
																		BGl_tclassz00zzobject_classz00;
																	if (BGL_OBJECTP(BgL_klassz00_1809))
																		{	/* Ast/object.scm 120 */
																			BgL_objectz00_bglt BgL_arg1801z00_2283;

																			BgL_arg1801z00_2283 =
																				(BgL_objectz00_bglt)
																				(BgL_klassz00_1809);
																			if (BGL_CONDEXPAND_ISA_ARCH64())
																				{	/* Ast/object.scm 120 */
																					long BgL_idxz00_2289;

																					BgL_idxz00_2289 =
																						BGL_OBJECT_INHERITANCE_NUM
																						(BgL_arg1801z00_2283);
																					BgL_test1868z00_2775 =
																						(VECTOR_REF
																						(BGl_za2inheritancesza2z00zz__objectz00,
																							(BgL_idxz00_2289 + 2L)) ==
																						BgL_classz00_2281);
																				}
																			else
																				{	/* Ast/object.scm 120 */
																					bool_t BgL_res1805z00_2311;

																					{	/* Ast/object.scm 120 */
																						obj_t BgL_oclassz00_2297;

																						{	/* Ast/object.scm 120 */
																							long BgL_arg1808z00_2303;

																							{	/* Ast/object.scm 120 */
																								long BgL_arg1809z00_2304;

																								BgL_arg1809z00_2304 =
																									BGL_OBJECT_CLASS_NUM
																									(BgL_arg1801z00_2283);
																								BgL_arg1808z00_2303 =
																									(BgL_arg1809z00_2304 -
																									OBJECT_TYPE);
																							}
																							BgL_oclassz00_2297 =
																								VECTOR_REF
																								(BGl_za2classesza2z00zz__objectz00,
																								BgL_arg1808z00_2303);
																						}
																						{	/* Ast/object.scm 120 */
																							bool_t BgL__ortest_1115z00_2298;

																							BgL__ortest_1115z00_2298 =
																								(BgL_classz00_2281 ==
																								BgL_oclassz00_2297);
																							if (BgL__ortest_1115z00_2298)
																								{	/* Ast/object.scm 120 */
																									BgL_res1805z00_2311 =
																										BgL__ortest_1115z00_2298;
																								}
																							else
																								{	/* Ast/object.scm 120 */
																									long BgL_odepthz00_2299;

																									BgL_odepthz00_2299 =
																										BGL_CLASS_DEPTH
																										(BgL_oclassz00_2297);
																									if ((2L < BgL_odepthz00_2299))
																										{	/* Ast/object.scm 120 */
																											obj_t BgL_arg1797z00_2301;

																											BgL_arg1797z00_2301 =
																												BGL_CLASS_ANCESTORS_REF
																												(BgL_oclassz00_2297,
																												2L);
																											BgL_res1805z00_2311 =
																												(BgL_arg1797z00_2301 ==
																												BgL_classz00_2281);
																										}
																									else
																										{	/* Ast/object.scm 120 */
																											BgL_res1805z00_2311 =
																												((bool_t) 0);
																										}
																								}
																						}
																					}
																					BgL_test1868z00_2775 =
																						BgL_res1805z00_2311;
																				}
																		}
																	else
																		{	/* Ast/object.scm 120 */
																			BgL_test1868z00_2775 = ((bool_t) 0);
																		}
																}
																if (BgL_test1868z00_2775)
																	{	/* Ast/object.scm 120 */
																		BgL_test1867z00_2774 = ((bool_t) 1);
																	}
																else
																	{	/* Ast/object.scm 120 */
																		bool_t BgL_test1873z00_2795;

																		{	/* Ast/object.scm 120 */
																			obj_t BgL_classz00_2312;

																			BgL_classz00_2312 =
																				BGl_jclassz00zzobject_classz00;
																			if (BGL_OBJECTP(BgL_klassz00_1809))
																				{	/* Ast/object.scm 120 */
																					BgL_objectz00_bglt
																						BgL_arg1801z00_2314;
																					BgL_arg1801z00_2314 =
																						(BgL_objectz00_bglt)
																						(BgL_klassz00_1809);
																					if (BGL_CONDEXPAND_ISA_ARCH64())
																						{	/* Ast/object.scm 120 */
																							long BgL_idxz00_2320;

																							BgL_idxz00_2320 =
																								BGL_OBJECT_INHERITANCE_NUM
																								(BgL_arg1801z00_2314);
																							BgL_test1873z00_2795 =
																								(VECTOR_REF
																								(BGl_za2inheritancesza2z00zz__objectz00,
																									(BgL_idxz00_2320 + 2L)) ==
																								BgL_classz00_2312);
																						}
																					else
																						{	/* Ast/object.scm 120 */
																							bool_t BgL_res1806z00_2342;

																							{	/* Ast/object.scm 120 */
																								obj_t BgL_oclassz00_2328;

																								{	/* Ast/object.scm 120 */
																									long BgL_arg1808z00_2334;

																									{	/* Ast/object.scm 120 */
																										long BgL_arg1809z00_2335;

																										BgL_arg1809z00_2335 =
																											BGL_OBJECT_CLASS_NUM
																											(BgL_arg1801z00_2314);
																										BgL_arg1808z00_2334 =
																											(BgL_arg1809z00_2335 -
																											OBJECT_TYPE);
																									}
																									BgL_oclassz00_2328 =
																										VECTOR_REF
																										(BGl_za2classesza2z00zz__objectz00,
																										BgL_arg1808z00_2334);
																								}
																								{	/* Ast/object.scm 120 */
																									bool_t
																										BgL__ortest_1115z00_2329;
																									BgL__ortest_1115z00_2329 =
																										(BgL_classz00_2312 ==
																										BgL_oclassz00_2328);
																									if (BgL__ortest_1115z00_2329)
																										{	/* Ast/object.scm 120 */
																											BgL_res1806z00_2342 =
																												BgL__ortest_1115z00_2329;
																										}
																									else
																										{	/* Ast/object.scm 120 */
																											long BgL_odepthz00_2330;

																											BgL_odepthz00_2330 =
																												BGL_CLASS_DEPTH
																												(BgL_oclassz00_2328);
																											if ((2L <
																													BgL_odepthz00_2330))
																												{	/* Ast/object.scm 120 */
																													obj_t
																														BgL_arg1797z00_2332;
																													BgL_arg1797z00_2332 =
																														BGL_CLASS_ANCESTORS_REF
																														(BgL_oclassz00_2328,
																														2L);
																													BgL_res1806z00_2342 =
																														(BgL_arg1797z00_2332
																														==
																														BgL_classz00_2312);
																												}
																											else
																												{	/* Ast/object.scm 120 */
																													BgL_res1806z00_2342 =
																														((bool_t) 0);
																												}
																										}
																								}
																							}
																							BgL_test1873z00_2795 =
																								BgL_res1806z00_2342;
																						}
																				}
																			else
																				{	/* Ast/object.scm 120 */
																					BgL_test1873z00_2795 = ((bool_t) 0);
																				}
																		}
																		if (BgL_test1873z00_2795)
																			{	/* Ast/object.scm 120 */
																				BgL_test1867z00_2774 = ((bool_t) 1);
																			}
																		else
																			{	/* Ast/object.scm 120 */
																				obj_t BgL_classz00_2343;

																				BgL_classz00_2343 =
																					BGl_wclassz00zzobject_classz00;
																				if (BGL_OBJECTP(BgL_klassz00_1809))
																					{	/* Ast/object.scm 120 */
																						BgL_objectz00_bglt
																							BgL_arg1801z00_2345;
																						BgL_arg1801z00_2345 =
																							(BgL_objectz00_bglt)
																							(BgL_klassz00_1809);
																						if (BGL_CONDEXPAND_ISA_ARCH64())
																							{	/* Ast/object.scm 120 */
																								long BgL_idxz00_2351;

																								BgL_idxz00_2351 =
																									BGL_OBJECT_INHERITANCE_NUM
																									(BgL_arg1801z00_2345);
																								BgL_test1867z00_2774 =
																									(VECTOR_REF
																									(BGl_za2inheritancesza2z00zz__objectz00,
																										(BgL_idxz00_2351 + 2L)) ==
																									BgL_classz00_2343);
																							}
																						else
																							{	/* Ast/object.scm 120 */
																								bool_t BgL_res1807z00_2373;

																								{	/* Ast/object.scm 120 */
																									obj_t BgL_oclassz00_2359;

																									{	/* Ast/object.scm 120 */
																										long BgL_arg1808z00_2365;

																										{	/* Ast/object.scm 120 */
																											long BgL_arg1809z00_2366;

																											BgL_arg1809z00_2366 =
																												BGL_OBJECT_CLASS_NUM
																												(BgL_arg1801z00_2345);
																											BgL_arg1808z00_2365 =
																												(BgL_arg1809z00_2366 -
																												OBJECT_TYPE);
																										}
																										BgL_oclassz00_2359 =
																											VECTOR_REF
																											(BGl_za2classesza2z00zz__objectz00,
																											BgL_arg1808z00_2365);
																									}
																									{	/* Ast/object.scm 120 */
																										bool_t
																											BgL__ortest_1115z00_2360;
																										BgL__ortest_1115z00_2360 =
																											(BgL_classz00_2343 ==
																											BgL_oclassz00_2359);
																										if (BgL__ortest_1115z00_2360)
																											{	/* Ast/object.scm 120 */
																												BgL_res1807z00_2373 =
																													BgL__ortest_1115z00_2360;
																											}
																										else
																											{	/* Ast/object.scm 120 */
																												long BgL_odepthz00_2361;

																												BgL_odepthz00_2361 =
																													BGL_CLASS_DEPTH
																													(BgL_oclassz00_2359);
																												if ((2L <
																														BgL_odepthz00_2361))
																													{	/* Ast/object.scm 120 */
																														obj_t
																															BgL_arg1797z00_2363;
																														BgL_arg1797z00_2363
																															=
																															BGL_CLASS_ANCESTORS_REF
																															(BgL_oclassz00_2359,
																															2L);
																														BgL_res1807z00_2373
																															=
																															(BgL_arg1797z00_2363
																															==
																															BgL_classz00_2343);
																													}
																												else
																													{	/* Ast/object.scm 120 */
																														BgL_res1807z00_2373
																															= ((bool_t) 0);
																													}
																											}
																									}
																								}
																								BgL_test1867z00_2774 =
																									BgL_res1807z00_2373;
																							}
																					}
																				else
																					{	/* Ast/object.scm 120 */
																						BgL_test1867z00_2774 = ((bool_t) 0);
																					}
																			}
																	}
															}
															if (BgL_test1867z00_2774)
																{	/* Ast/object.scm 122 */
																	obj_t BgL_slotz00_1815;

																	{	/* Ast/object.scm 122 */
																		obj_t BgL_arg1576z00_1843;

																		BgL_arg1576z00_1843 =
																			CAR(((obj_t) BgL_slotsz00_1810));
																		BgL_slotz00_1815 =
																			BGl_findzd2classzd2slotz00zzobject_toolsz00
																			(((BgL_typez00_bglt) BgL_klassz00_1809),
																			BgL_arg1576z00_1843);
																	}
																	if (CBOOL(BgL_slotz00_1815))
																		{	/* Ast/object.scm 124 */
																			if (NULLP(CDR(
																						((obj_t) BgL_slotsz00_1810))))
																				{	/* Ast/object.scm 130 */
																					bool_t BgL_test1884z00_2844;

																					if (
																						(((BgL_slotz00_bglt) COBJECT(
																									((BgL_slotz00_bglt)
																										BgL_slotz00_1815)))->
																							BgL_readzd2onlyzf3z21))
																						{	/* Ast/object.scm 131 */
																							bool_t BgL_test1886z00_2848;

																							{	/* Ast/object.scm 131 */
																								obj_t BgL_arg1547z00_1833;

																								BgL_arg1547z00_1833 =
																									CAR(((obj_t) BgL_lz00_28));
																								BgL_test1886z00_2848 =
																									(BgL_arg1547z00_1833 ==
																									BGl___bigloo_wallow__z00zzast_objectz00);
																							}
																							if (BgL_test1886z00_2848)
																								{	/* Ast/object.scm 131 */
																									BgL_test1884z00_2844 =
																										((bool_t) 0);
																								}
																							else
																								{	/* Ast/object.scm 131 */
																									BgL_test1884z00_2844 =
																										((bool_t) 1);
																								}
																						}
																					else
																						{	/* Ast/object.scm 130 */
																							BgL_test1884z00_2844 =
																								((bool_t) 0);
																						}
																					if (BgL_test1884z00_2844)
																						{	/* Ast/object.scm 133 */
																							obj_t BgL_arg1519z00_1823;
																							obj_t BgL_arg1528z00_1824;

																							{	/* Ast/object.scm 133 */
																								obj_t BgL_arg1532z00_1825;

																								{	/* Ast/object.scm 133 */
																									obj_t BgL_pairz00_2381;

																									BgL_pairz00_2381 =
																										CDR(
																										((obj_t) BgL_l2z00_1800));
																									BgL_arg1532z00_1825 =
																										CAR(BgL_pairz00_2381);
																								}
																								{	/* Ast/object.scm 133 */
																									obj_t BgL_list1533z00_1826;

																									BgL_list1533z00_1826 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg1532z00_1825, BNIL);
																									BgL_arg1519z00_1823 =
																										BGl_formatz00zz__r4_output_6_10_3z00
																										(BGl_string1817z00zzast_objectz00,
																										BgL_list1533z00_1826);
																								}
																							}
																							{	/* Ast/object.scm 134 */
																								obj_t BgL_arg1534z00_1827;

																								{	/* Ast/object.scm 134 */
																									obj_t BgL_arg1541z00_1828;
																									obj_t BgL_arg1545z00_1829;

																									BgL_arg1541z00_1828 =
																										CAR(
																										((obj_t) BgL_l2z00_1800));
																									{	/* Ast/object.scm 134 */
																										obj_t BgL_arg1546z00_1830;

																										{	/* Ast/object.scm 134 */
																											obj_t BgL_pairz00_2386;

																											BgL_pairz00_2386 =
																												CDR(
																												((obj_t)
																													BgL_l2z00_1800));
																											BgL_arg1546z00_1830 =
																												CAR(BgL_pairz00_2386);
																										}
																										BgL_arg1545z00_1829 =
																											MAKE_YOUNG_PAIR
																											(BgL_arg1546z00_1830,
																											BNIL);
																									}
																									BgL_arg1534z00_1827 =
																										MAKE_YOUNG_PAIR
																										(BgL_arg1541z00_1828,
																										BgL_arg1545z00_1829);
																								}
																								BgL_arg1528z00_1824 =
																									MAKE_YOUNG_PAIR(CNST_TABLE_REF
																									(1L), BgL_arg1534z00_1827);
																							}
																							BgL_auxz00_2773 =
																								((obj_t)
																								BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																								(BgL_arg1519z00_1823,
																									BgL_arg1528z00_1824,
																									BgL_locz00_32));
																						}
																					else
																						{	/* Ast/object.scm 130 */
																							BgL_auxz00_2773 =
																								BGl_makezd2fieldzd2setz12z12zzast_objectz00
																								(BgL_slotz00_1815,
																								BgL_nodez00_1808,
																								BgL_valz00_1802,
																								BgL_stackz00_31, BgL_locz00_32,
																								BgL_sitez00_33);
																						}
																				}
																			else
																				{	/* Ast/object.scm 137 */
																					obj_t BgL_nodez00_1834;

																					BgL_nodez00_1834 =
																						BGl_makezd2fieldzd2refz00zzast_objectz00
																						(BgL_slotz00_1815, BgL_nodez00_1808,
																						BgL_stackz00_31, BgL_locz00_32,
																						BgL_sitez00_33);
																					{	/* Ast/object.scm 138 */
																						obj_t BgL_arg1550z00_1835;
																						obj_t BgL_arg1554z00_1836;

																						BgL_arg1550z00_1835 =
																							(((BgL_slotz00_bglt) COBJECT(
																									((BgL_slotz00_bglt)
																										BgL_slotz00_1815)))->
																							BgL_typez00);
																						BgL_arg1554z00_1836 =
																							CDR(((obj_t) BgL_slotsz00_1810));
																						{
																							obj_t BgL_slotsz00_2876;
																							obj_t BgL_klassz00_2875;
																							obj_t BgL_nodez00_2874;

																							BgL_nodez00_2874 =
																								BgL_nodez00_1834;
																							BgL_klassz00_2875 =
																								BgL_arg1550z00_1835;
																							BgL_slotsz00_2876 =
																								BgL_arg1554z00_1836;
																							BgL_slotsz00_1810 =
																								BgL_slotsz00_2876;
																							BgL_klassz00_1809 =
																								BgL_klassz00_2875;
																							BgL_nodez00_1808 =
																								BgL_nodez00_2874;
																							goto
																								BgL_zc3z04anonymousza31480ze3z87_1811;
																						}
																					}
																				}
																		}
																	else
																		{	/* Ast/object.scm 127 */
																			obj_t BgL_arg1560z00_1838;

																			{	/* Ast/object.scm 127 */
																				obj_t BgL_arg1563z00_1839;
																				obj_t BgL_arg1564z00_1840;

																				BgL_arg1563z00_1839 =
																					(((BgL_typez00_bglt) COBJECT(
																							((BgL_typez00_bglt)
																								BgL_klassz00_1809)))->
																					BgL_idz00);
																				BgL_arg1564z00_1840 =
																					CAR(((obj_t) BgL_slotsz00_1810));
																				{	/* Ast/object.scm 126 */
																					obj_t BgL_list1565z00_1841;

																					{	/* Ast/object.scm 126 */
																						obj_t BgL_arg1575z00_1842;

																						BgL_arg1575z00_1842 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1564z00_1840, BNIL);
																						BgL_list1565z00_1841 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg1563z00_1839,
																							BgL_arg1575z00_1842);
																					}
																					BgL_arg1560z00_1838 =
																						BGl_formatz00zz__r4_output_6_10_3z00
																						(BGl_string1818z00zzast_objectz00,
																						BgL_list1565z00_1841);
																				}
																			}
																			BgL_auxz00_2773 =
																				((obj_t)
																				BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																				(BgL_arg1560z00_1838, BgL_expz00_30,
																					BgL_locz00_32));
																		}
																}
															else
																{	/* Ast/object.scm 120 */
																	BgL_auxz00_2773 =
																		((obj_t)
																		BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
																		(BGl_string1815z00zzast_objectz00,
																			BgL_expz00_30, BgL_locz00_32));
																}
														}
														return ((BgL_nodez00_bglt) BgL_auxz00_2773);
													}
												}
											}
										}
									}
								else
									{	/* Ast/object.scm 139 */
										bool_t BgL_test1887z00_2891;

										if (INTEGERP
											(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00))
											{	/* Ast/object.scm 139 */
												BgL_test1887z00_2891 =
													(
													(long)
													CINT
													(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00)
													== 0L);
											}
										else
											{	/* Ast/object.scm 139 */
												BgL_test1887z00_2891 =
													BGl_2zd3zd3zz__r4_numbers_6_5z00
													(BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00,
													BINT(0L));
											}
										if (BgL_test1887z00_2891)
											{	/* Ast/object.scm 139 */
												return
													BGl_errorzd2sexpzd2ze3nodeze3zzast_sexpz00
													(BGl_string1816z00zzast_objectz00, BgL_expz00_30,
													BgL_locz00_32);
											}
										else
											{	/* Ast/object.scm 139 */
												return BgL_varz00_1801;
											}
									}
							}
						}
					}
				}
			}
		}

	}



/* &field-set->node */
	BgL_nodez00_bglt BGl_z62fieldzd2setzd2ze3nodez81zzast_objectz00(obj_t
		BgL_envz00_2528, obj_t BgL_lz00_2529, obj_t BgL_valz00_2530,
		obj_t BgL_expz00_2531, obj_t BgL_stackz00_2532, obj_t BgL_locz00_2533,
		obj_t BgL_sitez00_2534)
	{
		{	/* Ast/object.scm 110 */
			return
				BGl_fieldzd2setzd2ze3nodeze3zzast_objectz00(BgL_lz00_2529,
				BgL_valz00_2530, BgL_expz00_2531, BgL_stackz00_2532, BgL_locz00_2533,
				BgL_sitez00_2534);
		}

	}



/* make-field-ref */
	obj_t BGl_makezd2fieldzd2refz00zzast_objectz00(obj_t BgL_slotz00_34,
		obj_t BgL_objz00_35, obj_t BgL_stackz00_36, obj_t BgL_locz00_37,
		obj_t BgL_sitez00_38)
	{
		{	/* Ast/object.scm 147 */
			if (CBOOL(
					(((BgL_slotz00_bglt) COBJECT(
								((BgL_slotz00_bglt) BgL_slotz00_34)))->BgL_getterz00)))
				{	/* Ast/object.scm 149 */
					obj_t BgL_vnumz00_1850;

					BgL_vnumz00_1850 =
						(((BgL_slotz00_bglt) COBJECT(
								((BgL_slotz00_bglt) BgL_slotz00_34)))->BgL_virtualzd2numzd2);
					{	/* Ast/object.scm 149 */
						obj_t BgL_expz00_1851;

						{	/* Ast/object.scm 150 */
							obj_t BgL_arg1581z00_1852;
							obj_t BgL_arg1586z00_1853;

							{	/* Ast/object.scm 150 */
								obj_t BgL_arg1590z00_1854;

								{	/* Ast/object.scm 150 */
									obj_t BgL_arg1592z00_1855;

									BgL_arg1592z00_1855 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(2L), BNIL);
									BgL_arg1590z00_1854 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(3L), BgL_arg1592z00_1855);
								}
								BgL_arg1581z00_1852 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L), BgL_arg1590z00_1854);
							}
							{	/* Ast/object.scm 150 */
								obj_t BgL_arg1595z00_1856;

								BgL_arg1595z00_1856 = MAKE_YOUNG_PAIR(BgL_vnumz00_1850, BNIL);
								BgL_arg1586z00_1853 =
									MAKE_YOUNG_PAIR(BgL_objz00_35, BgL_arg1595z00_1856);
							}
							BgL_expz00_1851 =
								MAKE_YOUNG_PAIR(BgL_arg1581z00_1852, BgL_arg1586z00_1853);
						}
						{	/* Ast/object.scm 150 */

							return
								((obj_t)
								BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_expz00_1851,
									BgL_stackz00_36, BgL_locz00_37, BgL_sitez00_38));
						}
					}
				}
			else
				{	/* Ast/object.scm 152 */
					obj_t BgL_privz00_1857;

					{	/* Ast/object.scm 152 */
						obj_t BgL_arg1597z00_1858;

						BgL_arg1597z00_1858 =
							(((BgL_slotz00_bglt) COBJECT(
									((BgL_slotz00_bglt) BgL_slotz00_34)))->BgL_classzd2ownerzd2);
						BgL_privz00_1857 =
							BGl_makezd2classzd2refz00zzobject_toolsz00(
							((BgL_typez00_bglt) BgL_arg1597z00_1858),
							((BgL_slotz00_bglt) BgL_slotz00_34), BgL_objz00_35);
					}
					return
						BGl_privatezd2nodezd2zzast_privatez00(BgL_privz00_1857,
						BgL_stackz00_36, BgL_locz00_37, BgL_sitez00_38);
				}
		}

	}



/* make-field-set! */
	obj_t BGl_makezd2fieldzd2setz12z12zzast_objectz00(obj_t BgL_slotz00_39,
		obj_t BgL_objz00_40, BgL_nodez00_bglt BgL_valz00_41, obj_t BgL_stackz00_42,
		obj_t BgL_locz00_43, obj_t BgL_sitez00_44)
	{
		{	/* Ast/object.scm 160 */
			if (CBOOL(
					(((BgL_slotz00_bglt) COBJECT(
								((BgL_slotz00_bglt) BgL_slotz00_39)))->BgL_setterz00)))
				{	/* Ast/object.scm 163 */
					obj_t BgL_vnumz00_1860;

					BgL_vnumz00_1860 =
						(((BgL_slotz00_bglt) COBJECT(
								((BgL_slotz00_bglt) BgL_slotz00_39)))->BgL_virtualzd2numzd2);
					{	/* Ast/object.scm 163 */
						obj_t BgL_expz00_1861;

						{	/* Ast/object.scm 164 */
							obj_t BgL_arg1606z00_1862;
							obj_t BgL_arg1608z00_1863;

							{	/* Ast/object.scm 164 */
								obj_t BgL_arg1609z00_1864;

								{	/* Ast/object.scm 164 */
									obj_t BgL_arg1613z00_1865;

									BgL_arg1613z00_1865 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(2L), BNIL);
									BgL_arg1609z00_1864 =
										MAKE_YOUNG_PAIR(CNST_TABLE_REF(5L), BgL_arg1613z00_1865);
								}
								BgL_arg1606z00_1862 =
									MAKE_YOUNG_PAIR(CNST_TABLE_REF(4L), BgL_arg1609z00_1864);
							}
							{	/* Ast/object.scm 164 */
								obj_t BgL_arg1614z00_1866;

								{	/* Ast/object.scm 164 */
									obj_t BgL_arg1615z00_1867;

									BgL_arg1615z00_1867 =
										MAKE_YOUNG_PAIR(((obj_t) BgL_valz00_41), BNIL);
									BgL_arg1614z00_1866 =
										MAKE_YOUNG_PAIR(BgL_vnumz00_1860, BgL_arg1615z00_1867);
								}
								BgL_arg1608z00_1863 =
									MAKE_YOUNG_PAIR(BgL_objz00_40, BgL_arg1614z00_1866);
							}
							BgL_expz00_1861 =
								MAKE_YOUNG_PAIR(BgL_arg1606z00_1862, BgL_arg1608z00_1863);
						}
						{	/* Ast/object.scm 164 */

							return
								((obj_t)
								BGl_sexpzd2ze3nodez31zzast_sexpz00(BgL_expz00_1861,
									BgL_stackz00_42, BgL_locz00_43, BgL_sitez00_44));
						}
					}
				}
			else
				{	/* Ast/object.scm 167 */
					obj_t BgL_privz00_1868;

					{	/* Ast/object.scm 167 */
						obj_t BgL_arg1616z00_1869;

						BgL_arg1616z00_1869 =
							(((BgL_slotz00_bglt) COBJECT(
									((BgL_slotz00_bglt) BgL_slotz00_39)))->BgL_classzd2ownerzd2);
						BgL_privz00_1868 =
							BGl_makezd2classzd2setz12z12zzobject_toolsz00(
							((BgL_typez00_bglt) BgL_arg1616z00_1869),
							((BgL_slotz00_bglt) BgL_slotz00_39), BgL_objz00_40,
							((obj_t) BgL_valz00_41));
					}
					return
						BGl_privatezd2nodezd2zzast_privatez00(BgL_privz00_1868,
						BgL_stackz00_42, BgL_locz00_43, BgL_sitez00_44);
				}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zzast_objectz00(void)
	{
		{	/* Ast/object.scm 15 */
			BGl_modulezd2initializa7ationz75zztools_tracez00(54713316L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_errorz00(300504031L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_shapez00(365925558L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_prognz00(301998274L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_locationz00(462333240L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_miscz00(9470071L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztools_dssslz00(275867955L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztype_typez00(515343395L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztype_envz00(296457443L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztype_cachez00(346491734L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zztype_typeofz00(398780265L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzobject_classz00(502007119L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzobject_slotsz00(151271251L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzobject_toolsz00(196511171L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzengine_paramz00(517137079L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzbackend_backendz00(216206620L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_identz00(174885617L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_envz00(146730773L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_varz00(90839984L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_nodez00(469732712L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_buildz00(428035925L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_pragmaz00(156774043L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_labelsz00(129879154L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_letz00(469204197L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_exitz00(419066125L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_appz00(449859288L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_applyz00(277780830L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzast_privatez00(135263837L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			BGl_modulezd2initializa7ationz75zzeffect_feffectz00(516374368L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
			return
				BGl_modulezd2initializa7ationz75zzast_sexpz00(163122759L,
				BSTRING_TO_STRING(BGl_string1819z00zzast_objectz00));
		}

	}

#ifdef __cplusplus
}
#endif
