/*===========================================================================*/
/*   (Rgc/rgcdfa.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  -srfi enable-gmp -srfi bigloo-unsafe -O3 -fcfa-arithmetic -q -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -rm -copt -w -lib-dir /home/serrano/prgm/project/bigloo/bigloo/lib/bigloo/4.5b -mklib -cc gcc -fsharing -q -no-hello -unsafe -safee -O4 -stdc -c Rgc/rgcdfa.scm -indent -o objs/obj_u/Rgc/rgcdfa.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___RGC_DFA_TYPE_DEFINITIONS
#define BGL___RGC_DFA_TYPE_DEFINITIONS
#endif													// BGL___RGC_DFA_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_za2statesza2z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1676z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_numberzd2ze3stringz31zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_makezd2statezd2zz__rgc_dfaz00(obj_t);
	static obj_t BGl_symbol1679z00zz__rgc_dfaz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_statezd2positionszd2zz__rgc_dfaz00(obj_t);
	static obj_t BGl_z62statezd2positionszb0zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_symbol1682z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1685z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1689z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_requirezd2initializa7ationz75zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_z62statezf3z91zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_symbol1693z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1696z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1699z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t bgl_display_obj(obj_t, obj_t);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_z62zc3z04anonymousza31212ze3ze5zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_z62getzd2initialzd2statez62zz__rgc_dfaz00(obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__rgc_dfaz00(void);
	static obj_t BGl_z62statezd2transitionszb0zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_genericzd2initzd2zz__rgc_dfaz00(void);
	static obj_t BGl_z62zc3z04anonymousza31214ze3ze5zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__rgc_dfaz00(void);
	extern obj_t string_append_3(obj_t, obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_statezd2namezd2zz__rgc_dfaz00(obj_t);
	static obj_t BGl_methodzd2initzd2zz__rgc_dfaz00(void);
	static obj_t BGl_z62statezd2namezb0zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_z62printzd2dfazb0zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31253ze3ze5zz__rgc_dfaz00(obj_t, obj_t);
	static obj_t BGl_list1701z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1704z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1705z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1708z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1711z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1712z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1715z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1718z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_hashtablezd2ze3listz31zz__hashz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_printzd2dfazd2zz__rgc_dfaz00(obj_t);
	static obj_t BGl_list1725z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1728z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_z62nodezd2ze3dfaz53zz__rgc_dfaz00(obj_t, obj_t, obj_t,
		obj_t);
	static obj_t BGl_list1731z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_makezd2hashtablezd2zz__hashz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__rgc_dfaz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_rulesz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_setz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgc_configz00(long, char *);
	static obj_t BGl_list1675z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1678z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_rgcsetzd2addz12zc0zz__rgc_setz00(obj_t, long);
	static obj_t BGl_list1681z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_treezd2maxzd2charz00zz__rgc_rulesz00(void);
	static obj_t BGl_list1684z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1688z00zz__rgc_dfaz00 = BUNSPEC;
	BGL_EXPORTED_DECL obj_t BGl_nodezd2ze3dfaz31zz__rgc_dfaz00(obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_resetzd2dfaz12zc0zz__rgc_dfaz00(void);
	extern obj_t create_struct(obj_t, int);
	static obj_t BGl_list1692z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1695z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_list1698z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_cnstzd2initzd2zz__rgc_dfaz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__rgc_dfaz00(void);
	static obj_t BGl_gczd2rootszd2initz00zz__rgc_dfaz00(void);
	static obj_t BGl_initzd2statesz12zc0zz__rgc_dfaz00(void);
	static obj_t BGl_z62resetzd2dfaz12za2zz__rgc_dfaz00(obj_t);
	static long BGl_bucketzd2lenzd2zz__rgc_dfaz00;
	BGL_EXPORTED_DECL bool_t BGl_statezf3zf3zz__rgc_dfaz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_getzd2initialzd2statez00zz__rgc_dfaz00(void);
	BGL_EXPORTED_DECL obj_t BGl_statezd2transitionszd2zz__rgc_dfaz00(obj_t);
	extern obj_t BGl_rgcsetzd2orz12zc0zz__rgc_setz00(obj_t, obj_t);
	static obj_t BGl_za2statezd2numza2zd2zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_hashtablezd2putz12zc0zz__hashz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
	static obj_t BGl_symbol1702z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1706z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1709z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1713z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1716z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1719z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1726z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1729z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1732z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1734z00zz__rgc_dfaz00 = BUNSPEC;
	static obj_t BGl_symbol1669z00zz__rgc_dfaz00 = BUNSPEC;
	extern obj_t BGl_makezd2rgcsetzd2zz__rgc_setz00(long);
	extern obj_t BGl_hashtablezd2getzd2zz__hashz00(obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_printzd2dfazd2envz00zz__rgc_dfaz00,
		BgL_bgl_za762printza7d2dfaza7b1738za7, BGl_z62printzd2dfazb0zz__rgc_dfaz00,
		0L, BUNSPEC, 1);
	extern obj_t BGl_rgcsetzd2ze3hashzd2envze3zz__rgc_setz00;
	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_resetzd2dfaz12zd2envz12zz__rgc_dfaz00,
		BgL_bgl_za762resetza7d2dfaza711739za7,
		BGl_z62resetzd2dfaz12za2zz__rgc_dfaz00, 0L, BUNSPEC, 0);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_nodezd2ze3dfazd2envze3zz__rgc_dfaz00,
		BgL_bgl_za762nodeza7d2za7e3dfa1740za7,
		BGl_z62nodezd2ze3dfaz53zz__rgc_dfaz00, 0L, BUNSPEC, 3);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_statezd2namezd2envz00zz__rgc_dfaz00,
		BgL_bgl_za762stateza7d2nameza71741za7, BGl_z62statezd2namezb0zz__rgc_dfaz00,
		0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1700z00zz__rgc_dfaz00,
		BgL_bgl_string1700za700za7za7_1742za7, "<", 1);
	      DEFINE_STRING(BGl_string1703z00zz__rgc_dfaz00,
		BgL_bgl_string1703za700za7za7_1743za7, "let", 3);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_statezd2transitionszd2envz00zz__rgc_dfaz00,
		BgL_bgl_za762stateza7d2trans1744z00,
		BGl_z62statezd2transitionszb0zz__rgc_dfaz00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1707z00zz__rgc_dfaz00,
		BgL_bgl_string1707za700za7za7_1745za7, "c", 1);
	      DEFINE_STRING(BGl_string1710z00zz__rgc_dfaz00,
		BgL_bgl_string1710za700za7za7_1746za7, "integer->char", 13);
	      DEFINE_STRING(BGl_string1714z00zz__rgc_dfaz00,
		BgL_bgl_string1714za700za7za7_1747za7, "or", 2);
	      DEFINE_STRING(BGl_string1717z00zz__rgc_dfaz00,
		BgL_bgl_string1717za700za7za7_1748za7, "char-alphabetic?", 16);
	      DEFINE_STRING(BGl_string1720z00zz__rgc_dfaz00,
		BgL_bgl_string1720za700za7za7_1749za7, "char-numeric?", 13);
	      DEFINE_STRING(BGl_string1721z00zz__rgc_dfaz00,
		BgL_bgl_string1721za700za7za7_1750za7, "ascii", 5);
	      DEFINE_STRING(BGl_string1722z00zz__rgc_dfaz00,
		BgL_bgl_string1722za700za7za7_1751za7, "special", 7);
	      DEFINE_STRING(BGl_string1723z00zz__rgc_dfaz00,
		BgL_bgl_string1723za700za7za7_1752za7, "]", 1);
	      DEFINE_STRING(BGl_string1724z00zz__rgc_dfaz00,
		BgL_bgl_string1724za700za7za7_1753za7, "  -->  ", 7);
	      DEFINE_STRING(BGl_string1727z00zz__rgc_dfaz00,
		BgL_bgl_string1727za700za7za7_1754za7, "__state-number", 14);
	      DEFINE_STRING(BGl_string1730z00zz__rgc_dfaz00,
		BgL_bgl_string1730za700za7za7_1755za7, "cdr", 3);
	      DEFINE_STRING(BGl_string1733z00zz__rgc_dfaz00,
		BgL_bgl_string1733za700za7za7_1756za7, "__state-transitions", 19);
	      DEFINE_STRING(BGl_string1735z00zz__rgc_dfaz00,
		BgL_bgl_string1735za700za7za7_1757za7, "state", 5);
	      DEFINE_STRING(BGl_string1736z00zz__rgc_dfaz00,
		BgL_bgl_string1736za700za7za7_1758za7,
		"==================================================", 50);
	      DEFINE_STRING(BGl_string1737z00zz__rgc_dfaz00,
		BgL_bgl_string1737za700za7za7_1759za7, "__rgc_dfa", 9);
	     
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_getzd2initialzd2statezd2envzd2zz__rgc_dfaz00,
		BgL_bgl_za762getza7d2initial1760z00,
		BGl_z62getzd2initialzd2statez62zz__rgc_dfaz00, 0L, BUNSPEC, 0);
	      DEFINE_STRING(BGl_string1666z00zz__rgc_dfaz00,
		BgL_bgl_string1666za700za7za7_1761za7, "/tmp/bigloo/runtime/Rgc/rgcdfa.scm",
		34);
	      DEFINE_STRING(BGl_string1667z00zz__rgc_dfaz00,
		BgL_bgl_string1667za700za7za7_1762za7, "&node->dfa", 10);
	      DEFINE_STRING(BGl_string1668z00zz__rgc_dfaz00,
		BgL_bgl_string1668za700za7za7_1763za7, "vector", 6);
	      DEFINE_STRING(BGl_string1670z00zz__rgc_dfaz00,
		BgL_bgl_string1670za700za7za7_1764za7, "__state", 7);
	      DEFINE_STRING(BGl_string1671z00zz__rgc_dfaz00,
		BgL_bgl_string1671za700za7za7_1765za7, "STATE-", 6);
	      DEFINE_STRING(BGl_string1672z00zz__rgc_dfaz00,
		BgL_bgl_string1672za700za7za7_1766za7, "-", 1);
	      DEFINE_STRING(BGl_string1673z00zz__rgc_dfaz00,
		BgL_bgl_string1673za700za7za7_1767za7,
		"========= DFA ====================================", 50);
	      DEFINE_STRING(BGl_string1674z00zz__rgc_dfaz00,
		BgL_bgl_string1674za700za7za7_1768za7, "state: ", 7);
	      DEFINE_STRING(BGl_string1677z00zz__rgc_dfaz00,
		BgL_bgl_string1677za700za7za7_1769za7, "for-each", 8);
	      DEFINE_STRING(BGl_string1680z00zz__rgc_dfaz00,
		BgL_bgl_string1680za700za7za7_1770za7, "lambda", 6);
	      DEFINE_STRING(BGl_string1683z00zz__rgc_dfaz00,
		BgL_bgl_string1683za700za7za7_1771za7, "trans", 5);
	      DEFINE_STRING(BGl_string1686z00zz__rgc_dfaz00,
		BgL_bgl_string1686za700za7za7_1772za7, "print", 5);
	      DEFINE_STRING(BGl_string1687z00zz__rgc_dfaz00,
		BgL_bgl_string1687za700za7za7_1773za7, "   ", 3);
	      DEFINE_STRING(BGl_string1690z00zz__rgc_dfaz00,
		BgL_bgl_string1690za700za7za7_1774za7, "car", 3);
	      DEFINE_STRING(BGl_string1691z00zz__rgc_dfaz00,
		BgL_bgl_string1691za700za7za7_1775za7, " [", 2);
	      DEFINE_STRING(BGl_string1694z00zz__rgc_dfaz00,
		BgL_bgl_string1694za700za7za7_1776za7, "if", 2);
	      DEFINE_STRING(BGl_string1697z00zz__rgc_dfaz00,
		BgL_bgl_string1697za700za7za7_1777za7, "and", 3);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_statezf3zd2envz21zz__rgc_dfaz00,
		BgL_bgl_za762stateza7f3za791za7za71778za7, BGl_z62statezf3z91zz__rgc_dfaz00,
		0L, BUNSPEC, 1);
	     
		DEFINE_EXPORT_BGL_PROCEDURE(BGl_statezd2positionszd2envz00zz__rgc_dfaz00,
		BgL_bgl_za762stateza7d2posit1779z00,
		BGl_z62statezd2positionszb0zz__rgc_dfaz00, 0L, BUNSPEC, 1);
	extern obj_t BGl_rgcsetzd2equalzf3zd2envzf3zz__rgc_setz00;

/* 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_za2statesza2z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1676z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1679z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1682z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1685z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1689z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1693z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1696z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1699z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1701z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1704z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1705z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1708z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1711z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1712z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1715z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1718z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1725z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1728z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1731z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1675z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1678z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1681z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1684z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1688z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1692z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1695z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_list1698z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_za2statezd2numza2zd2zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1702z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1706z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1709z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1713z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1716z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1719z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1726z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1729z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1732z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1734z00zz__rgc_dfaz00));
		     ADD_ROOT((void *) (&BGl_symbol1669z00zz__rgc_dfaz00));
#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__rgc_dfaz00(long
		BgL_checksumz00_2125, char *BgL_fromz00_2126)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__rgc_dfaz00))
				{
					BGl_requirezd2initializa7ationz75zz__rgc_dfaz00 = BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zz__rgc_dfaz00();
					BGl_cnstzd2initzd2zz__rgc_dfaz00();
					BGl_importedzd2moduleszd2initz00zz__rgc_dfaz00();
					return BGl_toplevelzd2initzd2zz__rgc_dfaz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			BGl_symbol1669z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1670z00zz__rgc_dfaz00);
			BGl_symbol1676z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1677z00zz__rgc_dfaz00);
			BGl_symbol1679z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1680z00zz__rgc_dfaz00);
			BGl_symbol1682z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1683z00zz__rgc_dfaz00);
			BGl_list1681z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1682z00zz__rgc_dfaz00, BNIL);
			BGl_symbol1685z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1686z00zz__rgc_dfaz00);
			BGl_symbol1689z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1690z00zz__rgc_dfaz00);
			BGl_list1688z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1689z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_symbol1682z00zz__rgc_dfaz00, BNIL));
			BGl_symbol1693z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1694z00zz__rgc_dfaz00);
			BGl_symbol1696z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1697z00zz__rgc_dfaz00);
			BGl_symbol1699z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1700z00zz__rgc_dfaz00);
			BGl_list1698z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1699z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1688z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BINT(256L), BNIL)));
			BGl_symbol1702z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1703z00zz__rgc_dfaz00);
			BGl_symbol1706z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1707z00zz__rgc_dfaz00);
			BGl_symbol1709z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1710z00zz__rgc_dfaz00);
			BGl_list1708z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1709z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1688z00zz__rgc_dfaz00, BNIL));
			BGl_list1705z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1706z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1708z00zz__rgc_dfaz00, BNIL));
			BGl_list1704z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_list1705z00zz__rgc_dfaz00, BNIL);
			BGl_symbol1713z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1714z00zz__rgc_dfaz00);
			BGl_symbol1716z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1717z00zz__rgc_dfaz00);
			BGl_list1715z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1716z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_symbol1706z00zz__rgc_dfaz00, BNIL));
			BGl_symbol1719z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1720z00zz__rgc_dfaz00);
			BGl_list1718z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1719z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_symbol1706z00zz__rgc_dfaz00, BNIL));
			BGl_list1712z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1713z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1715z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1718z00zz__rgc_dfaz00, BNIL)));
			BGl_list1711z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1693z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1712z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_symbol1706z00zz__rgc_dfaz00,
						MAKE_YOUNG_PAIR(BGl_string1721z00zz__rgc_dfaz00, BNIL))));
			BGl_list1701z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1702z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1704z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1711z00zz__rgc_dfaz00, BNIL)));
			BGl_list1695z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1696z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1698z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1701z00zz__rgc_dfaz00, BNIL)));
			BGl_list1692z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1693z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1695z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_string1722z00zz__rgc_dfaz00, BNIL)));
			BGl_symbol1726z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1727z00zz__rgc_dfaz00);
			BGl_symbol1729z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1730z00zz__rgc_dfaz00);
			BGl_list1728z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1729z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_symbol1682z00zz__rgc_dfaz00, BNIL));
			BGl_list1725z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1726z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1728z00zz__rgc_dfaz00, BNIL));
			BGl_list1684z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1685z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_string1687z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1688z00zz__rgc_dfaz00,
						MAKE_YOUNG_PAIR(BGl_string1691z00zz__rgc_dfaz00,
							MAKE_YOUNG_PAIR(BGl_list1692z00zz__rgc_dfaz00,
								MAKE_YOUNG_PAIR(BGl_string1723z00zz__rgc_dfaz00,
									MAKE_YOUNG_PAIR(BGl_string1724z00zz__rgc_dfaz00,
										MAKE_YOUNG_PAIR(BGl_list1725z00zz__rgc_dfaz00, BNIL))))))));
			BGl_list1678z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1679z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_list1681z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1684z00zz__rgc_dfaz00, BNIL)));
			BGl_symbol1732z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1733z00zz__rgc_dfaz00);
			BGl_symbol1734z00zz__rgc_dfaz00 =
				bstring_to_symbol(BGl_string1735z00zz__rgc_dfaz00);
			BGl_list1731z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1732z00zz__rgc_dfaz00,
				MAKE_YOUNG_PAIR(BGl_symbol1734z00zz__rgc_dfaz00, BNIL));
			return (BGl_list1675z00zz__rgc_dfaz00 =
				MAKE_YOUNG_PAIR(BGl_symbol1676z00zz__rgc_dfaz00,
					MAKE_YOUNG_PAIR(BGl_list1678z00zz__rgc_dfaz00,
						MAKE_YOUNG_PAIR(BGl_list1731z00zz__rgc_dfaz00, BNIL))), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			BGl_bucketzd2lenzd2zz__rgc_dfaz00 = 64L;
			BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00 = BUNSPEC;
			BGl_za2statesza2z00zz__rgc_dfaz00 = BUNSPEC;
			return (BGl_za2statezd2numza2zd2zz__rgc_dfaz00 = BUNSPEC, BUNSPEC);
		}

	}



/* node->dfa */
	BGL_EXPORTED_DEF obj_t BGl_nodezd2ze3dfaz31zz__rgc_dfaz00(obj_t
		BgL_rootz00_17, obj_t BgL_followposz00_18, obj_t BgL_positionsz00_19)
	{
		{	/* Rgc/rgcdfa.scm 71 */
			BGl_initzd2statesz12zc0zz__rgc_dfaz00();
			{	/* Rgc/rgcdfa.scm 78 */
				obj_t BgL_initialzd2statezd2_1237;

				{	/* Rgc/rgcdfa.scm 78 */
					obj_t BgL_arg1223z00_1268;

					BgL_arg1223z00_1268 =
						STRUCT_REF(((obj_t) BgL_rootz00_17), (int) (0L));
					BgL_initialzd2statezd2_1237 =
						BGl_makezd2statezd2zz__rgc_dfaz00(BgL_arg1223z00_1268);
				}
				BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00 =
					BgL_initialzd2statezd2_1237;
				{	/* Rgc/rgcdfa.scm 81 */
					obj_t BgL_g1039z00_1239;

					{	/* Rgc/rgcdfa.scm 81 */
						obj_t BgL_list1222z00_1267;

						BgL_list1222z00_1267 =
							MAKE_YOUNG_PAIR(BgL_initialzd2statezd2_1237, BNIL);
						BgL_g1039z00_1239 = BgL_list1222z00_1267;
					}
					{
						obj_t BgL_dzd2stateszd2_1241;

						BgL_dzd2stateszd2_1241 = BgL_g1039z00_1239;
					BgL_zc3z04anonymousza31207ze3z87_1242:
						if (NULLP(BgL_dzd2stateszd2_1241))
							{	/* Rgc/rgcdfa.scm 83 */
								return
									BGl_hashtablezd2ze3listz31zz__hashz00
									(BGl_za2statesza2z00zz__rgc_dfaz00);
							}
						else
							{	/* Rgc/rgcdfa.scm 87 */
								obj_t BgL_newzd2dzd2statesz00_2087;

								{	/* Rgc/rgcdfa.scm 87 */
									obj_t BgL_cellvalz00_2215;

									BgL_cellvalz00_2215 = CDR(((obj_t) BgL_dzd2stateszd2_1241));
									BgL_newzd2dzd2statesz00_2087 = MAKE_CELL(BgL_cellvalz00_2215);
								}
								{	/* Rgc/rgcdfa.scm 87 */
									obj_t BgL_tz00_1245;

									BgL_tz00_1245 = CAR(((obj_t) BgL_dzd2stateszd2_1241));
									{	/* Rgc/rgcdfa.scm 88 */
										obj_t BgL_tzd2positionszd2_1246;

										BgL_tzd2positionszd2_1246 =
											STRUCT_REF(((obj_t) BgL_tz00_1245), (int) (3L));
										{	/* Rgc/rgcdfa.scm 89 */

											{	/* Rgc/rgcdfa.scm 95 */
												obj_t BgL_arg1211z00_1248;

												{	/* Rgc/rgcdfa.scm 245 */
													obj_t BgL_symbolzd2setzd2_1756;

													{	/* Rgc/rgcdfa.scm 245 */
														obj_t BgL_arg1256z00_1757;

														BgL_arg1256z00_1757 =
															BGl_treezd2maxzd2charz00zz__rgc_rulesz00();
														BgL_symbolzd2setzd2_1756 =
															BGl_makezd2rgcsetzd2zz__rgc_setz00(
															(long) CINT(BgL_arg1256z00_1757));
													}
													{	/* Rgc/rgcdfa.scm 247 */
														obj_t BgL_zc3z04anonymousza31253ze3z87_2059;

														BgL_zc3z04anonymousza31253ze3z87_2059 =
															MAKE_FX_PROCEDURE
															(BGl_z62zc3z04anonymousza31253ze3ze5zz__rgc_dfaz00,
															(int) (1L), (int) (2L));
														PROCEDURE_SET(BgL_zc3z04anonymousza31253ze3z87_2059,
															(int) (0L), BgL_positionsz00_19);
														PROCEDURE_SET(BgL_zc3z04anonymousza31253ze3z87_2059,
															(int) (1L), BgL_symbolzd2setzd2_1756);
														BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00
															(BgL_zc3z04anonymousza31253ze3z87_2059,
															BgL_tzd2positionszd2_1246);
													}
													BgL_arg1211z00_1248 = BgL_symbolzd2setzd2_1756;
												}
												{	/* Rgc/rgcdfa.scm 96 */
													obj_t BgL_zc3z04anonymousza31212ze3z87_2058;

													BgL_zc3z04anonymousza31212ze3z87_2058 =
														MAKE_FX_PROCEDURE
														(BGl_z62zc3z04anonymousza31212ze3ze5zz__rgc_dfaz00,
														(int) (1L), (int) (6L));
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (0L),
														BINT(VECTOR_LENGTH(BgL_positionsz00_19)));
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (1L), BgL_followposz00_18);
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (2L), BgL_positionsz00_19);
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (3L), BgL_tzd2positionszd2_1246);
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (4L), ((obj_t) BgL_newzd2dzd2statesz00_2087));
													PROCEDURE_SET(BgL_zc3z04anonymousza31212ze3z87_2058,
														(int) (5L), BgL_tz00_1245);
													BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00
														(BgL_zc3z04anonymousza31212ze3z87_2058,
														BgL_arg1211z00_1248);
											}}
											{
												obj_t BgL_dzd2stateszd2_2253;

												BgL_dzd2stateszd2_2253 =
													CELL_REF(BgL_newzd2dzd2statesz00_2087);
												BgL_dzd2stateszd2_1241 = BgL_dzd2stateszd2_2253;
												goto BgL_zc3z04anonymousza31207ze3z87_1242;
											}
										}
									}
								}
							}
					}
				}
			}
		}

	}



