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

	static bool_t BGl_setzd2reductionzd2tablez00zz__lalr_expandz00(void);
	extern obj_t BGl_firstzd2reductionzd2zz__lalr_globalz00;
	extern obj_t BGl_za2symvza2z00zz__lalr_rewritez00;
	extern obj_t BGl_consistentz00zz__lalr_globalz00;
	extern obj_t BGl_nvarsz00zz__lalr_globalz00;
	static obj_t BGl_symbol2488z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_z62zc3z04anonymousza31361ze3ze5zz__lalr_expandz00(obj_t);
	extern long BGl_modulofxz00zz__r4_numbers_6_5_fixnumz00(long, long);
	extern obj_t BGl_2minz00zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_initializa7ezd2allz75zz__lalr_globalz00(void);
	extern obj_t BGl_ntermsz00zz__lalr_globalz00;
	static bool_t BGl_loop2ze70ze7zz__lalr_expandz00(long, long, long, obj_t,
		obj_t, obj_t, obj_t, long, bool_t);
	extern obj_t BGl_ngotosz00zz__lalr_globalz00;
	static bool_t BGl_loop2ze71ze7zz__lalr_expandz00(long, obj_t, obj_t, obj_t,
		obj_t, obj_t, long);
	extern obj_t BGl_nshiftsz00zz__lalr_globalz00;
	static obj_t BGl_symbol2493z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_symbol2495z00zz__lalr_expandz00 = BUNSPEC;
	extern obj_t bstring_to_keyword(obj_t);
	static obj_t BGl_requirezd2initializa7ationz75zz__lalr_expandz00 = BUNSPEC;
	extern obj_t BGl_rewritezd2grammarz12zc0zz__lalr_rewritez00(obj_t);
	static obj_t BGl_closurez00zz__lalr_expandz00(obj_t);
	extern obj_t BGl_ritemz00zz__lalr_globalz00;
	extern obj_t BGl_reductionzd2tablezd2zz__lalr_globalz00;
	static bool_t BGl_generatezd2stateszd2zz__lalr_expandz00(void);
	extern obj_t BGl_LAz00zz__lalr_globalz00;
	extern obj_t bgl_display_obj(obj_t, obj_t);
	extern bool_t BGl_equalzf3zf3zz__r4_equivalence_6_2z00(obj_t, obj_t);
	extern obj_t BGl_nsymsz00zz__lalr_globalz00;
	static bool_t BGl_loop3ze70ze7zz__lalr_expandz00(obj_t, obj_t, long, obj_t,
		long, obj_t, long, long);
	BGL_EXPORTED_DECL obj_t
		BGl_modulezd2initializa7ationz75zz__lalr_expandz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__evenvz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00(long,
		char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(long, char *);
	extern obj_t
		BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__rgcz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__threadz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__objectz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__paramz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bignumz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__bexitz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__structurez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__tvectorz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__biglooz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__typez00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__lalr_rewritez00(long,
		char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__lalr_globalz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__lalr_genz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__lalr_utilz00(long, char *);
	extern obj_t BGl_modulezd2initializa7ationz75zz__errorz00(long, char *);
	extern obj_t BGl_rprecz00zz__lalr_globalz00;
	extern obj_t BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00;
	static bool_t BGl_initializa7ezd2Fz75zz__lalr_expandz00(void);
	static obj_t BGl_getzd2statezd2zz__lalr_expandz00(obj_t);
	extern obj_t BGl_maxrhsz00zz__lalr_globalz00;
	extern obj_t BGl_warningz00zz__errorz00(obj_t);
	extern obj_t BGl_remainderz00zz__r4_numbers_6_5_fixnumz00(obj_t, obj_t);
	extern obj_t BGl_genzd2lalrzd2codez00zz__lalr_genz00(void);
	extern obj_t BGl_lookaheadsz00zz__lalr_globalz00;
	extern obj_t BGl_shiftzd2symbolzd2zz__lalr_globalz00;
	extern bool_t BGl_numberzf3zf3zz__r4_numbers_6_5z00(obj_t);
	static obj_t BGl_toplevelzd2initzd2zz__lalr_expandz00(void);
	static obj_t BGl_savezd2shiftszd2zz__lalr_expandz00(obj_t);
	static obj_t BGl_buildzd2relationszd2zz__lalr_expandz00(void);
	static obj_t BGl_list2499z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_appendzd2stateszd2zz__lalr_expandz00(void);
	extern obj_t BGl_nrulesz00zz__lalr_globalz00;
	static bool_t BGl_setzd2gotozd2mapz00zz__lalr_expandz00(void);
	static long BGl_mapzd2gotozd2zz__lalr_expandz00(obj_t, obj_t);
	static bool_t BGl_computezd2lookaheadszd2zz__lalr_expandz00(void);
	static obj_t BGl_allocatezd2storagezd2zz__lalr_expandz00(void);
	static obj_t BGl_keyword2500z00zz__lalr_expandz00 = BUNSPEC;
	static bool_t BGl_initializa7ezd2LAz75zz__lalr_expandz00(void);
	static obj_t BGl_allocatezd2itemzd2setsz00zz__lalr_expandz00(void);
	static obj_t BGl_keyword2502z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_keyword2504z00zz__lalr_expandz00 = BUNSPEC;
	extern obj_t BGl_shiftzd2tablezd2zz__lalr_globalz00;
	static obj_t BGl_cnstzd2initzd2zz__lalr_expandz00(void);
	static obj_t BGl_za2defaultza2z00zz__lalr_expandz00 = BUNSPEC;
	extern bool_t BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(obj_t);
	static obj_t BGl_savezd2reductionszd2zz__lalr_expandz00(obj_t, obj_t);
	extern obj_t bgl_reverse(obj_t);
	extern obj_t BGl_assvz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	static obj_t BGl_genericzd2initzd2zz__lalr_expandz00(void);
	extern long bgl_list_length(obj_t);
	extern obj_t BGl_acceszd2symbolzd2zz__lalr_globalz00;
	extern obj_t BGl_fromzd2statezd2zz__lalr_globalz00;
	extern obj_t BGl_nstatesz00zz__lalr_globalz00;
	extern obj_t BGl_gotozd2mapzd2zz__lalr_globalz00;
	static obj_t BGl_importedzd2moduleszd2initz00zz__lalr_expandz00(void);
	BGL_EXPORTED_DECL obj_t
		BGl_expandzd2lalrzd2grammarz00zz__lalr_expandz00(obj_t, obj_t);
	static obj_t BGl_gczd2rootszd2initz00zz__lalr_expandz00(void);
	static obj_t BGl_objectzd2initzd2zz__lalr_expandz00(void);
	extern obj_t BGl_2zb2zb2zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_kernelzd2basezd2zz__lalr_globalz00;
	extern bool_t BGl_2zc3zc3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern bool_t BGl_2zd3zd3zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_memqz00zz__r4_pairs_and_lists_6_3z00(obj_t, obj_t);
	extern obj_t BGl_nitemsz00zz__lalr_globalz00;
	extern obj_t BGl_derivesz00zz__lalr_globalz00;
	extern obj_t BGl_redzd2setzd2zz__lalr_globalz00;
	extern obj_t BGl_shiftzd2setzd2zz__lalr_globalz00;
	static obj_t BGl_buildzd2tableszd2zz__lalr_expandz00(void);
	extern obj_t BGl_lastzd2shiftzd2zz__lalr_globalz00;
	static bool_t BGl_setzd2nullablezd2zz__lalr_expandz00(void);
	static bool_t BGl_setzd2fderiveszd2zz__lalr_expandz00(void);
	static obj_t BGl_initializa7ezd2statesz75zz__lalr_expandz00(void);
	extern obj_t BGl_includesz00zz__lalr_globalz00;
	extern obj_t BGl_2maxz00zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_sunionz00zz__lalr_utilz00(obj_t, obj_t);
	extern obj_t BGl_cleanzd2plistzd2zz__lalr_rewritez00(void);
	extern obj_t BGl_getpropz00zz__r4_symbols_6_4z00(obj_t, obj_t);
	extern obj_t BGl_exptz00zz__r4_numbers_6_5z00(obj_t, obj_t);
	static obj_t BGl_newzd2itemsetszd2zz__lalr_expandz00(obj_t);
	extern obj_t bgl_bignum_add(obj_t, obj_t);
	extern obj_t BGl_nullablez00zz__lalr_globalz00;
	extern obj_t BGl_firstzd2shiftzd2zz__lalr_globalz00;
	static bool_t BGl_setzd2firstszd2zz__lalr_expandz00(void);
	extern obj_t BGl_statezd2tablezd2zz__lalr_globalz00;
	extern obj_t BGl_fderivesz00zz__lalr_globalz00;
	extern obj_t bstring_to_symbol(obj_t);
	extern obj_t make_vector(long, obj_t);
	extern obj_t BGl_lastzd2statezd2zz__lalr_globalz00;
	static obj_t BGl_symbol2506z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_symbol2507z00zz__lalr_expandz00 = BUNSPEC;
	extern obj_t BGl_lookbackz00zz__lalr_globalz00;
	static bool_t BGl_setzd2accessingzd2symbolz00zz__lalr_expandz00(void);
	extern obj_t BGl_gensymz00zz__r4_symbols_6_4z00(obj_t);
	extern obj_t BGl_STATEzd2TABLEzd2SIZEz00zz__lalr_globalz00;
	static bool_t BGl_digraphz00zz__lalr_expandz00(obj_t);
	static obj_t BGl_transposez00zz__lalr_expandz00(obj_t, obj_t);
	static obj_t BGl_symbol2513z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_methodzd2initzd2zz__lalr_expandz00(void);
	extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static obj_t BGl_symbol2515z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_symbol2517z00zz__lalr_expandz00 = BUNSPEC;
	static bool_t BGl_lalrz00zz__lalr_expandz00(void);
	static bool_t BGl_packzd2grammarzd2zz__lalr_expandz00(void);
	extern obj_t BGl_firstzd2statezd2zz__lalr_globalz00;
	static bool_t BGl_traverseze70ze7zz__lalr_expandz00(long, obj_t, obj_t, obj_t,
		obj_t, obj_t);
	extern obj_t BGl_rrhsz00zz__lalr_globalz00;
	static obj_t BGl_symbol2523z00zz__lalr_expandz00 = BUNSPEC;
	static obj_t BGl_symbol2528z00zz__lalr_expandz00 = BUNSPEC;
	extern obj_t BGl_grammarz00zz__lalr_globalz00;
	static obj_t BGl_loopze70ze7zz__lalr_expandz00(obj_t);
	static obj_t BGl_loopze71ze7zz__lalr_expandz00(obj_t);
	static obj_t BGl_loopze72ze7zz__lalr_expandz00(obj_t);
	static bool_t BGl_loopze73ze7zz__lalr_expandz00(obj_t, obj_t, obj_t, obj_t,
		long, long, long);
	static bool_t BGl_loopze74ze7zz__lalr_expandz00(obj_t, obj_t, obj_t, obj_t,
		long, long);
	extern obj_t BGl_finalzd2statezd2zz__lalr_globalz00;
	static obj_t BGl_setzd2maxzd2rhsz00zz__lalr_expandz00(void);
	extern obj_t BGl_firstsz00zz__lalr_globalz00;
	static obj_t BGl_addzd2lookbackzd2edgez00zz__lalr_expandz00(obj_t, obj_t,
		long);
	extern obj_t BGl_LArulenoz00zz__lalr_globalz00;
	static bool_t BGl_compactzd2actionzd2tablez00zz__lalr_expandz00(void);
	static bool_t BGl_setzd2deriveszd2zz__lalr_expandz00(void);
	static obj_t BGl_newzd2statezd2zz__lalr_expandz00(obj_t);
	static obj_t BGl_list2510z00zz__lalr_expandz00 = BUNSPEC;
	extern obj_t BGl_kernelzd2endzd2zz__lalr_globalz00;
	extern obj_t bgl_long_to_bignum(long);
	extern obj_t BGl_zd2zd2zz__r4_numbers_6_5z00(obj_t, obj_t);
	extern obj_t BGl_lastzd2reductionzd2zz__lalr_globalz00;
	extern obj_t BGl_tozd2statezd2zz__lalr_globalz00;
	static obj_t BGl_z62expandzd2lalrzd2grammarz62zz__lalr_expandz00(obj_t, obj_t,
		obj_t);
	static obj_t BGl_buildzd2rulezd2zz__lalr_expandz00(long);
	static obj_t BGl_TAGzd2594ze70z35zz__lalr_expandz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_quotientz00zz__r4_numbers_6_5_fixnumz00(obj_t, obj_t);
	static obj_t BGl_addzd2actionze70z35zz__lalr_expandz00(obj_t, obj_t, obj_t);
	extern obj_t BGl_Fz00zz__lalr_globalz00;
	extern obj_t BGl_sinsertz00zz__lalr_utilz00(obj_t, obj_t);
	extern obj_t BGl_errorz00zz__errorz00(obj_t, obj_t, obj_t);
	static bool_t BGl_setzd2shiftzd2tablez00zz__lalr_expandz00(void);
	static bool_t BGl_checkzd2lalrzd2rulesz00zz__lalr_expandz00(obj_t, obj_t,
		obj_t);
	extern obj_t BGl_actionzd2tablezd2zz__lalr_globalz00;
	extern obj_t BGl_rlhsz00zz__lalr_globalz00;
	static obj_t *__cnst;


	   
		 
		DEFINE_EXPORT_BGL_PROCEDURE
		(BGl_expandzd2lalrzd2grammarzd2envzd2zz__lalr_expandz00,
		BgL_bgl_za762expandza7d2lalr2531z00,
		BGl_z62expandzd2lalrzd2grammarz62zz__lalr_expandz00, 0L, BUNSPEC, 2);
	      BGL_DEFINE_STRING(BGl_string2501z00zz__lalr_expandz00,
		BgL_bgl_string2501za700za7za7_2532za7, "left", 4);
	      BGL_DEFINE_STRING(BGl_string2503z00zz__lalr_expandz00,
		BgL_bgl_string2503za700za7za7_2533za7, "right", 5);
	      BGL_DEFINE_STRING(BGl_string2505z00zz__lalr_expandz00,
		BgL_bgl_string2505za700za7za7_2534za7, "none", 4);
	      BGL_DEFINE_STRING(BGl_string2508z00zz__lalr_expandz00,
		BgL_bgl_string2508za700za7za7_2535za7, "symbol", 6);
	      BGL_DEFINE_STRING(BGl_string2509z00zz__lalr_expandz00,
		BgL_bgl_string2509za700za7za7_2536za7, "Illegal token", 13);
	      BGL_DEFINE_STRING(BGl_string2511z00zz__lalr_expandz00,
		BgL_bgl_string2511za700za7za7_2537za7, "Error in map-goto", 17);
	      BGL_DEFINE_STRING(BGl_string2512z00zz__lalr_expandz00,
		BgL_bgl_string2512za700za7za7_2538za7, "Error in add-lookback-edge : ", 29);
	      BGL_DEFINE_STRING(BGl_string2514z00zz__lalr_expandz00,
		BgL_bgl_string2514za700za7za7_2539za7, "bidon", 5);
	      BGL_DEFINE_STRING(BGl_string2516z00zz__lalr_expandz00,
		BgL_bgl_string2516za700za7za7_2540za7, "-->", 3);
	      BGL_DEFINE_STRING(BGl_string2518z00zz__lalr_expandz00,
		BgL_bgl_string2518za700za7za7_2541za7, "accept", 6);
	      BGL_DEFINE_STRING(BGl_string2519z00zz__lalr_expandz00,
		BgL_bgl_string2519za700za7za7_2542za7, "'", 1);
	      BGL_DEFINE_STRING(BGl_string2520z00zz__lalr_expandz00,
		BgL_bgl_string2520za700za7za7_2543za7, "\non token `", 11);
	      BGL_DEFINE_STRING(BGl_string2521z00zz__lalr_expandz00,
		BgL_bgl_string2521za700za7za7_2544za7, "\n - reduce by rule ", 19);
	      BGL_DEFINE_STRING(BGl_string2522z00zz__lalr_expandz00,
		BgL_bgl_string2522za700za7za7_2545za7, "** Reduce/Reduce conflict: ", 27);
	      BGL_DEFINE_STRING(BGl_string2524z00zz__lalr_expandz00,
		BgL_bgl_string2524za700za7za7_2546za7, "*error*", 7);
	      BGL_DEFINE_STRING(BGl_string2525z00zz__lalr_expandz00,
		BgL_bgl_string2525za700za7za7_2547za7, "\n - reduce rule ", 16);
	      BGL_DEFINE_STRING(BGl_string2526z00zz__lalr_expandz00,
		BgL_bgl_string2526za700za7za7_2548za7, "\n - shift to state ", 19);
	      BGL_DEFINE_STRING(BGl_string2527z00zz__lalr_expandz00,
		BgL_bgl_string2527za700za7za7_2549za7, "** Shift/Reduce conflict: ", 26);
	      BGL_DEFINE_STRING(BGl_string2529z00zz__lalr_expandz00,
		BgL_bgl_string2529za700za7za7_2550za7, "error", 5);
	      BGL_DEFINE_STRING(BGl_string2530z00zz__lalr_expandz00,
		BgL_bgl_string2530za700za7za7_2551za7, "__lalr_expand", 13);
	      BGL_DEFINE_STRING(BGl_string2489z00zz__lalr_expandz00,
		BgL_bgl_string2489za700za7za7_2552za7, "default", 7);
	      BGL_DEFINE_STRING(BGl_string2490z00zz__lalr_expandz00,
		BgL_bgl_string2490za700za7za7_2553za7, "lalr-grammar", 12);
	      BGL_DEFINE_STRING(BGl_string2491z00zz__lalr_expandz00,
		BgL_bgl_string2491za700za7za7_2554za7, "Illegal form", 12);
	      BGL_DEFINE_STRING(BGl_string2494z00zz__lalr_expandz00,
		BgL_bgl_string2494za700za7za7_2555za7, "sym-no", 6);
	      BGL_DEFINE_STRING(BGl_string2496z00zz__lalr_expandz00,
		BgL_bgl_string2496za700za7za7_2556za7, "prec", 4);
	      BGL_DEFINE_STRING(BGl_string2497z00zz__lalr_expandz00,
		BgL_bgl_string2497za700za7za7_2557za7, "Illegal form ", 13);
	      BGL_DEFINE_STRING(BGl_string2498z00zz__lalr_expandz00,
		BgL_bgl_string2498za700za7za7_2558za7,
		"Illegal form (Illegal left hand side)", 37);
	      DEFINE_STATIC_BGL_PROCEDURE(BGl_proc2492z00zz__lalr_expandz00,
		BgL_bgl_za762za7c3za704anonymo2559za7,
		BGl_z62zc3z04anonymousza31361ze3ze5zz__lalr_expandz00, 0L, BUNSPEC, 0);

/* contant bindings */
	static void bgl_constant_bindings()
	{
		BGL_BIND_PROCEDURE(BGl_proc2492z00zz__lalr_expandz00,
			BgL_bgl_za762za7c3za704anonymo2559za7);
		BGL_BIND_STRING(BGl_string2498z00zz__lalr_expandz00,
			BgL_bgl_string2498za700za7za7_2558za7);
		BGL_BIND_STRING(BGl_string2497z00zz__lalr_expandz00,
			BgL_bgl_string2497za700za7za7_2557za7);
		BGL_BIND_STRING(BGl_string2496z00zz__lalr_expandz00,
			BgL_bgl_string2496za700za7za7_2556za7);
		BGL_BIND_STRING(BGl_string2494z00zz__lalr_expandz00,
			BgL_bgl_string2494za700za7za7_2555za7);
		BGL_BIND_STRING(BGl_string2491z00zz__lalr_expandz00,
			BgL_bgl_string2491za700za7za7_2554za7);
		BGL_BIND_STRING(BGl_string2490z00zz__lalr_expandz00,
			BgL_bgl_string2490za700za7za7_2553za7);
		BGL_BIND_STRING(BGl_string2489z00zz__lalr_expandz00,
			BgL_bgl_string2489za700za7za7_2552za7);
		BGL_BIND_STRING(BGl_string2530z00zz__lalr_expandz00,
			BgL_bgl_string2530za700za7za7_2551za7);
		BGL_BIND_STRING(BGl_string2529z00zz__lalr_expandz00,
			BgL_bgl_string2529za700za7za7_2550za7);
		BGL_BIND_STRING(BGl_string2527z00zz__lalr_expandz00,
			BgL_bgl_string2527za700za7za7_2549za7);
		BGL_BIND_STRING(BGl_string2526z00zz__lalr_expandz00,
			BgL_bgl_string2526za700za7za7_2548za7);
		BGL_BIND_STRING(BGl_string2525z00zz__lalr_expandz00,
			BgL_bgl_string2525za700za7za7_2547za7);
		BGL_BIND_STRING(BGl_string2524z00zz__lalr_expandz00,
			BgL_bgl_string2524za700za7za7_2546za7);
		BGL_BIND_STRING(BGl_string2522z00zz__lalr_expandz00,
			BgL_bgl_string2522za700za7za7_2545za7);
		BGL_BIND_STRING(BGl_string2521z00zz__lalr_expandz00,
			BgL_bgl_string2521za700za7za7_2544za7);
		BGL_BIND_STRING(BGl_string2520z00zz__lalr_expandz00,
			BgL_bgl_string2520za700za7za7_2543za7);
		BGL_BIND_STRING(BGl_string2519z00zz__lalr_expandz00,
			BgL_bgl_string2519za700za7za7_2542za7);
		BGL_BIND_STRING(BGl_string2518z00zz__lalr_expandz00,
			BgL_bgl_string2518za700za7za7_2541za7);
		BGL_BIND_STRING(BGl_string2516z00zz__lalr_expandz00,
			BgL_bgl_string2516za700za7za7_2540za7);
		BGL_BIND_STRING(BGl_string2514z00zz__lalr_expandz00,
			BgL_bgl_string2514za700za7za7_2539za7);
		BGL_BIND_STRING(BGl_string2512z00zz__lalr_expandz00,
			BgL_bgl_string2512za700za7za7_2538za7);
		BGL_BIND_STRING(BGl_string2511z00zz__lalr_expandz00,
			BgL_bgl_string2511za700za7za7_2537za7);
		BGL_BIND_STRING(BGl_string2509z00zz__lalr_expandz00,
			BgL_bgl_string2509za700za7za7_2536za7);
		BGL_BIND_STRING(BGl_string2508z00zz__lalr_expandz00,
			BgL_bgl_string2508za700za7za7_2535za7);
		BGL_BIND_STRING(BGl_string2505z00zz__lalr_expandz00,
			BgL_bgl_string2505za700za7za7_2534za7);
		BGL_BIND_STRING(BGl_string2503z00zz__lalr_expandz00,
			BgL_bgl_string2503za700za7za7_2533za7);
		BGL_BIND_STRING(BGl_string2501z00zz__lalr_expandz00,
			BgL_bgl_string2501za700za7za7_2532za7);
		BGL_BIND_PROCEDURE(BGl_expandzd2lalrzd2grammarzd2envzd2zz__lalr_expandz00,
			BgL_bgl_za762expandza7d2lalr2531z00);
	}

/* 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_symbol2488z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2493z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2495z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_requirezd2initializa7ationz75zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_list2499z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_keyword2500z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_keyword2502z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_keyword2504z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_za2defaultza2z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2506z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2507z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2513z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2515z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2517z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2523z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_symbol2528z00zz__lalr_expandz00));
		ADD_ROOT((void *) (&BGl_list2510z00zz__lalr_expandz00));
#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__lalr_expandz00(long
		BgL_checksumz00_4525, char *BgL_fromz00_4526)
	{
		{
			if (CBOOL(BGl_requirezd2initializa7ationz75zz__lalr_expandz00))
				{
					BGl_requirezd2initializa7ationz75zz__lalr_expandz00 =
						BBOOL(((bool_t) 0));
					bgl_constant_bindings();
					BGl_gczd2rootszd2initz00zz__lalr_expandz00();
					BGl_cnstzd2initzd2zz__lalr_expandz00();
					BGl_importedzd2moduleszd2initz00zz__lalr_expandz00();
					return BGl_toplevelzd2initzd2zz__lalr_expandz00();
				}
			else
				{
					return BUNSPEC;
				}
		}

	}



/* cnst-init */
	obj_t BGl_cnstzd2initzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			BGl_symbol2488z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2489z00zz__lalr_expandz00);
			BGl_symbol2493z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2494z00zz__lalr_expandz00);
			BGl_symbol2495z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2496z00zz__lalr_expandz00);
			BGl_keyword2500z00zz__lalr_expandz00 =
				bstring_to_keyword(BGl_string2501z00zz__lalr_expandz00);
			BGl_keyword2502z00zz__lalr_expandz00 =
				bstring_to_keyword(BGl_string2503z00zz__lalr_expandz00);
			BGl_keyword2504z00zz__lalr_expandz00 =
				bstring_to_keyword(BGl_string2505z00zz__lalr_expandz00);
			BGl_list2499z00zz__lalr_expandz00 =
				MAKE_YOUNG_PAIR(BGl_keyword2500z00zz__lalr_expandz00,
				MAKE_YOUNG_PAIR(BGl_keyword2502z00zz__lalr_expandz00,
					MAKE_YOUNG_PAIR(BGl_keyword2504z00zz__lalr_expandz00, BNIL)));
			BGl_symbol2506z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2490z00zz__lalr_expandz00);
			BGl_symbol2507z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2508z00zz__lalr_expandz00);
			BGl_list2510z00zz__lalr_expandz00 = MAKE_YOUNG_PAIR(BINT(0L), BNIL);
			BGl_symbol2513z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2514z00zz__lalr_expandz00);
			BGl_symbol2515z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2516z00zz__lalr_expandz00);
			BGl_symbol2517z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2518z00zz__lalr_expandz00);
			BGl_symbol2523z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2524z00zz__lalr_expandz00);
			return (BGl_symbol2528z00zz__lalr_expandz00 =
				bstring_to_symbol(BGl_string2529z00zz__lalr_expandz00), BUNSPEC);
		}

	}



/* gc-roots-init */
	obj_t BGl_gczd2rootszd2initz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			return bgl_gc_roots_register();
		}

	}



/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			return (BGl_za2defaultza2z00zz__lalr_expandz00 =
				BGl_gensymz00zz__r4_symbols_6_4z00(BGl_symbol2488z00zz__lalr_expandz00),
				BUNSPEC);
		}

	}



/* expand-lalr-grammar */
	BGL_EXPORTED_DEF obj_t BGl_expandzd2lalrzd2grammarz00zz__lalr_expandz00(obj_t
		BgL_xz00_3, obj_t BgL_ez00_4)
	{
		{	/* Lalr/lalr.scm 62 */
			if (PAIRP(BgL_xz00_3))
				{	/* Lalr/lalr.scm 63 */
					obj_t BgL_arg1357z00_1219;

					BgL_arg1357z00_1219 = CDR(((obj_t) BgL_xz00_3));
					return
						BGl_TAGzd2594ze70z35zz__lalr_expandz00(BgL_ez00_4, BgL_xz00_3,
						BgL_arg1357z00_1219);
				}
			else
				{	/* Lalr/lalr.scm 63 */
					return
						BGl_errorz00zz__errorz00(BGl_string2490z00zz__lalr_expandz00,
						BGl_string2491z00zz__lalr_expandz00, BgL_xz00_3);
				}
		}

	}



/* TAG-594~0 */
	obj_t BGl_TAGzd2594ze70z35zz__lalr_expandz00(obj_t BgL_ez00_4511,
		obj_t BgL_xz00_4510, obj_t BgL_rulesz00_1214)
	{
		{	/* Lalr/lalr.scm 63 */
			if (PAIRP(BgL_rulesz00_1214))
				{	/* Lalr/lalr.scm 65 */
					obj_t BgL_carzd2608zd2_1225;
					obj_t BgL_cdrzd2609zd2_1226;

					BgL_carzd2608zd2_1225 = CAR(((obj_t) BgL_rulesz00_1214));
					BgL_cdrzd2609zd2_1226 = CDR(((obj_t) BgL_rulesz00_1214));
					if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00
						(BgL_carzd2608zd2_1225))
						{	/* Lalr/lalr.scm 65 */
							if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00
								(BgL_cdrzd2609zd2_1226))
								{	/* Lalr/lalr.scm 65 */
									BGl_checkzd2lalrzd2rulesz00zz__lalr_expandz00(BgL_xz00_4510,
										BgL_carzd2608zd2_1225, BgL_cdrzd2609zd2_1226);
								}
							else
								{	/* Lalr/lalr.scm 65 */
									((bool_t) 0);
								}
						}
					else
						{	/* Lalr/lalr.scm 65 */
							((bool_t) 0);
						}
				}
			else
				{	/* Lalr/lalr.scm 65 */
					((bool_t) 0);
				}
			{	/* Lalr/lalr.scm 68 */
				obj_t BgL_codez00_1229;

				{	/* Lalr/lalr.scm 68 */
					obj_t BgL_exitd1127z00_1230;

					BgL_exitd1127z00_1230 = BGL_EXITD_TOP_AS_OBJ();
					{	/* Lalr/lalr.scm 68 */
						obj_t BgL_arg2473z00_2923;

						{	/* Lalr/lalr.scm 68 */
							obj_t BgL_arg2474z00_2924;

							BgL_arg2474z00_2924 = BGL_EXITD_PROTECT(BgL_exitd1127z00_1230);
							BgL_arg2473z00_2923 =
								MAKE_YOUNG_PAIR(BGl_proc2492z00zz__lalr_expandz00,
								BgL_arg2474z00_2924);
						}
						BGL_EXITD_PROTECT_SET(BgL_exitd1127z00_1230, BgL_arg2473z00_2923);
						BUNSPEC;
					}
					{	/* Lalr/lalr.scm 70 */
						obj_t BgL_tmp1129z00_1232;

						BGl_initializa7ezd2allz75zz__lalr_globalz00();
						BGl_rewritezd2grammarz12zc0zz__lalr_rewritez00(BgL_rulesz00_1214);
						BGl_packzd2grammarzd2zz__lalr_expandz00();
						BGl_setzd2deriveszd2zz__lalr_expandz00();
						BGl_setzd2nullablezd2zz__lalr_expandz00();
						BGl_generatezd2stateszd2zz__lalr_expandz00();
						BGl_lalrz00zz__lalr_expandz00();
						BGl_buildzd2tableszd2zz__lalr_expandz00();
						BGl_compactzd2actionzd2tablez00zz__lalr_expandz00();
						BgL_tmp1129z00_1232 = BGl_genzd2lalrzd2codez00zz__lalr_genz00();
						{	/* Lalr/lalr.scm 68 */
							bool_t BgL_test2565z00_4586;

							{	/* Lalr/lalr.scm 68 */
								obj_t BgL_arg2472z00_2926;

								BgL_arg2472z00_2926 = BGL_EXITD_PROTECT(BgL_exitd1127z00_1230);
								BgL_test2565z00_4586 = PAIRP(BgL_arg2472z00_2926);
							}
							if (BgL_test2565z00_4586)
								{	/* Lalr/lalr.scm 68 */
									obj_t BgL_arg2465z00_2927;

									{	/* Lalr/lalr.scm 68 */
										obj_t BgL_arg2470z00_2928;

										BgL_arg2470z00_2928 =
											BGL_EXITD_PROTECT(BgL_exitd1127z00_1230);
										BgL_arg2465z00_2927 = CDR(((obj_t) BgL_arg2470z00_2928));
									}
									BGL_EXITD_PROTECT_SET(BgL_exitd1127z00_1230,
										BgL_arg2465z00_2927);
									BUNSPEC;
								}
							else
								{	/* Lalr/lalr.scm 68 */
									BFALSE;
								}
						}
						BGl_cleanzd2plistzd2zz__lalr_rewritez00();
						BgL_codez00_1229 = BgL_tmp1129z00_1232;
					}
				}
				return
					BGL_PROCEDURE_CALL2(BgL_ez00_4511, BgL_codez00_1229, BgL_ez00_4511);
			}
		}

	}



/* &expand-lalr-grammar */
	obj_t BGl_z62expandzd2lalrzd2grammarz62zz__lalr_expandz00(obj_t
		BgL_envz00_4471, obj_t BgL_xz00_4472, obj_t BgL_ez00_4473)
	{
		{	/* Lalr/lalr.scm 62 */
			return
				BGl_expandzd2lalrzd2grammarz00zz__lalr_expandz00(BgL_xz00_4472,
				BgL_ez00_4473);
		}

	}



/* &<@anonymous:1361> */
	obj_t BGl_z62zc3z04anonymousza31361ze3ze5zz__lalr_expandz00(obj_t
		BgL_envz00_4474)
	{
		{	/* Lalr/lalr.scm 68 */
			return BGl_cleanzd2plistzd2zz__lalr_rewritez00();
		}

	}



