/*===========================================================================*/
/*   (Rgc/rgcposix.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/rgcposix.scm -indent -o objs/obj_u/Rgc/rgcposix.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_POSIX_TYPE_DEFINITIONS
#define BGL___RGC_POSIX_TYPE_DEFINITIONS
#endif													// BGL___RGC_POSIX_TYPE_DEFINITIONS
#endif													// BGL_MODULE_TYPE_DEFINITIONS

	static obj_t BGl_za2errzd2stringza2zd2zz__rgc_posixz00 = BUNSPEC;
	extern obj_t BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_makezd2rgczd2sequencez00zz__rgc_posixz00(obj_t);
	static obj_t BGl_parsezd2posixzd2expz00zz__rgc_posixz00(obj_t, long);
	extern obj_t BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_list1810z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_requirezd2initializa7ationz75zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_parsezd2posixzd2branchz00zz__rgc_posixz00(obj_t, long);
	extern obj_t BGl_typezd2errorzd2zz__errorz00(obj_t, obj_t, obj_t, obj_t,
		obj_t);
	BGL_EXPORTED_DECL obj_t BGl_modulezd2initializa7ationz75zz__rgc_posixz00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	static obj_t BGl_symbol1787z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1789z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1791z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1793z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1795z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_toplevelzd2initzd2zz__rgc_posixz00(void);
	static obj_t BGl_symbol1798z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_cnstzd2initzd2zz__rgc_posixz00(void);
	extern obj_t bgl_reverse(obj_t);
	static obj_t BGl_genericzd2initzd2zz__rgc_posixz00(void);
	static obj_t BGl_importedzd2moduleszd2initz00zz__rgc_posixz00(void);
	static obj_t BGl_parsezd2posixzd2piecez00zz__rgc_posixz00(obj_t, obj_t);
	static obj_t BGl_gczd2rootszd2initz00zz__rgc_posixz00(void);
	static obj_t BGl_makezd2rgczd2repeatz00zz__rgc_posixz00(obj_t, obj_t, obj_t);
	static obj_t BGl_objectzd2initzd2zz__rgc_posixz00(void);
	extern obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_listzd2ze3stringz31zz__r4_strings_6_7z00(obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_parsezd2posixzd2atomz00zz__rgc_posixz00(obj_t, obj_t);
	extern obj_t bstring_to_symbol(obj_t);
	extern obj_t c_substring(obj_t, long, long);
	static obj_t BGl_methodzd2initzd2zz__rgc_posixz00(void);
	static obj_t BGl_makezd2rgczd2orz00zz__rgc_posixz00(obj_t);
	BGL_EXPORTED_DECL obj_t BGl_posixzd2ze3rgcz31zz__rgc_posixz00(obj_t);
	static obj_t BGl_symbol1800z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1804z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_parsezd2posixzd2bracketz00zz__rgc_posixz00(obj_t, long);
	static obj_t BGl_symbol1806z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1812z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_symbol1814z00zz__rgc_posixz00 = BUNSPEC;
	static obj_t BGl_parsezd2posixzd2bracesz00zz__rgc_posixz00(obj_t, obj_t);
	static obj_t BGl_z62posixzd2ze3rgcz53zz__rgc_posixz00(obj_t, obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t *__cnst;


	   
		 
		DEFINE_STRING(BGl_string1790z00zz__rgc_posixz00,
		BgL_bgl_string1790za700za7za7_1820za7, "+", 1);
	      DEFINE_STRING(BGl_string1792z00zz__rgc_posixz00,
		BgL_bgl_string1792za700za7za7_1821za7, "?", 1);
	      DEFINE_STRING(BGl_string1794z00zz__rgc_posixz00,
		BgL_bgl_string1794za700za7za7_1822za7, "**", 2);
	      DEFINE_STRING(BGl_string1796z00zz__rgc_posixz00,
		BgL_bgl_string1796za700za7za7_1823za7, ">=", 2);
	      DEFINE_STRING(BGl_string1797z00zz__rgc_posixz00,
		BgL_bgl_string1797za700za7za7_1824za7, "RGC:Illegal posix string", 24);
	      DEFINE_STRING(BGl_string1799z00zz__rgc_posixz00,
		BgL_bgl_string1799za700za7za7_1825za7, "or", 2);
	      DEFINE_EXPORT_BGL_PROCEDURE(BGl_posixzd2ze3rgczd2envze3zz__rgc_posixz00,
		BgL_bgl_za762posixza7d2za7e3rg1826za7,
		BGl_z62posixzd2ze3rgcz53zz__rgc_posixz00, 0L, BUNSPEC, 1);
	      DEFINE_STRING(BGl_string1801z00zz__rgc_posixz00,
		BgL_bgl_string1801za700za7za7_1827za7, ":", 1);
	      DEFINE_STRING(BGl_string1802z00zz__rgc_posixz00,
		BgL_bgl_string1802za700za7za7_1828za7, "RGC: `^' regexps not supported.",
		31);
	      DEFINE_STRING(BGl_string1803z00zz__rgc_posixz00,
		BgL_bgl_string1803za700za7za7_1829za7, "RGC: `$' regexps not supported.",
		31);
	      DEFINE_STRING(BGl_string1805z00zz__rgc_posixz00,
		BgL_bgl_string1805za700za7za7_1830za7, "all", 3);
	      DEFINE_STRING(BGl_string1807z00zz__rgc_posixz00,
		BgL_bgl_string1807za700za7za7_1831za7, "submatch", 8);
	      DEFINE_STRING(BGl_string1808z00zz__rgc_posixz00,
		BgL_bgl_string1808za700za7za7_1832za7,
		"RGC:subexpression has no terminating close parenthesis", 54);
	      DEFINE_STRING(BGl_string1809z00zz__rgc_posixz00,
		BgL_bgl_string1809za700za7za7_1833za7,
		"RGC:expression may not terminate with a backslash", 49);
	      DEFINE_STRING(BGl_string1811z00zz__rgc_posixz00,
		BgL_bgl_string1811za700za7za7_1834za7,
		"double-bracket regexps not supported.", 37);
	      DEFINE_STRING(BGl_string1813z00zz__rgc_posixz00,
		BgL_bgl_string1813za700za7za7_1835za7, "out", 3);
	      DEFINE_STRING(BGl_string1815z00zz__rgc_posixz00,
		BgL_bgl_string1815za700za7za7_1836za7, "in", 2);
	      DEFINE_STRING(BGl_string1816z00zz__rgc_posixz00,
		BgL_bgl_string1816za700za7za7_1837za7, "Illegal - in [...] regexp", 25);
	      DEFINE_STRING(BGl_string1817z00zz__rgc_posixz00,
		BgL_bgl_string1817za700za7za7_1838za7,
		"Missing close right bracket in regexp", 37);
	      DEFINE_STRING(BGl_string1818z00zz__rgc_posixz00,
		BgL_bgl_string1818za700za7za7_1839za7, "Missing close brace in regexp", 29);
	      DEFINE_STRING(BGl_string1819z00zz__rgc_posixz00,
		BgL_bgl_string1819za700za7za7_1840za7, "__rgc_posix", 11);
	      DEFINE_STRING(BGl_string1783z00zz__rgc_posixz00,
		BgL_bgl_string1783za700za7za7_1841za7,
		"RGC:Illegal Posix regexp -- terminated early", 44);
	      DEFINE_STRING(BGl_string1784z00zz__rgc_posixz00,
		BgL_bgl_string1784za700za7za7_1842za7,
		"/tmp/bigloo/runtime/Rgc/rgcposix.scm", 36);
	      DEFINE_STRING(BGl_string1785z00zz__rgc_posixz00,
		BgL_bgl_string1785za700za7za7_1843za7, "&posix->rgc", 11);
	      DEFINE_STRING(BGl_string1786z00zz__rgc_posixz00,
		BgL_bgl_string1786za700za7za7_1844za7, "bstring", 7);
	      DEFINE_STRING(BGl_string1788z00zz__rgc_posixz00,
		BgL_bgl_string1788za700za7za7_1845za7, "*", 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_za2errzd2stringza2zd2zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_list1810z00zz__rgc_posixz00));
		   
			 ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1787z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1789z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1791z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1793z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1795z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1798z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1800z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1804z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1806z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1812z00zz__rgc_posixz00));
		     ADD_ROOT((void *) (&BGl_symbol1814z00zz__rgc_posixz00));
#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_posixz00(long
		BgL_checksumz00_2303, char *BgL_fromz00_2304)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__rgc_posixz00))
				{
					BGl_requirezd2initializa7ationz75zz__rgc_posixz00 =
						BBOOL(((bool_t) 0));
					BGl_gczd2rootszd2initz00zz__rgc_posixz00();
					BGl_cnstzd2initzd2zz__rgc_posixz00();
					BGl_importedzd2moduleszd2initz00zz__rgc_posixz00();
					return BGl_toplevelzd2initzd2zz__rgc_posixz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			BGl_symbol1787z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1788z00zz__rgc_posixz00);
			BGl_symbol1789z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1790z00zz__rgc_posixz00);
			BGl_symbol1791z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1792z00zz__rgc_posixz00);
			BGl_symbol1793z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1794z00zz__rgc_posixz00);
			BGl_symbol1795z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1796z00zz__rgc_posixz00);
			BGl_symbol1798z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1799z00zz__rgc_posixz00);
			BGl_symbol1800z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1801z00zz__rgc_posixz00);
			BGl_symbol1804z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1805z00zz__rgc_posixz00);
			BGl_symbol1806z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1807z00zz__rgc_posixz00);
			BGl_list1810z00zz__rgc_posixz00 =
				MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '.')),
				MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '=')),
					MAKE_YOUNG_PAIR(BCHAR(((unsigned char) ':')), BNIL)));
			BGl_symbol1812z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1813z00zz__rgc_posixz00);
			return (BGl_symbol1814z00zz__rgc_posixz00 =
				bstring_to_symbol(BGl_string1815z00zz__rgc_posixz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return (BGl_za2errzd2stringza2zd2zz__rgc_posixz00 = BUNSPEC, BUNSPEC);
		}

	}



/* posix->rgc */
	BGL_EXPORTED_DEF obj_t BGl_posixzd2ze3rgcz31zz__rgc_posixz00(obj_t BgL_sz00_3)
	{
		{	/* Rgc/rgcposix.scm 52 */
			BGl_za2errzd2stringza2zd2zz__rgc_posixz00 = BgL_sz00_3;
			{	/* Rgc/rgcposix.scm 54 */
				obj_t BgL_rgcz00_1193;

				BgL_rgcz00_1193 =
					BGl_parsezd2posixzd2expz00zz__rgc_posixz00(BgL_sz00_3, 0L);
				{	/* Rgc/rgcposix.scm 55 */
					obj_t BgL_iz00_1194;

					{	/* Rgc/rgcposix.scm 56 */
						obj_t BgL_tmpz00_1872;

						{	/* Rgc/rgcposix.scm 56 */
							int BgL_tmpz00_2331;

							BgL_tmpz00_2331 = (int) (1L);
							BgL_tmpz00_1872 = BGL_MVALUES_VAL(BgL_tmpz00_2331);
						}
						{	/* Rgc/rgcposix.scm 56 */
							int BgL_tmpz00_2334;

							BgL_tmpz00_2334 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_2334, BUNSPEC);
						}
						BgL_iz00_1194 = BgL_tmpz00_1872;
					}
					if (((long) CINT(BgL_iz00_1194) == STRING_LENGTH(BgL_sz00_3)))
						{	/* Rgc/rgcposix.scm 56 */
							return BgL_rgcz00_1193;
						}
					else
						{	/* Rgc/rgcposix.scm 56 */
							return
								BGl_errorz00zz__errorz00(BFALSE,
								BGl_string1783z00zz__rgc_posixz00,
								BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
						}
				}
			}
		}

	}