/* &node->dfa */
	obj_t BGl_z62nodezd2ze3dfaz53zz__rgc_dfaz00(obj_t BgL_envz00_2060,
		obj_t BgL_rootz00_2061, obj_t BgL_followposz00_2062,
		obj_t BgL_positionsz00_2063)
	{
		{	/* Rgc/rgcdfa.scm 71 */
			{	/* Rgc/rgcdfa.scm 73 */
				obj_t BgL_auxz00_2261;
				obj_t BgL_auxz00_2254;

				if (VECTORP(BgL_positionsz00_2063))
					{	/* Rgc/rgcdfa.scm 73 */
						BgL_auxz00_2261 = BgL_positionsz00_2063;
					}
				else
					{
						obj_t BgL_auxz00_2264;

						BgL_auxz00_2264 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1666z00zz__rgc_dfaz00,
							BINT(2485L), BGl_string1667z00zz__rgc_dfaz00,
							BGl_string1668z00zz__rgc_dfaz00, BgL_positionsz00_2063);
						FAILURE(BgL_auxz00_2264, BFALSE, BFALSE);
					}
				if (VECTORP(BgL_followposz00_2062))
					{	/* Rgc/rgcdfa.scm 73 */
						BgL_auxz00_2254 = BgL_followposz00_2062;
					}
				else
					{
						obj_t BgL_auxz00_2257;

						BgL_auxz00_2257 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1666z00zz__rgc_dfaz00,
							BINT(2485L), BGl_string1667z00zz__rgc_dfaz00,
							BGl_string1668z00zz__rgc_dfaz00, BgL_followposz00_2062);
						FAILURE(BgL_auxz00_2257, BFALSE, BFALSE);
					}
				return
					BGl_nodezd2ze3dfaz31zz__rgc_dfaz00(BgL_rootz00_2061, BgL_auxz00_2254,
					BgL_auxz00_2261);
			}
		}

	}