/* pack-grammar */
	bool_t BGl_packzd2grammarzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 88 */
			BGl_rlhsz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nrulesz00zz__lalr_globalz00), BFALSE);
			BGl_rrhsz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nrulesz00zz__lalr_globalz00), BFALSE);
			BGl_ritemz00zz__lalr_globalz00 =
				make_vector(
				(1L + (long) CINT(BGl_nitemsz00zz__lalr_globalz00)), BFALSE);
			BGl_rprecz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nrulesz00zz__lalr_globalz00), BFALSE);
			{
				obj_t BgL_pz00_1237;
				long BgL_itemzd2nozd2_1238;
				long BgL_rulezd2nozd2_1239;

				BgL_pz00_1237 = BGl_grammarz00zz__lalr_globalz00;
				BgL_itemzd2nozd2_1238 = 0L;
				BgL_rulezd2nozd2_1239 = 1L;
			BgL_zc3z04anonymousza31363ze3z87_1240:
				if (NULLP(BgL_pz00_1237))
					{	/* Lalr/lalr.scm 95 */
						return ((bool_t) 0);
					}
				else
					{	/* Lalr/lalr.scm 96 */
						obj_t BgL_ntz00_1242;

						{	/* Lalr/lalr.scm 96 */
							obj_t BgL_auxz00_4612;

							{	/* Lalr/lalr.scm 96 */
								obj_t BgL_pairz00_2935;

								BgL_pairz00_2935 = CAR(((obj_t) BgL_pz00_1237));
								BgL_auxz00_4612 = CAR(BgL_pairz00_2935);
							}
							BgL_ntz00_1242 =
								BGl_getpropz00zz__r4_symbols_6_4z00(BgL_auxz00_4612,
								BGl_symbol2493z00zz__lalr_expandz00);
						}
						{	/* Lalr/lalr.scm 97 */
							obj_t BgL_g1131z00_1243;

							{	/* Lalr/lalr.scm 97 */
								obj_t BgL_pairz00_2939;

								BgL_pairz00_2939 = CAR(((obj_t) BgL_pz00_1237));
								BgL_g1131z00_1243 = CDR(BgL_pairz00_2939);
							}
							{
								obj_t BgL_prodsz00_1245;
								long BgL_itzd2no2zd2_1246;
								long BgL_rlzd2no2zd2_1247;

								BgL_prodsz00_1245 = BgL_g1131z00_1243;
								BgL_itzd2no2zd2_1246 = BgL_itemzd2nozd2_1238;
								BgL_rlzd2no2zd2_1247 = BgL_rulezd2nozd2_1239;
							BgL_zc3z04anonymousza31365ze3z87_1248:
								if (NULLP(BgL_prodsz00_1245))
									{	/* Lalr/lalr.scm 99 */
										obj_t BgL_arg1367z00_1250;

										BgL_arg1367z00_1250 = CDR(((obj_t) BgL_pz00_1237));
										{
											long BgL_rulezd2nozd2_4626;
											long BgL_itemzd2nozd2_4625;
											obj_t BgL_pz00_4624;

											BgL_pz00_4624 = BgL_arg1367z00_1250;
											BgL_itemzd2nozd2_4625 = BgL_itzd2no2zd2_1246;
											BgL_rulezd2nozd2_4626 = BgL_rlzd2no2zd2_1247;
											BgL_rulezd2nozd2_1239 = BgL_rulezd2nozd2_4626;
											BgL_itemzd2nozd2_1238 = BgL_itemzd2nozd2_4625;
											BgL_pz00_1237 = BgL_pz00_4624;
											goto BgL_zc3z04anonymousza31363ze3z87_1240;
										}
									}
								else
									{	/* Lalr/lalr.scm 98 */
										VECTOR_SET(BGl_rlhsz00zz__lalr_globalz00,
											BgL_rlzd2no2zd2_1247, BgL_ntz00_1242);
										VECTOR_SET(BGl_rrhsz00zz__lalr_globalz00,
											BgL_rlzd2no2zd2_1247, BINT(BgL_itzd2no2zd2_1246));
										{	/* Lalr/lalr.scm 103 */
											obj_t BgL_g1132z00_1251;

											{	/* Lalr/lalr.scm 103 */
												obj_t BgL_pairz00_2948;

												BgL_pairz00_2948 = CAR(((obj_t) BgL_prodsz00_1245));
												BgL_g1132z00_1251 = CAR(BgL_pairz00_2948);
											}
											{
												obj_t BgL_rhsz00_1253;
												long BgL_itzd2no3zd2_1254;

												BgL_rhsz00_1253 = BgL_g1132z00_1251;
												BgL_itzd2no3zd2_1254 = BgL_itzd2no2zd2_1246;
											BgL_zc3z04anonymousza31368ze3z87_1255:
												if (NULLP(BgL_rhsz00_1253))
													{	/* Lalr/lalr.scm 104 */
														{	/* Lalr/lalr.scm 106 */
															long BgL_arg1370z00_1257;

															BgL_arg1370z00_1257 = NEG(BgL_rlzd2no2zd2_1247);
															VECTOR_SET(BGl_ritemz00zz__lalr_globalz00,
																BgL_itzd2no3zd2_1254,
																BINT(BgL_arg1370z00_1257));
														}
														{	/* Lalr/lalr.scm 107 */
															obj_t BgL_arg1371z00_1258;
															long BgL_arg1372z00_1259;
															long BgL_arg1373z00_1260;

															BgL_arg1371z00_1258 =
																CDR(((obj_t) BgL_prodsz00_1245));
															BgL_arg1372z00_1259 = (BgL_itzd2no3zd2_1254 + 1L);
															BgL_arg1373z00_1260 = (BgL_rlzd2no2zd2_1247 + 1L);
															{
																long BgL_rlzd2no2zd2_4644;
																long BgL_itzd2no2zd2_4643;
																obj_t BgL_prodsz00_4642;

																BgL_prodsz00_4642 = BgL_arg1371z00_1258;
																BgL_itzd2no2zd2_4643 = BgL_arg1372z00_1259;
																BgL_rlzd2no2zd2_4644 = BgL_arg1373z00_1260;
																BgL_rlzd2no2zd2_1247 = BgL_rlzd2no2zd2_4644;
																BgL_itzd2no2zd2_1246 = BgL_itzd2no2zd2_4643;
																BgL_prodsz00_1245 = BgL_prodsz00_4642;
																goto BgL_zc3z04anonymousza31365ze3z87_1248;
															}
														}
													}
												else
													{	/* Lalr/lalr.scm 108 */
														obj_t BgL_symz00_1261;

														BgL_symz00_1261 = CAR(((obj_t) BgL_rhsz00_1253));
														{	/* Lalr/lalr.scm 108 */
															obj_t BgL_asymz00_1262;

															if (PAIRP(BgL_symz00_1261))
																{	/* Lalr/lalr.scm 109 */
																	BgL_asymz00_1262 = CAR(BgL_symz00_1261);
																}
															else
																{	/* Lalr/lalr.scm 109 */
																	BgL_asymz00_1262 = BgL_symz00_1261;
																}
															{	/* Lalr/lalr.scm 109 */
																obj_t BgL_symzd2nozd2_1263;

																BgL_symzd2nozd2_1263 =
																	BGl_getpropz00zz__r4_symbols_6_4z00
																	(BgL_asymz00_1262,
																	BGl_symbol2493z00zz__lalr_expandz00);
																{	/* Lalr/lalr.scm 112 */

																	if (CBOOL(BGl_getpropz00zz__r4_symbols_6_4z00
																			(BgL_asymz00_1262,
																				BGl_symbol2495z00zz__lalr_expandz00)))
																		{	/* Lalr/lalr.scm 114 */
																			VECTOR_SET(BGl_rprecz00zz__lalr_globalz00,
																				BgL_rlzd2no2zd2_1247,
																				BGl_getpropz00zz__r4_symbols_6_4z00
																				(BgL_asymz00_1262,
																					BGl_symbol2495z00zz__lalr_expandz00));
																		}
																	else
																		{	/* Lalr/lalr.scm 114 */
																			BFALSE;
																		}
																	VECTOR_SET(BGl_ritemz00zz__lalr_globalz00,
																		BgL_itzd2no3zd2_1254, BgL_symzd2nozd2_1263);
																	{	/* Lalr/lalr.scm 117 */
																		obj_t BgL_arg1377z00_1266;
																		long BgL_arg1378z00_1267;

																		BgL_arg1377z00_1266 =
																			CDR(((obj_t) BgL_rhsz00_1253));
																		BgL_arg1378z00_1267 =
																			(BgL_itzd2no3zd2_1254 + 1L);
																		{
																			long BgL_itzd2no3zd2_4661;
																			obj_t BgL_rhsz00_4660;

																			BgL_rhsz00_4660 = BgL_arg1377z00_1266;
																			BgL_itzd2no3zd2_4661 =
																				BgL_arg1378z00_1267;
																			BgL_itzd2no3zd2_1254 =
																				BgL_itzd2no3zd2_4661;
																			BgL_rhsz00_1253 = BgL_rhsz00_4660;
																			goto
																				BgL_zc3z04anonymousza31368ze3z87_1255;
																		}
																	}
																}
															}
														}
													}
											}
										}
									}
							}
						}
					}
			}
		}

	}



/* check-lalr-rules */
	bool_t BGl_checkzd2lalrzd2rulesz00zz__lalr_expandz00(obj_t BgL_xz00_5,
		obj_t BgL_tokensz00_6, obj_t BgL_rulesz00_7)
	{
		{	/* Lalr/lalr.scm 122 */
			{
				obj_t BgL_rulez00_1303;

				{
					obj_t BgL_l1233z00_1275;

					BgL_l1233z00_1275 = BgL_tokensz00_6;
				BgL_zc3z04anonymousza31381ze3z87_1276:
					if (PAIRP(BgL_l1233z00_1275))
						{	/* Lalr/lalr.scm 142 */
							{	/* Lalr/lalr.scm 144 */
								obj_t BgL_tz00_1278;

								BgL_tz00_1278 = CAR(BgL_l1233z00_1275);
								if (SYMBOLP(BgL_tz00_1278))
									{	/* Lalr/lalr.scm 144 */
										BTRUE;
									}
								else
									{	/* Lalr/lalr.scm 146 */
										bool_t BgL_test2573z00_4667;

										if (PAIRP(BgL_tz00_1278))
											{	/* Lalr/lalr.scm 146 */
												BgL_test2573z00_4667 =
													CBOOL(BGl_memqz00zz__r4_pairs_and_lists_6_3z00(CAR
														(BgL_tz00_1278),
														BGl_list2499z00zz__lalr_expandz00));
											}
										else
											{	/* Lalr/lalr.scm 146 */
												BgL_test2573z00_4667 = ((bool_t) 0);
											}
										if (BgL_test2573z00_4667)
											{	/* Lalr/lalr.scm 147 */
												obj_t BgL_g1232z00_1283;

												BgL_g1232z00_1283 = CDR(BgL_tz00_1278);
												{
													obj_t BgL_l1230z00_1285;

													{	/* Lalr/lalr.scm 152 */
														bool_t BgL_tmpz00_4674;

														BgL_l1230z00_1285 = BgL_g1232z00_1283;
													BgL_zc3z04anonymousza31387ze3z87_1286:
														if (PAIRP(BgL_l1230z00_1285))
															{	/* Lalr/lalr.scm 152 */
																{	/* Lalr/lalr.scm 148 */
																	obj_t BgL_tz00_1288;

																	BgL_tz00_1288 = CAR(BgL_l1230z00_1285);
																	if (SYMBOLP(BgL_tz00_1288))
																		{	/* Lalr/lalr.scm 148 */
																			BFALSE;
																		}
																	else
																		{	/* Lalr/lalr.scm 148 */
																			BGl_bigloozd2typezd2errorz00zz__errorz00
																				(BGl_symbol2506z00zz__lalr_expandz00,
																				BGl_symbol2507z00zz__lalr_expandz00,
																				BgL_tz00_1288);
																		}
																}
																{
																	obj_t BgL_l1230z00_4681;

																	BgL_l1230z00_4681 = CDR(BgL_l1230z00_1285);
																	BgL_l1230z00_1285 = BgL_l1230z00_4681;
																	goto BgL_zc3z04anonymousza31387ze3z87_1286;
																}
															}
														else
															{	/* Lalr/lalr.scm 152 */
																BgL_tmpz00_4674 = ((bool_t) 1);
															}
														BBOOL(BgL_tmpz00_4674);
													}
												}
											}
										else
											{	/* Lalr/lalr.scm 146 */
												BGl_errorz00zz__errorz00
													(BGl_string2490z00zz__lalr_expandz00,
													BGl_string2509z00zz__lalr_expandz00, BgL_tz00_1278);
											}
									}
							}
							{
								obj_t BgL_l1233z00_4685;

								BgL_l1233z00_4685 = CDR(BgL_l1233z00_1275);
								BgL_l1233z00_1275 = BgL_l1233z00_4685;
								goto BgL_zc3z04anonymousza31381ze3z87_1276;
							}
						}
					else
						{	/* Lalr/lalr.scm 142 */
							((bool_t) 1);
						}
				}
				{
					obj_t BgL_l1235z00_2987;

					BgL_l1235z00_2987 = BgL_rulesz00_7;
				BgL_zc3z04anonymousza31393ze3z87_2986:
					if (PAIRP(BgL_l1235z00_2987))
						{	/* Lalr/lalr.scm 156 */
							BgL_rulez00_1303 = CAR(BgL_l1235z00_2987);
							{
								obj_t BgL_subrulesz00_1305;

								if (PAIRP(BgL_rulez00_1303))
									{	/* Lalr/lalr.scm 141 */
										obj_t BgL_cdrzd2622zd2_1310;

										BgL_cdrzd2622zd2_1310 = CDR(((obj_t) BgL_rulez00_1303));
										{	/* Lalr/lalr.scm 141 */
											bool_t BgL_test2579z00_4693;

											{	/* Lalr/lalr.scm 141 */
												obj_t BgL_tmpz00_4694;

												BgL_tmpz00_4694 = CAR(((obj_t) BgL_rulez00_1303));
												BgL_test2579z00_4693 = SYMBOLP(BgL_tmpz00_4694);
											}
											if (BgL_test2579z00_4693)
												{	/* Lalr/lalr.scm 141 */
													if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00
														(BgL_cdrzd2622zd2_1310))
														{	/* Lalr/lalr.scm 141 */
															bool_t BgL_tmpz00_4700;

															BgL_subrulesz00_1305 = BgL_cdrzd2622zd2_1310;
															{
																obj_t BgL_l1228z00_1316;

																BgL_l1228z00_1316 = BgL_subrulesz00_1305;
															BgL_zc3z04anonymousza31403ze3z87_1317:
																if (PAIRP(BgL_l1228z00_1316))
																	{	/* Lalr/lalr.scm 126 */
																		{	/* Lalr/lalr.scm 127 */
																			obj_t BgL_srz00_1319;

																			BgL_srz00_1319 = CAR(BgL_l1228z00_1316);
																			{
																				obj_t BgL_srz00_1320;

																				if (PAIRP(BgL_srz00_1319))
																					{	/* Lalr/lalr.scm 127 */
																						obj_t BgL_carzd2631zd2_1325;

																						BgL_carzd2631zd2_1325 =
																							CAR(((obj_t) BgL_srz00_1319));
																						if (BGl_listzf3zf3zz__r4_pairs_and_lists_6_3z00(BgL_carzd2631zd2_1325))
																							{	/* Lalr/lalr.scm 127 */
																								bool_t BgL_tmpz00_4710;

																								BgL_srz00_1320 =
																									BgL_carzd2631zd2_1325;
																								{
																									obj_t BgL_l1226z00_1328;

																									BgL_l1226z00_1328 =
																										BgL_srz00_1320;
																								BgL_zc3z04anonymousza31407ze3z87_1329:
																									if (PAIRP
																										(BgL_l1226z00_1328))
																										{	/* Lalr/lalr.scm 129 */
																											{	/* Lalr/lalr.scm 130 */
																												obj_t BgL_symz00_1331;

																												BgL_symz00_1331 =
																													CAR
																													(BgL_l1226z00_1328);
																												if (SYMBOLP
																													(BgL_symz00_1331))
																													{	/* Lalr/lalr.scm 130 */
																														BFALSE;
																													}
																												else
																													{	/* Lalr/lalr.scm 130 */
																														BGl_errorz00zz__errorz00
																															(BGl_string2490z00zz__lalr_expandz00,
																															BGl_string2497z00zz__lalr_expandz00,
																															BgL_rulez00_1303);
																													}
																											}
																											{
																												obj_t BgL_l1226z00_4717;

																												BgL_l1226z00_4717 =
																													CDR
																													(BgL_l1226z00_1328);
																												BgL_l1226z00_1328 =
																													BgL_l1226z00_4717;
																												goto
																													BgL_zc3z04anonymousza31407ze3z87_1329;
																											}
																										}
																									else
																										{	/* Lalr/lalr.scm 129 */
																											BgL_tmpz00_4710 =
																												((bool_t) 1);
																										}
																								}
																								BBOOL(BgL_tmpz00_4710);
																							}
																						else
																							{	/* Lalr/lalr.scm 127 */
																								BGl_errorz00zz__errorz00
																									(BGl_string2490z00zz__lalr_expandz00,
																									BGl_string2498z00zz__lalr_expandz00,
																									BgL_rulez00_1303);
																							}
																					}
																				else
																					{	/* Lalr/lalr.scm 127 */
																						BGl_errorz00zz__errorz00
																							(BGl_string2490z00zz__lalr_expandz00,
																							BGl_string2498z00zz__lalr_expandz00,
																							BgL_rulez00_1303);
																					}
																			}
																		}
																		{
																			obj_t BgL_l1228z00_4722;

																			BgL_l1228z00_4722 =
																				CDR(BgL_l1228z00_1316);
																			BgL_l1228z00_1316 = BgL_l1228z00_4722;
																			goto
																				BgL_zc3z04anonymousza31403ze3z87_1317;
																		}
																	}
																else
																	{	/* Lalr/lalr.scm 126 */
																		BgL_tmpz00_4700 = ((bool_t) 1);
																	}
															}
															BBOOL(BgL_tmpz00_4700);
														}
													else
														{	/* Lalr/lalr.scm 141 */
															BGl_errorz00zz__errorz00
																(BGl_string2490z00zz__lalr_expandz00,
																BGl_string2491z00zz__lalr_expandz00,
																BgL_xz00_5);
														}
												}
											else
												{	/* Lalr/lalr.scm 141 */
													BGl_errorz00zz__errorz00
														(BGl_string2490z00zz__lalr_expandz00,
														BGl_string2491z00zz__lalr_expandz00, BgL_xz00_5);
												}
										}
									}
								else
									{	/* Lalr/lalr.scm 141 */
										BGl_errorz00zz__errorz00
											(BGl_string2490z00zz__lalr_expandz00,
											BGl_string2491z00zz__lalr_expandz00, BgL_xz00_5);
									}
							}
							{
								obj_t BgL_l1235z00_4729;

								BgL_l1235z00_4729 = CDR(BgL_l1235z00_2987);
								BgL_l1235z00_2987 = BgL_l1235z00_4729;
								goto BgL_zc3z04anonymousza31393ze3z87_2986;
							}
						}
					else
						{	/* Lalr/lalr.scm 156 */
							return ((bool_t) 1);
						}
				}
			}
		}

	}



/* set-derives */
	bool_t BGl_setzd2deriveszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 165 */
			{	/* Lalr/lalr.scm 166 */
				obj_t BgL_deltsz00_1338;

				BgL_deltsz00_1338 =
					make_vector(
					((long) CINT(BGl_nrulesz00zz__lalr_globalz00) + 1L), BINT(0L));
				{	/* Lalr/lalr.scm 167 */
					obj_t BgL_dsetz00_1339;

					BgL_dsetz00_1339 =
						make_vector(
						(long) CINT(BGl_nvarsz00zz__lalr_globalz00), BINT((-1L)));
					{
						long BgL_iz00_1341;
						long BgL_jz00_1342;

						BgL_iz00_1341 = 1L;
						BgL_jz00_1342 = 0L;
					BgL_zc3z04anonymousza31412ze3z87_1343:
						if ((BgL_iz00_1341 < (long) CINT(BGl_nrulesz00zz__lalr_globalz00)))
							{	/* Lalr/lalr.scm 171 */
								obj_t BgL_lhsz00_1345;

								BgL_lhsz00_1345 =
									VECTOR_REF(BGl_rlhsz00zz__lalr_globalz00, BgL_iz00_1341);
								if (((long) CINT(BgL_lhsz00_1345) >= 0L))
									{	/* Lalr/lalr.scm 172 */
										{	/* Lalr/lalr.scm 174 */
											obj_t BgL_arg1415z00_1347;

											{	/* Lalr/lalr.scm 174 */
												long BgL_arg1416z00_1348;

												{	/* Lalr/lalr.scm 174 */
													long BgL_kz00_3003;

													BgL_kz00_3003 = (long) CINT(BgL_lhsz00_1345);
													BgL_arg1416z00_1348 =
														(long) CINT(VECTOR_REF(BgL_dsetz00_1339,
															BgL_kz00_3003));
												}
												BgL_arg1415z00_1347 =
													MAKE_YOUNG_PAIR(BINT(BgL_iz00_1341),
													BINT(BgL_arg1416z00_1348));
											}
											VECTOR_SET(BgL_deltsz00_1338, BgL_jz00_1342,
												BgL_arg1415z00_1347);
										}
										VECTOR_SET(BgL_dsetz00_1339,
											(long) CINT(BgL_lhsz00_1345), BINT(BgL_jz00_1342));
										{
											long BgL_jz00_4757;
											long BgL_iz00_4755;

											BgL_iz00_4755 = (BgL_iz00_1341 + 1L);
											BgL_jz00_4757 = (BgL_jz00_1342 + 1L);
											BgL_jz00_1342 = BgL_jz00_4757;
											BgL_iz00_1341 = BgL_iz00_4755;
											goto BgL_zc3z04anonymousza31412ze3z87_1343;
										}
									}
								else
									{
										long BgL_iz00_4759;

										BgL_iz00_4759 = (BgL_iz00_1341 + 1L);
										BgL_iz00_1341 = BgL_iz00_4759;
										goto BgL_zc3z04anonymousza31412ze3z87_1343;
									}
							}
						else
							{	/* Lalr/lalr.scm 170 */
								((bool_t) 0);
							}
					}
					BGl_derivesz00zz__lalr_globalz00 =
						make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BINT(0L));
					{
						long BgL_iz00_1354;

						BgL_iz00_1354 = 0L;
					BgL_zc3z04anonymousza31421ze3z87_1355:
						if ((BgL_iz00_1354 < (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
							{	/* Lalr/lalr.scm 183 */
								obj_t BgL_qz00_1357;

								{	/* Lalr/lalr.scm 183 */
									long BgL_g1133z00_1359;

									BgL_g1133z00_1359 =
										(long) CINT(VECTOR_REF(BgL_dsetz00_1339, BgL_iz00_1354));
									{
										obj_t BgL_jz00_3036;
										obj_t BgL_sz00_3037;

										BgL_jz00_3036 = BINT(BgL_g1133z00_1359);
										BgL_sz00_3037 = BNIL;
									BgL_loop2z00_3035:
										if (((long) CINT(BgL_jz00_3036) < 0L))
											{	/* Lalr/lalr.scm 184 */
												BgL_qz00_1357 = BgL_sz00_3037;
											}
										else
											{	/* Lalr/lalr.scm 186 */
												obj_t BgL_xz00_3044;

												BgL_xz00_3044 =
													VECTOR_REF(BgL_deltsz00_1338,
													(long) CINT(BgL_jz00_3036));
												{	/* Lalr/lalr.scm 187 */
													obj_t BgL_arg1426z00_3045;
													obj_t BgL_arg1427z00_3046;

													BgL_arg1426z00_3045 = CDR(((obj_t) BgL_xz00_3044));
													{	/* Lalr/lalr.scm 187 */
														obj_t BgL_arg1428z00_3047;

														BgL_arg1428z00_3047 = CAR(((obj_t) BgL_xz00_3044));
														BgL_arg1427z00_3046 =
															MAKE_YOUNG_PAIR(BgL_arg1428z00_3047,
															BgL_sz00_3037);
													}
													{
														obj_t BgL_sz00_4780;
														obj_t BgL_jz00_4779;

														BgL_jz00_4779 = BgL_arg1426z00_3045;
														BgL_sz00_4780 = BgL_arg1427z00_3046;
														BgL_sz00_3037 = BgL_sz00_4780;
														BgL_jz00_3036 = BgL_jz00_4779;
														goto BgL_loop2z00_3035;
													}
												}
											}
									}
								}
								VECTOR_SET(BGl_derivesz00zz__lalr_globalz00, BgL_iz00_1354,
									BgL_qz00_1357);
								{
									long BgL_iz00_4783;

									BgL_iz00_4783 = (BgL_iz00_1354 + 1L);
									BgL_iz00_1354 = BgL_iz00_4783;
									goto BgL_zc3z04anonymousza31421ze3z87_1355;
								}
							}
						else
							{	/* Lalr/lalr.scm 182 */
								return ((bool_t) 0);
							}
					}
				}
			}
		}

	}



/* set-nullable */
	bool_t BGl_setzd2nullablezd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 193 */
			BGl_nullablez00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BFALSE);
			{	/* Lalr/lalr.scm 195 */
				obj_t BgL_squeuez00_1373;
				obj_t BgL_rcountz00_1374;
				obj_t BgL_rsetsz00_1375;
				obj_t BgL_reltsz00_1376;

				BgL_squeuez00_1373 =
					make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BINT(0L));
				BgL_rcountz00_1374 =
					make_vector(
					((long) CINT(BGl_nrulesz00zz__lalr_globalz00) + 1L), BINT(0L));
				BgL_rsetsz00_1375 =
					make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BFALSE);
				{	/* Lalr/lalr.scm 198 */
					long BgL_arg1472z00_1450;

					{	/* Lalr/lalr.scm 198 */
						long BgL_za71za7_3058;

						BgL_za71za7_3058 = (long) CINT(BGl_nitemsz00zz__lalr_globalz00);
						BgL_arg1472z00_1450 =
							(BgL_za71za7_3058 +
							((long) CINT(BGl_nvarsz00zz__lalr_globalz00) + 1L));
					}
					BgL_reltsz00_1376 = make_vector(BgL_arg1472z00_1450, BFALSE);
				}
				return
					BGl_loopze73ze7zz__lalr_expandz00(BgL_squeuez00_1373,
					BgL_rsetsz00_1375, BgL_rcountz00_1374, BgL_reltsz00_1376, 0L, 0L, 0L);
			}
		}

	}



/* loop3~0 */
	bool_t BGl_loop3ze70ze7zz__lalr_expandz00(obj_t BgL_reltsz00_4489,
		obj_t BgL_rsetsz00_4488, long BgL_rulenoz00_4487, obj_t BgL_rcountz00_4486,
		long BgL_s2z00_4485, obj_t BgL_squeuez00_4484, long BgL_r2z00_1405,
		long BgL_p2z00_1406)
	{
		{	/* Lalr/lalr.scm 216 */
		BGl_loop3ze70ze7zz__lalr_expandz00:
			{	/* Lalr/lalr.scm 217 */
				obj_t BgL_symbolz00_1408;

				BgL_symbolz00_1408 =
					VECTOR_REF(BGl_ritemz00zz__lalr_globalz00, BgL_r2z00_1405);
				if (((long) CINT(BgL_symbolz00_1408) > 0L))
					{	/* Lalr/lalr.scm 218 */
						{	/* Lalr/lalr.scm 221 */
							long BgL_arg1447z00_1410;

							BgL_arg1447z00_1410 =
								(
								(long) CINT(VECTOR_REF(BgL_rcountz00_4486,
										BgL_rulenoz00_4487)) + 1L);
							VECTOR_SET(BgL_rcountz00_4486, BgL_rulenoz00_4487,
								BINT(BgL_arg1447z00_1410));
						}
						{	/* Lalr/lalr.scm 223 */
							obj_t BgL_arg1450z00_1412;

							BgL_arg1450z00_1412 =
								MAKE_YOUNG_PAIR(VECTOR_REF(BgL_rsetsz00_4488,
									(long) CINT(BgL_symbolz00_1408)), BINT(BgL_rulenoz00_4487));
							VECTOR_SET(BgL_reltsz00_4489, BgL_p2z00_1406,
								BgL_arg1450z00_1412);
						}
						VECTOR_SET(BgL_rsetsz00_4488,
							(long) CINT(BgL_symbolz00_1408), BINT(BgL_p2z00_1406));
						{
							long BgL_p2z00_4821;
							long BgL_r2z00_4819;

							BgL_r2z00_4819 = (BgL_r2z00_1405 + 1L);
							BgL_p2z00_4821 = (BgL_p2z00_1406 + 1L);
							BgL_p2z00_1406 = BgL_p2z00_4821;
							BgL_r2z00_1405 = BgL_r2z00_4819;
							goto BGl_loop3ze70ze7zz__lalr_expandz00;
						}
					}
				else
					{	/* Lalr/lalr.scm 218 */
						return
							BGl_loopze73ze7zz__lalr_expandz00(BgL_squeuez00_4484,
							BgL_rsetsz00_4488, BgL_rcountz00_4486, BgL_reltsz00_4489,
							(BgL_r2z00_1405 + 1L), BgL_s2z00_4485, BgL_p2z00_1406);
					}
			}
		}

	}



/* loop2~0 */
	bool_t BGl_loop2ze70ze7zz__lalr_expandz00(long BgL_s2z00_4496,
		long BgL_pz00_4495, long BgL_rz00_4494, obj_t BgL_squeuez00_4493,
		obj_t BgL_rsetsz00_4492, obj_t BgL_rcountz00_4491, obj_t BgL_reltsz00_4490,
		long BgL_r1z00_1394, bool_t BgL_anyzd2tokenszd2_1395)
	{
		{	/* Lalr/lalr.scm 210 */
		BGl_loop2ze70ze7zz__lalr_expandz00:
			{	/* Lalr/lalr.scm 211 */
				obj_t BgL_symbolz00_1397;

				BgL_symbolz00_1397 =
					VECTOR_REF(BGl_ritemz00zz__lalr_globalz00, BgL_r1z00_1394);
				{	/* Lalr/lalr.scm 211 */

					if (((long) CINT(BgL_symbolz00_1397) > 0L))
						{	/* Lalr/lalr.scm 213 */
							long BgL_arg1442z00_1399;
							bool_t BgL_arg1443z00_1400;

							BgL_arg1442z00_1399 = (BgL_r1z00_1394 + 1L);
							if (BgL_anyzd2tokenszd2_1395)
								{	/* Lalr/lalr.scm 213 */
									BgL_arg1443z00_1400 = BgL_anyzd2tokenszd2_1395;
								}
							else
								{	/* Lalr/lalr.scm 213 */
									BgL_arg1443z00_1400 =
										(
										(long) CINT(BgL_symbolz00_1397) >=
										(long) CINT(BGl_nvarsz00zz__lalr_globalz00));
								}
							{
								bool_t BgL_anyzd2tokenszd2_4835;
								long BgL_r1z00_4834;

								BgL_r1z00_4834 = BgL_arg1442z00_1399;
								BgL_anyzd2tokenszd2_4835 = BgL_arg1443z00_1400;
								BgL_anyzd2tokenszd2_1395 = BgL_anyzd2tokenszd2_4835;
								BgL_r1z00_1394 = BgL_r1z00_4834;
								goto BGl_loop2ze70ze7zz__lalr_expandz00;
							}
						}
					else
						{	/* Lalr/lalr.scm 212 */
							if (BgL_anyzd2tokenszd2_1395)
								{	/* Lalr/lalr.scm 214 */
									return
										BGl_loopze73ze7zz__lalr_expandz00(BgL_squeuez00_4493,
										BgL_rsetsz00_4492, BgL_rcountz00_4491, BgL_reltsz00_4490,
										(BgL_r1z00_1394 + 1L), BgL_s2z00_4496, BgL_pz00_4495);
								}
							else
								{	/* Lalr/lalr.scm 214 */
									return
										BGl_loop3ze70ze7zz__lalr_expandz00(BgL_reltsz00_4490,
										BgL_rsetsz00_4492, NEG((long) CINT(BgL_symbolz00_1397)),
										BgL_rcountz00_4491, BgL_s2z00_4496, BgL_squeuez00_4493,
										BgL_rz00_4494, BgL_pz00_4495);
		}}}}}

	}



/* loop~4 */
	bool_t BGl_loopze74ze7zz__lalr_expandz00(obj_t BgL_rsetsz00_4500,
		obj_t BgL_squeuez00_4499, obj_t BgL_rcountz00_4498, obj_t BgL_reltsz00_4497,
		long BgL_s1z00_1420, long BgL_s3z00_1421)
	{
		{	/* Lalr/lalr.scm 229 */
			if ((BgL_s1z00_1420 < BgL_s3z00_1421))
				{	/* Lalr/lalr.scm 231 */
					obj_t BgL_g1136z00_1424;

					{	/* Lalr/lalr.scm 231 */
						obj_t BgL_arg1470z00_1446;

						BgL_arg1470z00_1446 =
							VECTOR_REF(BgL_squeuez00_4499, BgL_s1z00_1420);
						BgL_g1136z00_1424 =
							VECTOR_REF(BgL_rsetsz00_4500, (long) CINT(BgL_arg1470z00_1446));
					}
					return
						BGl_loop2ze71ze7zz__lalr_expandz00(BgL_s1z00_1420,
						BgL_squeuez00_4499, BgL_rcountz00_4498, BgL_reltsz00_4497,
						BgL_rsetsz00_4500, BgL_g1136z00_1424, BgL_s3z00_1421);
				}
			else
				{	/* Lalr/lalr.scm 230 */
					return ((bool_t) 0);
				}
		}

	}



/* loop~3 */
	bool_t BGl_loopze73ze7zz__lalr_expandz00(obj_t BgL_squeuez00_4504,
		obj_t BgL_rsetsz00_4503, obj_t BgL_rcountz00_4502, obj_t BgL_reltsz00_4501,
		long BgL_rz00_1378, long BgL_s2z00_1379, long BgL_pz00_1380)
	{
		{	/* Lalr/lalr.scm 199 */
		BGl_loopze73ze7zz__lalr_expandz00:
			{	/* Lalr/lalr.scm 200 */
				obj_t BgL_za2rza2_1382;

				BgL_za2rza2_1382 =
					VECTOR_REF(BGl_ritemz00zz__lalr_globalz00, BgL_rz00_1378);
				if (CBOOL(BgL_za2rza2_1382))
					{	/* Lalr/lalr.scm 201 */
						if (((long) CINT(BgL_za2rza2_1382) < 0L))
							{	/* Lalr/lalr.scm 203 */
								obj_t BgL_symbolz00_1384;

								BgL_symbolz00_1384 =
									VECTOR_REF(BGl_rlhsz00zz__lalr_globalz00,
									NEG((long) CINT(BgL_za2rza2_1382)));
								{	/* Lalr/lalr.scm 204 */
									bool_t BgL_test2597z00_4857;

									if (((long) CINT(BgL_symbolz00_1384) >= 0L))
										{	/* Lalr/lalr.scm 205 */
											bool_t BgL_test2599z00_4861;

											{	/* Lalr/lalr.scm 205 */
												obj_t BgL_vectorz00_3067;
												long BgL_kz00_3068;

												BgL_vectorz00_3067 = BGl_nullablez00zz__lalr_globalz00;
												BgL_kz00_3068 = (long) CINT(BgL_symbolz00_1384);
												BgL_test2599z00_4861 =
													CBOOL(VECTOR_REF(BgL_vectorz00_3067, BgL_kz00_3068));
											}
											if (BgL_test2599z00_4861)
												{	/* Lalr/lalr.scm 205 */
													BgL_test2597z00_4857 = ((bool_t) 0);
												}
											else
												{	/* Lalr/lalr.scm 205 */
													BgL_test2597z00_4857 = ((bool_t) 1);
												}
										}
									else
										{	/* Lalr/lalr.scm 204 */
											BgL_test2597z00_4857 = ((bool_t) 0);
										}
									if (BgL_test2597z00_4857)
										{	/* Lalr/lalr.scm 204 */
											VECTOR_SET(BGl_nullablez00zz__lalr_globalz00,
												(long) CINT(BgL_symbolz00_1384), BTRUE);
											VECTOR_SET(BgL_squeuez00_4504, BgL_s2z00_1379,
												BgL_symbolz00_1384);
											{
												long BgL_s2z00_4870;
												long BgL_rz00_4868;

												BgL_rz00_4868 = (BgL_rz00_1378 + 1L);
												BgL_s2z00_4870 = (BgL_s2z00_1379 + 1L);
												BgL_s2z00_1379 = BgL_s2z00_4870;
												BgL_rz00_1378 = BgL_rz00_4868;
												goto BGl_loopze73ze7zz__lalr_expandz00;
											}
										}
									else
										{	/* Lalr/lalr.scm 204 */
											return ((bool_t) 0);
										}
								}
							}
						else
							{	/* Lalr/lalr.scm 202 */
								return
									BGl_loop2ze70ze7zz__lalr_expandz00(BgL_s2z00_1379,
									BgL_pz00_1380, BgL_rz00_1378, BgL_squeuez00_4504,
									BgL_rsetsz00_4503, BgL_rcountz00_4502, BgL_reltsz00_4501,
									BgL_rz00_1378, ((bool_t) 0));
							}
					}
				else
					{	/* Lalr/lalr.scm 201 */
						return
							BGl_loopze74ze7zz__lalr_expandz00(BgL_rsetsz00_4503,
							BgL_squeuez00_4504, BgL_rcountz00_4502, BgL_reltsz00_4501, 0L,
							BgL_s2z00_1379);
					}
			}
		}

	}



/* loop2~1 */
	bool_t BGl_loop2ze71ze7zz__lalr_expandz00(long BgL_s1z00_4509,
		obj_t BgL_squeuez00_4508, obj_t BgL_rcountz00_4507, obj_t BgL_reltsz00_4506,
		obj_t BgL_rsetsz00_4505, obj_t BgL_pz00_1426, long BgL_s4z00_1427)
	{
		{	/* Lalr/lalr.scm 231 */
			if (CBOOL(BgL_pz00_1426))
				{	/* Lalr/lalr.scm 233 */
					obj_t BgL_xz00_1429;

					BgL_xz00_1429 =
						VECTOR_REF(BgL_reltsz00_4506, (long) CINT(BgL_pz00_1426));
					{	/* Lalr/lalr.scm 233 */
						obj_t BgL_rulenoz00_1430;

						BgL_rulenoz00_1430 = CDR(((obj_t) BgL_xz00_1429));
						{	/* Lalr/lalr.scm 234 */
							long BgL_yz00_1431;

							{	/* Lalr/lalr.scm 235 */
								long BgL_arg1468z00_1443;

								{	/* Lalr/lalr.scm 235 */
									long BgL_kz00_3110;

									BgL_kz00_3110 = (long) CINT(BgL_rulenoz00_1430);
									BgL_arg1468z00_1443 =
										(long) CINT(VECTOR_REF(BgL_rcountz00_4507, BgL_kz00_3110));
								}
								BgL_yz00_1431 = (BgL_arg1468z00_1443 - 1L);
							}
							{	/* Lalr/lalr.scm 235 */

								VECTOR_SET(BgL_rcountz00_4507,
									(long) CINT(BgL_rulenoz00_1430), BINT(BgL_yz00_1431));
								if ((BgL_yz00_1431 == 0L))
									{	/* Lalr/lalr.scm 238 */
										obj_t BgL_symbolz00_1433;

										BgL_symbolz00_1433 =
											VECTOR_REF(BGl_rlhsz00zz__lalr_globalz00,
											(long) CINT(BgL_rulenoz00_1430));
										{	/* Lalr/lalr.scm 239 */
											bool_t BgL_test2602z00_4891;

											if (((long) CINT(BgL_symbolz00_1433) >= 0L))
												{	/* Lalr/lalr.scm 240 */
													bool_t BgL_test2604z00_4895;

													{	/* Lalr/lalr.scm 240 */
														obj_t BgL_vectorz00_3118;
														long BgL_kz00_3119;

														BgL_vectorz00_3118 =
															BGl_nullablez00zz__lalr_globalz00;
														BgL_kz00_3119 = (long) CINT(BgL_symbolz00_1433);
														BgL_test2604z00_4895 =
															CBOOL(VECTOR_REF(BgL_vectorz00_3118,
																BgL_kz00_3119));
													}
													if (BgL_test2604z00_4895)
														{	/* Lalr/lalr.scm 240 */
															BgL_test2602z00_4891 = ((bool_t) 0);
														}
													else
														{	/* Lalr/lalr.scm 240 */
															BgL_test2602z00_4891 = ((bool_t) 1);
														}
												}
											else
												{	/* Lalr/lalr.scm 239 */
													BgL_test2602z00_4891 = ((bool_t) 0);
												}
											if (BgL_test2602z00_4891)
												{	/* Lalr/lalr.scm 239 */
													VECTOR_SET(BGl_nullablez00zz__lalr_globalz00,
														(long) CINT(BgL_symbolz00_1433), BTRUE);
													VECTOR_SET(BgL_squeuez00_4508, BgL_s4z00_1427,
														BgL_symbolz00_1433);
													{	/* Lalr/lalr.scm 244 */
														obj_t BgL_arg1464z00_1437;
														long BgL_arg1465z00_1438;

														BgL_arg1464z00_1437 = CAR(((obj_t) BgL_xz00_1429));
														BgL_arg1465z00_1438 = (BgL_s4z00_1427 + 1L);
														BGl_loop2ze71ze7zz__lalr_expandz00(BgL_s1z00_4509,
															BgL_squeuez00_4508, BgL_rcountz00_4507,
															BgL_reltsz00_4506, BgL_rsetsz00_4505,
															BgL_arg1464z00_1437, BgL_arg1465z00_1438);
												}}
											else
												{	/* Lalr/lalr.scm 245 */
													obj_t BgL_arg1466z00_1439;

													BgL_arg1466z00_1439 = CAR(((obj_t) BgL_xz00_1429));
													BGl_loop2ze71ze7zz__lalr_expandz00(BgL_s1z00_4509,
														BgL_squeuez00_4508, BgL_rcountz00_4507,
														BgL_reltsz00_4506, BgL_rsetsz00_4505,
														BgL_arg1466z00_1439, BgL_s4z00_1427);
												}
										}
									}
								else
									{	/* Lalr/lalr.scm 246 */
										obj_t BgL_arg1467z00_1442;

										BgL_arg1467z00_1442 = CAR(((obj_t) BgL_xz00_1429));
										BGl_loop2ze71ze7zz__lalr_expandz00(BgL_s1z00_4509,
											BgL_squeuez00_4508, BgL_rcountz00_4507, BgL_reltsz00_4506,
											BgL_rsetsz00_4505, BgL_arg1467z00_1442, BgL_s4z00_1427);
									}
							}
						}
					}
				}
			else
				{	/* Lalr/lalr.scm 232 */
					((bool_t) 0);
				}
			return
				BGl_loopze74ze7zz__lalr_expandz00(BgL_rsetsz00_4505, BgL_squeuez00_4508,
				BgL_rcountz00_4507, BgL_reltsz00_4506, (BgL_s1z00_4509 + 1L),
				BgL_s4z00_1427);
		}

	}