/* &posix->rgc */
	obj_t BGl_z62posixzd2ze3rgcz53zz__rgc_posixz00(obj_t BgL_envz00_2299,
		obj_t BgL_sz00_2300)
	{
		{	/* Rgc/rgcposix.scm 52 */
			{	/* Rgc/rgcposix.scm 53 */
				obj_t BgL_auxz00_2342;

				if (STRINGP(BgL_sz00_2300))
					{	/* Rgc/rgcposix.scm 53 */
						BgL_auxz00_2342 = BgL_sz00_2300;
					}
				else
					{
						obj_t BgL_auxz00_2345;

						BgL_auxz00_2345 =
							BGl_typezd2errorzd2zz__errorz00(BGl_string1784z00zz__rgc_posixz00,
							BINT(1819L), BGl_string1785z00zz__rgc_posixz00,
							BGl_string1786z00zz__rgc_posixz00, BgL_sz00_2300);
						FAILURE(BgL_auxz00_2345, BFALSE, BFALSE);
					}
				return BGl_posixzd2ze3rgcz31zz__rgc_posixz00(BgL_auxz00_2342);
			}
		}

	}



/* make-rgc-repeat */
	obj_t BGl_makezd2rgczd2repeatz00zz__rgc_posixz00(obj_t BgL_minz00_5,
		obj_t BgL_maxz00_6, obj_t BgL_rgcz00_7)
	{
		{	/* Rgc/rgcposix.scm 77 */
			{	/* Rgc/rgcposix.scm 79 */
				bool_t BgL_test1849z00_2350;

				if ((BgL_minz00_5 == BINT(0L)))
					{	/* Rgc/rgcposix.scm 79 */
						if (CBOOL(BgL_maxz00_6))
							{	/* Rgc/rgcposix.scm 79 */
								BgL_test1849z00_2350 = ((bool_t) 0);
							}
						else
							{	/* Rgc/rgcposix.scm 79 */
								BgL_test1849z00_2350 = ((bool_t) 1);
							}
					}
				else
					{	/* Rgc/rgcposix.scm 79 */
						BgL_test1849z00_2350 = ((bool_t) 0);
					}
				if (BgL_test1849z00_2350)
					{	/* Rgc/rgcposix.scm 80 */
						obj_t BgL_arg1256z00_1199;

						BgL_arg1256z00_1199 = MAKE_YOUNG_PAIR(BgL_rgcz00_7, BNIL);
						return
							MAKE_YOUNG_PAIR(BGl_symbol1787z00zz__rgc_posixz00,
							BgL_arg1256z00_1199);
					}
				else
					{	/* Rgc/rgcposix.scm 81 */
						bool_t BgL_test1852z00_2358;

						if ((BgL_minz00_5 == BINT(1L)))
							{	/* Rgc/rgcposix.scm 81 */
								if (CBOOL(BgL_maxz00_6))
									{	/* Rgc/rgcposix.scm 81 */
										BgL_test1852z00_2358 = ((bool_t) 0);
									}
								else
									{	/* Rgc/rgcposix.scm 81 */
										BgL_test1852z00_2358 = ((bool_t) 1);
									}
							}
						else
							{	/* Rgc/rgcposix.scm 81 */
								BgL_test1852z00_2358 = ((bool_t) 0);
							}
						if (BgL_test1852z00_2358)
							{	/* Rgc/rgcposix.scm 82 */
								obj_t BgL_arg1259z00_1201;

								BgL_arg1259z00_1201 = MAKE_YOUNG_PAIR(BgL_rgcz00_7, BNIL);
								return
									MAKE_YOUNG_PAIR(BGl_symbol1789z00zz__rgc_posixz00,
									BgL_arg1259z00_1201);
							}
						else
							{	/* Rgc/rgcposix.scm 83 */
								bool_t BgL_test1855z00_2366;

								if ((BgL_minz00_5 == BINT(0L)))
									{	/* Rgc/rgcposix.scm 83 */
										BgL_test1855z00_2366 = (BgL_maxz00_6 == BINT(1L));
									}
								else
									{	/* Rgc/rgcposix.scm 83 */
										BgL_test1855z00_2366 = ((bool_t) 0);
									}
								if (BgL_test1855z00_2366)
									{	/* Rgc/rgcposix.scm 84 */
										obj_t BgL_arg1265z00_1203;

										BgL_arg1265z00_1203 = MAKE_YOUNG_PAIR(BgL_rgcz00_7, BNIL);
										return
											MAKE_YOUNG_PAIR(BGl_symbol1791z00zz__rgc_posixz00,
											BgL_arg1265z00_1203);
									}
								else
									{	/* Rgc/rgcposix.scm 83 */
										if (CBOOL(BgL_maxz00_6))
											{	/* Rgc/rgcposix.scm 88 */
												obj_t BgL_arg1275z00_1204;

												{	/* Rgc/rgcposix.scm 88 */
													obj_t BgL_arg1276z00_1205;

													{	/* Rgc/rgcposix.scm 88 */
														obj_t BgL_arg1277z00_1206;

														BgL_arg1277z00_1206 =
															MAKE_YOUNG_PAIR(BgL_rgcz00_7, BNIL);
														BgL_arg1276z00_1205 =
															MAKE_YOUNG_PAIR(BgL_maxz00_6,
															BgL_arg1277z00_1206);
													}
													BgL_arg1275z00_1204 =
														MAKE_YOUNG_PAIR(BgL_minz00_5, BgL_arg1276z00_1205);
												}
												return
													MAKE_YOUNG_PAIR(BGl_symbol1793z00zz__rgc_posixz00,
													BgL_arg1275z00_1204);
											}
										else
											{	/* Rgc/rgcposix.scm 86 */
												obj_t BgL_arg1279z00_1207;

												{	/* Rgc/rgcposix.scm 86 */
													obj_t BgL_arg1281z00_1208;

													BgL_arg1281z00_1208 =
														MAKE_YOUNG_PAIR(BgL_rgcz00_7, BNIL);
													BgL_arg1279z00_1207 =
														MAKE_YOUNG_PAIR(BgL_minz00_5, BgL_arg1281z00_1208);
												}
												return
													MAKE_YOUNG_PAIR(BGl_symbol1795z00zz__rgc_posixz00,
													BgL_arg1279z00_1207);
											}
									}
							}
					}
			}
		}

	}