/* &<@anonymous:1212> */
	obj_t BGl_z62zc3z04anonymousza31212ze3ze5zz__rgc_dfaz00(obj_t BgL_envz00_2064,
		obj_t BgL_az00_2071)
	{
		{	/* Rgc/rgcdfa.scm 95 */
			{	/* Rgc/rgcdfa.scm 96 */
				long BgL_positionszd2numzd2_2065;
				obj_t BgL_followposz00_2066;
				obj_t BgL_positionsz00_2067;
				obj_t BgL_tzd2positionszd2_2068;
				obj_t BgL_newzd2dzd2statesz00_2069;
				obj_t BgL_tz00_2070;

				BgL_positionszd2numzd2_2065 =
					(long) CINT(PROCEDURE_REF(BgL_envz00_2064, (int) (0L)));
				BgL_followposz00_2066 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2064, (int) (1L)));
				BgL_positionsz00_2067 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2064, (int) (2L)));
				BgL_tzd2positionszd2_2068 = PROCEDURE_REF(BgL_envz00_2064, (int) (3L));
				BgL_newzd2dzd2statesz00_2069 =
					PROCEDURE_REF(BgL_envz00_2064, (int) (4L));
				BgL_tz00_2070 = PROCEDURE_REF(BgL_envz00_2064, (int) (5L));
				{	/* Rgc/rgcdfa.scm 96 */
					obj_t BgL_uz00_2112;
					obj_t BgL_uzd2emptyzf3z21_2113;

					BgL_uz00_2112 =
						BGl_makezd2rgcsetzd2zz__rgc_setz00(BgL_positionszd2numzd2_2065);
					BgL_uzd2emptyzf3z21_2113 = MAKE_CELL(BTRUE);
					{	/* Rgc/rgcdfa.scm 100 */
						obj_t BgL_zc3z04anonymousza31214ze3z87_2114;

						BgL_zc3z04anonymousza31214ze3z87_2114 =
							MAKE_FX_PROCEDURE
							(BGl_z62zc3z04anonymousza31214ze3ze5zz__rgc_dfaz00, (int) (1L),
							(int) (5L));
						PROCEDURE_SET(BgL_zc3z04anonymousza31214ze3z87_2114, (int) (0L),
							((obj_t) BgL_uzd2emptyzf3z21_2113));
						PROCEDURE_SET(BgL_zc3z04anonymousza31214ze3z87_2114, (int) (1L),
							BgL_followposz00_2066);
						PROCEDURE_SET(BgL_zc3z04anonymousza31214ze3z87_2114, (int) (2L),
							BgL_uz00_2112);
						PROCEDURE_SET(BgL_zc3z04anonymousza31214ze3z87_2114, (int) (3L),
							BgL_positionsz00_2067);
						PROCEDURE_SET(BgL_zc3z04anonymousza31214ze3z87_2114, (int) (4L),
							BgL_az00_2071);
						BGl_forzd2eachzd2rgcsetz00zz__rgc_setz00
							(BgL_zc3z04anonymousza31214ze3z87_2114,
							BgL_tzd2positionszd2_2068);
					}
					if (CBOOL(CELL_REF(BgL_uzd2emptyzf3z21_2113)))
						{	/* Rgc/rgcdfa.scm 107 */
							return BFALSE;
						}
					else
						{	/* Rgc/rgcdfa.scm 108 */
							obj_t BgL_usz00_2115;

							{	/* Rgc/rgcdfa.scm 108 */
								obj_t BgL_ostatez00_2116;

								BgL_ostatez00_2116 =
									BGl_hashtablezd2getzd2zz__hashz00
									(BGl_za2statesza2z00zz__rgc_dfaz00, BgL_uz00_2112);
								{	/* Rgc/rgcdfa.scm 110 */
									bool_t BgL_test1785z00_2303;

									if (STRUCTP(BgL_ostatez00_2116))
										{	/* Rgc/rgcdfa.scm 149 */
											BgL_test1785z00_2303 =
												(STRUCT_KEY(BgL_ostatez00_2116) ==
												BGl_symbol1669z00zz__rgc_dfaz00);
										}
									else
										{	/* Rgc/rgcdfa.scm 149 */
											BgL_test1785z00_2303 = ((bool_t) 0);
										}
									if (BgL_test1785z00_2303)
										{	/* Rgc/rgcdfa.scm 110 */
											BgL_usz00_2115 = BgL_ostatez00_2116;
										}
									else
										{	/* Rgc/rgcdfa.scm 111 */
											obj_t BgL_newzd2statezd2_2117;

											BgL_newzd2statezd2_2117 =
												BGl_makezd2statezd2zz__rgc_dfaz00(BgL_uz00_2112);
											{	/* Rgc/rgcdfa.scm 114 */
												obj_t BgL_auxz00_2118;

												BgL_auxz00_2118 =
													MAKE_YOUNG_PAIR(BgL_newzd2statezd2_2117,
													CELL_REF(BgL_newzd2dzd2statesz00_2069));
												CELL_SET(BgL_newzd2dzd2statesz00_2069, BgL_auxz00_2118);
											}
											BgL_usz00_2115 = BgL_newzd2statezd2_2117;
										}
								}
							}
							{	/* Rgc/rgcdfa.scm 239 */
								obj_t BgL_arg1248z00_2119;

								{	/* Rgc/rgcdfa.scm 239 */
									obj_t BgL_arg1249z00_2120;
									obj_t BgL_arg1250z00_2121;

									BgL_arg1249z00_2120 =
										MAKE_YOUNG_PAIR(BgL_az00_2071, BgL_usz00_2115);
									BgL_arg1250z00_2121 =
										STRUCT_REF(((obj_t) BgL_tz00_2070), (int) (2L));
									BgL_arg1248z00_2119 =
										MAKE_YOUNG_PAIR(BgL_arg1249z00_2120, BgL_arg1250z00_2121);
								}
								{	/* Rgc/rgcdfa.scm 149 */
									int BgL_auxz00_2317;
									obj_t BgL_tmpz00_2315;

									BgL_auxz00_2317 = (int) (2L);
									BgL_tmpz00_2315 = ((obj_t) BgL_tz00_2070);
									return
										STRUCT_SET(BgL_tmpz00_2315, BgL_auxz00_2317,
										BgL_arg1248z00_2119);
								}
							}
						}
				}
			}
		}

	}



