/*===========================================================================*/
/*   (Eval/macro.scm)                                                        */
/*   Bigloo (4.7a)                                                           */
/*   Inria -- Sophia Antipolis (c)       Thu Feb 19 09:11:58 AM CET 2026     */
/*===========================================================================*/
/* COMPILATION: (/home/serrano/prgm/project/bigloo/4.7a/bin/bigloo -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/4.7a/lib/bigloo/4.7a +rm -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Eval/macro.scm -indent -o objs/obj_u/Eval/macro.c) */
/* 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___MACRO_TYPE_DEFINITIONS
#define BGL___MACRO_TYPE_DEFINITIONS
#endif													// BGL___MACRO_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_requirezd2initializa7ationz75zz__macroz00 = BUNSPEC;
	static obj_t BGl_za2compilerzd2macrozd2tableza2z00zz__macroz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31202ze3ze5zz__macroz00(obj_t, obj_t);
	extern obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__macroz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__everrorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__hashz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_evalzd2modulezd2zz__evmodulez00(void);
	BGL_EXPORTED_DECL obj_t BGl_installzd2expanderzd2zz__macroz00(obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t
		BGl_installzd2compilerzd2expanderz00zz__macroz00(obj_t, obj_t);
	static obj_t BGl_z62getzd2evalzd2expanderz62zz__macroz00(obj_t, obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__macroz00(void);
	BGL_EXPORTED_DECL obj_t BGl_getzd2compilerzd2expanderz00zz__macroz00(obj_t);
	static obj_t BGl_za2evalzd2macrozd2tableza2z00zz__macroz00 = BUNSPEC;
	static obj_t BGl_genericzd2initzd2zz__macroz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__macroz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__macroz00(void);
	extern obj_t BGl_evwarningz00zz__everrorz00(obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__macroz00(void);
	BGL_EXPORTED_DECL obj_t BGl_getzd2evalzd2expanderz00zz__macroz00(obj_t);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	static obj_t BGl_z62getzd2compilerzd2expanderz62zz__macroz00(obj_t, obj_t);
	extern bool_t BGl_evmodulezf3zf3zz__evmodulez00(obj_t);
	static obj_t BGl_z62installzd2expanderzb0zz__macroz00(obj_t, obj_t, obj_t);
	BGL_EXPORTED_DECL obj_t BGl_installzd2evalzd2expanderz00zz__macroz00(obj_t,
		obj_t);
	extern obj_t BGl_evmodulezd2macrozd2tablez00zz__evmodulez00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__macroz00(void);
	static obj_t BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31202ze31619ze5zz__macroz00(obj_t,
		obj_t);
	extern obj_t BGl_hashtablezd2updatez12zc0zz__hashz00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62installzd2evalzd2expanderz62zz__macroz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_modulezd2macrozd2tablez00zz__macroz00(void);
	static obj_t BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00 = BUNSPEC;
	static obj_t BGl_z62installzd2compilerzd2expanderz62zz__macroz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2compilerzd2expanderzd2envzd2zz__macroz00,
		BgL_bgl_za762getza7d2compile1631z00,
		BGl_z62getzd2compilerzd2expanderz62zz__macroz00, 0L, BUNSPEC, 1);
	      BGL_DEFINE_STRING(BGl_string1620z00zz__macroz00,
		BgL_bgl_string1620za700za7za7_1632za7, "eval-macros", 11);
	      BGL_DEFINE_STRING(BGl_string1621z00zz__macroz00,
		BgL_bgl_string1621za700za7za7_1633za7, "compiler-macros", 15);
	      BGL_DEFINE_STRING(BGl_string1622z00zz__macroz00,
		BgL_bgl_string1622za700za7za7_1634za7, "install-eval-expander", 21);
	      BGL_DEFINE_STRING(BGl_string1623z00zz__macroz00,
		BgL_bgl_string1623za700za7za7_1635za7, "Illegal expander expander", 25);
	      BGL_DEFINE_STRING(BGl_string1624z00zz__macroz00,
		BgL_bgl_string1624za700za7za7_1636za7, "Illegal expander keyword", 24);
	      BGL_DEFINE_STRING(BGl_string1625z00zz__macroz00,
		BgL_bgl_string1625za700za7za7_1637za7, "Redefinition of ", 16);
	      BGL_DEFINE_STRING(BGl_string1626z00zz__macroz00,
		BgL_bgl_string1626za700za7za7_1638za7, "eval", 4);
	      BGL_DEFINE_STRING(BGl_string1627z00zz__macroz00,
		BgL_bgl_string1627za700za7za7_1639za7, " expander -- ", 13);
	      BGL_DEFINE_STRING(BGl_string1628z00zz__macroz00,
		BgL_bgl_string1628za700za7za7_1640za7, "install-expander", 16);
	      BGL_DEFINE_STRING(BGl_string1629z00zz__macroz00,
		BgL_bgl_string1629za700za7za7_1641za7, "compiler", 8);
	      BGL_DEFINE_STRING(BGl_string1630z00zz__macroz00,
		BgL_bgl_string1630za700za7za7_1642za7, "__macro", 7);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_installzd2evalzd2expanderzd2envzd2zz__macroz00,
		BgL_bgl_za762installza7d2eva1643z00,
		BGl_z62installzd2evalzd2expanderz62zz__macroz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_getzd2evalzd2expanderzd2envzd2zz__macroz00,
		BgL_bgl_za762getza7d2evalza7d21644za7,
		BGl_z62getzd2evalzd2expanderz62zz__macroz00, 0L, BUNSPEC, 1);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_installzd2expanderzd2envz00zz__macroz00,
		BgL_bgl_za762installza7d2exp1645z00,
		BGl_z62installzd2expanderzb0zz__macroz00, 0L, BUNSPEC, 2);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_installzd2compilerzd2expanderzd2envzd2zz__macroz00,
		BgL_bgl_za762installza7d2com1646z00,
		BGl_z62installzd2compilerzd2expanderz62zz__macroz00, 0L, BUNSPEC, 2);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_installzd2compilerzd2expanderzd2envzd2zz__macroz00,
			BgL_bgl_za762installza7d2com1646z00);
		BGL_BIND_PROCEDURE(BGl_installzd2expanderzd2envz00zz__macroz00,
			BgL_bgl_za762installza7d2exp1645z00);
		BGL_BIND_PROCEDURE(BGl_getzd2evalzd2expanderzd2envzd2zz__macroz00,
			BgL_bgl_za762getza7d2evalza7d21644za7);
		BGL_BIND_PROCEDURE(BGl_installzd2evalzd2expanderzd2envzd2zz__macroz00,
			BgL_bgl_za762installza7d2eva1643z00);
		BGL_BIND_STRING(BGl_string1630z00zz__macroz00,
			BgL_bgl_string1630za700za7za7_1642za7);
		BGL_BIND_STRING(BGl_string1629z00zz__macroz00,
			BgL_bgl_string1629za700za7za7_1641za7);
		BGL_BIND_STRING(BGl_string1628z00zz__macroz00,
			BgL_bgl_string1628za700za7za7_1640za7);
		BGL_BIND_STRING(BGl_string1627z00zz__macroz00,
			BgL_bgl_string1627za700za7za7_1639za7);
		BGL_BIND_STRING(BGl_string1626z00zz__macroz00,
			BgL_bgl_string1626za700za7za7_1638za7);
		BGL_BIND_STRING(BGl_string1625z00zz__macroz00,
			BgL_bgl_string1625za700za7za7_1637za7);
		BGL_BIND_STRING(BGl_string1624z00zz__macroz00,
			BgL_bgl_string1624za700za7za7_1636za7);
		BGL_BIND_STRING(BGl_string1623z00zz__macroz00,
			BgL_bgl_string1623za700za7za7_1635za7);
		BGL_BIND_STRING(BGl_string1622z00zz__macroz00,
			BgL_bgl_string1622za700za7za7_1634za7);
		BGL_BIND_STRING(BGl_string1621z00zz__macroz00,
			BgL_bgl_string1621za700za7za7_1633za7);
		BGL_BIND_STRING(BGl_string1620z00zz__macroz00,
			BgL_bgl_string1620za700za7za7_1632za7);
		BGL_BIND_PROCEDURE(BGl_getzd2compilerzd2expanderzd2envzd2zz__macroz00,
			BgL_bgl_za762getza7d2compile1631z00);
	}

/* 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_requirezd2initializa7ationz75zz__macroz00));
		ADD_ROOT((void *) (&BGl_za2compilerzd2macrozd2tableza2z00zz__macroz00));
		ADD_ROOT((void *) (&BGl_za2evalzd2macrozd2tableza2z00zz__macroz00));
		ADD_ROOT((void *) (&BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00));
		ADD_ROOT((void *) (&BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00));
#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_modulezd2initializa7ationz75zz__macroz00(long
		BgL_checksumz00_1828, char *BgL_fromz00_1829)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__macroz00))
				{
					BGl_requirezd2initializa7ationz75zz__macroz00 = BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__macroz00();
					BGl_importedzd2moduleszd2initz00zz__macroz00();
					return BGl_toplevelzd2initzd2zz__macroz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00 =
				bgl_make_spinlock(BGl_string1620z00zz__macroz00);
			BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00 =
				bgl_make_spinlock(BGl_string1621z00zz__macroz00);
			BGl_za2evalzd2macrozd2tableza2z00zz__macroz00 =
				BGl_makezd2hashtablezd2zz__hashz00(BNIL);
			return (BGl_za2compilerzd2macrozd2tableza2z00zz__macroz00 =
				BGl_makezd2hashtablezd2zz__hashz00(BNIL), BUNSPEC);
		}

	}



/* module-macro-table */
	obj_t BGl_modulezd2macrozd2tablez00zz__macroz00(void)
	{
		{	/* Eval/macro.scm 76 */
			{	/* Eval/macro.scm 77 */
				obj_t BgL_mz00_1163;

				BgL_mz00_1163 = BGl_evalzd2modulezd2zz__evmodulez00();
				if (BGl_evmodulezf3zf3zz__evmodulez00(BgL_mz00_1163))
					{	/* Eval/macro.scm 78 */
						return
							BGl_evmodulezd2macrozd2tablez00zz__evmodulez00(BgL_mz00_1163);
					}
				else
					{	/* Eval/macro.scm 78 */
						return BFALSE;
					}
			}
		}

	}



