Пример #1
0
static void Z124_lambda(CL_FORM *base)
{
	if(CL_SMSTRP(ARG(1)))
	{
		COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(2));
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
		Ffuncall(ARG(2), 2);
		COPY(ARG(2), ARG(0));
	}
	else
	{
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(2));
			if(CL_SYMBOLP(ARG(2)) && GET_SYMBOL(ARG(2)) == SYMBOL(Slisp, 255))	/* CHARACTER-SET */
			{
				LOAD_SYMBOL(SYMBOL(Slisp, 255), ARG(3));	/* CHARACTER-SET */
				COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(4));
				COPY(GET_CDR(ARG(1)), ARG(5));
				Ffuncall(ARG(4), 2);
				mv_count = 1;
				ALLOC_CONS(ARG(5), ARG(3), ARG(4), ARG(0));
			}
			else
			{
				COPY(ARG(1), ARG(0));
			}
		}
		else
		{
			COPY(ARG(1), ARG(0));
		}
	}
}
Пример #2
0
static void Z77_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2));
	if(CL_SYMBOLP(ARG(2)))
	{
		COPY(SYM_VALUE(ARG(2)), ARG(2));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			COPY(SYMVAL(Slisp, 676), ARG(3));	/* SYM_EXPECTED */
			COPY(ARG(2), ARG(4));
			Ferror(ARG(3), 2);
		}
		else
		{
			LOAD_NIL(ARG(2));
		}
	}
	stream_unreadc(ARG(2));
	COPY(ARG(1), ARG(3));
	Ffuncall(ARG(2), 2);
	COPY(ARG(2), ARG(0));
}
Пример #3
0
static void Z36_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
	COPY(ARG(2), ARG(4));
	Ffuncall(ARG(3), 2);
	COPY(ARG(3), ARG(0));
}
Пример #4
0
static void Z86_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2));
	if(CL_CONSP(ARG(2)))
	{
		COPY(GET_CAR(ARG(2)), ARG(2));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(3));	/* ~a is not a list */
			COPY(ARG(2), ARG(4));
			Ferror(ARG(3), 2);
		}
		else
		{
			LOAD_NIL(ARG(2));
		}
	}
	stream_unreadc(ARG(2));
	COPY(ARG(1), ARG(3));
	Ffuncall(ARG(2), 2);
	COPY(ARG(2), ARG(0));
}
Пример #5
0
static void Z87_readc(CL_FORM *base)
{
	if(CL_TRUEP(INDIRECT(GET_FORM(ARG(0)) + 3)))
	{
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(1));
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(1));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2));	/* ~a is not a list */
			COPY(ARG(1), ARG(3));
			Ferror(ARG(2), 2);
		}
		stream_readc(ARG(1));
		Ffuncall(ARG(1), 1);
		mv_count = 1;
		if(CL_TRUEP(ARG(1)))
		{
			COPY(ARG(1), ARG(0));
		}
		else
		{
			if(CL_CONSP(INDIRECT(GET_FORM(ARG(0)) + 3)))
			{
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2));	/* ~a is not a list */
				COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
				Ferror(ARG(2), 2);
			}
			COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2));
			COPY(ARG(2), ARG(3));
			if(CL_CONSP(ARG(3)))
			{
				COPY(GET_CDR(ARG(3)), INDIRECT(GET_FORM(ARG(0)) + 3));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(4));	/* ~a is not a list */
				COPY(ARG(3), ARG(5));
				Ferror(ARG(4), 2);
			}
			COPY(ARG(0), ARG(2));
			Z87_readc(ARG(2));
			COPY(ARG(2), ARG(0));
		}
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
Пример #6
0
void Fget_output_stream_string(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	stream_type(ARG(1));
	if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 102))	/* STRING-OUTPUT */
	{
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[268], ARG(1));	/* string-output-stream expected */
		Ferror(ARG(1), 1);
	}
	stream_extra(ARG(0));
	Ffuncall(ARG(0), 1);
}
Пример #7
0
static void Z35_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
	COPY(ARG(2), ARG(4));
	Ffuncall(ARG(3), 2);
	mv_count = 1;
	if(CL_TRUEP(ARG(3)))
	{
		LOAD_NIL(ARG(0));
	}
	else
	{
		LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
	}
}
Пример #8
0
static void Z123_diddle_with(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(0), ARG(2));
	GEN_HEAPVAR(ARG(1), ARG(2));
	COPY(INDIRECT(ARG(1)), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(3));	/* PATTERN */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		GEN_CLOSURE(array, ARG(2), 5, Z124_lambda, 1);
		COPY(ARG(1), &array[3]);
		COPY(ARG(0), &array[4]);
		LOAD_CLOSURE(array, ARG(2));
		COPY(ARG(2), ARG(2));
		COPY(INDIRECT(ARG(1)), ARG(3));
		pattern_pieces(ARG(3));
		Fmapcar(ARG(2), 2);
		LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(0));	/* PATTERN */
		COPY(ARG(2), ARG(1));
		rt_make_struct(ARG(0), 2);
	}
	else
	{
		if(CL_LISTP(INDIRECT(ARG(1))))
		{
			COPY(INDIRECT(ARG(0)), ARG(0));
			COPY(INDIRECT(ARG(1)), ARG(1));
			Fmapcar(ARG(0), 2);
		}
		else
		{
			if(CL_SMSTRP(INDIRECT(ARG(1))))
			{
				COPY(INDIRECT(ARG(0)), ARG(0));
				COPY(INDIRECT(ARG(1)), ARG(1));
				Ffuncall(ARG(0), 2);
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kmaybe_diddle_case[2], ARG(0));	/* etypecase: the value ~a is not a legal value */
				COPY(INDIRECT(ARG(1)), ARG(1));
				Ferror(ARG(0), 2);
			}
		}
	}
}
Пример #9
0
static emacs_value
module_funcall (emacs_env *env, emacs_value fun, ptrdiff_t nargs,
		emacs_value args[])
{
  MODULE_FUNCTION_BEGIN (module_nil);

  /* Make a new Lisp_Object array starting with the function as the
     first arg, because that's what Ffuncall takes.  */
  Lisp_Object *newargs;
  USE_SAFE_ALLOCA;
  SAFE_ALLOCA_LISP (newargs, nargs + 1);
  newargs[0] = value_to_lisp (fun);
  for (ptrdiff_t i = 0; i < nargs; i++)
    newargs[1 + i] = value_to_lisp (args[i]);
  emacs_value result = lisp_to_value (Ffuncall (nargs + 1, newargs));
  SAFE_FREE ();
  return result;
}
Пример #10
0
void fresh_line1(CL_FORM *base)
{
	if(CL_TRUEP(ARG(0)))
	{
		if(CL_SYMBOLP(ARG(0)) && GET_SYMBOL(ARG(0)) == SYMBOL(Slisp, 48))	/* T */
		{
			COPY(SYMVAL(Slisp, 59), ARG(0));	/* *TERMINAL-IO* */
		}
	}
	else
	{
		COPY(SYMVAL(Slisp, 61), ARG(0));	/* *STANDARD-OUTPUT* */
	}
	COPY(ARG(0), ARG(1));
	COPY(ARG(1), ARG(2));
	COPY(ARG(2), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(4));	/* STREAM */
	rt_struct_typep(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 5 + 1), ARG(1));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(3));	/* STREAM */
		Ferror(ARG(1), 3);
	}
	Ffuncall(ARG(1), 1);
	mv_count = 1;
	if(CL_FIXNUMP(ARG(1)) && GET_FIXNUM(ARG(1)) == 0)
	{
		LOAD_NIL(ARG(0));
	}
	else
	{
		LOAD_CHAR(ARG(1), '\n', ARG(1));
		COPY(ARG(0), ARG(2));
		write_char1(ARG(1));
		COPY(ARG(1), ARG(0));
	}
}
Пример #11
0
void rt_do_external_symbols_iterator(CL_FORM *base)
{
	COPY(ARG(1), ARG(2));
	Ppackage_external(ARG(2));
	COPY(SYMVAL(Slisp, 372), ARG(3));	/* PACKAGE-HASHTAB-SIZE */
	LOAD_SMALLFIXNUM(0, ARG(4));
	M1_1:;
	COPY(ARG(4), ARG(5));
	COPY(ARG(3), ARG(6));
	Fge(ARG(5), 2);
	if(CL_TRUEP(ARG(5)))
	{
		LOAD_NIL(ARG(0));
		goto RETURN1;
	}
	LOAD_NIL(ARG(5));
	COPY(ARG(2), ARG(6));
	COPY(ARG(4), ARG(7));
	Fsvref(ARG(6));
	M2_1:;
	if(CL_ATOMP(ARG(6)))
	{
		LOAD_NIL(ARG(5));
		goto RETURN2;
	}
	COPY(ARG(6), ARG(7));
	COPY(GET_CAR(ARG(7)), ARG(5));
	COPY(ARG(0), ARG(7));
	COPY(ARG(5), ARG(8));
	Ffuncall(ARG(7), 2);
	mv_count = 1;
	COPY(ARG(6), ARG(7));
	COPY(GET_CDR(ARG(7)), ARG(6));
	goto M2_1;
	RETURN2:;
	F1plus(ARG(4));
	goto M1_1;
	RETURN1:;
}
Пример #12
0
void quick_sort(CL_FORM *base)
{
    LOAD_FIXNUM(ARG(5), 0, ARG(5));
    LOAD_FIXNUM(ARG(6), 0, ARG(6));
    COPY(ARG(2), ARG(7));
    COPY(ARG(1), ARG(8));
    F1plus(ARG(8));
    Fle(ARG(7), 2);
    if(CL_TRUEP(ARG(7)))
    {
        goto RETURN1;
    }
    COPY(ARG(1), ARG(5));
    COPY(ARG(2), ARG(6));
    F1minus(ARG(6));
    COPY(ARG(0), ARG(7));
    COPY(ARG(1), ARG(8));
    Felt(ARG(7));
M1_1:
    ;
    COPY(ARG(5), ARG(8));
    COPY(ARG(6), ARG(9));
    Fgt(ARG(8), 2);
    if(CL_TRUEP(ARG(8)))
    {
        goto RETURN2;
    }
M2_1:
    ;
    COPY(ARG(5), ARG(8));
    COPY(ARG(6), ARG(9));
    Fgt(ARG(8), 2);
    if(CL_TRUEP(ARG(8)))
    {
        goto THEN1;
    }
    else
    {
        COPY(ARG(3), ARG(9));
        COPY(ARG(4), ARG(10));
        COPY(ARG(0), ARG(11));
        COPY(ARG(6), ARG(12));
        Felt(ARG(11));
        Ffuncall(ARG(10), 2);
        mv_count = 1;
        COPY(ARG(4), ARG(11));
        COPY(ARG(7), ARG(12));
        Ffuncall(ARG(11), 2);
        mv_count = 1;
        Ffuncall(ARG(9), 3);
        mv_count = 1;
    }
    if(CL_TRUEP(ARG(9)))
    {
THEN1:
        ;
        goto RETURN3;
    }
    F1minus(ARG(6));
    goto M2_1;
RETURN3:
    ;
    COPY(ARG(6), ARG(8));
    COPY(ARG(1), ARG(9));
    Flt(ARG(8), 2);
    if(CL_TRUEP(ARG(8)))
    {
        COPY(ARG(0), ARG(8));
        COPY(ARG(1), ARG(9));
        F1plus(ARG(9));
        COPY(ARG(2), ARG(10));
        COPY(ARG(3), ARG(11));
        COPY(ARG(4), ARG(12));
        quick_sort(ARG(8));
        goto RETURN1;
    }
M3_1:
    ;
    COPY(ARG(5), ARG(8));
    COPY(ARG(6), ARG(9));
    Fgt(ARG(8), 2);
    if(CL_TRUEP(ARG(8)))
    {
        goto THEN2;
    }
    else
    {
        COPY(ARG(3), ARG(9));
        COPY(ARG(4), ARG(10));
        COPY(ARG(0), ARG(11));
        COPY(ARG(5), ARG(12));
        Felt(ARG(11));
        Ffuncall(ARG(10), 2);
        mv_count = 1;
        COPY(ARG(4), ARG(11));
        COPY(ARG(7), ARG(12));
        Ffuncall(ARG(11), 2);
        mv_count = 1;
        Ffuncall(ARG(9), 3);
        mv_count = 1;
        if(CL_TRUEP(ARG(9)))
        {
            goto ELSE3;
        }
        else
        {
            goto THEN2;
        }
    }
    {
THEN2:
        ;
        goto RETURN4;
    }
ELSE3:
    ;
    F1plus(ARG(5));
    goto M3_1;
RETURN4:
    ;
    COPY(ARG(5), ARG(8));
    COPY(ARG(6), ARG(9));
    Fgt(ARG(8), 2);
    if(CL_TRUEP(ARG(8)))
    {
        goto RETURN2;
    }
    COPY(ARG(0), ARG(8));
    COPY(ARG(5), ARG(9));
    Felt(ARG(8));
    COPY(ARG(0), ARG(9));
    COPY(ARG(6), ARG(10));
    Felt(ARG(9));
    COPY(ARG(0), ARG(10));
    COPY(ARG(5), ARG(11));
    Fset_elt(ARG(9));
    COPY(ARG(8), ARG(9));
    COPY(ARG(0), ARG(10));
    COPY(ARG(6), ARG(11));
    Fset_elt(ARG(9));
    F1plus(ARG(5));
    F1minus(ARG(6));
    goto M1_1;
RETURN2:
    ;
    COPY(ARG(0), ARG(7));
    COPY(ARG(1), ARG(8));
    COPY(ARG(5), ARG(9));
    COPY(ARG(3), ARG(10));
    COPY(ARG(4), ARG(11));
    quick_sort(ARG(7));
    COPY(ARG(0), ARG(7));
    COPY(ARG(5), ARG(8));
    COPY(ARG(2), ARG(9));
    COPY(ARG(3), ARG(10));
    COPY(ARG(4), ARG(11));
    quick_sort(ARG(7));
RETURN1:
    ;
}
Пример #13
0
void set_difference1(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(3), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(3))))
		{
			GEN_CLOSURE(array, ARG(5), 4, Z4_lambda, -1);
			COPY(ARG(3), &array[3]);
			LOAD_CLOSURE(array, ARG(5));
			COPY(ARG(5), ARG(2));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(2));
		}
	}
	LOAD_NIL(ARG(5));
	LOAD_NIL(ARG(6));
	COPY(ARG(0), ARG(7));
	M1_1:;
	if(CL_ATOMP(ARG(7)))
	{
		LOAD_NIL(ARG(6));
		goto RETURN1;
	}
	COPY(ARG(7), ARG(8));
	COPY(GET_CAR(ARG(8)), ARG(6));
	if(CL_TRUEP(ARG(4)))
	{
		COPY(ARG(4), ARG(8));
		COPY(ARG(6), ARG(9));
		Ffuncall(ARG(8), 2);
		mv_count = 1;
	}
	else
	{
		COPY(ARG(6), ARG(8));
	}
	COPY(ARG(1), ARG(9));
	COPY(ARG(2), ARG(10));
	COPY(ARG(4), ARG(11));
	COPY(ARG(8), ARG(12));
	COPY(ARG(9), ARG(13));
	COPY(ARG(10), ARG(14));
	LOAD_NIL(ARG(15));
	COPY(ARG(11), ARG(16));
	member1(ARG(12));
	if(CL_TRUEP(ARG(12)))
	{
	}
	else
	{
		ALLOC_CONS(ARG(10), ARG(6), ARG(5), ARG(5));
	}
	COPY(ARG(7), ARG(8));
	COPY(GET_CDR(ARG(8)), ARG(7));
	goto M1_1;
	RETURN1:;
	COPY(ARG(5), ARG(0));
}
Пример #14
0
void write_to_string1(CL_FORM *base)
{
	BIND_SPECIAL(SYMBOL(Slisp, 474), ARG(1));	/* *PRINT-ESCAPE* */
	BIND_SPECIAL(SYMBOL(Slisp, 479), ARG(2));	/* *PRINT-RADIX* */
	BIND_SPECIAL(SYMBOL(Slisp, 471), ARG(3));	/* *PRINT-BASE* */
	BIND_SPECIAL(SYMBOL(Slisp, 473), ARG(4));	/* *PRINT-CIRCLE* */
	BIND_SPECIAL(SYMBOL(Slisp, 478), ARG(5));	/* *PRINT-PRETTY* */
	BIND_SPECIAL(SYMBOL(Slisp, 477), ARG(6));	/* *PRINT-LEVEL* */
	BIND_SPECIAL(SYMBOL(Slisp, 476), ARG(7));	/* *PRINT-LENGTH* */
	BIND_SPECIAL(SYMBOL(Slisp, 472), ARG(8));	/* *PRINT-CASE* */
	BIND_SPECIAL(SYMBOL(Slisp, 475), ARG(9));	/* *PRINT-GENSYM* */
	BIND_SPECIAL(SYMBOL(Slisp, 470), ARG(10));	/* *PRINT-ARRAY* */
	LOAD_FIXNUM(ARG(11), 10, ARG(11));
	LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(12));	/* CHARACTER */
	LOAD_NIL(ARG(13));
	LOAD_NIL(ARG(14));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(15));	/* T */
	LOAD_FIXNUM(ARG(16), 0, ARG(16));
	LOAD_NIL(ARG(17));
	LOAD_FIXNUM(ARG(18), 0, ARG(18));
	LOAD_NIL(ARG(19));
	LOAD_NIL(ARG(20));
	LOAD_NIL(ARG(21));
	make_array1(ARG(11));
	make_string_output_stream1(ARG(11));
	COPY(ARG(0), ARG(12));
	COPY(ARG(11), ARG(13));
	write2(ARG(12));
	COPY(ARG(11), ARG(12));
	LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(13));	/* STREAM */
	rt_struct_typep(ARG(12));
	if(CL_TRUEP(ARG(12)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(11))), 0 + 1), ARG(12));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(12));	/* NO_STRUCT */
		COPY(ARG(11), ARG(13));
		LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(14));	/* STREAM */
		Ferror(ARG(12), 3);
	}
	if(CL_SYMBOLP(ARG(12)) && GET_SYMBOL(ARG(12)) == SYMBOL(Slisp, 102))	/* STRING-OUTPUT */
	{
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[268], ARG(12));	/* string-output-stream expected */
		Ferror(ARG(12), 1);
	}
	COPY(ARG(11), ARG(12));
	COPY(ARG(12), ARG(13));
	COPY(ARG(13), ARG(14));
	LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(15));	/* STREAM */
	rt_struct_typep(ARG(14));
	if(CL_TRUEP(ARG(14)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(13))), 1 + 1), ARG(12));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(12));	/* NO_STRUCT */
		LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(14));	/* STREAM */
		Ferror(ARG(12), 3);
	}
	Ffuncall(ARG(12), 1);
	COPY(ARG(12), ARG(0));
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
	RESTORE_SPECIAL;
}
Пример #15
0
static void Z122_check_for(CL_FORM *base)
{
	COPY(ARG(1), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(3));	/* PATTERN */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		LOAD_NIL(ARG(2));
		COPY(ARG(1), ARG(3));
		pattern_pieces(ARG(3));
		M1_1:;
		if(CL_ATOMP(ARG(3)))
		{
			LOAD_NIL(ARG(2));
			COPY(ARG(2), ARG(0));
			goto RETURN1;
		}
		COPY(ARG(3), ARG(4));
		COPY(GET_CAR(ARG(4)), ARG(2));
		if(CL_SMSTRP(ARG(2)))
		{
			COPY(ARG(0), ARG(4));
			COPY(ARG(2), ARG(5));
			Z122_check_for(ARG(4));
			bool_result = CL_TRUEP(ARG(4));
		}
		else
		{
			if(CL_CONSP(ARG(2)))
			{
				if(CL_CONSP(ARG(1)))
				{
					COPY(GET_CAR(ARG(1)), ARG(4));
				}
				else
				{
					if(CL_TRUEP(ARG(1)))
					{
						LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(4));	/* ~a is not a list */
						COPY(ARG(1), ARG(5));
						Ferror(ARG(4), 2);
					}
					else
					{
						COPY(ARG(1), ARG(4));
					}
				}
				if(CL_SYMBOLP(ARG(4)) && GET_SYMBOL(ARG(4)) == SYMBOL(Slisp, 255))	/* CHARACTER-SET */
				{
					COPY(ARG(0), ARG(5));
					if(CL_CONSP(ARG(1)))
					{
						COPY(GET_CDR(ARG(1)), ARG(6));
					}
					else
					{
						if(CL_TRUEP(ARG(1)))
						{
							LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(6));	/* ~a is not a list */
							COPY(ARG(1), ARG(7));
							Ferror(ARG(6), 2);
						}
						else
						{
							COPY(ARG(1), ARG(6));
						}
					}
					Z122_check_for(ARG(5));
				}
				else
				{
					goto ELSE1;
				}
			}
			else
			{
				goto ELSE1;
			}
			bool_result = CL_TRUEP(ARG(5));
		}
		if(bool_result)
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
			goto RETURN1;
		}
		ELSE1:;
		COPY(ARG(3), ARG(4));
		COPY(GET_CDR(ARG(4)), ARG(3));
		goto M1_1;
		RETURN1:;
	}
	else
	{
		if(CL_LISTP(ARG(1)))
		{
			LOAD_NIL(ARG(2));
			COPY(ARG(1), ARG(3));
			M2_1:;
			if(CL_ATOMP(ARG(3)))
			{
				LOAD_NIL(ARG(2));
				COPY(ARG(2), ARG(0));
				goto RETURN2;
			}
			COPY(ARG(3), ARG(4));
			COPY(GET_CAR(ARG(4)), ARG(2));
			COPY(ARG(0), ARG(4));
			COPY(ARG(2), ARG(5));
			Z122_check_for(ARG(4));
			if(CL_TRUEP(ARG(4)))
			{
				LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
				goto RETURN2;
			}
			COPY(ARG(3), ARG(4));
			COPY(GET_CDR(ARG(4)), ARG(3));
			goto M2_1;
			RETURN2:;
		}
		else
		{
			if(CL_SMSTRP(ARG(1)))
			{
				COPY(ARG(1), ARG(2));
				Flength(ARG(2));
				LOAD_SMALLFIXNUM(0, ARG(3));
				M3_1:;
				COPY(ARG(3), ARG(4));
				COPY(ARG(2), ARG(5));
				Fge(ARG(4), 2);
				if(CL_TRUEP(ARG(4)))
				{
					LOAD_NIL(ARG(0));
					goto RETURN3;
				}
				COPY(ARG(0), ARG(4));
				COPY(ARG(1), ARG(5));
				COPY(ARG(3), ARG(6));
				Fschar(ARG(5));
				Ffuncall(ARG(4), 2);
				mv_count = 1;
				if(CL_TRUEP(ARG(4)))
				{
					LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
					goto RETURN3;
				}
				F1plus(ARG(3));
				goto M3_1;
				RETURN3:;
			}
			else
			{
				if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 256))	/* UNSPECIFIC */
				{
					LOAD_NIL(ARG(0));
				}
				else
				{
					LOAD_SMSTR((CL_FORM *)&Kmaybe_diddle_case[0], ARG(0));	/* etypecase: the value ~a is not a legal value */
					Ferror(ARG(0), 2);
				}
			}
		}
	}
}
Пример #16
0
void list_position(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(4), ARG(8));
	COPY(ARG(5), ARG(8));
	LOAD_NIL(ARG(9));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(4))))
		{
			GEN_CLOSURE(array, ARG(10), 4, Z161_lambda, -1);
			COPY(ARG(4), &array[3]);
			LOAD_CLOSURE(array, ARG(10));
			COPY(ARG(10), ARG(3));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(3));
		}
	}
	LOAD_NIL(ARG(10));
	COPY(ARG(5), ARG(11));
	COPY(ARG(1), ARG(12));
	Fnthcdr(ARG(11));
	M1_1:;
	if(CL_ATOMP(ARG(11)))
	{
		LOAD_NIL(ARG(10));
		goto RETURN1;
	}
	COPY(ARG(11), ARG(12));
	COPY(GET_CAR(ARG(12)), ARG(10));
	COPY(ARG(8), ARG(12));
	COPY(ARG(6), ARG(13));
	Fge(ARG(12), 2);
	if(CL_TRUEP(ARG(12)))
	{
		goto RETURN1;
	}
	COPY(ARG(3), ARG(12));
	COPY(ARG(0), ARG(13));
	if(CL_TRUEP(ARG(7)))
	{
		COPY(ARG(7), ARG(14));
		COPY(ARG(10), ARG(15));
		Ffuncall(ARG(14), 2);
		mv_count = 1;
	}
	else
	{
		COPY(ARG(10), ARG(14));
	}
	Ffuncall(ARG(12), 3);
	mv_count = 1;
	if(CL_TRUEP(ARG(12)))
	{
		COPY(ARG(8), ARG(9));
		if(CL_TRUEP(ARG(2)))
		{
		}
		else
		{
			goto RETURN1;
		}
	}
	COPY(ARG(8), ARG(12));
	F1plus(ARG(12));
	COPY(ARG(12), ARG(8));
	COPY(ARG(11), ARG(12));
	COPY(GET_CDR(ARG(12)), ARG(11));
	goto M1_1;
	RETURN1:;
	COPY(ARG(9), ARG(0));
}
Пример #17
0
void member1(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(3), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(3))))
		{
			GEN_CLOSURE(array, ARG(5), 4, Z11_lambda, -1);
			COPY(ARG(3), &array[3]);
			LOAD_CLOSURE(array, ARG(5));
			COPY(ARG(5), ARG(2));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(2));
		}
	}
	COPY(ARG(1), ARG(5));
	M1_1:;
	if(CL_TRUEP(ARG(5)))
	{
		COPY(ARG(2), ARG(6));
		COPY(ARG(0), ARG(7));
		if(CL_TRUEP(ARG(4)))
		{
			COPY(ARG(4), ARG(8));
			if(CL_CONSP(ARG(5)))
			{
				COPY(GET_CAR(ARG(5)), ARG(9));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(9));	/* ~a is not a list */
				COPY(ARG(5), ARG(10));
				Ferror(ARG(9), 2);
			}
			Ffuncall(ARG(8), 2);
			mv_count = 1;
		}
		else
		{
			if(CL_CONSP(ARG(5)))
			{
				COPY(GET_CAR(ARG(5)), ARG(8));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(8));	/* ~a is not a list */
				COPY(ARG(5), ARG(9));
				Ferror(ARG(8), 2);
			}
		}
		Ffuncall(ARG(6), 3);
		mv_count = 1;
		if(CL_TRUEP(ARG(6)))
		{
			COPY(ARG(5), ARG(0));
		}
		else
		{
			COPY(ARG(5), ARG(6));
			COPY(ARG(6), ARG(7));
			if(CL_CONSP(ARG(7)))
			{
				COPY(GET_CDR(ARG(7)), ARG(5));
			}
			else
			{
				if(CL_TRUEP(ARG(7)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(5));	/* ~a is not a list */
					COPY(ARG(7), ARG(6));
					Ferror(ARG(5), 2);
				}
				else
				{
					COPY(ARG(7), ARG(5));
				}
			}
			goto M1_1;
		}
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
	goto RETURN1;
	RETURN1:;
}
Пример #18
0
void list_remove(CL_FORM *base)
{
	LOAD_NIL(ARG(8));
	LOAD_NIL(ARG(9));
	ALLOC_CONS(ARG(10), ARG(8), ARG(9), ARG(8));
	LOAD_SMALLFIXNUM(0, ARG(9));
	LOAD_NIL(ARG(10));
	LOAD_NIL(ARG(11));
	ALLOC_CONS(ARG(12), ARG(10), ARG(11), ARG(10));
	LOAD_SMALLFIXNUM(0, ARG(11));
	LOAD_NIL(ARG(12));
	COPY(ARG(1), ARG(13));
	M1_1:;
	if(CL_ATOMP(ARG(13)))
	{
		LOAD_NIL(ARG(12));
		goto RETURN1;
	}
	COPY(ARG(13), ARG(14));
	COPY(GET_CAR(ARG(14)), ARG(12));
	COPY(ARG(11), ARG(14));
	COPY(ARG(5), ARG(15));
	Fge(ARG(14), 2);
	if(CL_TRUEP(ARG(14)))
	{
		goto RETURN1;
	}
	COPY(ARG(11), ARG(14));
	COPY(ARG(4), ARG(15));
	Fge(ARG(14), 2);
	if(CL_TRUEP(ARG(14)))
	{
		COPY(ARG(3), ARG(14));
		COPY(ARG(0), ARG(15));
		if(CL_TRUEP(ARG(7)))
		{
			COPY(ARG(7), ARG(16));
			COPY(ARG(12), ARG(17));
			Ffuncall(ARG(16), 2);
			mv_count = 1;
		}
		else
		{
			COPY(ARG(12), ARG(16));
		}
		Ffuncall(ARG(14), 3);
		mv_count = 1;
	}
	else
	{
		goto ELSE1;
	}
	if(CL_TRUEP(ARG(14)))
	{
		COPY(ARG(11), ARG(14));
		COPY(ARG(8), ARG(15));
		add_q(ARG(14));
		COPY(ARG(9), ARG(14));
		F1plus(ARG(14));
		COPY(ARG(14), ARG(9));
	}
	ELSE1:;
	COPY(ARG(11), ARG(14));
	F1plus(ARG(14));
	COPY(ARG(14), ARG(11));
	COPY(ARG(13), ARG(14));
	COPY(GET_CDR(ARG(14)), ARG(13));
	goto M1_1;
	RETURN1:;
	COPY(ARG(8), ARG(11));
	COPY(ARG(11), ARG(12));
	COPY(GET_CAR(ARG(12)), ARG(8));
	if(CL_TRUEP(ARG(2)))
	{
		LOAD_SMALLFIXNUM(0, ARG(11));
		M2_1:;
		if(CL_TRUEP(ARG(1)))
		{
			if(CL_CONSP(ARG(1)))
			{
				LOAD_NIL(ARG(12));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[233], ARG(12));	/* ~a is not a list */
				COPY(ARG(1), ARG(13));
				Ferror(ARG(12), 2);
			}
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(12));	/* T */
		}
		if(CL_TRUEP(ARG(12)))
		{
			goto THEN2;
		}
		else
		{
			COPY(ARG(11), ARG(13));
			COPY(ARG(5), ARG(14));
			Fge(ARG(13), 2);
		}
		if(CL_TRUEP(ARG(13)))
		{
			THEN2:;
			goto RETURN2;
		}
		COPY(ARG(9), ARG(12));
		COPY(ARG(6), ARG(13));
		Fle(ARG(12), 2);
		if(CL_TRUEP(ARG(12)))
		{
			if(CL_CONSP(ARG(8)))
			{
				COPY(GET_CAR(ARG(8)), ARG(13));
			}
			else
			{
				if(CL_TRUEP(ARG(8)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(13));	/* ~a is not a list */
					COPY(ARG(8), ARG(14));
					Ferror(ARG(13), 2);
				}
				else
				{
					COPY(ARG(8), ARG(13));
				}
			}
		}
		else
		{
			goto ELSE3;
		}
		if(EQL(ARG(11), ARG(13)))
		{
			if(CL_CONSP(ARG(8)))
			{
			}
			else
			{
				if(CL_TRUEP(ARG(8)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(8), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
				}
			}
			COPY(ARG(8), ARG(12));
			COPY(ARG(12), ARG(13));
			if(CL_CONSP(ARG(13)))
			{
				COPY(GET_CDR(ARG(13)), ARG(8));
			}
			else
			{
				if(CL_TRUEP(ARG(13)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(14));	/* ~a is not a list */
					COPY(ARG(13), ARG(15));
					Ferror(ARG(14), 2);
				}
				else
				{
					LOAD_NIL(ARG(8));
				}
			}
			COPY(ARG(9), ARG(12));
			F1minus(ARG(12));
			COPY(ARG(12), ARG(9));
			if(CL_CONSP(ARG(1)))
			{
			}
			else
			{
				if(CL_TRUEP(ARG(1)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(1), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
				}
			}
			COPY(ARG(1), ARG(12));
			COPY(ARG(12), ARG(13));
			if(CL_CONSP(ARG(13)))
			{
				COPY(GET_CDR(ARG(13)), ARG(1));
			}
			else
			{
				if(CL_TRUEP(ARG(13)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(14));	/* ~a is not a list */
					COPY(ARG(13), ARG(15));
					Ferror(ARG(14), 2);
				}
				else
				{
					LOAD_NIL(ARG(1));
				}
			}
		}
		else
		{
			ELSE3:;
			if(CL_CONSP(ARG(1)))
			{
				COPY(GET_CAR(ARG(1)), ARG(12));
			}
			else
			{
				if(CL_TRUEP(ARG(1)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(1), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
					COPY(ARG(1), ARG(12));
				}
			}
			COPY(ARG(1), ARG(13));
			COPY(ARG(13), ARG(14));
			if(CL_CONSP(ARG(14)))
			{
				COPY(GET_CDR(ARG(14)), ARG(1));
			}
			else
			{
				if(CL_TRUEP(ARG(14)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(15));	/* ~a is not a list */
					COPY(ARG(14), ARG(16));
					Ferror(ARG(15), 2);
				}
				else
				{
					LOAD_NIL(ARG(1));
				}
			}
			COPY(ARG(10), ARG(13));
			add_q(ARG(12));
			if(CL_CONSP(ARG(8)))
			{
				COPY(GET_CAR(ARG(8)), ARG(13));
			}
			else
			{
				if(CL_TRUEP(ARG(8)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(13));	/* ~a is not a list */
					COPY(ARG(8), ARG(14));
					Ferror(ARG(13), 2);
				}
				else
				{
					COPY(ARG(8), ARG(13));
				}
			}
			if(EQL(ARG(11), ARG(13)))
			{
				if(CL_CONSP(ARG(8)))
				{
				}
				else
				{
					if(CL_TRUEP(ARG(8)))
					{
						LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
						COPY(ARG(8), ARG(13));
						Ferror(ARG(12), 2);
					}
					else
					{
					}
				}
				COPY(ARG(8), ARG(12));
				COPY(ARG(12), ARG(13));
				if(CL_CONSP(ARG(13)))
				{
					COPY(GET_CDR(ARG(13)), ARG(8));
				}
				else
				{
					if(CL_TRUEP(ARG(13)))
					{
						LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(14));	/* ~a is not a list */
						COPY(ARG(13), ARG(15));
						Ferror(ARG(14), 2);
					}
					else
					{
						LOAD_NIL(ARG(8));
					}
				}
				COPY(ARG(9), ARG(12));
				F1minus(ARG(12));
				COPY(ARG(12), ARG(9));
			}
		}
		F1plus(ARG(11));
		goto M2_1;
		RETURN2:;
	}
	else
	{
		LOAD_SMALLFIXNUM(0, ARG(11));
		M3_1:;
		if(CL_TRUEP(ARG(1)))
		{
			if(CL_CONSP(ARG(1)))
			{
				LOAD_NIL(ARG(12));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[233], ARG(12));	/* ~a is not a list */
				COPY(ARG(1), ARG(13));
				Ferror(ARG(12), 2);
			}
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(12));	/* T */
		}
		if(CL_TRUEP(ARG(12)))
		{
			goto THEN4;
		}
		else
		{
			COPY(ARG(11), ARG(13));
			COPY(ARG(5), ARG(14));
			Fge(ARG(13), 2);
		}
		if(CL_TRUEP(ARG(13)))
		{
			THEN4:;
			goto RETURN3;
		}
		COPY(ARG(6), ARG(12));
		Fplusp(ARG(12));
		if(CL_TRUEP(ARG(12)))
		{
			if(CL_CONSP(ARG(8)))
			{
				COPY(GET_CAR(ARG(8)), ARG(13));
			}
			else
			{
				if(CL_TRUEP(ARG(8)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(13));	/* ~a is not a list */
					COPY(ARG(8), ARG(14));
					Ferror(ARG(13), 2);
				}
				else
				{
					COPY(ARG(8), ARG(13));
				}
			}
		}
		else
		{
			goto ELSE5;
		}
		if(EQL(ARG(11), ARG(13)))
		{
			if(CL_CONSP(ARG(8)))
			{
			}
			else
			{
				if(CL_TRUEP(ARG(8)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(8), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
				}
			}
			COPY(ARG(8), ARG(12));
			COPY(ARG(12), ARG(13));
			if(CL_CONSP(ARG(13)))
			{
				COPY(GET_CDR(ARG(13)), ARG(8));
			}
			else
			{
				if(CL_TRUEP(ARG(13)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(14));	/* ~a is not a list */
					COPY(ARG(13), ARG(15));
					Ferror(ARG(14), 2);
				}
				else
				{
					LOAD_NIL(ARG(8));
				}
			}
			COPY(ARG(6), ARG(12));
			F1minus(ARG(12));
			COPY(ARG(12), ARG(6));
			if(CL_CONSP(ARG(1)))
			{
			}
			else
			{
				if(CL_TRUEP(ARG(1)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(1), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
				}
			}
			COPY(ARG(1), ARG(12));
			COPY(ARG(12), ARG(13));
			if(CL_CONSP(ARG(13)))
			{
				COPY(GET_CDR(ARG(13)), ARG(1));
			}
			else
			{
				if(CL_TRUEP(ARG(13)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(14));	/* ~a is not a list */
					COPY(ARG(13), ARG(15));
					Ferror(ARG(14), 2);
				}
				else
				{
					LOAD_NIL(ARG(1));
				}
			}
		}
		else
		{
			ELSE5:;
			if(CL_CONSP(ARG(1)))
			{
				COPY(GET_CAR(ARG(1)), ARG(12));
			}
			else
			{
				if(CL_TRUEP(ARG(1)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
					COPY(ARG(1), ARG(13));
					Ferror(ARG(12), 2);
				}
				else
				{
					COPY(ARG(1), ARG(12));
				}
			}
			COPY(ARG(1), ARG(13));
			COPY(ARG(13), ARG(14));
			if(CL_CONSP(ARG(14)))
			{
				COPY(GET_CDR(ARG(14)), ARG(1));
			}
			else
			{
				if(CL_TRUEP(ARG(14)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(15));	/* ~a is not a list */
					COPY(ARG(14), ARG(16));
					Ferror(ARG(15), 2);
				}
				else
				{
					LOAD_NIL(ARG(1));
				}
			}
			COPY(ARG(10), ARG(13));
			add_q(ARG(12));
		}
		F1plus(ARG(11));
		goto M3_1;
		RETURN3:;
	}
	COPY(GET_CAR(ARG(10)), ARG(0));
}
Пример #19
0
void rassoc_if1(CL_FORM *base)
{
	LOAD_NIL(ARG(3));
	COPY(ARG(1), ARG(4));
	M1_1:;
	if(CL_ATOMP(ARG(4)))
	{
		LOAD_NIL(ARG(3));
		COPY(ARG(3), ARG(0));
		goto RETURN2;
	}
	COPY(ARG(4), ARG(5));
	COPY(GET_CAR(ARG(5)), ARG(3));
	COPY(ARG(0), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
		COPY(ARG(2), ARG(6));
		if(CL_CONSP(ARG(3)))
		{
			COPY(GET_CDR(ARG(3)), ARG(7));
		}
		else
		{
			if(CL_TRUEP(ARG(3)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(7));	/* ~a is not a list */
				COPY(ARG(3), ARG(8));
				Ferror(ARG(7), 2);
			}
			else
			{
				COPY(ARG(3), ARG(7));
			}
		}
		Ffuncall(ARG(6), 2);
		mv_count = 1;
	}
	else
	{
		if(CL_CONSP(ARG(3)))
		{
			COPY(GET_CDR(ARG(3)), ARG(6));
		}
		else
		{
			if(CL_TRUEP(ARG(3)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(6));	/* ~a is not a list */
				COPY(ARG(3), ARG(7));
				Ferror(ARG(6), 2);
			}
			else
			{
				COPY(ARG(3), ARG(6));
			}
		}
	}
	Ffuncall(ARG(5), 2);
	mv_count = 1;
	if(CL_TRUEP(ARG(5)))
	{
		COPY(ARG(3), ARG(0));
		goto RETURN1;
	}
	COPY(ARG(4), ARG(5));
	COPY(GET_CDR(ARG(5)), ARG(4));
	goto M1_1;
	RETURN2:;
	RETURN1:;
}
Пример #20
0
static void Z6_union_internal(CL_FORM *base, CL_FORM *display[])
{
	M1_1:;
	if(CL_TRUEP(ARG(0)))
	{
		if(CL_TRUEP(&display[0][4]))
		{
			COPY(&display[0][4], ARG(1));
			if(CL_CONSP(ARG(0)))
			{
				COPY(GET_CAR(ARG(0)), ARG(2));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2));	/* ~a is not a list */
				COPY(ARG(0), ARG(3));
				Ferror(ARG(2), 2);
			}
			Ffuncall(ARG(1), 2);
			mv_count = 1;
		}
		else
		{
			if(CL_CONSP(ARG(0)))
			{
				COPY(GET_CAR(ARG(0)), ARG(1));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(1));	/* ~a is not a list */
				COPY(ARG(0), ARG(2));
				Ferror(ARG(1), 2);
			}
		}
		COPY(&display[0][1], ARG(2));
		COPY(&display[0][2], ARG(3));
		COPY(&display[0][4], ARG(4));
		COPY(ARG(1), ARG(5));
		COPY(ARG(2), ARG(6));
		COPY(ARG(3), ARG(7));
		LOAD_NIL(ARG(8));
		COPY(ARG(4), ARG(9));
		member1(ARG(5));
		if(CL_TRUEP(ARG(5)))
		{
			COPY(ARG(0), ARG(1));
			if(CL_CONSP(ARG(1)))
			{
				COPY(GET_CDR(ARG(1)), ARG(0));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(0));	/* ~a is not a list */
				Ferror(ARG(0), 2);
			}
			goto M1_1;
		}
		else
		{
			if(CL_CONSP(ARG(0)))
			{
				COPY(GET_CAR(ARG(0)), ARG(1));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(1));	/* ~a is not a list */
				COPY(ARG(0), ARG(2));
				Ferror(ARG(1), 2);
			}
			if(CL_CONSP(ARG(0)))
			{
				COPY(GET_CDR(ARG(0)), ARG(2));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(2));	/* ~a is not a list */
				COPY(ARG(0), ARG(3));
				Ferror(ARG(2), 2);
			}
			Z6_union_internal(ARG(2), display);
			ALLOC_CONS(ARG(3), ARG(1), ARG(2), ARG(0));
		}
	}
	else
	{
		COPY(&display[0][1], ARG(0));
	}
	goto RETURN1;
	RETURN1:;
}
Пример #21
0
void Penumerate_files(CL_FORM *base)
{
	COPY(ARG(1), ARG(4));
	LOAD_SYMBOL(SYMBOL(Slisp, 276), ARG(5));	/* LOCAL */
	pathname_name1(ARG(4));
	mv_count = 1;
	COPY(ARG(1), ARG(5));
	LOAD_SYMBOL(SYMBOL(Slisp, 276), ARG(6));	/* LOCAL */
	pathname_type1(ARG(5));
	mv_count = 1;
	COPY(ARG(1), ARG(6));
	Fpathname_version(ARG(6));
	if(CL_TRUEP(ARG(4)))
	{
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(7));	/* STRING */
		COPY(ARG(0), ARG(8));
		COPY(ARG(4), ARG(9));
		Fconcatenate(ARG(7), 3);
		if(CL_TRUEP(ARG(5)))
		{
			LOAD_NIL(ARG(8));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(8));	/* T */
		}
		if(CL_TRUEP(ARG(8)))
		{
			goto THEN1;
		}
		else
		{
		}	/* UNSPECIFIC */
		if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 266))
		{
			THEN1:;
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(8));	/* STRING */
			COPY(ARG(7), ARG(9));
			LOAD_SMSTR((CL_FORM *)&KPenumerate_files[0], ARG(10));	/* . */
			COPY(ARG(5), ARG(11));
			Fconcatenate(ARG(8), 4);
			COPY(ARG(8), ARG(7));
		}
		if(CL_TRUEP(ARG(6)))
		{
			LOAD_NIL(ARG(8));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(8));	/* T */
		}
		if(CL_TRUEP(ARG(8)))
		{
			goto THEN2;
		}
		else
		{
		}	/* NEWEST */
		if(CL_SYMBOLP(ARG(6)) && GET_SYMBOL(ARG(6)) == SYMBOL(Slisp, 269))
		{
			THEN2:;
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(8));	/* STRING */
			COPY(ARG(7), ARG(9));
			LOAD_SMSTR((CL_FORM *)&KPenumerate_files[2], ARG(10));	/* . */
			COPY(ARG(6), ARG(11));
			quick_integer_to_string(ARG(11));
			Fconcatenate(ARG(8), 4);
			COPY(ARG(8), ARG(7));
		}
		LOAD_NIL(ARG(8));
		if(CL_TRUEP(ARG(8)))
		{
			goto THEN3;
		}
		else
		{
			COPY(ARG(7), ARG(9));
			LOAD_NIL(ARG(10));
			unix_file_kind1(ARG(9));
		}
		if(CL_TRUEP(ARG(9)))
		{
			THEN3:;
			COPY(ARG(3), ARG(0));
			COPY(ARG(7), ARG(1));
			Ffuncall(ARG(0), 2);
		}
		else
		{
			LOAD_NIL(ARG(0));
		}
	}
	else
	{
		LOAD_NIL(ARG(7));
		if(CL_TRUEP(ARG(7)))
		{
			goto THEN4;
		}
		else
		{
			COPY(ARG(0), ARG(8));
			LOAD_NIL(ARG(9));
			unix_file_kind1(ARG(8));
		}
		if(CL_TRUEP(ARG(8)))
		{
			THEN4:;
			COPY(ARG(3), ARG(7));
			COPY(ARG(0), ARG(8));
			Ffuncall(ARG(7), 2);
			COPY(ARG(7), ARG(0));
		}
		else
		{
			LOAD_NIL(ARG(0));
		}
	}
}
Пример #22
0
void rt_do_symbols_iterator(CL_FORM *base)
{
	COPY(ARG(1), ARG(2));
	Ppackage_external(ARG(2));
	LOAD_FIXNUM(ARG(3), 0, ARG(3));
	M1_1:;
	COPY(ARG(3), ARG(4));
	LOAD_FIXNUM(ARG(5), 101, ARG(5));
	Fge(ARG(4), 2);
	if(CL_TRUEP(ARG(4)))
	{
		goto RETURN1;
	}
	LOAD_NIL(ARG(4));
	COPY(ARG(2), ARG(5));
	COPY(ARG(3), ARG(6));
	Fsvref(ARG(5));
	M2_1:;
	if(CL_ATOMP(ARG(5)))
	{
		LOAD_NIL(ARG(4));
		goto RETURN2;
	}
	COPY(ARG(5), ARG(6));
	COPY(GET_CAR(ARG(6)), ARG(4));
	COPY(ARG(0), ARG(6));
	COPY(ARG(4), ARG(7));
	Ffuncall(ARG(6), 2);
	mv_count = 1;
	COPY(ARG(5), ARG(6));
	COPY(GET_CDR(ARG(6)), ARG(5));
	goto M2_1;
	RETURN2:;
	F1plus(ARG(3));
	goto M1_1;
	RETURN1:;
	COPY(ARG(1), ARG(2));
	Ppackage_internal(ARG(2));
	LOAD_FIXNUM(ARG(3), 0, ARG(3));
	M3_1:;
	COPY(ARG(3), ARG(4));
	LOAD_FIXNUM(ARG(5), 101, ARG(5));
	Fge(ARG(4), 2);
	if(CL_TRUEP(ARG(4)))
	{
		goto RETURN3;
	}
	LOAD_NIL(ARG(4));
	COPY(ARG(2), ARG(5));
	COPY(ARG(3), ARG(6));
	Fsvref(ARG(5));
	M4_1:;
	if(CL_ATOMP(ARG(5)))
	{
		LOAD_NIL(ARG(4));
		goto RETURN4;
	}
	COPY(ARG(5), ARG(6));
	COPY(GET_CAR(ARG(6)), ARG(4));
	COPY(ARG(0), ARG(6));
	COPY(ARG(4), ARG(7));
	Ffuncall(ARG(6), 2);
	mv_count = 1;
	COPY(ARG(5), ARG(6));
	COPY(GET_CDR(ARG(6)), ARG(5));
	goto M4_1;
	RETURN4:;
	F1plus(ARG(3));
	goto M3_1;
	RETURN3:;
	LOAD_NIL(ARG(3));
	COPY(ARG(1), ARG(4));
	Ppackage_use_list(ARG(4));
	M5_1:;
	if(CL_ATOMP(ARG(4)))
	{
		LOAD_NIL(ARG(3));
		COPY(ARG(3), ARG(0));
		goto RETURN5;
	}
	COPY(ARG(4), ARG(5));
	COPY(GET_CAR(ARG(5)), ARG(3));
	COPY(ARG(3), ARG(5));
	Ppackage_internal(ARG(5));
	COPY(ARG(5), ARG(2));
	LOAD_FIXNUM(ARG(5), 0, ARG(5));
	M6_1:;
	COPY(ARG(5), ARG(6));
	LOAD_FIXNUM(ARG(7), 101, ARG(7));
	Fge(ARG(6), 2);
	if(CL_TRUEP(ARG(6)))
	{
		goto RETURN6;
	}
	LOAD_NIL(ARG(6));
	COPY(ARG(2), ARG(7));
	COPY(ARG(5), ARG(8));
	Fsvref(ARG(7));
	M7_1:;
	if(CL_ATOMP(ARG(7)))
	{
		LOAD_NIL(ARG(6));
		goto RETURN7;
	}
	COPY(ARG(7), ARG(8));
	COPY(GET_CAR(ARG(8)), ARG(6));
	COPY(ARG(0), ARG(8));
	COPY(ARG(6), ARG(9));
	Ffuncall(ARG(8), 2);
	mv_count = 1;
	COPY(ARG(7), ARG(8));
	COPY(GET_CDR(ARG(8)), ARG(7));
	goto M7_1;
	RETURN7:;
	F1plus(ARG(5));
	goto M6_1;
	RETURN6:;
	COPY(ARG(4), ARG(5));
	COPY(GET_CDR(ARG(5)), ARG(4));
	goto M5_1;
	RETURN5:;
}
Пример #23
0
static void Z49_lambda(CL_FORM *base)
{
    LOAD_NIL(ARG(3));
    COPY(ARG(1), ARG(4));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(5));	/* T */
    LOAD_NIL(ARG(6));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(7));	/* T */
    read_char1(ARG(4));
    COPY(ARG(4), ARG(5));
    LOAD_FIXNUM(ARG(6), 10, ARG(6));
    digit_char_p1(ARG(5));
    LOAD_NIL(ARG(6));
    if(CL_TRUEP(ARG(5)))
    {
        COPY(ARG(5), ARG(3));
M1_1:
        ;
        COPY(ARG(1), ARG(7));
        COPY(ARG(7), ARG(8));
        LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(9));	/* T */
        LOAD_NIL(ARG(10));
        LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(11));	/* T */
        read_char1(ARG(8));
        COPY(ARG(8), ARG(4));
        COPY(ARG(4), ARG(7));
        COPY(ARG(7), ARG(8));
        LOAD_FIXNUM(ARG(9), 10, ARG(9));
        digit_char_p1(ARG(8));
        COPY(ARG(8), ARG(5));
        if(CL_TRUEP(ARG(5)))
        {
        }
        else
        {
            if(CL_TRUEP(SYMVAL(Slisp, 418)))	/* *READ-SUPPRESS* */
            {
                LOAD_NIL(ARG(3));
            }
            goto RETURN1;
        }
        COPY(ARG(5), ARG(7));
        LOAD_FIXNUM(ARG(8), 10, ARG(8));
        COPY(ARG(3), ARG(9));
        Fmult(ARG(8), 2);
        Fplus(ARG(7), 2);
        COPY(ARG(7), ARG(3));
        goto M1_1;