/* &<@anonymous:1214> */
	obj_t BGl_z62zc3z04anonymousza31214ze3ze5zz__rgc_dfaz00(obj_t BgL_envz00_2075,
		obj_t BgL_pz00_2081)
	{
		{	/* Rgc/rgcdfa.scm 99 */
			{	/* Rgc/rgcdfa.scm 100 */
				obj_t BgL_uzd2emptyzf3z21_2076;
				obj_t BgL_followposz00_2077;
				obj_t BgL_uz00_2078;
				obj_t BgL_positionsz00_2079;
				obj_t BgL_az00_2080;

				BgL_uzd2emptyzf3z21_2076 = PROCEDURE_REF(BgL_envz00_2075, (int) (0L));
				BgL_followposz00_2077 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2075, (int) (1L)));
				BgL_uz00_2078 = PROCEDURE_REF(BgL_envz00_2075, (int) (2L));
				BgL_positionsz00_2079 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2075, (int) (3L)));
				BgL_az00_2080 = PROCEDURE_REF(BgL_envz00_2075, (int) (4L));
				{	/* Rgc/rgcdfa.scm 100 */
					bool_t BgL_test1787z00_2332;

					{	/* Rgc/rgcdfa.scm 100 */
						obj_t BgL_arg1220z00_2122;

						BgL_arg1220z00_2122 =
							VECTOR_REF(BgL_positionsz00_2079, (long) CINT(BgL_pz00_2081));
						BgL_test1787z00_2332 =
							((long) CINT(BgL_az00_2080) == (long) CINT(BgL_arg1220z00_2122));
					}
					if (BgL_test1787z00_2332)
						{	/* Rgc/rgcdfa.scm 100 */
							{	/* Rgc/rgcdfa.scm 102 */
								obj_t BgL_auxz00_2123;

								BgL_auxz00_2123 = BFALSE;
								CELL_SET(BgL_uzd2emptyzf3z21_2076, BgL_auxz00_2123);
							}
							return
								BGl_rgcsetzd2orz12zc0zz__rgc_setz00(BgL_uz00_2078,
								VECTOR_REF(BgL_followposz00_2077, (long) CINT(BgL_pz00_2081)));
						}
					else
						{	/* Rgc/rgcdfa.scm 100 */
							return BFALSE;
						}
				}
			}
		}

	}