/* set-firsts */
	bool_t BGl_setzd2firstszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 256 */
			BGl_firstsz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BNIL);
			{
				long BgL_iz00_1453;

				BgL_iz00_1453 = 0L;
			BgL_zc3z04anonymousza31474ze3z87_1454:
				if ((BgL_iz00_1453 < (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
					{	/* Lalr/lalr.scm 262 */
						obj_t BgL_g1137z00_1456;

						BgL_g1137z00_1456 =
							VECTOR_REF(BGl_derivesz00zz__lalr_globalz00, BgL_iz00_1453);
						{
							obj_t BgL_spz00_1458;

							BgL_spz00_1458 = BgL_g1137z00_1456;
						BgL_zc3z04anonymousza31476ze3z87_1459:
							if (NULLP(BgL_spz00_1458))
								{
									long BgL_iz00_4922;

									BgL_iz00_4922 = (BgL_iz00_1453 + 1L);
									BgL_iz00_1453 = BgL_iz00_4922;
									goto BgL_zc3z04anonymousza31474ze3z87_1454;
								}
							else
								{	/* Lalr/lalr.scm 265 */
									obj_t BgL_symz00_1462;

									{	/* Lalr/lalr.scm 265 */
										obj_t BgL_arg1486z00_1471;

										{	/* Lalr/lalr.scm 265 */
											obj_t BgL_arg1487z00_1472;

											BgL_arg1487z00_1472 = CAR(((obj_t) BgL_spz00_1458));
											BgL_arg1486z00_1471 =
												VECTOR_REF(BGl_rrhsz00zz__lalr_globalz00,
												(long) CINT(BgL_arg1487z00_1472));
										}
										BgL_symz00_1462 =
											VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
											(long) CINT(BgL_arg1486z00_1471));
									}
									{	/* Lalr/lalr.scm 266 */
										bool_t BgL_test2607z00_4930;

										{	/* Lalr/lalr.scm 266 */
											bool_t BgL_test2608z00_4931;

											if (INTEGERP(BgL_symz00_1462))
												{	/* Lalr/lalr.scm 266 */
													BgL_test2608z00_4931 =
														((-1L) < (long) CINT(BgL_symz00_1462));
												}
											else
												{	/* Lalr/lalr.scm 266 */
													BgL_test2608z00_4931 =
														BGl_2zc3zc3zz__r4_numbers_6_5z00(BINT((-1L)),
														BgL_symz00_1462);
												}
											if (BgL_test2608z00_4931)
												{	/* Lalr/lalr.scm 266 */
													bool_t BgL_test2610z00_4938;

													if (INTEGERP(BgL_symz00_1462))
														{	/* Lalr/lalr.scm 266 */
															BgL_test2610z00_4938 =
																INTEGERP(BGl_nvarsz00zz__lalr_globalz00);
														}
													else
														{	/* Lalr/lalr.scm 266 */
															BgL_test2610z00_4938 = ((bool_t) 0);
														}
													if (BgL_test2610z00_4938)
														{	/* Lalr/lalr.scm 266 */
															BgL_test2607z00_4930 =
																(
																(long) CINT(BgL_symz00_1462) <
																(long) CINT(BGl_nvarsz00zz__lalr_globalz00));
														}
													else
														{	/* Lalr/lalr.scm 266 */
															BgL_test2607z00_4930 =
																BGl_2zc3zc3zz__r4_numbers_6_5z00
																(BgL_symz00_1462,
																BGl_nvarsz00zz__lalr_globalz00);
														}
												}
											else
												{	/* Lalr/lalr.scm 266 */
													BgL_test2607z00_4930 = ((bool_t) 0);
												}
										}
										if (BgL_test2607z00_4930)
											{	/* Lalr/lalr.scm 266 */
												VECTOR_SET(BGl_firstsz00zz__lalr_globalz00,
													BgL_iz00_1453,
													BGl_sinsertz00zz__lalr_utilz00(BgL_symz00_1462,
														VECTOR_REF(BGl_firstsz00zz__lalr_globalz00,
															BgL_iz00_1453)));
											}
										else
											{	/* Lalr/lalr.scm 266 */
												BFALSE;
											}
									}
									{	/* Lalr/lalr.scm 268 */
										obj_t BgL_arg1484z00_1470;

										BgL_arg1484z00_1470 = CDR(((obj_t) BgL_spz00_1458));
										{
											obj_t BgL_spz00_4951;

											BgL_spz00_4951 = BgL_arg1484z00_1470;
											BgL_spz00_1458 = BgL_spz00_4951;
											goto BgL_zc3z04anonymousza31476ze3z87_1459;
										}
									}
								}
						}
					}
				else
					{	/* Lalr/lalr.scm 261 */
						((bool_t) 0);
					}
			}
			{
				bool_t BgL_continuez00_1476;

				BgL_continuez00_1476 = ((bool_t) 1);
			BgL_zc3z04anonymousza31488ze3z87_1477:
				if (BgL_continuez00_1476)
					{
						long BgL_iz00_1479;
						bool_t BgL_contz00_1480;

						BgL_iz00_1479 = 0L;
						BgL_contz00_1480 = ((bool_t) 0);
					BgL_zc3z04anonymousza31489ze3z87_1481:
						if ((BgL_iz00_1479 >= (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
							{
								bool_t BgL_continuez00_4956;

								BgL_continuez00_4956 = BgL_contz00_1480;
								BgL_continuez00_1476 = BgL_continuez00_4956;
								goto BgL_zc3z04anonymousza31488ze3z87_1477;
							}
						else
							{	/* Lalr/lalr.scm 276 */
								obj_t BgL_xz00_1483;

								BgL_xz00_1483 =
									VECTOR_REF(BGl_firstsz00zz__lalr_globalz00, BgL_iz00_1479);
								{	/* Lalr/lalr.scm 276 */
									obj_t BgL_yz00_1484;

									{
										obj_t BgL_lz00_3170;
										obj_t BgL_za7za7_3171;

										BgL_lz00_3170 = BgL_xz00_1483;
										BgL_za7za7_3171 = BgL_xz00_1483;
									BgL_loop3z00_3169:
										if (NULLP(BgL_lz00_3170))
											{	/* Lalr/lalr.scm 278 */
												BgL_yz00_1484 = BgL_za7za7_3171;
											}
										else
											{	/* Lalr/lalr.scm 280 */
												obj_t BgL_arg1497z00_3178;
												obj_t BgL_arg1498z00_3179;

												BgL_arg1497z00_3178 = CDR(((obj_t) BgL_lz00_3170));
												{	/* Lalr/lalr.scm 281 */
													obj_t BgL_arg1499z00_3180;

													{	/* Lalr/lalr.scm 281 */
														obj_t BgL_arg1500z00_3181;

														BgL_arg1500z00_3181 = CAR(((obj_t) BgL_lz00_3170));
														BgL_arg1499z00_3180 =
															VECTOR_REF(BGl_firstsz00zz__lalr_globalz00,
															(long) CINT(BgL_arg1500z00_3181));
													}
													BgL_arg1498z00_3179 =
														BGl_sunionz00zz__lalr_utilz00(BgL_arg1499z00_3180,
														BgL_za7za7_3171);
												}
												{
													obj_t BgL_za7za7_4968;
													obj_t BgL_lz00_4967;

													BgL_lz00_4967 = BgL_arg1497z00_3178;
													BgL_za7za7_4968 = BgL_arg1498z00_3179;
													BgL_za7za7_3171 = BgL_za7za7_4968;
													BgL_lz00_3170 = BgL_lz00_4967;
													goto BgL_loop3z00_3169;
												}
											}
									}
									{	/* Lalr/lalr.scm 277 */

										if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00(BgL_xz00_1483,
												BgL_yz00_1484))
											{
												long BgL_iz00_4971;

												BgL_iz00_4971 = (BgL_iz00_1479 + 1L);
												BgL_iz00_1479 = BgL_iz00_4971;
												goto BgL_zc3z04anonymousza31489ze3z87_1481;
											}
										else
											{	/* Lalr/lalr.scm 282 */
												VECTOR_SET(BGl_firstsz00zz__lalr_globalz00,
													BgL_iz00_1479, BgL_yz00_1484);
												{
													bool_t BgL_contz00_4976;
													long BgL_iz00_4974;

													BgL_iz00_4974 = (BgL_iz00_1479 + 1L);
													BgL_contz00_4976 = ((bool_t) 1);
													BgL_contz00_1480 = BgL_contz00_4976;
													BgL_iz00_1479 = BgL_iz00_4974;
													goto BgL_zc3z04anonymousza31489ze3z87_1481;
												}
											}
									}
								}
							}
					}
				else
					{	/* Lalr/lalr.scm 272 */
						((bool_t) 0);
					}
			}
			{
				long BgL_iz00_3198;

				BgL_iz00_3198 = 0L;
			BgL_loopz00_3197:
				if ((BgL_iz00_3198 < (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
					{	/* Lalr/lalr.scm 289 */
						VECTOR_SET(BGl_firstsz00zz__lalr_globalz00, BgL_iz00_3198,
							BGl_sinsertz00zz__lalr_utilz00(BINT(BgL_iz00_3198),
								VECTOR_REF(BGl_firstsz00zz__lalr_globalz00, BgL_iz00_3198)));
						{
							long BgL_iz00_4984;

							BgL_iz00_4984 = (BgL_iz00_3198 + 1L);
							BgL_iz00_3198 = BgL_iz00_4984;
							goto BgL_loopz00_3197;
						}
					}
				else
					{	/* Lalr/lalr.scm 289 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* set-fderives */
	bool_t BGl_setzd2fderiveszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 301 */
			BGl_fderivesz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nvarsz00zz__lalr_globalz00), BFALSE);
			BGl_setzd2firstszd2zz__lalr_expandz00();
			{
				long BgL_iz00_1509;

				BgL_iz00_1509 = 0L;
			BgL_zc3z04anonymousza31508ze3z87_1510:
				if ((BgL_iz00_1509 < (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
					{	/* Lalr/lalr.scm 308 */
						obj_t BgL_xz00_1512;

						{	/* Lalr/lalr.scm 308 */
							obj_t BgL_g1138z00_1514;

							BgL_g1138z00_1514 =
								VECTOR_REF(BGl_firstsz00zz__lalr_globalz00, BgL_iz00_1509);
							{
								obj_t BgL_lz00_3233;
								obj_t BgL_fdz00_3234;

								BgL_lz00_3233 = BgL_g1138z00_1514;
								BgL_fdz00_3234 = BNIL;
							BgL_loop2z00_3232:
								if (NULLP(BgL_lz00_3233))
									{	/* Lalr/lalr.scm 309 */
										BgL_xz00_1512 = BgL_fdz00_3234;
									}
								else
									{	/* Lalr/lalr.scm 311 */
										obj_t BgL_arg1513z00_3241;
										obj_t BgL_arg1514z00_3242;

										BgL_arg1513z00_3241 = CDR(((obj_t) BgL_lz00_3233));
										{	/* Lalr/lalr.scm 312 */
											obj_t BgL_arg1515z00_3243;

											{	/* Lalr/lalr.scm 312 */
												obj_t BgL_arg1516z00_3244;

												BgL_arg1516z00_3244 = CAR(((obj_t) BgL_lz00_3233));
												BgL_arg1515z00_3243 =
													VECTOR_REF(BGl_derivesz00zz__lalr_globalz00,
													(long) CINT(BgL_arg1516z00_3244));
											}
											BgL_arg1514z00_3242 =
												BGl_sunionz00zz__lalr_utilz00(BgL_arg1515z00_3243,
												BgL_fdz00_3234);
										}
										{
											obj_t BgL_fdz00_5003;
											obj_t BgL_lz00_5002;

											BgL_lz00_5002 = BgL_arg1513z00_3241;
											BgL_fdz00_5003 = BgL_arg1514z00_3242;
											BgL_fdz00_3234 = BgL_fdz00_5003;
											BgL_lz00_3233 = BgL_lz00_5002;
											goto BgL_loop2z00_3232;
										}
									}
							}
						}
						VECTOR_SET(BGl_fderivesz00zz__lalr_globalz00, BgL_iz00_1509,
							BgL_xz00_1512);
						{
							long BgL_iz00_5005;

							BgL_iz00_5005 = (BgL_iz00_1509 + 1L);
							BgL_iz00_1509 = BgL_iz00_5005;
							goto BgL_zc3z04anonymousza31508ze3z87_1510;
						}
					}
				else
					{	/* Lalr/lalr.scm 307 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* closure */
	obj_t BGl_closurez00zz__lalr_expandz00(obj_t BgL_corez00_8)
	{
		{	/* Lalr/lalr.scm 320 */
			{	/* Lalr/lalr.scm 320 */
				obj_t BgL_rulesetz00_1527;

				BgL_rulesetz00_1527 =
					make_vector((long) CINT(BGl_nrulesz00zz__lalr_globalz00), BFALSE);
				{
					obj_t BgL_cspz00_1529;

					BgL_cspz00_1529 = BgL_corez00_8;
				BgL_zc3z04anonymousza31517ze3z87_1530:
					if (NULLP(BgL_cspz00_1529))
						{	/* Lalr/lalr.scm 325 */
							((bool_t) 0);
						}
					else
						{	/* Lalr/lalr.scm 326 */
							obj_t BgL_symz00_1532;

							{	/* Lalr/lalr.scm 326 */
								obj_t BgL_arg1526z00_1547;

								BgL_arg1526z00_1547 = CAR(((obj_t) BgL_cspz00_1529));
								BgL_symz00_1532 =
									VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
									(long) CINT(BgL_arg1526z00_1547));
							}
							{	/* Lalr/lalr.scm 327 */
								bool_t BgL_test2620z00_5015;

								{	/* Lalr/lalr.scm 327 */
									bool_t BgL_test2621z00_5016;

									if (INTEGERP(BgL_symz00_1532))
										{	/* Lalr/lalr.scm 327 */
											BgL_test2621z00_5016 =
												((-1L) < (long) CINT(BgL_symz00_1532));
										}
									else
										{	/* Lalr/lalr.scm 327 */
											BgL_test2621z00_5016 =
												BGl_2zc3zc3zz__r4_numbers_6_5z00(BINT((-1L)),
												BgL_symz00_1532);
										}
									if (BgL_test2621z00_5016)
										{	/* Lalr/lalr.scm 327 */
											bool_t BgL_test2623z00_5023;

											if (INTEGERP(BgL_symz00_1532))
												{	/* Lalr/lalr.scm 327 */
													BgL_test2623z00_5023 =
														INTEGERP(BGl_nvarsz00zz__lalr_globalz00);
												}
											else
												{	/* Lalr/lalr.scm 327 */
													BgL_test2623z00_5023 = ((bool_t) 0);
												}
											if (BgL_test2623z00_5023)
												{	/* Lalr/lalr.scm 327 */
													BgL_test2620z00_5015 =
														(
														(long) CINT(BgL_symz00_1532) <
														(long) CINT(BGl_nvarsz00zz__lalr_globalz00));
												}
											else
												{	/* Lalr/lalr.scm 327 */
													BgL_test2620z00_5015 =
														BGl_2zc3zc3zz__r4_numbers_6_5z00(BgL_symz00_1532,
														BGl_nvarsz00zz__lalr_globalz00);
												}
										}
									else
										{	/* Lalr/lalr.scm 327 */
											BgL_test2620z00_5015 = ((bool_t) 0);
										}
								}
								if (BgL_test2620z00_5015)
									{	/* Lalr/lalr.scm 328 */
										obj_t BgL_g1140z00_1536;

										BgL_g1140z00_1536 =
											VECTOR_REF(BGl_fderivesz00zz__lalr_globalz00,
											(long) CINT(BgL_symz00_1532));
										{
											obj_t BgL_dspz00_3275;

											BgL_dspz00_3275 = BgL_g1140z00_1536;
										BgL_loop2z00_3274:
											if (NULLP(BgL_dspz00_3275))
												{	/* Lalr/lalr.scm 329 */
													((bool_t) 0);
												}
											else
												{	/* Lalr/lalr.scm 329 */
													{	/* Lalr/lalr.scm 331 */
														obj_t BgL_arg1523z00_3280;

														BgL_arg1523z00_3280 =
															CAR(((obj_t) BgL_dspz00_3275));
														VECTOR_SET(BgL_rulesetz00_1527,
															(long) CINT(BgL_arg1523z00_3280), BTRUE);
													}
													{	/* Lalr/lalr.scm 332 */
														obj_t BgL_arg1524z00_3281;

														BgL_arg1524z00_3281 =
															CDR(((obj_t) BgL_dspz00_3275));
														{
															obj_t BgL_dspz00_5041;

															BgL_dspz00_5041 = BgL_arg1524z00_3281;
															BgL_dspz00_3275 = BgL_dspz00_5041;
															goto BgL_loop2z00_3274;
														}
													}
												}
										}
									}
								else
									{	/* Lalr/lalr.scm 327 */
										((bool_t) 0);
									}
							}
							{	/* Lalr/lalr.scm 333 */
								obj_t BgL_arg1525z00_1546;

								BgL_arg1525z00_1546 = CDR(((obj_t) BgL_cspz00_1529));
								{
									obj_t BgL_cspz00_5044;

									BgL_cspz00_5044 = BgL_arg1525z00_1546;
									BgL_cspz00_1529 = BgL_cspz00_5044;
									goto BgL_zc3z04anonymousza31517ze3z87_1530;
								}
							}
						}
				}
				{
					long BgL_rulenoz00_1551;
					obj_t BgL_cspz00_1552;
					obj_t BgL_itemsetvz00_1553;

					BgL_rulenoz00_1551 = 1L;
					BgL_cspz00_1552 = BgL_corez00_8;
					BgL_itemsetvz00_1553 = BNIL;
				BgL_zc3z04anonymousza31527ze3z87_1554:
					if (
						(BgL_rulenoz00_1551 < (long) CINT(BGl_nrulesz00zz__lalr_globalz00)))
						{	/* Lalr/lalr.scm 336 */
							if (CBOOL(VECTOR_REF(BgL_rulesetz00_1527, BgL_rulenoz00_1551)))
								{	/* Lalr/lalr.scm 338 */
									obj_t BgL_itemnoz00_1557;

									BgL_itemnoz00_1557 =
										VECTOR_REF(BGl_rrhsz00zz__lalr_globalz00,
										BgL_rulenoz00_1551);
									{
										obj_t BgL_cz00_1559;
										obj_t BgL_itemsetv2z00_1560;

										BgL_cz00_1559 = BgL_cspz00_1552;
										BgL_itemsetv2z00_1560 = BgL_itemsetvz00_1553;
									BgL_zc3z04anonymousza31530ze3z87_1561:
										{	/* Lalr/lalr.scm 340 */
											bool_t BgL_test2628z00_5052;

											if (PAIRP(BgL_cz00_1559))
												{	/* Lalr/lalr.scm 340 */
													BgL_test2628z00_5052 =
														(
														(long) CINT(CAR(BgL_cz00_1559)) <
														(long) CINT(BgL_itemnoz00_1557));
												}
											else
												{	/* Lalr/lalr.scm 340 */
													BgL_test2628z00_5052 = ((bool_t) 0);
												}
											if (BgL_test2628z00_5052)
												{	/* Lalr/lalr.scm 342 */
													obj_t BgL_arg1534z00_1565;
													obj_t BgL_arg1537z00_1566;

													BgL_arg1534z00_1565 = CDR(BgL_cz00_1559);
													BgL_arg1537z00_1566 =
														MAKE_YOUNG_PAIR(CAR(BgL_cz00_1559),
														BgL_itemsetv2z00_1560);
													{
														obj_t BgL_itemsetv2z00_5063;
														obj_t BgL_cz00_5062;

														BgL_cz00_5062 = BgL_arg1534z00_1565;
														BgL_itemsetv2z00_5063 = BgL_arg1537z00_1566;
														BgL_itemsetv2z00_1560 = BgL_itemsetv2z00_5063;
														BgL_cz00_1559 = BgL_cz00_5062;
														goto BgL_zc3z04anonymousza31530ze3z87_1561;
													}
												}
											else
												{	/* Lalr/lalr.scm 343 */
													long BgL_arg1540z00_1568;
													obj_t BgL_arg1541z00_1569;

													BgL_arg1540z00_1568 = (BgL_rulenoz00_1551 + 1L);
													BgL_arg1541z00_1569 =
														MAKE_YOUNG_PAIR(BgL_itemnoz00_1557,
														BgL_itemsetv2z00_1560);
													{
														obj_t BgL_itemsetvz00_5068;
														obj_t BgL_cspz00_5067;
														long BgL_rulenoz00_5066;

														BgL_rulenoz00_5066 = BgL_arg1540z00_1568;
														BgL_cspz00_5067 = BgL_cz00_1559;
														BgL_itemsetvz00_5068 = BgL_arg1541z00_1569;
														BgL_itemsetvz00_1553 = BgL_itemsetvz00_5068;
														BgL_cspz00_1552 = BgL_cspz00_5067;
														BgL_rulenoz00_1551 = BgL_rulenoz00_5066;
														goto BgL_zc3z04anonymousza31527ze3z87_1554;
													}
												}
										}
									}
								}
							else
								{
									long BgL_rulenoz00_5069;

									BgL_rulenoz00_5069 = (BgL_rulenoz00_1551 + 1L);
									BgL_rulenoz00_1551 = BgL_rulenoz00_5069;
									goto BgL_zc3z04anonymousza31527ze3z87_1554;
								}
						}
					else
						{
							obj_t BgL_cz00_3313;
							obj_t BgL_itemsetv2z00_3314;

							BgL_cz00_3313 = BgL_cspz00_1552;
							BgL_itemsetv2z00_3314 = BgL_itemsetvz00_1553;
						BgL_loop2z00_3312:
							if (PAIRP(BgL_cz00_3313))
								{	/* Lalr/lalr.scm 347 */
									obj_t BgL_arg1546z00_3320;
									obj_t BgL_arg1547z00_3321;

									BgL_arg1546z00_3320 = CDR(BgL_cz00_3313);
									BgL_arg1547z00_3321 =
										MAKE_YOUNG_PAIR(CAR(BgL_cz00_3313), BgL_itemsetv2z00_3314);
									{
										obj_t BgL_itemsetv2z00_5077;
										obj_t BgL_cz00_5076;

										BgL_cz00_5076 = BgL_arg1546z00_3320;
										BgL_itemsetv2z00_5077 = BgL_arg1547z00_3321;
										BgL_itemsetv2z00_3314 = BgL_itemsetv2z00_5077;
										BgL_cz00_3313 = BgL_cz00_5076;
										goto BgL_loop2z00_3312;
									}
								}
							else
								{	/* Lalr/lalr.scm 346 */
									return bgl_reverse(BgL_itemsetv2z00_3314);
								}
						}
				}
			}
		}

	}



/* allocate-item-sets */
	obj_t BGl_allocatezd2itemzd2setsz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 352 */
			BGl_kernelzd2basezd2zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nsymsz00zz__lalr_globalz00), BINT(0L));
			return (BGl_kernelzd2endzd2zz__lalr_globalz00 =
				make_vector(
					(long) CINT(BGl_nsymsz00zz__lalr_globalz00), BFALSE), BUNSPEC);
		}

	}



/* allocate-storage */
	obj_t BGl_allocatezd2storagezd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 357 */
			BGl_allocatezd2itemzd2setsz00zz__lalr_expandz00();
			return (BGl_redzd2setzd2zz__lalr_globalz00 =
				make_vector(
					((long) CINT(BGl_nrulesz00zz__lalr_globalz00) + 1L),
					BINT(0L)), BUNSPEC);
		}

	}



/* initialize-states */
	obj_t BGl_initializa7ezd2statesz75zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 364 */
			{	/* Lalr/lalr.scm 365 */
				obj_t BgL_pz00_1585;

				BgL_pz00_1585 = make_vector(4L, BINT(0L));
				VECTOR_SET(BgL_pz00_1585, 0L, BINT(0L));
				VECTOR_SET(BgL_pz00_1585, 1L, BFALSE);
				VECTOR_SET(BgL_pz00_1585, 2L, BINT(1L));
				VECTOR_SET(BgL_pz00_1585, 3L, BGl_list2510z00zz__lalr_expandz00);
				{	/* Lalr/lalr.scm 371 */
					obj_t BgL_list1552z00_1586;

					BgL_list1552z00_1586 = MAKE_YOUNG_PAIR(BgL_pz00_1585, BNIL);
					BGl_firstzd2statezd2zz__lalr_globalz00 = BgL_list1552z00_1586;
				}
				BGl_lastzd2statezd2zz__lalr_globalz00 =
					BGl_firstzd2statezd2zz__lalr_globalz00;
				return (BGl_nstatesz00zz__lalr_globalz00 = BINT(1L), BUNSPEC);
			}
		}

	}



/* generate-states */
	bool_t BGl_generatezd2stateszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 377 */
			BGl_allocatezd2storagezd2zz__lalr_expandz00();
			BGl_setzd2fderiveszd2zz__lalr_expandz00();
			BGl_initializa7ezd2statesz75zz__lalr_expandz00();
			{
				obj_t BgL_thiszd2statezd2_1588;

				BgL_thiszd2statezd2_1588 = BGl_firstzd2statezd2zz__lalr_globalz00;
			BgL_zc3z04anonymousza31553ze3z87_1589:
				if (PAIRP(BgL_thiszd2statezd2_1588))
					{	/* Lalr/lalr.scm 383 */
						obj_t BgL_xz00_1591;

						BgL_xz00_1591 = CAR(BgL_thiszd2statezd2_1588);
						{	/* Lalr/lalr.scm 383 */
							obj_t BgL_isz00_1592;

							{	/* Lalr/lalr.scm 384 */
								obj_t BgL_arg1559z00_1595;

								BgL_arg1559z00_1595 = VECTOR_REF(((obj_t) BgL_xz00_1591), 3L);
								BgL_isz00_1592 =
									BGl_closurez00zz__lalr_expandz00(BgL_arg1559z00_1595);
							}
							{	/* Lalr/lalr.scm 384 */

								BGl_savezd2reductionszd2zz__lalr_expandz00(BgL_xz00_1591,
									BgL_isz00_1592);
								BGl_newzd2itemsetszd2zz__lalr_expandz00(BgL_isz00_1592);
								BGl_appendzd2stateszd2zz__lalr_expandz00();
								if (((long) CINT(BGl_nshiftsz00zz__lalr_globalz00) > 0L))
									{	/* Lalr/lalr.scm 388 */
										BGl_savezd2shiftszd2zz__lalr_expandz00(BgL_xz00_1591);
									}
								else
									{	/* Lalr/lalr.scm 388 */
										BFALSE;
									}
								{
									obj_t BgL_thiszd2statezd2_5115;

									BgL_thiszd2statezd2_5115 = CDR(BgL_thiszd2statezd2_1588);
									BgL_thiszd2statezd2_1588 = BgL_thiszd2statezd2_5115;
									goto BgL_zc3z04anonymousza31553ze3z87_1589;
								}
							}
						}
					}
				else
					{	/* Lalr/lalr.scm 382 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* new-itemsets */
	obj_t BGl_newzd2itemsetszd2zz__lalr_expandz00(obj_t BgL_itemsetz00_9)
	{
		{	/* Lalr/lalr.scm 396 */
			BGl_shiftzd2symbolzd2zz__lalr_globalz00 = BNIL;
			{
				long BgL_iz00_3351;

				BgL_iz00_3351 = 0L;
			BgL_loopz00_3350:
				if ((BgL_iz00_3351 < (long) CINT(BGl_nsymsz00zz__lalr_globalz00)))
					{	/* Lalr/lalr.scm 400 */
						VECTOR_SET(BGl_kernelzd2endzd2zz__lalr_globalz00, BgL_iz00_3351,
							BNIL);
						{
							long BgL_iz00_5121;

							BgL_iz00_5121 = (BgL_iz00_3351 + 1L);
							BgL_iz00_3351 = BgL_iz00_5121;
							goto BgL_loopz00_3350;
						}
					}
				else
					{	/* Lalr/lalr.scm 400 */
						((bool_t) 0);
					}
			}
			{
				obj_t BgL_ispz00_1604;

				BgL_ispz00_1604 = BgL_itemsetz00_9;
			BgL_zc3z04anonymousza31563ze3z87_1605:
				if (PAIRP(BgL_ispz00_1604))
					{	/* Lalr/lalr.scm 407 */
						obj_t BgL_iz00_1607;

						BgL_iz00_1607 = CAR(BgL_ispz00_1604);
						{	/* Lalr/lalr.scm 407 */
							obj_t BgL_symz00_1608;

							BgL_symz00_1608 =
								VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
								(long) CINT(BgL_iz00_1607));
							{	/* Lalr/lalr.scm 408 */

								if (((long) CINT(BgL_symz00_1608) >= 0L))
									{	/* Lalr/lalr.scm 409 */
										BGl_shiftzd2symbolzd2zz__lalr_globalz00 =
											BGl_sinsertz00zz__lalr_utilz00(BgL_symz00_1608,
											BGl_shiftzd2symbolzd2zz__lalr_globalz00);
										{	/* Lalr/lalr.scm 412 */
											obj_t BgL_xz00_1610;

											BgL_xz00_1610 =
												VECTOR_REF(BGl_kernelzd2endzd2zz__lalr_globalz00,
												(long) CINT(BgL_symz00_1608));
											if (NULLP(BgL_xz00_1610))
												{	/* Lalr/lalr.scm 413 */
													{	/* Lalr/lalr.scm 415 */
														obj_t BgL_arg1568z00_1612;

														{	/* Lalr/lalr.scm 415 */
															long BgL_arg1569z00_1613;

															BgL_arg1569z00_1613 =
																((long) CINT(BgL_iz00_1607) + 1L);
															BgL_arg1568z00_1612 =
																MAKE_YOUNG_PAIR(BINT(BgL_arg1569z00_1613),
																BgL_xz00_1610);
														}
														VECTOR_SET(BGl_kernelzd2basezd2zz__lalr_globalz00,
															(long) CINT(BgL_symz00_1608),
															BgL_arg1568z00_1612);
													}
													VECTOR_SET(BGl_kernelzd2endzd2zz__lalr_globalz00,
														(long) CINT(BgL_symz00_1608),
														VECTOR_REF(BGl_kernelzd2basezd2zz__lalr_globalz00,
															(long) CINT(BgL_symz00_1608)));
												}
											else
												{	/* Lalr/lalr.scm 413 */
													{	/* Lalr/lalr.scm 418 */
														obj_t BgL_arg1574z00_1615;

														{	/* Lalr/lalr.scm 418 */
															long BgL_arg1575z00_1616;

															BgL_arg1575z00_1616 =
																((long) CINT(BgL_iz00_1607) + 1L);
															{	/* Lalr/lalr.scm 418 */
																obj_t BgL_list1576z00_1617;

																BgL_list1576z00_1617 =
																	MAKE_YOUNG_PAIR(BINT(BgL_arg1575z00_1616),
																	BNIL);
																BgL_arg1574z00_1615 = BgL_list1576z00_1617;
														}}
														{	/* Lalr/lalr.scm 418 */
															obj_t BgL_tmpz00_5150;

															BgL_tmpz00_5150 = ((obj_t) BgL_xz00_1610);
															SET_CDR(BgL_tmpz00_5150, BgL_arg1574z00_1615);
													}}
													{	/* Lalr/lalr.scm 419 */
														obj_t BgL_arg1577z00_1618;

														BgL_arg1577z00_1618 = CDR(((obj_t) BgL_xz00_1610));
														VECTOR_SET(BGl_kernelzd2endzd2zz__lalr_globalz00,
															(long) CINT(BgL_symz00_1608),
															BgL_arg1577z00_1618);
									}}}}
								else
									{	/* Lalr/lalr.scm 409 */
										BFALSE;
									}
								{
									obj_t BgL_ispz00_5157;

									BgL_ispz00_5157 = CDR(BgL_ispz00_1604);
									BgL_ispz00_1604 = BgL_ispz00_5157;
									goto BgL_zc3z04anonymousza31563ze3z87_1605;
								}
							}
						}
					}
				else
					{	/* Lalr/lalr.scm 406 */
						((bool_t) 0);
					}
			}
			return (BGl_nshiftsz00zz__lalr_globalz00 =
				BINT(bgl_list_length(BGl_shiftzd2symbolzd2zz__lalr_globalz00)),
				BUNSPEC);
		}

	}



/* get-state */
	obj_t BGl_getzd2statezd2zz__lalr_expandz00(obj_t BgL_symz00_10)
	{
		{	/* Lalr/lalr.scm 426 */
			{	/* Lalr/lalr.scm 427 */
				obj_t BgL_ispz00_1621;

				BgL_ispz00_1621 =
					VECTOR_REF(BGl_kernelzd2basezd2zz__lalr_globalz00,
					(long) CINT(BgL_symz00_10));
				{	/* Lalr/lalr.scm 427 */
					long BgL_nz00_1622;

					BgL_nz00_1622 = bgl_list_length(BgL_ispz00_1621);
					{	/* Lalr/lalr.scm 428 */
						long BgL_keyz00_1623;

						{
							obj_t BgL_isp1z00_3400;
							long BgL_kz00_3401;

							BgL_isp1z00_3400 = BgL_ispz00_1621;
							BgL_kz00_3401 = 0L;
						BgL_loopz00_3399:
							if (NULLP(BgL_isp1z00_3400))
								{	/* Lalr/lalr.scm 430 */
									BgL_keyz00_1623 =
										BGl_modulofxz00zz__r4_numbers_6_5_fixnumz00(BgL_kz00_3401,
										(long) CINT(BGl_STATEzd2TABLEzd2SIZEz00zz__lalr_globalz00));
								}
							else
								{	/* Lalr/lalr.scm 432 */
									obj_t BgL_arg1615z00_3407;
									long BgL_arg1616z00_3408;

									BgL_arg1615z00_3407 = CDR(((obj_t) BgL_isp1z00_3400));
									BgL_arg1616z00_3408 =
										(BgL_kz00_3401 +
										(long) CINT(CAR(((obj_t) BgL_isp1z00_3400))));
									{
										long BgL_kz00_5175;
										obj_t BgL_isp1z00_5174;

										BgL_isp1z00_5174 = BgL_arg1615z00_3407;
										BgL_kz00_5175 = BgL_arg1616z00_3408;
										BgL_kz00_3401 = BgL_kz00_5175;
										BgL_isp1z00_3400 = BgL_isp1z00_5174;
										goto BgL_loopz00_3399;
									}
								}
						}
						{	/* Lalr/lalr.scm 429 */
							obj_t BgL_spz00_1624;

							BgL_spz00_1624 =
								VECTOR_REF(BGl_statezd2tablezd2zz__lalr_globalz00,
								BgL_keyz00_1623);
							{	/* Lalr/lalr.scm 433 */

								if (NULLP(BgL_spz00_1624))
									{	/* Lalr/lalr.scm 435 */
										obj_t BgL_xz00_1626;

										BgL_xz00_1626 =
											BGl_newzd2statezd2zz__lalr_expandz00(BgL_symz00_10);
										{	/* Lalr/lalr.scm 436 */
											obj_t BgL_arg1580z00_1627;

											{	/* Lalr/lalr.scm 436 */
												obj_t BgL_list1581z00_1628;

												BgL_list1581z00_1628 =
													MAKE_YOUNG_PAIR(BgL_xz00_1626, BNIL);
												BgL_arg1580z00_1627 = BgL_list1581z00_1628;
											}
											VECTOR_SET(BGl_statezd2tablezd2zz__lalr_globalz00,
												BgL_keyz00_1623, BgL_arg1580z00_1627);
										}
										return VECTOR_REF(BgL_xz00_1626, 0L);
									}
								else
									{
										obj_t BgL_sp1z00_1630;

										BgL_sp1z00_1630 = BgL_spz00_1624;
									BgL_zc3z04anonymousza31582ze3z87_1631:
										{	/* Lalr/lalr.scm 439 */
											bool_t BgL_test2639z00_5183;

											{	/* Lalr/lalr.scm 439 */
												bool_t BgL_test2640z00_5184;

												{	/* Lalr/lalr.scm 439 */
													obj_t BgL_b1239z00_1681;

													{	/* Lalr/lalr.scm 439 */
														obj_t BgL_arg1612z00_1683;

														BgL_arg1612z00_1683 =
															CAR(((obj_t) BgL_sp1z00_1630));
														BgL_b1239z00_1681 =
															VECTOR_REF(((obj_t) BgL_arg1612z00_1683), 2L);
													}
													if (INTEGERP(BgL_b1239z00_1681))
														{	/* Lalr/lalr.scm 439 */
															BgL_test2640z00_5184 =
																(BgL_nz00_1622 ==
																(long) CINT(BgL_b1239z00_1681));
														}
													else
														{	/* Lalr/lalr.scm 439 */
															BgL_test2640z00_5184 =
																BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT
																(BgL_nz00_1622), BgL_b1239z00_1681);
														}
												}
												if (BgL_test2640z00_5184)
													{	/* Lalr/lalr.scm 440 */
														obj_t BgL_g1142z00_1667;

														{	/* Lalr/lalr.scm 440 */
															obj_t BgL_arg1610z00_1680;

															BgL_arg1610z00_1680 =
																CAR(((obj_t) BgL_sp1z00_1630));
															BgL_g1142z00_1667 =
																VECTOR_REF(((obj_t) BgL_arg1610z00_1680), 3L);
														}
														{
															obj_t BgL_i1z00_1669;
															obj_t BgL_tz00_1670;

															BgL_i1z00_1669 = BgL_ispz00_1621;
															BgL_tz00_1670 = BgL_g1142z00_1667;
														BgL_zc3z04anonymousza31606ze3z87_1671:
															{	/* Lalr/lalr.scm 441 */
																bool_t BgL_test2642z00_5199;

																if (PAIRP(BgL_i1z00_1669))
																	{	/* Lalr/lalr.scm 442 */
																		obj_t BgL_a1240z00_1676;

																		BgL_a1240z00_1676 = CAR(BgL_i1z00_1669);
																		{	/* Lalr/lalr.scm 443 */
																			obj_t BgL_b1241z00_1677;

																			BgL_b1241z00_1677 =
																				CAR(((obj_t) BgL_tz00_1670));
																			{	/* Lalr/lalr.scm 442 */

																				{	/* Lalr/lalr.scm 442 */
																					bool_t BgL_test2644z00_5205;

																					if (INTEGERP(BgL_a1240z00_1676))
																						{	/* Lalr/lalr.scm 442 */
																							BgL_test2644z00_5205 =
																								INTEGERP(BgL_b1241z00_1677);
																						}
																					else
																						{	/* Lalr/lalr.scm 442 */
																							BgL_test2644z00_5205 =
																								((bool_t) 0);
																						}
																					if (BgL_test2644z00_5205)
																						{	/* Lalr/lalr.scm 442 */
																							BgL_test2642z00_5199 =
																								(
																								(long) CINT(BgL_a1240z00_1676)
																								==
																								(long) CINT(BgL_b1241z00_1677));
																						}
																					else
																						{	/* Lalr/lalr.scm 442 */
																							BgL_test2642z00_5199 =
																								BGl_2zd3zd3zz__r4_numbers_6_5z00
																								(BgL_a1240z00_1676,
																								BgL_b1241z00_1677);
																						}
																				}
																			}
																		}
																	}
																else
																	{	/* Lalr/lalr.scm 441 */
																		BgL_test2642z00_5199 = ((bool_t) 0);
																	}
																if (BgL_test2642z00_5199)
																	{
																		obj_t BgL_tz00_5215;
																		obj_t BgL_i1z00_5213;

																		BgL_i1z00_5213 = CDR(BgL_i1z00_1669);
																		BgL_tz00_5215 =
																			CDR(((obj_t) BgL_tz00_1670));
																		BgL_tz00_1670 = BgL_tz00_5215;
																		BgL_i1z00_1669 = BgL_i1z00_5213;
																		goto BgL_zc3z04anonymousza31606ze3z87_1671;
																	}
																else
																	{	/* Lalr/lalr.scm 441 */
																		BgL_test2639z00_5183 =
																			NULLP(BgL_i1z00_1669);
																	}
															}
														}
													}
												else
													{	/* Lalr/lalr.scm 439 */
														BgL_test2639z00_5183 = ((bool_t) 0);
													}
											}
											if (BgL_test2639z00_5183)
												{	/* Lalr/lalr.scm 446 */
													obj_t BgL_arg1598z00_1658;

													BgL_arg1598z00_1658 = CAR(((obj_t) BgL_sp1z00_1630));
													return VECTOR_REF(((obj_t) BgL_arg1598z00_1658), 0L);
												}
											else
												{	/* Lalr/lalr.scm 439 */
													if (NULLP(CDR(((obj_t) BgL_sp1z00_1630))))
														{	/* Lalr/lalr.scm 448 */
															obj_t BgL_xz00_1661;

															BgL_xz00_1661 =
																BGl_newzd2statezd2zz__lalr_expandz00
																(BgL_symz00_10);
															{	/* Lalr/lalr.scm 449 */
																obj_t BgL_arg1602z00_1662;

																{	/* Lalr/lalr.scm 449 */
																	obj_t BgL_list1603z00_1663;

																	BgL_list1603z00_1663 =
																		MAKE_YOUNG_PAIR(BgL_xz00_1661, BNIL);
																	BgL_arg1602z00_1662 = BgL_list1603z00_1663;
																}
																{	/* Lalr/lalr.scm 449 */
																	obj_t BgL_tmpz00_5229;

																	BgL_tmpz00_5229 = ((obj_t) BgL_sp1z00_1630);
																	SET_CDR(BgL_tmpz00_5229, BgL_arg1602z00_1662);
																}
															}
															return VECTOR_REF(BgL_xz00_1661, 0L);
														}
													else
														{	/* Lalr/lalr.scm 451 */
															obj_t BgL_arg1604z00_1664;

															BgL_arg1604z00_1664 =
																CDR(((obj_t) BgL_sp1z00_1630));
															{
																obj_t BgL_sp1z00_5235;

																BgL_sp1z00_5235 = BgL_arg1604z00_1664;
																BgL_sp1z00_1630 = BgL_sp1z00_5235;
																goto BgL_zc3z04anonymousza31582ze3z87_1631;
															}
														}
												}
										}
									}
							}
						}
					}
				}
			}
		}

	}



/* new-state */
	obj_t BGl_newzd2statezd2zz__lalr_expandz00(obj_t BgL_symz00_11)
	{
		{	/* Lalr/lalr.scm 454 */
			{	/* Lalr/lalr.scm 455 */
				obj_t BgL_ispz00_1694;

				BgL_ispz00_1694 =
					VECTOR_REF(BGl_kernelzd2basezd2zz__lalr_globalz00,
					(long) CINT(BgL_symz00_11));
				{	/* Lalr/lalr.scm 455 */
					long BgL_nz00_1695;

					BgL_nz00_1695 = bgl_list_length(BgL_ispz00_1694);
					{	/* Lalr/lalr.scm 456 */
						obj_t BgL_pz00_1696;

						BgL_pz00_1696 = make_vector(4L, BINT(0L));
						{	/* Lalr/lalr.scm 457 */

							VECTOR_SET(BgL_pz00_1696, 0L, BGl_nstatesz00zz__lalr_globalz00);
							VECTOR_SET(BgL_pz00_1696, 1L, BgL_symz00_11);
							{	/* Lalr/lalr.scm 460 */
								bool_t BgL_test2647z00_5243;

								{	/* Lalr/lalr.scm 460 */
									bool_t BgL_test2648z00_5244;

									if (INTEGERP(BgL_symz00_11))
										{	/* Lalr/lalr.scm 460 */
											BgL_test2648z00_5244 =
												INTEGERP(BGl_nvarsz00zz__lalr_globalz00);
										}
									else
										{	/* Lalr/lalr.scm 460 */
											BgL_test2648z00_5244 = ((bool_t) 0);
										}
									if (BgL_test2648z00_5244)
										{	/* Lalr/lalr.scm 460 */
											BgL_test2647z00_5243 =
												(
												(long) CINT(BgL_symz00_11) ==
												(long) CINT(BGl_nvarsz00zz__lalr_globalz00));
										}
									else
										{	/* Lalr/lalr.scm 460 */
											BgL_test2647z00_5243 =
												BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_symz00_11,
												BGl_nvarsz00zz__lalr_globalz00);
										}
								}
								if (BgL_test2647z00_5243)
									{	/* Lalr/lalr.scm 460 */
										BGl_finalzd2statezd2zz__lalr_globalz00 =
											BGl_nstatesz00zz__lalr_globalz00;
									}
								else
									{	/* Lalr/lalr.scm 460 */
										BFALSE;
									}
							}
							VECTOR_SET(BgL_pz00_1696, 2L, BINT(BgL_nz00_1695));
							VECTOR_SET(BgL_pz00_1696, 3L, BgL_ispz00_1694);
							{	/* Lalr/lalr.scm 463 */
								obj_t BgL_arg1620z00_1700;

								{	/* Lalr/lalr.scm 463 */
									obj_t BgL_list1621z00_1701;

									BgL_list1621z00_1701 = MAKE_YOUNG_PAIR(BgL_pz00_1696, BNIL);
									BgL_arg1620z00_1700 = BgL_list1621z00_1701;
								}
								SET_CDR(BGl_lastzd2statezd2zz__lalr_globalz00,
									BgL_arg1620z00_1700);
							}
							BGl_lastzd2statezd2zz__lalr_globalz00 =
								CDR(BGl_lastzd2statezd2zz__lalr_globalz00);
							BGl_nstatesz00zz__lalr_globalz00 =
								ADDFX(BGl_nstatesz00zz__lalr_globalz00, BINT(1L));
							return BgL_pz00_1696;
						}
					}
				}
			}
		}

	}



/* append-states */
	obj_t BGl_appendzd2stateszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 471 */
			return (BGl_shiftzd2setzd2zz__lalr_globalz00 =
				BGl_loopze72ze7zz__lalr_expandz00
				(BGl_shiftzd2symbolzd2zz__lalr_globalz00), BUNSPEC);
		}

	}