/* make-rgc-or */
	obj_t BGl_makezd2rgczd2orz00zz__rgc_posixz00(obj_t BgL_rgcsz00_8)
	{
		{	/* Rgc/rgcposix.scm 93 */
			if (NULLP(BgL_rgcsz00_8))
				{	/* Rgc/rgcposix.scm 95 */
					return
						BGl_errorz00zz__errorz00(BFALSE, BGl_string1797z00zz__rgc_posixz00,
						BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
				}
			else
				{	/* Rgc/rgcposix.scm 95 */
					if (NULLP(CDR(BgL_rgcsz00_8)))
						{	/* Rgc/rgcposix.scm 97 */
							return CAR(BgL_rgcsz00_8);
						}
					else
						{	/* Rgc/rgcposix.scm 100 */
							obj_t BgL_arg1285z00_1212;

							BgL_arg1285z00_1212 =
								BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_rgcsz00_8,
								BNIL);
							return MAKE_YOUNG_PAIR(BGl_symbol1798z00zz__rgc_posixz00,
								BgL_arg1285z00_1212);
						}
				}
		}

	}



/* make-rgc-sequence */
	obj_t BGl_makezd2rgczd2sequencez00zz__rgc_posixz00(obj_t BgL_rgcsz00_9)
	{
		{	/* Rgc/rgcposix.scm 105 */
			if (NULLP(BgL_rgcsz00_9))
				{	/* Rgc/rgcposix.scm 107 */
					return
						BGl_errorz00zz__errorz00(BFALSE, BGl_string1797z00zz__rgc_posixz00,
						BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
				}
			else
				{	/* Rgc/rgcposix.scm 107 */
					if (NULLP(CDR(BgL_rgcsz00_9)))
						{	/* Rgc/rgcposix.scm 109 */
							return CAR(BgL_rgcsz00_9);
						}
					else
						{	/* Rgc/rgcposix.scm 112 */
							obj_t BgL_arg1291z00_1217;

							BgL_arg1291z00_1217 =
								BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00(BgL_rgcsz00_9,
								BNIL);
							return MAKE_YOUNG_PAIR(BGl_symbol1800z00zz__rgc_posixz00,
								BgL_arg1291z00_1217);
						}
				}
		}

	}



/* parse-posix-exp */
	obj_t BGl_parsezd2posixzd2expz00zz__rgc_posixz00(obj_t BgL_sz00_10,
		long BgL_iz00_11)
	{
		{	/* Rgc/rgcposix.scm 119 */
			{	/* Rgc/rgcposix.scm 120 */
				long BgL_lenz00_1219;

				BgL_lenz00_1219 = STRING_LENGTH(BgL_sz00_10);
				if ((BgL_iz00_11 < BgL_lenz00_1219))
					{
						long BgL_iz00_1223;
						obj_t BgL_branchesz00_1224;

						BgL_iz00_1223 = BgL_iz00_11;
						BgL_branchesz00_1224 = BNIL;
					BgL_zc3z04anonymousza31294ze3z87_1225:
						{	/* Rgc/rgcposix.scm 124 */
							obj_t BgL_branchz00_1226;

							BgL_branchz00_1226 =
								BGl_parsezd2posixzd2branchz00zz__rgc_posixz00(BgL_sz00_10,
								BgL_iz00_1223);
							{	/* Rgc/rgcposix.scm 125 */
								obj_t BgL_iz00_1227;

								{	/* Rgc/rgcposix.scm 126 */
									obj_t BgL_tmpz00_1883;

									{	/* Rgc/rgcposix.scm 126 */
										int BgL_tmpz00_2405;

										BgL_tmpz00_2405 = (int) (1L);
										BgL_tmpz00_1883 = BGL_MVALUES_VAL(BgL_tmpz00_2405);
									}
									{	/* Rgc/rgcposix.scm 126 */
										int BgL_tmpz00_2408;

										BgL_tmpz00_2408 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2408, BUNSPEC);
									}
									BgL_iz00_1227 = BgL_tmpz00_1883;
								}
								{	/* Rgc/rgcposix.scm 126 */
									obj_t BgL_branchesz00_1228;

									BgL_branchesz00_1228 =
										MAKE_YOUNG_PAIR(BgL_branchz00_1226, BgL_branchesz00_1224);
									{	/* Rgc/rgcposix.scm 127 */
										bool_t BgL_test1863z00_2412;

										if (((long) CINT(BgL_iz00_1227) < BgL_lenz00_1219))
											{	/* Rgc/rgcposix.scm 127 */
												BgL_test1863z00_2412 =
													(((unsigned char) '|') ==
													STRING_REF(BgL_sz00_10, (long) CINT(BgL_iz00_1227)));
											}
										else
											{	/* Rgc/rgcposix.scm 127 */
												BgL_test1863z00_2412 = ((bool_t) 0);
											}
										if (BgL_test1863z00_2412)
											{
												obj_t BgL_branchesz00_2422;
												long BgL_iz00_2419;

												BgL_iz00_2419 = ((long) CINT(BgL_iz00_1227) + 1L);
												BgL_branchesz00_2422 = BgL_branchesz00_1228;
												BgL_branchesz00_1224 = BgL_branchesz00_2422;
												BgL_iz00_1223 = BgL_iz00_2419;
												goto BgL_zc3z04anonymousza31294ze3z87_1225;
											}
										else
											{	/* Rgc/rgcposix.scm 129 */
												obj_t BgL_val0_1102z00_1233;

												BgL_val0_1102z00_1233 =
													BGl_makezd2rgczd2orz00zz__rgc_posixz00(bgl_reverse
													(BgL_branchesz00_1228));
												{	/* Rgc/rgcposix.scm 129 */
													int BgL_tmpz00_2425;

													BgL_tmpz00_2425 = (int) (2L);
													BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2425);
												}
												{	/* Rgc/rgcposix.scm 129 */
													int BgL_tmpz00_2428;

													BgL_tmpz00_2428 = (int) (1L);
													BGL_MVALUES_VAL_SET(BgL_tmpz00_2428, BgL_iz00_1227);
												}
												return BgL_val0_1102z00_1233;
											}
									}
								}
							}
						}
					}
				else
					{	/* Rgc/rgcposix.scm 121 */
						{	/* Rgc/rgcposix.scm 130 */
							int BgL_tmpz00_2431;

							BgL_tmpz00_2431 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2431);
						}
						{	/* Rgc/rgcposix.scm 130 */
							obj_t BgL_auxz00_2436;
							int BgL_tmpz00_2434;

							BgL_auxz00_2436 = BINT(BgL_iz00_11);
							BgL_tmpz00_2434 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_2434, BgL_auxz00_2436);
						}
						return BNIL;
					}
			}
		}

	}



/* parse-posix-branch */
	obj_t BGl_parsezd2posixzd2branchz00zz__rgc_posixz00(obj_t BgL_sz00_12,
		long BgL_iz00_13)
	{
		{	/* Rgc/rgcposix.scm 138 */
			{	/* Rgc/rgcposix.scm 139 */
				long BgL_lenz00_1241;

				BgL_lenz00_1241 = STRING_LENGTH(BgL_sz00_12);
				{
					obj_t BgL_iz00_1244;
					obj_t BgL_piecesz00_1245;

					BgL_iz00_1244 = BINT(BgL_iz00_13);
					BgL_piecesz00_1245 = BNIL;
				BgL_zc3z04anonymousza31328ze3z87_1246:
					if (((long) CINT(BgL_iz00_1244) < BgL_lenz00_1241))
						{	/* Rgc/rgcposix.scm 143 */
							obj_t BgL_piecez00_1248;

							BgL_piecez00_1248 =
								BGl_parsezd2posixzd2piecez00zz__rgc_posixz00(BgL_sz00_12,
								BgL_iz00_1244);
							{	/* Rgc/rgcposix.scm 144 */
								obj_t BgL_iz00_1249;

								{	/* Rgc/rgcposix.scm 145 */
									obj_t BgL_tmpz00_1894;

									{	/* Rgc/rgcposix.scm 145 */
										int BgL_tmpz00_2444;

										BgL_tmpz00_2444 = (int) (1L);
										BgL_tmpz00_1894 = BGL_MVALUES_VAL(BgL_tmpz00_2444);
									}
									{	/* Rgc/rgcposix.scm 145 */
										int BgL_tmpz00_2447;

										BgL_tmpz00_2447 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2447, BUNSPEC);
									}
									BgL_iz00_1249 = BgL_tmpz00_1894;
								}
								{	/* Rgc/rgcposix.scm 145 */
									obj_t BgL_piecesz00_1250;

									BgL_piecesz00_1250 =
										MAKE_YOUNG_PAIR(BgL_piecez00_1248, BgL_piecesz00_1245);
									if (((long) CINT(BgL_iz00_1249) < BgL_lenz00_1241))
										{	/* Rgc/rgcposix.scm 147 */
											unsigned char BgL_aux1042z00_1253;

											BgL_aux1042z00_1253 =
												STRING_REF(BgL_sz00_12, (long) CINT(BgL_iz00_1249));
											switch (BgL_aux1042z00_1253)
												{
												case ((unsigned char) ')'):
												case ((unsigned char) '|'):

													{	/* Rgc/rgcposix.scm 149 */
														obj_t BgL_val0_1106z00_1255;

														BgL_val0_1106z00_1255 =
															BGl_makezd2rgczd2sequencez00zz__rgc_posixz00
															(bgl_reverse(BgL_piecesz00_1250));
														{	/* Rgc/rgcposix.scm 149 */
															int BgL_tmpz00_2458;

															BgL_tmpz00_2458 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2458);
														}
														{	/* Rgc/rgcposix.scm 149 */
															int BgL_tmpz00_2461;

															BgL_tmpz00_2461 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2461,
																BgL_iz00_1249);
														}
														return BgL_val0_1106z00_1255;
													}
													break;
												default:
													{
														obj_t BgL_piecesz00_2465;
														obj_t BgL_iz00_2464;

														BgL_iz00_2464 = BgL_iz00_1249;
														BgL_piecesz00_2465 = BgL_piecesz00_1250;
														BgL_piecesz00_1245 = BgL_piecesz00_2465;
														BgL_iz00_1244 = BgL_iz00_2464;
														goto BgL_zc3z04anonymousza31328ze3z87_1246;
													}
												}
										}
									else
										{	/* Rgc/rgcposix.scm 152 */
											obj_t BgL_val0_1108z00_1258;

											BgL_val0_1108z00_1258 =
												BGl_makezd2rgczd2sequencez00zz__rgc_posixz00(bgl_reverse
												(BgL_piecesz00_1250));
											{	/* Rgc/rgcposix.scm 152 */
												int BgL_tmpz00_2469;

												BgL_tmpz00_2469 = (int) (2L);
												BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2469);
											}
											{	/* Rgc/rgcposix.scm 152 */
												int BgL_tmpz00_2472;

												BgL_tmpz00_2472 = (int) (1L);
												BGL_MVALUES_VAL_SET(BgL_tmpz00_2472, BgL_iz00_1249);
											}
											return BgL_val0_1108z00_1258;
										}
								}
							}
						}
					else
						{	/* Rgc/rgcposix.scm 153 */
							obj_t BgL_val0_1110z00_1261;

							BgL_val0_1110z00_1261 =
								BGl_makezd2rgczd2sequencez00zz__rgc_posixz00(bgl_reverse
								(BgL_piecesz00_1245));
							{	/* Rgc/rgcposix.scm 153 */
								int BgL_tmpz00_2477;

								BgL_tmpz00_2477 = (int) (2L);
								BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2477);
							}
							{	/* Rgc/rgcposix.scm 153 */
								int BgL_tmpz00_2480;

								BgL_tmpz00_2480 = (int) (1L);
								BGL_MVALUES_VAL_SET(BgL_tmpz00_2480, BgL_iz00_1244);
							}
							return BgL_val0_1110z00_1261;
						}
				}
			}
		}

	}