/* &<@anonymous:1253> */
	obj_t BGl_z62zc3z04anonymousza31253ze3ze5zz__rgc_dfaz00(obj_t BgL_envz00_2083,
		obj_t BgL_iz00_2086)
	{
		{	/* Rgc/rgcdfa.scm 246 */
			{	/* Rgc/rgcdfa.scm 247 */
				obj_t BgL_positionsz00_2084;
				obj_t BgL_symbolzd2setzd2_2085;

				BgL_positionsz00_2084 =
					((obj_t) PROCEDURE_REF(BgL_envz00_2083, (int) (0L)));
				BgL_symbolzd2setzd2_2085 = PROCEDURE_REF(BgL_envz00_2083, (int) (1L));
				{	/* Rgc/rgcdfa.scm 247 */
					obj_t BgL_arg1254z00_2124;

					BgL_arg1254z00_2124 =
						VECTOR_REF(BgL_positionsz00_2084, (long) CINT(BgL_iz00_2086));
					return
						BGl_rgcsetzd2addz12zc0zz__rgc_setz00(BgL_symbolzd2setzd2_2085,
						(long) CINT(BgL_arg1254z00_2124));
		}}}

	}



/* reset-dfa! */
	BGL_EXPORTED_DEF obj_t BGl_resetzd2dfaz12zc0zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 128 */
			BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00 = BUNSPEC;
			BGl_za2statesza2z00zz__rgc_dfaz00 = BUNSPEC;
			return (BGl_za2statezd2numza2zd2zz__rgc_dfaz00 = BUNSPEC, BUNSPEC);
		}

	}



