void NT_initialize_fov (SCHEME_OBJECT fov) { int ctr, in; SCHEME_OBJECT iv, imv, prim; static int interrupt_numbers[2] = { Global_GC_Level, Global_1_Level, }; static long interrupt_masks[2] = { 0, /* No interrupts allowed */ (INT_Stack_Overflow | INT_Global_GC | INT_GC), }; iv = (VECTOR_REF (fov, SYSTEM_INTERRUPT_VECTOR)); imv = (VECTOR_REF (fov, FIXOBJ_INTERRUPT_MASK_VECTOR)); prim = (make_primitive ("MICROCODE-POLL-INTERRUPT-HANDLER", 2)); for (ctr = 0; ctr < ((sizeof (interrupt_numbers)) / (sizeof (int))); ctr++) { in = interrupt_numbers[ctr]; VECTOR_SET (iv, in, prim); VECTOR_SET (imv, in, (long_to_integer (interrupt_masks[ctr]))); } return; }
static void env_set (SCM env, int depth, int width, SCM val) { while (depth--) env = next_rib (env); VECTOR_SET (env, width + 1, val); }
static SCM make_env (int n, SCM init, SCM next) { SCM env = scm_c_make_vector (n + 1, init); VECTOR_SET (env, 0, next); return env; }
static SCHEME_OBJECT names_to_vector (unsigned long length, const char ** names) { SCHEME_OBJECT v = (allocate_marked_vector (TC_VECTOR, length, true)); unsigned long i; for (i = 0; (i < length); i += 1) VECTOR_SET (v, i, (((names[i]) == 0) ? SHARP_F : (char_pointer_to_symbol (names[i])))); return (v); }
/* grow-stack! */ obj_t BGl_growzd2stackz12zc0zz__lalr_driverz00(obj_t BgL_vz00_1) { AN_OBJECT; { /* Lalr/driver.scm 49 */ { /* Lalr/driver.scm 50 */ int BgL_lenz00_771; BgL_lenz00_771 = VECTOR_LENGTH(BgL_vz00_1); { /* Lalr/driver.scm 50 */ obj_t BgL_v2z00_772; { /* Lalr/driver.scm 51 */ long BgL_arg1894z00_780; BgL_arg1894z00_780 = ( (long) (BgL_lenz00_771) + BGl_za2stackzd2siza7ezd2incrementza2za7zz__lalr_driverz00); BgL_v2z00_772 = make_vector((int) (BgL_arg1894z00_780), BINT(((long) 0))); } { /* Lalr/driver.scm 51 */ { long BgL_iz00_774; BgL_iz00_774 = ((long) 0); BgL_zc3anonymousza31889ze3z83_775: if ((BgL_iz00_774 < (long) (BgL_lenz00_771))) { /* Lalr/driver.scm 53 */ VECTOR_SET(BgL_v2z00_772, (int) (BgL_iz00_774), VECTOR_REF(BgL_vz00_1, (int) (BgL_iz00_774))); { long BgL_iz00_1611; BgL_iz00_1611 = (BgL_iz00_774 + ((long) 1)); BgL_iz00_774 = BgL_iz00_1611; goto BgL_zc3anonymousza31889ze3z83_775; } } else { /* Lalr/driver.scm 53 */ return BgL_v2z00_772; } } } } } } }
/*---------------------------------------------------------------------*/ BGL_RUNTIME_DEF obj_t bgl_getgroups() { #if BGL_HAVE_GETGROUPS int ngroups = getgroups( 0, 0L ); if( ngroups == -1 ) { C_SYSTEM_FAILURE( BGL_IO_ERROR, "getgroups", strerror( errno ), BFALSE ); } else { gid_t* groups = alloca( sizeof( gid_t ) * ngroups ); ngroups = getgroups( ngroups, groups ); if( ngroups == -1 ) { C_SYSTEM_FAILURE( BGL_IO_ERROR, "getgroups", strerror( errno ), BFALSE ); } else { obj_t res = create_vector( ngroups + 1 ); gid_t egid = getegid(); int seen_egid = 0; int i; for( i = 0; i < ngroups; i++ ) { VECTOR_SET( res, i, BINT( groups[ i ] ) ); if( groups[ i ] == egid ) seen_egid = 1; } if( seen_egid ) { VECTOR( res ).length--; } else { VECTOR_SET( res, i, BINT( egid ) ); } return res; } } #else return create_vector( 0 ); #endif }
/*---------------------------------------------------------------------*/ static obj_t make_names( int range, char *fmt ) { obj_t names = (obj_t)create_vector( range ); char buf[ 40 ]; struct tm tm; int i; for( i = 0; i < range; i++ ) { tm.tm_wday = i; tm.tm_mon = i; strftime( buf, 40, fmt, &tm ); VECTOR_SET( names, i, string_to_bstring( buf ) ); } return names; }
/*---------------------------------------------------------------------*/ static obj_t bgl_bstring_to_symbol( obj_t name ) { long hash_number; obj_t bucket; char *cname = BSTRING_TO_STRING( name ); hash_number = ____get_hash_power_number( cname, SYMBOL_HASH_TABLE_SIZE_SHIFT ); bucket = VECTOR_REF( ____bgl_get_symtab(), hash_number ); if( NULLP( bucket ) ) { obj_t symbol = make_symbol( name ); obj_t pair = MAKE_PAIR( symbol, BNIL ); VECTOR_SET( ____bgl_get_symtab(), hash_number, pair ); return symbol; } else { obj_t run = bucket, back = bucket; while( !NULLP( run ) && SYMBOL( CAR( run ) ).string && !bigloo_strcmp( SYMBOL( CAR( run ) ).string, name ) ) back = run, run = CDR( run ); if( !NULLP( run ) ) { return CAR( run ); } else { obj_t symbol = make_symbol( name ); obj_t pair = MAKE_PAIR( symbol, BNIL ); SET_CDR( back, pair ); return symbol; } } }
SCHEME_OBJECT make_microcode_identification_vector (void) { SCHEME_OBJECT v = (make_vector (IDENTITY_LENGTH, SHARP_F, true)); VECTOR_SET (v, ID_RELEASE, SHARP_F); VECTOR_SET (v, ID_MICRO_VERSION, (char_pointer_to_string (PACKAGE_VERSION))); VECTOR_SET (v, ID_PRINTER_WIDTH, (ULONG_TO_FIXNUM (OS_tty_x_size ()))); VECTOR_SET (v, ID_PRINTER_LENGTH, (ULONG_TO_FIXNUM (OS_tty_y_size ()))); VECTOR_SET (v, ID_NEW_LINE_CHARACTER, (ASCII_TO_CHAR ('\n'))); VECTOR_SET (v, ID_FLONUM_PRECISION, (ULONG_TO_FIXNUM (DBL_MANT_DIG))); VECTOR_SET (v, ID_FLONUM_EPSILON, (double_to_flonum ((double) DBL_EPSILON))); VECTOR_SET (v, ID_OS_NAME, (char_pointer_to_string (OS_Name))); VECTOR_SET (v, ID_OS_VARIANT, (char_pointer_to_string (OS_Variant))); VECTOR_SET (v, ID_STACK_TYPE, (char_pointer_to_string ("standard"))); VECTOR_SET (v, ID_MACHINE_TYPE, (char_pointer_to_string (MACHINE_TYPE))); { const char * name = (cc_arch_name ()); if (name != 0) VECTOR_SET (v, ID_CC_ARCH, (char_pointer_to_string (name))); } return (v); }
static SCM memoize (SCM exp, SCM env) { if (!SCM_EXPANDED_P (exp)) abort (); switch (SCM_EXPANDED_TYPE (exp)) { case SCM_EXPANDED_VOID: return MAKMEMO_QUOTE (SCM_UNSPECIFIED); case SCM_EXPANDED_CONST: return MAKMEMO_QUOTE (REF (exp, CONST, EXP)); case SCM_EXPANDED_PRIMITIVE_REF: if (scm_is_eq (scm_current_module (), scm_the_root_module ())) return maybe_makmemo_capture_module (MAKMEMO_BOX_REF (MAKMEMO_TOP_BOX (SCM_EXPANDED_TOPLEVEL_REF, REF (exp, PRIMITIVE_REF, NAME))), env); else return MAKMEMO_BOX_REF (MAKMEMO_MOD_BOX (SCM_EXPANDED_MODULE_REF, list_of_guile, REF (exp, PRIMITIVE_REF, NAME), SCM_BOOL_F)); case SCM_EXPANDED_LEXICAL_REF: return MAKMEMO_LEX_REF (lookup (REF (exp, LEXICAL_REF, GENSYM), env)); case SCM_EXPANDED_LEXICAL_SET: return MAKMEMO_LEX_SET (lookup (REF (exp, LEXICAL_SET, GENSYM), env), memoize (REF (exp, LEXICAL_SET, EXP), env)); case SCM_EXPANDED_MODULE_REF: return MAKMEMO_BOX_REF (MAKMEMO_MOD_BOX (SCM_EXPANDED_MODULE_REF, REF (exp, MODULE_REF, MOD), REF (exp, MODULE_REF, NAME), REF (exp, MODULE_REF, PUBLIC))); case SCM_EXPANDED_MODULE_SET: return MAKMEMO_BOX_SET (MAKMEMO_MOD_BOX (SCM_EXPANDED_MODULE_SET, REF (exp, MODULE_SET, MOD), REF (exp, MODULE_SET, NAME), REF (exp, MODULE_SET, PUBLIC)), memoize (REF (exp, MODULE_SET, EXP), env)); case SCM_EXPANDED_TOPLEVEL_REF: return maybe_makmemo_capture_module (MAKMEMO_BOX_REF (MAKMEMO_TOP_BOX (SCM_EXPANDED_TOPLEVEL_REF, REF (exp, TOPLEVEL_REF, NAME))), env); case SCM_EXPANDED_TOPLEVEL_SET: return maybe_makmemo_capture_module (MAKMEMO_BOX_SET (MAKMEMO_TOP_BOX (SCM_EXPANDED_TOPLEVEL_SET, REF (exp, TOPLEVEL_SET, NAME)), memoize (REF (exp, TOPLEVEL_SET, EXP), capture_env (env))), env); case SCM_EXPANDED_TOPLEVEL_DEFINE: return maybe_makmemo_capture_module (MAKMEMO_BOX_SET (MAKMEMO_TOP_BOX (SCM_EXPANDED_TOPLEVEL_DEFINE, REF (exp, TOPLEVEL_DEFINE, NAME)), memoize (REF (exp, TOPLEVEL_DEFINE, EXP), capture_env (env))), env); case SCM_EXPANDED_CONDITIONAL: return MAKMEMO_IF (memoize (REF (exp, CONDITIONAL, TEST), env), memoize (REF (exp, CONDITIONAL, CONSEQUENT), env), memoize (REF (exp, CONDITIONAL, ALTERNATE), env)); case SCM_EXPANDED_CALL: { SCM proc, args; proc = REF (exp, CALL, PROC); args = memoize_exps (REF (exp, CALL, ARGS), env); return MAKMEMO_CALL (memoize (proc, env), args); } case SCM_EXPANDED_PRIMCALL: { SCM name, args; int nargs; name = REF (exp, PRIMCALL, NAME); args = memoize_exps (REF (exp, PRIMCALL, ARGS), env); nargs = scm_ilength (args); if (nargs == 3 && scm_is_eq (name, scm_from_latin1_symbol ("call-with-prompt"))) return MAKMEMO_CALL_WITH_PROMPT (CAR (args), CADR (args), CADDR (args)); else if (nargs == 2 && scm_is_eq (name, scm_from_latin1_symbol ("apply"))) return MAKMEMO_APPLY (CAR (args), CADR (args)); else if (nargs == 1 && scm_is_eq (name, scm_from_latin1_symbol ("call-with-current-continuation"))) return MAKMEMO_CONT (CAR (args)); else if (nargs == 2 && scm_is_eq (name, scm_from_latin1_symbol ("call-with-values"))) return MAKMEMO_CALL_WITH_VALUES (CAR (args), CADR (args)); else if (nargs == 1 && scm_is_eq (name, scm_from_latin1_symbol ("variable-ref"))) return MAKMEMO_BOX_REF (CAR (args)); else if (nargs == 2 && scm_is_eq (name, scm_from_latin1_symbol ("variable-set!"))) return MAKMEMO_BOX_SET (CAR (args), CADR (args)); else if (nargs == 2 && scm_is_eq (name, scm_from_latin1_symbol ("wind"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (wind), args); else if (nargs == 0 && scm_is_eq (name, scm_from_latin1_symbol ("unwind"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (unwind), SCM_EOL); else if (nargs == 2 && scm_is_eq (name, scm_from_latin1_symbol ("push-fluid"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (push_fluid), args); else if (nargs == 0 && scm_is_eq (name, scm_from_latin1_symbol ("pop-fluid"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (pop_fluid), SCM_EOL); else if (nargs == 1 && scm_is_eq (name, scm_from_latin1_symbol ("push-dynamic-state"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (push_dynamic_state), args); else if (nargs == 0 && scm_is_eq (name, scm_from_latin1_symbol ("pop-dynamic-state"))) return MAKMEMO_CALL (MAKMEMO_QUOTE (pop_dynamic_state), SCM_EOL); else if (scm_is_eq (scm_current_module (), scm_the_root_module ())) return MAKMEMO_CALL (maybe_makmemo_capture_module (MAKMEMO_BOX_REF (MAKMEMO_TOP_BOX (SCM_EXPANDED_TOPLEVEL_REF, name)), env), args); else return MAKMEMO_CALL (MAKMEMO_BOX_REF (MAKMEMO_MOD_BOX (SCM_EXPANDED_MODULE_REF, list_of_guile, name, SCM_BOOL_F)), args); } case SCM_EXPANDED_SEQ: return MAKMEMO_SEQ (memoize (REF (exp, SEQ, HEAD), env), memoize (REF (exp, SEQ, TAIL), env)); case SCM_EXPANDED_LAMBDA: /* The body will be a lambda-case. */ { SCM meta, body, proc, new_env; meta = REF (exp, LAMBDA, META); body = REF (exp, LAMBDA, BODY); new_env = push_flat_link (capture_env (env)); proc = memoize (body, new_env); SCM_SETCAR (SCM_CDR (SCM_MEMOIZED_ARGS (proc)), meta); return maybe_makmemo_capture_module (capture_flat_env (proc, new_env), env); } case SCM_EXPANDED_LAMBDA_CASE: { SCM req, rest, opt, kw, inits, vars, body, alt; SCM unbound, arity, rib, new_env; int nreq, nopt, ninits; req = REF (exp, LAMBDA_CASE, REQ); rest = scm_not (scm_not (REF (exp, LAMBDA_CASE, REST))); opt = REF (exp, LAMBDA_CASE, OPT); kw = REF (exp, LAMBDA_CASE, KW); inits = REF (exp, LAMBDA_CASE, INITS); vars = REF (exp, LAMBDA_CASE, GENSYMS); body = REF (exp, LAMBDA_CASE, BODY); alt = REF (exp, LAMBDA_CASE, ALTERNATE); nreq = scm_ilength (req); nopt = scm_is_pair (opt) ? scm_ilength (opt) : 0; ninits = scm_ilength (inits); /* This relies on assignment conversion turning inits into a sequence of CONST expressions whose values are a unique "unbound" token. */ unbound = ninits ? REF (CAR (inits), CONST, EXP) : SCM_BOOL_F; rib = scm_vector (vars); new_env = push_nested_link (rib, env); if (scm_is_true (kw)) { /* (aok? (kw name sym) ...) -> (aok? (kw . index) ...) */ SCM aok = CAR (kw), indices = SCM_EOL; for (kw = CDR (kw); scm_is_pair (kw); kw = CDR (kw)) { SCM k; int idx; k = CAR (CAR (kw)); idx = lookup_rib (CADDR (CAR (kw)), rib); indices = scm_acons (k, SCM_I_MAKINUM (idx), indices); } kw = scm_cons (aok, scm_reverse_x (indices, SCM_UNDEFINED)); } if (scm_is_false (alt) && scm_is_false (kw) && scm_is_false (opt)) { if (scm_is_false (rest)) arity = FIXED_ARITY (nreq); else arity = REST_ARITY (nreq, SCM_BOOL_T); } else if (scm_is_true (alt)) arity = FULL_ARITY (nreq, rest, nopt, kw, ninits, unbound, SCM_MEMOIZED_ARGS (memoize (alt, env))); else arity = FULL_ARITY (nreq, rest, nopt, kw, ninits, unbound, SCM_BOOL_F); return MAKMEMO_LAMBDA (memoize (body, new_env), arity, SCM_EOL /* meta, filled in later */); } case SCM_EXPANDED_LET: { SCM vars, exps, body, varsv, inits, new_env; int i; vars = REF (exp, LET, GENSYMS); exps = REF (exp, LET, VALS); body = REF (exp, LET, BODY); varsv = scm_vector (vars); inits = scm_c_make_vector (VECTOR_LENGTH (varsv), SCM_BOOL_F); new_env = push_nested_link (varsv, capture_env (env)); for (i = 0; scm_is_pair (exps); exps = CDR (exps), i++) VECTOR_SET (inits, i, memoize (CAR (exps), env)); return maybe_makmemo_capture_module (MAKMEMO_LET (inits, memoize (body, new_env)), env); } default: abort (); } }
/* set-one-kaptured! */ obj_t BGl_setzd2onezd2kapturedz12z12zzglobaliza7e_kaptureza7(BgL_localz00_bglt BgL_localz00_2, obj_t BgL_lockingz00_3) { AN_OBJECT; { /* Globalize/kapture.scm 53 */ { /* Globalize/kapture.scm 58 */ BgL_valuez00_bglt BgL_infoz00_929; { BgL_variablez00_bglt BgL_auxz00_1570; BgL_auxz00_1570 = (BgL_variablez00_bglt) (BgL_localz00_2); BgL_infoz00_929 = (((BgL_variablez00_bglt) CREF(BgL_auxz00_1570))->BgL_valuez00); } { /* Globalize/kapture.scm 58 */ obj_t BgL_kapturedz00_930; { /* Globalize/kapture.scm 59 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3367z00_1441; BgL_obj3367z00_1441 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); { obj_t BgL_auxz00_1574; { /* Globalize/kapture.scm 59 */ BgL_objectz00_bglt BgL_auxz00_1575; BgL_auxz00_1575 = (BgL_objectz00_bglt) (BgL_obj3367z00_1441); BgL_auxz00_1574 = BGL_OBJECT_WIDENING(BgL_auxz00_1575); } BgL_kapturedz00_930 = (((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1574))-> BgL_kapturedz00); } } { /* Globalize/kapture.scm 59 */ { /* Globalize/kapture.scm 61 */ bool_t BgL_testz00_1579; if (PAIRP(BgL_kapturedz00_930)) { /* Globalize/kapture.scm 61 */ BgL_testz00_1579 = ((bool_t) 1); } else { /* Globalize/kapture.scm 61 */ BgL_testz00_1579 = NULLP(BgL_kapturedz00_930); } if (BgL_testz00_1579) { /* Globalize/kapture.scm 61 */ { /* Globalize/kapture.scm 64 */ obj_t BgL_v3646z00_932; BgL_v3646z00_932 = create_vector((int) (((long) 3))); VECTOR_SET(BgL_v3646z00_932, (int) (((long) 2)), BgL_kapturedz00_930); VECTOR_SET(BgL_v3646z00_932, (int) (((long) 1)), BgL_lockingz00_3); VECTOR_SET(BgL_v3646z00_932, (int) (((long) 0)), BTRUE); return BgL_v3646z00_932; } } else { /* Globalize/kapture.scm 61 */ if (BGl_iszd2azf3z21zz__objectz00(BgL_kapturedz00_930, BGl_localz00zzast_varz00)) { /* Globalize/kapture.scm 65 */ { /* Globalize/kapture.scm 68 */ obj_t BgL_v3647z00_934; BgL_v3647z00_934 = create_vector((int) (((long) 3))); VECTOR_SET(BgL_v3647z00_934, (int) (((long) 2)), BNIL); VECTOR_SET(BgL_v3647z00_934, (int) (((long) 1)), BgL_lockingz00_3); VECTOR_SET(BgL_v3647z00_934, (int) (((long) 0)), BFALSE); return BgL_v3647z00_934; } } else { /* Globalize/kapture.scm 65 */ { /* Globalize/kapture.scm 72 */ obj_t BgL_newzd2bodyzd2_935; { /* Globalize/kapture.scm 72 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3370z00_1463; BgL_obj3370z00_1463 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); { obj_t BgL_auxz00_1602; { /* Globalize/kapture.scm 72 */ BgL_objectz00_bglt BgL_auxz00_1603; BgL_auxz00_1603 = (BgL_objectz00_bglt) (BgL_obj3370z00_1463); BgL_auxz00_1602 = BGL_OBJECT_WIDENING(BgL_auxz00_1603); } BgL_newzd2bodyzd2_935 = (((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1602))->BgL_newzd2bodyzd2); } } { /* Globalize/kapture.scm 74 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3369z00_1464; obj_t BgL_val3368z00_1465; BgL_obj3369z00_1464 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); BgL_val3368z00_1465 = (obj_t) (BgL_localz00_2); { obj_t BgL_auxz00_1609; { /* Globalize/kapture.scm 74 */ BgL_objectz00_bglt BgL_auxz00_1610; BgL_auxz00_1610 = (BgL_objectz00_bglt) (BgL_obj3369z00_1464); BgL_auxz00_1609 = BGL_OBJECT_WIDENING(BgL_auxz00_1610); } ((((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1609))->BgL_kapturedz00) = ((obj_t) BgL_val3368z00_1465), BUNSPEC); } } { /* Globalize/kapture.scm 76 */ obj_t BgL_g3638z00_937; { /* Globalize/kapture.scm 77 */ obj_t BgL_auxz00_1621; obj_t BgL_auxz00_1614; { /* Globalize/kapture.scm 78 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3339z00_1467; BgL_obj3339z00_1467 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); { obj_t BgL_auxz00_1623; { /* Globalize/kapture.scm 78 */ BgL_objectz00_bglt BgL_auxz00_1624; BgL_auxz00_1624 = (BgL_objectz00_bglt) (BgL_obj3339z00_1467); BgL_auxz00_1623 = BGL_OBJECT_WIDENING(BgL_auxz00_1624); } BgL_auxz00_1621 = (((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1623))->BgL_cfunctionz00); } } { /* Globalize/kapture.scm 77 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3336z00_1466; BgL_obj3336z00_1466 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); { obj_t BgL_auxz00_1616; { /* Globalize/kapture.scm 77 */ BgL_objectz00_bglt BgL_auxz00_1617; BgL_auxz00_1617 = (BgL_objectz00_bglt) (BgL_obj3336z00_1466); BgL_auxz00_1616 = BGL_OBJECT_WIDENING(BgL_auxz00_1617); } BgL_auxz00_1614 = (((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1616))->BgL_ctoza2za2); } } BgL_g3638z00_937 = bgl_append2(BgL_auxz00_1614, BgL_auxz00_1621); } { obj_t BgL_kapturedz00_939; obj_t BgL_ctoz00_940; bool_t BgL_setterzf3zf3_941; BgL_kapturedz00_939 = BNIL; BgL_ctoz00_940 = BgL_g3638z00_937; BgL_setterzf3zf3_941 = ((bool_t) 1); BgL_zc3anonymousza33659ze3z83_942: if (NULLP(BgL_ctoz00_940)) { /* Globalize/kapture.scm 87 */ obj_t BgL_freez00_944; BgL_freez00_944 = BGl_getzd2freezd2varsz00zzglobaliza7e_freeza7( (BgL_nodez00_bglt) (BgL_newzd2bodyzd2_935), BgL_localz00_2); { /* Globalize/kapture.scm 87 */ obj_t BgL_fkapturedz00_945; BgL_fkapturedz00_945 = BGl_freezd2fromzd2zzglobaliza7e_freeza7 (BgL_kapturedz00_939, BgL_localz00_2); { /* Globalize/kapture.scm 88 */ obj_t BgL_kapturedz00_946; { /* Globalize/kapture.scm 89 */ obj_t BgL_arg3665z00_956; BgL_arg3665z00_956 = MAKE_PAIR(BgL_freez00_944, BgL_fkapturedz00_945); BgL_kapturedz00_946 = BGl_unionz00zzglobaliza7e_kaptureza7 (BgL_arg3665z00_956); } { /* Globalize/kapture.scm 89 */ if (BgL_setterzf3zf3_941) { /* Globalize/kapture.scm 96 */ { /* Globalize/kapture.scm 99 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3369z00_1469; obj_t BgL_val3368z00_1470; BgL_obj3369z00_1469 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); BgL_val3368z00_1470 = BgL_kapturedz00_946; { obj_t BgL_auxz00_1638; { /* Globalize/kapture.scm 99 */ BgL_objectz00_bglt BgL_auxz00_1639; BgL_auxz00_1639 = (BgL_objectz00_bglt) (BgL_obj3369z00_1469); BgL_auxz00_1638 = BGL_OBJECT_WIDENING (BgL_auxz00_1639); } ((((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1638))-> BgL_kapturedz00) = ((obj_t) BgL_val3368z00_1470), BUNSPEC); } } { obj_t BgL_l3648z00_948; { /* Globalize/kapture.scm 101 */ bool_t BgL_auxz00_1643; BgL_l3648z00_948 = BgL_kapturedz00_946; BgL_zc3anonymousza33661ze3z83_949: if (PAIRP(BgL_l3648z00_948)) { /* Globalize/kapture.scm 101 */ { /* Globalize/kapture.scm 102 */ obj_t BgL_localz00_951; BgL_localz00_951 = CAR(BgL_l3648z00_948); { /* Globalize/kapture.scm 103 */ BgL_valuez00_bglt BgL_arg3663z00_952; { BgL_variablez00_bglt BgL_auxz00_1647; BgL_auxz00_1647 = (BgL_variablez00_bglt) (BgL_localz00_951); BgL_arg3663z00_952 = (((BgL_variablez00_bglt) CREF(BgL_auxz00_1647))->BgL_valuez00); } { /* Globalize/kapture.scm 102 */ BgL_svarzf2ginfozf2_bglt BgL_obj3450z00_1474; bool_t BgL_val3449z00_1475; BgL_obj3450z00_1474 = (BgL_svarzf2ginfozf2_bglt) (BgL_arg3663z00_952); BgL_val3449z00_1475 = ((bool_t) 1); { obj_t BgL_auxz00_1651; { /* Globalize/kapture.scm 102 */ BgL_objectz00_bglt BgL_auxz00_1652; BgL_auxz00_1652 = (BgL_objectz00_bglt) (BgL_obj3450z00_1474); BgL_auxz00_1651 = BGL_OBJECT_WIDENING (BgL_auxz00_1652); } ((((BgL_svarzf2ginfozf2_bglt) CREF(BgL_auxz00_1651))->BgL_kapturedzf3zf3) = ((bool_t) BgL_val3449z00_1475), BUNSPEC); } } } } { obj_t BgL_l3648z00_1656; BgL_l3648z00_1656 = CDR(BgL_l3648z00_948); BgL_l3648z00_948 = BgL_l3648z00_1656; goto BgL_zc3anonymousza33661ze3z83_949; } } else { /* Globalize/kapture.scm 101 */ BgL_auxz00_1643 = ((bool_t) 1); } BBOOL(BgL_auxz00_1643); } } } else { /* Globalize/kapture.scm 105 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3369z00_1477; obj_t BgL_val3368z00_1478; BgL_obj3369z00_1477 = (BgL_sfunzf2ginfozf2_bglt) (BgL_infoz00_929); BgL_val3368z00_1478 = BFALSE; { obj_t BgL_auxz00_1660; { /* Globalize/kapture.scm 105 */ BgL_objectz00_bglt BgL_auxz00_1661; BgL_auxz00_1661 = (BgL_objectz00_bglt) (BgL_obj3369z00_1477); BgL_auxz00_1660 = BGL_OBJECT_WIDENING (BgL_auxz00_1661); } ((((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1660))-> BgL_kapturedz00) = ((obj_t) BgL_val3368z00_1478), BUNSPEC); } } { /* Globalize/kapture.scm 106 */ obj_t BgL_v3650z00_955; BgL_v3650z00_955 = create_vector((int) (((long) 3))); VECTOR_SET(BgL_v3650z00_955, (int) (((long) 2)), BgL_kapturedz00_946); VECTOR_SET(BgL_v3650z00_955, (int) (((long) 1)), BgL_lockingz00_3); VECTOR_SET(BgL_v3650z00_955, (int) (((long) 0)), BBOOL(BgL_setterzf3zf3_941)); return BgL_v3650z00_955; } } } } } else { /* Globalize/kapture.scm 86 */ if ( (CAR(BgL_ctoz00_940) == (obj_t) (BgL_localz00_2))) { /* Globalize/kapture.scm 107 */ { obj_t BgL_ctoz00_1678; BgL_ctoz00_1678 = CDR(BgL_ctoz00_940); BgL_ctoz00_940 = BgL_ctoz00_1678; goto BgL_zc3anonymousza33659ze3z83_942; } } else { /* Globalize/kapture.scm 113 */ bool_t BgL_testz00_1680; { /* Globalize/kapture.scm 113 */ BgL_sfunzf2ginfozf2_bglt BgL_obj3323z00_1492; { /* Globalize/kapture.scm 113 */ BgL_valuez00_bglt BgL_auxz00_1681; { /* Globalize/kapture.scm 113 */ BgL_variablez00_bglt BgL_obj1611z00_1491; { /* Globalize/kapture.scm 113 */ obj_t BgL_pairz00_1490; BgL_pairz00_1490 = BgL_ctoz00_940; BgL_obj1611z00_1491 = (BgL_variablez00_bglt) (CAR (BgL_pairz00_1490)); } BgL_auxz00_1681 = (((BgL_variablez00_bglt) CREF(BgL_obj1611z00_1491))-> BgL_valuez00); } BgL_obj3323z00_1492 = (BgL_sfunzf2ginfozf2_bglt) (BgL_auxz00_1681); } { obj_t BgL_auxz00_1686; { /* Globalize/kapture.scm 113 */ BgL_objectz00_bglt BgL_auxz00_1687; BgL_auxz00_1687 = (BgL_objectz00_bglt) (BgL_obj3323z00_1492); BgL_auxz00_1686 = BGL_OBJECT_WIDENING (BgL_auxz00_1687); } BgL_testz00_1680 = (((BgL_sfunzf2ginfozf2_bglt) CREF(BgL_auxz00_1686))-> BgL_gzf3zf3); } } if (BgL_testz00_1680) { /* Globalize/kapture.scm 113 */ { /* Globalize/kapture.scm 116 */ obj_t BgL_otherzd2kapturedzd2_960; { /* Globalize/kapture.scm 116 */ obj_t BgL_arg3679z00_971; BgL_arg3679z00_971 = CAR(BgL_ctoz00_940); BgL_otherzd2kapturedzd2_960 = BGl_setzd2onezd2kapturedz12z12zzglobaliza7e_kaptureza7 ((BgL_localz00_bglt) (BgL_arg3679z00_971), BgL_lockingz00_3); } { /* Globalize/kapture.scm 118 */ bool_t BgL_testz00_1694; { /* Globalize/kapture.scm 118 */ int BgL_kz00_1495; BgL_kz00_1495 = (int) (((long) 0)); BgL_testz00_1694 = CBOOL(VECTOR_REF (BgL_otherzd2kapturedzd2_960, BgL_kz00_1495)); } if (BgL_testz00_1694) { /* Globalize/kapture.scm 124 */ obj_t BgL_arg3670z00_962; obj_t BgL_arg3671z00_963; BgL_arg3670z00_962 = MAKE_PAIR(VECTOR_REF (BgL_otherzd2kapturedzd2_960, (int) (((long) 2))), BgL_kapturedz00_939); BgL_arg3671z00_963 = CDR(BgL_ctoz00_940); { obj_t BgL_ctoz00_1703; obj_t BgL_kapturedz00_1702; BgL_kapturedz00_1702 = BgL_arg3670z00_962; BgL_ctoz00_1703 = BgL_arg3671z00_963; BgL_ctoz00_940 = BgL_ctoz00_1703; BgL_kapturedz00_939 = BgL_kapturedz00_1702; goto BgL_zc3anonymousza33659ze3z83_942; } } else { /* Globalize/kapture.scm 119 */ obj_t BgL_arg3673z00_965; obj_t BgL_arg3674z00_966; bool_t BgL_arg3675z00_967; BgL_arg3673z00_965 = MAKE_PAIR(VECTOR_REF (BgL_otherzd2kapturedzd2_960, (int) (((long) 2))), BgL_kapturedz00_939); BgL_arg3674z00_966 = CDR(BgL_ctoz00_940); if (BgL_setterzf3zf3_941) { /* Globalize/kapture.scm 121 */ BgL_arg3675z00_967 = (VECTOR_REF (BgL_otherzd2kapturedzd2_960, (int) (((long) 1))) == (obj_t) (BgL_localz00_2)); } else { /* Globalize/kapture.scm 121 */ BgL_arg3675z00_967 = ((bool_t) 0); } { bool_t BgL_setterzf3zf3_1715; obj_t BgL_ctoz00_1714; obj_t BgL_kapturedz00_1713; BgL_kapturedz00_1713 = BgL_arg3673z00_965; BgL_ctoz00_1714 = BgL_arg3674z00_966; BgL_setterzf3zf3_1715 = BgL_arg3675z00_967; BgL_setterzf3zf3_941 = BgL_setterzf3zf3_1715; BgL_ctoz00_940 = BgL_ctoz00_1714; BgL_kapturedz00_939 = BgL_kapturedz00_1713; goto BgL_zc3anonymousza33659ze3z83_942; } } } } } else { /* Globalize/kapture.scm 113 */ { obj_t BgL_ctoz00_1716; BgL_ctoz00_1716 = CDR(BgL_ctoz00_940); BgL_ctoz00_940 = BgL_ctoz00_1716; goto BgL_zc3anonymousza33659ze3z83_942; } } } } } } } } } } } } } } }
/* tvector->vector */ BGL_EXPORTED_DEF obj_t BGl_tvectorzd2ze3vectorz31zz__tvectorz00(obj_t BgL_tvz00_32) { AN_OBJECT; { /* Llib/tvector.scm 208 */ { /* Llib/tvector.scm 209 */ obj_t BgL_descrz00_828; BgL_descrz00_828 = TVECTOR_DESCR(BgL_tvz00_32); { /* Llib/tvector.scm 210 */ obj_t BgL_refz00_830; BgL_refz00_830 = STRUCT_REF(BgL_descrz00_828, (int) (((long) 2))); if (PROCEDUREP(BgL_refz00_830)) { /* Llib/tvector.scm 216 */ int BgL_lenz00_832; BgL_lenz00_832 = TVECTOR_LENGTH(BgL_tvz00_32); { /* Llib/tvector.scm 216 */ obj_t BgL_vecz00_833; BgL_vecz00_833 = create_vector(BgL_lenz00_832); { /* Llib/tvector.scm 217 */ { /* Llib/tvector.scm 218 */ long BgL_g1826z00_834; BgL_g1826z00_834 = ((long) (BgL_lenz00_832) - ((long) 1)); { long BgL_iz00_836; BgL_iz00_836 = BgL_g1826z00_834; BgL_zc3anonymousza31917ze3z83_837: if ((BgL_iz00_836 == ((long) -1))) { /* Llib/tvector.scm 219 */ return BgL_vecz00_833; } else { /* Llib/tvector.scm 219 */ { /* Llib/tvector.scm 222 */ obj_t BgL_arg1919z00_839; BgL_arg1919z00_839 = PROCEDURE_ENTRY(BgL_refz00_830) (BgL_refz00_830, BgL_tvz00_32, BINT(BgL_iz00_836), BEOA); VECTOR_SET(BgL_vecz00_833, (int) (BgL_iz00_836), BgL_arg1919z00_839); } { long BgL_iz00_1910; BgL_iz00_1910 = (BgL_iz00_836 - ((long) 1)); BgL_iz00_836 = BgL_iz00_1910; goto BgL_zc3anonymousza31917ze3z83_837; } } } } } } } else { /* Llib/tvector.scm 212 */ return BGl_errorz00zz__errorz00(BGl_string2222z00zz__tvectorz00, BGl_string2215z00zz__tvectorz00, STRUCT_REF(BgL_descrz00_828, (int) (((long) 0)))); }}}} }
/* <anonymous:1896> */ obj_t BGl_zc3anonymousza31896ze3z83zz__lalr_driverz00(obj_t BgL_envz00_1579, obj_t BgL_rgcz00_1582, obj_t BgL_inputzd2portzd2_1583, obj_t BgL_iszd2eofzf3z21_1584) { AN_OBJECT; { /* Lalr/driver.scm 61 */ { /* Lalr/driver.scm 69 */ obj_t BgL_actionzd2tablezd2_1580; obj_t BgL_reductionzd2functionzd2_1581; BgL_actionzd2tablezd2_1580 = PROCEDURE_REF(BgL_envz00_1579, (int) (((long) 0))); BgL_reductionzd2functionzd2_1581 = PROCEDURE_REF(BgL_envz00_1579, (int) (((long) 1))); { obj_t BgL_rgcz00_782; obj_t BgL_inputzd2portzd2_783; obj_t BgL_iszd2eofzf3z21_784; BgL_rgcz00_782 = BgL_rgcz00_1582; BgL_inputzd2portzd2_783 = BgL_inputzd2portzd2_1583; BgL_iszd2eofzf3z21_784 = BgL_iszd2eofzf3z21_1584; { /* Lalr/driver.scm 69 */ obj_t BgL_stackz00_787; obj_t BgL_statez00_788; obj_t BgL_inputz00_789; obj_t BgL_inz00_790; obj_t BgL_attrz00_791; obj_t BgL_actsz00_792; obj_t BgL_actz00_793; bool_t BgL_eofzf3zf3_794; bool_t BgL_debugz00_795; BgL_stackz00_787 = make_vector( (int) (BGl_za2maxzd2stackzd2siza7eza2za7zz__lalr_driverz00), BINT(((long) 0))); BgL_statez00_788 = BFALSE; BgL_inputz00_789 = BFALSE; BgL_inz00_790 = BFALSE; BgL_attrz00_791 = BFALSE; BgL_actsz00_792 = BFALSE; BgL_actz00_793 = BFALSE; BgL_eofzf3zf3_794 = ((bool_t) 0); { /* Lalr/driver.scm 77 */ int BgL_arg1940z00_840; BgL_arg1940z00_840 = bgl_debug(); BgL_debugz00_795 = ((long) (BgL_arg1940z00_840) >= ((long) 100)); } { obj_t BgL_spz00_797; BgL_spz00_797 = BINT(((long) 0)); BgL_zc3anonymousza31897ze3z83_798: BgL_statez00_788 = VECTOR_REF(BgL_stackz00_787, CINT(BgL_spz00_797)); BgL_actsz00_792 = VECTOR_REF(BgL_actionzd2tablezd2_1580, CINT(BgL_statez00_788)); if (NULLP(CDR(BgL_actsz00_792))) { /* Lalr/driver.scm 84 */ obj_t BgL_pairz00_1311; BgL_pairz00_1311 = BgL_actsz00_792; BgL_actz00_793 = CDR(CAR(BgL_pairz00_1311)); } else { /* Lalr/driver.scm 83 */ if (CBOOL(BgL_inputz00_789)) { /* Lalr/driver.scm 86 */ BFALSE; } else { /* Lalr/driver.scm 86 */ BgL_inputz00_789 = PROCEDURE_ENTRY(BgL_rgcz00_782) (BgL_rgcz00_782, BgL_inputzd2portzd2_783, BEOA); } if (CBOOL(BgL_inputz00_789)) { /* Lalr/driver.scm 88 */ ((bool_t) 0); } else { /* Lalr/driver.scm 88 */ bgl_system_failure(BGL_IO_PARSE_ERROR, BGl_symbol2208z00zz__lalr_driverz00, BGl_string2210z00zz__lalr_driverz00, BFALSE); } if (CBOOL(PROCEDURE_ENTRY(BgL_iszd2eofzf3z21_784) (BgL_iszd2eofzf3z21_784, BgL_inputz00_789, BEOA))) { /* Lalr/driver.scm 94 */ BgL_inz00_790 = BGl_symbol2211z00zz__lalr_driverz00; BgL_attrz00_791 = BFALSE; BgL_eofzf3zf3_794 = ((bool_t) 1); } else { /* Lalr/driver.scm 94 */ if (PAIRP(BgL_inputz00_789)) { /* Lalr/driver.scm 98 */ BgL_inz00_790 = CAR(BgL_inputz00_789); BgL_attrz00_791 = CDR(BgL_inputz00_789); } else { /* Lalr/driver.scm 98 */ BgL_inz00_790 = BgL_inputz00_789; BgL_attrz00_791 = BFALSE; } } { /* Lalr/driver.scm 105 */ obj_t BgL_xz00_1318; obj_t BgL_lz00_1319; BgL_xz00_1318 = BgL_inz00_790; BgL_lz00_1319 = BgL_actsz00_792; { /* Lalr/driver.scm 105 */ obj_t BgL_yz00_1320; BgL_yz00_1320 = BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_xz00_1318, BgL_lz00_1319); if (CBOOL(BgL_yz00_1320)) { /* Lalr/driver.scm 105 */ BgL_actz00_793 = CDR(BgL_yz00_1320); } else { /* Lalr/driver.scm 105 */ obj_t BgL_pairz00_1322; BgL_pairz00_1322 = BgL_lz00_1319; BgL_actz00_793 = CDR(CAR(BgL_pairz00_1322)); } } } } if (BgL_debugz00_795) { /* Lalr/driver.scm 107 */ { /* Lalr/driver.scm 108 */ obj_t BgL_arg1903z00_804; { /* Lalr/driver.scm 108 */ obj_t BgL_res2190z00_1327; { /* Lalr/driver.scm 108 */ obj_t BgL_auxz00_1662; BgL_auxz00_1662 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2190z00_1327 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1662); } BgL_arg1903z00_804 = BgL_res2190z00_1327; } bgl_display_string(BGl_string2213z00zz__lalr_driverz00, BgL_arg1903z00_804); } { /* Lalr/driver.scm 109 */ obj_t BgL_arg1904z00_805; { /* Lalr/driver.scm 109 */ obj_t BgL_res2191z00_1331; { /* Lalr/driver.scm 109 */ obj_t BgL_auxz00_1666; BgL_auxz00_1666 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2191z00_1331 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1666); } BgL_arg1904z00_805 = BgL_res2191z00_1331; } { /* Lalr/driver.scm 109 */ obj_t BgL_list1905z00_806; BgL_list1905z00_806 = MAKE_PAIR(BgL_arg1904z00_805, BNIL); BGl_writez00zz__r4_output_6_10_3z00(BgL_inz00_790, BgL_list1905z00_806); } } { /* Lalr/driver.scm 110 */ obj_t BgL_arg1907z00_808; { /* Lalr/driver.scm 110 */ obj_t BgL_res2192z00_1333; { /* Lalr/driver.scm 110 */ obj_t BgL_auxz00_1671; BgL_auxz00_1671 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2192z00_1333 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1671); } BgL_arg1907z00_808 = BgL_res2192z00_1333; } bgl_display_string(BGl_string2214z00zz__lalr_driverz00, BgL_arg1907z00_808); } { /* Lalr/driver.scm 111 */ obj_t BgL_arg1908z00_809; { /* Lalr/driver.scm 111 */ obj_t BgL_res2193z00_1337; { /* Lalr/driver.scm 111 */ obj_t BgL_auxz00_1675; BgL_auxz00_1675 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2193z00_1337 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1675); } BgL_arg1908z00_809 = BgL_res2193z00_1337; } { /* Lalr/driver.scm 111 */ obj_t BgL_list1909z00_810; BgL_list1909z00_810 = MAKE_PAIR(BgL_arg1908z00_809, BNIL); BGl_writez00zz__r4_output_6_10_3z00(BgL_statez00_788, BgL_list1909z00_810); } } { /* Lalr/driver.scm 112 */ obj_t BgL_arg1911z00_812; { /* Lalr/driver.scm 112 */ obj_t BgL_res2194z00_1339; { /* Lalr/driver.scm 112 */ obj_t BgL_auxz00_1680; BgL_auxz00_1680 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2194z00_1339 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1680); } BgL_arg1911z00_812 = BgL_res2194z00_1339; } bgl_display_string(BGl_string2215z00zz__lalr_driverz00, BgL_arg1911z00_812); } { /* Lalr/driver.scm 113 */ obj_t BgL_arg1912z00_813; { /* Lalr/driver.scm 113 */ obj_t BgL_res2195z00_1343; { /* Lalr/driver.scm 113 */ obj_t BgL_auxz00_1684; BgL_auxz00_1684 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2195z00_1343 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1684); } BgL_arg1912z00_813 = BgL_res2195z00_1343; } { /* Lalr/driver.scm 113 */ obj_t BgL_list1913z00_814; BgL_list1913z00_814 = MAKE_PAIR(BgL_arg1912z00_813, BNIL); BGl_writez00zz__r4_output_6_10_3z00(BgL_spz00_797, BgL_list1913z00_814); } } { /* Lalr/driver.scm 114 */ obj_t BgL_arg1914z00_815; { /* Lalr/driver.scm 114 */ obj_t BgL_res2196z00_1345; { /* Lalr/driver.scm 114 */ obj_t BgL_auxz00_1689; BgL_auxz00_1689 = BGL_CURRENT_DYNAMIC_ENV(); BgL_res2196z00_1345 = BGL_ENV_CURRENT_ERROR_PORT(BgL_auxz00_1689); } BgL_arg1914z00_815 = BgL_res2196z00_1345; } bgl_display_char(((unsigned char) '\n'), BgL_arg1914z00_815); }} else { /* Lalr/driver.scm 107 */ BFALSE; } if ((BgL_actz00_793 == BGl_symbol2216z00zz__lalr_driverz00)) { /* Lalr/driver.scm 119 */ return VECTOR_REF(BgL_stackz00_787, (int) (((long) 1))); } else { /* Lalr/driver.scm 123 */ bool_t BgL_testz00_1697; if ((BgL_actz00_793 == BGl_symbol2218z00zz__lalr_driverz00)) { /* Lalr/driver.scm 123 */ BgL_testz00_1697 = ((bool_t) 1); } else { /* Lalr/driver.scm 123 */ BgL_testz00_1697 = (BgL_actz00_793 == BGl_symbol2220z00zz__lalr_driverz00); } if (BgL_testz00_1697) { /* Lalr/driver.scm 124 */ obj_t BgL_msgz00_818; { /* Lalr/driver.scm 124 */ obj_t BgL_arg1919z00_820; if (SYMBOLP(BgL_inz00_790)) { /* Lalr/driver.scm 128 */ obj_t BgL_res2197z00_1352; { /* Lalr/driver.scm 128 */ obj_t BgL_symbolz00_1350; BgL_symbolz00_1350 = BgL_inz00_790; { /* Lalr/driver.scm 128 */ obj_t BgL_arg2113z00_1351; BgL_arg2113z00_1351 = SYMBOL_TO_STRING(BgL_symbolz00_1350); BgL_res2197z00_1352 = BGl_stringzd2copyzd2zz__r4_strings_6_7z00 (BgL_arg2113z00_1351); } } BgL_arg1919z00_820 = BgL_res2197z00_1352; } else { /* Lalr/driver.scm 127 */ if (CHARP(BgL_inz00_790)) { /* Lalr/driver.scm 130 */ obj_t BgL_list1923z00_824; BgL_list1923z00_824 = MAKE_PAIR(BgL_inz00_790, BNIL); { /* Lalr/driver.scm 130 */ obj_t BgL_res2198z00_1360; { /* Lalr/driver.scm 130 */ obj_t BgL_arg2107z00_1357; BgL_arg2107z00_1357 = CAR(BgL_list1923z00_824); BgL_res2198z00_1360 = make_string(((long) 1), CCHAR(BgL_arg2107z00_1357)); } BgL_arg1919z00_820 = BgL_res2198z00_1360; }} else { /* Lalr/driver.scm 132 */ obj_t BgL_portz00_825; { /* Lalr/driver.scm 132 */ { /* Ieee/port.scm 386 */ BgL_portz00_825 = BGl_openzd2outputzd2stringz00zz__r4_ports_6_10_1z00 (BTRUE); } } { /* Lalr/driver.scm 133 */ obj_t BgL_list1924z00_826; BgL_list1924z00_826 = MAKE_PAIR(BgL_portz00_825, BNIL); BGl_writez00zz__r4_output_6_10_3z00 (BgL_inz00_790, BgL_list1924z00_826); } BgL_arg1919z00_820 = bgl_close_output_port(BgL_portz00_825); } } BgL_msgz00_818 = string_append_3(BGl_string2222z00zz__lalr_driverz00, BgL_arg1919z00_820, BGl_string2223z00zz__lalr_driverz00); } return bgl_system_failure(BGL_IO_PARSE_ERROR, BGl_string2209z00zz__lalr_driverz00, BgL_msgz00_818, BgL_inputz00_789); } else { /* Lalr/driver.scm 123 */ if (((long) CINT(BgL_actz00_793) >= ((long) 0))) { /* Lalr/driver.scm 139 */ { /* Lalr/driver.scm 140 */ bool_t BgL_testz00_1720; { /* Lalr/driver.scm 140 */ long BgL_arg1927z00_830; { /* Lalr/driver.scm 140 */ int BgL_arg1929z00_831; BgL_arg1929z00_831 = VECTOR_LENGTH(BgL_stackz00_787); BgL_arg1927z00_830 = ((long) (BgL_arg1929z00_831) - ((long) 4)); } BgL_testz00_1720 = ( (long) CINT(BgL_spz00_797) >= BgL_arg1927z00_830); } if (BgL_testz00_1720) { /* Lalr/driver.scm 140 */ BgL_stackz00_787 = BGl_growzd2stackz12zc0zz__lalr_driverz00 (BgL_stackz00_787); } else { /* Lalr/driver.scm 140 */ BFALSE; } } { /* Lalr/driver.scm 142 */ long BgL_arg1931z00_833; BgL_arg1931z00_833 = ((long) CINT(BgL_spz00_797) + ((long) 1)); VECTOR_SET(BgL_stackz00_787, (int) (BgL_arg1931z00_833), BgL_attrz00_791); } { /* Lalr/driver.scm 143 */ long BgL_arg1932z00_834; BgL_arg1932z00_834 = ((long) CINT(BgL_spz00_797) + ((long) 2)); VECTOR_SET(BgL_stackz00_787, (int) (BgL_arg1932z00_834), BgL_actz00_793); } if (BgL_eofzf3zf3_794) { /* Lalr/driver.scm 144 */ BFALSE; } else { /* Lalr/driver.scm 144 */ BgL_inputz00_789 = BFALSE; } { /* Lalr/driver.scm 146 */ long BgL_arg1935z00_835; BgL_arg1935z00_835 = ((long) CINT(BgL_spz00_797) + ((long) 2)); { obj_t BgL_spz00_1738; BgL_spz00_1738 = BINT(BgL_arg1935z00_835); BgL_spz00_797 = BgL_spz00_1738; goto BgL_zc3anonymousza31897ze3z83_798; } } } else { /* Lalr/driver.scm 150 */ obj_t BgL_arg1937z00_836; { /* Lalr/driver.scm 150 */ long BgL_arg1938z00_837; BgL_arg1938z00_837 = NEG((long) CINT(BgL_actz00_793)); BgL_arg1937z00_836 = PROCEDURE_ENTRY(BgL_reductionzd2functionzd2_1581) (BgL_reductionzd2functionzd2_1581, BINT(BgL_arg1938z00_837), BgL_stackz00_787, BgL_spz00_797, BEOA); } { obj_t BgL_spz00_1745; BgL_spz00_1745 = BgL_arg1937z00_836; BgL_spz00_797 = BgL_spz00_1745; goto BgL_zc3anonymousza31897ze3z83_798; } } } } } } } } } }