/* parse-posix-piece */
	obj_t BGl_parsezd2posixzd2piecez00zz__rgc_posixz00(obj_t BgL_sz00_14,
		obj_t BgL_iz00_15)
	{
		{	/* Rgc/rgcposix.scm 161 */
			{	/* Rgc/rgcposix.scm 162 */
				long BgL_lenz00_1265;

				BgL_lenz00_1265 = STRING_LENGTH(BgL_sz00_14);
				{	/* Rgc/rgcposix.scm 163 */
					obj_t BgL_atomz00_1266;

					BgL_atomz00_1266 =
						BGl_parsezd2posixzd2atomz00zz__rgc_posixz00(BgL_sz00_14,
						BgL_iz00_15);
					{	/* Rgc/rgcposix.scm 164 */
						obj_t BgL_iz00_1267;

						{	/* Rgc/rgcposix.scm 165 */
							obj_t BgL_tmpz00_1900;

							{	/* Rgc/rgcposix.scm 165 */
								int BgL_tmpz00_2486;

								BgL_tmpz00_2486 = (int) (1L);
								BgL_tmpz00_1900 = BGL_MVALUES_VAL(BgL_tmpz00_2486);
							}
							{	/* Rgc/rgcposix.scm 165 */
								int BgL_tmpz00_2489;

								BgL_tmpz00_2489 = (int) (1L);
								BGL_MVALUES_VAL_SET(BgL_tmpz00_2489, BUNSPEC);
							}
							BgL_iz00_1267 = BgL_tmpz00_1900;
						}
						if (((long) CINT(BgL_iz00_1267) < BgL_lenz00_1265))
							{

								{	/* Rgc/rgcposix.scm 166 */
									unsigned char BgL_aux1044z00_1270;

									BgL_aux1044z00_1270 =
										STRING_REF(BgL_sz00_14, (long) CINT(BgL_iz00_1267));
									switch (BgL_aux1044z00_1270)
										{
										case ((unsigned char) '*'):
										case ((unsigned char) '+'):
										case ((unsigned char) '?'):

											{	/* Rgc/rgcposix.scm 168 */
												obj_t BgL_fromz00_1272;

												switch (BgL_aux1044z00_1270)
													{
													case ((unsigned char) '*'):

														{	/* Rgc/rgcposix.scm 170 */
															int BgL_tmpz00_2497;

															BgL_tmpz00_2497 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2497);
														}
														{	/* Rgc/rgcposix.scm 170 */
															int BgL_tmpz00_2500;

															BgL_tmpz00_2500 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2500, BFALSE);
														}
														BgL_fromz00_1272 = BINT(0L);
														break;
													case ((unsigned char) '+'):

														{	/* Rgc/rgcposix.scm 171 */
															int BgL_tmpz00_2504;

															BgL_tmpz00_2504 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2504);
														}
														{	/* Rgc/rgcposix.scm 171 */
															int BgL_tmpz00_2507;

															BgL_tmpz00_2507 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2507, BFALSE);
														}
														BgL_fromz00_1272 = BINT(1L);
														break;
													case ((unsigned char) '?'):

														{	/* Rgc/rgcposix.scm 172 */
															int BgL_tmpz00_2511;

															BgL_tmpz00_2511 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2511);
														}
														{	/* Rgc/rgcposix.scm 172 */
															obj_t BgL_auxz00_2516;
															int BgL_tmpz00_2514;

															BgL_auxz00_2516 = BINT(1L);
															BgL_tmpz00_2514 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2514,
																BgL_auxz00_2516);
														}
														BgL_fromz00_1272 = BINT(0L);
														break;
													default:
														BgL_fromz00_1272 = BUNSPEC;
													}
												{	/* Rgc/rgcposix.scm 169 */
													obj_t BgL_toz00_1273;

													{	/* Rgc/rgcposix.scm 173 */
														obj_t BgL_tmpz00_1907;

														{	/* Rgc/rgcposix.scm 173 */
															int BgL_tmpz00_2521;

															BgL_tmpz00_2521 = (int) (1L);
															BgL_tmpz00_1907 =
																BGL_MVALUES_VAL(BgL_tmpz00_2521);
														}
														{	/* Rgc/rgcposix.scm 173 */
															int BgL_tmpz00_2524;

															BgL_tmpz00_2524 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2524, BUNSPEC);
														}
														BgL_toz00_1273 = BgL_tmpz00_1907;
													}
													{	/* Rgc/rgcposix.scm 173 */
														obj_t BgL_val0_1120z00_1274;
														long BgL_val1_1121z00_1275;

														BgL_val0_1120z00_1274 =
															BGl_makezd2rgczd2repeatz00zz__rgc_posixz00
															(BgL_fromz00_1272, BgL_toz00_1273,
															BgL_atomz00_1266);
														BgL_val1_1121z00_1275 =
															((long) CINT(BgL_iz00_1267) + 1L);
														{	/* Rgc/rgcposix.scm 173 */
															int BgL_tmpz00_2530;

															BgL_tmpz00_2530 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2530);
														}
														{	/* Rgc/rgcposix.scm 173 */
															obj_t BgL_auxz00_2535;
															int BgL_tmpz00_2533;

															BgL_auxz00_2535 = BINT(BgL_val1_1121z00_1275);
															BgL_tmpz00_2533 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2533,
																BgL_auxz00_2535);
														}
														return BgL_val0_1120z00_1274;
													}
												}
											}
											break;
										case ((unsigned char) '{'):

											{	/* Rgc/rgcposix.scm 175 */
												obj_t BgL_fromz00_1285;

												{	/* Rgc/rgcposix.scm 176 */
													obj_t BgL_arg1338z00_1290;

													if (INTEGERP(BgL_iz00_1267))
														{	/* Rgc/rgcposix.scm 176 */
															BgL_arg1338z00_1290 =
																ADDFX(BgL_iz00_1267, BINT(1L));
														}
													else
														{	/* Rgc/rgcposix.scm 176 */
															BgL_arg1338z00_1290 =
																BGl_2zb2zb2zz__r4_numbers_6_5z00(BgL_iz00_1267,
																BINT(1L));
														}
													BgL_fromz00_1285 =
														BGl_parsezd2posixzd2bracesz00zz__rgc_posixz00
														(BgL_sz00_14, BgL_arg1338z00_1290);
												}
												{	/* Rgc/rgcposix.scm 176 */
													obj_t BgL_toz00_1286;
													obj_t BgL_iz00_1287;

													{	/* Rgc/rgcposix.scm 177 */
														obj_t BgL_tmpz00_1910;

														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2545;

															BgL_tmpz00_2545 = (int) (1L);
															BgL_tmpz00_1910 =
																BGL_MVALUES_VAL(BgL_tmpz00_2545);
														}
														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2548;

															BgL_tmpz00_2548 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2548, BUNSPEC);
														}
														BgL_toz00_1286 = BgL_tmpz00_1910;
													}
													{	/* Rgc/rgcposix.scm 177 */
														obj_t BgL_tmpz00_1911;

														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2551;

															BgL_tmpz00_2551 = (int) (2L);
															BgL_tmpz00_1911 =
																BGL_MVALUES_VAL(BgL_tmpz00_2551);
														}
														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2554;

															BgL_tmpz00_2554 = (int) (2L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2554, BUNSPEC);
														}
														BgL_iz00_1287 = BgL_tmpz00_1911;
													}
													{	/* Rgc/rgcposix.scm 177 */
														obj_t BgL_val0_1122z00_1288;

														BgL_val0_1122z00_1288 =
															BGl_makezd2rgczd2repeatz00zz__rgc_posixz00
															(BgL_fromz00_1285, BgL_toz00_1286,
															BgL_atomz00_1266);
														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2558;

															BgL_tmpz00_2558 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2558);
														}
														{	/* Rgc/rgcposix.scm 177 */
															int BgL_tmpz00_2561;

															BgL_tmpz00_2561 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2561,
																BgL_iz00_1287);
														}
														return BgL_val0_1122z00_1288;
													}
												}
											}
											break;
										default:
											{	/* Rgc/rgcposix.scm 178 */
												int BgL_tmpz00_2564;

												BgL_tmpz00_2564 = (int) (2L);
												BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2564);
											}
											{	/* Rgc/rgcposix.scm 178 */
												int BgL_tmpz00_2567;

												BgL_tmpz00_2567 = (int) (1L);
												BGL_MVALUES_VAL_SET(BgL_tmpz00_2567, BgL_iz00_1267);
											}
											return BgL_atomz00_1266;
										}
								}
							}
						else
							{	/* Rgc/rgcposix.scm 165 */
								{	/* Rgc/rgcposix.scm 179 */
									int BgL_tmpz00_2571;

									BgL_tmpz00_2571 = (int) (2L);
									BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2571);
								}
								{	/* Rgc/rgcposix.scm 179 */
									int BgL_tmpz00_2574;

									BgL_tmpz00_2574 = (int) (1L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_2574, BgL_iz00_1267);
								}
								return BgL_atomz00_1266;
							}
					}
				}
			}
		}

	}