/* &reset-dfa! */
	obj_t BGl_z62resetzd2dfaz12za2zz__rgc_dfaz00(obj_t BgL_envz00_2089)
	{
		{	/* Rgc/rgcdfa.scm 128 */
			return BGl_resetzd2dfaz12zc0zz__rgc_dfaz00();
		}

	}



/* get-initial-state */
	BGL_EXPORTED_DEF obj_t BGl_getzd2initialzd2statez00zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 141 */
			return BGl_za2initialzd2stateza2zd2zz__rgc_dfaz00;
		}

	}



/* &get-initial-state */
	obj_t BGl_z62getzd2initialzd2statez62zz__rgc_dfaz00(obj_t BgL_envz00_2090)
	{
		{	/* Rgc/rgcdfa.scm 141 */
			return BGl_getzd2initialzd2statez00zz__rgc_dfaz00();
		}

	}



/* init-states! */
	obj_t BGl_initzd2statesz12zc0zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 165 */
			BGl_za2statezd2numza2zd2zz__rgc_dfaz00 = BINT(-1L);
			{	/* Rgc/rgcdfa.scm 167 */
				obj_t BgL_list1238z00_1282;

				{	/* Rgc/rgcdfa.scm 167 */
					obj_t BgL_arg1240z00_1283;

					{	/* Rgc/rgcdfa.scm 167 */
						obj_t BgL_arg1241z00_1284;

						{	/* Rgc/rgcdfa.scm 167 */
							obj_t BgL_arg1242z00_1285;

							BgL_arg1242z00_1285 =
								MAKE_YOUNG_PAIR(BGl_rgcsetzd2ze3hashzd2envze3zz__rgc_setz00,
								BNIL);
							BgL_arg1241z00_1284 =
								MAKE_YOUNG_PAIR(BGl_rgcsetzd2equalzf3zd2envzf3zz__rgc_setz00,
								BgL_arg1242z00_1285);
						}
						BgL_arg1240z00_1283 =
							MAKE_YOUNG_PAIR(BINT(64L), BgL_arg1241z00_1284);
					}
					BgL_list1238z00_1282 =
						MAKE_YOUNG_PAIR(BINT(1024L), BgL_arg1240z00_1283);
				}
				return (BGl_za2statesza2z00zz__rgc_dfaz00 =
					BGl_makezd2hashtablezd2zz__hashz00(BgL_list1238z00_1282), BUNSPEC);
			}
		}

	}