RETURN1:
        ;
    }
    COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(7));
    COPY(ARG(4), ARG(8));
    if(CL_CHARP(ARG(8)))
    {
        COPY(ARG(8), ARG(9));
    }
    else
    {
        COPY(SYMVAL(Slisp, 58), ARG(9));	/* WRONG_TYPE */
        COPY(ARG(8), ARG(10));
        LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(11));	/* CHARACTER */
        Ferror(ARG(9), 3);
    }
    rt_char_upcase(ARG(9));
    COPY(ARG(9), ARG(8));
    rt_char_code(ARG(8));
    COPY(ARG(7), ARG(9));
    LOAD_BOOL(CL_SMVECP(ARG(9)), ARG(10));
    if(CL_TRUEP(ARG(10)))
    {
        goto THEN1;
    }
    else
    {
        COPY(ARG(9), ARG(11));
        COPY(ARG(11), ARG(12));
        LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(13));	/* COMPLEX-VECTOR */
        rt_struct_typep(ARG(12));
    }
    if(CL_TRUEP(ARG(12)))
    {
THEN1:
        ;
    }
    else
    {
        COPY(SYMVAL(Slisp, 58), ARG(9));	/* WRONG_TYPE */
        COPY(ARG(7), ARG(10));
        LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(11));	/* VECTOR */
        Ferror(ARG(9), 3);
    }
    COPY(ARG(7), ARG(6));
    COPY(ARG(8), ARG(7));
    Frow_major_aref(ARG(6));
    if(CL_TRUEP(ARG(6)))
    {
    }
    else
    {
        LOAD_SMSTR((CL_FORM *)&Kmake_dispatch_macro_character1[0], ARG(7));	/* no ~S dispatch function defined for subchar ~S ~
                           (with arg ~S) */
        COPY(ARG(2), ARG(8));
        COPY(ARG(4), ARG(9));
        COPY(ARG(3), ARG(10));
        Ferror(ARG(7), 4);
    }
    COPY(ARG(6), ARG(7));
    COPY(ARG(1), ARG(8));
    COPY(ARG(4), ARG(9));
    COPY(ARG(3), ARG(10));
    Ffuncall(ARG(7), 4);
    COPY(ARG(7), ARG(0));
}
Пример #24
0
void gensym1(CL_FORM *base)
{
	if(CL_TRUEP(ARG(0)))
	{
		LOAD_FIXNUM(ARG(2), 0, ARG(2));
		if(CL_FIXNUMP(ARG(0)) && GET_FIXNUM(ARG(0)) >= GET_FIXNUM(ARG(2)))
		{
			COPY(ARG(0), SYMVAL(Slisp, 662));	/* *GENSYM-COUNTER* */
		}
		else
		{
			COPY(ARG(0), ARG(1));
			Fstringp(ARG(1));
			if(CL_TRUEP(ARG(1)))
			{
				COPY(ARG(0), SYMVAL(Slisp, 674));	/* *GENSYM-PREFIX* */
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kgensym1[0], ARG(1));	/* positive integer or string expected */
				Ferror(ARG(1), 1);
			}
		}
	}
	LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(1));	/* STRING */
	COPY(SYMVAL(Slisp, 674), ARG(2));	/* *GENSYM-PREFIX* */
	COPY(SYMVAL(Slisp, 662), ARG(3));	/* *GENSYM-COUNTER* */
	LOAD_FIXNUM(ARG(4), 10, ARG(4));
	LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(5));	/* CHARACTER */
	LOAD_NIL(ARG(6));
	LOAD_NIL(ARG(7));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(8));	/* T */
	LOAD_FIXNUM(ARG(9), 0, ARG(9));
	LOAD_NIL(ARG(10));
	LOAD_FIXNUM(ARG(11), 0, ARG(11));
	LOAD_NIL(ARG(12));
	LOAD_NIL(ARG(13));
	LOAD_NIL(ARG(14));
	make_array1(ARG(4));
	make_string_output_stream1(ARG(4));
	COPY(ARG(3), ARG(5));
	COPY(ARG(4), ARG(6));
	prin11(ARG(5));
	COPY(ARG(4), ARG(5));
	LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(6));	/* STREAM */
	rt_struct_typep(ARG(5));
	if(CL_TRUEP(ARG(5)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(4))), 0 + 1), ARG(5));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
		COPY(ARG(4), ARG(6));
		LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(7));	/* STREAM */
		Ferror(ARG(5), 3);
	}
	if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 102))	/* STRING-OUTPUT */
	{
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[268], ARG(5));	/* string-output-stream expected */
		Ferror(ARG(5), 1);
	}
	COPY(ARG(4), ARG(5));
	COPY(ARG(5), ARG(6));
	COPY(ARG(6), ARG(7));
	LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(8));	/* STREAM */
	rt_struct_typep(ARG(7));
	if(CL_TRUEP(ARG(7)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(6))), 1 + 1), ARG(5));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
		LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(7));	/* STREAM */
		Ferror(ARG(5), 3);
	}
	Ffuncall(ARG(5), 1);
	mv_count = 1;
	COPY(ARG(5), ARG(3));
	Fconcatenate(ARG(1), 3);
	Fmake_symbol(ARG(1));
	COPY(SYMVAL(Slisp, 662), ARG(2));	/* *GENSYM-COUNTER* */
	F1plus(ARG(2));
	COPY(ARG(2), SYMVAL(Slisp, 662));	/* *GENSYM-COUNTER* */
	COPY(ARG(1), ARG(0));
}
Пример #25
0
repv gh_apply (repv proc, repv ls)
{
    return Ffuncall (Fcons (proc, ls));
}