/* parse-posix-atom */
	obj_t BGl_parsezd2posixzd2atomz00zz__rgc_posixz00(obj_t BgL_sz00_16,
		obj_t BgL_iz00_17)
	{
		{	/* Rgc/rgcposix.scm 187 */
			{	/* Rgc/rgcposix.scm 188 */
				long BgL_lenz00_1295;

				BgL_lenz00_1295 = STRING_LENGTH(BgL_sz00_16);
				if (((long) CINT(BgL_iz00_17) < BgL_lenz00_1295))
					{	/* Rgc/rgcposix.scm 190 */
						unsigned char BgL_cz00_1298;

						BgL_cz00_1298 = STRING_REF(BgL_sz00_16, (long) CINT(BgL_iz00_17));
						{

							switch (BgL_cz00_1298)
								{
								case ((unsigned char) '^'):

									return
										BGl_errorz00zz__errorz00(BFALSE,
										BGl_string1802z00zz__rgc_posixz00,
										BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
									break;
								case ((unsigned char) '$'):

									return
										BGl_errorz00zz__errorz00(BFALSE,
										BGl_string1803z00zz__rgc_posixz00,
										BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
									break;
								case ((unsigned char) '.'):

									{	/* Rgc/rgcposix.scm 194 */
										obj_t BgL_val0_1128z00_1302;
										long BgL_val1_1129z00_1303;

										BgL_val0_1128z00_1302 = BGl_symbol1804z00zz__rgc_posixz00;
										BgL_val1_1129z00_1303 = ((long) CINT(BgL_iz00_17) + 1L);
										{	/* Rgc/rgcposix.scm 194 */
											int BgL_tmpz00_2587;

											BgL_tmpz00_2587 = (int) (2L);
											BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2587);
										}
										{	/* Rgc/rgcposix.scm 194 */
											obj_t BgL_auxz00_2592;
											int BgL_tmpz00_2590;

											BgL_auxz00_2592 = BINT(BgL_val1_1129z00_1303);
											BgL_tmpz00_2590 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_2590, BgL_auxz00_2592);
										}
										return BgL_val0_1128z00_1302;
									}
									break;
								case ((unsigned char) '['):

									return
										BGl_parsezd2posixzd2bracketz00zz__rgc_posixz00(BgL_sz00_16,
										((long) CINT(BgL_iz00_17) + 1L));
									break;
								case ((unsigned char) '('):

									{	/* Rgc/rgcposix.scm 196 */
										obj_t BgL_rez00_1305;

										BgL_rez00_1305 =
											BGl_parsezd2posixzd2expz00zz__rgc_posixz00(BgL_sz00_16,
											((long) CINT(BgL_iz00_17) + 1L));
										{	/* Rgc/rgcposix.scm 197 */
											obj_t BgL_iz00_1306;

											{	/* Rgc/rgcposix.scm 198 */
												obj_t BgL_tmpz00_1922;

												{	/* Rgc/rgcposix.scm 198 */
													int BgL_tmpz00_2601;

													BgL_tmpz00_2601 = (int) (1L);
													BgL_tmpz00_1922 = BGL_MVALUES_VAL(BgL_tmpz00_2601);
												}
												{	/* Rgc/rgcposix.scm 198 */
													int BgL_tmpz00_2604;

													BgL_tmpz00_2604 = (int) (1L);
													BGL_MVALUES_VAL_SET(BgL_tmpz00_2604, BUNSPEC);
												}
												BgL_iz00_1306 = BgL_tmpz00_1922;
											}
											{	/* Rgc/rgcposix.scm 198 */
												bool_t BgL_test1870z00_2607;

												if (((long) CINT(BgL_iz00_1306) < BgL_lenz00_1295))
													{	/* Rgc/rgcposix.scm 198 */
														BgL_test1870z00_2607 =
															(((unsigned char) ')') ==
															STRING_REF(BgL_sz00_16,
																(long) CINT(BgL_iz00_1306)));
													}
												else
													{	/* Rgc/rgcposix.scm 198 */
														BgL_test1870z00_2607 = ((bool_t) 0);
													}
												if (BgL_test1870z00_2607)
													{	/* Rgc/rgcposix.scm 199 */
														obj_t BgL_val0_1130z00_1310;
														long BgL_val1_1131z00_1311;

														{	/* Rgc/rgcposix.scm 199 */
															obj_t BgL_arg1346z00_1312;

															BgL_arg1346z00_1312 =
																MAKE_YOUNG_PAIR(BgL_rez00_1305, BNIL);
															BgL_val0_1130z00_1310 =
																MAKE_YOUNG_PAIR
																(BGl_symbol1806z00zz__rgc_posixz00,
																BgL_arg1346z00_1312);
														}
														BgL_val1_1131z00_1311 =
															((long) CINT(BgL_iz00_1306) + 1L);
														{	/* Rgc/rgcposix.scm 199 */
															int BgL_tmpz00_2618;

															BgL_tmpz00_2618 = (int) (2L);
															BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2618);
														}
														{	/* Rgc/rgcposix.scm 199 */
															obj_t BgL_auxz00_2623;
															int BgL_tmpz00_2621;

															BgL_auxz00_2623 = BINT(BgL_val1_1131z00_1311);
															BgL_tmpz00_2621 = (int) (1L);
															BGL_MVALUES_VAL_SET(BgL_tmpz00_2621,
																BgL_auxz00_2623);
														}
														return BgL_val0_1130z00_1310;
													}
												else
													{	/* Rgc/rgcposix.scm 198 */
														return
															BGl_errorz00zz__errorz00(BFALSE,
															BGl_string1808z00zz__rgc_posixz00,
															BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
													}
											}
										}
									}
									break;
								case ((unsigned char) '\\'):

									{	/* Rgc/rgcposix.scm 201 */
										long BgL_iz00_1316;

										BgL_iz00_1316 = ((long) CINT(BgL_iz00_17) + 1L);
										if ((BgL_iz00_1316 < BgL_lenz00_1295))
											{	/* Rgc/rgcposix.scm 203 */
												obj_t BgL_val0_1132z00_1318;
												long BgL_val1_1133z00_1319;

												{	/* Rgc/rgcposix.scm 203 */
													unsigned char BgL_arg1352z00_1320;

													BgL_arg1352z00_1320 =
														STRING_REF(BgL_sz00_16, BgL_iz00_1316);
													{	/* Rgc/rgcposix.scm 203 */
														obj_t BgL_list1353z00_1321;

														BgL_list1353z00_1321 =
															MAKE_YOUNG_PAIR(BCHAR(BgL_arg1352z00_1320), BNIL);
														BgL_val0_1132z00_1318 =
															BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
															(BgL_list1353z00_1321);
												}}
												BgL_val1_1133z00_1319 = (BgL_iz00_1316 + 1L);
												{	/* Rgc/rgcposix.scm 203 */
													int BgL_tmpz00_2636;

													BgL_tmpz00_2636 = (int) (2L);
													BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2636);
												}
												{	/* Rgc/rgcposix.scm 203 */
													obj_t BgL_auxz00_2641;
													int BgL_tmpz00_2639;

													BgL_auxz00_2641 = BINT(BgL_val1_1133z00_1319);
													BgL_tmpz00_2639 = (int) (1L);
													BGL_MVALUES_VAL_SET(BgL_tmpz00_2639, BgL_auxz00_2641);
												}
												return BgL_val0_1132z00_1318;
											}
										else
											{	/* Rgc/rgcposix.scm 202 */
												return
													BGl_errorz00zz__errorz00(BFALSE,
													BGl_string1809z00zz__rgc_posixz00,
													BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
											}
									}
									break;
								case ((unsigned char) ')'):
								case ((unsigned char) '|'):
								case ((unsigned char) '*'):
								case ((unsigned char) '+'):
								case ((unsigned char) '?'):
								case ((unsigned char) '{'):

									{	/* Rgc/rgcposix.scm 206 */
										int BgL_tmpz00_2645;

										BgL_tmpz00_2645 = (int) (2L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2645);
									}
									{	/* Rgc/rgcposix.scm 206 */
										int BgL_tmpz00_2648;

										BgL_tmpz00_2648 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2648, BgL_iz00_17);
									}
									return BNIL;
									break;
								default:
									{	/* Rgc/rgcposix.scm 207 */
										obj_t BgL_val0_1126z00_1324;
										long BgL_val1_1127z00_1325;

										{	/* Rgc/rgcposix.scm 207 */
											obj_t BgL_list1354z00_1326;

											BgL_list1354z00_1326 =
												MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1298), BNIL);
											BgL_val0_1126z00_1324 =
												BGl_listzd2ze3stringz31zz__r4_strings_6_7z00
												(BgL_list1354z00_1326);
										}
										BgL_val1_1127z00_1325 = ((long) CINT(BgL_iz00_17) + 1L);
										{	/* Rgc/rgcposix.scm 207 */
											int BgL_tmpz00_2656;

											BgL_tmpz00_2656 = (int) (2L);
											BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2656);
										}
										{	/* Rgc/rgcposix.scm 207 */
											obj_t BgL_auxz00_2661;
											int BgL_tmpz00_2659;

											BgL_auxz00_2661 = BINT(BgL_val1_1127z00_1325);
											BgL_tmpz00_2659 = (int) (1L);
											BGL_MVALUES_VAL_SET(BgL_tmpz00_2659, BgL_auxz00_2661);
										}
										return BgL_val0_1126z00_1324;
									}
								}
						}
					}
				else
					{	/* Rgc/rgcposix.scm 189 */
						{	/* Rgc/rgcposix.scm 208 */
							int BgL_tmpz00_2665;

							BgL_tmpz00_2665 = (int) (2L);
							BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2665);
						}
						{	/* Rgc/rgcposix.scm 208 */
							int BgL_tmpz00_2668;

							BgL_tmpz00_2668 = (int) (1L);
							BGL_MVALUES_VAL_SET(BgL_tmpz00_2668, BgL_iz00_17);
						}
						return BNIL;
					}
			}
		}

	}