/* make-state */
	obj_t BGl_makezd2statezd2zz__rgc_dfaz00(obj_t BgL_positionsz00_38)
	{
		{	/* Rgc/rgcdfa.scm 187 */
			{	/* Rgc/rgcdfa.scm 188 */
				obj_t BgL_numz00_1286;

				BGl_za2statezd2numza2zd2zz__rgc_dfaz00 =
					ADDFX(BGl_za2statezd2numza2zd2zz__rgc_dfaz00, BINT(1L));
				BgL_numz00_1286 = BGl_za2statezd2numza2zd2zz__rgc_dfaz00;
				{	/* Rgc/rgcdfa.scm 188 */
					obj_t BgL_namez00_1287;

					{	/* Rgc/rgcdfa.scm 189 */
						obj_t BgL_arg1246z00_1290;

						{	/* Rgc/rgcdfa.scm 189 */
							obj_t BgL_arg1247z00_1291;

							{	/* Ieee/number.scm 174 */

								BgL_arg1247z00_1291 =
									BGl_numberzd2ze3stringz31zz__r4_numbers_6_5z00
									(BgL_numz00_1286, BINT(10L));
							}
							BgL_arg1246z00_1290 =
								string_append_3(BGl_string1671z00zz__rgc_dfaz00,
								BgL_arg1247z00_1291, BGl_string1672z00zz__rgc_dfaz00);
						}
						BgL_namez00_1287 =
							BGl_gensymz00zz__r4_symbols_6_4z00(BgL_arg1246z00_1290);
					}
					{	/* Rgc/rgcdfa.scm 189 */
						obj_t BgL_statez00_1288;

						{	/* Rgc/rgcdfa.scm 149 */
							obj_t BgL_newz00_1799;

							BgL_newz00_1799 =
								create_struct(BGl_symbol1669z00zz__rgc_dfaz00, (int) (4L));
							{	/* Rgc/rgcdfa.scm 149 */
								int BgL_tmpz00_2368;

								BgL_tmpz00_2368 = (int) (3L);
								STRUCT_SET(BgL_newz00_1799, BgL_tmpz00_2368,
									BgL_positionsz00_38);
							}
							{	/* Rgc/rgcdfa.scm 149 */
								int BgL_tmpz00_2371;

								BgL_tmpz00_2371 = (int) (2L);
								STRUCT_SET(BgL_newz00_1799, BgL_tmpz00_2371, BNIL);
							}
							{	/* Rgc/rgcdfa.scm 149 */
								int BgL_tmpz00_2374;

								BgL_tmpz00_2374 = (int) (1L);
								STRUCT_SET(BgL_newz00_1799, BgL_tmpz00_2374, BgL_numz00_1286);
							}
							{	/* Rgc/rgcdfa.scm 149 */
								int BgL_tmpz00_2377;

								BgL_tmpz00_2377 = (int) (0L);
								STRUCT_SET(BgL_newz00_1799, BgL_tmpz00_2377, BgL_namez00_1287);
							}
							BgL_statez00_1288 = BgL_newz00_1799;
						}
						{	/* Rgc/rgcdfa.scm 190 */

							{	/* Rgc/rgcdfa.scm 192 */
								obj_t BgL_arg1244z00_1289;

								BgL_arg1244z00_1289 = STRUCT_REF(BgL_statez00_1288, (int) (3L));
								BGl_hashtablezd2putz12zc0zz__hashz00
									(BGl_za2statesza2z00zz__rgc_dfaz00, BgL_arg1244z00_1289,
									BgL_statez00_1288);
							}
							return BgL_statez00_1288;
						}
					}
				}
			}
		}

	}



/* state-positions */
	BGL_EXPORTED_DEF obj_t BGl_statezd2positionszd2zz__rgc_dfaz00(obj_t
		BgL_statez00_40)
	{
		{	/* Rgc/rgcdfa.scm 206 */
			return STRUCT_REF(((obj_t) BgL_statez00_40), (int) (3L));
		}

	}



/* &state-positions */
	obj_t BGl_z62statezd2positionszb0zz__rgc_dfaz00(obj_t BgL_envz00_2096,
		obj_t BgL_statez00_2097)
	{
		{	/* Rgc/rgcdfa.scm 206 */
			return BGl_statezd2positionszd2zz__rgc_dfaz00(BgL_statez00_2097);
		}

	}



/* state-name */
	BGL_EXPORTED_DEF obj_t BGl_statezd2namezd2zz__rgc_dfaz00(obj_t
		BgL_statez00_41)
	{
		{	/* Rgc/rgcdfa.scm 212 */
			return STRUCT_REF(((obj_t) BgL_statez00_41), (int) (0L));
		}

	}



/* &state-name */
	obj_t BGl_z62statezd2namezb0zz__rgc_dfaz00(obj_t BgL_envz00_2098,
		obj_t BgL_statez00_2099)
	{
		{	/* Rgc/rgcdfa.scm 212 */
			return BGl_statezd2namezd2zz__rgc_dfaz00(BgL_statez00_2099);
		}

	}



/* state-transitions */
	BGL_EXPORTED_DEF obj_t BGl_statezd2transitionszd2zz__rgc_dfaz00(obj_t
		BgL_statez00_43)
	{
		{	/* Rgc/rgcdfa.scm 224 */
			return STRUCT_REF(((obj_t) BgL_statez00_43), (int) (2L));
		}

	}