/* loop~2 */
	obj_t BGl_loopze72ze7zz__lalr_expandz00(obj_t BgL_lz00_1703)
	{
		{	/* Lalr/lalr.scm 473 */
			if (NULLP(BgL_lz00_1703))
				{	/* Lalr/lalr.scm 474 */
					return BNIL;
				}
			else
				{	/* Lalr/lalr.scm 476 */
					obj_t BgL_arg1624z00_1706;
					obj_t BgL_arg1625z00_1707;

					{	/* Lalr/lalr.scm 476 */
						obj_t BgL_arg1626z00_1708;

						BgL_arg1626z00_1708 = CAR(((obj_t) BgL_lz00_1703));
						BgL_arg1624z00_1706 =
							BGl_getzd2statezd2zz__lalr_expandz00(BgL_arg1626z00_1708);
					}
					{	/* Lalr/lalr.scm 476 */
						obj_t BgL_arg1627z00_1709;

						BgL_arg1627z00_1709 = CDR(((obj_t) BgL_lz00_1703));
						BgL_arg1625z00_1707 =
							BGl_loopze72ze7zz__lalr_expandz00(BgL_arg1627z00_1709);
					}
					return MAKE_YOUNG_PAIR(BgL_arg1624z00_1706, BgL_arg1625z00_1707);
				}
		}

	}



/* save-shifts */
	obj_t BGl_savezd2shiftszd2zz__lalr_expandz00(obj_t BgL_corez00_12)
	{
		{	/* Lalr/lalr.scm 480 */
			{	/* Lalr/lalr.scm 481 */
				obj_t BgL_pz00_1711;

				BgL_pz00_1711 = make_vector(3L, BINT(0L));
				{	/* Lalr/lalr.scm 482 */
					obj_t BgL_arg1628z00_1712;

					BgL_arg1628z00_1712 = VECTOR_REF(((obj_t) BgL_corez00_12), 0L);
					VECTOR_SET(BgL_pz00_1711, 0L, BgL_arg1628z00_1712);
				}
				VECTOR_SET(BgL_pz00_1711, 1L, BGl_nshiftsz00zz__lalr_globalz00);
				VECTOR_SET(BgL_pz00_1711, 2L, BGl_shiftzd2setzd2zz__lalr_globalz00);
				if (CBOOL(BGl_lastzd2shiftzd2zz__lalr_globalz00))
					{	/* Lalr/lalr.scm 485 */
						{	/* Lalr/lalr.scm 487 */
							obj_t BgL_arg1629z00_1713;

							{	/* Lalr/lalr.scm 487 */
								obj_t BgL_list1630z00_1714;

								BgL_list1630z00_1714 = MAKE_YOUNG_PAIR(BgL_pz00_1711, BNIL);
								BgL_arg1629z00_1713 = BgL_list1630z00_1714;
							}
							SET_CDR(BGl_lastzd2shiftzd2zz__lalr_globalz00,
								BgL_arg1629z00_1713);
						}
						return (BGl_lastzd2shiftzd2zz__lalr_globalz00 =
							CDR(BGl_lastzd2shiftzd2zz__lalr_globalz00), BUNSPEC);
					}
				else
					{	/* Lalr/lalr.scm 485 */
						{	/* Lalr/lalr.scm 490 */
							obj_t BgL_list1631z00_1715;

							BgL_list1631z00_1715 = MAKE_YOUNG_PAIR(BgL_pz00_1711, BNIL);
							BGl_firstzd2shiftzd2zz__lalr_globalz00 = BgL_list1631z00_1715;
						}
						return (BGl_lastzd2shiftzd2zz__lalr_globalz00 =
							BGl_firstzd2shiftzd2zz__lalr_globalz00, BUNSPEC);
					}
			}
		}

	}



/* save-reductions */
	obj_t BGl_savezd2reductionszd2zz__lalr_expandz00(obj_t BgL_corez00_13,
		obj_t BgL_itemsetz00_14)
	{
		{	/* Lalr/lalr.scm 493 */
			{	/* Lalr/lalr.scm 494 */
				obj_t BgL_rsz00_1716;

				BgL_rsz00_1716 = BGl_loopze71ze7zz__lalr_expandz00(BgL_itemsetz00_14);
				if (NULLP(BgL_rsz00_1716))
					{	/* Lalr/lalr.scm 501 */
						return BFALSE;
					}
				else
					{	/* Lalr/lalr.scm 502 */
						obj_t BgL_pz00_1718;

						BgL_pz00_1718 = make_vector(3L, BINT(0L));
						{	/* Lalr/lalr.scm 503 */
							obj_t BgL_arg1633z00_1719;

							BgL_arg1633z00_1719 = VECTOR_REF(((obj_t) BgL_corez00_13), 0L);
							VECTOR_SET(BgL_pz00_1718, 0L, BgL_arg1633z00_1719);
						}
						{	/* Lalr/lalr.scm 504 */
							long BgL_arg1634z00_1720;

							BgL_arg1634z00_1720 = bgl_list_length(BgL_rsz00_1716);
							VECTOR_SET(BgL_pz00_1718, 1L, BINT(BgL_arg1634z00_1720));
						}
						VECTOR_SET(BgL_pz00_1718, 2L, BgL_rsz00_1716);
						if (CBOOL(BGl_lastzd2reductionzd2zz__lalr_globalz00))
							{	/* Lalr/lalr.scm 506 */
								{	/* Lalr/lalr.scm 508 */
									obj_t BgL_arg1635z00_1721;

									{	/* Lalr/lalr.scm 508 */
										obj_t BgL_list1636z00_1722;

										BgL_list1636z00_1722 = MAKE_YOUNG_PAIR(BgL_pz00_1718, BNIL);
										BgL_arg1635z00_1721 = BgL_list1636z00_1722;
									}
									SET_CDR(BGl_lastzd2reductionzd2zz__lalr_globalz00,
										BgL_arg1635z00_1721);
								}
								return (BGl_lastzd2reductionzd2zz__lalr_globalz00 =
									CDR(BGl_lastzd2reductionzd2zz__lalr_globalz00), BUNSPEC);
							}
						else
							{	/* Lalr/lalr.scm 506 */
								{	/* Lalr/lalr.scm 511 */
									obj_t BgL_list1637z00_1723;

									BgL_list1637z00_1723 = MAKE_YOUNG_PAIR(BgL_pz00_1718, BNIL);
									BGl_firstzd2reductionzd2zz__lalr_globalz00 =
										BgL_list1637z00_1723;
								}
								return (BGl_lastzd2reductionzd2zz__lalr_globalz00 =
									BGl_firstzd2reductionzd2zz__lalr_globalz00, BUNSPEC);
							}
					}
			}
		}

	}



/* loop~1 */
	obj_t BGl_loopze71ze7zz__lalr_expandz00(obj_t BgL_lz00_1725)
	{
		{	/* Lalr/lalr.scm 494 */
		BGl_loopze71ze7zz__lalr_expandz00:
			if (NULLP(BgL_lz00_1725))
				{	/* Lalr/lalr.scm 495 */
					return BNIL;
				}
			else
				{	/* Lalr/lalr.scm 497 */
					obj_t BgL_itemz00_1728;

					{	/* Lalr/lalr.scm 497 */
						obj_t BgL_arg1645z00_1734;

						BgL_arg1645z00_1734 = CAR(((obj_t) BgL_lz00_1725));
						BgL_itemz00_1728 =
							VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
							(long) CINT(BgL_arg1645z00_1734));
					}
					if (((long) CINT(BgL_itemz00_1728) < 0L))
						{	/* Lalr/lalr.scm 499 */
							long BgL_arg1641z00_1730;
							obj_t BgL_arg1642z00_1731;

							BgL_arg1641z00_1730 = NEG((long) CINT(BgL_itemz00_1728));
							{	/* Lalr/lalr.scm 499 */
								obj_t BgL_arg1643z00_1732;

								BgL_arg1643z00_1732 = CDR(((obj_t) BgL_lz00_1725));
								BgL_arg1642z00_1731 =
									BGl_loopze71ze7zz__lalr_expandz00(BgL_arg1643z00_1732);
							}
							return
								MAKE_YOUNG_PAIR(BINT(BgL_arg1641z00_1730), BgL_arg1642z00_1731);
						}
					else
						{	/* Lalr/lalr.scm 500 */
							obj_t BgL_arg1644z00_1733;

							BgL_arg1644z00_1733 = CDR(((obj_t) BgL_lz00_1725));
							{
								obj_t BgL_lz00_5319;

								BgL_lz00_5319 = BgL_arg1644z00_1733;
								BgL_lz00_1725 = BgL_lz00_5319;
								goto BGl_loopze71ze7zz__lalr_expandz00;
							}
						}
				}
		}

	}



/* lalr */
	bool_t BGl_lalrz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 517 */
			{	/* Lalr/lalr.scm 518 */
				long BgL_arg1646z00_1736;

				{	/* Lalr/lalr.scm 518 */
					long BgL_tmpz00_5320;

					BgL_tmpz00_5320 = (long) CINT(BGl_ntermsz00zz__lalr_globalz00);
					BgL_arg1646z00_1736 = (BgL_tmpz00_5320 / 28L);
				}
				BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00 =
					BINT((1L + BgL_arg1646z00_1736));
			}
			BGl_setzd2accessingzd2symbolz00zz__lalr_expandz00();
			BGl_setzd2shiftzd2tablez00zz__lalr_expandz00();
			BGl_setzd2reductionzd2tablez00zz__lalr_expandz00();
			BGl_setzd2maxzd2rhsz00zz__lalr_expandz00();
			BGl_initializa7ezd2LAz75zz__lalr_expandz00();
			BGl_setzd2gotozd2mapz00zz__lalr_expandz00();
			BGl_initializa7ezd2Fz75zz__lalr_expandz00();
			BGl_buildzd2relationszd2zz__lalr_expandz00();
			BGl_digraphz00zz__lalr_expandz00(BGl_includesz00zz__lalr_globalz00);
			BGL_TAIL return BGl_computezd2lookaheadszd2zz__lalr_expandz00();
		}

	}



/* set-accessing-symbol */
	bool_t BGl_setzd2accessingzd2symbolz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 530 */
			BGl_acceszd2symbolzd2zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nstatesz00zz__lalr_globalz00), BFALSE);
			{
				obj_t BgL_lz00_1738;

				BgL_lz00_1738 = BGl_firstzd2statezd2zz__lalr_globalz00;
			BgL_zc3z04anonymousza31647ze3z87_1739:
				if (PAIRP(BgL_lz00_1738))
					{	/* Lalr/lalr.scm 534 */
						obj_t BgL_xz00_1741;

						BgL_xz00_1741 = CAR(BgL_lz00_1738);
						{	/* Lalr/lalr.scm 535 */
							obj_t BgL_arg1649z00_1742;
							obj_t BgL_arg1651z00_1743;

							BgL_arg1649z00_1742 = VECTOR_REF(((obj_t) BgL_xz00_1741), 0L);
							BgL_arg1651z00_1743 = VECTOR_REF(((obj_t) BgL_xz00_1741), 1L);
							VECTOR_SET(BGl_acceszd2symbolzd2zz__lalr_globalz00,
								(long) CINT(BgL_arg1649z00_1742), BgL_arg1651z00_1743);
						}
						{
							obj_t BgL_lz00_5346;

							BgL_lz00_5346 = CDR(BgL_lz00_1738);
							BgL_lz00_1738 = BgL_lz00_5346;
							goto BgL_zc3z04anonymousza31647ze3z87_1739;
						}
					}
				else
					{	/* Lalr/lalr.scm 533 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* set-shift-table */
	bool_t BGl_setzd2shiftzd2tablez00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 538 */
			BGl_shiftzd2tablezd2zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nstatesz00zz__lalr_globalz00), BFALSE);
			{
				obj_t BgL_lz00_1747;

				BgL_lz00_1747 = BGl_firstzd2shiftzd2zz__lalr_globalz00;
			BgL_zc3z04anonymousza31653ze3z87_1748:
				if (PAIRP(BgL_lz00_1747))
					{	/* Lalr/lalr.scm 542 */
						obj_t BgL_xz00_1750;

						BgL_xz00_1750 = CAR(BgL_lz00_1747);
						{	/* Lalr/lalr.scm 543 */
							obj_t BgL_arg1655z00_1751;

							BgL_arg1655z00_1751 = VECTOR_REF(((obj_t) BgL_xz00_1750), 0L);
							VECTOR_SET(BGl_shiftzd2tablezd2zz__lalr_globalz00,
								(long) CINT(BgL_arg1655z00_1751), BgL_xz00_1750);
						}
						{
							obj_t BgL_lz00_5357;

							BgL_lz00_5357 = CDR(BgL_lz00_1747);
							BgL_lz00_1747 = BgL_lz00_5357;
							goto BgL_zc3z04anonymousza31653ze3z87_1748;
						}
					}
				else
					{	/* Lalr/lalr.scm 541 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* set-reduction-table */
	bool_t BGl_setzd2reductionzd2tablez00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 546 */
			BGl_reductionzd2tablezd2zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nstatesz00zz__lalr_globalz00), BFALSE);
			{
				obj_t BgL_lz00_1755;

				BgL_lz00_1755 = BGl_firstzd2reductionzd2zz__lalr_globalz00;
			BgL_zc3z04anonymousza31659ze3z87_1756:
				if (PAIRP(BgL_lz00_1755))
					{	/* Lalr/lalr.scm 550 */
						obj_t BgL_xz00_1758;

						BgL_xz00_1758 = CAR(BgL_lz00_1755);
						{	/* Lalr/lalr.scm 551 */
							obj_t BgL_arg1662z00_1759;

							BgL_arg1662z00_1759 = VECTOR_REF(((obj_t) BgL_xz00_1758), 0L);
							VECTOR_SET(BGl_reductionzd2tablezd2zz__lalr_globalz00,
								(long) CINT(BgL_arg1662z00_1759), BgL_xz00_1758);
						}
						{
							obj_t BgL_lz00_5368;

							BgL_lz00_5368 = CDR(BgL_lz00_1755);
							BgL_lz00_1755 = BgL_lz00_5368;
							goto BgL_zc3z04anonymousza31659ze3z87_1756;
						}
					}
				else
					{	/* Lalr/lalr.scm 549 */
						return ((bool_t) 0);
					}
			}
		}

	}



/* set-max-rhs */
	obj_t BGl_setzd2maxzd2rhsz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 554 */
			{
				long BgL_pz00_3518;
				obj_t BgL_curmaxz00_3519;
				long BgL_lengthz00_3520;

				BgL_pz00_3518 = 0L;
				BgL_curmaxz00_3519 = BINT(0L);
				BgL_lengthz00_3520 = 0L;
			BgL_loopz00_3517:
				{	/* Lalr/lalr.scm 556 */
					obj_t BgL_xz00_3521;

					BgL_xz00_3521 =
						VECTOR_REF(BGl_ritemz00zz__lalr_globalz00, BgL_pz00_3518);
					if (CBOOL(BgL_xz00_3521))
						{	/* Lalr/lalr.scm 557 */
							if (((long) CINT(BgL_xz00_3521) >= 0L))
								{
									long BgL_lengthz00_5378;
									long BgL_pz00_5376;

									BgL_pz00_5376 = (BgL_pz00_3518 + 1L);
									BgL_lengthz00_5378 = (BgL_lengthz00_3520 + 1L);
									BgL_lengthz00_3520 = BgL_lengthz00_5378;
									BgL_pz00_3518 = BgL_pz00_5376;
									goto BgL_loopz00_3517;
								}
							else
								{	/* Lalr/lalr.scm 560 */
									long BgL_arg1672z00_3530;
									obj_t BgL_arg1673z00_3531;

									BgL_arg1672z00_3530 = (BgL_pz00_3518 + 1L);
									BgL_arg1673z00_3531 =
										BGl_2maxz00zz__r4_numbers_6_5z00(BgL_curmaxz00_3519,
										BINT(BgL_lengthz00_3520));
									{	/* Lalr/lalr.scm 556 */
										obj_t BgL_xz00_3535;

										BgL_xz00_3535 =
											VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
											BgL_arg1672z00_3530);
										if (CBOOL(BgL_xz00_3535))
											{	/* Lalr/lalr.scm 557 */
												if (((long) CINT(BgL_xz00_3535) >= 0L))
													{
														long BgL_lengthz00_5392;
														obj_t BgL_curmaxz00_5391;
														long BgL_pz00_5389;

														BgL_pz00_5389 = (BgL_arg1672z00_3530 + 1L);
														BgL_curmaxz00_5391 = BgL_arg1673z00_3531;
														BgL_lengthz00_5392 = (0L + 1L);
														BgL_lengthz00_3520 = BgL_lengthz00_5392;
														BgL_curmaxz00_3519 = BgL_curmaxz00_5391;
														BgL_pz00_3518 = BgL_pz00_5389;
														goto BgL_loopz00_3517;
													}
												else
													{
														long BgL_lengthz00_5399;
														obj_t BgL_curmaxz00_5396;
														long BgL_pz00_5394;

														BgL_pz00_5394 = (BgL_arg1672z00_3530 + 1L);
														BgL_curmaxz00_5396 =
															BGl_2maxz00zz__r4_numbers_6_5z00
															(BgL_arg1673z00_3531, BINT(0L));
														BgL_lengthz00_5399 = 0L;
														BgL_lengthz00_3520 = BgL_lengthz00_5399;
														BgL_curmaxz00_3519 = BgL_curmaxz00_5396;
														BgL_pz00_3518 = BgL_pz00_5394;
														goto BgL_loopz00_3517;
													}
											}
										else
											{	/* Lalr/lalr.scm 557 */
												return (BGl_maxrhsz00zz__lalr_globalz00 =
													BgL_arg1673z00_3531, BUNSPEC);
											}
									}
								}
						}
					else
						{	/* Lalr/lalr.scm 557 */
							return (BGl_maxrhsz00zz__lalr_globalz00 =
								BgL_curmaxz00_3519, BUNSPEC);
						}
				}
			}
		}

	}



/* initialize-LA */
	bool_t BGl_initializa7ezd2LAz75zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 563 */
			BGl_consistentz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_nstatesz00zz__lalr_globalz00), BFALSE);
			BGl_lookaheadsz00zz__lalr_globalz00 =
				make_vector(
				((long) CINT(BGl_nstatesz00zz__lalr_globalz00) + 1L), BFALSE);
			{
				long BgL_countz00_1779;
				long BgL_iz00_1780;

				BgL_countz00_1779 = 0L;
				BgL_iz00_1780 = 0L;
			BgL_zc3z04anonymousza31675ze3z87_1781:
				if ((BgL_iz00_1780 < (long) CINT(BGl_nstatesz00zz__lalr_globalz00)))
					{	/* Lalr/lalr.scm 573 */
						VECTOR_SET(BGl_lookaheadsz00zz__lalr_globalz00, BgL_iz00_1780,
							BINT(BgL_countz00_1779));
						{	/* Lalr/lalr.scm 576 */
							obj_t BgL_rpz00_1783;
							obj_t BgL_spz00_1784;

							BgL_rpz00_1783 =
								VECTOR_REF(BGl_reductionzd2tablezd2zz__lalr_globalz00,
								BgL_iz00_1780);
							BgL_spz00_1784 =
								VECTOR_REF(BGl_shiftzd2tablezd2zz__lalr_globalz00,
								BgL_iz00_1780);
							{	/* Lalr/lalr.scm 578 */
								bool_t BgL_test2664z00_5413;

								if (CBOOL(BgL_rpz00_1783))
									{	/* Lalr/lalr.scm 579 */
										bool_t BgL__ortest_1143z00_1800;

										{	/* Lalr/lalr.scm 579 */
											obj_t BgL_arg1708z00_1806;

											BgL_arg1708z00_1806 =
												VECTOR_REF(((obj_t) BgL_rpz00_1783), 1L);
											BgL__ortest_1143z00_1800 =
												((long) CINT(BgL_arg1708z00_1806) > 1L);
										}
										if (BgL__ortest_1143z00_1800)
											{	/* Lalr/lalr.scm 579 */
												BgL_test2664z00_5413 = BgL__ortest_1143z00_1800;
											}
										else
											{	/* Lalr/lalr.scm 579 */
												if (CBOOL(BgL_spz00_1784))
													{	/* Lalr/lalr.scm 581 */
														bool_t BgL_test2668z00_5423;

														{	/* Lalr/lalr.scm 583 */
															obj_t BgL_arg1705z00_1803;

															{	/* Lalr/lalr.scm 583 */
																obj_t BgL_arg1706z00_1804;

																{	/* Lalr/lalr.scm 583 */
																	obj_t BgL_arg1707z00_1805;

																	BgL_arg1707z00_1805 =
																		VECTOR_REF(((obj_t) BgL_spz00_1784), 2L);
																	{
																		obj_t BgL_lz00_3574;

																		BgL_lz00_3574 = BgL_arg1707z00_1805;
																	BgL_lastz00_3573:
																		if (NULLP(CDR(((obj_t) BgL_lz00_3574))))
																			{	/* Lalr/lalr.scm 565 */
																				BgL_arg1706z00_1804 =
																					CAR(((obj_t) BgL_lz00_3574));
																			}
																		else
																			{
																				obj_t BgL_lz00_5432;

																				BgL_lz00_5432 =
																					CDR(((obj_t) BgL_lz00_3574));
																				BgL_lz00_3574 = BgL_lz00_5432;
																				goto BgL_lastz00_3573;
																			}
																	}
																}
																BgL_arg1705z00_1803 =
																	VECTOR_REF
																	(BGl_acceszd2symbolzd2zz__lalr_globalz00,
																	(long) CINT(BgL_arg1706z00_1804));
															}
															BgL_test2668z00_5423 =
																(
																(long) CINT(BgL_arg1705z00_1803) <
																(long) CINT(BGl_nvarsz00zz__lalr_globalz00));
														}
														if (BgL_test2668z00_5423)
															{	/* Lalr/lalr.scm 581 */
																BgL_test2664z00_5413 = ((bool_t) 0);
															}
														else
															{	/* Lalr/lalr.scm 581 */
																BgL_test2664z00_5413 = ((bool_t) 1);
															}
													}
												else
													{	/* Lalr/lalr.scm 580 */
														BgL_test2664z00_5413 = ((bool_t) 0);
													}
											}
									}
								else
									{	/* Lalr/lalr.scm 578 */
										BgL_test2664z00_5413 = ((bool_t) 0);
									}
								if (BgL_test2664z00_5413)
									{	/* Lalr/lalr.scm 585 */
										long BgL_arg1697z00_1796;
										long BgL_arg1698z00_1797;

										{	/* Lalr/lalr.scm 585 */
											obj_t BgL_arg1702z00_1798;

											BgL_arg1702z00_1798 =
												VECTOR_REF(((obj_t) BgL_rpz00_1783), 1L);
											BgL_arg1697z00_1796 =
												(BgL_countz00_1779 + (long) CINT(BgL_arg1702z00_1798));
										}
										BgL_arg1698z00_1797 = (BgL_iz00_1780 + 1L);
										{
											long BgL_iz00_5446;
											long BgL_countz00_5445;

											BgL_countz00_5445 = BgL_arg1697z00_1796;
											BgL_iz00_5446 = BgL_arg1698z00_1797;
											BgL_iz00_1780 = BgL_iz00_5446;
											BgL_countz00_1779 = BgL_countz00_5445;
											goto BgL_zc3z04anonymousza31675ze3z87_1781;
										}
									}
								else
									{	/* Lalr/lalr.scm 578 */
										VECTOR_SET(BGl_consistentz00zz__lalr_globalz00,
											BgL_iz00_1780, BTRUE);
										{
											long BgL_iz00_5448;

											BgL_iz00_5448 = (BgL_iz00_1780 + 1L);
											BgL_iz00_1780 = BgL_iz00_5448;
											goto BgL_zc3z04anonymousza31675ze3z87_1781;
										}
									}
							}
						}
					}
				else
					{	/* Lalr/lalr.scm 573 */
						VECTOR_SET(BGl_lookaheadsz00zz__lalr_globalz00,
							(long) CINT(BGl_nstatesz00zz__lalr_globalz00),
							BINT(BgL_countz00_1779));
						{	/* Lalr/lalr.scm 592 */
							obj_t BgL_cz00_1807;

							BgL_cz00_1807 =
								BGl_2maxz00zz__r4_numbers_6_5z00(BINT(BgL_countz00_1779),
								BINT(1L));
							BGl_LAz00zz__lalr_globalz00 =
								make_vector((long) CINT(BgL_cz00_1807), BFALSE);
							{
								long BgL_jz00_1809;

								BgL_jz00_1809 = 0L;
							BgL_zc3z04anonymousza31709ze3z87_1810:
								{	/* Lalr/lalr.scm 594 */
									bool_t BgL_test2670z00_5458;

									if (INTEGERP(BgL_cz00_1807))
										{	/* Lalr/lalr.scm 594 */
											BgL_test2670z00_5458 =
												(BgL_jz00_1809 == (long) CINT(BgL_cz00_1807));
										}
									else
										{	/* Lalr/lalr.scm 594 */
											BgL_test2670z00_5458 =
												BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_jz00_1809),
												BgL_cz00_1807);
										}
									if (BgL_test2670z00_5458)
										{	/* Lalr/lalr.scm 594 */
											((bool_t) 0);
										}
									else
										{	/* Lalr/lalr.scm 594 */
											VECTOR_SET(BGl_LAz00zz__lalr_globalz00, BgL_jz00_1809,
												make_vector(
													(long)
													CINT(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00),
													BINT(0L)));
											{
												long BgL_jz00_5469;

												BgL_jz00_5469 = (BgL_jz00_1809 + 1L);
												BgL_jz00_1809 = BgL_jz00_5469;
												goto BgL_zc3z04anonymousza31709ze3z87_1810;
											}
										}
								}
							}
							BGl_LArulenoz00zz__lalr_globalz00 =
								make_vector((long) CINT(BgL_cz00_1807), BINT((-1L)));
							BGl_lookbackz00zz__lalr_globalz00 =
								make_vector((long) CINT(BgL_cz00_1807), BFALSE);
						}
						{
							long BgL_iz00_1820;
							long BgL_npz00_1821;

							BgL_iz00_1820 = 0L;
							BgL_npz00_1821 = 0L;
						BgL_zc3z04anonymousza31715ze3z87_1822:
							if (
								(BgL_iz00_1820 < (long) CINT(BGl_nstatesz00zz__lalr_globalz00)))
								{	/* Lalr/lalr.scm 599 */
									bool_t BgL_test2673z00_5479;

									{	/* Lalr/lalr.scm 599 */
										obj_t BgL_vectorz00_3604;

										BgL_vectorz00_3604 = BGl_consistentz00zz__lalr_globalz00;
										BgL_test2673z00_5479 =
											CBOOL(VECTOR_REF(BgL_vectorz00_3604, BgL_iz00_1820));
									}
									if (BgL_test2673z00_5479)
										{
											long BgL_iz00_5482;

											BgL_iz00_5482 = (BgL_iz00_1820 + 1L);
											BgL_iz00_1820 = BgL_iz00_5482;
											goto BgL_zc3z04anonymousza31715ze3z87_1822;
										}
									else
										{	/* Lalr/lalr.scm 601 */
											obj_t BgL_rpz00_1826;

											BgL_rpz00_1826 =
												VECTOR_REF(BGl_reductionzd2tablezd2zz__lalr_globalz00,
												BgL_iz00_1820);
											if (CBOOL(BgL_rpz00_1826))
												{	/* Lalr/lalr.scm 603 */
													obj_t BgL_g1146z00_1827;

													BgL_g1146z00_1827 =
														VECTOR_REF(((obj_t) BgL_rpz00_1826), 2L);
													{
														obj_t BgL_jz00_1829;
														long BgL_np2z00_1830;

														BgL_jz00_1829 = BgL_g1146z00_1827;
														BgL_np2z00_1830 = BgL_npz00_1821;
													BgL_zc3z04anonymousza31719ze3z87_1831:
														if (NULLP(BgL_jz00_1829))
															{
																long BgL_npz00_5493;
																long BgL_iz00_5491;

																BgL_iz00_5491 = (BgL_iz00_1820 + 1L);
																BgL_npz00_5493 = BgL_np2z00_1830;
																BgL_npz00_1821 = BgL_npz00_5493;
																BgL_iz00_1820 = BgL_iz00_5491;
																goto BgL_zc3z04anonymousza31715ze3z87_1822;
															}
														else
															{	/* Lalr/lalr.scm 604 */
																{	/* Lalr/lalr.scm 607 */
																	obj_t BgL_arg1722z00_1834;

																	BgL_arg1722z00_1834 =
																		CAR(((obj_t) BgL_jz00_1829));
																	VECTOR_SET(BGl_LArulenoz00zz__lalr_globalz00,
																		BgL_np2z00_1830, BgL_arg1722z00_1834);
																}
																{	/* Lalr/lalr.scm 608 */
																	obj_t BgL_arg1723z00_1835;
																	long BgL_arg1724z00_1836;

																	BgL_arg1723z00_1835 =
																		CDR(((obj_t) BgL_jz00_1829));
																	BgL_arg1724z00_1836 = (BgL_np2z00_1830 + 1L);
																	{
																		long BgL_np2z00_5501;
																		obj_t BgL_jz00_5500;

																		BgL_jz00_5500 = BgL_arg1723z00_1835;
																		BgL_np2z00_5501 = BgL_arg1724z00_1836;
																		BgL_np2z00_1830 = BgL_np2z00_5501;
																		BgL_jz00_1829 = BgL_jz00_5500;
																		goto BgL_zc3z04anonymousza31719ze3z87_1831;
																	}
																}
															}
													}
												}
											else
												{
													long BgL_iz00_5502;

													BgL_iz00_5502 = (BgL_iz00_1820 + 1L);
													BgL_iz00_1820 = BgL_iz00_5502;
													goto BgL_zc3z04anonymousza31715ze3z87_1822;
												}
										}
								}
							else
								{	/* Lalr/lalr.scm 598 */
									return ((bool_t) 0);
								}
						}
					}
			}
		}

	}



