Ejemplo n.º 1
0
void token_push_extend(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	COPY(SYMVAL(Slisp, 439), ARG(2));	/* *TOKEN* */
	COPY(SYMVAL(Slisp, 440), ARG(3));	/* *FILL-POINTER* */
	Fset_schar(ARG(1));
	COPY(SYMVAL(Slisp, 440), ARG(1));	/* *FILL-POINTER* */
	F1plus(ARG(1));
	COPY(ARG(1), SYMVAL(Slisp, 440));	/* *FILL-POINTER* */
	COPY(SYMVAL(Slisp, 441), ARG(2));	/* *TOKEN-LENGTH* */
	Fge(ARG(1), 2);
	if(CL_TRUEP(ARG(1)))
	{
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(1));	/* STRING */
		COPY(SYMVAL(Slisp, 439), ARG(2));	/* *TOKEN* */
		COPY(SYMVAL(Slisp, 442), ARG(3));	/* *TOKEN-EXTENSION* */
		LOAD_CHAR(ARG(4), ' ', ARG(4));
		make_string1(ARG(3));
		Fconcatenate(ARG(1), 3);
		COPY(ARG(1), SYMVAL(Slisp, 439));	/* *TOKEN* */
		COPY(SYMVAL(Slisp, 441), ARG(1));	/* *TOKEN-LENGTH* */
		COPY(SYMVAL(Slisp, 442), ARG(2));	/* *TOKEN-EXTENSION* */
		Fplus(ARG(1), 2);
		COPY(ARG(1), SYMVAL(Slisp, 441));	/* *TOKEN-LENGTH* */
		COPY(SYMVAL(Slisp, 441), ARG(0));	/* *TOKEN-LENGTH* */
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
Ejemplo n.º 2
0
void vector_push_extend1(CL_FORM *base)
{
	COPY(ARG(1), ARG(3));
	Farray_has_fill_pointer_p(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 154), ARG(3));	/* NO_FILL_PTR */
		COPY(ARG(1), ARG(4));
		Ferror(ARG(3), 2);
	}
	COPY(ARG(1), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(4));	/* COMPLEX-VECTOR */
	rt_struct_typep(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 3 + 1), ARG(3));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
		COPY(ARG(1), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(5));	/* COMPLEX-VECTOR */
		Ferror(ARG(3), 3);
	}
	COPY(ARG(3), ARG(4));
	COPY(ARG(1), ARG(5));
	Farray_total_size(ARG(5));
	Fge(ARG(4), 2);
	if(CL_TRUEP(ARG(4)))
	{
		COPY(ARG(1), ARG(4));
		if(CL_TRUEP(ARG(2)))
		{
			COPY(ARG(1), ARG(5));
			Farray_total_size(ARG(5));
			COPY(ARG(2), ARG(6));
			Fplus(ARG(5), 2);
		}
		else
		{
			LOAD_FIXNUM(ARG(5), 2, ARG(5));
			COPY(ARG(1), ARG(6));
			Farray_total_size(ARG(6));
			Fmult(ARG(5), 2);
		}
		LOAD_NIL(ARG(6));
		LOAD_NIL(ARG(7));
		LOAD_NIL(ARG(8));
		COPY(ARG(3), ARG(9));
		LOAD_NIL(ARG(10));
		LOAD_NIL(ARG(11));
		LOAD_SYMBOL(SYMBOL(Slisp, 101), ARG(12));	/* FILL-POINTER */
		COPY(ARG(3), ARG(13));
		Flist(ARG(12), 2);
		LOAD_NIL(ARG(13));
		LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(14));	/* T */
		adjust_array1(ARG(4));
	}
	COPY(ARG(0), ARG(4));
	COPY(ARG(1), ARG(5));
	COPY(ARG(3), ARG(6));
	rt_set_vref(ARG(4));
	COPY(ARG(3), ARG(4));
	F1plus(ARG(4));
	COPY(ARG(1), ARG(5));
	Fset_fill_pointer(ARG(4));
	COPY(ARG(3), ARG(0));
}
Ejemplo n.º 3
0
void Flist_length(CL_FORM *base)
{
	LOAD_FIXNUM(ARG(1), 0, ARG(1));
	COPY(ARG(0), ARG(2));
	COPY(ARG(0), ARG(3));
	M1_1:;
	if(CL_TRUEP(ARG(2)))
	{
		if(CL_CONSP(ARG(2)))
		{
			goto ELSE1;
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[228], ARG(4));	/* ~a is not a list */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
	}
	else
	{
		goto THEN2;
	}
	{
		THEN2:;
		COPY(ARG(1), ARG(0));
		goto RETURN1;
	}
	ELSE1:;
	if(CL_CONSP(ARG(2)))
	{
		COPY(GET_CAR(ARG(2)), ARG(4));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(4));	/* ~a is not a list */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
		else
		{
			COPY(ARG(2), ARG(4));
		}
	}
	COPY(ARG(2), ARG(5));
	COPY(ARG(5), ARG(6));
	if(CL_CONSP(ARG(6)))
	{
		COPY(GET_CDR(ARG(6)), ARG(2));
	}
	else
	{
		if(CL_TRUEP(ARG(6)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(7));	/* ~a is not a list */
			COPY(ARG(6), ARG(8));
			Ferror(ARG(7), 2);
		}
		else
		{
			COPY(ARG(6), ARG(2));
		}
	}
	if(CL_TRUEP(ARG(2)))
	{
		if(CL_CONSP(ARG(2)))
		{
			goto ELSE3;
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[228], ARG(4));	/* ~a is not a list */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
	}
	else
	{
		goto THEN4;
	}
	{
		THEN4:;
		COPY(ARG(1), ARG(0));
		F1plus(ARG(0));
		goto RETURN1;
	}
	ELSE3:;
	if(EQ(ARG(2), ARG(3)))
	{
		LOAD_NIL(ARG(0));
		goto RETURN1;
	}
	COPY(ARG(1), ARG(4));
	LOAD_FIXNUM(ARG(5), 2, ARG(5));
	Fplus(ARG(4), 2);
	COPY(ARG(2), ARG(5));
	if(CL_CONSP(ARG(5)))
	{
		COPY(GET_CDR(ARG(5)), ARG(5));
	}
	else
	{
		if(CL_TRUEP(ARG(5)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(6));	/* ~a is not a list */
			COPY(ARG(5), ARG(7));
			Ferror(ARG(6), 2);
		}
		else
		{
		}
	}
	COPY(ARG(3), ARG(6));
	if(CL_CONSP(ARG(6)))
	{
		COPY(GET_CDR(ARG(6)), ARG(3));
	}
	else
	{
		if(CL_TRUEP(ARG(6)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(7));	/* ~a is not a list */
			COPY(ARG(6), ARG(8));
			Ferror(ARG(7), 2);
		}
		else
		{
			COPY(ARG(6), ARG(3));
		}
	}
	COPY(ARG(5), ARG(2));
	COPY(ARG(4), ARG(1));
	goto M1_1;
	RETURN1:;
}
Ejemplo n.º 4
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));
}
Ejemplo n.º 5
0
void concatenate_to_non_list(CL_FORM *base, int nargs)
{
	Flist(STACK(base, 1), nargs - 1);
	LOAD_NIL(STACK(base, 2));
	LOAD_FIXNUM(0, STACK(base, 3));
	LOAD_FIXNUM(0, STACK(base, 4));
	LOAD_NIL(STACK(base, 5));
	COPY(STACK(base, 1), STACK(base, 6));
	M144_1:;
	if(CL_ATOMP(STACK(base, 6)))
	{
		LOAD_NIL(STACK(base, 5));
		goto RETURN158;
	}
	COPY(STACK(base, 6), STACK(base, 7));
	Fcar(STACK(base, 7));
	COPY(STACK(base, 7), STACK(base, 5));
	COPY(STACK(base, 3), STACK(base, 7));
	COPY(STACK(base, 5), STACK(base, 8));
	Flength(STACK(base, 8));
	Fplus(STACK(base, 7), 2);
	COPY(STACK(base, 7), STACK(base, 3));
	Fcdr(STACK(base, 6));
	goto M144_1;
	RETURN158:;
	COPY(STACK(base, 0), STACK(base, 5));
	COPY(STACK(base, 3), STACK(base, 6));
	Fmake_sequence(STACK(base, 5), 2);
	COPY(STACK(base, 5), STACK(base, 2));
	LOAD_NIL(STACK(base, 5));
	COPY(STACK(base, 1), STACK(base, 6));
	M145_1:;
	if(CL_ATOMP(STACK(base, 6)))
	{
		LOAD_NIL(STACK(base, 5));
		goto RETURN159;
	}
	COPY(STACK(base, 6), STACK(base, 7));
	Fcar(STACK(base, 7));
	COPY(STACK(base, 7), STACK(base, 5));
	if(CL_LISTP(STACK(base, 5)))
	{
		LOAD_NIL(STACK(base, 7));
		COPY(STACK(base, 5), STACK(base, 8));
		M146_1:;
		if(CL_ATOMP(STACK(base, 8)))
		{
			LOAD_NIL(STACK(base, 7));
			goto RETURN160;
		}
		COPY(STACK(base, 8), STACK(base, 9));
		Fcar(STACK(base, 9));
		COPY(STACK(base, 9), STACK(base, 7));
		COPY(STACK(base, 2), STACK(base, 10));
		COPY(STACK(base, 4), STACK(base, 11));
		Fset_elt(STACK(base, 9));
		COPY(STACK(base, 4), STACK(base, 9));
		F1plus(STACK(base, 9));
		COPY(STACK(base, 9), STACK(base, 4));
		Fcdr(STACK(base, 8));
		goto M146_1;
		RETURN160:;
	}
	else
	{
		COPY(STACK(base, 5), STACK(base, 7));
		Flength(STACK(base, 7));
		LOAD_FIXNUM(0, STACK(base, 8));
		M147_1:;
		COPY(STACK(base, 8), STACK(base, 9));
		COPY(STACK(base, 7), STACK(base, 10));
		Fge(STACK(base, 9), 2);
		if(CL_TRUEP(STACK(base, 9)))
		{
			goto RETURN161;
		}
		COPY(STACK(base, 5), STACK(base, 9));
		COPY(STACK(base, 8), STACK(base, 10));
		Felt(STACK(base, 9));
		COPY(STACK(base, 9), STACK(base, 10));
		COPY(STACK(base, 2), STACK(base, 11));
		COPY(STACK(base, 4), STACK(base, 12));
		Fset_elt(STACK(base, 10));
		COPY(STACK(base, 4), STACK(base, 9));
		F1plus(STACK(base, 9));
		COPY(STACK(base, 9), STACK(base, 4));
		F1plus(STACK(base, 8));
		goto M147_1;
		RETURN161:;
	}
	Fcdr(STACK(base, 6));
	goto M145_1;
	RETURN159:;
	COPY(STACK(base, 2), STACK(base, 0));
}