/* &state-transitions */
	obj_t BGl_z62statezd2transitionszb0zz__rgc_dfaz00(obj_t BgL_envz00_2100,
		obj_t BgL_statez00_2101)
	{
		{	/* Rgc/rgcdfa.scm 224 */
			return BGl_statezd2transitionszd2zz__rgc_dfaz00(BgL_statez00_2101);
		}

	}



/* state? */
	BGL_EXPORTED_DEF bool_t BGl_statezf3zf3zz__rgc_dfaz00(obj_t BgL_objz00_44)
	{
		{	/* Rgc/rgcdfa.scm 230 */
			if (STRUCTP(BgL_objz00_44))
				{	/* Rgc/rgcdfa.scm 149 */
					return (STRUCT_KEY(BgL_objz00_44) == BGl_symbol1669z00zz__rgc_dfaz00);
				}
			else
				{	/* Rgc/rgcdfa.scm 149 */
					return ((bool_t) 0);
				}
		}

	}



/* &state? */
	obj_t BGl_z62statezf3z91zz__rgc_dfaz00(obj_t BgL_envz00_2102,
		obj_t BgL_objz00_2103)
	{
		{	/* Rgc/rgcdfa.scm 230 */
			return BBOOL(BGl_statezf3zf3zz__rgc_dfaz00(BgL_objz00_2103));
		}

	}



/* print-dfa */
	BGL_EXPORTED_DEF obj_t BGl_printzd2dfazd2zz__rgc_dfaz00(obj_t BgL_dfaz00_50)
	{
		{	/* Rgc/rgcdfa.scm 254 */
			{	/* Rgc/rgcdfa.scm 255 */
				obj_t BgL_port1087z00_1304;

				{	/* Rgc/rgcdfa.scm 255 */
					obj_t BgL_tmpz00_2401;

					BgL_tmpz00_2401 = BGL_CURRENT_DYNAMIC_ENV();
					BgL_port1087z00_1304 = BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_2401);
				}
				bgl_display_string(BGl_string1673z00zz__rgc_dfaz00,
					BgL_port1087z00_1304);
				bgl_display_char(((unsigned char) 10), BgL_port1087z00_1304);
			}
			{
				obj_t BgL_l1089z00_1306;

				BgL_l1089z00_1306 = BgL_dfaz00_50;
			BgL_zc3z04anonymousza31257ze3z87_1307:
				if (PAIRP(BgL_l1089z00_1306))
					{	/* Rgc/rgcdfa.scm 256 */
						{	/* Rgc/rgcdfa.scm 257 */
							obj_t BgL_statez00_1309;

							BgL_statez00_1309 = CAR(BgL_l1089z00_1306);
							{	/* Rgc/rgcdfa.scm 257 */
								obj_t BgL_port1088z00_1310;

								{	/* Rgc/rgcdfa.scm 257 */
									obj_t BgL_tmpz00_2409;

									BgL_tmpz00_2409 = BGL_CURRENT_DYNAMIC_ENV();
									BgL_port1088z00_1310 =
										BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_2409);
								}
								bgl_display_string(BGl_string1674z00zz__rgc_dfaz00,
									BgL_port1088z00_1310);
								{	/* Rgc/rgcdfa.scm 257 */
									obj_t BgL_arg1259z00_1311;

									BgL_arg1259z00_1311 =
										STRUCT_REF(((obj_t) BgL_statez00_1309), (int) (1L));
									bgl_display_obj(BgL_arg1259z00_1311, BgL_port1088z00_1310);
								}
								bgl_display_char(((unsigned char) 10), BgL_port1088z00_1310);
							} BGl_list1675z00zz__rgc_dfaz00;
						}
						{
							obj_t BgL_l1089z00_2418;

							BgL_l1089z00_2418 = CDR(BgL_l1089z00_1306);
							BgL_l1089z00_1306 = BgL_l1089z00_2418;
							goto BgL_zc3z04anonymousza31257ze3z87_1307;
						}
					}
				else
					{	/* Rgc/rgcdfa.scm 256 */
						((bool_t) 1);
					}
			}
			{	/* Rgc/rgcdfa.scm 273 */
				obj_t BgL_port1091z00_1314;

				{	/* Rgc/rgcdfa.scm 273 */
					obj_t BgL_tmpz00_2420;

					BgL_tmpz00_2420 = BGL_CURRENT_DYNAMIC_ENV();
					BgL_port1091z00_1314 = BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_2420);
				}
				bgl_display_string(BGl_string1736z00zz__rgc_dfaz00,
					BgL_port1091z00_1314);
				bgl_display_char(((unsigned char) 10), BgL_port1091z00_1314);
			}
			{	/* Rgc/rgcdfa.scm 274 */
				obj_t BgL_arg1265z00_1315;

				{	/* Rgc/rgcdfa.scm 274 */
					obj_t BgL_tmpz00_2425;

					BgL_tmpz00_2425 = BGL_CURRENT_DYNAMIC_ENV();
					BgL_arg1265z00_1315 = BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_2425);
				}
				return bgl_display_char(((unsigned char) 10), BgL_arg1265z00_1315);
		}}

	}



/* &print-dfa */
	obj_t BGl_z62printzd2dfazb0zz__rgc_dfaz00(obj_t BgL_envz00_2104,
		obj_t BgL_dfaz00_2105)
	{
		{	/* Rgc/rgcdfa.scm 254 */
			return BGl_printzd2dfazd2zz__rgc_dfaz00(BgL_dfaz00_2105);
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__rgc_dfaz00(void)
	{
		{	/* Rgc/rgcdfa.scm 15 */
			BGl_modulezd2initializa7ationz75zz__rgc_configz00(428274736L,
				BSTRING_TO_STRING(BGl_string1737z00zz__rgc_dfaz00));
			BGl_modulezd2initializa7ationz75zz__rgc_setz00(225075643L,
				BSTRING_TO_STRING(BGl_string1737z00zz__rgc_dfaz00));
			BGl_modulezd2initializa7ationz75zz__rgc_rulesz00(181068393L,
				BSTRING_TO_STRING(BGl_string1737z00zz__rgc_dfaz00));
			return
				BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1737z00zz__rgc_dfaz00));
		}

	}

#ifdef __cplusplus
}
#endif
