Esempio n. 1
0
/*---------------------------------------------------------------------*/
void
bgl_init_objects() {
   /* initialize the preloading */
   bmem_init();

   /* initialize the runtime system */
   ____bgl_init_objects();

   unknown_ident = string_to_symbol( "unknown_function" );
   mark_function( unknown_ident, 0, ante_bgl_init_dsz, 0, -1, -1, -1 );

   bgl_socket_accept_symbol = string_to_symbol( "$socket-accept" );
   ((esymbol_t *)(CREF(bgl_socket_accept_symbol)))->class_alloc = HOSTENT_TYPE_NUM;
   
   bgl_socket_accept_many_symbol = string_to_symbol( "$socket-accept-many" );
   ((esymbol_t *)(CREF(bgl_socket_accept_many_symbol)))->class_alloc = HOSTENT_TYPE_NUM;
   
   bgl_make_input_port_symbol = string_to_symbol( "$make-input-port" );
   ((esymbol_t *)(CREF(bgl_make_input_port_symbol)))->class_alloc = UNKNOWN_ATOMIC_TYPE_NUM;
   
   /* signal registration */
   signal( 2, bmem_dump );
   
   /* exit registration */
   atexit( (void (*)(void))bmem_dump );
}
Esempio n. 2
0
/*---------------------------------------------------------------------*/
void
bgl_init_dload() {
   dload_mutex = bgl_make_spinlock( dload_mutex_name );
   __dload_noarch = string_to_symbol( "__dload_noarch" );
   __dload_error = string_to_symbol( "__dload_error" );
   __dload_noinit = string_to_symbol( "__dload_noinit" );
}
Esempio n. 3
0
/*---------------------------------------------------------------------*/
obj_t
bgl_file_type( char *file ) {
   struct stat _stati;

   if( lstat( file, &_stati ) ) {
      return string_to_symbol( "does-not-exist" );
   }

#if( defined( S_ISLNK ) )
   if( S_ISLNK( _stati.st_mode ) ) {
      return string_to_symbol( "link" );
   }
#endif   

#if( defined( S_ISREG ) )
   if( S_ISREG( _stati.st_mode ) ) {
      static obj_t reg = 0L;

      if( !reg ) reg = string_to_symbol( "regular" );
      return reg;
   }
#endif   

#if( defined( S_ISDIR ) )
   if( S_ISDIR( _stati.st_mode ) ) {
      static obj_t dir = 0L;

      if( !dir ) dir = string_to_symbol( "directory" );
      return dir;
   }
#endif   

#if( defined( S_ISBLK ) )
   if( S_ISBLK( _stati.st_mode ) ) {
      return string_to_symbol( "block" );
   }
#endif   

#if( defined( S_ISCHR ) )
   if( S_ISCHR( _stati.st_mode ) ) {
      return string_to_symbol( "character" );
   }
#endif   

#if( defined( S_ISFIFO ) )
   if( S_ISFIFO( _stati.st_mode ) ) {
      return string_to_symbol( "fifo" );
   }
#endif   

#if( defined( S_ISSOCK ) )
   if( S_ISSOCK( _stati.st_mode ) ) {
      return string_to_symbol( "socket" );
   }
#endif

   return string_to_symbol( "unknown" );
}
Esempio n. 4
0
/*---------------------------------------------------------------------*/
BGL_EXPORTED_DEF
obj_t
void_star_to_obj( void *cobj ) {
   static obj_t id = BUNSPEC;

   if( !SYMBOLP( id ) )
      id = string_to_symbol( "VOID*" );

   return cobj_to_foreign( id, cobj );
}
Esempio n. 5
0
/* toplevel-init */
	obj_t BGl_toplevelzd2initzd2zztools_errorz00()
	{
		AN_OBJECT;
		{	/* Tools/error.scm 15 */
			BGl_za2nbzd2errorzd2onzd2passza2zd2zztools_errorz00 = BINT(((long) 0));
			BGl_za2sfunzd2stackza2zd2zztools_errorz00 = CNST_TABLE_REF(((long) 0));
			return (BGl_sharpzd2symbolzd2zztools_errorz00 =
				string_to_symbol(BSTRING_TO_STRING(BGl_string3373z00zztools_errorz00)),
				BUNSPEC);
		}
	}
