Ejemplo n.º 1
0
static void Z69_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(2));
	COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(3));
	Fle(ARG(2), 2);
	if(CL_TRUEP(ARG(2)))
	{
		LOAD_SMSTR((CL_FORM *)&Kmake_string_input_stream1[0], ARG(2));	/* reached start of stream */
		Ferror(ARG(2), 1);
	}
	COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(2));
	F1minus(ARG(2));
	COPY(ARG(2), INDIRECT(GET_FORM(ARG(0)) + 5));
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
	Fstringp(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(3));	/* WRONG_TYPE */
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(5));	/* STRING */
		Ferror(ARG(3), 3);
	}
	COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
	COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(4));
	Frow_major_aref(ARG(3));
	if(EQL(ARG(1), ARG(3)))
	{
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&Kmake_string_input_stream1[2], ARG(2));	/* %s should be eql to %s */
		COPY(ARG(1), ARG(3));
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(4));
		Fstringp(ARG(4));
		if(CL_TRUEP(ARG(4)))
		{
		}
		else
		{
			COPY(SYMVAL(Slisp, 58), ARG(4));	/* WRONG_TYPE */
			COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(5));
			LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(6));	/* STRING */
			Ferror(ARG(4), 3);
		}
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(4));
		COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(5));
		Frow_major_aref(ARG(4));
		Ferror(ARG(2), 3);
	}
	LOAD_NIL(ARG(0));
}
Ejemplo n.º 2
0
static void Z70_lambda(CL_FORM *base)
{
	COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(1));
	COPY(INDIRECT(GET_FORM(ARG(0)) + 4), ARG(2));
	Flt(ARG(1), 2);
	if(CL_TRUEP(ARG(1)))
	{
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(1));
		Fstringp(ARG(1));
		if(CL_TRUEP(ARG(1)))
		{
		}
		else
		{
			COPY(SYMVAL(Slisp, 58), ARG(1));	/* WRONG_TYPE */
			COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(2));
			LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(3));	/* STRING */
			Ferror(ARG(1), 3);
		}
		COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(1));
		COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(2));
		Frow_major_aref(ARG(1));
		COPY(INDIRECT(GET_FORM(ARG(0)) + 5), ARG(2));
		F1plus(ARG(2));
		COPY(ARG(2), INDIRECT(GET_FORM(ARG(0)) + 5));
		COPY(ARG(1), ARG(0));
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
Ejemplo n.º 3
0
void Fstring_left_trim(CL_FORM *base)
{
	Fstring(ARG(1));
	LOAD_FIXNUM(ARG(2), 0, ARG(2));
	M1_1:;
	COPY(ARG(2), ARG(3));
	COPY(ARG(1), ARG(4));
	Flength(ARG(4));
	Fnumeql(ARG(3), 2);
	if(CL_TRUEP(ARG(3)))
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[70], ARG(0));	/*  */
		goto RETURN1;
	}
	COPY(ARG(1), ARG(3));
	Fstringp(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(3));	/* WRONG_TYPE */
		COPY(ARG(1), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(5));	/* STRING */
		Ferror(ARG(3), 3);
	}
	COPY(ARG(1), ARG(3));
	COPY(ARG(2), ARG(4));
	Frow_major_aref(ARG(3));
	COPY(ARG(0), ARG(4));
	LOAD_SYMBOL(SYMBOL(Slisp, 282), ARG(5));	/* TEST */
	LOAD_GLOBFUN(&CFcharE, ARG(6));
	Ffind(ARG(3), 4);
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		goto RETURN2;
	}
	F1plus(ARG(2));
	goto M1_1;
	RETURN2:;
	COPY(ARG(2), ARG(3));
	Fzerop(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(ARG(1), ARG(0));
	}
	else
	{
		COPY(ARG(1), ARG(0));
		COPY(ARG(2), ARG(1));
		LOAD_NIL(ARG(2));
		subseq1(ARG(0));
	}
	RETURN1:;
}
Ejemplo n.º 4
0
Archivo: Faref.c Proyecto: hoelzl/Clicc
void Faref(CL_FORM *base, int nargs)
{
	CL_FORM *rest_0;
	CL_FORM *local;
	rest_0 = ARG(1);
	local = ARG(nargs);
	COPY(ARG(0), LOCAL(0));
	LOAD_GLOBFUN(&CFarray_row_major_index, LOCAL(1));
	COPY(ARG(0), LOCAL(2));
	REST_APPLY(LOCAL(1), 2, rest_0);
	mv_count = 1;
	Frow_major_aref(LOCAL(0));
	COPY(LOCAL(0), ARG(0));
}
Ejemplo n.º 5
0
Archivo: Felt.c Proyecto: plops/clicc
void Felt(CL_FORM *base)
{
	if(CL_LISTP(ARG(0)))
	{
		COPY(ARG(1), ARG(2));
		COPY(ARG(0), ARG(3));
		Fnth(ARG(2));
		COPY(ARG(2), ARG(0));
	}
	else
	{
		Frow_major_aref(ARG(0));
	}
}
Ejemplo n.º 6
0
Archivo: lisp16.c Proyecto: plops/clicc
void string_not_equal1(CL_FORM *base)
{
	COPY(ARG(0), ARG(6));
	Fstring(ARG(6));
	COPY(ARG(6), ARG(0));
	COPY(ARG(1), ARG(6));
	Fstring(ARG(6));
	COPY(ARG(6), ARG(1));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		COPY(ARG(0), ARG(6));
		Flength(ARG(6));
		COPY(ARG(6), ARG(3));
	}
	if(CL_TRUEP(ARG(5)))
	{
	}
	else
	{
		COPY(ARG(1), ARG(5));
		Flength(ARG(5));
	}
	COPY(ARG(2), ARG(6));
	COPY(ARG(4), ARG(7));
	LOAD_NIL(ARG(8));
	LOAD_NIL(ARG(9));
	M1_1:;
	COPY(ARG(6), ARG(10));
	COPY(ARG(3), ARG(11));
	Fnumeql(ARG(10), 2);
	if(CL_TRUEP(ARG(10)))
	{
		COPY(ARG(7), ARG(10));
		COPY(ARG(5), ARG(11));
		Fnumeql(ARG(10), 2);
		if(CL_TRUEP(ARG(10)))
		{
			LOAD_NIL(ARG(0));
		}
		else
		{
			COPY(ARG(6), ARG(0));
		}
		goto RETURN2;
	}
	COPY(ARG(7), ARG(10));
	COPY(ARG(5), ARG(11));
	Fnumeql(ARG(10), 2);
	if(CL_TRUEP(ARG(10)))
	{
		COPY(ARG(6), ARG(0));
		goto RETURN2;
	}
	COPY(ARG(0), ARG(10));
	COPY(ARG(6), ARG(11));
	COPY(ARG(10), ARG(12));
	COPY(ARG(11), ARG(13));
	Frow_major_aref(ARG(12));
	COPY(ARG(12), ARG(8));
	COPY(ARG(1), ARG(10));
	COPY(ARG(7), ARG(11));
	COPY(ARG(10), ARG(9));
	COPY(ARG(11), ARG(10));
	Frow_major_aref(ARG(9));
	if(CL_CHARP(ARG(8)))
	{
		COPY(ARG(8), ARG(10));
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(10));	/* WRONG_TYPE */
		COPY(ARG(8), ARG(11));
		LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(12));	/* CHARACTER */
		Ferror(ARG(10), 3);
	}
	rt_char_upcase(ARG(10));
	rt_char_code(ARG(10));
	if(CL_CHARP(ARG(9)))
	{
		COPY(ARG(9), ARG(11));
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(11));	/* WRONG_TYPE */
		COPY(ARG(9), ARG(12));
		LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(13));	/* CHARACTER */
		Ferror(ARG(11), 3);
	}
	rt_char_upcase(ARG(11));
	rt_char_code(ARG(11));
	Fnumeql(ARG(10), 2);
	if(CL_TRUEP(ARG(10)))
	{
	}
	else
	{
		COPY(ARG(6), ARG(0));
		goto RETURN1;
	}
	COPY(ARG(6), ARG(10));
	F1plus(ARG(10));
	COPY(ARG(7), ARG(11));
	F1plus(ARG(11));
	COPY(ARG(11), ARG(7));
	COPY(ARG(10), ARG(6));
	goto M1_1;
	RETURN2:;
	RETURN1:;
}
Ejemplo n.º 7
0
void get_macro_character1(CL_FORM *base)
{
	COPY(ARG(1), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 410), ARG(3));	/* READTABLE */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 0 + 1), ARG(2));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(2));	/* NO_STRUCT */
		COPY(ARG(1), ARG(3));
		LOAD_SYMBOL(SYMBOL(Slisp, 410), ARG(4));	/* READTABLE */
		Ferror(ARG(2), 3);
	}
	if(CL_CHARP(ARG(0)))
	{
		COPY(ARG(0), ARG(3));
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(3));	/* WRONG_TYPE */
		COPY(ARG(0), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(5));	/* CHARACTER */
		Ferror(ARG(3), 3);
	}
	rt_char_code(ARG(3));
	LOAD_BOOL(CL_SMVECP(ARG(2)), ARG(4));
	if(CL_TRUEP(ARG(4)))
	{
		goto THEN1;
	}
	else
	{
		COPY(ARG(2), ARG(5));
		LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(6));	/* COMPLEX-VECTOR */
		rt_struct_typep(ARG(5));
	}
	if(CL_TRUEP(ARG(5)))
	{
		THEN1:;
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(4));	/* WRONG_TYPE */
		COPY(ARG(2), ARG(5));
		LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(6));	/* VECTOR */
		Ferror(ARG(4), 3);
	}
	Frow_major_aref(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		if(CL_CONSP(ARG(2)))
		{
			COPY(GET_CAR(ARG(2)), ARG(3));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(3));	/* ~a is not a list */
			COPY(ARG(2), ARG(4));
			Ferror(ARG(3), 2);
		}
		if(CL_CONSP(ARG(2)))
		{
			COPY(GET_CDR(ARG(2)), ARG(4));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(4));	/* ~a is not a list */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
		COPY(ARG(3), ARG(0));
		COPY(ARG(4), &mv_buf[0]);
		mv_count = 2;
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
Ejemplo n.º 8
0
void char_reader(CL_FORM *base)
{
	COPY(ARG(0), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(4));	/* T */
	LOAD_NIL(ARG(5));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(6));	/* T */
	read_char1(ARG(3));
	LOAD_NIL(ARG(4));
	COPY(ARG(0), ARG(5));
	LOAD_NIL(ARG(6));
	LOAD_NIL(ARG(7));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(8));	/* T */
	peek_char1(ARG(4));
	if(CL_TRUEP(ARG(4)))
	{
		if(CL_TRUEP(SYMVAL(Slisp, 447)))	/* *READTABLE-UNCHANGED* */
		{
			if(CL_CHARP(ARG(4)))	/* *READTABLE-SYNTAX* */
			{
				COPY(ARG(4), ARG(5));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(5));	/* WRONG_TYPE */
				COPY(ARG(4), ARG(6));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(7));	/* CHARACTER */
				Ferror(ARG(5), 3);
			}
			rt_char_code(ARG(5));
			COPY(OFFSET(AR_BASE(GET_FORM(SYMVAL(Slisp, 450))), GET_FIXNUM(ARG(5))), ARG(5));
		}
		else
		{
			COPY(SYMVAL(Slisp, 449), ARG(5));	/* *READTABLE* */
			readtable_syntax(ARG(5));
			if(CL_CHARP(ARG(4)))
			{
				COPY(ARG(4), ARG(6));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(6));	/* WRONG_TYPE */
				COPY(ARG(4), ARG(7));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(8));	/* CHARACTER */
				Ferror(ARG(6), 3);
			}
			rt_char_code(ARG(6));
			LOAD_BOOL(CL_SMVECP(ARG(5)), ARG(7));
			if(CL_TRUEP(ARG(7)))
			{
				goto THEN1;
			}
			else
			{
				COPY(ARG(5), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(9));	/* COMPLEX-VECTOR */
				rt_struct_typep(ARG(8));
			}
			if(CL_TRUEP(ARG(8)))
			{
				THEN1:;
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(7));	/* WRONG_TYPE */
				COPY(ARG(5), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(9));	/* VECTOR */
				Ferror(ARG(7), 3);
			}
			Frow_major_aref(ARG(5));
		}
	}	/* CONSTITUENT */
	else
	{
		goto ELSE2;
	}
	if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 460))
	{
		LOAD_SMALLFIXNUM(0, SYMVAL(Slisp, 440));	/* *FILL-POINTER* */
		LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(5));	/* T */
		BIND_SPECIAL(SYMBOL(Slisp, 408), ARG(5));	/* *READ-SUPPRESS* */
		COPY(ARG(0), ARG(6));
		COPY(ARG(3), ARG(7));
		bool_result = CL_TRUEP(SYMVAL(Slisp, 447));	/* *READTABLE-UNCHANGED* */
		if(bool_result)
		{
			if(CL_CHARP(ARG(3)))	/* *READTABLE-SYNTAX* */
			{
				COPY(ARG(3), ARG(8));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(8));	/* WRONG_TYPE */
				COPY(ARG(3), ARG(9));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(10));	/* CHARACTER */
				Ferror(ARG(8), 3);
			}
			rt_char_code(ARG(8));
			COPY(OFFSET(AR_BASE(GET_FORM(SYMVAL(Slisp, 450))), GET_FIXNUM(ARG(8))), ARG(8));
		}
		else
		{
			COPY(SYMVAL(Slisp, 449), ARG(8));	/* *READTABLE* */
			readtable_syntax(ARG(8));
			if(CL_CHARP(ARG(3)))
			{
				COPY(ARG(3), ARG(9));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(9));	/* WRONG_TYPE */
				COPY(ARG(3), ARG(10));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(11));	/* CHARACTER */
				Ferror(ARG(9), 3);
			}
			rt_char_code(ARG(9));
			LOAD_BOOL(CL_SMVECP(ARG(8)), ARG(10));
			if(CL_TRUEP(ARG(10)))
			{
				goto THEN3;
			}
			else
			{
				COPY(ARG(8), ARG(11));
				LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(12));	/* COMPLEX-VECTOR */
				rt_struct_typep(ARG(11));
			}
			if(CL_TRUEP(ARG(11)))
			{
				THEN3:;
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(10));	/* WRONG_TYPE */
				COPY(ARG(8), ARG(11));
				LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(12));	/* VECTOR */
				Ferror(ARG(10), 3);
			}
			Frow_major_aref(ARG(8));
		}
		read_token(ARG(6));
		RESTORE_SPECIAL;
		if(CL_TRUEP(SYMVAL(Slisp, 408)))	/* *READ-SUPPRESS* */
		{
		}
		else
		{
			get_token_string(ARG(5));
			Fname_char(ARG(5));
			COPY(ARG(5), ARG(3));
			if(CL_TRUEP(ARG(3)))
			{
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kchar_reader[0], ARG(5));	/* illegal character name ~s */
				get_token_string(ARG(6));
				Ferror(ARG(5), 2);
			}
		}
	}
	ELSE2:;
	if(CL_TRUEP(SYMVAL(Slisp, 408)))	/* *READ-SUPPRESS* */
	{
		LOAD_NIL(ARG(0));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			COPY(ARG(2), ARG(5));
			Fplusp(ARG(5));
		}
		else
		{
			goto ELSE4;
		}
		if(CL_TRUEP(ARG(5)))
		{
			LOAD_SMSTR((CL_FORM *)&Kchar_reader[2], ARG(5));	/* font ~s of ~s will be ignored */
			COPY(ARG(2), ARG(6));
			COPY(ARG(3), ARG(7));
			Fwarn(ARG(5), 3);
			mv_count = 1;
		}
		ELSE4:;
		COPY(ARG(3), ARG(0));
	}
}
Ejemplo n.º 9
0
Archivo: Fchar.c Proyecto: plops/clicc
void Fchar(CL_FORM *base)
{
	Frow_major_aref(ARG(0));
}
Ejemplo n.º 10
0
void string_reader(CL_FORM *base)
{
    LOAD_NIL(ARG(2));
    LOAD_FIXNUM(ARG(3), 0, ARG(3));
    COPY(SYMVAL(Slisp, 448), ARG(4));	/* *TOKEN* */
    Fset_fill_pointer(ARG(3));
M1_1:
    ;
    COPY(ARG(0), ARG(3));
    COPY(ARG(3), ARG(2));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(3));	/* T */
    LOAD_NIL(ARG(4));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(5));	/* T */
    read_char1(ARG(2));
    COPY(SYMVAL(Slisp, 454), ARG(3));	/* *READTABLE* */
    readtable_syntax(ARG(3));
    if(CL_CHARP(ARG(2)))
    {
    }
    else
    {
        COPY(SYMVAL(Slisp, 58), ARG(4));	/* WRONG_TYPE */
        COPY(ARG(2), ARG(5));
        LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(6));	/* CHARACTER */
        Ferror(ARG(4), 3);
    }
    COPY(ARG(2), ARG(4));
    rt_char_code(ARG(4));
    LOAD_BOOL(CL_SMVECP(ARG(3)), ARG(5));
    if(CL_TRUEP(ARG(5)))
    {
        goto THEN1;
    }
    else
    {
        COPY(ARG(3), ARG(6));
        LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(7));	/* COMPLEX-VECTOR */
        rt_struct_typep(ARG(6));
    }
    if(CL_TRUEP(ARG(6)))
    {
THEN1:
        ;
    }
    else
    {
        COPY(SYMVAL(Slisp, 58), ARG(5));	/* WRONG_TYPE */
        COPY(ARG(3), ARG(6));
        LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(7));	/* VECTOR */
        Ferror(ARG(5), 3);
    }
    Frow_major_aref(ARG(3));
    if(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 463))	/* SINGLE-ESCAPE */
    {
        COPY(ARG(0), ARG(3));
        COPY(ARG(3), ARG(2));
        LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(3));	/* T */
        LOAD_NIL(ARG(4));
        LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(5));	/* T */
        read_char1(ARG(2));
        COPY(ARG(2), ARG(3));
        COPY(SYMVAL(Slisp, 448), ARG(4));	/* *TOKEN* */
        LOAD_NIL(ARG(5));
        vector_push_extend1(ARG(3));
    }
    else
    {
        if(EQL(ARG(1), ARG(2)))
        {
            COPY(SYMVAL(Slisp, 448), ARG(0));	/* *TOKEN* */
            LOAD_FIXNUM(ARG(1), 0, ARG(1));
            LOAD_NIL(ARG(2));
            subseq1(ARG(0));
            goto RETURN1;
        }
        else
        {
            COPY(ARG(2), ARG(3));
            COPY(SYMVAL(Slisp, 448), ARG(4));	/* *TOKEN* */
            LOAD_NIL(ARG(5));
            vector_push_extend1(ARG(3));
        }
    }
    goto M1_1;