/* set-goto-map */
	bool_t BGl_setzd2gotozd2mapz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 612 */
			BGl_gotozd2mapzd2zz__lalr_globalz00 =
				make_vector(
				((long) CINT(BGl_nvarsz00zz__lalr_globalz00) + 1L), BINT(0L));
			{	/* Lalr/lalr.scm 614 */
				obj_t BgL_tempzd2mapzd2_1849;

				BgL_tempzd2mapzd2_1849 =
					make_vector(
					((long) CINT(BGl_nvarsz00zz__lalr_globalz00) + 1L), BINT(0L));
				{
					long BgL_ngz00_1851;
					obj_t BgL_spz00_1852;

					BgL_ngz00_1851 = 0L;
					BgL_spz00_1852 = BGl_firstzd2shiftzd2zz__lalr_globalz00;
				BgL_zc3z04anonymousza31732ze3z87_1853:
					if (PAIRP(BgL_spz00_1852))
						{	/* Lalr/lalr.scm 617 */
							obj_t BgL_g1147z00_1855;

							{	/* Lalr/lalr.scm 617 */
								obj_t BgL_arg1747z00_1871;

								{	/* Lalr/lalr.scm 617 */
									obj_t BgL_arg1748z00_1872;

									BgL_arg1748z00_1872 = CAR(BgL_spz00_1852);
									BgL_arg1747z00_1871 =
										VECTOR_REF(((obj_t) BgL_arg1748z00_1872), 2L);
								}
								BgL_g1147z00_1855 = bgl_reverse(BgL_arg1747z00_1871);
							}
							{
								obj_t BgL_iz00_1857;
								long BgL_ng2z00_1858;

								BgL_iz00_1857 = BgL_g1147z00_1855;
								BgL_ng2z00_1858 = BgL_ngz00_1851;
							BgL_zc3z04anonymousza31734ze3z87_1859:
								if (PAIRP(BgL_iz00_1857))
									{	/* Lalr/lalr.scm 619 */
										obj_t BgL_symbolz00_1861;

										{	/* Lalr/lalr.scm 619 */
											obj_t BgL_arg1744z00_1868;

											BgL_arg1744z00_1868 = CAR(BgL_iz00_1857);
											BgL_symbolz00_1861 =
												VECTOR_REF(BGl_acceszd2symbolzd2zz__lalr_globalz00,
												(long) CINT(BgL_arg1744z00_1868));
										}
										if (
											((long) CINT(BgL_symbolz00_1861) <
												(long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
											{	/* Lalr/lalr.scm 620 */
												{	/* Lalr/lalr.scm 623 */
													long BgL_arg1739z00_1863;

													{	/* Lalr/lalr.scm 623 */
														obj_t BgL_arg1740z00_1864;

														BgL_arg1740z00_1864 =
															VECTOR_REF(BGl_gotozd2mapzd2zz__lalr_globalz00,
															(long) CINT(BgL_symbolz00_1861));
														BgL_arg1739z00_1863 =
															(1L + (long) CINT(BgL_arg1740z00_1864));
													}
													VECTOR_SET(BGl_gotozd2mapzd2zz__lalr_globalz00,
														(long) CINT(BgL_symbolz00_1861),
														BINT(BgL_arg1739z00_1863));
												}
												{
													long BgL_ng2z00_5536;
													obj_t BgL_iz00_5534;

													BgL_iz00_5534 = CDR(BgL_iz00_1857);
													BgL_ng2z00_5536 = (BgL_ng2z00_1858 + 1L);
													BgL_ng2z00_1858 = BgL_ng2z00_5536;
													BgL_iz00_1857 = BgL_iz00_5534;
													goto BgL_zc3z04anonymousza31734ze3z87_1859;
												}
											}
										else
											{
												obj_t BgL_iz00_5538;

												BgL_iz00_5538 = CDR(BgL_iz00_1857);
												BgL_iz00_1857 = BgL_iz00_5538;
												goto BgL_zc3z04anonymousza31734ze3z87_1859;
											}
									}
								else
									{	/* Lalr/lalr.scm 626 */
										obj_t BgL_arg1745z00_1869;

										BgL_arg1745z00_1869 = CDR(((obj_t) BgL_spz00_1852));
										{
											obj_t BgL_spz00_5543;
											long BgL_ngz00_5542;

											BgL_ngz00_5542 = BgL_ng2z00_1858;
											BgL_spz00_5543 = BgL_arg1745z00_1869;
											BgL_spz00_1852 = BgL_spz00_5543;
											BgL_ngz00_1851 = BgL_ngz00_5542;
											goto BgL_zc3z04anonymousza31732ze3z87_1853;
										}
									}
							}
						}
					else
						{
							long BgL_kz00_1874;
							long BgL_iz00_1875;

							BgL_kz00_1874 = 0L;
							BgL_iz00_1875 = 0L;
						BgL_zc3z04anonymousza31749ze3z87_1876:
							if ((BgL_iz00_1875 < (long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
								{	/* Lalr/lalr.scm 629 */
									VECTOR_SET(BgL_tempzd2mapzd2_1849, BgL_iz00_1875,
										BINT(BgL_kz00_1874));
									{	/* Lalr/lalr.scm 632 */
										long BgL_arg1754z00_1878;
										long BgL_arg1755z00_1879;

										{	/* Lalr/lalr.scm 632 */
											obj_t BgL_arg1756z00_1880;

											BgL_arg1756z00_1880 =
												VECTOR_REF(BGl_gotozd2mapzd2zz__lalr_globalz00,
												BgL_iz00_1875);
											BgL_arg1754z00_1878 =
												(BgL_kz00_1874 + (long) CINT(BgL_arg1756z00_1880));
										}
										BgL_arg1755z00_1879 = (BgL_iz00_1875 + 1L);
										{
											long BgL_iz00_5554;
											long BgL_kz00_5553;

											BgL_kz00_5553 = BgL_arg1754z00_1878;
											BgL_iz00_5554 = BgL_arg1755z00_1879;
											BgL_iz00_1875 = BgL_iz00_5554;
											BgL_kz00_1874 = BgL_kz00_5553;
											goto BgL_zc3z04anonymousza31749ze3z87_1876;
										}
									}
								}
							else
								{	/* Lalr/lalr.scm 629 */
									{
										long BgL_iz00_3652;

										BgL_iz00_3652 = 0L;
									BgL_dozd2loopzd2zd21148zd2_3651:
										if (
											(BgL_iz00_3652 >=
												(long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
											{	/* Lalr/lalr.scm 635 */
												((bool_t) 0);
											}
										else
											{	/* Lalr/lalr.scm 635 */
												VECTOR_SET(BGl_gotozd2mapzd2zz__lalr_globalz00,
													BgL_iz00_3652, VECTOR_REF(BgL_tempzd2mapzd2_1849,
														BgL_iz00_3652));
												{
													long BgL_iz00_5560;

													BgL_iz00_5560 = (BgL_iz00_3652 + 1L);
													BgL_iz00_3652 = BgL_iz00_5560;
													goto BgL_dozd2loopzd2zd21148zd2_3651;
												}
											}
									}
									BGl_ngotosz00zz__lalr_globalz00 = BINT(BgL_ngz00_1851);
									VECTOR_SET(BGl_gotozd2mapzd2zz__lalr_globalz00,
										(long) CINT(BGl_nvarsz00zz__lalr_globalz00),
										BGl_ngotosz00zz__lalr_globalz00);
									VECTOR_SET(BgL_tempzd2mapzd2_1849,
										(long) CINT(BGl_nvarsz00zz__lalr_globalz00),
										BGl_ngotosz00zz__lalr_globalz00);
									BGl_fromzd2statezd2zz__lalr_globalz00 =
										make_vector((long) CINT(BGl_ngotosz00zz__lalr_globalz00),
										BFALSE);
									BGl_tozd2statezd2zz__lalr_globalz00 =
										make_vector((long) CINT(BGl_ngotosz00zz__lalr_globalz00),
										BFALSE);
									{
										obj_t BgL_spz00_1889;

										BgL_spz00_1889 = BGl_firstzd2shiftzd2zz__lalr_globalz00;
									BgL_zc3z04anonymousza31761ze3z87_1890:
										if (NULLP(BgL_spz00_1889))
											{	/* Lalr/lalr.scm 645 */
												return ((bool_t) 0);
											}
										else
											{	/* Lalr/lalr.scm 645 */
												{	/* Lalr/lalr.scm 647 */
													obj_t BgL_xz00_1892;

													BgL_xz00_1892 = CAR(((obj_t) BgL_spz00_1889));
													{	/* Lalr/lalr.scm 647 */
														obj_t BgL_state1z00_1893;

														BgL_state1z00_1893 =
															VECTOR_REF(((obj_t) BgL_xz00_1892), 0L);
														{	/* Lalr/lalr.scm 648 */

															{
																obj_t BgL_iz00_1896;

																{	/* Lalr/lalr.scm 649 */
																	obj_t BgL_arg1763z00_1895;

																	BgL_arg1763z00_1895 =
																		VECTOR_REF(((obj_t) BgL_xz00_1892), 2L);
																	BgL_iz00_1896 = BgL_arg1763z00_1895;
																BgL_zc3z04anonymousza31764ze3z87_1897:
																	if (NULLP(BgL_iz00_1896))
																		{	/* Lalr/lalr.scm 649 */
																			((bool_t) 0);
																		}
																	else
																		{	/* Lalr/lalr.scm 649 */
																			{	/* Lalr/lalr.scm 651 */
																				obj_t BgL_state2z00_1899;

																				BgL_state2z00_1899 =
																					CAR(((obj_t) BgL_iz00_1896));
																				{	/* Lalr/lalr.scm 651 */
																					obj_t BgL_symbolz00_1900;

																					BgL_symbolz00_1900 =
																						VECTOR_REF
																						(BGl_acceszd2symbolzd2zz__lalr_globalz00,
																						(long) CINT(BgL_state2z00_1899));
																					{	/* Lalr/lalr.scm 652 */

																						if (
																							((long) CINT(BgL_symbolz00_1900) <
																								(long)
																								CINT
																								(BGl_nvarsz00zz__lalr_globalz00)))
																							{	/* Lalr/lalr.scm 654 */
																								obj_t BgL_kz00_1902;

																								BgL_kz00_1902 =
																									VECTOR_REF
																									(BgL_tempzd2mapzd2_1849,
																									(long)
																									CINT(BgL_symbolz00_1900));
																								{	/* Lalr/lalr.scm 655 */
																									long BgL_arg1767z00_1903;

																									BgL_arg1767z00_1903 =
																										(
																										(long) CINT(BgL_kz00_1902) +
																										1L);
																									VECTOR_SET
																										(BgL_tempzd2mapzd2_1849,
																										(long)
																										CINT(BgL_symbolz00_1900),
																										BINT(BgL_arg1767z00_1903));
																								}
																								VECTOR_SET
																									(BGl_fromzd2statezd2zz__lalr_globalz00,
																									(long) CINT(BgL_kz00_1902),
																									BgL_state1z00_1893);
																								VECTOR_SET
																									(BGl_tozd2statezd2zz__lalr_globalz00,
																									(long) CINT(BgL_kz00_1902),
																									BgL_state2z00_1899);
																							}
																						else
																							{	/* Lalr/lalr.scm 653 */
																								BFALSE;
																							}
																					}
																				}
																			}
																			{	/* Lalr/lalr.scm 649 */
																				obj_t BgL_arg1768z00_1904;

																				BgL_arg1768z00_1904 =
																					CDR(((obj_t) BgL_iz00_1896));
																				{
																					obj_t BgL_iz00_5602;

																					BgL_iz00_5602 = BgL_arg1768z00_1904;
																					BgL_iz00_1896 = BgL_iz00_5602;
																					goto
																						BgL_zc3z04anonymousza31764ze3z87_1897;
																				}
																			}
																		}
																}
															}
														}
													}
												}
												{	/* Lalr/lalr.scm 645 */
													obj_t BgL_arg1769z00_1906;

													BgL_arg1769z00_1906 = CDR(((obj_t) BgL_spz00_1889));
													{
														obj_t BgL_spz00_5605;

														BgL_spz00_5605 = BgL_arg1769z00_1906;
														BgL_spz00_1889 = BgL_spz00_5605;
														goto BgL_zc3z04anonymousza31761ze3z87_1890;
													}
												}
											}
									}
								}
						}
				}
			}
		}

	}



/* map-goto */
	long BGl_mapzd2gotozd2zz__lalr_expandz00(obj_t BgL_statez00_15,
		obj_t BgL_symbolz00_16)
	{
		{	/* Lalr/lalr.scm 660 */
			{	/* Lalr/lalr.scm 661 */
				obj_t BgL_g1151z00_1911;
				long BgL_g1152z00_1912;

				BgL_g1151z00_1911 =
					VECTOR_REF(BGl_gotozd2mapzd2zz__lalr_globalz00,
					(long) CINT(BgL_symbolz00_16));
				{	/* Lalr/lalr.scm 662 */
					obj_t BgL_arg1786z00_1934;

					BgL_arg1786z00_1934 =
						VECTOR_REF(BGl_gotozd2mapzd2zz__lalr_globalz00,
						((long) CINT(BgL_symbolz00_16) + 1L));
					BgL_g1152z00_1912 = ((long) CINT(BgL_arg1786z00_1934) - 1L);
				}
				{
					obj_t BgL_lowz00_1914;
					long BgL_highz00_1915;

					BgL_lowz00_1914 = BgL_g1151z00_1911;
					BgL_highz00_1915 = BgL_g1152z00_1912;
				BgL_zc3z04anonymousza31771ze3z87_1916:
					if (((long) CINT(BgL_lowz00_1914) > BgL_highz00_1915))
						{	/* Lalr/lalr.scm 663 */
							{	/* Lalr/lalr.scm 665 */
								obj_t BgL_arg1773z00_1918;
								obj_t BgL_arg1775z00_1919;

								{	/* Lalr/lalr.scm 665 */
									obj_t BgL_list1776z00_1920;

									{	/* Lalr/lalr.scm 665 */
										obj_t BgL_arg1777z00_1921;

										{	/* Lalr/lalr.scm 665 */
											obj_t BgL_arg1778z00_1922;

											BgL_arg1778z00_1922 =
												MAKE_YOUNG_PAIR(BgL_symbolz00_16, BNIL);
											BgL_arg1777z00_1921 =
												MAKE_YOUNG_PAIR(BgL_statez00_15, BgL_arg1778z00_1922);
										}
										BgL_list1776z00_1920 =
											MAKE_YOUNG_PAIR(BGl_string2511z00zz__lalr_expandz00,
											BgL_arg1777z00_1921);
									}
									BgL_arg1773z00_1918 = BgL_list1776z00_1920;
								}
								{	/* Lalr/lalr.scm 665 */
									obj_t BgL_tmpz00_5619;

									BgL_tmpz00_5619 = BGL_CURRENT_DYNAMIC_ENV();
									BgL_arg1775z00_1919 =
										BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_5619);
								}
								bgl_display_obj(BgL_arg1773z00_1918, BgL_arg1775z00_1919);
							}
							{	/* Lalr/lalr.scm 665 */
								obj_t BgL_arg1779z00_1923;

								{	/* Lalr/lalr.scm 665 */
									obj_t BgL_tmpz00_5623;

									BgL_tmpz00_5623 = BGL_CURRENT_DYNAMIC_ENV();
									BgL_arg1779z00_1923 =
										BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_5623);
								}
								bgl_display_char(((unsigned char) 10), BgL_arg1779z00_1923);
							}
							return 0L;
						}
					else
						{	/* Lalr/lalr.scm 667 */
							long BgL_middlez00_1924;

							{	/* Lalr/lalr.scm 667 */
								long BgL_tmpz00_5627;

								BgL_tmpz00_5627 =
									((long) CINT(BgL_lowz00_1914) + BgL_highz00_1915);
								BgL_middlez00_1924 = (BgL_tmpz00_5627 / 2L);
							}
							{	/* Lalr/lalr.scm 667 */
								obj_t BgL_sz00_1925;

								BgL_sz00_1925 =
									VECTOR_REF(BGl_fromzd2statezd2zz__lalr_globalz00,
									BgL_middlez00_1924);
								{	/* Lalr/lalr.scm 668 */

									{	/* Lalr/lalr.scm 670 */
										bool_t BgL_test2685z00_5632;

										{	/* Lalr/lalr.scm 670 */
											bool_t BgL_test2686z00_5633;

											if (INTEGERP(BgL_sz00_1925))
												{	/* Lalr/lalr.scm 670 */
													BgL_test2686z00_5633 = INTEGERP(BgL_statez00_15);
												}
											else
												{	/* Lalr/lalr.scm 670 */
													BgL_test2686z00_5633 = ((bool_t) 0);
												}
											if (BgL_test2686z00_5633)
												{	/* Lalr/lalr.scm 670 */
													BgL_test2685z00_5632 =
														(
														(long) CINT(BgL_sz00_1925) ==
														(long) CINT(BgL_statez00_15));
												}
											else
												{	/* Lalr/lalr.scm 670 */
													BgL_test2685z00_5632 =
														BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_sz00_1925,
														BgL_statez00_15);
												}
										}
										if (BgL_test2685z00_5632)
											{	/* Lalr/lalr.scm 670 */
												return BgL_middlez00_1924;
											}
										else
											{	/* Lalr/lalr.scm 670 */
												if (
													((long) CINT(BgL_sz00_1925) <
														(long) CINT(BgL_statez00_15)))
													{	/* Lalr/lalr.scm 673 */
														long BgL_arg1783z00_1929;

														BgL_arg1783z00_1929 = (BgL_middlez00_1924 + 1L);
														{
															obj_t BgL_lowz00_5646;

															BgL_lowz00_5646 = BINT(BgL_arg1783z00_1929);
															BgL_lowz00_1914 = BgL_lowz00_5646;
															goto BgL_zc3z04anonymousza31771ze3z87_1916;
														}
													}
												else
													{
														long BgL_highz00_5648;

														BgL_highz00_5648 = (BgL_middlez00_1924 - 1L);
														BgL_highz00_1915 = BgL_highz00_5648;
														goto BgL_zc3z04anonymousza31771ze3z87_1916;
													}
											}
									}
								}
							}
						}
				}
			}
		}

	}



/* initialize-F */
	bool_t BGl_initializa7ezd2Fz75zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 678 */
			BGl_Fz00zz__lalr_globalz00 =
				make_vector((long) CINT(BGl_ngotosz00zz__lalr_globalz00), BFALSE);
			{
				long BgL_iz00_1937;

				BgL_iz00_1937 = 0L;
			BgL_zc3z04anonymousza31788ze3z87_1938:
				{	/* Lalr/lalr.scm 680 */
					bool_t BgL_test2689z00_5652;

					if (INTEGERP(BGl_ngotosz00zz__lalr_globalz00))
						{	/* Lalr/lalr.scm 680 */
							BgL_test2689z00_5652 =
								(BgL_iz00_1937 == (long) CINT(BGl_ngotosz00zz__lalr_globalz00));
						}
					else
						{	/* Lalr/lalr.scm 680 */
							BgL_test2689z00_5652 =
								BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_1937),
								BGl_ngotosz00zz__lalr_globalz00);
						}
					if (BgL_test2689z00_5652)
						{	/* Lalr/lalr.scm 680 */
							((bool_t) 0);
						}
					else
						{	/* Lalr/lalr.scm 680 */
							VECTOR_SET(BGl_Fz00zz__lalr_globalz00, BgL_iz00_1937,
								make_vector(
									(long) CINT(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00),
									BINT(0L)));
							{
								long BgL_iz00_5663;

								BgL_iz00_5663 = (BgL_iz00_1937 + 1L);
								BgL_iz00_1937 = BgL_iz00_5663;
								goto BgL_zc3z04anonymousza31788ze3z87_1938;
							}
						}
				}
			}
			{	/* Lalr/lalr.scm 682 */
				obj_t BgL_readsz00_1945;

				BgL_readsz00_1945 =
					make_vector((long) CINT(BGl_ngotosz00zz__lalr_globalz00), BFALSE);
				{
					long BgL_iz00_1947;
					long BgL_rowpz00_1948;

					BgL_iz00_1947 = 0L;
					BgL_rowpz00_1948 = 0L;
				BgL_zc3z04anonymousza31793ze3z87_1949:
					if ((BgL_iz00_1947 < (long) CINT(BGl_ngotosz00zz__lalr_globalz00)))
						{	/* Lalr/lalr.scm 686 */
							obj_t BgL_rowfz00_1951;

							BgL_rowfz00_1951 =
								VECTOR_REF(BGl_Fz00zz__lalr_globalz00, BgL_rowpz00_1948);
							{	/* Lalr/lalr.scm 686 */
								obj_t BgL_statenoz00_1952;

								BgL_statenoz00_1952 =
									VECTOR_REF(BGl_tozd2statezd2zz__lalr_globalz00,
									BgL_iz00_1947);
								{	/* Lalr/lalr.scm 687 */
									obj_t BgL_spz00_1953;

									BgL_spz00_1953 =
										VECTOR_REF(BGl_shiftzd2tablezd2zz__lalr_globalz00,
										(long) CINT(BgL_statenoz00_1952));
									{	/* Lalr/lalr.scm 688 */

										if (CBOOL(BgL_spz00_1953))
											{	/* Lalr/lalr.scm 690 */
												obj_t BgL_g1154z00_1954;

												BgL_g1154z00_1954 =
													VECTOR_REF(((obj_t) BgL_spz00_1953), 2L);
												{
													obj_t BgL_jz00_1957;
													obj_t BgL_edgesz00_1958;

													BgL_jz00_1957 = BgL_g1154z00_1954;
													BgL_edgesz00_1958 = BNIL;
												BgL_zc3z04anonymousza31795ze3z87_1959:
													if (PAIRP(BgL_jz00_1957))
														{	/* Lalr/lalr.scm 692 */
															obj_t BgL_symbolz00_1961;

															{	/* Lalr/lalr.scm 692 */
																obj_t BgL_arg1812z00_1976;

																BgL_arg1812z00_1976 = CAR(BgL_jz00_1957);
																BgL_symbolz00_1961 =
																	VECTOR_REF
																	(BGl_acceszd2symbolzd2zz__lalr_globalz00,
																	(long) CINT(BgL_arg1812z00_1976));
															}
															if (
																((long) CINT(BgL_symbolz00_1961) <
																	(long) CINT(BGl_nvarsz00zz__lalr_globalz00)))
																{	/* Lalr/lalr.scm 694 */
																	bool_t BgL_test2695z00_5687;

																	{	/* Lalr/lalr.scm 694 */
																		obj_t BgL_vectorz00_3730;
																		long BgL_kz00_3731;

																		BgL_vectorz00_3730 =
																			BGl_nullablez00zz__lalr_globalz00;
																		BgL_kz00_3731 =
																			(long) CINT(BgL_symbolz00_1961);
																		BgL_test2695z00_5687 =
																			CBOOL(VECTOR_REF(BgL_vectorz00_3730,
																				BgL_kz00_3731));
																	}
																	if (BgL_test2695z00_5687)
																		{	/* Lalr/lalr.scm 695 */
																			obj_t BgL_arg1799z00_1964;
																			obj_t BgL_arg1800z00_1965;

																			BgL_arg1799z00_1964 = CDR(BgL_jz00_1957);
																			{	/* Lalr/lalr.scm 695 */
																				long BgL_arg1801z00_1966;

																				BgL_arg1801z00_1966 =
																					BGl_mapzd2gotozd2zz__lalr_expandz00
																					(BgL_statenoz00_1952,
																					BgL_symbolz00_1961);
																				BgL_arg1800z00_1965 =
																					MAKE_YOUNG_PAIR(BINT
																					(BgL_arg1801z00_1966),
																					BgL_edgesz00_1958);
																			}
																			{
																				obj_t BgL_edgesz00_5696;
																				obj_t BgL_jz00_5695;

																				BgL_jz00_5695 = BgL_arg1799z00_1964;
																				BgL_edgesz00_5696 = BgL_arg1800z00_1965;
																				BgL_edgesz00_1958 = BgL_edgesz00_5696;
																				BgL_jz00_1957 = BgL_jz00_5695;
																				goto
																					BgL_zc3z04anonymousza31795ze3z87_1959;
																			}
																		}
																	else
																		{
																			obj_t BgL_jz00_5697;

																			BgL_jz00_5697 = CDR(BgL_jz00_1957);
																			BgL_jz00_1957 = BgL_jz00_5697;
																			goto
																				BgL_zc3z04anonymousza31795ze3z87_1959;
																		}
																}
															else
																{	/* Lalr/lalr.scm 693 */
																	{	/* Lalr/lalr.scm 699 */
																		obj_t BgL_xz00_1968;
																		obj_t BgL_yz00_1969;

																		{	/* Lalr/lalr.scm 699 */
																			long BgL_arg1807z00_1972;

																			BgL_arg1807z00_1972 =
																				(
																				(long) CINT(BgL_symbolz00_1961) -
																				(long)
																				CINT(BGl_nvarsz00zz__lalr_globalz00));
																			BgL_xz00_1968 =
																				BGl_quotientz00zz__r4_numbers_6_5_fixnumz00
																				(BINT(BgL_arg1807z00_1972), BINT(28L));
																		}
																		{	/* Lalr/lalr.scm 699 */
																			obj_t BgL_arg1808z00_1973;

																			{	/* Lalr/lalr.scm 699 */
																				long BgL_arg1809z00_1974;

																				BgL_arg1809z00_1974 =
																					(
																					(long) CINT(BgL_symbolz00_1961) -
																					(long)
																					CINT(BGl_nvarsz00zz__lalr_globalz00));
																				BgL_arg1808z00_1973 =
																					BGl_remainderz00zz__r4_numbers_6_5_fixnumz00
																					(BINT(BgL_arg1809z00_1974),
																					BINT(28L));
																			}
																			BgL_yz00_1969 =
																				BGl_exptz00zz__r4_numbers_6_5z00(BINT
																				(2L), BgL_arg1808z00_1973);
																		}
																		{	/* Lalr/lalr.scm 699 */
																			long BgL_arg1804z00_1970;

																			{	/* Lalr/lalr.scm 699 */
																				obj_t BgL_arg1805z00_1971;

																				{	/* Lalr/lalr.scm 699 */
																					long BgL_kz00_3739;

																					BgL_kz00_3739 =
																						(long) CINT(BgL_xz00_1968);
																					BgL_arg1805z00_1971 =
																						VECTOR_REF(
																						((obj_t) BgL_rowfz00_1951),
																						BgL_kz00_3739);
																				}
																				BgL_arg1804z00_1970 =
																					(
																					(long) CINT(BgL_arg1805z00_1971) |
																					(long) CINT(BgL_yz00_1969));
																			}
																			{	/* Lalr/lalr.scm 699 */
																				long BgL_kz00_3743;

																				BgL_kz00_3743 =
																					(long) CINT(BgL_xz00_1968);
																				VECTOR_SET(
																					((obj_t) BgL_rowfz00_1951),
																					BgL_kz00_3743,
																					BINT(BgL_arg1804z00_1970));
																	}}}
																	{
																		obj_t BgL_jz00_5723;

																		BgL_jz00_5723 = CDR(BgL_jz00_1957);
																		BgL_jz00_1957 = BgL_jz00_5723;
																		goto BgL_zc3z04anonymousza31795ze3z87_1959;
																	}
																}
														}
													else
														{	/* Lalr/lalr.scm 691 */
															if (NULLP(BgL_edgesz00_1958))
																{	/* Lalr/lalr.scm 701 */
																	BFALSE;
																}
															else
																{	/* Lalr/lalr.scm 701 */
																	VECTOR_SET(BgL_readsz00_1945, BgL_iz00_1947,
																		bgl_reverse(BgL_edgesz00_1958));
																}
														}
												}
											}
										else
											{	/* Lalr/lalr.scm 689 */
												BFALSE;
											}
										{
											long BgL_rowpz00_5731;
											long BgL_iz00_5729;

											BgL_iz00_5729 = (BgL_iz00_1947 + 1L);
											BgL_rowpz00_5731 = (BgL_rowpz00_1948 + 1L);
											BgL_rowpz00_1948 = BgL_rowpz00_5731;
											BgL_iz00_1947 = BgL_iz00_5729;
											goto BgL_zc3z04anonymousza31793ze3z87_1949;
										}
									}
								}
							}
						}
					else
						{	/* Lalr/lalr.scm 685 */
							((bool_t) 0);
						}
				}
				return BGl_digraphz00zz__lalr_expandz00(BgL_readsz00_1945);
			}
		}

	}