Esempio n. 6
0
static const char* create_package_symbol(ast_t* program, const char* filename)
{
  const char* symbol = string_to_symbol(filename);
  size_t suffix = 1;

  while(symbol_in_use(program, symbol))
  {
    symbol = symbol_suffix(symbol, suffix);
    suffix++;
  }

  return symbol;
}
Esempio n. 7
0
File: parsing.c Progetto: 8l/eight
closure *parse_symbol(FILE *file, closure *accum)
{
    //printf("parse sym\n");
    wchar_t c = fgetwc(file);
    if(iswspace(c)) {
	return string_to_symbol(reverse(accum));
    } else if(c == L'\"'){
	ungetwc(c, file); 
	return string_to_symbol(reverse(accum));
    } else if(c == L'('){
	ungetwc(c, file); 
	return string_to_symbol(reverse(accum));
    } else if(c == L')') {
	ungetwc(c, file); 
	return string_to_symbol(reverse(accum));
    } else if(c == L'#'){
	ungetwc(c, file); 
	return string_to_symbol(reverse(accum));
    } else {
	return parse_symbol(file, cons(character(c), accum));
    }
}
Esempio n. 8
0
obj_t
substring_to_symbol(obj_t str, const int beg, const int end)
{
  const int total_len = str->string_t.length;

#if 0
  printf("\nIn substring_to_symbol: %d %d '%.20s' %x\n",beg,end,BSTRING_TO_STRING(str),BSTRING_TO_STRING(str));
#endif

  assert( beg >= 0 && beg < total_len );
  if( end == total_len )
    return string_to_symbol(&STRING_REF( str, beg ));

  assert( end >= 0 && end < total_len );
  {
    char * name = BSTRING_TO_STRING(str);
    const char c = name[end];	/* Save the character at name[end] */
    obj_t symb;
    name[end] = '\0';		/* Forcibly terminate the string */
    symb = string_to_symbol(name+beg);
    name[end] = c;		/* Restore the char name[end] */
    return symb;
  }
}
Esempio n. 9
0
/*---------------------------------------------------------------------*/
void bgl_init_objects() {
   bgl_init_dynamic_env();
   bgl_init_trace();
   bgl_init_symbol_table();
   bgl_init_signal();
   bgl_init_io();
   bgl_init_keyword_table();
   bgl_init_process_table();
   bgl_init_dload();
   bgl_init_socket();
   bgl_init_date();
   bgl_init_bignum();

   bigloo_mutex = bgl_make_spinlock( bigloo_mutex_name );
   bigloo_generic_mutex = bgl_make_spinlock( bigloo_mutex_name );
   quote = string_to_symbol( "QUOTE" );

   bigloo_nan = DOUBLE_TO_REAL( bgl_nan() );
   bigloo_infinity = DOUBLE_TO_REAL( bgl_infinity() );
   bigloo_minfinity = DOUBLE_TO_REAL( -bgl_infinity() );
   
}
Esempio n. 10
0
/* make-args-name */
	obj_t BGl_makezd2argszd2namez00zztools_argsz00(long BgL_nz00_177)
	{
		AN_OBJECT;
		{	/* Tools/args.scm 157 */
			{	/* Tools/args.scm 157 */
				obj_t BgL_arg1562z00_179;

				{	/* Tools/args.scm 157 */
					obj_t BgL_arg1564z00_181;

					{	/* Tools/args.scm 157 */

						BgL_arg1564z00_181 =
							BGl_integerzd2ze3stringz31zz__r4_numbers_6_5_fixnumz00
							(BgL_nz00_177, ((long) 10));
					}
					BgL_arg1562z00_179 =
						string_append(BGl_string1581z00zztools_argsz00, BgL_arg1564z00_181);
				}
				return string_to_symbol(BSTRING_TO_STRING(BgL_arg1562z00_179));
			}
		}
	}