RETURN1:
    ;
}
Ejemplo n.º 11
0
void Fremhash(CL_FORM *base)
{
	COPY(ARG(0), ARG(2));
	LOAD_SMALLFIXNUM(0, ARG(3));
	internal_sxhash(ARG(2));
	mv_count = 1;
	COPY(ARG(1), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(4));	/* HASH-TABLE */
	rt_struct_typep(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 0 + 1), ARG(3));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(3));	/* NO_STRUCT */
		COPY(ARG(1), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(5));	/* HASH-TABLE */
		Ferror(ARG(3), 3);
	}
	COPY(ARG(2), ARG(4));
	COPY(ARG(3), ARG(5));
	LOAD_SMALLFIXNUM(0, ARG(6));
	rt_convert_to_int(ARG(4));
	COPY(&mv_buf[0], ARG(5));
	mv_count = 1;
	{
		COPY(ARG(5), ARG(2));
	}
	COPY(ARG(1), ARG(3));
	hash_table_array(ARG(3));
	COPY(ARG(2), ARG(4));
	COPY(ARG(1), ARG(5));
	hash_table_array(ARG(5));
	LOAD_BOOL(CL_SMVECP(ARG(5)), ARG(6));
	if(CL_TRUEP(ARG(6)))
	{
		goto THEN1;
	}
	else
	{
		COPY(ARG(5), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(8));	/* COMPLEX-VECTOR */
		rt_struct_typep(ARG(7));
	}
	if(CL_TRUEP(ARG(7)))
	{
		THEN1:;
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(6));	/* WRONG_TYPE */
		COPY(ARG(5), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(8));	/* VECTOR */
		Ferror(ARG(6), 3);
	}
	COPY(ARG(2), ARG(6));
	Frow_major_aref(ARG(5));
	COPY(ARG(1), ARG(6));
	LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(7));	/* HASH-TABLE */
	rt_struct_typep(ARG(6));
	if(CL_TRUEP(ARG(6)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 4 + 1), ARG(6));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(6));	/* NO_STRUCT */
		COPY(ARG(1), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(8));	/* HASH-TABLE */
		Ferror(ARG(6), 3);
	}
	LOAD_SMALLFIXNUM(0, ARG(7));
	COPY(SYMVAL(Slisp, 0), ARG(8));	/* MOST-POSITIVE-FIXNUM */
	COPY(SYMVAL(Slisp, 0), ARG(9));	/* MOST-POSITIVE-FIXNUM */
	COPY(ARG(0), ARG(10));
	COPY(ARG(5), ARG(11));
	LOAD_NIL(ARG(12));
	COPY(ARG(6), ARG(13));
	LOAD_NIL(ARG(14));
	COPY(ARG(7), ARG(15));
	COPY(ARG(8), ARG(16));
	COPY(ARG(9), ARG(17));
	LOAD_GLOBFUN(&CFcar, ARG(18));
	delete1(ARG(10));
	COPY(ARG(10), ARG(5));
	COPY(ARG(5), ARG(0));
	COPY(ARG(3), ARG(1));
	COPY(ARG(4), ARG(2));
	rt_set_vref(ARG(0));
}
Ejemplo n.º 12
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.º 13
0
void stringNE1(CL_FORM *base)
{
	COPY(ARG(0), ARG(6));
	Fstring(ARG(6));
	COPY(ARG(6), ARG(0));
	COPY(ARG(1), ARG(6));
	Fstring(ARG(6));
	COPY(ARG(6), ARG(1));
	COPY(ARG(2), ARG(6));
	COPY(ARG(3), ARG(7));
	COPY(ARG(0), ARG(8));
	Flength(ARG(8));
	check_seq_start_end(ARG(6));
	COPY(ARG(6), ARG(3));
	COPY(ARG(4), ARG(6));
	COPY(ARG(5), ARG(7));
	COPY(ARG(1), ARG(8));
	Flength(ARG(8));
	check_seq_start_end(ARG(6));
	COPY(ARG(6), ARG(5));
	COPY(ARG(2), ARG(6));
	COPY(ARG(4), ARG(7));
	LOAD_NIL(ARG(8));
	LOAD_NIL(ARG(9));
	M1_1:;
	COPY(ARG(6), ARG(10));
	COPY(ARG(3), ARG(11));
	Fnumeql(ARG(10), 2);
	if(CL_TRUEP(ARG(10)))
	{
		COPY(ARG(7), ARG(10));
		COPY(ARG(5), ARG(11));
		Fnumeql(ARG(10), 2);
		if(CL_TRUEP(ARG(10)))
		{
			LOAD_NIL(ARG(0));
		}
		else
		{
			COPY(ARG(6), ARG(0));
		}
		goto RETURN2;
	}
	COPY(ARG(7), ARG(10));
	COPY(ARG(5), ARG(11));
	Fnumeql(ARG(10), 2);
	if(CL_TRUEP(ARG(10)))
	{
		COPY(ARG(6), ARG(0));
		goto RETURN2;
	}
	COPY(ARG(0), ARG(10));
	COPY(ARG(6), ARG(11));
	COPY(ARG(10), ARG(12));
	Fstringp(ARG(12));
	if(CL_TRUEP(ARG(12)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(12));	/* WRONG_TYPE */
		COPY(ARG(10), ARG(13));
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(14));	/* STRING */
		Ferror(ARG(12), 3);
	}
	COPY(ARG(10), ARG(12));
	COPY(ARG(11), ARG(13));
	Frow_major_aref(ARG(12));
	COPY(ARG(12), ARG(8));
	COPY(ARG(1), ARG(10));
	COPY(ARG(7), ARG(11));
	COPY(ARG(10), ARG(12));
	Fstringp(ARG(12));
	if(CL_TRUEP(ARG(12)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(12));	/* WRONG_TYPE */
		COPY(ARG(10), ARG(13));
		LOAD_SYMBOL(SYMBOL(Slisp, 44), ARG(14));	/* STRING */
		Ferror(ARG(12), 3);
	}
	COPY(ARG(10), ARG(9));
	COPY(ARG(11), ARG(10));
	Frow_major_aref(ARG(9));
	COPY(ARG(8), ARG(10));
	COPY(ARG(9), ARG(11));
	rt_charE(ARG(10));
	if(CL_TRUEP(ARG(10)))
	{
	}
	else
	{
		COPY(ARG(6), ARG(0));
		goto RETURN1;
	}
	COPY(ARG(6), ARG(10));
	F1plus(ARG(10));
	F1plus(ARG(7));
	COPY(ARG(10), ARG(6));
	goto M1_1;
	RETURN2:;
	RETURN1:;
}
Ejemplo n.º 14
0
void peek_char1(CL_FORM *base)
{
	if(CL_TRUEP(ARG(1)))
	{
		if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 48))	/* T */
		{
			COPY(SYMVAL(Slisp, 59), ARG(1));	/* *TERMINAL-IO* */
		}
	}
	else
	{
		COPY(SYMVAL(Slisp, 60), ARG(1));	/* *STANDARD-INPUT* */
	}
	COPY(ARG(1), ARG(5));
	LOAD_NIL(ARG(6));
	LOAD_NIL(ARG(7));
	COPY(ARG(4), ARG(8));
	read_char1(ARG(5));
	if(CL_SYMBOLP(ARG(0)) && GET_SYMBOL(ARG(0)) == SYMBOL(Slisp, 48))	/* T */
	{
		M1_1:;
		if(CL_TRUEP(ARG(5)))
		{
		}
		else
		{
			goto RETURN1;
		}
		COPY(SYMVAL(Slisp, 454), ARG(6));	/* *READTABLE* */
		COPY(ARG(6), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(8));	/* READTABLE */
		rt_struct_typep(ARG(7));
		if(CL_TRUEP(ARG(7)))
		{
			COPY(OFFSET(AR_BASE(GET_FORM(ARG(6))), 0 + 1), ARG(6));
		}
		else
		{
			COPY(SYMVAL(Slisp, 352), ARG(7));	/* NO_STRUCT */
			COPY(ARG(6), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(9));	/* READTABLE */
			Ferror(ARG(7), 3);
		}
		if(CL_CHARP(ARG(5)))
		{
		}
		else
		{
			COPY(SYMVAL(Slisp, 58), ARG(7));	/* WRONG_TYPE */
			COPY(ARG(5), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(9));	/* CHARACTER */
			Ferror(ARG(7), 3);
		}
		COPY(ARG(5), ARG(7));
		rt_char_code(ARG(7));
		LOAD_BOOL(CL_SMVECP(ARG(6)), ARG(8));
		if(CL_TRUEP(ARG(8)))
		{
			goto THEN1;
		}
		else
		{
			COPY(ARG(6), ARG(9));
			LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(10));	/* COMPLEX-VECTOR */
			rt_struct_typep(ARG(9));
		}
		if(CL_TRUEP(ARG(9)))
		{
			THEN1:;
		}
		else
		{
			COPY(SYMVAL(Slisp, 58), ARG(8));	/* WRONG_TYPE */
			COPY(ARG(6), ARG(9));
			LOAD_SYMBOL(SYMBOL(Slisp, 47), ARG(10));	/* VECTOR */
			Ferror(ARG(8), 3);
		}
		Frow_major_aref(ARG(6));
		if(CL_SYMBOLP(ARG(6)) && GET_SYMBOL(ARG(6)) == SYMBOL(Slisp, 462))	/* WHITESPACE */
		{
		}
		else
		{
			goto RETURN1;
		}
		COPY(ARG(1), ARG(6));
		COPY(ARG(4), ARG(7));
		COPY(ARG(6), ARG(8));
		LOAD_NIL(ARG(9));
		LOAD_NIL(ARG(10));
		COPY(ARG(7), ARG(11));
		read_char1(ARG(8));
		COPY(ARG(8), ARG(5));
		goto M1_1;
		RETURN1:;
	}
	else
	{
		if(CL_CHARP(ARG(0)))
		{
			M2_1:;
			if(CL_TRUEP(ARG(5)))
			{
			}
			else
			{
				goto RETURN2;
			}
			if(EQL(ARG(0), ARG(5)))
			{
			}
			else
			{
				goto RETURN2;
			}
			COPY(ARG(1), ARG(6));
			COPY(ARG(4), ARG(7));
			COPY(ARG(6), ARG(8));
			LOAD_NIL(ARG(9));
			LOAD_NIL(ARG(10));
			COPY(ARG(7), ARG(11));
			read_char1(ARG(8));
			COPY(ARG(8), ARG(5));
			goto M2_1;
			RETURN2:;
		}
	}
	if(CL_TRUEP(ARG(5)))
	{
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			LOAD_SMSTR((CL_FORM *)&Kpeek_char1[0], ARG(6));	/* unexpected end of file */
			Ferror(ARG(6), 1);
		}
	}
	COPY(ARG(5), ARG(6));
	COPY(ARG(1), ARG(7));
	unread_char1(ARG(6));
	mv_count = 1;
	COPY(ARG(5), ARG(0));
}
Ejemplo n.º 15
0
Archivo: Fmap.c Proyecto: plops/clicc
static void Z153_get_elem(CL_FORM *base)
{
	if(CL_CONSP(ARG(1)))
	{
		COPY(GET_CAR(ARG(1)), ARG(2));
	}
	else
	{
		if(CL_TRUEP(ARG(1)))
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2));	/* ~a is not a list */
			COPY(ARG(1), ARG(3));
			Ferror(ARG(2), 2);
		}
		else
		{
			COPY(ARG(1), ARG(2));
		}
	}
	if(CL_LISTP(ARG(2)))
	{
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(2));
		}
		else
		{
			if(CL_TRUEP(ARG(1)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2));	/* ~a is not a list */
				COPY(ARG(1), ARG(3));
				Ferror(ARG(2), 2);
			}
			else
			{
				COPY(ARG(1), ARG(2));
			}
		}
		if(CL_CONSP(ARG(2)))
		{
			COPY(GET_CAR(ARG(2)), ARG(3));
		}
		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
			{
				COPY(ARG(2), ARG(3));
			}
		}
		COPY(ARG(2), ARG(4));
		COPY(ARG(4), ARG(5));
		if(CL_CONSP(ARG(5)))
		{
			COPY(GET_CDR(ARG(5)), ARG(2));
		}
		else
		{
			if(CL_TRUEP(ARG(5)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(6));	/* ~a is not a list */
				COPY(ARG(5), ARG(7));
				Ferror(ARG(6), 2);
			}
			else
			{
				LOAD_NIL(ARG(2));
			}
		}
		if(CL_CONSP(ARG(1)))
		{
			COPY(ARG(2), GET_CAR(ARG(1)));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[229], ARG(4));	/* ~a is not a cons */
			COPY(ARG(1), ARG(5));
			Ferror(ARG(4), 2);
		}
		COPY(ARG(3), ARG(0));
	}
	else
	{
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(2));
		}
		else
		{
			if(CL_TRUEP(ARG(1)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(2));	/* ~a is not a list */
				COPY(ARG(1), ARG(3));
				Ferror(ARG(2), 2);
			}
			else
			{
				COPY(ARG(1), ARG(2));
			}
		}
		if(CL_LISTP(ARG(2)))
		{
			COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(3));
			COPY(ARG(2), ARG(4));
			Fnthcdr(ARG(3));
			if(CL_CONSP(ARG(3)))
			{
				COPY(GET_CAR(ARG(3)), ARG(0));
			}
			else
			{
				if(CL_TRUEP(ARG(3)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(4));	/* ~a is not a list */
					COPY(ARG(3), ARG(5));
					Ferror(ARG(4), 2);
				}
				else
				{
					LOAD_NIL(ARG(0));
				}
			}
		}
		else
		{
			COPY(ARG(2), ARG(3));
			COPY(INDIRECT(GET_FORM(ARG(0)) + 3), ARG(4));
			Frow_major_aref(ARG(3));
			COPY(ARG(3), ARG(0));
		}
	}
}