/* add-lookback-edge */
	obj_t BGl_addzd2lookbackzd2edgez00zz__lalr_expandz00(obj_t BgL_statenoz00_17,
		obj_t BgL_rulenoz00_18, long BgL_gotonoz00_19)
	{
		{	/* Lalr/lalr.scm 706 */
			{	/* Lalr/lalr.scm 707 */
				obj_t BgL_kz00_1983;

				BgL_kz00_1983 =
					VECTOR_REF(BGl_lookaheadsz00zz__lalr_globalz00,
					((long) CINT(BgL_statenoz00_17) + 1L));
				{	/* Lalr/lalr.scm 708 */
					obj_t BgL_g1156z00_1984;

					BgL_g1156z00_1984 =
						VECTOR_REF(BGl_lookaheadsz00zz__lalr_globalz00,
						(long) CINT(BgL_statenoz00_17));
					{
						bool_t BgL_foundz00_1986;
						obj_t BgL_iz00_1987;

						BgL_foundz00_1986 = ((bool_t) 0);
						BgL_iz00_1987 = BgL_g1156z00_1984;
					BgL_zc3z04anonymousza31817ze3z87_1988:
						{	/* Lalr/lalr.scm 709 */
							bool_t BgL_test2697z00_5739;

							if (BgL_foundz00_1986)
								{	/* Lalr/lalr.scm 709 */
									BgL_test2697z00_5739 = ((bool_t) 0);
								}
							else
								{	/* Lalr/lalr.scm 709 */
									BgL_test2697z00_5739 =
										((long) CINT(BgL_iz00_1987) < (long) CINT(BgL_kz00_1983));
								}
							if (BgL_test2697z00_5739)
								{	/* Lalr/lalr.scm 710 */
									bool_t BgL_test2699z00_5744;

									{	/* Lalr/lalr.scm 710 */
										obj_t BgL_a1242z00_1994;

										BgL_a1242z00_1994 =
											VECTOR_REF(BGl_LArulenoz00zz__lalr_globalz00,
											(long) CINT(BgL_iz00_1987));
										{	/* Lalr/lalr.scm 710 */
											bool_t BgL_test2700z00_5747;

											if (INTEGERP(BgL_a1242z00_1994))
												{	/* Lalr/lalr.scm 710 */
													BgL_test2700z00_5747 = INTEGERP(BgL_rulenoz00_18);
												}
											else
												{	/* Lalr/lalr.scm 710 */
													BgL_test2700z00_5747 = ((bool_t) 0);
												}
											if (BgL_test2700z00_5747)
												{	/* Lalr/lalr.scm 710 */
													BgL_test2699z00_5744 =
														(
														(long) CINT(BgL_a1242z00_1994) ==
														(long) CINT(BgL_rulenoz00_18));
												}
											else
												{	/* Lalr/lalr.scm 710 */
													BgL_test2699z00_5744 =
														BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_a1242z00_1994,
														BgL_rulenoz00_18);
												}
										}
									}
									if (BgL_test2699z00_5744)
										{
											bool_t BgL_foundz00_5755;

											BgL_foundz00_5755 = ((bool_t) 1);
											BgL_foundz00_1986 = BgL_foundz00_5755;
											goto BgL_zc3z04anonymousza31817ze3z87_1988;
										}
									else
										{	/* Lalr/lalr.scm 712 */
											long BgL_arg1821z00_1993;

											BgL_arg1821z00_1993 = ((long) CINT(BgL_iz00_1987) + 1L);
											{
												obj_t BgL_iz00_5758;

												BgL_iz00_5758 = BINT(BgL_arg1821z00_1993);
												BgL_iz00_1987 = BgL_iz00_5758;
												goto BgL_zc3z04anonymousza31817ze3z87_1988;
											}
										}
								}
							else
								{	/* Lalr/lalr.scm 709 */
									if (BgL_foundz00_1986)
										{	/* Lalr/lalr.scm 718 */
											obj_t BgL_arg1822z00_1996;

											BgL_arg1822z00_1996 =
												MAKE_YOUNG_PAIR(BINT(BgL_gotonoz00_19),
												VECTOR_REF(BGl_lookbackz00zz__lalr_globalz00,
													(long) CINT(BgL_iz00_1987)));
											return
												VECTOR_SET(BGl_lookbackz00zz__lalr_globalz00,
												(long) CINT(BgL_iz00_1987), BgL_arg1822z00_1996);
										}
									else
										{	/* Lalr/lalr.scm 714 */
											{	/* Lalr/lalr.scm 715 */
												obj_t BgL_arg1825z00_1998;

												{	/* Lalr/lalr.scm 715 */
													obj_t BgL_tmpz00_5767;

													BgL_tmpz00_5767 = BGL_CURRENT_DYNAMIC_ENV();
													BgL_arg1825z00_1998 =
														BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_5767);
												}
												bgl_display_string(BGl_string2512z00zz__lalr_expandz00,
													BgL_arg1825z00_1998);
											}
											{	/* Lalr/lalr.scm 716 */
												obj_t BgL_arg1827z00_1999;
												obj_t BgL_arg1828z00_2000;

												{	/* Lalr/lalr.scm 716 */
													obj_t BgL_list1829z00_2001;

													{	/* Lalr/lalr.scm 716 */
														obj_t BgL_arg1830z00_2002;

														{	/* Lalr/lalr.scm 716 */
															obj_t BgL_arg1832z00_2003;

															BgL_arg1832z00_2003 =
																MAKE_YOUNG_PAIR(BINT(BgL_gotonoz00_19), BNIL);
															BgL_arg1830z00_2002 =
																MAKE_YOUNG_PAIR(BgL_rulenoz00_18,
																BgL_arg1832z00_2003);
														}
														BgL_list1829z00_2001 =
															MAKE_YOUNG_PAIR(BgL_statenoz00_17,
															BgL_arg1830z00_2002);
													}
													BgL_arg1827z00_1999 = BgL_list1829z00_2001;
												}
												{	/* Lalr/lalr.scm 716 */
													obj_t BgL_tmpz00_5775;

													BgL_tmpz00_5775 = BGL_CURRENT_DYNAMIC_ENV();
													BgL_arg1828z00_2000 =
														BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_5775);
												}
												bgl_display_obj(BgL_arg1827z00_1999,
													BgL_arg1828z00_2000);
											}
											{	/* Lalr/lalr.scm 716 */
												obj_t BgL_arg1833z00_2004;

												{	/* Lalr/lalr.scm 716 */
													obj_t BgL_tmpz00_5779;

													BgL_tmpz00_5779 = BGL_CURRENT_DYNAMIC_ENV();
													BgL_arg1833z00_2004 =
														BGL_ENV_CURRENT_OUTPUT_PORT(BgL_tmpz00_5779);
												}
												return
													bgl_display_char(((unsigned char) 10),
													BgL_arg1833z00_2004);
		}}}}}}}}

	}



/* transpose */
	obj_t BGl_transposez00zz__lalr_expandz00(obj_t BgL_rzd2argzd2_20,
		obj_t BgL_nz00_21)
	{
		{	/* Lalr/lalr.scm 721 */
			{	/* Lalr/lalr.scm 722 */
				obj_t BgL_newzd2endzd2_2007;
				obj_t BgL_newzd2rzd2_2008;

				BgL_newzd2endzd2_2007 = make_vector((long) CINT(BgL_nz00_21), BFALSE);
				BgL_newzd2rzd2_2008 = make_vector((long) CINT(BgL_nz00_21), BFALSE);
				{
					long BgL_iz00_2010;

					BgL_iz00_2010 = 0L;
				BgL_zc3z04anonymousza31835ze3z87_2011:
					{	/* Lalr/lalr.scm 724 */
						bool_t BgL_test2703z00_5787;

						if (INTEGERP(BgL_nz00_21))
							{	/* Lalr/lalr.scm 725 */
								BgL_test2703z00_5787 =
									(BgL_iz00_2010 == (long) CINT(BgL_nz00_21));
							}
						else
							{	/* Lalr/lalr.scm 725 */
								BgL_test2703z00_5787 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2010),
									BgL_nz00_21);
							}
						if (BgL_test2703z00_5787)
							{	/* Lalr/lalr.scm 724 */
								((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 724 */
								{	/* Lalr/lalr.scm 726 */
									obj_t BgL_xz00_2014;

									{	/* Lalr/lalr.scm 726 */
										obj_t BgL_list1838z00_2015;

										BgL_list1838z00_2015 =
											MAKE_YOUNG_PAIR(BGl_symbol2513z00zz__lalr_expandz00,
											BNIL);
										BgL_xz00_2014 = BgL_list1838z00_2015;
									}
									VECTOR_SET(BgL_newzd2rzd2_2008, BgL_iz00_2010, BgL_xz00_2014);
									VECTOR_SET(BgL_newzd2endzd2_2007, BgL_iz00_2010,
										BgL_xz00_2014);
								}
								{
									long BgL_iz00_5797;

									BgL_iz00_5797 = (BgL_iz00_2010 + 1L);
									BgL_iz00_2010 = BgL_iz00_5797;
									goto BgL_zc3z04anonymousza31835ze3z87_2011;
								}
							}
					}
				}
				{
					long BgL_iz00_2020;

					BgL_iz00_2020 = 0L;
				BgL_zc3z04anonymousza31840ze3z87_2021:
					{	/* Lalr/lalr.scm 729 */
						bool_t BgL_test2705z00_5799;

						if (INTEGERP(BgL_nz00_21))
							{	/* Lalr/lalr.scm 730 */
								BgL_test2705z00_5799 =
									(BgL_iz00_2020 == (long) CINT(BgL_nz00_21));
							}
						else
							{	/* Lalr/lalr.scm 730 */
								BgL_test2705z00_5799 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2020),
									BgL_nz00_21);
							}
						if (BgL_test2705z00_5799)
							{	/* Lalr/lalr.scm 729 */
								((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 729 */
								{	/* Lalr/lalr.scm 731 */
									obj_t BgL_spz00_2024;

									BgL_spz00_2024 =
										VECTOR_REF(((obj_t) BgL_rzd2argzd2_20), BgL_iz00_2020);
									if (PAIRP(BgL_spz00_2024))
										{
											obj_t BgL_sp2z00_2027;

											BgL_sp2z00_2027 = BgL_spz00_2024;
										BgL_zc3z04anonymousza31844ze3z87_2028:
											if (PAIRP(BgL_sp2z00_2027))
												{	/* Lalr/lalr.scm 735 */
													obj_t BgL_xz00_2030;

													BgL_xz00_2030 = CAR(BgL_sp2z00_2027);
													{	/* Lalr/lalr.scm 735 */
														obj_t BgL_yz00_2031;

														BgL_yz00_2031 =
															VECTOR_REF(BgL_newzd2endzd2_2007,
															(long) CINT(BgL_xz00_2030));
														{	/* Lalr/lalr.scm 736 */

															{	/* Lalr/lalr.scm 737 */
																obj_t BgL_arg1846z00_2032;

																{	/* Lalr/lalr.scm 737 */
																	obj_t BgL_arg1847z00_2033;

																	BgL_arg1847z00_2033 =
																		CDR(((obj_t) BgL_yz00_2031));
																	BgL_arg1846z00_2032 =
																		MAKE_YOUNG_PAIR(BINT(BgL_iz00_2020),
																		BgL_arg1847z00_2033);
																}
																{	/* Lalr/lalr.scm 737 */
																	obj_t BgL_tmpz00_5819;

																	BgL_tmpz00_5819 = ((obj_t) BgL_yz00_2031);
																	SET_CDR(BgL_tmpz00_5819, BgL_arg1846z00_2032);
															}}
															{	/* Lalr/lalr.scm 738 */
																obj_t BgL_arg1848z00_2034;

																BgL_arg1848z00_2034 =
																	CDR(((obj_t) BgL_yz00_2031));
																VECTOR_SET(BgL_newzd2endzd2_2007,
																	(long) CINT(BgL_xz00_2030),
																	BgL_arg1848z00_2034);
															}
															{
																obj_t BgL_sp2z00_5826;

																BgL_sp2z00_5826 = CDR(BgL_sp2z00_2027);
																BgL_sp2z00_2027 = BgL_sp2z00_5826;
																goto BgL_zc3z04anonymousza31844ze3z87_2028;
															}
														}
													}
												}
											else
												{	/* Lalr/lalr.scm 734 */
													((bool_t) 0);
												}
										}
									else
										{	/* Lalr/lalr.scm 732 */
											((bool_t) 0);
										}
								}
								{
									long BgL_iz00_5828;

									BgL_iz00_5828 = (BgL_iz00_2020 + 1L);
									BgL_iz00_2020 = BgL_iz00_5828;
									goto BgL_zc3z04anonymousza31840ze3z87_2021;
								}
							}
					}
				}
				{
					long BgL_iz00_2041;

					BgL_iz00_2041 = 0L;
				BgL_zc3z04anonymousza31852ze3z87_2042:
					{	/* Lalr/lalr.scm 740 */
						bool_t BgL_test2709z00_5830;

						if (INTEGERP(BgL_nz00_21))
							{	/* Lalr/lalr.scm 741 */
								BgL_test2709z00_5830 =
									(BgL_iz00_2041 == (long) CINT(BgL_nz00_21));
							}
						else
							{	/* Lalr/lalr.scm 741 */
								BgL_test2709z00_5830 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2041),
									BgL_nz00_21);
							}
						if (BgL_test2709z00_5830)
							{	/* Lalr/lalr.scm 740 */
								((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 740 */
								{	/* Lalr/lalr.scm 742 */
									obj_t BgL_arg1856z00_2045;

									{	/* Lalr/lalr.scm 742 */
										obj_t BgL_arg1857z00_2046;

										BgL_arg1857z00_2046 =
											VECTOR_REF(BgL_newzd2rzd2_2008, BgL_iz00_2041);
										BgL_arg1856z00_2045 = CDR(((obj_t) BgL_arg1857z00_2046));
									}
									VECTOR_SET(BgL_newzd2rzd2_2008, BgL_iz00_2041,
										BgL_arg1856z00_2045);
								}
								{
									long BgL_iz00_5841;

									BgL_iz00_5841 = (BgL_iz00_2041 + 1L);
									BgL_iz00_2041 = BgL_iz00_5841;
									goto BgL_zc3z04anonymousza31852ze3z87_2042;
								}
							}
					}
				}
				return BgL_newzd2rzd2_2008;
			}
		}

	}



/* build-relations */
	obj_t BGl_buildzd2relationszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 748 */
			{
				obj_t BgL_statenoz00_2109;
				obj_t BgL_symbolz00_2110;

				BGl_includesz00zz__lalr_globalz00 =
					make_vector((long) CINT(BGl_ngotosz00zz__lalr_globalz00), BFALSE);
				{
					long BgL_iz00_2052;

					BgL_iz00_2052 = 0L;
				BgL_zc3z04anonymousza31859ze3z87_2053:
					{	/* Lalr/lalr.scm 761 */
						bool_t BgL_test2711z00_5845;

						if (INTEGERP(BGl_ngotosz00zz__lalr_globalz00))
							{	/* Lalr/lalr.scm 762 */
								BgL_test2711z00_5845 =
									(BgL_iz00_2052 ==
									(long) CINT(BGl_ngotosz00zz__lalr_globalz00));
							}
						else
							{	/* Lalr/lalr.scm 762 */
								BgL_test2711z00_5845 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2052),
									BGl_ngotosz00zz__lalr_globalz00);
							}
						if (BgL_test2711z00_5845)
							{	/* Lalr/lalr.scm 761 */
								((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 761 */
								{	/* Lalr/lalr.scm 763 */
									obj_t BgL_state1z00_2056;
									obj_t BgL_symbol1z00_2057;

									BgL_state1z00_2056 =
										VECTOR_REF(BGl_fromzd2statezd2zz__lalr_globalz00,
										BgL_iz00_2052);
									{	/* Lalr/lalr.scm 764 */
										obj_t BgL_arg1884z00_2105;

										BgL_arg1884z00_2105 =
											VECTOR_REF(BGl_tozd2statezd2zz__lalr_globalz00,
											BgL_iz00_2052);
										BgL_symbol1z00_2057 =
											VECTOR_REF(BGl_acceszd2symbolzd2zz__lalr_globalz00,
											(long) CINT(BgL_arg1884z00_2105));
									}
									{	/* Lalr/lalr.scm 765 */
										obj_t BgL_g1162z00_2058;

										BgL_g1162z00_2058 =
											VECTOR_REF(BGl_derivesz00zz__lalr_globalz00,
											(long) CINT(BgL_symbol1z00_2057));
										{
											obj_t BgL_rulepz00_2061;
											obj_t BgL_edgesz00_2062;

											BgL_rulepz00_2061 = BgL_g1162z00_2058;
											BgL_edgesz00_2062 = BNIL;
										BgL_zc3z04anonymousza31862ze3z87_2063:
											if (PAIRP(BgL_rulepz00_2061))
												{	/* Lalr/lalr.scm 768 */
													obj_t BgL_za2rulepza2_2065;

													BgL_za2rulepza2_2065 = CAR(BgL_rulepz00_2061);
													{	/* Lalr/lalr.scm 769 */
														obj_t BgL_g1164z00_2066;
														obj_t BgL_g1165z00_2067;

														BgL_g1164z00_2066 =
															VECTOR_REF(BGl_rrhsz00zz__lalr_globalz00,
															(long) CINT(BgL_za2rulepza2_2065));
														{	/* Lalr/lalr.scm 771 */
															obj_t BgL_list1883z00_2103;

															BgL_list1883z00_2103 =
																MAKE_YOUNG_PAIR(BgL_state1z00_2056, BNIL);
															BgL_g1165z00_2067 = BgL_list1883z00_2103;
														}
														{
															obj_t BgL_rpz00_2069;
															obj_t BgL_statenoz00_2070;
															obj_t BgL_statesz00_2071;

															BgL_rpz00_2069 = BgL_g1164z00_2066;
															BgL_statenoz00_2070 = BgL_state1z00_2056;
															BgL_statesz00_2071 = BgL_g1165z00_2067;
														BgL_zc3z04anonymousza31864ze3z87_2072:
															{	/* Lalr/lalr.scm 772 */
																obj_t BgL_za2rpza2_2073;

																BgL_za2rpza2_2073 =
																	VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
																	(long) CINT(BgL_rpz00_2069));
																if (((long) CINT(BgL_za2rpza2_2073) > 0L))
																	{	/* Lalr/lalr.scm 774 */
																		obj_t BgL_stz00_2075;

																		BgL_statenoz00_2109 = BgL_statenoz00_2070;
																		BgL_symbolz00_2110 = BgL_za2rpza2_2073;
																		{	/* Lalr/lalr.scm 751 */
																			obj_t BgL_g1160z00_2112;

																			{	/* Lalr/lalr.scm 751 */
																				obj_t BgL_arg1892z00_2126;

																				BgL_arg1892z00_2126 =
																					VECTOR_REF
																					(BGl_shiftzd2tablezd2zz__lalr_globalz00,
																					(long) CINT(BgL_statenoz00_2109));
																				BgL_g1160z00_2112 =
																					VECTOR_REF(((obj_t)
																						BgL_arg1892z00_2126), 2L);
																			}
																			{
																				obj_t BgL_jz00_2114;
																				obj_t BgL_stnoz00_2115;

																				BgL_jz00_2114 = BgL_g1160z00_2112;
																				BgL_stnoz00_2115 = BgL_statenoz00_2109;
																			BgL_zc3z04anonymousza31887ze3z87_2116:
																				if (NULLP(BgL_jz00_2114))
																					{	/* Lalr/lalr.scm 753 */
																						BgL_stz00_2075 = BgL_stnoz00_2115;
																					}
																				else
																					{	/* Lalr/lalr.scm 755 */
																						obj_t BgL_st2z00_2118;

																						BgL_st2z00_2118 =
																							CAR(((obj_t) BgL_jz00_2114));
																						{	/* Lalr/lalr.scm 756 */
																							bool_t BgL_test2716z00_5877;

																							{	/* Lalr/lalr.scm 756 */
																								obj_t BgL_a1243z00_2123;

																								BgL_a1243z00_2123 =
																									VECTOR_REF
																									(BGl_acceszd2symbolzd2zz__lalr_globalz00,
																									(long) CINT(BgL_st2z00_2118));
																								{	/* Lalr/lalr.scm 756 */
																									bool_t BgL_test2717z00_5880;

																									if (INTEGERP
																										(BgL_a1243z00_2123))
																										{	/* Lalr/lalr.scm 756 */
																											BgL_test2717z00_5880 =
																												INTEGERP
																												(BgL_symbolz00_2110);
																										}
																									else
																										{	/* Lalr/lalr.scm 756 */
																											BgL_test2717z00_5880 =
																												((bool_t) 0);
																										}
																									if (BgL_test2717z00_5880)
																										{	/* Lalr/lalr.scm 756 */
																											BgL_test2716z00_5877 =
																												(
																												(long)
																												CINT(BgL_a1243z00_2123)
																												==
																												(long)
																												CINT
																												(BgL_symbolz00_2110));
																										}
																									else
																										{	/* Lalr/lalr.scm 756 */
																											BgL_test2716z00_5877 =
																												BGl_2zd3zd3zz__r4_numbers_6_5z00
																												(BgL_a1243z00_2123,
																												BgL_symbolz00_2110);
																										}
																								}
																							}
																							if (BgL_test2716z00_5877)
																								{	/* Lalr/lalr.scm 756 */
																									BgL_stz00_2075 =
																										BgL_st2z00_2118;
																								}
																							else
																								{
																									obj_t BgL_stnoz00_5891;
																									obj_t BgL_jz00_5888;

																									BgL_jz00_5888 =
																										CDR(
																										((obj_t) BgL_jz00_2114));
																									BgL_stnoz00_5891 =
																										BgL_st2z00_2118;
																									BgL_stnoz00_2115 =
																										BgL_stnoz00_5891;
																									BgL_jz00_2114 = BgL_jz00_5888;
																									goto
																										BgL_zc3z04anonymousza31887ze3z87_2116;
																								}
																						}
																					}
																			}
																		}
																		{	/* Lalr/lalr.scm 775 */
																			long BgL_arg1866z00_2076;
																			obj_t BgL_arg1867z00_2077;

																			BgL_arg1866z00_2076 =
																				((long) CINT(BgL_rpz00_2069) + 1L);
																			BgL_arg1867z00_2077 =
																				MAKE_YOUNG_PAIR(BgL_stz00_2075,
																				BgL_statesz00_2071);
																			{
																				obj_t BgL_statesz00_5898;
																				obj_t BgL_statenoz00_5897;
																				obj_t BgL_rpz00_5895;

																				BgL_rpz00_5895 =
																					BINT(BgL_arg1866z00_2076);
																				BgL_statenoz00_5897 = BgL_stz00_2075;
																				BgL_statesz00_5898 =
																					BgL_arg1867z00_2077;
																				BgL_statesz00_2071 = BgL_statesz00_5898;
																				BgL_statenoz00_2070 =
																					BgL_statenoz00_5897;
																				BgL_rpz00_2069 = BgL_rpz00_5895;
																				goto
																					BgL_zc3z04anonymousza31864ze3z87_2072;
																			}
																		}
																	}
																else
																	{	/* Lalr/lalr.scm 773 */
																		{	/* Lalr/lalr.scm 778 */
																			bool_t BgL_test2719z00_5899;

																			{	/* Lalr/lalr.scm 778 */
																				obj_t BgL_vectorz00_3829;
																				long BgL_kz00_3830;

																				BgL_vectorz00_3829 =
																					BGl_consistentz00zz__lalr_globalz00;
																				BgL_kz00_3830 =
																					(long) CINT(BgL_statenoz00_2070);
																				BgL_test2719z00_5899 =
																					CBOOL(VECTOR_REF(BgL_vectorz00_3829,
																						BgL_kz00_3830));
																			}
																			if (BgL_test2719z00_5899)
																				{	/* Lalr/lalr.scm 778 */
																					BFALSE;
																				}
																			else
																				{	/* Lalr/lalr.scm 778 */
																					BGl_addzd2lookbackzd2edgez00zz__lalr_expandz00
																						(BgL_statenoz00_2070,
																						BgL_za2rulepza2_2065,
																						BgL_iz00_2052);
																				}
																		}
																		{	/* Lalr/lalr.scm 781 */
																			obj_t BgL_g1166z00_2079;
																			long BgL_g1167z00_2080;

																			BgL_g1166z00_2079 =
																				CDR(((obj_t) BgL_statesz00_2071));
																			BgL_g1167z00_2080 =
																				((long) CINT(BgL_rpz00_2069) - 1L);
																			{
																				bool_t BgL_donez00_2082;
																				obj_t BgL_stpz00_2083;
																				long BgL_rp2z00_2084;
																				obj_t BgL_edgpz00_2085;

																				BgL_donez00_2082 = ((bool_t) 0);
																				BgL_stpz00_2083 = BgL_g1166z00_2079;
																				BgL_rp2z00_2084 = BgL_g1167z00_2080;
																				BgL_edgpz00_2085 = BgL_edgesz00_2062;
																			BgL_zc3z04anonymousza31869ze3z87_2086:
																				if (BgL_donez00_2082)
																					{	/* Lalr/lalr.scm 794 */
																						obj_t BgL_arg1870z00_2087;

																						BgL_arg1870z00_2087 =
																							CDR(((obj_t) BgL_rulepz00_2061));
																						{
																							obj_t BgL_edgesz00_5912;
																							obj_t BgL_rulepz00_5911;

																							BgL_rulepz00_5911 =
																								BgL_arg1870z00_2087;
																							BgL_edgesz00_5912 =
																								BgL_edgpz00_2085;
																							BgL_edgesz00_2062 =
																								BgL_edgesz00_5912;
																							BgL_rulepz00_2061 =
																								BgL_rulepz00_5911;
																							goto
																								BgL_zc3z04anonymousza31862ze3z87_2063;
																						}
																					}
																				else
																					{	/* Lalr/lalr.scm 786 */
																						obj_t BgL_za2rpza2_2088;

																						BgL_za2rpza2_2088 =
																							VECTOR_REF
																							(BGl_ritemz00zz__lalr_globalz00,
																							BgL_rp2z00_2084);
																						{	/* Lalr/lalr.scm 787 */
																							bool_t BgL_test2721z00_5914;

																							{	/* Lalr/lalr.scm 787 */
																								bool_t BgL_test2722z00_5915;

																								if (INTEGERP(BgL_za2rpza2_2088))
																									{	/* Lalr/lalr.scm 787 */
																										BgL_test2722z00_5915 =
																											((-1L) <
																											(long)
																											CINT(BgL_za2rpza2_2088));
																									}
																								else
																									{	/* Lalr/lalr.scm 787 */
																										BgL_test2722z00_5915 =
																											BGl_2zc3zc3zz__r4_numbers_6_5z00
																											(BINT((-1L)),
																											BgL_za2rpza2_2088);
																									}
																								if (BgL_test2722z00_5915)
																									{	/* Lalr/lalr.scm 787 */
																										bool_t BgL_test2724z00_5922;

																										if (INTEGERP
																											(BgL_za2rpza2_2088))
																											{	/* Lalr/lalr.scm 787 */
																												BgL_test2724z00_5922 =
																													INTEGERP
																													(BGl_nvarsz00zz__lalr_globalz00);
																											}
																										else
																											{	/* Lalr/lalr.scm 787 */
																												BgL_test2724z00_5922 =
																													((bool_t) 0);
																											}
																										if (BgL_test2724z00_5922)
																											{	/* Lalr/lalr.scm 787 */
																												BgL_test2721z00_5914 =
																													(
																													(long)
																													CINT
																													(BgL_za2rpza2_2088) <
																													(long)
																													CINT
																													(BGl_nvarsz00zz__lalr_globalz00));
																											}
																										else
																											{	/* Lalr/lalr.scm 787 */
																												BgL_test2721z00_5914 =
																													BGl_2zc3zc3zz__r4_numbers_6_5z00
																													(BgL_za2rpza2_2088,
																													BGl_nvarsz00zz__lalr_globalz00);
																											}
																									}
																								else
																									{	/* Lalr/lalr.scm 787 */
																										BgL_test2721z00_5914 =
																											((bool_t) 0);
																									}
																							}
																							if (BgL_test2721z00_5914)
																								{	/* Lalr/lalr.scm 788 */
																									bool_t BgL_arg1873z00_2092;
																									obj_t BgL_arg1876z00_2093;
																									long BgL_arg1878z00_2094;
																									obj_t BgL_arg1879z00_2095;

																									{	/* Lalr/lalr.scm 788 */
																										bool_t BgL_test2726z00_5930;

																										{	/* Lalr/lalr.scm 788 */
																											obj_t BgL_vectorz00_3839;
																											long BgL_kz00_3840;

																											BgL_vectorz00_3839 =
																												BGl_nullablez00zz__lalr_globalz00;
																											BgL_kz00_3840 =
																												(long)
																												CINT(BgL_za2rpza2_2088);
																											BgL_test2726z00_5930 =
																												CBOOL(VECTOR_REF
																												(BgL_vectorz00_3839,
																													BgL_kz00_3840));
																										}
																										if (BgL_test2726z00_5930)
																											{	/* Lalr/lalr.scm 788 */
																												BgL_arg1873z00_2092 =
																													((bool_t) 0);
																											}
																										else
																											{	/* Lalr/lalr.scm 788 */
																												BgL_arg1873z00_2092 =
																													((bool_t) 1);
																											}
																									}
																									BgL_arg1876z00_2093 =
																										CDR(
																										((obj_t) BgL_stpz00_2083));
																									BgL_arg1878z00_2094 =
																										(BgL_rp2z00_2084 - 1L);
																									{	/* Lalr/lalr.scm 791 */
																										long BgL_arg1881z00_2097;

																										{	/* Lalr/lalr.scm 791 */
																											obj_t BgL_arg1882z00_2098;

																											BgL_arg1882z00_2098 =
																												CAR(
																												((obj_t)
																													BgL_stpz00_2083));
																											BgL_arg1881z00_2097 =
																												BGl_mapzd2gotozd2zz__lalr_expandz00
																												(BgL_arg1882z00_2098,
																												BgL_za2rpza2_2088);
																										}
																										BgL_arg1879z00_2095 =
																											MAKE_YOUNG_PAIR(BINT
																											(BgL_arg1881z00_2097),
																											BgL_edgpz00_2085);
																									}
																									{
																										obj_t BgL_edgpz00_5945;
																										long BgL_rp2z00_5944;
																										obj_t BgL_stpz00_5943;
																										bool_t BgL_donez00_5942;

																										BgL_donez00_5942 =
																											BgL_arg1873z00_2092;
																										BgL_stpz00_5943 =
																											BgL_arg1876z00_2093;
																										BgL_rp2z00_5944 =
																											BgL_arg1878z00_2094;
																										BgL_edgpz00_5945 =
																											BgL_arg1879z00_2095;
																										BgL_edgpz00_2085 =
																											BgL_edgpz00_5945;
																										BgL_rp2z00_2084 =
																											BgL_rp2z00_5944;
																										BgL_stpz00_2083 =
																											BgL_stpz00_5943;
																										BgL_donez00_2082 =
																											BgL_donez00_5942;
																										goto
																											BgL_zc3z04anonymousza31869ze3z87_2086;
																									}
																								}
																							else
																								{
																									bool_t BgL_donez00_5946;

																									BgL_donez00_5946 =
																										((bool_t) 1);
																									BgL_donez00_2082 =
																										BgL_donez00_5946;
																									goto
																										BgL_zc3z04anonymousza31869ze3z87_2086;
																								}
																						}
																					}
																			}
																		}
																	}
															}
														}
													}
												}
											else
												{	/* Lalr/lalr.scm 767 */
													VECTOR_SET(BGl_includesz00zz__lalr_globalz00,
														BgL_iz00_2052, BgL_edgesz00_2062);
												}
										}
									}
								}
								{
									long BgL_iz00_5948;

									BgL_iz00_5948 = (BgL_iz00_2052 + 1L);
									BgL_iz00_2052 = BgL_iz00_5948;
									goto BgL_zc3z04anonymousza31859ze3z87_2053;
								}
							}
					}
				}
				return (BGl_includesz00zz__lalr_globalz00 =
					BGl_transposez00zz__lalr_expandz00(BGl_includesz00zz__lalr_globalz00,
						BGl_ngotosz00zz__lalr_globalz00), BUNSPEC);
			}
		}

	}



/* compute-lookaheads */
	bool_t BGl_computezd2lookaheadszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 800 */
			{	/* Lalr/lalr.scm 801 */
				obj_t BgL_nz00_2128;

				BgL_nz00_2128 =
					VECTOR_REF(BGl_lookaheadsz00zz__lalr_globalz00,
					(long) CINT(BGl_nstatesz00zz__lalr_globalz00));
				{
					long BgL_iz00_2130;

					BgL_iz00_2130 = 0L;
				BgL_zc3z04anonymousza31893ze3z87_2131:
					if ((BgL_iz00_2130 < (long) CINT(BgL_nz00_2128)))
						{	/* Lalr/lalr.scm 804 */
							obj_t BgL_g1168z00_2133;

							BgL_g1168z00_2133 =
								VECTOR_REF(BGl_lookbackz00zz__lalr_globalz00, BgL_iz00_2130);
							{
								obj_t BgL_spz00_2135;

								BgL_spz00_2135 = BgL_g1168z00_2133;
							BgL_zc3z04anonymousza31895ze3z87_2136:
								if (PAIRP(BgL_spz00_2135))
									{	/* Lalr/lalr.scm 806 */
										obj_t BgL_lazd2izd2_2138;
										obj_t BgL_fzd2jzd2_2139;

										BgL_lazd2izd2_2138 =
											VECTOR_REF(BGl_LAz00zz__lalr_globalz00, BgL_iz00_2130);
										{	/* Lalr/lalr.scm 807 */
											obj_t BgL_arg1908z00_2152;

											BgL_arg1908z00_2152 = CAR(BgL_spz00_2135);
											BgL_fzd2jzd2_2139 =
												VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
												(long) CINT(BgL_arg1908z00_2152));
										}
										{
											obj_t BgL_iz00_2141;

											BgL_iz00_2141 = BINT(0L);
										BgL_zc3z04anonymousza31897ze3z87_2142:
											{	/* Lalr/lalr.scm 808 */
												bool_t BgL_test2729z00_5963;

												{	/* Lalr/lalr.scm 808 */
													bool_t BgL_test2730z00_5964;

													if (INTEGERP(BgL_iz00_2141))
														{	/* Lalr/lalr.scm 808 */
															BgL_test2730z00_5964 =
																INTEGERP
																(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
														}
													else
														{	/* Lalr/lalr.scm 808 */
															BgL_test2730z00_5964 = ((bool_t) 0);
														}
													if (BgL_test2730z00_5964)
														{	/* Lalr/lalr.scm 808 */
															BgL_test2729z00_5963 =
																(
																(long) CINT(BgL_iz00_2141) ==
																(long)
																CINT
																(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00));
														}
													else
														{	/* Lalr/lalr.scm 808 */
															BgL_test2729z00_5963 =
																BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_iz00_2141,
																BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
														}
												}
												if (BgL_test2729z00_5963)
													{	/* Lalr/lalr.scm 808 */
														((bool_t) 0);
													}
												else
													{	/* Lalr/lalr.scm 808 */
														{	/* Lalr/lalr.scm 808 */
															long BgL_arg1901z00_2145;

															{	/* Lalr/lalr.scm 808 */
																obj_t BgL_arg1903z00_2146;
																obj_t BgL_arg1905z00_2147;

																{	/* Lalr/lalr.scm 808 */
																	long BgL_kz00_3861;

																	BgL_kz00_3861 = (long) CINT(BgL_iz00_2141);
																	BgL_arg1903z00_2146 =
																		VECTOR_REF(
																		((obj_t) BgL_lazd2izd2_2138),
																		BgL_kz00_3861);
																}
																{	/* Lalr/lalr.scm 808 */
																	long BgL_kz00_3863;

																	BgL_kz00_3863 = (long) CINT(BgL_iz00_2141);
																	BgL_arg1905z00_2147 =
																		VECTOR_REF(
																		((obj_t) BgL_fzd2jzd2_2139), BgL_kz00_3863);
																}
																BgL_arg1901z00_2145 =
																	(
																	(long) CINT(BgL_arg1903z00_2146) |
																	(long) CINT(BgL_arg1905z00_2147));
															}
															{	/* Lalr/lalr.scm 808 */
																long BgL_kz00_3867;

																BgL_kz00_3867 = (long) CINT(BgL_iz00_2141);
																VECTOR_SET(
																	((obj_t) BgL_lazd2izd2_2138), BgL_kz00_3867,
																	BINT(BgL_arg1901z00_2145));
														}}
														{	/* Lalr/lalr.scm 808 */
															obj_t BgL_arg1906z00_2148;

															if (INTEGERP(BgL_iz00_2141))
																{	/* Lalr/lalr.scm 808 */
																	obj_t BgL_tmpz00_3870;

																	BgL_tmpz00_3870 = BINT(0L);
																	{	/* Lalr/lalr.scm 808 */
																		bool_t BgL_test2733z00_5988;

																		{	/* Lalr/lalr.scm 808 */
																			obj_t BgL_tmpz00_5989;

																			BgL_tmpz00_5989 = BINT(1L);
																			BgL_test2733z00_5988 =
																				BGL_ADDFX_OV(BgL_iz00_2141,
																				BgL_tmpz00_5989, BgL_tmpz00_3870);
																		}
																		if (BgL_test2733z00_5988)
																			{	/* Lalr/lalr.scm 808 */
																				BgL_arg1906z00_2148 =
																					bgl_bignum_add(bgl_long_to_bignum(
																						(long) CINT(BgL_iz00_2141)),
																					bgl_long_to_bignum(1L));
																			}
																		else
																			{	/* Lalr/lalr.scm 808 */
																				BgL_arg1906z00_2148 = BgL_tmpz00_3870;
																			}
																	}
																}
															else
																{	/* Lalr/lalr.scm 808 */
																	BgL_arg1906z00_2148 =
																		BGl_2zb2zb2zz__r4_numbers_6_5z00
																		(BgL_iz00_2141, BINT(1L));
																}
															{
																obj_t BgL_iz00_5998;

																BgL_iz00_5998 = BgL_arg1906z00_2148;
																BgL_iz00_2141 = BgL_iz00_5998;
																goto BgL_zc3z04anonymousza31897ze3z87_2142;
															}
														}
													}
											}
										}
										{
											obj_t BgL_spz00_6000;

											BgL_spz00_6000 = CDR(BgL_spz00_2135);
											BgL_spz00_2135 = BgL_spz00_6000;
											goto BgL_zc3z04anonymousza31895ze3z87_2136;
										}
									}
								else
									{
										long BgL_iz00_6002;

										BgL_iz00_6002 = (BgL_iz00_2130 + 1L);
										BgL_iz00_2130 = BgL_iz00_6002;
										goto BgL_zc3z04anonymousza31893ze3z87_2131;
									}
							}
						}
					else
						{	/* Lalr/lalr.scm 803 */
							return ((bool_t) 0);
						}
				}
			}
		}

	}