Esempio n. 11
0
/* declare-tvector! */
	BGL_EXPORTED_DEF obj_t BGl_declarezd2tvectorz12zc0zz__tvectorz00(char
		*BgL_idz00_23, obj_t BgL_allocatez00_24, obj_t BgL_refz00_25,
		obj_t BgL_setz00_26)
	{
		AN_OBJECT;
		{	/* Llib/tvector.scm 139 */
			{	/* Llib/tvector.scm 140 */
				obj_t BgL_idz00_787;

				{	/* Llib/tvector.scm 140 */
					obj_t BgL_arg1898z00_792;

					{	/* Llib/tvector.scm 140 */
						obj_t BgL_casezd2valuezd2_793;

						BgL_casezd2valuezd2_793 =
							BGl_bigloozd2casezd2sensitivityz00zz__readerz00();
						if ((BgL_casezd2valuezd2_793 == BGl_symbol2204z00zz__tvectorz00))
							{	/* Llib/tvector.scm 140 */
								BgL_arg1898z00_792 =
									BGl_stringzd2upcasezd2zz__r4_strings_6_7z00(string_to_bstring
									(BgL_idz00_23));
							}
						else
							{	/* Llib/tvector.scm 140 */
								if (
									(BgL_casezd2valuezd2_793 == BGl_symbol2206z00zz__tvectorz00))
									{	/* Llib/tvector.scm 140 */
										BgL_arg1898z00_792 =
											BGl_stringzd2downcasezd2zz__r4_strings_6_7z00
											(string_to_bstring(BgL_idz00_23));
									}
								else
									{	/* Llib/tvector.scm 140 */
										BgL_arg1898z00_792 = string_to_bstring(BgL_idz00_23);
									}
							}
					}
					BgL_idz00_787 =
						string_to_symbol(BSTRING_TO_STRING(BgL_arg1898z00_792));
				}
				{	/* Llib/tvector.scm 140 */
					obj_t BgL_oldz00_788;

					if (PAIRP(BGl_za2tvectorzd2tableza2zd2zz__tvectorz00))
						{	/* Llib/tvector.scm 147 */
							obj_t BgL_cellz00_1335;

							BgL_cellz00_1335 =
								BGl_assqz00zz__r4_pairs_and_lists_6_3z00(BgL_idz00_787,
								BGl_za2tvectorzd2tableza2zd2zz__tvectorz00);
							if (PAIRP(BgL_cellz00_1335))
								{	/* Llib/tvector.scm 147 */
									BgL_oldz00_788 = CDR(BgL_cellz00_1335);
								}
							else
								{	/* Llib/tvector.scm 147 */
									BgL_oldz00_788 = BFALSE;
								}
						}
					else
						{	/* Llib/tvector.scm 147 */
							BgL_oldz00_788 = BFALSE;
						}
					{	/* Llib/tvector.scm 147 */

						{	/* Llib/tvector.scm 148 */
							bool_t BgL_testz00_1752;

							if (STRUCTP(BgL_oldz00_788))
								{	/* Llib/tvector.scm 148 */
									BgL_testz00_1752 =
										(STRUCT_KEY(BgL_oldz00_788) ==
										BGl_symbol2208z00zz__tvectorz00);
								}
							else
								{	/* Llib/tvector.scm 148 */
									BgL_testz00_1752 = ((bool_t) 0);
								}
							if (BgL_testz00_1752)
								{	/* Llib/tvector.scm 148 */
									return BgL_oldz00_788;
								}
							else
								{	/* Llib/tvector.scm 149 */
									obj_t BgL_newz00_790;

									{	/* Llib/tvector.scm 149 */
										obj_t BgL_newz00_1351;

										BgL_newz00_1351 =
											create_struct(BGl_symbol2208z00zz__tvectorz00,
											(int) (((long) 4)));
										{	/* Llib/tvector.scm 149 */
											int BgL_auxz00_1759;

											BgL_auxz00_1759 = (int) (((long) 3));
											STRUCT_SET(BgL_newz00_1351, BgL_auxz00_1759,
												BgL_setz00_26);
										}
										{	/* Llib/tvector.scm 149 */
											int BgL_auxz00_1762;

											BgL_auxz00_1762 = (int) (((long) 2));
											STRUCT_SET(BgL_newz00_1351, BgL_auxz00_1762,
												BgL_refz00_25);
										}
										{	/* Llib/tvector.scm 149 */
											int BgL_auxz00_1765;

											BgL_auxz00_1765 = (int) (((long) 1));
											STRUCT_SET(BgL_newz00_1351, BgL_auxz00_1765,
												BgL_allocatez00_24);
										}
										{	/* Llib/tvector.scm 149 */
											int BgL_auxz00_1768;

											BgL_auxz00_1768 = (int) (((long) 0));
											STRUCT_SET(BgL_newz00_1351, BgL_auxz00_1768,
												BgL_idz00_787);
										}
										BgL_newz00_790 = BgL_newz00_1351;
									}
									{	/* Llib/tvector.scm 150 */
										obj_t BgL_arg1896z00_791;

										BgL_arg1896z00_791 =
											MAKE_PAIR(BgL_idz00_787, BgL_newz00_790);
										BGl_za2tvectorzd2tableza2zd2zz__tvectorz00 =
											MAKE_PAIR(BgL_arg1896z00_791,
											BGl_za2tvectorzd2tableza2zd2zz__tvectorz00);
									}
									return BgL_newz00_790;
								}
						}
					}
				}
			}
		}
	}