/* install-eval-expander */
	BGL_EXPORTED_DEF obj_t BGl_installzd2evalzd2expanderz00zz__macroz00(obj_t
		BgL_keywordz00_21, obj_t BgL_expanderz00_22)
	{
		{	/* Eval/macro.scm 102 */
			if (SYMBOLP(BgL_keywordz00_21))
				{	/* Eval/macro.scm 104 */
					if (PROCEDUREP(BgL_expanderz00_22))
						{	/* Eval/macro.scm 109 */
							obj_t BgL_top1652z00_1851;

							BgL_top1652z00_1851 = BGL_EXITD_TOP_AS_OBJ();
							BGL_MUTEX_LOCK(BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
							BGL_EXITD_PUSH_PROTECT(BgL_top1652z00_1851,
								BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
							BUNSPEC;
							{	/* Eval/macro.scm 109 */
								obj_t BgL_tmp1651z00_1850;

								{	/* Eval/macro.scm 110 */
									obj_t BgL_arg1211z00_1175;

									{	/* Eval/macro.scm 110 */
										obj_t BgL__ortest_1039z00_1176;

										BgL__ortest_1039z00_1176 =
											BGl_modulezd2macrozd2tablez00zz__macroz00();
										if (CBOOL(BgL__ortest_1039z00_1176))
											{	/* Eval/macro.scm 110 */
												BgL_arg1211z00_1175 = BgL__ortest_1039z00_1176;
											}
										else
											{	/* Eval/macro.scm 110 */
												BgL_arg1211z00_1175 =
													BGl_za2evalzd2macrozd2tableza2z00zz__macroz00;
											}
									}
									{	/* Eval/macro.scm 88 */
										obj_t BgL_zc3z04anonymousza31202ze3z87_1796;

										BgL_zc3z04anonymousza31202ze3z87_1796 =
											MAKE_FX_PROCEDURE
											(BGl_z62zc3z04anonymousza31202ze3ze5zz__macroz00,
											(int) (1L), (int) (2L));
										PROCEDURE_SET(BgL_zc3z04anonymousza31202ze3z87_1796,
											(int) (0L), BgL_keywordz00_21);
										PROCEDURE_SET(BgL_zc3z04anonymousza31202ze3z87_1796,
											(int) (1L), BgL_expanderz00_22);
										BgL_tmp1651z00_1850 =
											BGl_hashtablezd2updatez12zc0zz__hashz00
											(BgL_arg1211z00_1175, BgL_keywordz00_21,
											BgL_zc3z04anonymousza31202ze3z87_1796,
											BgL_expanderz00_22);
								}}
								BGL_EXITD_POP_PROTECT(BgL_top1652z00_1851);
								BUNSPEC;
								BGL_MUTEX_UNLOCK(BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
								return BgL_tmp1651z00_1850;
							}
						}
					else
						{	/* Eval/macro.scm 106 */
							return
								BGl_errorz00zz__errorz00(BGl_string1622z00zz__macroz00,
								BGl_string1623z00zz__macroz00, BgL_expanderz00_22);
						}
				}
			else
				{	/* Eval/macro.scm 104 */
					return
						BGl_errorz00zz__errorz00(BGl_string1622z00zz__macroz00,
						BGl_string1624z00zz__macroz00, BgL_keywordz00_21);
				}
		}

	}



/* &install-eval-expander */
	obj_t BGl_z62installzd2evalzd2expanderz62zz__macroz00(obj_t BgL_envz00_1797,
		obj_t BgL_keywordz00_1798, obj_t BgL_expanderz00_1799)
	{
		{	/* Eval/macro.scm 102 */
			return
				BGl_installzd2evalzd2expanderz00zz__macroz00(BgL_keywordz00_1798,
				BgL_expanderz00_1799);
		}

	}



/* &<@anonymous:1202> */
	obj_t BGl_z62zc3z04anonymousza31202ze3ze5zz__macroz00(obj_t BgL_envz00_1800,
		obj_t BgL_xz00_1803)
	{
		{	/* Eval/macro.scm 87 */
			{	/* Eval/macro.scm 88 */
				obj_t BgL_keywordz00_1801;
				obj_t BgL_expanderz00_1802;

				BgL_keywordz00_1801 = PROCEDURE_REF(BgL_envz00_1800, (int) (0L));
				BgL_expanderz00_1802 = PROCEDURE_REF(BgL_envz00_1800, (int) (1L));
				{	/* Eval/macro.scm 90 */
					obj_t BgL_arg1203z00_1820;

					BgL_arg1203z00_1820 =
						string_append_3(BGl_string1625z00zz__macroz00,
						BGl_string1626z00zz__macroz00, BGl_string1627z00zz__macroz00);
					{	/* Eval/macro.scm 88 */
						obj_t BgL_list1204z00_1821;

						{	/* Eval/macro.scm 88 */
							obj_t BgL_arg1206z00_1822;

							{	/* Eval/macro.scm 88 */
								obj_t BgL_arg1207z00_1823;

								BgL_arg1207z00_1823 =
									MAKE_YOUNG_PAIR(BgL_keywordz00_1801, BNIL);
								BgL_arg1206z00_1822 =
									MAKE_YOUNG_PAIR(BgL_arg1203z00_1820, BgL_arg1207z00_1823);
							}
							BgL_list1204z00_1821 =
								MAKE_YOUNG_PAIR(BGl_string1628z00zz__macroz00,
								BgL_arg1206z00_1822);
						}
						BGl_evwarningz00zz__everrorz00(BFALSE, BgL_list1204z00_1821);
				}}
				return BgL_expanderz00_1802;
			}
		}

	}



/* install-compiler-expander */
	BGL_EXPORTED_DEF obj_t BGl_installzd2compilerzd2expanderz00zz__macroz00(obj_t
		BgL_keywordz00_23, obj_t BgL_expanderz00_24)
	{
		{	/* Eval/macro.scm 118 */
			if (SYMBOLP(BgL_keywordz00_23))
				{	/* Eval/macro.scm 120 */
					if (PROCEDUREP(BgL_expanderz00_24))
						{	/* Eval/macro.scm 125 */
							obj_t BgL_top1657z00_1885;

							BgL_top1657z00_1885 = BGL_EXITD_TOP_AS_OBJ();
							BGL_MUTEX_LOCK(BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
							BGL_EXITD_PUSH_PROTECT(BgL_top1657z00_1885,
								BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
							BUNSPEC;
							{	/* Eval/macro.scm 125 */
								obj_t BgL_tmp1656z00_1884;

								{	/* Eval/macro.scm 126 */
									obj_t BgL_tablez00_1613;

									BgL_tablez00_1613 =
										BGl_za2compilerzd2macrozd2tableza2z00zz__macroz00;
									{	/* Eval/macro.scm 88 */
										obj_t BgL_zc3z04anonymousza31202ze3z87_1804;

										BgL_zc3z04anonymousza31202ze3z87_1804 =
											MAKE_FX_PROCEDURE
											(BGl_z62zc3z04anonymousza31202ze31619ze5zz__macroz00,
											(int) (1L), (int) (2L));
										PROCEDURE_SET(BgL_zc3z04anonymousza31202ze3z87_1804,
											(int) (0L), BgL_keywordz00_23);
										PROCEDURE_SET(BgL_zc3z04anonymousza31202ze3z87_1804,
											(int) (1L), BgL_expanderz00_24);
										BgL_tmp1656z00_1884 =
											BGl_hashtablezd2updatez12zc0zz__hashz00(BgL_tablez00_1613,
											BgL_keywordz00_23, BgL_zc3z04anonymousza31202ze3z87_1804,
											BgL_expanderz00_24);
								}}
								BGL_EXITD_POP_PROTECT(BgL_top1657z00_1885);
								BUNSPEC;
								BGL_MUTEX_UNLOCK
									(BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
								return BgL_tmp1656z00_1884;
							}
						}
					else
						{	/* Eval/macro.scm 122 */
							return
								BGl_errorz00zz__errorz00(BGl_string1622z00zz__macroz00,
								BGl_string1623z00zz__macroz00, BgL_expanderz00_24);
						}
				}
			else
				{	/* Eval/macro.scm 120 */
					return
						BGl_errorz00zz__errorz00(BGl_string1622z00zz__macroz00,
						BGl_string1624z00zz__macroz00, BgL_keywordz00_23);
				}
		}

	}



/* &install-compiler-expander */
	obj_t BGl_z62installzd2compilerzd2expanderz62zz__macroz00(obj_t
		BgL_envz00_1805, obj_t BgL_keywordz00_1806, obj_t BgL_expanderz00_1807)
	{
		{	/* Eval/macro.scm 118 */
			return
				BGl_installzd2compilerzd2expanderz00zz__macroz00(BgL_keywordz00_1806,
				BgL_expanderz00_1807);
		}

	}



/* &<@anonymous:1202>1619 */
	obj_t BGl_z62zc3z04anonymousza31202ze31619ze5zz__macroz00(obj_t
		BgL_envz00_1808, obj_t BgL_xz00_1811)
	{
		{	/* Eval/macro.scm 87 */
			{	/* Eval/macro.scm 88 */
				obj_t BgL_keywordz00_1809;
				obj_t BgL_expanderz00_1810;

				BgL_keywordz00_1809 = PROCEDURE_REF(BgL_envz00_1808, (int) (0L));
				BgL_expanderz00_1810 = PROCEDURE_REF(BgL_envz00_1808, (int) (1L));
				{	/* Eval/macro.scm 90 */
					obj_t BgL_arg1203z00_1824;

					BgL_arg1203z00_1824 =
						string_append_3(BGl_string1625z00zz__macroz00,
						BGl_string1629z00zz__macroz00, BGl_string1627z00zz__macroz00);
					{	/* Eval/macro.scm 88 */
						obj_t BgL_list1204z00_1825;

						{	/* Eval/macro.scm 88 */
							obj_t BgL_arg1206z00_1826;

							{	/* Eval/macro.scm 88 */
								obj_t BgL_arg1207z00_1827;

								BgL_arg1207z00_1827 =
									MAKE_YOUNG_PAIR(BgL_keywordz00_1809, BNIL);
								BgL_arg1206z00_1826 =
									MAKE_YOUNG_PAIR(BgL_arg1203z00_1824, BgL_arg1207z00_1827);
							}
							BgL_list1204z00_1825 =
								MAKE_YOUNG_PAIR(BGl_string1628z00zz__macroz00,
								BgL_arg1206z00_1826);
						}
						BGl_evwarningz00zz__everrorz00(BFALSE, BgL_list1204z00_1825);
				}}
				return BgL_expanderz00_1810;
			}
		}

	}



/* install-expander */
	BGL_EXPORTED_DEF obj_t BGl_installzd2expanderzd2zz__macroz00(obj_t
		BgL_keywordz00_25, obj_t BgL_expanderz00_26)
	{
		{	/* Eval/macro.scm 133 */
			BGl_installzd2evalzd2expanderz00zz__macroz00(BgL_keywordz00_25,
				BgL_expanderz00_26);
			BGL_TAIL return
				BGl_installzd2compilerzd2expanderz00zz__macroz00(BgL_keywordz00_25,
				BgL_expanderz00_26);
		}

	}



/* &install-expander */
	obj_t BGl_z62installzd2expanderzb0zz__macroz00(obj_t BgL_envz00_1812,
		obj_t BgL_keywordz00_1813, obj_t BgL_expanderz00_1814)
	{
		{	/* Eval/macro.scm 133 */
			return
				BGl_installzd2expanderzd2zz__macroz00(BgL_keywordz00_1813,
				BgL_expanderz00_1814);
		}

	}



/* get-eval-expander */
	BGL_EXPORTED_DEF obj_t BGl_getzd2evalzd2expanderz00zz__macroz00(obj_t
		BgL_keywordz00_27)
	{
		{	/* Eval/macro.scm 142 */
			{	/* Eval/macro.scm 143 */
				obj_t BgL_top1659z00_1915;

				BgL_top1659z00_1915 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
				BGL_EXITD_PUSH_PROTECT(BgL_top1659z00_1915,
					BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
				BUNSPEC;
				{	/* Eval/macro.scm 143 */
					obj_t BgL_tmp1658z00_1914;

					{	/* Eval/macro.scm 144 */
						obj_t BgL_mtablez00_1179;

						BgL_mtablez00_1179 = BGl_modulezd2macrozd2tablez00zz__macroz00();
						{	/* Eval/macro.scm 145 */
							obj_t BgL__ortest_1040z00_1180;

							if (CBOOL(BgL_mtablez00_1179))
								{	/* Eval/macro.scm 145 */
									BgL__ortest_1040z00_1180 =
										BGl_hashtablezd2getzd2zz__hashz00(BgL_mtablez00_1179,
										BgL_keywordz00_27);
								}
							else
								{	/* Eval/macro.scm 145 */
									BgL__ortest_1040z00_1180 = BFALSE;
								}
							if (CBOOL(BgL__ortest_1040z00_1180))
								{	/* Eval/macro.scm 145 */
									BgL_tmp1658z00_1914 = BgL__ortest_1040z00_1180;
								}
							else
								{	/* Eval/macro.scm 145 */
									BgL_tmp1658z00_1914 =
										BGl_hashtablezd2getzd2zz__hashz00
										(BGl_za2evalzd2macrozd2tableza2z00zz__macroz00,
										BgL_keywordz00_27);
								}
						}
					}
					BGL_EXITD_POP_PROTECT(BgL_top1659z00_1915);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2evalzd2macrozd2mutexza2z00zz__macroz00);
					return BgL_tmp1658z00_1914;
				}
			}
		}

	}



/* &get-eval-expander */
	obj_t BGl_z62getzd2evalzd2expanderz62zz__macroz00(obj_t BgL_envz00_1815,
		obj_t BgL_keywordz00_1816)
	{
		{	/* Eval/macro.scm 142 */
			return BGl_getzd2evalzd2expanderz00zz__macroz00(BgL_keywordz00_1816);
		}

	}



/* get-compiler-expander */
	BGL_EXPORTED_DEF obj_t BGl_getzd2compilerzd2expanderz00zz__macroz00(obj_t
		BgL_keywordz00_28)
	{
		{	/* Eval/macro.scm 156 */
			{	/* Eval/macro.scm 157 */
				obj_t BgL_top1663z00_1930;

				BgL_top1663z00_1930 = BGL_EXITD_TOP_AS_OBJ();
				BGL_MUTEX_LOCK(BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
				BGL_EXITD_PUSH_PROTECT(BgL_top1663z00_1930,
					BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
				BUNSPEC;
				{	/* Eval/macro.scm 157 */
					obj_t BgL_tmp1662z00_1929;

					BgL_tmp1662z00_1929 =
						BGl_hashtablezd2getzd2zz__hashz00
						(BGl_za2compilerzd2macrozd2tableza2z00zz__macroz00,
						BgL_keywordz00_28);
					BGL_EXITD_POP_PROTECT(BgL_top1663z00_1930);
					BUNSPEC;
					BGL_MUTEX_UNLOCK(BGl_za2compilerzd2macrozd2mutexza2z00zz__macroz00);
					return BgL_tmp1662z00_1929;
				}
			}
		}

	}



/* &get-compiler-expander */
	obj_t BGl_z62getzd2compilerzd2expanderz62zz__macroz00(obj_t BgL_envz00_1817,
		obj_t BgL_keywordz00_1818)
	{
		{	/* Eval/macro.scm 156 */
			return BGl_getzd2compilerzd2expanderz00zz__macroz00(BgL_keywordz00_1818);
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__macroz00(void)
	{
		{	/* Eval/macro.scm 14 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1630z00zz__macroz00));
			BGl_modulezd2initializa7ationz75zz__hashz00(254893342L,
				BSTRING_TO_STRING(BGl_string1630z00zz__macroz00));
			BGl_modulezd2initializa7ationz75zz__everrorz00(375872221L,
				BSTRING_TO_STRING(BGl_string1630z00zz__macroz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string1630z00zz__macroz00));
			return
				BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string1630z00zz__macroz00));
		}

	}

#ifdef __cplusplus
}
#endif