/* digraph */
	bool_t BGl_digraphz00zz__lalr_expandz00(obj_t BgL_relationz00_22)
	{
		{	/* Lalr/lalr.scm 814 */
			{	/* Lalr/lalr.scm 814 */
				struct bgl_unsafe_cell BgL_box2734_4482z00;
				obj_t BgL_topz00_4482;

				BgL_topz00_4482 =
					BGL_MAKE_UNSAFE_CELL_STACK(BINT(0L), BgL_box2734_4482z00);
				{	/* Lalr/lalr.scm 815 */
					long BgL_infinityz00_2157;

					BgL_infinityz00_2157 =
						((long) CINT(BGl_ngotosz00zz__lalr_globalz00) + 2L);
					{	/* Lalr/lalr.scm 816 */
						obj_t BgL_indexz00_2158;

						BgL_indexz00_2158 =
							make_vector(
							((long) CINT(BGl_ngotosz00zz__lalr_globalz00) + 1L), BINT(0L));
						{	/* Lalr/lalr.scm 817 */
							obj_t BgL_verticesz00_2159;

							BgL_verticesz00_2159 =
								make_vector(
								((long) CINT(BGl_ngotosz00zz__lalr_globalz00) + 1L), BINT(0L));
							{
								long BgL_iz00_2163;

								BgL_iz00_2163 = 0L;
							BgL_zc3z04anonymousza31912ze3z87_2164:
								if (
									(BgL_iz00_2163 <
										(long) CINT(BGl_ngotosz00zz__lalr_globalz00)))
									{	/* Lalr/lalr.scm 853 */
										{	/* Lalr/lalr.scm 855 */
											bool_t BgL_test2736z00_6018;

											if (
												(0L ==
													(long) CINT(VECTOR_REF(BgL_indexz00_2158,
															BgL_iz00_2163))))
												{	/* Lalr/lalr.scm 856 */
													obj_t BgL_arg1917z00_2172;

													BgL_arg1917z00_2172 =
														VECTOR_REF(
														((obj_t) BgL_relationz00_22), BgL_iz00_2163);
													BgL_test2736z00_6018 = PAIRP(BgL_arg1917z00_2172);
												}
											else
												{	/* Lalr/lalr.scm 855 */
													BgL_test2736z00_6018 = ((bool_t) 0);
												}
											if (BgL_test2736z00_6018)
												{	/* Lalr/lalr.scm 855 */
													BGl_traverseze70ze7zz__lalr_expandz00
														(BgL_infinityz00_2157, BgL_relationz00_22,
														BgL_indexz00_2158, BgL_verticesz00_2159,
														BgL_topz00_4482, BINT(BgL_iz00_2163));
												}
											else
												{	/* Lalr/lalr.scm 855 */
													((bool_t) 0);
												}
										}
										{
											long BgL_iz00_6028;

											BgL_iz00_6028 = (BgL_iz00_2163 + 1L);
											BgL_iz00_2163 = BgL_iz00_6028;
											goto BgL_zc3z04anonymousza31912ze3z87_2164;
										}
									}
								else
									{	/* Lalr/lalr.scm 853 */
										return ((bool_t) 0);
									}
							}
						}
					}
				}
			}
		}

	}



/* traverse~0 */
	bool_t BGl_traverseze70ze7zz__lalr_expandz00(long BgL_infinityz00_4479,
		obj_t BgL_rz00_4478, obj_t BgL_indexz00_4477, obj_t BgL_verticesz00_4476,
		obj_t BgL_topz00_4475, obj_t BgL_iz00_2176)
	{
		{	/* Lalr/lalr.scm 822 */
			{	/* Lalr/lalr.scm 822 */
				obj_t BgL_auxz00_4480;

				BgL_auxz00_4480 =
					ADDFX(BINT(1L),
					((obj_t) ((obj_t) BGL_UNSAFE_CELL_REF(BgL_topz00_4475))));
				BGL_UNSAFE_CELL_SET(BgL_topz00_4475, BgL_auxz00_4480);
			}
			{	/* Lalr/lalr.scm 823 */
				long BgL_kz00_3885;

				BgL_kz00_3885 =
					(long) CINT(((obj_t) ((obj_t) BGL_UNSAFE_CELL_REF(BgL_topz00_4475))));
				VECTOR_SET(BgL_verticesz00_4476, BgL_kz00_3885, BgL_iz00_2176);
			}
			{	/* Lalr/lalr.scm 824 */
				long BgL_heightz00_2178;

				BgL_heightz00_2178 =
					(long) CINT(((obj_t) ((obj_t) BGL_UNSAFE_CELL_REF(BgL_topz00_4475))));
				VECTOR_SET(BgL_indexz00_4477,
					(long) CINT(BgL_iz00_2176), BINT(BgL_heightz00_2178));
				{	/* Lalr/lalr.scm 826 */
					obj_t BgL_rpz00_2179;

					{	/* Lalr/lalr.scm 826 */
						long BgL_kz00_3889;

						BgL_kz00_3889 = (long) CINT(BgL_iz00_2176);
						BgL_rpz00_2179 = VECTOR_REF(((obj_t) BgL_rz00_4478), BgL_kz00_3889);
					}
					if (PAIRP(BgL_rpz00_2179))
						{
							obj_t BgL_rp2z00_2182;

							BgL_rp2z00_2182 = BgL_rpz00_2179;
						BgL_zc3z04anonymousza31921ze3z87_2183:
							if (PAIRP(BgL_rp2z00_2182))
								{	/* Lalr/lalr.scm 830 */
									obj_t BgL_jz00_2185;

									BgL_jz00_2185 = CAR(BgL_rp2z00_2182);
									{	/* Lalr/lalr.scm 831 */
										bool_t BgL_test2740z00_6049;

										{	/* Lalr/lalr.scm 831 */
											long BgL_b1245z00_2188;

											{	/* Lalr/lalr.scm 831 */
												long BgL_kz00_3892;

												BgL_kz00_3892 = (long) CINT(BgL_jz00_2185);
												BgL_b1245z00_2188 =
													(long) CINT(VECTOR_REF(BgL_indexz00_4477,
														BgL_kz00_3892));
											}
											BgL_test2740z00_6049 = (0L == BgL_b1245z00_2188);
										}
										if (BgL_test2740z00_6049)
											{	/* Lalr/lalr.scm 831 */
												BGl_traverseze70ze7zz__lalr_expandz00
													(BgL_infinityz00_4479, BgL_rz00_4478,
													BgL_indexz00_4477, BgL_verticesz00_4476,
													BgL_topz00_4475, BgL_jz00_2185);
											}
										else
											{	/* Lalr/lalr.scm 831 */
												((bool_t) 0);
											}
									}
									{	/* Lalr/lalr.scm 833 */
										bool_t BgL_test2741z00_6055;

										{	/* Lalr/lalr.scm 833 */
											long BgL_arg1928z00_2193;
											long BgL_arg1931z00_2194;

											{	/* Lalr/lalr.scm 833 */
												long BgL_kz00_3895;

												BgL_kz00_3895 = (long) CINT(BgL_iz00_2176);
												BgL_arg1928z00_2193 =
													(long) CINT(VECTOR_REF(BgL_indexz00_4477,
														BgL_kz00_3895));
											}
											{	/* Lalr/lalr.scm 834 */
												long BgL_kz00_3897;

												BgL_kz00_3897 = (long) CINT(BgL_jz00_2185);
												BgL_arg1931z00_2194 =
													(long) CINT(VECTOR_REF(BgL_indexz00_4477,
														BgL_kz00_3897));
											}
											BgL_test2741z00_6055 =
												(BgL_arg1928z00_2193 > BgL_arg1931z00_2194);
										}
										if (BgL_test2741z00_6055)
											{	/* Lalr/lalr.scm 835 */
												long BgL_arg1927z00_2192;

												{	/* Lalr/lalr.scm 835 */
													long BgL_kz00_3901;

													BgL_kz00_3901 = (long) CINT(BgL_jz00_2185);
													BgL_arg1927z00_2192 =
														(long) CINT(VECTOR_REF(BgL_indexz00_4477,
															BgL_kz00_3901));
												}
												VECTOR_SET(BgL_indexz00_4477,
													(long) CINT(BgL_iz00_2176),
													BINT(BgL_arg1927z00_2192));
											}
										else
											{	/* Lalr/lalr.scm 833 */
												BFALSE;
											}
									}
									{	/* Lalr/lalr.scm 836 */
										obj_t BgL_fzd2izd2_2195;
										obj_t BgL_fzd2jzd2_2196;

										BgL_fzd2izd2_2195 =
											VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
											(long) CINT(BgL_iz00_2176));
										BgL_fzd2jzd2_2196 =
											VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
											(long) CINT(BgL_jz00_2185));
										{
											obj_t BgL_iz00_2198;

											BgL_iz00_2198 = BINT(0L);
										BgL_zc3z04anonymousza31932ze3z87_2199:
											{	/* Lalr/lalr.scm 838 */
												bool_t BgL_test2742z00_6073;

												{	/* Lalr/lalr.scm 838 */
													bool_t BgL_test2743z00_6074;

													if (INTEGERP(BgL_iz00_2198))
														{	/* Lalr/lalr.scm 838 */
															BgL_test2743z00_6074 =
																INTEGERP
																(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
														}
													else
														{	/* Lalr/lalr.scm 838 */
															BgL_test2743z00_6074 = ((bool_t) 0);
														}
													if (BgL_test2743z00_6074)
														{	/* Lalr/lalr.scm 838 */
															BgL_test2742z00_6073 =
																(
																(long) CINT(BgL_iz00_2198) ==
																(long)
																CINT
																(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00));
														}
													else
														{	/* Lalr/lalr.scm 838 */
															BgL_test2742z00_6073 =
																BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_iz00_2198,
																BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
														}
												}
												if (BgL_test2742z00_6073)
													{	/* Lalr/lalr.scm 838 */
														((bool_t) 0);
													}
												else
													{	/* Lalr/lalr.scm 838 */
														{	/* Lalr/lalr.scm 838 */
															long BgL_arg1935z00_2202;

															{	/* Lalr/lalr.scm 838 */
																obj_t BgL_arg1936z00_2203;
																obj_t BgL_arg1937z00_2204;

																{	/* Lalr/lalr.scm 838 */
																	long BgL_kz00_3911;

																	BgL_kz00_3911 = (long) CINT(BgL_iz00_2198);
																	BgL_arg1936z00_2203 =
																		VECTOR_REF(
																		((obj_t) BgL_fzd2izd2_2195), BgL_kz00_3911);
																}
																{	/* Lalr/lalr.scm 838 */
																	long BgL_kz00_3913;

																	BgL_kz00_3913 = (long) CINT(BgL_iz00_2198);
																	BgL_arg1937z00_2204 =
																		VECTOR_REF(
																		((obj_t) BgL_fzd2jzd2_2196), BgL_kz00_3913);
																}
																BgL_arg1935z00_2202 =
																	(
																	(long) CINT(BgL_arg1936z00_2203) |
																	(long) CINT(BgL_arg1937z00_2204));
															}
															{	/* Lalr/lalr.scm 838 */
																long BgL_kz00_3917;

																BgL_kz00_3917 = (long) CINT(BgL_iz00_2198);
																VECTOR_SET(
																	((obj_t) BgL_fzd2izd2_2195), BgL_kz00_3917,
																	BINT(BgL_arg1935z00_2202));
														}}
														{	/* Lalr/lalr.scm 838 */
															obj_t BgL_arg1938z00_2205;

															if (INTEGERP(BgL_iz00_2198))
																{	/* Lalr/lalr.scm 838 */
																	obj_t BgL_tmpz00_3920;

																	BgL_tmpz00_3920 = BINT(0L);
																	{	/* Lalr/lalr.scm 838 */
																		bool_t BgL_test2746z00_6098;

																		{	/* Lalr/lalr.scm 838 */
																			obj_t BgL_tmpz00_6099;

																			BgL_tmpz00_6099 = BINT(1L);
																			BgL_test2746z00_6098 =
																				BGL_ADDFX_OV(BgL_iz00_2198,
																				BgL_tmpz00_6099, BgL_tmpz00_3920);
																		}
																		if (BgL_test2746z00_6098)
																			{	/* Lalr/lalr.scm 838 */
																				BgL_arg1938z00_2205 =
																					bgl_bignum_add(bgl_long_to_bignum(
																						(long) CINT(BgL_iz00_2198)),
																					bgl_long_to_bignum(1L));
																			}
																		else
																			{	/* Lalr/lalr.scm 838 */
																				BgL_arg1938z00_2205 = BgL_tmpz00_3920;
																			}
																	}
																}
															else
																{	/* Lalr/lalr.scm 838 */
																	BgL_arg1938z00_2205 =
																		BGl_2zb2zb2zz__r4_numbers_6_5z00
																		(BgL_iz00_2198, BINT(1L));
																}
															{
																obj_t BgL_iz00_6108;

																BgL_iz00_6108 = BgL_arg1938z00_2205;
																BgL_iz00_2198 = BgL_iz00_6108;
																goto BgL_zc3z04anonymousza31932ze3z87_2199;
															}
														}
													}
											}
										}
									}
									{
										obj_t BgL_rp2z00_6110;

										BgL_rp2z00_6110 = CDR(BgL_rp2z00_2182);
										BgL_rp2z00_2182 = BgL_rp2z00_6110;
										goto BgL_zc3z04anonymousza31921ze3z87_2183;
									}
								}
							else
								{	/* Lalr/lalr.scm 829 */
									((bool_t) 0);
								}
						}
					else
						{	/* Lalr/lalr.scm 827 */
							((bool_t) 0);
						}
					{	/* Lalr/lalr.scm 840 */
						bool_t BgL_test2747z00_6112;

						{	/* Lalr/lalr.scm 840 */
							long BgL_a1246z00_2234;

							{	/* Lalr/lalr.scm 840 */
								long BgL_kz00_3930;

								BgL_kz00_3930 = (long) CINT(BgL_iz00_2176);
								BgL_a1246z00_2234 =
									(long) CINT(VECTOR_REF(BgL_indexz00_4477, BgL_kz00_3930));
							}
							BgL_test2747z00_6112 = (BgL_a1246z00_2234 == BgL_heightz00_2178);
						}
						if (BgL_test2747z00_6112)
							{

							BgL_zc3z04anonymousza31942ze3z87_2214:
								{	/* Lalr/lalr.scm 842 */
									obj_t BgL_jz00_2215;

									{	/* Lalr/lalr.scm 842 */
										long BgL_kz00_3934;

										BgL_kz00_3934 =
											(long) CINT(
											((obj_t) ((obj_t) BGL_UNSAFE_CELL_REF(BgL_topz00_4475))));
										BgL_jz00_2215 =
											VECTOR_REF(BgL_verticesz00_4476, BgL_kz00_3934);
									}
									{	/* Lalr/lalr.scm 843 */
										obj_t BgL_auxz00_4481;

										BgL_auxz00_4481 =
											SUBFX(
											((obj_t)
												((obj_t) BGL_UNSAFE_CELL_REF(BgL_topz00_4475))),
											BINT(1L));
										BGL_UNSAFE_CELL_SET(BgL_topz00_4475, BgL_auxz00_4481);
									}
									VECTOR_SET(BgL_indexz00_4477,
										(long) CINT(BgL_jz00_2215), BINT(BgL_infinityz00_4479));
									{	/* Lalr/lalr.scm 845 */
										bool_t BgL_test2748z00_6126;

										{	/* Lalr/lalr.scm 845 */
											bool_t BgL_test2749z00_6127;

											if (INTEGERP(BgL_iz00_2176))
												{	/* Lalr/lalr.scm 845 */
													BgL_test2749z00_6127 = INTEGERP(BgL_jz00_2215);
												}
											else
												{	/* Lalr/lalr.scm 845 */
													BgL_test2749z00_6127 = ((bool_t) 0);
												}
											if (BgL_test2749z00_6127)
												{	/* Lalr/lalr.scm 845 */
													BgL_test2748z00_6126 =
														(
														(long) CINT(BgL_iz00_2176) ==
														(long) CINT(BgL_jz00_2215));
												}
											else
												{	/* Lalr/lalr.scm 845 */
													BgL_test2748z00_6126 =
														BGl_2zd3zd3zz__r4_numbers_6_5z00(BgL_iz00_2176,
														BgL_jz00_2215);
												}
										}
										if (BgL_test2748z00_6126)
											{	/* Lalr/lalr.scm 845 */
												return ((bool_t) 0);
											}
										else
											{	/* Lalr/lalr.scm 845 */
												{
													obj_t BgL_iz00_2219;

													BgL_iz00_2219 = BINT(0L);
												BgL_zc3z04anonymousza31945ze3z87_2220:
													{	/* Lalr/lalr.scm 847 */
														bool_t BgL_test2751z00_6135;

														{	/* Lalr/lalr.scm 847 */
															bool_t BgL_test2752z00_6136;

															if (INTEGERP(BgL_iz00_2219))
																{	/* Lalr/lalr.scm 847 */
																	BgL_test2752z00_6136 =
																		INTEGERP
																		(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
																}
															else
																{	/* Lalr/lalr.scm 847 */
																	BgL_test2752z00_6136 = ((bool_t) 0);
																}
															if (BgL_test2752z00_6136)
																{	/* Lalr/lalr.scm 847 */
																	BgL_test2751z00_6135 =
																		(
																		(long) CINT(BgL_iz00_2219) ==
																		(long)
																		CINT
																		(BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00));
																}
															else
																{	/* Lalr/lalr.scm 847 */
																	BgL_test2751z00_6135 =
																		BGl_2zd3zd3zz__r4_numbers_6_5z00
																		(BgL_iz00_2219,
																		BGl_tokenzd2setzd2siza7eza7zz__lalr_globalz00);
																}
														}
														if (BgL_test2751z00_6135)
															{	/* Lalr/lalr.scm 847 */
																((bool_t) 0);
															}
														else
															{	/* Lalr/lalr.scm 847 */
																{	/* Lalr/lalr.scm 847 */
																	obj_t BgL_arg1948z00_2223;
																	long BgL_arg1949z00_2224;

																	BgL_arg1948z00_2223 =
																		VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
																		(long) CINT(BgL_iz00_2219));
																	{	/* Lalr/lalr.scm 847 */
																		obj_t BgL_arg1950z00_2225;
																		obj_t BgL_arg1953z00_2226;

																		{	/* Lalr/lalr.scm 847 */
																			obj_t BgL_arg1954z00_2227;

																			BgL_arg1954z00_2227 =
																				VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
																				(long) CINT(BgL_iz00_2219));
																			{	/* Lalr/lalr.scm 847 */
																				long BgL_kz00_3947;

																				BgL_kz00_3947 =
																					(long) CINT(BgL_iz00_2219);
																				BgL_arg1950z00_2225 =
																					VECTOR_REF(
																					((obj_t) BgL_arg1954z00_2227),
																					BgL_kz00_3947);
																		}}
																		{	/* Lalr/lalr.scm 848 */
																			obj_t BgL_arg1955z00_2228;

																			BgL_arg1955z00_2228 =
																				VECTOR_REF(BGl_Fz00zz__lalr_globalz00,
																				(long) CINT(BgL_jz00_2215));
																			{	/* Lalr/lalr.scm 847 */
																				long BgL_kz00_3951;

																				BgL_kz00_3951 =
																					(long) CINT(BgL_iz00_2219);
																				BgL_arg1953z00_2226 =
																					VECTOR_REF(
																					((obj_t) BgL_arg1955z00_2228),
																					BgL_kz00_3951);
																		}}
																		BgL_arg1949z00_2224 =
																			(
																			(long) CINT(BgL_arg1950z00_2225) |
																			(long) CINT(BgL_arg1953z00_2226));
																	}
																	{	/* Lalr/lalr.scm 847 */
																		long BgL_kz00_3955;

																		BgL_kz00_3955 = (long) CINT(BgL_iz00_2219);
																		VECTOR_SET(
																			((obj_t) BgL_arg1948z00_2223),
																			BgL_kz00_3955, BINT(BgL_arg1949z00_2224));
																}}
																{	/* Lalr/lalr.scm 847 */
																	obj_t BgL_arg1956z00_2229;

																	if (INTEGERP(BgL_iz00_2219))
																		{	/* Lalr/lalr.scm 847 */
																			obj_t BgL_tmpz00_3958;

																			BgL_tmpz00_3958 = BINT(0L);
																			{	/* Lalr/lalr.scm 847 */
																				bool_t BgL_test2755z00_6166;

																				{	/* Lalr/lalr.scm 847 */
																					obj_t BgL_tmpz00_6167;

																					BgL_tmpz00_6167 = BINT(1L);
																					BgL_test2755z00_6166 =
																						BGL_ADDFX_OV(BgL_iz00_2219,
																						BgL_tmpz00_6167, BgL_tmpz00_3958);
																				}
																				if (BgL_test2755z00_6166)
																					{	/* Lalr/lalr.scm 847 */
																						BgL_arg1956z00_2229 =
																							bgl_bignum_add(bgl_long_to_bignum(
																								(long) CINT(BgL_iz00_2219)),
																							bgl_long_to_bignum(1L));
																					}
																				else
																					{	/* Lalr/lalr.scm 847 */
																						BgL_arg1956z00_2229 =
																							BgL_tmpz00_3958;
																					}
																			}
																		}
																	else
																		{	/* Lalr/lalr.scm 847 */
																			BgL_arg1956z00_2229 =
																				BGl_2zb2zb2zz__r4_numbers_6_5z00
																				(BgL_iz00_2219, BINT(1L));
																		}
																	{
																		obj_t BgL_iz00_6176;

																		BgL_iz00_6176 = BgL_arg1956z00_2229;
																		BgL_iz00_2219 = BgL_iz00_6176;
																		goto BgL_zc3z04anonymousza31945ze3z87_2220;
																	}
																}
															}
													}
												}
												goto BgL_zc3z04anonymousza31942ze3z87_2214;
											}
									}
								}
							}
						else
							{	/* Lalr/lalr.scm 840 */
								return ((bool_t) 0);
							}
					}
				}
			}
		}

	}



/* build-rule */
	obj_t BGl_buildzd2rulezd2zz__lalr_expandz00(long BgL_nz00_23)
	{
		{	/* Lalr/lalr.scm 863 */
			{	/* Lalr/lalr.scm 865 */
				obj_t BgL_arg1960z00_2239;
				obj_t BgL_arg1961z00_2240;

				{	/* Lalr/lalr.scm 865 */
					obj_t BgL_arg1962z00_2241;

					BgL_arg1962z00_2241 =
						VECTOR_REF(BGl_rlhsz00zz__lalr_globalz00, BgL_nz00_23);
					BgL_arg1960z00_2239 =
						VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
						(long) CINT(BgL_arg1962z00_2241));
				}
				{	/* Lalr/lalr.scm 868 */
					obj_t BgL_arg1963z00_2242;

					BgL_arg1963z00_2242 =
						BGl_loopze70ze7zz__lalr_expandz00(VECTOR_REF
						(BGl_rrhsz00zz__lalr_globalz00, BgL_nz00_23));
					BgL_arg1961z00_2240 =
						MAKE_YOUNG_PAIR(BGl_symbol2515z00zz__lalr_expandz00,
						BgL_arg1963z00_2242);
				}
				return MAKE_YOUNG_PAIR(BgL_arg1960z00_2239, BgL_arg1961z00_2240);
			}
		}

	}



/* loop~0 */
	obj_t BGl_loopze70ze7zz__lalr_expandz00(obj_t BgL_posz00_2245)
	{
		{	/* Lalr/lalr.scm 868 */
			{	/* Lalr/lalr.scm 869 */
				obj_t BgL_xz00_2247;

				BgL_xz00_2247 =
					VECTOR_REF(BGl_ritemz00zz__lalr_globalz00,
					(long) CINT(BgL_posz00_2245));
				if (((long) CINT(BgL_xz00_2247) < 0L))
					{	/* Lalr/lalr.scm 870 */
						return BNIL;
					}
				else
					{	/* Lalr/lalr.scm 872 */
						obj_t BgL_arg1966z00_2249;
						obj_t BgL_arg1967z00_2250;

						BgL_arg1966z00_2249 =
							VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
							(long) CINT(BgL_xz00_2247));
						{	/* Lalr/lalr.scm 873 */
							long BgL_arg1968z00_2251;

							BgL_arg1968z00_2251 = ((long) CINT(BgL_posz00_2245) + 1L);
							BgL_arg1967z00_2250 =
								BGl_loopze70ze7zz__lalr_expandz00(BINT(BgL_arg1968z00_2251));
						}
						return MAKE_YOUNG_PAIR(BgL_arg1966z00_2249, BgL_arg1967z00_2250);
					}
			}
		}

	}



/* build-tables */
	obj_t BGl_buildzd2tableszd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 880 */
			{
				long BgL_statez00_2398;
				obj_t BgL_actionz00_2399;

				BGl_actionzd2tablezd2zz__lalr_globalz00 =
					make_vector((long) CINT(BGl_nstatesz00zz__lalr_globalz00), BNIL);
				{
					long BgL_iz00_2260;

					BgL_iz00_2260 = 0L;
				BgL_zc3z04anonymousza31973ze3z87_2261:
					{	/* Lalr/lalr.scm 956 */
						bool_t BgL_test2757z00_6199;

						if (INTEGERP(BGl_nstatesz00zz__lalr_globalz00))
							{	/* Lalr/lalr.scm 957 */
								BgL_test2757z00_6199 =
									(BgL_iz00_2260 ==
									(long) CINT(BGl_nstatesz00zz__lalr_globalz00));
							}
						else
							{	/* Lalr/lalr.scm 957 */
								BgL_test2757z00_6199 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2260),
									BGl_nstatesz00zz__lalr_globalz00);
							}
						if (BgL_test2757z00_6199)
							{	/* Lalr/lalr.scm 956 */
								((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 956 */
								{	/* Lalr/lalr.scm 958 */
									obj_t BgL_redz00_2264;

									BgL_redz00_2264 =
										VECTOR_REF(BGl_reductionzd2tablezd2zz__lalr_globalz00,
										BgL_iz00_2260);
									{	/* Lalr/lalr.scm 959 */
										bool_t BgL_test2759z00_6207;

										if (CBOOL(BgL_redz00_2264))
											{	/* Lalr/lalr.scm 959 */
												obj_t BgL_arg2003z00_2308;

												BgL_arg2003z00_2308 =
													VECTOR_REF(((obj_t) BgL_redz00_2264), 1L);
												BgL_test2759z00_6207 =
													((long) CINT(BgL_arg2003z00_2308) >= 1L);
											}
										else
											{	/* Lalr/lalr.scm 959 */
												BgL_test2759z00_6207 = ((bool_t) 0);
											}
										if (BgL_test2759z00_6207)
											{	/* Lalr/lalr.scm 960 */
												bool_t BgL_test2761z00_6214;

												{	/* Lalr/lalr.scm 960 */
													bool_t BgL_test2762z00_6215;

													{	/* Lalr/lalr.scm 960 */
														obj_t BgL_a1248z00_2307;

														BgL_a1248z00_2307 =
															VECTOR_REF(((obj_t) BgL_redz00_2264), 1L);
														if (INTEGERP(BgL_a1248z00_2307))
															{	/* Lalr/lalr.scm 960 */
																BgL_test2762z00_6215 =
																	((long) CINT(BgL_a1248z00_2307) == 1L);
															}
														else
															{	/* Lalr/lalr.scm 960 */
																BgL_test2762z00_6215 =
																	BGl_2zd3zd3zz__r4_numbers_6_5z00
																	(BgL_a1248z00_2307, BINT(1L));
															}
													}
													if (BgL_test2762z00_6215)
														{	/* Lalr/lalr.scm 960 */
															obj_t BgL_vectorz00_4089;

															BgL_vectorz00_4089 =
																BGl_consistentz00zz__lalr_globalz00;
															BgL_test2761z00_6214 =
																CBOOL(VECTOR_REF(BgL_vectorz00_4089,
																	BgL_iz00_2260));
														}
													else
														{	/* Lalr/lalr.scm 960 */
															BgL_test2761z00_6214 = ((bool_t) 0);
														}
												}
												if (BgL_test2761z00_6214)
													{	/* Lalr/lalr.scm 965 */
														obj_t BgL_arg1981z00_2271;

														{	/* Lalr/lalr.scm 965 */
															obj_t BgL_arg1982z00_2272;

															{	/* Lalr/lalr.scm 965 */
																obj_t BgL_arg1984z00_2274;

																BgL_arg1984z00_2274 =
																	VECTOR_REF(((obj_t) BgL_redz00_2264), 2L);
																BgL_arg1982z00_2272 =
																	CAR(((obj_t) BgL_arg1984z00_2274));
															}
															BgL_arg1981z00_2271 =
																BGl_zd2zd2zz__r4_numbers_6_5z00
																(BgL_arg1982z00_2272, BNIL);
														}
														BgL_statez00_2398 = BgL_iz00_2260;
														BgL_actionz00_2399 = BgL_arg1981z00_2271;
														{
															obj_t BgL_iz00_2402;

															BgL_iz00_2402 = BINT(1L);
														BgL_zc3z04anonymousza32075ze3z87_2403:
															{	/* Lalr/lalr.scm 950 */
																bool_t BgL_test2764z00_6231;

																{	/* Lalr/lalr.scm 951 */
																	bool_t BgL_test2765z00_6232;

																	if (INTEGERP(BgL_iz00_2402))
																		{	/* Lalr/lalr.scm 951 */
																			BgL_test2765z00_6232 =
																				INTEGERP
																				(BGl_ntermsz00zz__lalr_globalz00);
																		}
																	else
																		{	/* Lalr/lalr.scm 951 */
																			BgL_test2765z00_6232 = ((bool_t) 0);
																		}
																	if (BgL_test2765z00_6232)
																		{	/* Lalr/lalr.scm 951 */
																			BgL_test2764z00_6231 =
																				(
																				(long) CINT(BgL_iz00_2402) ==
																				(long)
																				CINT(BGl_ntermsz00zz__lalr_globalz00));
																		}
																	else
																		{	/* Lalr/lalr.scm 951 */
																			BgL_test2764z00_6231 =
																				BGl_2zd3zd3zz__r4_numbers_6_5z00
																				(BgL_iz00_2402,
																				BGl_ntermsz00zz__lalr_globalz00);
																		}
																}
																if (BgL_test2764z00_6231)
																	{	/* Lalr/lalr.scm 950 */
																		((bool_t) 0);
																	}
																else
																	{	/* Lalr/lalr.scm 950 */
																		BGl_addzd2actionze70z35zz__lalr_expandz00
																			(BINT(BgL_statez00_2398), BgL_iz00_2402,
																			BgL_actionz00_2399);
																		{	/* Lalr/lalr.scm 950 */
																			obj_t BgL_arg2078z00_2406;

																			if (INTEGERP(BgL_iz00_2402))
																				{	/* Lalr/lalr.scm 950 */
																					obj_t BgL_tmpz00_4073;

																					BgL_tmpz00_4073 = BINT(0L);
																					{	/* Lalr/lalr.scm 950 */
																						bool_t BgL_test2768z00_6245;

																						{	/* Lalr/lalr.scm 950 */
																							obj_t BgL_tmpz00_6246;

																							BgL_tmpz00_6246 = BINT(1L);
																							BgL_test2768z00_6245 =
																								BGL_ADDFX_OV(BgL_iz00_2402,
																								BgL_tmpz00_6246,
																								BgL_tmpz00_4073);
																						}
																						if (BgL_test2768z00_6245)
																							{	/* Lalr/lalr.scm 950 */
																								BgL_arg2078z00_2406 =
																									bgl_bignum_add
																									(bgl_long_to_bignum((long)
																										CINT(BgL_iz00_2402)),
																									bgl_long_to_bignum(1L));
																							}
																						else
																							{	/* Lalr/lalr.scm 950 */
																								BgL_arg2078z00_2406 =
																									BgL_tmpz00_4073;
																							}
																					}
																				}
																			else
																				{	/* Lalr/lalr.scm 950 */
																					BgL_arg2078z00_2406 =
																						BGl_2zb2zb2zz__r4_numbers_6_5z00
																						(BgL_iz00_2402, BINT(1L));
																				}
																			{
																				obj_t BgL_iz00_6255;

																				BgL_iz00_6255 = BgL_arg2078z00_2406;
																				BgL_iz00_2402 = BgL_iz00_6255;
																				goto
																					BgL_zc3z04anonymousza32075ze3z87_2403;
																			}
																		}
																	}
															}
														}
													}
												else
													{	/* Lalr/lalr.scm 966 */
														obj_t BgL_kz00_2275;

														BgL_kz00_2275 =
															VECTOR_REF(BGl_lookaheadsz00zz__lalr_globalz00,
															(BgL_iz00_2260 + 1L));
														{	/* Lalr/lalr.scm 967 */
															obj_t BgL_g1175z00_2276;

															BgL_g1175z00_2276 =
																VECTOR_REF(BGl_lookaheadsz00zz__lalr_globalz00,
																BgL_iz00_2260);
															{
																obj_t BgL_jz00_2278;

																BgL_jz00_2278 = BgL_g1175z00_2276;
															BgL_zc3z04anonymousza31985ze3z87_2279:
																if (
																	((long) CINT(BgL_jz00_2278) <
																		(long) CINT(BgL_kz00_2275)))
																	{	/* Lalr/lalr.scm 969 */
																		long BgL_rulez00_2281;
																		obj_t BgL_lavz00_2282;

																		{	/* Lalr/lalr.scm 969 */
																			obj_t BgL_arg2000z00_2303;

																			BgL_arg2000z00_2303 =
																				VECTOR_REF
																				(BGl_LArulenoz00zz__lalr_globalz00,
																				(long) CINT(BgL_jz00_2278));
																			BgL_rulez00_2281 =
																				NEG((long) CINT(BgL_arg2000z00_2303));
																		}
																		BgL_lavz00_2282 =
																			VECTOR_REF(BGl_LAz00zz__lalr_globalz00,
																			(long) CINT(BgL_jz00_2278));
																		{	/* Lalr/lalr.scm 971 */
																			obj_t BgL_g1176z00_2283;

																			BgL_g1176z00_2283 =
																				VECTOR_REF(
																				((obj_t) BgL_lavz00_2282), 0L);
																			{
																				long BgL_tokenz00_2285;
																				obj_t BgL_xz00_2286;
																				long BgL_yz00_2287;
																				long BgL_za7za7_2288;

																				BgL_tokenz00_2285 = 0L;
																				BgL_xz00_2286 = BgL_g1176z00_2283;
																				BgL_yz00_2287 = 1L;
																				BgL_za7za7_2288 = 0L;
																			BgL_zc3z04anonymousza31987ze3z87_2289:
																				if (
																					(BgL_tokenz00_2285 <
																						(long)
																						CINT
																						(BGl_ntermsz00zz__lalr_globalz00)))
																					{	/* Lalr/lalr.scm 972 */
																						{	/* Lalr/lalr.scm 974 */
																							long BgL_inzd2lazd2setzf3zf3_2291;

																							BgL_inzd2lazd2setzf3zf3_2291 =
																								BGl_modulofxz00zz__r4_numbers_6_5_fixnumz00
																								((long) CINT(BgL_xz00_2286),
																								2L);
																							if ((BgL_inzd2lazd2setzf3zf3_2291
																									== 1L))
																								{	/* Lalr/lalr.scm 975 */
																									BGl_addzd2actionze70z35zz__lalr_expandz00
																										(BINT(BgL_iz00_2260),
																										BINT(BgL_tokenz00_2285),
																										BINT(BgL_rulez00_2281));
																								}
																							else
																								{	/* Lalr/lalr.scm 975 */
																									BFALSE;
																								}
																						}
																						if ((BgL_yz00_2287 == 28L))
																							{	/* Lalr/lalr.scm 978 */
																								long BgL_arg1991z00_2294;
																								obj_t BgL_arg1992z00_2295;
																								long BgL_arg1993z00_2296;

																								BgL_arg1991z00_2294 =
																									(BgL_tokenz00_2285 + 1L);
																								{	/* Lalr/lalr.scm 979 */
																									long BgL_arg1994z00_2297;

																									BgL_arg1994z00_2297 =
																										(BgL_za7za7_2288 + 1L);
																									BgL_arg1992z00_2295 =
																										VECTOR_REF(
																										((obj_t) BgL_lavz00_2282),
																										BgL_arg1994z00_2297);
																								}
																								BgL_arg1993z00_2296 =
																									(BgL_za7za7_2288 + 1L);
																								{
																									long BgL_za7za7_6293;
																									long BgL_yz00_6292;
																									obj_t BgL_xz00_6291;
																									long BgL_tokenz00_6290;

																									BgL_tokenz00_6290 =
																										BgL_arg1991z00_2294;
																									BgL_xz00_6291 =
																										BgL_arg1992z00_2295;
																									BgL_yz00_6292 = 1L;
																									BgL_za7za7_6293 =
																										BgL_arg1993z00_2296;
																									BgL_za7za7_2288 =
																										BgL_za7za7_6293;
																									BgL_yz00_2287 = BgL_yz00_6292;
																									BgL_xz00_2286 = BgL_xz00_6291;
																									BgL_tokenz00_2285 =
																										BgL_tokenz00_6290;
																									goto
																										BgL_zc3z04anonymousza31987ze3z87_2289;
																								}
																							}
																						else
																							{	/* Lalr/lalr.scm 982 */
																								long BgL_arg1995z00_2298;
																								long BgL_arg1996z00_2299;
																								long BgL_arg1998z00_2300;

																								BgL_arg1995z00_2298 =
																									(BgL_tokenz00_2285 + 1L);
																								{	/* Lalr/lalr.scm 982 */
																									long BgL_tmpz00_6295;

																									BgL_tmpz00_6295 =
																										(long) CINT(BgL_xz00_2286);
																									BgL_arg1996z00_2299 =
																										(BgL_tmpz00_6295 / 2L);
																								}
																								BgL_arg1998z00_2300 =
																									(BgL_yz00_2287 + 1L);
																								{
																									long BgL_yz00_6302;
																									obj_t BgL_xz00_6300;
																									long BgL_tokenz00_6299;

																									BgL_tokenz00_6299 =
																										BgL_arg1995z00_2298;
																									BgL_xz00_6300 =
																										BINT(BgL_arg1996z00_2299);
																									BgL_yz00_6302 =
																										BgL_arg1998z00_2300;
																									BgL_yz00_2287 = BgL_yz00_6302;
																									BgL_xz00_2286 = BgL_xz00_6300;
																									BgL_tokenz00_2285 =
																										BgL_tokenz00_6299;
																									goto
																										BgL_zc3z04anonymousza31987ze3z87_2289;
																								}
																							}
																					}
																				else
																					{	/* Lalr/lalr.scm 972 */
																						((bool_t) 0);
																					}
																			}
																		}
																		{	/* Lalr/lalr.scm 983 */
																			long BgL_arg1999z00_2302;

																			BgL_arg1999z00_2302 =
																				((long) CINT(BgL_jz00_2278) + 1L);
																			{
																				obj_t BgL_jz00_6305;

																				BgL_jz00_6305 =
																					BINT(BgL_arg1999z00_2302);
																				BgL_jz00_2278 = BgL_jz00_6305;
																				goto
																					BgL_zc3z04anonymousza31985ze3z87_2279;
																			}
																		}
																	}
																else
																	{	/* Lalr/lalr.scm 968 */
																		((bool_t) 0);
																	}
															}
														}
													}
											}
										else
											{	/* Lalr/lalr.scm 959 */
												((bool_t) 0);
											}
									}
								}
								{	/* Lalr/lalr.scm 985 */
									obj_t BgL_shiftpz00_2309;

									BgL_shiftpz00_2309 =
										VECTOR_REF(BGl_shiftzd2tablezd2zz__lalr_globalz00,
										BgL_iz00_2260);
									if (CBOOL(BgL_shiftpz00_2309))
										{	/* Lalr/lalr.scm 987 */
											obj_t BgL_g1177z00_2310;

											BgL_g1177z00_2310 =
												VECTOR_REF(((obj_t) BgL_shiftpz00_2309), 2L);
											{
												obj_t BgL_kz00_2312;

												BgL_kz00_2312 = BgL_g1177z00_2310;
											BgL_zc3z04anonymousza32004ze3z87_2313:
												if (PAIRP(BgL_kz00_2312))
													{	/* Lalr/lalr.scm 989 */
														obj_t BgL_statez00_2315;

														BgL_statez00_2315 = CAR(BgL_kz00_2312);
														{	/* Lalr/lalr.scm 989 */
															obj_t BgL_symbolz00_2316;

															BgL_symbolz00_2316 =
																VECTOR_REF
																(BGl_acceszd2symbolzd2zz__lalr_globalz00,
																(long) CINT(BgL_statez00_2315));
															{	/* Lalr/lalr.scm 990 */

																if (
																	((long) CINT(BgL_symbolz00_2316) >=
																		(long)
																		CINT(BGl_nvarsz00zz__lalr_globalz00)))
																	{	/* Lalr/lalr.scm 992 */
																		long BgL_arg2007z00_2318;

																		BgL_arg2007z00_2318 =
																			(
																			(long) CINT(BgL_symbolz00_2316) -
																			(long)
																			CINT(BGl_nvarsz00zz__lalr_globalz00));
																		BGl_addzd2actionze70z35zz__lalr_expandz00
																			(BINT(BgL_iz00_2260),
																			BINT(BgL_arg2007z00_2318),
																			BgL_statez00_2315);
																	}
																else
																	{	/* Lalr/lalr.scm 991 */
																		BFALSE;
																	}
																{
																	obj_t BgL_kz00_6327;

																	BgL_kz00_6327 = CDR(BgL_kz00_2312);
																	BgL_kz00_2312 = BgL_kz00_6327;
																	goto BgL_zc3z04anonymousza32004ze3z87_2313;
																}
															}
														}
													}
												else
													{	/* Lalr/lalr.scm 988 */
														((bool_t) 0);
													}
											}
										}
									else
										{	/* Lalr/lalr.scm 986 */
											((bool_t) 0);
										}
								}
								{
									long BgL_iz00_6329;

									BgL_iz00_6329 = (BgL_iz00_2260 + 1L);
									BgL_iz00_2260 = BgL_iz00_6329;
									goto BgL_zc3z04anonymousza31973ze3z87_2261;
								}
							}
					}
				}
				return
					BGl_addzd2actionze70z35zz__lalr_expandz00
					(BGl_finalzd2statezd2zz__lalr_globalz00, BINT(0L),
					BGl_symbol2517z00zz__lalr_expandz00);
			}
		}

	}



