示例#1
0
文件: lisp421.c 项目: hoelzl/Clicc
void rt_copy_struct(CL_FORM *base)
{
	COPY(ARG(0), ARG(2));
	COPY(ARG(1), ARG(3));
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(2));	/* NO_STRUCT */
		COPY(ARG(0), ARG(3));
		COPY(ARG(1), ARG(4));
		Ferror(ARG(2), 3);
	}
	LOAD_FIXNUM(ARG(3), AR_SIZE(GET_FORM(ARG(0))), ARG(2));
	COPY(ARG(2), ARG(3));
	rt_new_struct(ARG(3));
	COPY(ARG(1), OFFSET(AR_BASE(GET_FORM(ARG(3))), -1 + 1));
	LOAD_FIXNUM(ARG(4), 0, ARG(4));
	M1_1:;
	COPY(ARG(4), ARG(5));
	COPY(ARG(2), ARG(6));
	Fge(ARG(5), 2);
	if(CL_TRUEP(ARG(5)))
	{
		COPY(ARG(3), ARG(0));
		goto RETURN1;
	}
	COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), GET_FIXNUM(ARG(4)) + 1), ARG(5));
	COPY(ARG(5), OFFSET(AR_BASE(GET_FORM(ARG(3))), GET_FIXNUM(ARG(4)) + 1));
	F1plus(ARG(4));
	goto M1_1;
	RETURN1:;
}
示例#2
0
void Fslot_boundp(CL_FORM *base)
{
	if(CL_INSTANCEP(ARG(0)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), -1 + 1), ARG(2));
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[238], ARG(2));	/* ~S ist not a valid argument for CLASS-OF, ~
              these have been restricted to instances of user-defined-classes. */
		COPY(ARG(0), ARG(3));
		Ferror(ARG(2), 2);
	}
	COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 3 + 1), ARG(2));
	COPY(ARG(1), ARG(3));
	COPY(ARG(2), ARG(4));
	LOAD_SYMBOL(SYMBOL(Slisp, 209), ARG(5));	/* KEY */
	LOAD_GLOBFUN(&CFthird, ARG(6));
	Fposition(ARG(3), 4);
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), GET_FIXNUM(ARG(3)) + 1), ARG(4));
		LOAD_BOOL(CL_UNBOUNDP(ARG(4)), ARG(4));
		if(CL_TRUEP(ARG(4)))
		{
			LOAD_NIL(ARG(0));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
		}
	}
	else
	{
		if(CL_INSTANCEP(ARG(0)))
		{
			COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), -1 + 1), ARG(4));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[238], ARG(4));	/* ~S ist not a valid argument for CLASS-OF, ~
              these have been restricted to instances of user-defined-classes. */
			COPY(ARG(0), ARG(5));
			Ferror(ARG(4), 2);
		}
		LOAD_SMSTR((CL_FORM *)&KClisp[234], ARG(5));	/* ~S: The slot ~s is missing from the object ~s of class ~s. */
		LOAD_SYMBOL(SYMBOL(Slisp, 201), ARG(6));	/* SLOT-BOUNDP */
		COPY(ARG(1), ARG(7));
		COPY(ARG(0), ARG(8));
		COPY(ARG(4), ARG(9));
		Ferror(ARG(5), 5);
	}
}
示例#3
0
文件: lisp428.c 项目: plops/clicc
void rt_struct_typep(CL_FORM *base)
{
	if(CL_STRUCTP(ARG(0)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), -1 + 1), ARG(2));
		M1_1:;
		if(EQ(ARG(1), ARG(2)))
		{
			goto RETURN1;
		}
		COPY(ARG(2), ARG(3));
		LOAD_SYMBOL(SYMBOL(Slisp, 148), ARG(3));	/* INCLUDED-STRUCT */
		LOAD_NIL(ARG(4));
		get1(ARG(2));
		if(CL_TRUEP(ARG(2)))
		{
		}
		else
		{
			LOAD_NIL(ARG(0));
			goto RETURN1;
		}
		goto M1_1;
		RETURN1:;
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
示例#4
0
文件: lisp510.c 项目: hoelzl/Clicc
void readtable_dispatch(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(2));	/* READTABLE */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 1 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(3));	/* READTABLE */
		Ferror(ARG(1), 3);
	}
}
示例#5
0
文件: lisp498.c 项目: plops/clicc
void hash_table_array(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(2));	/* HASH-TABLE */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 5 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 389), ARG(3));	/* HASH-TABLE */
		Ferror(ARG(1), 3);
	}
}
示例#6
0
文件: lisp341.c 项目: plops/clicc
void pattern_pieces(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(2));	/* PATTERN */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 0 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 248), ARG(3));	/* PATTERN */
		Ferror(ARG(1), 3);
	}
}
示例#7
0
文件: lisp437.c 项目: hoelzl/Clicc
void Ppackage_used_by_list(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(2));	/* PACKAGE */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 6 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(3));	/* PACKAGE */
		Ferror(ARG(1), 3);
	}
}
示例#8
0
文件: lisp200.c 项目: hoelzl/Clicc
void complex_array_displaced(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 147), ARG(2));	/* COMPLEX-ARRAY */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 1 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 147), ARG(3));	/* COMPLEX-ARRAY */
		Ferror(ARG(1), 3);
	}
}
示例#9
0
文件: lisp221.c 项目: plops/clicc
void set_complex_vector_fillptr(CL_FORM *base)
{
	LOAD_SMALLFIXNUM(3, ARG(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(ARG(0), OFFSET(AR_BASE(GET_FORM(ARG(1))), GET_FIXNUM(ARG(2)) + 1));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(0));	/* NO_STRUCT */
		LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(2));	/* COMPLEX-VECTOR */
		Ferror(ARG(0), 3);
	}
}
示例#10
0
文件: lisp333.c 项目: hoelzl/Clicc
void Ppathname_directory(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(2));	/* PATHNAME */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 2 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(3));	/* PATHNAME */
		Ferror(ARG(1), 3);
	}
}
示例#11
0
文件: lisp207.c 项目: hoelzl/Clicc
void complex_vector_fillptr(CL_FORM *base)
{
	COPY(ARG(0), ARG(1));
	LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(2));	/* COMPLEX-VECTOR */
	rt_struct_typep(ARG(1));
	if(CL_TRUEP(ARG(1)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), 3 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(1));	/* NO_STRUCT */
		COPY(ARG(0), ARG(2));
		LOAD_SYMBOL(SYMBOL(Slisp, 150), ARG(3));	/* COMPLEX-VECTOR */
		Ferror(ARG(1), 3);
	}
}
示例#12
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));
	}
}
示例#13
0
文件: Fsvref.c 项目: hoelzl/Clicc
void Fsvref(CL_FORM *base)
{
	if(CL_SMVEC_T_P(ARG(0)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(2));	/* WRONG_TYPE */
		COPY(ARG(0), ARG(3));
		LOAD_SYMBOL(SYMBOL(Slisp, 41), ARG(4));	/* SIMPLE-VECTOR */
		Ferror(ARG(2), 3);
	}
	if(CL_FIXNUMP(ARG(1)))
	{
		LOAD_FIXNUM(ARG(2), 0, ARG(2));
		COPY(ARG(1), ARG(3));
		LOAD_FIXNUM(ARG(5), AR_SIZE(GET_FORM(ARG(0))), ARG(4));
		F1minus(ARG(4));
		Fle(ARG(2), 3);
	}
	else
	{
		goto ELSE1;
	}
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		ELSE1:;
		COPY(SYMVAL(Slisp, 153), ARG(2));	/* OUT_OF_RANGE */
		COPY(ARG(1), ARG(3));
		LOAD_FIXNUM(ARG(5), AR_SIZE(GET_FORM(ARG(0))), ARG(4));
		Ferror(ARG(2), 3);
	}
	COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), GET_FIXNUM(ARG(1))), ARG(0));
}
示例#14
0
文件: lisp108.c 项目: plops/clicc
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));
	}
}
示例#15
0
文件: char_reader.c 项目: plops/clicc
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));
	}
}
示例#16
0
文件: lisp419.c 项目: hoelzl/Clicc
void rt_struct_type(CL_FORM *base)
{
	COPY(OFFSET(AR_BASE(GET_FORM(ARG(0))), -1 + 1), ARG(0));
}
示例#17
0
文件: peek_char1.c 项目: hoelzl/Clicc
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));
}
示例#18
0
文件: lisp79.c 项目: hoelzl/Clicc
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;
}
示例#19
0
文件: unintern1.c 项目: hoelzl/Clicc
void unintern1(CL_FORM *base)
{
	LOAD_NIL(ARG(2));
	LOAD_NIL(ARG(3));
	if(CL_SYMBOLP(ARG(0)))
	{
		LOAD_SMSTR(SYM_NAME(ARG(0)), ARG(4));
	}
	else
	{
		if(CL_TRUEP(ARG(0)))
		{
			COPY(SYMVAL(Slisp, 676), ARG(4));	/* SYM_EXPECTED */
			COPY(ARG(0), ARG(5));
			Ferror(ARG(4), 2);
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(4));	/* NIL */
		}
	}
	LOAD_NIL(ARG(5));
	COPY(ARG(1), ARG(6));
	coerce_to_package(ARG(6));
	COPY(ARG(6), ARG(1));
	COPY(ARG(4), ARG(6));
	COPY(ARG(1), ARG(7));
	find_symbol1(ARG(6));
	COPY(&mv_buf[0], ARG(7));
	{
		int nargs;
		nargs = 2;
		mv_count = 1;
		{
			switch(nargs)
			{
				case 0:
				LOAD_NIL(ARG(6));
				case 1:
				LOAD_NIL(ARG(7));
				nargs = 2;
			}
			COPY(ARG(6), ARG(2));
			COPY(ARG(7), ARG(3));
		}
	}
	if(EQ(ARG(2), ARG(0)))
	{
		LOAD_BOOL(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 384), ARG(6));	/* INTERNAL */
		if(CL_TRUEP(ARG(6)))
		{
			goto THEN1;
		}
		else
		{
		}	/* EXTERNAL */
	}
	else
	{
		goto ELSE2;
	}
	if(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 385))
	{
		THEN1:;
		if(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 385))	/* EXTERNAL */
		{
			COPY(ARG(1), ARG(6));
			COPY(ARG(6), ARG(7));
			COPY(ARG(7), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
			rt_struct_typep(ARG(8));
			if(CL_TRUEP(ARG(8)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(7))), 3 + 1), ARG(5));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
				COPY(ARG(7), ARG(6));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
				Ferror(ARG(5), 3);
			}
		}
		else
		{
			COPY(ARG(1), ARG(6));
			COPY(ARG(6), ARG(7));
			COPY(ARG(7), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
			rt_struct_typep(ARG(8));
			if(CL_TRUEP(ARG(8)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(7))), 2 + 1), ARG(5));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
				COPY(ARG(7), ARG(6));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
				Ferror(ARG(5), 3);
			}
		}
		COPY(ARG(1), ARG(6));
		LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
		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, 352), ARG(6));	/* NO_STRUCT */
			COPY(ARG(1), ARG(7));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8));	/* PACKAGE */
			Ferror(ARG(6), 3);
		}
		COPY(ARG(0), ARG(7));
		COPY(ARG(6), ARG(8));
		LOAD_NIL(ARG(9));
		LOAD_NIL(ARG(10));
		LOAD_NIL(ARG(11));
		member1(ARG(7));
		if(CL_TRUEP(ARG(7)))
		{
			LOAD_FIXNUM(ARG(6), 0, ARG(6));
			LOAD_NIL(ARG(7));
			COPY(ARG(1), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
			rt_struct_typep(ARG(8));
			if(CL_TRUEP(ARG(8)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 5 + 1), ARG(8));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(8));	/* NO_STRUCT */
				COPY(ARG(1), ARG(9));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10));	/* PACKAGE */
				Ferror(ARG(8), 3);
			}
			M1_1:;
			if(CL_ATOMP(ARG(8)))
			{
				LOAD_NIL(ARG(7));
				goto RETURN1;
			}
			COPY(ARG(8), ARG(9));
			COPY(GET_CAR(ARG(9)), ARG(7));
			COPY(ARG(4), ARG(9));
			COPY(ARG(7), ARG(10));
			find_symbol1(ARG(9));
			COPY(&mv_buf[0], ARG(10));
			{
				int nargs;
				nargs = 2;
				mv_count = 1;
				{
					switch(nargs)
					{
						case 0:
						LOAD_NIL(ARG(9));
						case 1:
						LOAD_NIL(ARG(10));
						nargs = 2;
					}
					COPY(ARG(9), ARG(2));
					COPY(ARG(10), ARG(3));
				}
			}
			if(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 385))	/* EXTERNAL */
			{
				if(CL_FIXNUMP(ARG(6)) && GET_FIXNUM(ARG(6)) == 0)
				{
					COPY(ARG(2), ARG(6));
				}
				else
				{
					if(EQ(ARG(2), ARG(6)))
					{
					}
					else
					{
						LOAD_SMSTR((CL_FORM *)&Kunintern1[0], ARG(9));	/* ~S and ~S will cause a name conflict */
						COPY(ARG(6), ARG(10));
						COPY(ARG(2), ARG(11));
						Ferror(ARG(9), 3);
					}
				}
			}
			COPY(ARG(8), ARG(9));
			COPY(GET_CDR(ARG(9)), ARG(8));
			goto M1_1;
			RETURN1:;
			COPY(ARG(1), ARG(6));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
			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, 352), ARG(6));	/* NO_STRUCT */
				COPY(ARG(1), ARG(7));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8));	/* PACKAGE */
				Ferror(ARG(6), 3);
			}
			LOAD_SYMBOL(SYMBOL(Slisp, 392), ARG(7));	/* COUNT */
			LOAD_FIXNUM(ARG(8), 1, ARG(8));
			Flist(ARG(7), 2);
			LOAD_GLOBFUN(&CFremove, ARG(8));
			COPY(ARG(0), ARG(9));
			COPY(ARG(6), ARG(10));
			COPY(ARG(7), ARG(11));
			Fapply(ARG(8), 4);
			mv_count = 1;
			COPY(ARG(8), ARG(6));
			LOAD_FIXNUM(ARG(7), 4, ARG(7));
			COPY(ARG(1), ARG(8));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
			rt_struct_typep(ARG(8));
			if(CL_TRUEP(ARG(8)))
			{
				COPY(ARG(6), OFFSET(AR_BASE(GET_FORM(ARG(1))), 4 + 1));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(8));	/* NO_STRUCT */
				COPY(ARG(1), ARG(9));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10));	/* PACKAGE */
				Ferror(ARG(8), 3);
			}
		}
		COPY(ARG(0), ARG(6));
		COPY(ARG(5), ARG(7));
		LOAD_FIXNUM(ARG(8), 101, ARG(8));
		COPY(ARG(4), ARG(9));
		string_to_simple_string(ARG(9));
		rt_sxhash_string(ARG(9));
		COPY(ARG(9), ARG(10));
		LOAD_FIXNUM(ARG(11), 101, ARG(11));
		rt_floor(ARG(10));
		COPY(&mv_buf[0], ARG(11));
		mv_count = 1;
		{
			COPY(ARG(11), ARG(8));
		}
		del_pack_sym(ARG(6));
		if(CL_SYMBOLP(ARG(0)))
		{
			COPY(SYM_PACKAGE(ARG(0)), ARG(6));
		}
		else
		{
			if(CL_TRUEP(ARG(0)))
			{
				COPY(SYMVAL(Slisp, 676), ARG(6));	/* SYM_EXPECTED */
				COPY(ARG(0), ARG(7));
				Ferror(ARG(6), 2);
			}
			else
			{
				COPY(SYMVAL(Slisp, 679), ARG(6));	/* *NIL-PACKAGE* */
			}
		}
		if(EQ(ARG(6), ARG(1)))
		{
			COPY(ARG(0), ARG(6));
			LOAD_NIL(ARG(7));
			set_symbol_package(ARG(6));
		}
		LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
	}
	else
	{
		ELSE2:;
		LOAD_NIL(ARG(0));
	}
}
示例#20
0
文件: lisp143.c 项目: hoelzl/Clicc
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));
}
示例#21
0
文件: Fremhash.c 项目: plops/clicc
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));
}
示例#22
0
文件: lisp94.c 项目: hoelzl/Clicc
void make_dispatch_macro_character1(CL_FORM *base)
{
    LOAD_FIXNUM(ARG(3), 256, ARG(3));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(4));	/* T */
    LOAD_NIL(ARG(5));
    LOAD_NIL(ARG(6));
    LOAD_NIL(ARG(7));
    LOAD_NIL(ARG(8));
    LOAD_NIL(ARG(9));
    LOAD_FIXNUM(ARG(10), 0, ARG(10));
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(11));	/* T */
    LOAD_NIL(ARG(12));
    LOAD_NIL(ARG(13));
    make_array1(ARG(3));
    GEN_HEAPVAR(ARG(3), ARG(4));
    COPY(ARG(2), ARG(4));
    LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(5));	/* READTABLE */
    rt_struct_typep(ARG(4));
    if(CL_TRUEP(ARG(4)))
    {
        COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 0 + 1), ARG(4));
    }
    else
    {
        COPY(SYMVAL(Slisp, 352), ARG(4));	/* NO_STRUCT */
        COPY(ARG(2), ARG(5));
        LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(6));	/* READTABLE */
        Ferror(ARG(4), 3);
    }
    if(CL_CHARP(ARG(0)))
    {
    }
    else
    {
        COPY(SYMVAL(Slisp, 58), ARG(5));	/* WRONG_TYPE */
        COPY(ARG(0), ARG(6));
        LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(7));	/* CHARACTER */
        Ferror(ARG(5), 3);
    }
    COPY(ARG(0), ARG(5));
    rt_char_code(ARG(5));
    {
        GEN_CLOSURE(array, ARG(6), 4, Z49_lambda, 2);
        COPY(ARG(3), &array[3]);
        LOAD_CLOSURE(array, ARG(6));
    }
    COPY(ARG(6), ARG(6));
    ALLOC_CONS(ARG(8), ARG(6), ARG(1), ARG(6));
    COPY(ARG(6), ARG(7));
    COPY(ARG(4), ARG(8));
    COPY(ARG(5), ARG(9));
    rt_set_vref(ARG(7));
    COPY(ARG(0), ARG(4));
    COPY(ARG(2), ARG(5));
    LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(6));	/* READTABLE */
    rt_struct_typep(ARG(5));
    if(CL_TRUEP(ARG(5)))
    {
        COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 1 + 1), ARG(5));
    }
    else
    {
        COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
        COPY(ARG(2), ARG(6));
        LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(7));	/* READTABLE */
        Ferror(ARG(5), 3);
    }
    LOAD_NIL(ARG(6));
    LOAD_NIL(ARG(7));
    LOAD_NIL(ARG(8));
    assoc1(ARG(4));
    if(CL_TRUEP(ARG(4)))
    {
        if(CL_CONSP(ARG(4)))
        {
            COPY(INDIRECT(ARG(3)), GET_CDR(ARG(4)));
        }
        else
        {
            LOAD_SMSTR((CL_FORM *)&KClisp[254], ARG(5));	/* ~a is not a cons */
            COPY(ARG(4), ARG(6));
            Ferror(ARG(5), 2);
        }
    }
    else
    {
        ALLOC_CONS(ARG(7), ARG(0), INDIRECT(ARG(3)), ARG(5));
        COPY(ARG(2), ARG(6));
        LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(7));	/* READTABLE */
        rt_struct_typep(ARG(6));
        if(CL_TRUEP(ARG(6)))
        {
            COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 1 + 1), ARG(6));
        }
        else
        {
            COPY(SYMVAL(Slisp, 352), ARG(6));	/* NO_STRUCT */
            COPY(ARG(2), ARG(7));
            LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(8));	/* READTABLE */
            Ferror(ARG(6), 3);
        }
        ALLOC_CONS(ARG(7), ARG(5), ARG(6), ARG(5));
        LOAD_FIXNUM(ARG(6), 1, ARG(6));
        COPY(ARG(2), ARG(7));
        LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(8));	/* READTABLE */
        rt_struct_typep(ARG(7));
        if(CL_TRUEP(ARG(7)))
        {
            COPY(ARG(5), OFFSET(AR_BASE(GET_FORM(ARG(2))), 1 + 1));
        }
        else
        {
            COPY(SYMVAL(Slisp, 352), ARG(7));	/* NO_STRUCT */
            COPY(ARG(2), ARG(8));
            LOAD_SYMBOL(SYMBOL(Slisp, 420), ARG(9));	/* READTABLE */
            Ferror(ARG(7), 3);
        }
    }
    LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
}
示例#23
0
文件: lisp128.c 项目: hoelzl/Clicc
void pathname_name1(CL_FORM *base)
{
	COPY(ARG(0), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(3));	/* PATHNAME */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		COPY(ARG(0), ARG(2));
	}
	else
	{
		COPY(ARG(0), ARG(2));
		Fstringp(ARG(2));
		if(CL_TRUEP(ARG(2)))
		{
			COPY(ARG(0), ARG(2));
			LOAD_NIL(ARG(3));
			COPY(SYMVAL(Slisp, 233), ARG(4));	/* *DEFAULT-PATHNAME-DEFAULTS* */
			LOAD_FIXNUM(ARG(5), 0, ARG(5));
			LOAD_NIL(ARG(6));
			LOAD_NIL(ARG(7));
			parse_namestring1(ARG(2));
			mv_count = 1;
		}
		else
		{
			COPY(ARG(0), ARG(2));
			LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(3));	/* STREAM */
			rt_struct_typep(ARG(2));
			if(CL_TRUEP(ARG(2)))
			{
				COPY(ARG(0), ARG(2));
				LOAD_NIL(ARG(3));
				file_name1(ARG(2));
				COPY(SYMVAL(Slisp, 233), ARG(3));	/* *DEFAULT-PATHNAME-DEFAULTS* */
				COPY(ARG(2), ARG(4));
				LOAD_NIL(ARG(5));
				COPY(ARG(3), ARG(6));
				LOAD_FIXNUM(ARG(7), 0, ARG(7));
				LOAD_NIL(ARG(8));
				LOAD_NIL(ARG(9));
				parse_namestring1(ARG(4));
				mv_count = 1;
				COPY(ARG(4), ARG(2));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kpathname_name1[0], ARG(2));	/* etypecase: the value ~a is not a legal value */
				COPY(ARG(0), ARG(3));
				Ferror(ARG(2), 2);
			}
		}
	}
	COPY(ARG(2), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
	rt_struct_typep(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 3 + 1), ARG(3));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
		COPY(ARG(2), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
		Ferror(ARG(3), 3);
	}
	if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 278))	/* COMMON */
	{
		COPY(ARG(2), ARG(4));
		LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
		rt_struct_typep(ARG(4));
		if(CL_TRUEP(ARG(4)))
		{
			COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 0 + 1), ARG(4));
		}
		else
		{
			COPY(SYMVAL(Slisp, 352), ARG(4));	/* NO_STRUCT */
			COPY(ARG(2), ARG(5));
			LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(6));	/* PATHNAME */
			Ferror(ARG(4), 3);
		}
		COPY(ARG(4), ARG(5));
		LOAD_SYMBOL(SYMBOL(Slisp, 263), ARG(6));	/* HOST */
		rt_struct_typep(ARG(5));
		if(CL_TRUEP(ARG(5)))
		{
			COPY(OFFSET(AR_BASE(GET_FORM(ARG(4))), 6 + 1), ARG(4));
		}
		else
		{
			COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
			COPY(ARG(4), ARG(6));
			LOAD_SYMBOL(SYMBOL(Slisp, 263), ARG(7));	/* HOST */
			Ferror(ARG(5), 3);
		}
		LOAD_BOOL(CL_SYMBOLP(ARG(4)) && GET_SYMBOL(ARG(4)) == SYMBOL(Slisp, 279), ARG(4));	/* LOWER */
	}
	else
	{
		LOAD_NIL(ARG(4));
	}
	maybe_diddle_case(ARG(3));
	COPY(ARG(3), ARG(0));
}
示例#24
0
文件: export1.c 项目: hoelzl/Clicc
void export1(CL_FORM *base)
{
	coerce_to_package(ARG(1));
	if(CL_LISTP(ARG(0)))
	{
	}
	else
	{
		COPY(ARG(0), ARG(2));
		Flist(ARG(2), 1);
		COPY(ARG(2), ARG(0));
	}
	LOAD_NIL(ARG(2));
	COPY(ARG(0), ARG(3));
	M1_1:;
	if(CL_ATOMP(ARG(3)))
	{
		LOAD_NIL(ARG(2));
		goto RETURN1;
	}
	COPY(ARG(3), ARG(4));
	COPY(GET_CAR(ARG(4)), ARG(2));
	if(CL_SYMBOLP(ARG(2)))
	{
		LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(4));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			COPY(SYMVAL(Slisp, 676), ARG(4));	/* SYM_EXPECTED */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(4));	/* NIL */
		}
	}
	COPY(ARG(1), ARG(5));
	find_symbol1(ARG(4));
	COPY(&mv_buf[0], ARG(5));
	{
		int nargs;
		nargs = 2;
		mv_count = 1;
		{
			switch(nargs)
			{
				case 0:
				LOAD_NIL(ARG(4));
				case 1:
				LOAD_NIL(ARG(5));
				nargs = 2;
			}
			if(CL_TRUEP(ARG(5)))
			{
				LOAD_NIL(ARG(6));
			}
			else
			{
				LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(6));	/* T */
			}
			if(CL_TRUEP(ARG(6)))
			{
				goto THEN1;
			}
			else
			{
				if(EQ(ARG(4), ARG(2)))
				{
					goto ELSE2;
				}
				else
				{
					goto THEN1;
				}
			}
			{
				THEN1:;
				LOAD_SMSTR((CL_FORM *)&Kexport1[0], ARG(6));	/* ~S is not accessible in ~S */
				COPY(ARG(2), ARG(7));
				COPY(ARG(1), ARG(8));
				Ferror(ARG(6), 3);
			}
			ELSE2:;
			if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 385))	/* EXTERNAL */
			{
				goto RETURN1;
			}
			LOAD_NIL(ARG(6));
			COPY(ARG(1), ARG(7));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8));	/* PACKAGE */
			rt_struct_typep(ARG(7));
			if(CL_TRUEP(ARG(7)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 6 + 1), ARG(7));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(7));	/* NO_STRUCT */
				COPY(ARG(1), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
				Ferror(ARG(7), 3);
			}
			M2_1:;
			if(CL_ATOMP(ARG(7)))
			{
				LOAD_NIL(ARG(6));
				goto RETURN2;
			}
			COPY(ARG(7), ARG(8));
			COPY(GET_CAR(ARG(8)), ARG(6));
			if(CL_SYMBOLP(ARG(2)))
			{
				LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(8));
			}
			else
			{
				if(CL_TRUEP(ARG(2)))
				{
					COPY(SYMVAL(Slisp, 676), ARG(8));	/* SYM_EXPECTED */
					COPY(ARG(2), ARG(9));
					Ferror(ARG(8), 2);
				}
				else
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(8));	/* NIL */
				}
			}
			COPY(ARG(6), ARG(9));
			find_symbol1(ARG(8));
			COPY(&mv_buf[0], ARG(9));
			{
				int nargs;
				nargs = 2;
				mv_count = 1;
				{
					switch(nargs)
					{
						case 0:
						LOAD_NIL(ARG(8));
						case 1:
						LOAD_NIL(ARG(9));
						nargs = 2;
					}
					if(CL_TRUEP(ARG(9)))
					{
						if(EQ(ARG(8), ARG(2)))
						{
							goto ELSE3;
						}
						else
						{
							COPY(ARG(6), ARG(10));
							LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(11));	/* PACKAGE */
							rt_struct_typep(ARG(10));
							if(CL_TRUEP(ARG(10)))
							{
								COPY(OFFSET(AR_BASE(GET_FORM(ARG(6))), 4 + 1), ARG(10));
							}
							else
							{
								COPY(SYMVAL(Slisp, 352), ARG(10));	/* NO_STRUCT */
								COPY(ARG(6), ARG(11));
								LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(12));	/* PACKAGE */
								Ferror(ARG(10), 3);
							}
							COPY(ARG(8), ARG(11));
							COPY(ARG(10), ARG(12));
							LOAD_NIL(ARG(13));
							LOAD_NIL(ARG(14));
							LOAD_NIL(ARG(15));
							member1(ARG(11));
							COPY(ARG(11), ARG(10));
							if(CL_TRUEP(ARG(10)))
							{
								goto ELSE3;
							}
							else
							{
								goto THEN4;
							}
						}
					}
					else
					{
						goto ELSE3;
					}
					{
						THEN4:;
						LOAD_SMSTR((CL_FORM *)&Kexport1[2], ARG(10));	/* ~S will cause a name conflict in ~S */
						COPY(ARG(2), ARG(11));
						COPY(ARG(6), ARG(12));
						Ferror(ARG(10), 3);
					}
					ELSE3:;
				}
			}
			COPY(ARG(7), ARG(8));
			COPY(GET_CDR(ARG(8)), ARG(7));
			goto M2_1;
			RETURN2:;
			if(CL_SYMBOLP(ARG(2)))
			{
				LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(6));
			}
			else
			{
				if(CL_TRUEP(ARG(2)))
				{
					COPY(SYMVAL(Slisp, 676), ARG(6));	/* SYM_EXPECTED */
					COPY(ARG(2), ARG(7));
					Ferror(ARG(6), 2);
				}
				else
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(6));	/* NIL */
				}
			}
			LOAD_FIXNUM(ARG(7), 101, ARG(7));
			COPY(ARG(6), ARG(8));
			string_to_simple_string(ARG(8));
			rt_sxhash_string(ARG(8));
			COPY(ARG(8), ARG(9));
			LOAD_FIXNUM(ARG(10), 101, ARG(10));
			rt_floor(ARG(9));
			COPY(&mv_buf[0], ARG(10));
			mv_count = 1;
			{
				COPY(ARG(10), ARG(6));
			}
			if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 384))	/* INTERNAL */
			{
				COPY(ARG(2), ARG(7));
				COPY(ARG(1), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
				rt_struct_typep(ARG(8));
				if(CL_TRUEP(ARG(8)))
				{
					COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 2 + 1), ARG(8));
				}
				else
				{
					COPY(SYMVAL(Slisp, 352), ARG(8));	/* NO_STRUCT */
					COPY(ARG(1), ARG(9));
					LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10));	/* PACKAGE */
					Ferror(ARG(8), 3);
				}
				COPY(ARG(6), ARG(9));
				del_pack_sym(ARG(7));
			}
			COPY(ARG(1), ARG(7));
			LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8));	/* PACKAGE */
			rt_struct_typep(ARG(7));
			if(CL_TRUEP(ARG(7)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 3 + 1), ARG(7));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(7));	/* NO_STRUCT */
				COPY(ARG(1), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
				Ferror(ARG(7), 3);
			}
			COPY(ARG(7), ARG(9));
			COPY(ARG(6), ARG(10));
			Fsvref(ARG(9));
			ALLOC_CONS(ARG(10), ARG(2), ARG(9), ARG(8));
			COPY(ARG(8), ARG(9));
			COPY(ARG(7), ARG(10));
			COPY(ARG(6), ARG(11));
			Fset_svref(ARG(9));
		}
	}
	COPY(ARG(3), ARG(4));
	COPY(GET_CDR(ARG(4)), ARG(3));
	goto M1_1;
	RETURN1:;
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
}
示例#25
0
文件: lisp105.c 项目: hoelzl/Clicc
void shadowing_import1(CL_FORM *base)
{
	coerce_to_package(ARG(1));
	if(CL_LISTP(ARG(0)))
	{
	}
	else
	{
		COPY(ARG(0), ARG(2));
		Flist(ARG(2), 1);
		COPY(ARG(2), ARG(0));
	}
	LOAD_NIL(ARG(2));
	COPY(ARG(0), ARG(3));
	M1_1:;
	if(CL_ATOMP(ARG(3)))
	{
		LOAD_NIL(ARG(2));
		goto RETURN1;
	}
	COPY(ARG(3), ARG(4));
	COPY(GET_CAR(ARG(4)), ARG(2));
	if(CL_SYMBOLP(ARG(2)))
	{
		LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(4));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			COPY(SYMVAL(Slisp, 676), ARG(4));	/* SYM_EXPECTED */
			COPY(ARG(2), ARG(5));
			Ferror(ARG(4), 2);
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(4));	/* NIL */
		}
	}
	COPY(ARG(1), ARG(5));
	find_symbol1(ARG(4));
	COPY(&mv_buf[0], ARG(5));
	{
		int nargs;
		nargs = 2;
		mv_count = 1;
		{
			switch(nargs)
			{
				case 0:
				LOAD_NIL(ARG(4));
				case 1:
				LOAD_NIL(ARG(5));
				nargs = 2;
			}
			if(CL_SYMBOLP(ARG(2)))
			{
				LOAD_SMSTR(SYM_NAME(ARG(2)), ARG(6));
			}
			else
			{
				if(CL_TRUEP(ARG(2)))
				{
					COPY(SYMVAL(Slisp, 676), ARG(6));	/* SYM_EXPECTED */
					COPY(ARG(2), ARG(7));
					Ferror(ARG(6), 2);
				}
				else
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[266], ARG(6));	/* NIL */
				}
			}
			LOAD_FIXNUM(ARG(7), 101, ARG(7));
			COPY(ARG(6), ARG(8));
			string_to_simple_string(ARG(8));
			rt_sxhash_string(ARG(8));
			COPY(ARG(8), ARG(9));
			LOAD_FIXNUM(ARG(10), 101, ARG(10));
			rt_floor(ARG(9));
			COPY(&mv_buf[0], ARG(10));
			mv_count = 1;
			{
				COPY(ARG(10), ARG(6));
			}
			if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 384))	/* INTERNAL */
			{
				COPY(ARG(4), ARG(7));
				COPY(ARG(1), ARG(8));
				LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
				rt_struct_typep(ARG(8));
				if(CL_TRUEP(ARG(8)))
				{
					COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 2 + 1), ARG(8));
				}
				else
				{
					COPY(SYMVAL(Slisp, 352), ARG(8));	/* NO_STRUCT */
					COPY(ARG(1), ARG(9));
					LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10));	/* PACKAGE */
					Ferror(ARG(8), 3);
				}
				COPY(ARG(6), ARG(9));
				del_pack_sym(ARG(7));
			}
			else
			{
				if(CL_SYMBOLP(ARG(5)) && GET_SYMBOL(ARG(5)) == SYMBOL(Slisp, 385))	/* EXTERNAL */
				{
					COPY(ARG(4), ARG(7));
					COPY(ARG(1), ARG(8));
					LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(9));	/* PACKAGE */
					rt_struct_typep(ARG(8));
					if(CL_TRUEP(ARG(8)))
					{
						COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 3 + 1), ARG(8));
					}
					else
					{
						COPY(SYMVAL(Slisp, 352), ARG(8));	/* NO_STRUCT */
						COPY(ARG(1), ARG(9));
						LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(10));	/* PACKAGE */
						Ferror(ARG(8), 3);
					}
					COPY(ARG(6), ARG(9));
					del_pack_sym(ARG(7));
				}
			}
		}
	}
	COPY(ARG(2), ARG(4));
	COPY(ARG(1), ARG(5));
	internal_import(ARG(4));
	COPY(ARG(1), ARG(5));
	LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(6));	/* PACKAGE */
	rt_struct_typep(ARG(5));
	if(CL_TRUEP(ARG(5)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(1))), 4 + 1), ARG(5));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(5));	/* NO_STRUCT */
		COPY(ARG(1), ARG(6));
		LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
		Ferror(ARG(5), 3);
	}
	ALLOC_CONS(ARG(6), ARG(2), ARG(5), ARG(4));
	LOAD_FIXNUM(ARG(5), 4, ARG(5));
	COPY(ARG(1), ARG(6));
	LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(7));	/* PACKAGE */
	rt_struct_typep(ARG(6));
	if(CL_TRUEP(ARG(6)))
	{
		COPY(ARG(4), OFFSET(AR_BASE(GET_FORM(ARG(1))), 4 + 1));
	}
	else
	{
		COPY(SYMVAL(Slisp, 352), ARG(6));	/* NO_STRUCT */
		COPY(ARG(1), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 354), ARG(8));	/* PACKAGE */
		Ferror(ARG(6), 3);
	}
	COPY(ARG(3), ARG(4));
	COPY(GET_CDR(ARG(4)), ARG(3));
	goto M1_1;
	RETURN1:;
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
}
示例#26
0
文件: lisp125.c 项目: hoelzl/Clicc
void wild_pathname_p1(CL_FORM *base)
{
	COPY(ARG(0), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(3));	/* PATHNAME */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		COPY(ARG(0), ARG(2));
	}
	else
	{
		COPY(ARG(0), ARG(2));
		Fstringp(ARG(2));
		if(CL_TRUEP(ARG(2)))
		{
			COPY(ARG(0), ARG(2));
			LOAD_NIL(ARG(3));
			COPY(SYMVAL(Slisp, 233), ARG(4));	/* *DEFAULT-PATHNAME-DEFAULTS* */
			LOAD_FIXNUM(ARG(5), 0, ARG(5));
			LOAD_NIL(ARG(6));
			LOAD_NIL(ARG(7));
			parse_namestring1(ARG(2));
			mv_count = 1;
		}
		else
		{
			COPY(ARG(0), ARG(2));
			LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(3));	/* STREAM */
			rt_struct_typep(ARG(2));
			if(CL_TRUEP(ARG(2)))
			{
				COPY(ARG(0), ARG(2));
				LOAD_NIL(ARG(3));
				file_name1(ARG(2));
				COPY(SYMVAL(Slisp, 233), ARG(3));	/* *DEFAULT-PATHNAME-DEFAULTS* */
				COPY(ARG(2), ARG(4));
				LOAD_NIL(ARG(5));
				COPY(ARG(3), ARG(6));
				LOAD_FIXNUM(ARG(7), 0, ARG(7));
				LOAD_NIL(ARG(8));
				LOAD_NIL(ARG(9));
				parse_namestring1(ARG(4));
				mv_count = 1;
				COPY(ARG(4), ARG(2));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kwild_pathname_p1[0], ARG(2));	/* etypecase: the value ~a is not a legal value */
				COPY(ARG(0), ARG(3));
				Ferror(ARG(2), 2);
			}
		}
	}
	if(CL_TRUEP(ARG(1)))
	{
		if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 251))	/* HOST */
		{
			COPY(ARG(2), ARG(3));
			LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
			rt_struct_typep(ARG(3));
			if(CL_TRUEP(ARG(3)))
			{
				COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 0 + 1), ARG(3));
			}
			else
			{
				COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
				COPY(ARG(2), ARG(4));
				LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
				Ferror(ARG(3), 3);
			}
			COPY(ARG(3), ARG(0));
			LOAD_SYMBOL(SYMBOL(Slisp, 250), ARG(1));	/* PATTERN */
			rt_struct_typep(ARG(0));
		}
		else
		{
			if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 252))	/* DEVICE */
			{
				COPY(ARG(2), ARG(3));
				LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
				rt_struct_typep(ARG(3));
				if(CL_TRUEP(ARG(3)))
				{
					COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 0 + 1), ARG(3));
				}
				else
				{
					COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
					COPY(ARG(2), ARG(4));
					LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
					Ferror(ARG(3), 3);
				}
				COPY(ARG(3), ARG(0));
				LOAD_SYMBOL(SYMBOL(Slisp, 250), ARG(1));	/* PATTERN */
				rt_struct_typep(ARG(0));
			}
			else
			{
				if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 253))	/* DIRECTORY */
				{
					LOAD_GLOBFUN(&Cpattern_p, ARG(3));
					COPY(ARG(2), ARG(4));
					LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
					rt_struct_typep(ARG(4));
					if(CL_TRUEP(ARG(4)))
					{
						COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 2 + 1), ARG(4));
					}
					else
					{
						COPY(SYMVAL(Slisp, 352), ARG(4));	/* NO_STRUCT */
						COPY(ARG(2), ARG(5));
						LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(6));	/* PATHNAME */
						Ferror(ARG(4), 3);
					}
					Fsome(ARG(3), 2);
					COPY(ARG(3), ARG(0));
				}
				else
				{
					if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 254))	/* NAME */
					{
						COPY(ARG(2), ARG(3));
						LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
						rt_struct_typep(ARG(3));
						if(CL_TRUEP(ARG(3)))
						{
							COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 3 + 1), ARG(3));
						}
						else
						{
							COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
							COPY(ARG(2), ARG(4));
							LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
							Ferror(ARG(3), 3);
						}
						COPY(ARG(3), ARG(0));
						LOAD_SYMBOL(SYMBOL(Slisp, 250), ARG(1));	/* PATTERN */
						rt_struct_typep(ARG(0));
					}
					else
					{
						if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 80))	/* TYPE */
						{
							COPY(ARG(2), ARG(3));
							LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
							rt_struct_typep(ARG(3));
							if(CL_TRUEP(ARG(3)))
							{
								COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 4 + 1), ARG(3));
							}
							else
							{
								COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
								COPY(ARG(2), ARG(4));
								LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
								Ferror(ARG(3), 3);
							}
							COPY(ARG(3), ARG(0));
							LOAD_SYMBOL(SYMBOL(Slisp, 250), ARG(1));	/* PATTERN */
							rt_struct_typep(ARG(0));
						}
						else
						{
							if(CL_SYMBOLP(ARG(1)) && GET_SYMBOL(ARG(1)) == SYMBOL(Slisp, 255))	/* VERSION */
							{
								COPY(ARG(2), ARG(3));
								LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(4));	/* PATHNAME */
								rt_struct_typep(ARG(3));
								if(CL_TRUEP(ARG(3)))
								{
									COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 5 + 1), ARG(3));
								}
								else
								{
									COPY(SYMVAL(Slisp, 352), ARG(3));	/* NO_STRUCT */
									COPY(ARG(2), ARG(4));
									LOAD_SYMBOL(SYMBOL(Slisp, 234), ARG(5));	/* PATHNAME */
									Ferror(ARG(3), 3);
								}
								LOAD_BOOL(CL_SYMBOLP(ARG(3)) && GET_SYMBOL(ARG(3)) == SYMBOL(Slisp, 271), ARG(0));	/* WILD */
							}
							else
							{
								LOAD_SMSTR((CL_FORM *)&Kwild_pathname_p1[2], ARG(0));	/* ecase: the value ~a is not a legal value */
								Ferror(ARG(0), 2);
							}
						}
					}
				}
			}
		}
	}
	else
	{
		COPY(ARG(2), ARG(3));
		LOAD_SYMBOL(SYMBOL(Slisp, 251), ARG(4));	/* HOST */
		wild_pathname_p1(ARG(3));
		if(CL_TRUEP(ARG(3)))
		{
			COPY(ARG(3), ARG(0));
		}
		else
		{
			COPY(ARG(2), ARG(4));
			LOAD_SYMBOL(SYMBOL(Slisp, 252), ARG(5));	/* DEVICE */
			wild_pathname_p1(ARG(4));
			if(CL_TRUEP(ARG(4)))
			{
				COPY(ARG(4), ARG(0));
			}
			else
			{
				COPY(ARG(2), ARG(5));
				LOAD_SYMBOL(SYMBOL(Slisp, 253), ARG(6));	/* DIRECTORY */
				wild_pathname_p1(ARG(5));
				if(CL_TRUEP(ARG(5)))
				{
					COPY(ARG(5), ARG(0));
				}
				else
				{
					COPY(ARG(2), ARG(6));
					LOAD_SYMBOL(SYMBOL(Slisp, 254), ARG(7));	/* NAME */
					wild_pathname_p1(ARG(6));
					if(CL_TRUEP(ARG(6)))
					{
						COPY(ARG(6), ARG(0));
					}
					else
					{
						COPY(ARG(2), ARG(7));
						LOAD_SYMBOL(SYMBOL(Slisp, 80), ARG(8));	/* TYPE */
						wild_pathname_p1(ARG(7));
						if(CL_TRUEP(ARG(7)))
						{
							COPY(ARG(7), ARG(0));
						}
						else
						{
							COPY(ARG(2), ARG(0));
							LOAD_SYMBOL(SYMBOL(Slisp, 255), ARG(1));	/* VERSION */
							wild_pathname_p1(ARG(0));
						}
					}
				}
			}
		}
	}
}
示例#27
0
文件: gensym1.c 项目: hoelzl/Clicc
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));
}
示例#28
0
文件: lisp144.c 项目: plops/clicc
void pathname_host1(CL_FORM *base)
{
	COPY(ARG(0), ARG(2));
	LOAD_SYMBOL(SYMBOL(Slisp, 232), ARG(3));	/* PATHNAME */
	rt_struct_typep(ARG(2));
	if(CL_TRUEP(ARG(2)))
	{
		COPY(ARG(0), ARG(2));
	}
	else
	{
		COPY(ARG(0), ARG(2));
		Fstringp(ARG(2));
		if(CL_TRUEP(ARG(2)))
		{
			COPY(ARG(0), ARG(2));
			LOAD_NIL(ARG(3));
			COPY(SYMVAL(Slisp, 231), ARG(4));	/* *DEFAULT-PATHNAME-DEFAULTS* */
			LOAD_SMALLFIXNUM(0, ARG(5));
			LOAD_NIL(ARG(6));
			LOAD_NIL(ARG(7));
			parse_namestring1(ARG(2));
			mv_count = 1;
		}
		else
		{
			COPY(ARG(0), ARG(2));
			LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(3));	/* STREAM */
			rt_struct_typep(ARG(2));
			if(CL_TRUEP(ARG(2)))
			{
				COPY(ARG(0), ARG(2));
				LOAD_NIL(ARG(3));
				file_name1(ARG(2));
				COPY(SYMVAL(Slisp, 231), ARG(3));	/* *DEFAULT-PATHNAME-DEFAULTS* */
				LOAD_SMALLFIXNUM(0, ARG(4));
				COPY(ARG(2), ARG(5));
				LOAD_NIL(ARG(6));
				COPY(ARG(3), ARG(7));
				COPY(ARG(4), ARG(8));
				LOAD_NIL(ARG(9));
				LOAD_NIL(ARG(10));
				parse_namestring1(ARG(5));
				mv_count = 1;
				COPY(ARG(5), ARG(2));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kpathname_host1[0], ARG(2));	/* etypecase: the value ~a is not a legal value */
				COPY(ARG(0), ARG(3));
				Ferror(ARG(2), 2);
			}
		}
	}
	COPY(ARG(2), ARG(3));
	LOAD_SYMBOL(SYMBOL(Slisp, 232), ARG(4));	/* PATHNAME */
	rt_struct_typep(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
		COPY(OFFSET(AR_BASE(GET_FORM(ARG(2))), 0 + 1), ARG(0));
	}
	else
	{
		COPY(SYMVAL(Slisp, 342), ARG(0));	/* NO_STRUCT */
		COPY(ARG(2), ARG(1));
		LOAD_SYMBOL(SYMBOL(Slisp, 232), ARG(2));	/* PATHNAME */
		Ferror(ARG(0), 3);
	}
}