Esempio n. 12
0
/* coerce!-app-ly3349 */
	obj_t BGl_coercez12zd2appzd2ly3349z12zzcoerce_applyz00(obj_t BgL_envz00_1472,
		obj_t BgL_nodez00_1473, obj_t BgL_callerz00_1474, obj_t BgL_toz00_1475,
		obj_t BgL_safez00_1476)
	{
		AN_OBJECT;
		{	/* Coerce/apply.scm 35 */
			{
				BgL_appzd2lyzd2_bglt BgL_nodez00_1331;

				obj_t BgL_callerz00_1332;

				obj_t BgL_toz00_1333;

				obj_t BgL_safez00_1334;

				BgL_nodez00_1331 = (BgL_appzd2lyzd2_bglt) (BgL_nodez00_1473);
				BgL_callerz00_1332 = BgL_callerz00_1474;
				BgL_toz00_1333 = BgL_toz00_1475;
				BgL_safez00_1334 = BgL_safez00_1476;
				{	/* Coerce/apply.scm 37 */
					obj_t BgL_errorzd2msgzd2_1337;

					{	/* Coerce/apply.scm 37 */
						obj_t BgL_arg3539z00_1406;

						obj_t BgL_arg3540z00_1407;

						BgL_arg3539z00_1406 = CNST_TABLE_REF(((long) 6));
						BgL_arg3540z00_1407 =
							BGl_shapez00zztools_shapez00((obj_t) (BgL_nodez00_1331));
						{	/* Coerce/apply.scm 37 */
							obj_t BgL_list3541z00_1408;

							{	/* Coerce/apply.scm 37 */
								obj_t BgL_arg3542z00_1409;

								BgL_arg3542z00_1409 = MAKE_PAIR(BgL_arg3540z00_1407, BNIL);
								BgL_list3541z00_1408 =
									MAKE_PAIR(BgL_arg3539z00_1406, BgL_arg3542z00_1409);
							}
							BgL_errorzd2msgzd2_1337 = BgL_list3541z00_1408;
					}}
					{	/* Coerce/apply.scm 39 */
						BgL_nodez00_bglt BgL_arg3476z00_1338;

						{	/* Coerce/apply.scm 39 */
							BgL_nodez00_bglt BgL_arg3477z00_1339;

							BgL_arg3477z00_1339 =
								(((BgL_appzd2lyzd2_bglt) CREF(BgL_nodez00_1331))->BgL_argz00);
							BgL_arg3476z00_1338 =
								BGl_coercez12z12zzcoerce_coercez00(BgL_arg3477z00_1339,
								BgL_callerz00_1332,
								(BgL_typez00_bglt) (BGl_za2objza2z00zztype_cachez00),
								CBOOL(BgL_safez00_1334));
						}
						((((BgL_appzd2lyzd2_bglt) CREF(BgL_nodez00_1331))->BgL_argz00) =
							((BgL_nodez00_bglt) BgL_arg3476z00_1338), BUNSPEC);
					}
					{	/* Coerce/apply.scm 41 */
						BgL_nodez00_bglt BgL_czd2funzd2_1340;

						{	/* Coerce/apply.scm 41 */
							BgL_nodez00_bglt BgL_arg3538z00_1405;

							BgL_arg3538z00_1405 =
								(((BgL_appzd2lyzd2_bglt) CREF(BgL_nodez00_1331))->BgL_funz00);
							BgL_czd2funzd2_1340 =
								BGl_coercez12z12zzcoerce_coercez00(BgL_arg3538z00_1405,
								BgL_callerz00_1332,
								(BgL_typez00_bglt) (BGl_za2procedureza2z00zztype_cachez00),
								CBOOL(BgL_safez00_1334));
						}
						if (CBOOL(BGl_za2unsafezd2arityza2zd2zzengine_paramz00))
							{	/* Coerce/apply.scm 45 */
								bool_t BgL_testz00_1615;

								{	/* Coerce/apply.scm 45 */
									obj_t BgL_obj2259z00_1446;

									BgL_obj2259z00_1446 = (obj_t) (BgL_czd2funzd2_1340);
									BgL_testz00_1615 =
										BGl_iszd2azf3z21zz__objectz00(BgL_obj2259z00_1446,
										BGl_varz00zzast_nodez00);
								}
								if (BgL_testz00_1615)
									{	/* Coerce/apply.scm 45 */
										((((BgL_appzd2lyzd2_bglt) CREF(BgL_nodez00_1331))->
												BgL_funz00) =
											((BgL_nodez00_bglt) BgL_czd2funzd2_1340), BUNSPEC);
										return (obj_t) (BGl_convertz12z12zzcoerce_convertz00(
												(BgL_nodez00_bglt) (BgL_nodez00_1331),
												(BgL_typez00_bglt) (BGl_za2objza2z00zztype_cachez00),
												(BgL_typez00_bglt) (BgL_toz00_1333),
												CBOOL(BgL_safez00_1334)));
									}
								else
									{	/* Coerce/apply.scm 49 */
										BgL_localz00_bglt BgL_funz00_1342;

										BgL_funz00_1342 =
											BGl_makezd2localzd2svarz00zzast_localz00(CNST_TABLE_REF((
													(long) 9)),
											(BgL_typez00_bglt)
											(BGl_za2procedureza2z00zztype_cachez00));
										{	/* Coerce/apply.scm 51 */
											BgL_varz00_bglt BgL_arg3479z00_1343;

											{	/* Coerce/apply.scm 51 */
												obj_t BgL_arg3480z00_1344;

												BgL_arg3480z00_1344 =
													(((BgL_nodez00_bglt) CREF(BgL_czd2funzd2_1340))->
													BgL_locz00);
												BgL_arg3479z00_1343 =
													BGl_makezd2varzd2zzast_nodez00(BgL_arg3480z00_1344,
													(BgL_typez00_bglt)
													(BGl_za2procedureza2z00zztype_cachez00),
													(BgL_variablez00_bglt) (BgL_funz00_1342));
											}
											{
												BgL_nodez00_bglt BgL_auxz00_1632;

												BgL_auxz00_1632 =
													(BgL_nodez00_bglt) (BgL_arg3479z00_1343);
												((((BgL_appzd2lyzd2_bglt) CREF(BgL_nodez00_1331))->
														BgL_funz00) =
													((BgL_nodez00_bglt) BgL_auxz00_1632), BUNSPEC);
										}}
										{	/* Coerce/apply.scm 55 */
											obj_t BgL_arg3482z00_1345;

											BgL_typez00_bglt BgL_arg3483z00_1346;

											obj_t BgL_arg3485z00_1348;

											BgL_nodez00_bglt BgL_arg3486z00_1349;

											{
												BgL_nodez00_bglt BgL_auxz00_1635;

												BgL_auxz00_1635 = (BgL_nodez00_bglt) (BgL_nodez00_1331);
												BgL_arg3482z00_1345 =
													(((BgL_nodez00_bglt) CREF(BgL_auxz00_1635))->
													BgL_locz00);
											}
											{
												BgL_nodez00_bglt BgL_auxz00_1638;

												BgL_auxz00_1638 = (BgL_nodez00_bglt) (BgL_nodez00_1331);
												BgL_arg3483z00_1346 =
													(((BgL_nodez00_bglt) CREF(BgL_auxz00_1638))->
													BgL_typez00);
											}
											{	/* Coerce/apply.scm 57 */
												obj_t BgL_arg3487z00_1350;

												BgL_arg3487z00_1350 =
													MAKE_PAIR(
													(obj_t) (BgL_funz00_1342),
													(obj_t) (BgL_czd2funzd2_1340));
												{	/* Coerce/apply.scm 57 */
													obj_t BgL_list3488z00_1351;

													BgL_list3488z00_1351 =
														MAKE_PAIR(BgL_arg3487z00_1350, BNIL);
													BgL_arg3485z00_1348 = BgL_list3488z00_1351;
											}}
											BgL_arg3486z00_1349 =
												BGl_convertz12z12zzcoerce_convertz00(
												(BgL_nodez00_bglt) (BgL_nodez00_1331),
												(BgL_typez00_bglt) (BGl_za2objza2z00zztype_cachez00),
												(BgL_typez00_bglt) (BgL_toz00_1333),
												CBOOL(BgL_safez00_1334));
											return
												(obj_t) (BGl_makezd2letzd2varz00zzast_nodez00
												(BgL_arg3482z00_1345, BgL_arg3483z00_1346, BUNSPEC,
													BINT(((long) -1)), BgL_arg3485z00_1348,
													BgL_arg3486z00_1349, ((bool_t) 1)));
							}}}
						else
							{	/* Coerce/apply.scm 59 */
								BgL_localz00_bglt BgL_funz00_1352;

								BgL_funz00_1352 =
									BGl_makezd2localzd2svarz00zzast_localz00(CNST_TABLE_REF((
											(long) 9)),
									(BgL_typez00_bglt) (BGl_za2procedureza2z00zztype_cachez00));
								{	/* Coerce/apply.scm 59 */
									BgL_localz00_bglt BgL_valz00_1353;

									BgL_valz00_1353 =
										BGl_makezd2localzd2svarz00zzast_localz00(CNST_TABLE_REF((
												(long) 10)),
										(BgL_typez00_bglt)
										(BGl_za2pairzd2nilza2zd2zztype_cachez00));
									{	/* Coerce/apply.scm 60 */
										obj_t BgL_locz00_1354;

										{
											BgL_nodez00_bglt BgL_auxz00_1659;

											BgL_auxz00_1659 = (BgL_nodez00_bglt) (BgL_nodez00_1331);
											BgL_locz00_1354 =
												(((BgL_nodez00_bglt) CREF(BgL_auxz00_1659))->
												BgL_locz00);
										}
										{	/* Coerce/apply.scm 61 */
											BgL_nodez00_bglt BgL_lvalz00_1355;

											{	/* Coerce/apply.scm 62 */
												obj_t BgL_arg3533z00_1401;

												{	/* Coerce/apply.scm 62 */
													obj_t BgL_arg3535z00_1402;

													obj_t BgL_arg3536z00_1403;

													BgL_arg3535z00_1402 = CNST_TABLE_REF(((long) 11));
													{	/* Coerce/apply.scm 62 */
														obj_t BgL_list3537z00_1404;

														BgL_list3537z00_1404 = MAKE_PAIR(BNIL, BNIL);
														BgL_arg3536z00_1403 =
															BGl_consza2za2zz__r4_pairs_and_lists_6_3z00(
															(obj_t) (BgL_valz00_1353), BgL_list3537z00_1404);
													}
													BgL_arg3533z00_1401 =
														MAKE_PAIR(BgL_arg3535z00_1402, BgL_arg3536z00_1403);
												}
												BgL_lvalz00_1355 =
													BGl_topzd2levelzd2sexpzd2ze3nodez31zzast_sexpz00
													(BgL_arg3533z00_1401, BgL_locz00_1354);
											}
											{	/* Coerce/apply.scm 62 */
												obj_t BgL_lenz00_1356;

												BgL_lenz00_1356 =
													BGl_gensymz00zz__r4_symbols_6_4z00(CNST_TABLE_REF((
															(long) 12)));
												{	/* Coerce/apply.scm 63 */
													BgL_letzd2varzd2_bglt BgL_lnodez00_1357;

													{	/* Coerce/apply.scm 64 */
														obj_t BgL_arg3492z00_1361;

														BgL_nodez00_bglt BgL_arg3493z00_1362;

														{	/* Coerce/apply.scm 67 */
															obj_t BgL_arg3494z00_1363;

															obj_t BgL_arg3495z00_1364;

															BgL_arg3494z00_1363 =
																MAKE_PAIR(
																(obj_t) (BgL_funz00_1352),
																(obj_t) (BgL_czd2funzd2_1340));
															{	/* Coerce/apply.scm 68 */
																BgL_nodez00_bglt BgL_arg3498z00_1367;

																BgL_arg3498z00_1367 =
																	(((BgL_appzd2lyzd2_bglt)
																		CREF(BgL_nodez00_1331))->BgL_argz00);
																BgL_arg3495z00_1364 =
																	MAKE_PAIR((obj_t) (BgL_valz00_1353),
																	(obj_t) (BgL_arg3498z00_1367));
															}
															{	/* Coerce/apply.scm 67 */
																obj_t BgL_list3496z00_1365;

																{	/* Coerce/apply.scm 67 */
																	obj_t BgL_arg3497z00_1366;

																	BgL_arg3497z00_1366 =
																		MAKE_PAIR(BgL_arg3495z00_1364, BNIL);
																	BgL_list3496z00_1365 =
																		MAKE_PAIR(BgL_arg3494z00_1363,
																		BgL_arg3497z00_1366);
																}
																BgL_arg3492z00_1361 = BgL_list3496z00_1365;
														}}
														{	/* Coerce/apply.scm 70 */
															obj_t BgL_arg3499z00_1368;

															{	/* Coerce/apply.scm 70 */
																obj_t BgL_arg3500z00_1369;

																obj_t BgL_arg3501z00_1370;

																BgL_arg3500z00_1369 =
																	CNST_TABLE_REF(((long) 13));
																{	/* Coerce/apply.scm 70 */
																	obj_t BgL_arg3502z00_1371;

																	obj_t BgL_arg3503z00_1372;

																	{	/* Coerce/apply.scm 70 */
																		obj_t BgL_arg3507z00_1376;

																		{	/* Coerce/apply.scm 70 */
																			obj_t BgL_arg3509z00_1378;

																			obj_t BgL_arg3510z00_1379;

																			{	/* Coerce/apply.scm 70 */
																				obj_t BgL_arg3511z00_1380;

																				{	/* Coerce/apply.scm 70 */
																					obj_t BgL_arg3512z00_1381;

																					obj_t BgL_arg3513z00_1382;

																					{	/* Coerce/apply.scm 70 */
																						obj_t BgL_res3552z00_1462;

																						{	/* Coerce/apply.scm 70 */
																							obj_t BgL_symbolz00_1460;

																							BgL_symbolz00_1460 =
																								BgL_lenz00_1356;
																							{	/* Coerce/apply.scm 70 */
																								obj_t BgL_arg2063z00_1461;

																								BgL_arg2063z00_1461 =
																									SYMBOL_TO_STRING
																									(BgL_symbolz00_1460);
																								BgL_res3552z00_1462 =
																									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																									(BgL_arg2063z00_1461);
																						}}
																						BgL_arg3512z00_1381 =
																							BgL_res3552z00_1462;
																					}
																					{	/* Coerce/apply.scm 70 */
																						obj_t BgL_res3553z00_1465;

																						{	/* Coerce/apply.scm 70 */
																							obj_t BgL_symbolz00_1463;

																							BgL_symbolz00_1463 =
																								CNST_TABLE_REF(((long) 14));
																							{	/* Coerce/apply.scm 70 */
																								obj_t BgL_arg2063z00_1464;

																								BgL_arg2063z00_1464 =
																									SYMBOL_TO_STRING
																									(BgL_symbolz00_1463);
																								BgL_res3553z00_1465 =
																									BGl_stringzd2copyzd2zz__r4_strings_6_7z00
																									(BgL_arg2063z00_1464);
																						}}
																						BgL_arg3513z00_1382 =
																							BgL_res3553z00_1465;
																					}
																					{	/* Coerce/apply.scm 70 */
																						obj_t BgL_list3514z00_1383;

																						{	/* Coerce/apply.scm 70 */
																							obj_t BgL_arg3515z00_1384;

																							BgL_arg3515z00_1384 =
																								MAKE_PAIR(BgL_arg3513z00_1382,
																								BNIL);
																							BgL_list3514z00_1383 =
																								MAKE_PAIR(BgL_arg3512z00_1381,
																								BgL_arg3515z00_1384);
																						}
																						BgL_arg3511z00_1380 =
																							BGl_stringzd2appendzd2zz__r4_strings_6_7z00
																							(BgL_list3514z00_1383);
																				}}
																				BgL_arg3509z00_1378 =
																					string_to_symbol(BSTRING_TO_STRING
																					(BgL_arg3511z00_1380));
																			}
																			{	/* Coerce/apply.scm 71 */
																				BgL_nodez00_bglt BgL_arg3517z00_1385;

																				BgL_arg3517z00_1385 =
																					BGl_coercez12z12zzcoerce_coercez00
																					(BgL_lvalz00_1355, BgL_callerz00_1332,
																					(BgL_typez00_bglt)
																					(BGl_za2intza2z00zztype_cachez00),
																					CBOOL(BgL_safez00_1334));
																				{	/* Coerce/apply.scm 70 */
																					obj_t BgL_list3519z00_1387;

																					BgL_list3519z00_1387 =
																						MAKE_PAIR(BNIL, BNIL);
																					BgL_arg3510z00_1379 =
																						BGl_consza2za2zz__r4_pairs_and_lists_6_3z00
																						((obj_t) (BgL_arg3517z00_1385),
																						BgL_list3519z00_1387);
																			}}
																			BgL_arg3507z00_1376 =
																				MAKE_PAIR(BgL_arg3509z00_1378,
																				BgL_arg3510z00_1379);
																		}
																		BgL_arg3502z00_1371 =
																			MAKE_PAIR(BgL_arg3507z00_1376, BNIL);
																	}
																	{	/* Coerce/apply.scm 75 */
																		obj_t BgL_arg3520z00_1388;

																		obj_t BgL_arg3521z00_1389;

																		BgL_arg3520z00_1388 =
																			CNST_TABLE_REF(((long) 15));
																		{	/* Coerce/apply.scm 75 */
																			obj_t BgL_arg3522z00_1390;

																			BgL_nodez00_bglt BgL_arg3523z00_1391;

																			BgL_nodez00_bglt BgL_arg3524z00_1392;

																			{	/* Coerce/apply.scm 75 */
																				obj_t BgL_arg3529z00_1397;

																				obj_t BgL_arg3530z00_1398;

																				BgL_arg3529z00_1397 =
																					CNST_TABLE_REF(((long) 16));
																				{	/* Coerce/apply.scm 75 */
																					obj_t BgL_list3531z00_1399;

																					{	/* Coerce/apply.scm 75 */
																						obj_t BgL_arg3532z00_1400;

																						BgL_arg3532z00_1400 =
																							MAKE_PAIR(BNIL, BNIL);
																						BgL_list3531z00_1399 =
																							MAKE_PAIR(BgL_lenz00_1356,
																							BgL_arg3532z00_1400);
																					}
																					BgL_arg3530z00_1398 =
																						BGl_consza2za2zz__r4_pairs_and_lists_6_3z00
																						((obj_t) (BgL_funz00_1352),
																						BgL_list3531z00_1399);
																				}
																				BgL_arg3522z00_1390 =
																					MAKE_PAIR(BgL_arg3529z00_1397,
																					BgL_arg3530z00_1398);
																			}
																			BgL_arg3523z00_1391 =
																				BGl_convertz12z12zzcoerce_convertz00(
																				(BgL_nodez00_bglt) (BgL_nodez00_1331),
																				(BgL_typez00_bglt)
																				(BGl_za2objza2z00zztype_cachez00),
																				(BgL_typez00_bglt) (BgL_toz00_1333),
																				CBOOL(BgL_safez00_1334));
																			BgL_arg3524z00_1392 =
																				BGl_makezd2errorzd2nodez00zzcoerce_applyz00
																				(BgL_errorzd2msgzd2_1337,
																				BgL_locz00_1354, BgL_callerz00_1332,
																				BgL_toz00_1333);
																			{	/* Coerce/apply.scm 75 */
																				obj_t BgL_list3526z00_1394;

																				{	/* Coerce/apply.scm 75 */
																					obj_t BgL_arg3527z00_1395;

																					{	/* Coerce/apply.scm 75 */
																						obj_t BgL_arg3528z00_1396;

																						BgL_arg3528z00_1396 =
																							MAKE_PAIR(BNIL, BNIL);
																						BgL_arg3527z00_1395 =
																							MAKE_PAIR(
																							(obj_t) (BgL_arg3524z00_1392),
																							BgL_arg3528z00_1396);
																					}
																					BgL_list3526z00_1394 =
																						MAKE_PAIR(
																						(obj_t) (BgL_arg3523z00_1391),
																						BgL_arg3527z00_1395);
																				}
																				BgL_arg3521z00_1389 =
																					BGl_consza2za2zz__r4_pairs_and_lists_6_3z00
																					(BgL_arg3522z00_1390,
																					BgL_list3526z00_1394);
																		}}
																		BgL_arg3503z00_1372 =
																			MAKE_PAIR(BgL_arg3520z00_1388,
																			BgL_arg3521z00_1389);
																	}
																	{	/* Coerce/apply.scm 70 */
																		obj_t BgL_list3505z00_1374;

																		{	/* Coerce/apply.scm 70 */
																			obj_t BgL_arg3506z00_1375;

																			BgL_arg3506z00_1375 =
																				MAKE_PAIR(BNIL, BNIL);
																			BgL_list3505z00_1374 =
																				MAKE_PAIR(BgL_arg3503z00_1372,
																				BgL_arg3506z00_1375);
																		}
																		BgL_arg3501z00_1370 =
																			BGl_consza2za2zz__r4_pairs_and_lists_6_3z00
																			(BgL_arg3502z00_1371,
																			BgL_list3505z00_1374);
																}}
																BgL_arg3499z00_1368 =
																	MAKE_PAIR(BgL_arg3500z00_1369,
																	BgL_arg3501z00_1370);
															}
															BgL_arg3493z00_1362 =
																BGl_topzd2levelzd2sexpzd2ze3nodez31zzast_sexpz00
																(BgL_arg3499z00_1368, BgL_locz00_1354);
														}
														BgL_lnodez00_1357 =
															BGl_makezd2letzd2varz00zzast_nodez00
															(BgL_locz00_1354,
															(BgL_typez00_bglt)
															(BGl_za2objza2z00zztype_cachez00), BUNSPEC,
															BINT(((long) -1)), BgL_arg3492z00_1361,
															BgL_arg3493z00_1362, ((bool_t) 1));
													}
													{	/* Coerce/apply.scm 64 */

														{	/* Coerce/apply.scm 83 */
															BgL_varz00_bglt BgL_arg3489z00_1358;

															BgL_arg3489z00_1358 =
																BGl_makezd2varzd2zzast_nodez00(BgL_locz00_1354,
																(BgL_typez00_bglt)
																(BGl_za2procedureza2z00zztype_cachez00),
																(BgL_variablez00_bglt) (BgL_funz00_1352));
															{
																BgL_nodez00_bglt BgL_auxz00_1729;

																BgL_auxz00_1729 =
																	(BgL_nodez00_bglt) (BgL_arg3489z00_1358);
																((((BgL_appzd2lyzd2_bglt)
																			CREF(BgL_nodez00_1331))->BgL_funz00) =
																	((BgL_nodez00_bglt) BgL_auxz00_1729),
																	BUNSPEC);
														}}
														{	/* Coerce/apply.scm 87 */
															BgL_varz00_bglt BgL_arg3490z00_1359;

															BgL_arg3490z00_1359 =
																BGl_makezd2varzd2zzast_nodez00(BgL_locz00_1354,
																(BgL_typez00_bglt)
																(BGl_za2objza2z00zztype_cachez00),
																(BgL_variablez00_bglt) (BgL_valz00_1353));
															{
																BgL_nodez00_bglt BgL_auxz00_1735;

																BgL_auxz00_1735 =
																	(BgL_nodez00_bglt) (BgL_arg3490z00_1359);
																((((BgL_appzd2lyzd2_bglt)
																			CREF(BgL_nodez00_1331))->BgL_argz00) =
																	((BgL_nodez00_bglt) BgL_auxz00_1735),
																	BUNSPEC);
														}}
														return (obj_t) (BgL_lnodez00_1357);
													}
												}
											}
										}
									}
								}
							}
					}
				}
			}
		}
	}