/* add-action~0 */
	obj_t BGl_addzd2actionze70z35zz__lalr_expandz00(obj_t BgL_stz00_2324,
		obj_t BgL_symz00_2325, obj_t BgL_actz00_2326)
	{
		{	/* Lalr/lalr.scm 947 */
			{	/* Lalr/lalr.scm 883 */
				obj_t BgL_xz00_2328;

				BgL_xz00_2328 =
					VECTOR_REF(BGl_actionzd2tablezd2zz__lalr_globalz00,
					(long) CINT(BgL_stz00_2324));
				{	/* Lalr/lalr.scm 883 */
					obj_t BgL_yz00_2329;

					BgL_yz00_2329 =
						BGl_assvz00zz__r4_pairs_and_lists_6_3z00(BgL_symz00_2325,
						BgL_xz00_2328);
					{	/* Lalr/lalr.scm 884 */

						if (CBOOL(BgL_yz00_2329))
							{	/* Lalr/lalr.scm 886 */
								obj_t BgL_curzd2preczd2_2330;
								obj_t BgL_newzd2preczd2_2331;

								{	/* Lalr/lalr.scm 886 */
									obj_t BgL_arg2071z00_2395;

									BgL_arg2071z00_2395 = CDR(((obj_t) BgL_yz00_2329));
									if (((long) CINT(BgL_arg2071z00_2395) <= 0L))
										{	/* Lalr/lalr.scm 876 */
											BgL_curzd2preczd2_2330 =
												VECTOR_REF(BGl_rprecz00zz__lalr_globalz00,
												NEG((long) CINT(BgL_arg2071z00_2395)));
										}
									else
										{	/* Lalr/lalr.scm 878 */
											obj_t BgL_arg1971z00_4003;

											BgL_arg1971z00_4003 =
												VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
												((long) CINT(BgL_symz00_2325) +
													(long) CINT(BGl_nvarsz00zz__lalr_globalz00)));
											BgL_curzd2preczd2_2330 =
												BGl_getpropz00zz__r4_symbols_6_4z00(BgL_arg1971z00_4003,
												BGl_symbol2495z00zz__lalr_expandz00);
								}}
								if (((long) CINT(BgL_actz00_2326) <= 0L))
									{	/* Lalr/lalr.scm 876 */
										BgL_newzd2preczd2_2331 =
											VECTOR_REF(BGl_rprecz00zz__lalr_globalz00,
											NEG((long) CINT(BgL_actz00_2326)));
									}
								else
									{	/* Lalr/lalr.scm 878 */
										obj_t BgL_arg1971z00_4015;

										BgL_arg1971z00_4015 =
											VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
											((long) CINT(BgL_symz00_2325) +
												(long) CINT(BGl_nvarsz00zz__lalr_globalz00)));
										BgL_newzd2preczd2_2331 =
											BGl_getpropz00zz__r4_symbols_6_4z00(BgL_arg1971z00_4015,
											BGl_symbol2495z00zz__lalr_expandz00);
									}
								if (
									((long) CINT(BgL_actz00_2326) ==
										(long) CINT(CDR(((obj_t) BgL_yz00_2329)))))
									{	/* Lalr/lalr.scm 889 */
										return BTRUE;
									}
								else
									{	/* Lalr/lalr.scm 891 */
										bool_t BgL_test2780z00_6368;

										if (((long) CINT(CDR(((obj_t) BgL_yz00_2329))) <= 0L))
											{	/* Lalr/lalr.scm 891 */
												BgL_test2780z00_6368 =
													((long) CINT(BgL_actz00_2326) <= 0L);
											}
										else
											{	/* Lalr/lalr.scm 891 */
												BgL_test2780z00_6368 = ((bool_t) 0);
											}
										if (BgL_test2780z00_6368)
											{	/* Lalr/lalr.scm 891 */
												{	/* Lalr/lalr.scm 895 */
													obj_t BgL_arg2018z00_2338;
													obj_t BgL_arg2019z00_2339;
													obj_t BgL_arg2020z00_2340;

													BgL_arg2018z00_2338 =
														BGl_buildzd2rulezd2zz__lalr_expandz00(NEG(
															(long) CINT(BgL_actz00_2326)));
													{	/* Lalr/lalr.scm 896 */
														long BgL_arg2033z00_2351;

														BgL_arg2033z00_2351 =
															NEG((long) CINT(CDR(((obj_t) BgL_yz00_2329))));
														BgL_arg2019z00_2339 =
															BGl_buildzd2rulezd2zz__lalr_expandz00
															(BgL_arg2033z00_2351);
													}
													BgL_arg2020z00_2340 =
														VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
														((long) CINT(BGl_nvarsz00zz__lalr_globalz00) +
															(long) CINT(BgL_symz00_2325)));
													{	/* Lalr/lalr.scm 893 */
														obj_t BgL_list2021z00_2341;

														{	/* Lalr/lalr.scm 893 */
															obj_t BgL_arg2022z00_2342;

															{	/* Lalr/lalr.scm 893 */
																obj_t BgL_arg2023z00_2343;

																{	/* Lalr/lalr.scm 893 */
																	obj_t BgL_arg2025z00_2344;

																	{	/* Lalr/lalr.scm 893 */
																		obj_t BgL_arg2026z00_2345;

																		{	/* Lalr/lalr.scm 893 */
																			obj_t BgL_arg2028z00_2346;

																			{	/* Lalr/lalr.scm 893 */
																				obj_t BgL_arg2029z00_2347;

																				{	/* Lalr/lalr.scm 893 */
																					obj_t BgL_arg2030z00_2348;

																					{	/* Lalr/lalr.scm 893 */
																						obj_t BgL_arg2031z00_2349;

																						BgL_arg2031z00_2349 =
																							MAKE_YOUNG_PAIR
																							(BGl_string2519z00zz__lalr_expandz00,
																							BNIL);
																						BgL_arg2030z00_2348 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg2020z00_2340,
																							BgL_arg2031z00_2349);
																					}
																					BgL_arg2029z00_2347 =
																						MAKE_YOUNG_PAIR
																						(BGl_string2520z00zz__lalr_expandz00,
																						BgL_arg2030z00_2348);
																				}
																				BgL_arg2028z00_2346 =
																					MAKE_YOUNG_PAIR(BgL_arg2019z00_2339,
																					BgL_arg2029z00_2347);
																			}
																			BgL_arg2026z00_2345 =
																				MAKE_YOUNG_PAIR
																				(BGl_string2521z00zz__lalr_expandz00,
																				BgL_arg2028z00_2346);
																		}
																		BgL_arg2025z00_2344 =
																			MAKE_YOUNG_PAIR(BgL_arg2018z00_2338,
																			BgL_arg2026z00_2345);
																	}
																	BgL_arg2023z00_2343 =
																		MAKE_YOUNG_PAIR
																		(BGl_string2521z00zz__lalr_expandz00,
																		BgL_arg2025z00_2344);
																}
																BgL_arg2022z00_2342 =
																	MAKE_YOUNG_PAIR
																	(BGl_string2522z00zz__lalr_expandz00,
																	BgL_arg2023z00_2343);
															}
															BgL_list2021z00_2341 =
																MAKE_YOUNG_PAIR
																(BGl_string2490z00zz__lalr_expandz00,
																BgL_arg2022z00_2342);
														}
														BGl_warningz00zz__errorz00(BgL_list2021z00_2341);
												}}
												{	/* Lalr/lalr.scm 899 */
													obj_t BgL_arg2037z00_2354;

													BgL_arg2037z00_2354 =
														BGl_2maxz00zz__r4_numbers_6_5z00(CDR(
															((obj_t) BgL_yz00_2329)), BgL_actz00_2326);
													{	/* Lalr/lalr.scm 899 */
														obj_t BgL_tmpz00_6401;

														BgL_tmpz00_6401 = ((obj_t) BgL_yz00_2329);
														return
															SET_CDR(BgL_tmpz00_6401, BgL_arg2037z00_2354);
													}
												}
											}
										else
											{	/* Lalr/lalr.scm 900 */
												bool_t BgL_test2782z00_6404;

												if (CBOOL(BgL_curzd2preczd2_2330))
													{	/* Lalr/lalr.scm 900 */
														BgL_test2782z00_6404 = ((bool_t) 1);
													}
												else
													{	/* Lalr/lalr.scm 900 */
														BgL_test2782z00_6404 =
															CBOOL(BgL_newzd2preczd2_2331);
													}
												if (BgL_test2782z00_6404)
													{	/* Lalr/lalr.scm 900 */
														if (CBOOL(BgL_newzd2preczd2_2331))
															{	/* Lalr/lalr.scm 902 */
																if (CBOOL(BgL_curzd2preczd2_2330))
																	{	/* Lalr/lalr.scm 904 */
																		if (
																			((long) CINT(CDR(
																						((obj_t) BgL_curzd2preczd2_2330)))
																				==
																				(long) CINT(CDR(((obj_t)
																							BgL_newzd2preczd2_2331)))))
																			{	/* Lalr/lalr.scm 908 */
																				obj_t BgL_shiftz00_2361;
																				obj_t BgL_reducez00_2362;

																				BgL_shiftz00_2361 =
																					BGl_2maxz00zz__r4_numbers_6_5z00(CDR(
																						((obj_t) BgL_yz00_2329)),
																					BgL_actz00_2326);
																				BgL_reducez00_2362 =
																					BGl_2minz00zz__r4_numbers_6_5z00(CDR((
																							(obj_t) BgL_yz00_2329)),
																					BgL_actz00_2326);
																				{	/* Lalr/lalr.scm 910 */
																					obj_t BgL_casezd2valuezd2_2363;

																					BgL_casezd2valuezd2_2363 =
																						CAR(
																						((obj_t) BgL_curzd2preczd2_2330));
																					if (
																						(BgL_casezd2valuezd2_2363 ==
																							BGl_keyword2500z00zz__lalr_expandz00))
																						{	/* Lalr/lalr.scm 912 */
																							obj_t BgL_tmpz00_6430;

																							BgL_tmpz00_6430 =
																								((obj_t) BgL_yz00_2329);
																							return
																								SET_CDR(BgL_tmpz00_6430,
																								BgL_reducez00_2362);
																						}
																					else
																						{	/* Lalr/lalr.scm 910 */
																							if (
																								(BgL_casezd2valuezd2_2363 ==
																									BGl_keyword2502z00zz__lalr_expandz00))
																								{	/* Lalr/lalr.scm 914 */
																									obj_t BgL_tmpz00_6435;

																									BgL_tmpz00_6435 =
																										((obj_t) BgL_yz00_2329);
																									return
																										SET_CDR(BgL_tmpz00_6435,
																										BgL_shiftz00_2361);
																								}
																							else
																								{	/* Lalr/lalr.scm 910 */
																									if (
																										(BgL_casezd2valuezd2_2363 ==
																											BGl_keyword2504z00zz__lalr_expandz00))
																										{	/* Lalr/lalr.scm 918 */
																											obj_t BgL_objz00_4053;

																											BgL_objz00_4053 =
																												BGl_symbol2523z00zz__lalr_expandz00;
																											{	/* Lalr/lalr.scm 918 */
																												obj_t BgL_tmpz00_6440;

																												BgL_tmpz00_6440 =
																													((obj_t)
																													BgL_yz00_2329);
																												return
																													SET_CDR
																													(BgL_tmpz00_6440,
																													BgL_objz00_4053);
																											}
																										}
																									else
																										{	/* Lalr/lalr.scm 910 */
																											return BUNSPEC;
																										}
																								}
																						}
																				}
																			}
																		else
																			{	/* Lalr/lalr.scm 906 */
																				if (
																					((long) CINT(CDR(
																								((obj_t)
																									BgL_curzd2preczd2_2330))) >
																						(long) CINT(CDR(((obj_t)
																									BgL_newzd2preczd2_2331)))))
																					{	/* Lalr/lalr.scm 935 */
																						obj_t BgL_tmpz00_6451;

																						BgL_tmpz00_6451 =
																							((obj_t) BgL_yz00_2329);
																						return
																							SET_CDR(BgL_tmpz00_6451,
																							BgL_actz00_2326);
																					}
																				else
																					{	/* Lalr/lalr.scm 933 */
																						return BTRUE;
																					}
																			}
																	}
																else
																	{	/* Lalr/lalr.scm 905 */
																		obj_t BgL_tmpz00_6454;

																		BgL_tmpz00_6454 = ((obj_t) BgL_yz00_2329);
																		return
																			SET_CDR(BgL_tmpz00_6454, BgL_actz00_2326);
																	}
															}
														else
															{	/* Lalr/lalr.scm 902 */
																return BTRUE;
															}
													}
												else
													{	/* Lalr/lalr.scm 900 */
														{	/* Lalr/lalr.scm 943 */
															obj_t BgL_arg2053z00_2378;
															obj_t BgL_arg2054z00_2379;

															{	/* Lalr/lalr.scm 943 */
																long BgL_arg2065z00_2389;

																BgL_arg2065z00_2389 =
																	NEG(
																	(long) CINT(CDR(((obj_t) BgL_yz00_2329))));
																BgL_arg2053z00_2378 =
																	BGl_buildzd2rulezd2zz__lalr_expandz00
																	(BgL_arg2065z00_2389);
															}
															BgL_arg2054z00_2379 =
																VECTOR_REF(BGl_za2symvza2z00zz__lalr_rewritez00,
																((long) CINT(BGl_nvarsz00zz__lalr_globalz00) +
																	(long) CINT(BgL_symz00_2325)));
															{	/* Lalr/lalr.scm 940 */
																obj_t BgL_list2055z00_2380;

																{	/* Lalr/lalr.scm 940 */
																	obj_t BgL_arg2056z00_2381;

																	{	/* Lalr/lalr.scm 940 */
																		obj_t BgL_arg2058z00_2382;

																		{	/* Lalr/lalr.scm 940 */
																			obj_t BgL_arg2059z00_2383;

																			{	/* Lalr/lalr.scm 940 */
																				obj_t BgL_arg2060z00_2384;

																				{	/* Lalr/lalr.scm 940 */
																					obj_t BgL_arg2061z00_2385;

																					{	/* Lalr/lalr.scm 940 */
																						obj_t BgL_arg2062z00_2386;

																						{	/* Lalr/lalr.scm 940 */
																							obj_t BgL_arg2063z00_2387;

																							{	/* Lalr/lalr.scm 940 */
																								obj_t BgL_arg2064z00_2388;

																								BgL_arg2064z00_2388 =
																									MAKE_YOUNG_PAIR
																									(BGl_string2519z00zz__lalr_expandz00,
																									BNIL);
																								BgL_arg2063z00_2387 =
																									MAKE_YOUNG_PAIR
																									(BgL_arg2054z00_2379,
																									BgL_arg2064z00_2388);
																							}
																							BgL_arg2062z00_2386 =
																								MAKE_YOUNG_PAIR
																								(BGl_string2520z00zz__lalr_expandz00,
																								BgL_arg2063z00_2387);
																						}
																						BgL_arg2061z00_2385 =
																							MAKE_YOUNG_PAIR
																							(BgL_arg2053z00_2378,
																							BgL_arg2062z00_2386);
																					}
																					BgL_arg2060z00_2384 =
																						MAKE_YOUNG_PAIR
																						(BGl_string2525z00zz__lalr_expandz00,
																						BgL_arg2061z00_2385);
																				}
																				BgL_arg2059z00_2383 =
																					MAKE_YOUNG_PAIR(BgL_actz00_2326,
																					BgL_arg2060z00_2384);
																			}
																			BgL_arg2058z00_2382 =
																				MAKE_YOUNG_PAIR
																				(BGl_string2526z00zz__lalr_expandz00,
																				BgL_arg2059z00_2383);
																		}
																		BgL_arg2056z00_2381 =
																			MAKE_YOUNG_PAIR
																			(BGl_string2527z00zz__lalr_expandz00,
																			BgL_arg2058z00_2382);
																	}
																	BgL_list2055z00_2380 =
																		MAKE_YOUNG_PAIR
																		(BGl_string2490z00zz__lalr_expandz00,
																		BgL_arg2056z00_2381);
																}
																BGl_warningz00zz__errorz00
																	(BgL_list2055z00_2380);
														}}
														{	/* Lalr/lalr.scm 946 */
															obj_t BgL_tmpz00_6476;

															BgL_tmpz00_6476 = ((obj_t) BgL_yz00_2329);
															return SET_CDR(BgL_tmpz00_6476, BgL_actz00_2326);
														}
													}
											}
									}
							}
						else
							{	/* Lalr/lalr.scm 947 */
								obj_t BgL_arg2072z00_2396;

								{	/* Lalr/lalr.scm 947 */
									obj_t BgL_arg2073z00_2397;

									BgL_arg2073z00_2397 =
										MAKE_YOUNG_PAIR(BgL_symz00_2325, BgL_actz00_2326);
									BgL_arg2072z00_2396 =
										MAKE_YOUNG_PAIR(BgL_arg2073z00_2397, BgL_xz00_2328);
								}
								return
									VECTOR_SET(BGl_actionzd2tablezd2zz__lalr_globalz00,
									(long) CINT(BgL_stz00_2324), BgL_arg2072z00_2396);
		}}}}}

	}



/* compact-action-table */
	bool_t BGl_compactzd2actionzd2tablez00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 997 */
			{
				obj_t BgL_actsz00_2450;

				{
					long BgL_iz00_2413;

					BgL_iz00_2413 = 0L;
				BgL_zc3z04anonymousza32079ze3z87_2414:
					{	/* Lalr/lalr.scm 1018 */
						bool_t BgL_test2791z00_6483;

						if (INTEGERP(BGl_nstatesz00zz__lalr_globalz00))
							{	/* Lalr/lalr.scm 1019 */
								BgL_test2791z00_6483 =
									(BgL_iz00_2413 ==
									(long) CINT(BGl_nstatesz00zz__lalr_globalz00));
							}
						else
							{	/* Lalr/lalr.scm 1019 */
								BgL_test2791z00_6483 =
									BGl_2zd3zd3zz__r4_numbers_6_5z00(BINT(BgL_iz00_2413),
									BGl_nstatesz00zz__lalr_globalz00);
							}
						if (BgL_test2791z00_6483)
							{	/* Lalr/lalr.scm 1018 */
								return ((bool_t) 0);
							}
						else
							{	/* Lalr/lalr.scm 1018 */
								{	/* Lalr/lalr.scm 1020 */
									obj_t BgL_actsz00_2417;

									BgL_actsz00_2417 =
										VECTOR_REF(BGl_actionzd2tablezd2zz__lalr_globalz00,
										BgL_iz00_2413);
									{	/* Lalr/lalr.scm 1021 */
										bool_t BgL_test2793z00_6491;

										{	/* Lalr/lalr.scm 1021 */
											obj_t BgL_tmpz00_6492;

											BgL_tmpz00_6492 =
												VECTOR_REF(BGl_reductionzd2tablezd2zz__lalr_globalz00,
												BgL_iz00_2413);
											BgL_test2793z00_6491 = VECTORP(BgL_tmpz00_6492);
										}
										if (BgL_test2793z00_6491)
											{	/* Lalr/lalr.scm 1022 */
												obj_t BgL_actz00_2420;

												BgL_actsz00_2450 = BgL_actsz00_2417;
												{	/* Lalr/lalr.scm 999 */
													obj_t BgL_accumsz00_2452;

													BgL_accumsz00_2452 = BNIL;
													{
														obj_t BgL_lz00_2454;

														BgL_lz00_2454 = BgL_actsz00_2450;
													BgL_zc3z04anonymousza32104ze3z87_2455:
														if (PAIRP(BgL_lz00_2454))
															{	/* Lalr/lalr.scm 1002 */
																obj_t BgL_xz00_2457;

																BgL_xz00_2457 = CDR(CAR(BgL_lz00_2454));
																{	/* Lalr/lalr.scm 1002 */
																	obj_t BgL_yz00_2458;

																	BgL_yz00_2458 =
																		BGl_assvz00zz__r4_pairs_and_lists_6_3z00
																		(BgL_xz00_2457, BgL_accumsz00_2452);
																	{	/* Lalr/lalr.scm 1003 */

																		{	/* Lalr/lalr.scm 1004 */
																			bool_t BgL_test2795z00_6500;

																			if (BGl_numberzf3zf3zz__r4_numbers_6_5z00
																				(BgL_xz00_2457))
																				{	/* Lalr/lalr.scm 1004 */
																					BgL_test2795z00_6500 =
																						((long) CINT(BgL_xz00_2457) < 0L);
																				}
																			else
																				{	/* Lalr/lalr.scm 1004 */
																					BgL_test2795z00_6500 = ((bool_t) 0);
																				}
																			if (BgL_test2795z00_6500)
																				{	/* Lalr/lalr.scm 1004 */
																					if (CBOOL(BgL_yz00_2458))
																						{	/* Lalr/lalr.scm 1006 */
																							long BgL_arg2108z00_2461;

																							BgL_arg2108z00_2461 =
																								(1L +
																								(long) CINT(CDR(
																										((obj_t) BgL_yz00_2458))));
																							{	/* Lalr/lalr.scm 1006 */
																								obj_t BgL_auxz00_6513;
																								obj_t BgL_tmpz00_6511;

																								BgL_auxz00_6513 =
																									BINT(BgL_arg2108z00_2461);
																								BgL_tmpz00_6511 =
																									((obj_t) BgL_yz00_2458);
																								SET_CDR(BgL_tmpz00_6511,
																									BgL_auxz00_6513);
																						}}
																					else
																						{	/* Lalr/lalr.scm 1007 */
																							obj_t BgL_arg2110z00_2463;

																							BgL_arg2110z00_2463 =
																								MAKE_YOUNG_PAIR(BgL_xz00_2457,
																								BINT(1L));
																							BgL_accumsz00_2452 =
																								MAKE_YOUNG_PAIR
																								(BgL_arg2110z00_2463,
																								BgL_accumsz00_2452);
																						}
																				}
																			else
																				{	/* Lalr/lalr.scm 1004 */
																					BFALSE;
																				}
																		}
																		{
																			obj_t BgL_lz00_6519;

																			BgL_lz00_6519 = CDR(BgL_lz00_2454);
																			BgL_lz00_2454 = BgL_lz00_6519;
																			goto
																				BgL_zc3z04anonymousza32104ze3z87_2455;
																		}
																	}
																}
															}
														else
															{	/* Lalr/lalr.scm 1001 */
																((bool_t) 0);
															}
													}
													{
														obj_t BgL_lz00_4189;
														obj_t BgL_maxz00_4190;
														obj_t BgL_symz00_4191;

														BgL_lz00_4189 = BgL_accumsz00_2452;
														BgL_maxz00_4190 = BINT(0L);
														BgL_symz00_4191 = BFALSE;
													BgL_loopz00_4188:
														if (NULLP(BgL_lz00_4189))
															{	/* Lalr/lalr.scm 1011 */
																BgL_actz00_2420 = BgL_symz00_4191;
															}
														else
															{	/* Lalr/lalr.scm 1013 */
																obj_t BgL_xz00_4201;

																BgL_xz00_4201 = CAR(((obj_t) BgL_lz00_4189));
																if (
																	((long) CINT(CDR(
																				((obj_t) BgL_xz00_4201))) >
																		(long) CINT(BgL_maxz00_4190)))
																	{
																		obj_t BgL_symz00_6537;
																		obj_t BgL_maxz00_6534;
																		obj_t BgL_lz00_6531;

																		BgL_lz00_6531 =
																			CDR(((obj_t) BgL_lz00_4189));
																		BgL_maxz00_6534 =
																			CDR(((obj_t) BgL_xz00_4201));
																		BgL_symz00_6537 =
																			CAR(((obj_t) BgL_xz00_4201));
																		BgL_symz00_4191 = BgL_symz00_6537;
																		BgL_maxz00_4190 = BgL_maxz00_6534;
																		BgL_lz00_4189 = BgL_lz00_6531;
																		goto BgL_loopz00_4188;
																	}
																else
																	{
																		obj_t BgL_lz00_6540;

																		BgL_lz00_6540 =
																			CDR(((obj_t) BgL_lz00_4189));
																		BgL_lz00_4189 = BgL_lz00_6540;
																		goto BgL_loopz00_4188;
																	}
															}
													}
												}
												{	/* Lalr/lalr.scm 1024 */
													obj_t BgL_arg2084z00_2421;

													{	/* Lalr/lalr.scm 1024 */
														obj_t BgL_arg2085z00_2422;
														obj_t BgL_arg2086z00_2423;

														{	/* Lalr/lalr.scm 1024 */
															obj_t BgL_arg2087z00_2424;

															if (CBOOL(BgL_actz00_2420))
																{	/* Lalr/lalr.scm 1024 */
																	BgL_arg2087z00_2424 = BgL_actz00_2420;
																}
															else
																{	/* Lalr/lalr.scm 1024 */
																	BgL_arg2087z00_2424 =
																		BGl_symbol2528z00zz__lalr_expandz00;
																}
															BgL_arg2085z00_2422 =
																MAKE_YOUNG_PAIR
																(BGl_za2defaultza2z00zz__lalr_expandz00,
																BgL_arg2087z00_2424);
														}
														{	/* Lalr/lalr.scm 1025 */
															obj_t BgL_hook1253z00_2425;

															BgL_hook1253z00_2425 =
																MAKE_YOUNG_PAIR(BFALSE, BNIL);
															{
																obj_t BgL_l1250z00_2427;
																obj_t BgL_h1251z00_2428;

																BgL_l1250z00_2427 = BgL_actsz00_2417;
																BgL_h1251z00_2428 = BgL_hook1253z00_2425;
															BgL_zc3z04anonymousza32088ze3z87_2429:
																if (NULLP(BgL_l1250z00_2427))
																	{	/* Lalr/lalr.scm 1025 */
																		BgL_arg2086z00_2423 =
																			CDR(BgL_hook1253z00_2425);
																	}
																else
																	{	/* Lalr/lalr.scm 1025 */
																		bool_t BgL_test2802z00_6551;

																		{	/* Lalr/lalr.scm 1026 */
																			bool_t BgL_test2803z00_6552;

																			{	/* Lalr/lalr.scm 1026 */
																				obj_t BgL_tmpz00_6553;

																				{	/* Lalr/lalr.scm 1026 */
																					obj_t BgL_pairz00_4224;

																					BgL_pairz00_4224 =
																						CAR(((obj_t) BgL_l1250z00_2427));
																					BgL_tmpz00_6553 =
																						CDR(BgL_pairz00_4224);
																				}
																				BgL_test2803z00_6552 =
																					(BgL_tmpz00_6553 == BgL_actz00_2420);
																			}
																			if (BgL_test2803z00_6552)
																				{	/* Lalr/lalr.scm 1026 */
																					BgL_test2802z00_6551 = ((bool_t) 0);
																				}
																			else
																				{	/* Lalr/lalr.scm 1026 */
																					BgL_test2802z00_6551 = ((bool_t) 1);
																				}
																		}
																		if (BgL_test2802z00_6551)
																			{	/* Lalr/lalr.scm 1025 */
																				obj_t BgL_nh1252z00_2436;

																				{	/* Lalr/lalr.scm 1025 */
																					obj_t BgL_arg2095z00_2438;

																					BgL_arg2095z00_2438 =
																						CAR(((obj_t) BgL_l1250z00_2427));
																					BgL_nh1252z00_2436 =
																						MAKE_YOUNG_PAIR(BgL_arg2095z00_2438,
																						BNIL);
																				}
																				SET_CDR(BgL_h1251z00_2428,
																					BgL_nh1252z00_2436);
																				{	/* Lalr/lalr.scm 1025 */
																					obj_t BgL_arg2094z00_2437;

																					BgL_arg2094z00_2437 =
																						CDR(((obj_t) BgL_l1250z00_2427));
																					{
																						obj_t BgL_h1251z00_6565;
																						obj_t BgL_l1250z00_6564;

																						BgL_l1250z00_6564 =
																							BgL_arg2094z00_2437;
																						BgL_h1251z00_6565 =
																							BgL_nh1252z00_2436;
																						BgL_h1251z00_2428 =
																							BgL_h1251z00_6565;
																						BgL_l1250z00_2427 =
																							BgL_l1250z00_6564;
																						goto
																							BgL_zc3z04anonymousza32088ze3z87_2429;
																					}
																				}
																			}
																		else
																			{	/* Lalr/lalr.scm 1025 */
																				obj_t BgL_arg2096z00_2439;

																				BgL_arg2096z00_2439 =
																					CDR(((obj_t) BgL_l1250z00_2427));
																				{
																					obj_t BgL_l1250z00_6568;

																					BgL_l1250z00_6568 =
																						BgL_arg2096z00_2439;
																					BgL_l1250z00_2427 = BgL_l1250z00_6568;
																					goto
																						BgL_zc3z04anonymousza32088ze3z87_2429;
																				}
																			}
																	}
															}
														}
														BgL_arg2084z00_2421 =
															MAKE_YOUNG_PAIR(BgL_arg2085z00_2422,
															BgL_arg2086z00_2423);
													}
													VECTOR_SET(BGl_actionzd2tablezd2zz__lalr_globalz00,
														BgL_iz00_2413, BgL_arg2084z00_2421);
												}
											}
										else
											{	/* Lalr/lalr.scm 1029 */
												obj_t BgL_arg2098z00_2444;

												{	/* Lalr/lalr.scm 1029 */
													obj_t BgL_arg2100z00_2445;

													BgL_arg2100z00_2445 =
														MAKE_YOUNG_PAIR
														(BGl_za2defaultza2z00zz__lalr_expandz00,
														BGl_symbol2523z00zz__lalr_expandz00);
													BgL_arg2098z00_2444 =
														MAKE_YOUNG_PAIR(BgL_arg2100z00_2445,
														BgL_actsz00_2417);
												}
												VECTOR_SET(BGl_actionzd2tablezd2zz__lalr_globalz00,
													BgL_iz00_2413, BgL_arg2098z00_2444);
											}
									}
								}
								{
									long BgL_iz00_6574;

									BgL_iz00_6574 = (BgL_iz00_2413 + 1L);
									BgL_iz00_2413 = BgL_iz00_6574;
									goto BgL_zc3z04anonymousza32079ze3z87_2414;
								}
							}
					}
				}
			}
		}

	}



/* object-init */
	obj_t BGl_objectzd2initzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			return BUNSPEC;
		}

	}



/* generic-init */
	obj_t BGl_genericzd2initzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			return BUNSPEC;
		}

	}



/* method-init */
	obj_t BGl_methodzd2initzd2zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			return BUNSPEC;
		}

	}



/* imported-modules-init */
	obj_t BGl_importedzd2moduleszd2initz00zz__lalr_expandz00(void)
	{
		{	/* Lalr/lalr.scm 11 */
			BGl_modulezd2initializa7ationz75zz__errorz00(88804785L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__lalr_utilz00(165615091L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__lalr_genz00(181573618L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__lalr_globalz00(39277513L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__lalr_rewritez00(80638262L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__typez00(393254000L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__biglooz00(348684831L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__tvectorz00(135276775L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__structurez00(128205792L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__bexitz00(443005284L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__bignumz00(289561787L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__paramz00(453939141L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__objectz00(475449627L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__threadz00(149516032L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__rgcz00(352600006L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5z00(26840973L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_fixnumz00(457511469L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonumz00(362050511L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_numbers_6_5_flonum_dtoaz00
				(268155843L, BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_characters_6_6z00(198620800L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_equivalence_6_2z00(111613887L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_booleans_6_1z00(459519430L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_symbols_6_4z00(115192690L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_strings_6_7z00((-44273703L),
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_pairs_and_lists_6_3z00(9614678L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_input_6_10_2z00(323064722L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_control_features_6_9z00(376927882L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_vectors_6_8z00(43892022L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_ports_6_10_1z00(185672289L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__r4_output_6_10_3z00(86988580L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			BGl_modulezd2initializa7ationz75zz__bitz00(377164741L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
			return BGl_modulezd2initializa7ationz75zz__evenvz00(528345299L,
				BSTRING_TO_STRING(BGl_string2530z00zz__lalr_expandz00));
		}

	}

#ifdef __cplusplus
}
#endif