/* parse-posix-bracket */
	obj_t BGl_parsezd2posixzd2bracketz00zz__rgc_posixz00(obj_t BgL_sz00_18,
		long BgL_iz00_19)
	{
		{	/* Rgc/rgcposix.scm 216 */
			{	/* Rgc/rgcposix.scm 217 */
				long BgL_lenz00_1330;

				BgL_lenz00_1330 = STRING_LENGTH(BgL_sz00_18);
				if ((BgL_iz00_19 < BgL_lenz00_1330))
					{	/* Rgc/rgcposix.scm 219 */
						bool_t BgL_negatezf3zf3_1332;

						{	/* Rgc/rgcposix.scm 220 */
							unsigned char BgL_cz00_1398;

							BgL_cz00_1398 = STRING_REF(BgL_sz00_18, BgL_iz00_19);
							if ((BgL_cz00_1398 == ((unsigned char) '^')))
								{	/* Rgc/rgcposix.scm 222 */
									long BgL_val1_1139z00_1401;

									BgL_val1_1139z00_1401 = (BgL_iz00_19 + 1L);
									{	/* Rgc/rgcposix.scm 222 */
										int BgL_tmpz00_2678;

										BgL_tmpz00_2678 = (int) (2L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2678);
									}
									{	/* Rgc/rgcposix.scm 222 */
										obj_t BgL_auxz00_2683;
										int BgL_tmpz00_2681;

										BgL_auxz00_2683 = BINT(BgL_val1_1139z00_1401);
										BgL_tmpz00_2681 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2681, BgL_auxz00_2683);
									}
									BgL_negatezf3zf3_1332 = ((bool_t) 1);
								}
							else
								{	/* Rgc/rgcposix.scm 221 */
									{	/* Rgc/rgcposix.scm 223 */
										int BgL_tmpz00_2686;

										BgL_tmpz00_2686 = (int) (2L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2686);
									}
									{	/* Rgc/rgcposix.scm 223 */
										obj_t BgL_auxz00_2691;
										int BgL_tmpz00_2689;

										BgL_auxz00_2691 = BINT(BgL_iz00_19);
										BgL_tmpz00_2689 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2689, BgL_auxz00_2691);
									}
									BgL_negatezf3zf3_1332 = ((bool_t) 0);
						}}
						{	/* Rgc/rgcposix.scm 220 */
							obj_t BgL_i0z00_1333;

							{	/* Rgc/rgcposix.scm 224 */
								obj_t BgL_tmpz00_1944;

								{	/* Rgc/rgcposix.scm 224 */
									int BgL_tmpz00_2694;

									BgL_tmpz00_2694 = (int) (1L);
									BgL_tmpz00_1944 = BGL_MVALUES_VAL(BgL_tmpz00_2694);
								}
								{	/* Rgc/rgcposix.scm 224 */
									int BgL_tmpz00_2697;

									BgL_tmpz00_2697 = (int) (1L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_2697, BUNSPEC);
								}
								BgL_i0z00_1333 = BgL_tmpz00_1944;
							}
							{
								obj_t BgL_iz00_1336;
								obj_t BgL_csetz00_1337;

								BgL_iz00_1336 = BgL_i0z00_1333;
								BgL_csetz00_1337 = BNIL;
							BgL_zc3z04anonymousza31357ze3z87_1338:
								if (((long) CINT(BgL_iz00_1336) < BgL_lenz00_1330))
									{	/* Rgc/rgcposix.scm 227 */
										unsigned char BgL_cz00_1340;

										BgL_cz00_1340 =
											STRING_REF(BgL_sz00_18, (long) CINT(BgL_iz00_1336));
										{

											switch (BgL_cz00_1340)
												{
												case ((unsigned char) '['):

													{	/* Rgc/rgcposix.scm 231 */
														long BgL_i1z00_1344;

														BgL_i1z00_1344 = ((long) CINT(BgL_iz00_1336) + 1L);
														{	/* Rgc/rgcposix.scm 233 */
															bool_t BgL_test1876z00_2707;

															if ((BgL_i1z00_1344 < BgL_lenz00_1330))
																{	/* Rgc/rgcposix.scm 233 */
																	BgL_test1876z00_2707 =
																		CBOOL
																		(BGl_memqz00zz__r4_pairs_and_lists_6_3z00
																		(BCHAR(STRING_REF(BgL_sz00_18,
																					BgL_i1z00_1344)),
																			BGl_list1810z00zz__rgc_posixz00));
																}
															else
																{	/* Rgc/rgcposix.scm 233 */
																	BgL_test1876z00_2707 = ((bool_t) 0);
																}
															if (BgL_test1876z00_2707)
																{	/* Rgc/rgcposix.scm 233 */
																	return
																		BGl_errorz00zz__errorz00(BFALSE,
																		BGl_string1811z00zz__rgc_posixz00,
																		BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
																}
															else
																{	/* Rgc/rgcposix.scm 238 */
																	obj_t BgL_arg1363z00_1348;

																	BgL_arg1363z00_1348 =
																		MAKE_YOUNG_PAIR(BCHAR(((unsigned char)
																				'[')), BgL_csetz00_1337);
																	{
																		obj_t BgL_csetz00_2719;
																		obj_t BgL_iz00_2717;

																		BgL_iz00_2717 = BINT(BgL_i1z00_1344);
																		BgL_csetz00_2719 = BgL_arg1363z00_1348;
																		BgL_csetz00_1337 = BgL_csetz00_2719;
																		BgL_iz00_1336 = BgL_iz00_2717;
																		goto BgL_zc3z04anonymousza31357ze3z87_1338;
																	}
																}
														}
													}
													break;
												case ((unsigned char) ']'):

													if (
														((long) CINT(BgL_iz00_1336) ==
															(long) CINT(BgL_i0z00_1333)))
														{	/* Rgc/rgcposix.scm 242 */
															long BgL_arg1366z00_1352;
															obj_t BgL_arg1367z00_1353;

															BgL_arg1366z00_1352 =
																((long) CINT(BgL_iz00_1336) + 1L);
															BgL_arg1367z00_1353 =
																MAKE_YOUNG_PAIR(BCHAR(((unsigned char) ']')),
																BgL_csetz00_1337);
															{
																obj_t BgL_csetz00_2730;
																obj_t BgL_iz00_2728;

																BgL_iz00_2728 = BINT(BgL_arg1366z00_1352);
																BgL_csetz00_2730 = BgL_arg1367z00_1353;
																BgL_csetz00_1337 = BgL_csetz00_2730;
																BgL_iz00_1336 = BgL_iz00_2728;
																goto BgL_zc3z04anonymousza31357ze3z87_1338;
															}
														}
													else
														{	/* Rgc/rgcposix.scm 241 */
															if (BgL_negatezf3zf3_1332)
																{	/* Rgc/rgcposix.scm 246 */
																	obj_t BgL_val0_1142z00_1354;
																	long BgL_val1_1143z00_1355;

																	{	/* Rgc/rgcposix.scm 246 */
																		obj_t BgL_arg1368z00_1356;

																		BgL_arg1368z00_1356 =
																			BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																			(BgL_csetz00_1337, BNIL);
																		BgL_val0_1142z00_1354 =
																			MAKE_YOUNG_PAIR
																			(BGl_symbol1812z00zz__rgc_posixz00,
																			BgL_arg1368z00_1356);
																	}
																	BgL_val1_1143z00_1355 =
																		((long) CINT(BgL_iz00_1336) + 1L);
																	{	/* Rgc/rgcposix.scm 246 */
																		int BgL_tmpz00_2736;

																		BgL_tmpz00_2736 = (int) (2L);
																		BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2736);
																	}
																	{	/* Rgc/rgcposix.scm 246 */
																		obj_t BgL_auxz00_2741;
																		int BgL_tmpz00_2739;

																		BgL_auxz00_2741 =
																			BINT(BgL_val1_1143z00_1355);
																		BgL_tmpz00_2739 = (int) (1L);
																		BGL_MVALUES_VAL_SET(BgL_tmpz00_2739,
																			BgL_auxz00_2741);
																	}
																	return BgL_val0_1142z00_1354;
																}
															else
																{	/* Rgc/rgcposix.scm 247 */
																	obj_t BgL_val0_1144z00_1357;
																	long BgL_val1_1145z00_1358;

																	{	/* Rgc/rgcposix.scm 247 */
																		obj_t BgL_arg1369z00_1359;

																		BgL_arg1369z00_1359 =
																			BGl_eappendzd22zd2zz__r4_pairs_and_lists_6_3z00
																			(BgL_csetz00_1337, BNIL);
																		BgL_val0_1144z00_1357 =
																			MAKE_YOUNG_PAIR
																			(BGl_symbol1814z00zz__rgc_posixz00,
																			BgL_arg1369z00_1359);
																	}
																	BgL_val1_1145z00_1358 =
																		((long) CINT(BgL_iz00_1336) + 1L);
																	{	/* Rgc/rgcposix.scm 247 */
																		int BgL_tmpz00_2748;

																		BgL_tmpz00_2748 = (int) (2L);
																		BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2748);
																	}
																	{	/* Rgc/rgcposix.scm 247 */
																		obj_t BgL_auxz00_2753;
																		int BgL_tmpz00_2751;

																		BgL_auxz00_2753 =
																			BINT(BgL_val1_1145z00_1358);
																		BgL_tmpz00_2751 = (int) (1L);
																		BGL_MVALUES_VAL_SET(BgL_tmpz00_2751,
																			BgL_auxz00_2753);
																	}
																	return BgL_val0_1144z00_1357;
																}
														}
													break;
												case ((unsigned char) '-'):

													{	/* Rgc/rgcposix.scm 250 */
														bool_t BgL_test1880z00_2756;

														if (
															((long) CINT(BgL_iz00_1336) ==
																(long) CINT(BgL_i0z00_1333)))
															{	/* Rgc/rgcposix.scm 250 */
																BgL_test1880z00_2756 = ((bool_t) 1);
															}
														else
															{	/* Rgc/rgcposix.scm 250 */
																if (
																	(((long) CINT(BgL_iz00_1336) + 1L) <
																		BgL_lenz00_1330))
																	{	/* Rgc/rgcposix.scm 251 */
																		BgL_test1880z00_2756 =
																			(((unsigned char) ']') ==
																			STRING_REF(BgL_sz00_18,
																				((long) CINT(BgL_iz00_1336) + 1L)));
																	}
																else
																	{	/* Rgc/rgcposix.scm 251 */
																		BgL_test1880z00_2756 = ((bool_t) 0);
																	}
															}
														if (BgL_test1880z00_2756)
															{	/* Rgc/rgcposix.scm 253 */
																long BgL_arg1375z00_1366;
																obj_t BgL_arg1376z00_1367;

																BgL_arg1375z00_1366 =
																	((long) CINT(BgL_iz00_1336) + 1L);
																BgL_arg1376z00_1367 =
																	MAKE_YOUNG_PAIR(BCHAR(((unsigned char) '-')),
																	BgL_csetz00_1337);
																{
																	obj_t BgL_csetz00_2775;
																	obj_t BgL_iz00_2773;

																	BgL_iz00_2773 = BINT(BgL_arg1375z00_1366);
																	BgL_csetz00_2775 = BgL_arg1376z00_1367;
																	BgL_csetz00_1337 = BgL_csetz00_2775;
																	BgL_iz00_1336 = BgL_iz00_2773;
																	goto BgL_zc3z04anonymousza31357ze3z87_1338;
																}
															}
														else
															{	/* Rgc/rgcposix.scm 250 */
																return
																	BGl_errorz00zz__errorz00(BFALSE,
																	BGl_string1816z00zz__rgc_posixz00,
																	BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
															}
													}
													break;
												default:
													{	/* Rgc/rgcposix.scm 260 */
														long BgL_iz00_1373;

														BgL_iz00_1373 = ((long) CINT(BgL_iz00_1336) + 1L);
														{	/* Rgc/rgcposix.scm 261 */
															bool_t BgL_test1883z00_2779;

															if (((BgL_iz00_1373 + 1L) < BgL_lenz00_1330))
																{	/* Rgc/rgcposix.scm 261 */
																	BgL_test1883z00_2779 =
																		(((unsigned char) '-') ==
																		STRING_REF(BgL_sz00_18, BgL_iz00_1373));
																}
															else
																{	/* Rgc/rgcposix.scm 261 */
																	BgL_test1883z00_2779 = ((bool_t) 0);
																}
															if (BgL_test1883z00_2779)
																{	/* Rgc/rgcposix.scm 264 */
																	long BgL_iz00_1379;

																	BgL_iz00_1379 = (BgL_iz00_1373 + 1L);
																	{	/* Rgc/rgcposix.scm 264 */
																		long BgL_toz00_1380;

																		BgL_toz00_1380 =
																			(STRING_REF(BgL_sz00_18, BgL_iz00_1379));
																		{	/* Rgc/rgcposix.scm 265 */

																			{	/* Rgc/rgcposix.scm 266 */
																				long BgL_g1050z00_1381;

																				BgL_g1050z00_1381 = (BgL_cz00_1340);
																				{
																					long BgL_jz00_1983;
																					obj_t BgL_csetz00_1984;

																					BgL_jz00_1983 = BgL_g1050z00_1381;
																					BgL_csetz00_1984 = BgL_csetz00_1337;
																				BgL_laapz00_1982:
																					if ((BgL_jz00_1983 > BgL_toz00_1380))
																						{	/* Rgc/rgcposix.scm 269 */
																							long BgL_arg1390z00_1991;

																							BgL_arg1390z00_1991 =
																								(BgL_iz00_1379 + 1L);
																							{
																								obj_t BgL_csetz00_2794;
																								obj_t BgL_iz00_2792;

																								BgL_iz00_2792 =
																									BINT(BgL_arg1390z00_1991);
																								BgL_csetz00_2794 =
																									BgL_csetz00_1984;
																								BgL_csetz00_1337 =
																									BgL_csetz00_2794;
																								BgL_iz00_1336 = BgL_iz00_2792;
																								goto
																									BgL_zc3z04anonymousza31357ze3z87_1338;
																							}
																						}
																					else
																						{	/* Rgc/rgcposix.scm 271 */
																							long BgL_arg1391z00_1992;
																							obj_t BgL_arg1392z00_1993;

																							BgL_arg1391z00_1992 =
																								(BgL_jz00_1983 + 1L);
																							{	/* Rgc/rgcposix.scm 272 */
																								unsigned char
																									BgL_arg1394z00_1994;
																								BgL_arg1394z00_1994 =
																									(BgL_jz00_1983);
																								BgL_arg1392z00_1993 =
																									MAKE_YOUNG_PAIR(BCHAR
																									(BgL_arg1394z00_1994),
																									BgL_csetz00_1984);
																							}
																							{
																								obj_t BgL_csetz00_2800;
																								long BgL_jz00_2799;

																								BgL_jz00_2799 =
																									BgL_arg1391z00_1992;
																								BgL_csetz00_2800 =
																									BgL_arg1392z00_1993;
																								BgL_csetz00_1984 =
																									BgL_csetz00_2800;
																								BgL_jz00_1983 = BgL_jz00_2799;
																								goto BgL_laapz00_1982;
																							}
																						}
																				}
																			}
																		}
																	}
																}
															else
																{	/* Rgc/rgcposix.scm 275 */
																	obj_t BgL_arg1396z00_1393;

																	BgL_arg1396z00_1393 =
																		MAKE_YOUNG_PAIR(BCHAR(BgL_cz00_1340),
																		BgL_csetz00_1337);
																	{
																		obj_t BgL_csetz00_2805;
																		obj_t BgL_iz00_2803;

																		BgL_iz00_2803 = BINT(BgL_iz00_1373);
																		BgL_csetz00_2805 = BgL_arg1396z00_1393;
																		BgL_csetz00_1337 = BgL_csetz00_2805;
																		BgL_iz00_1336 = BgL_iz00_2803;
																		goto BgL_zc3z04anonymousza31357ze3z87_1338;
																	}
																}
														}
													}
												}
										}
									}
								else
									{	/* Rgc/rgcposix.scm 226 */
										return
											BGl_errorz00zz__errorz00(BFALSE,
											BGl_string1817z00zz__rgc_posixz00,
											BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
									}
							}
						}
					}
				else
					{	/* Rgc/rgcposix.scm 218 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string1817z00zz__rgc_posixz00,
							BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
					}
			}
		}

	}



/* parse-posix-braces */
	obj_t BGl_parsezd2posixzd2bracesz00zz__rgc_posixz00(obj_t BgL_sz00_20,
		obj_t BgL_iz00_21)
	{
		{	/* Rgc/rgcposix.scm 285 */
			{	/* Rgc/rgcposix.scm 296 */
				obj_t BgL_commaz00_1405;
				obj_t BgL_rbz00_1406;

				{	/* Rgc/rgcposix.scm 287 */
					long BgL_lenz00_2036;

					BgL_lenz00_2036 = STRING_LENGTH(BgL_sz00_20);
					{
						obj_t BgL_offsetz00_2038;

						BgL_offsetz00_2038 = BgL_iz00_21;
					BgL_loopz00_2037:
						if (((long) CINT(BgL_offsetz00_2038) >= BgL_lenz00_2036))
							{	/* Rgc/rgcposix.scm 290 */
								BgL_commaz00_1405 = BFALSE;
							}
						else
							{	/* Rgc/rgcposix.scm 290 */
								if (
									(STRING_REF(BgL_sz00_20,
											(long) CINT(BgL_offsetz00_2038)) ==
										((unsigned char) ',')))
									{	/* Rgc/rgcposix.scm 292 */
										BgL_commaz00_1405 = BgL_offsetz00_2038;
									}
								else
									{
										obj_t BgL_offsetz00_2817;

										BgL_offsetz00_2817 = ADDFX(BgL_offsetz00_2038, BINT(1L));
										BgL_offsetz00_2038 = BgL_offsetz00_2817;
										goto BgL_loopz00_2037;
									}
							}
					}
				}
				{	/* Rgc/rgcposix.scm 287 */
					long BgL_lenz00_2051;

					BgL_lenz00_2051 = STRING_LENGTH(BgL_sz00_20);
					{
						obj_t BgL_offsetz00_2053;

						BgL_offsetz00_2053 = BgL_iz00_21;
					BgL_loopz00_2052:
						if (((long) CINT(BgL_offsetz00_2053) >= BgL_lenz00_2051))
							{	/* Rgc/rgcposix.scm 290 */
								BgL_rbz00_1406 = BFALSE;
							}
						else
							{	/* Rgc/rgcposix.scm 290 */
								if (
									(STRING_REF(BgL_sz00_20,
											(long) CINT(BgL_offsetz00_2053)) ==
										((unsigned char) '}')))
									{	/* Rgc/rgcposix.scm 292 */
										BgL_rbz00_1406 = BgL_offsetz00_2053;
									}
								else
									{
										obj_t BgL_offsetz00_2828;

										BgL_offsetz00_2828 = ADDFX(BgL_offsetz00_2053, BINT(1L));
										BgL_offsetz00_2053 = BgL_offsetz00_2828;
										goto BgL_loopz00_2052;
									}
							}
					}
				}
				if (CBOOL(BgL_rbz00_1406))
					{	/* Rgc/rgcposix.scm 299 */
						bool_t BgL_test1891z00_2833;

						if (CBOOL(BgL_commaz00_1405))
							{	/* Rgc/rgcposix.scm 299 */
								BgL_test1891z00_2833 =
									(
									(long) CINT(BgL_commaz00_1405) < (long) CINT(BgL_rbz00_1406));
							}
						else
							{	/* Rgc/rgcposix.scm 299 */
								BgL_test1891z00_2833 = ((bool_t) 0);
							}
						if (BgL_test1891z00_2833)
							{	/* Rgc/rgcposix.scm 300 */
								obj_t BgL_val0_1146z00_1408;
								obj_t BgL_val1_1147z00_1409;
								long BgL_val2_1148z00_1410;

								{	/* Rgc/rgcposix.scm 300 */
									obj_t BgL_arg1401z00_1411;

									BgL_arg1401z00_1411 =
										c_substring(BgL_sz00_20,
										(long) CINT(BgL_iz00_21), (long) CINT(BgL_commaz00_1405));
									{	/* Ieee/number.scm 175 */

										BgL_val0_1146z00_1408 =
											BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00
											(BgL_arg1401z00_1411, BINT(10L));
								}}
								if (
									(((long) CINT(BgL_commaz00_1405) + 1L) ==
										(long) CINT(BgL_rbz00_1406)))
									{	/* Rgc/rgcposix.scm 301 */
										BgL_val1_1147z00_1409 = BFALSE;
									}
								else
									{	/* Rgc/rgcposix.scm 302 */
										obj_t BgL_arg1403z00_1415;

										BgL_arg1403z00_1415 =
											c_substring(BgL_sz00_20,
											((long) CINT(BgL_commaz00_1405) + 1L),
											(long) CINT(BgL_rbz00_1406));
										{	/* Ieee/number.scm 175 */

											BgL_val1_1147z00_1409 =
												BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00
												(BgL_arg1403z00_1415, BINT(10L));
									}}
								BgL_val2_1148z00_1410 = ((long) CINT(BgL_rbz00_1406) + 1L);
								{	/* Rgc/rgcposix.scm 300 */
									int BgL_tmpz00_2857;

									BgL_tmpz00_2857 = (int) (3L);
									BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2857);
								}
								{	/* Rgc/rgcposix.scm 300 */
									int BgL_tmpz00_2860;

									BgL_tmpz00_2860 = (int) (1L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_2860, BgL_val1_1147z00_1409);
								}
								{	/* Rgc/rgcposix.scm 300 */
									obj_t BgL_auxz00_2865;
									int BgL_tmpz00_2863;

									BgL_auxz00_2865 = BINT(BgL_val2_1148z00_1410);
									BgL_tmpz00_2863 = (int) (2L);
									BGL_MVALUES_VAL_SET(BgL_tmpz00_2863, BgL_auxz00_2865);
								}
								return BgL_val0_1146z00_1408;
							}
						else
							{	/* Rgc/rgcposix.scm 304 */
								obj_t BgL_mz00_1420;

								{	/* Rgc/rgcposix.scm 304 */
									obj_t BgL_arg1407z00_1424;

									BgL_arg1407z00_1424 =
										c_substring(BgL_sz00_20,
										(long) CINT(BgL_iz00_21), (long) CINT(BgL_rbz00_1406));
									{	/* Ieee/number.scm 175 */

										BgL_mz00_1420 =
											BGl_stringzd2ze3numberz31zz__r4_numbers_6_5z00
											(BgL_arg1407z00_1424, BINT(10L));
								}}
								{	/* Rgc/rgcposix.scm 305 */
									long BgL_val2_1151z00_1423;

									BgL_val2_1151z00_1423 = ((long) CINT(BgL_rbz00_1406) + 1L);
									{	/* Rgc/rgcposix.scm 305 */
										int BgL_tmpz00_2875;

										BgL_tmpz00_2875 = (int) (3L);
										BGL_MVALUES_NUMBER_SET(BgL_tmpz00_2875);
									}
									{	/* Rgc/rgcposix.scm 305 */
										int BgL_tmpz00_2878;

										BgL_tmpz00_2878 = (int) (1L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2878, BgL_mz00_1420);
									}
									{	/* Rgc/rgcposix.scm 305 */
										obj_t BgL_auxz00_2883;
										int BgL_tmpz00_2881;

										BgL_auxz00_2883 = BINT(BgL_val2_1151z00_1423);
										BgL_tmpz00_2881 = (int) (2L);
										BGL_MVALUES_VAL_SET(BgL_tmpz00_2881, BgL_auxz00_2883);
									}
									return BgL_mz00_1420;
								}
							}
					}
				else
					{	/* Rgc/rgcposix.scm 298 */
						return
							BGl_errorz00zz__errorz00(BFALSE,
							BGl_string1818z00zz__rgc_posixz00,
							BGl_za2errzd2stringza2zd2zz__rgc_posixz00);
					}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__rgc_posixz00(void)
	{
		{	/* Rgc/rgcposix.scm 14 */
			return
				BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string1819z00zz__rgc_posixz00));
		}

	}

#ifdef __cplusplus
}
#endif
