当前位置: 首页>>代码示例>>C++>>正文


C++ CL_TRUEP函数代码示例

本文整理汇总了C++中CL_TRUEP函数的典型用法代码示例。如果您正苦于以下问题:C++ CL_TRUEP函数的具体用法?C++ CL_TRUEP怎么用?C++ CL_TRUEP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了CL_TRUEP函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: null_or_quoted

void null_or_quoted(CL_FORM *base)
{
	if(CL_TRUEP(ARG(0)))
	{
		LOAD_NIL(ARG(1));
	}
	else
	{
		LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(1));	/* T */
	}
	if(CL_TRUEP(ARG(1)))
	{
		COPY(ARG(1), ARG(0));
	}
	else
	{
		if(CL_CONSP(ARG(0)))
		{
			COPY(GET_CAR(ARG(0)), ARG(2));
			LOAD_BOOL(EQ(ARG(2), SYMVAL(Slisp, 444)), ARG(0));	/* *BQ-QUOTE* */
		}
		else
		{
			LOAD_NIL(ARG(0));
		}
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:27,代码来源:lisp503.c

示例2: uninterned_reader

void uninterned_reader(CL_FORM *base)
{
	if(CL_TRUEP(ARG(2)))
	{
		LOAD_SMSTR((CL_FORM *)&KClisp[208], ARG(3));	/* extra argument for #~S */
		COPY(ARG(1), ARG(4));
		Ferror(ARG(3), 2);
	}
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(3));	/* T */
	BIND_SPECIAL(SYMBOL(Slisp, 443), ARG(3));	/* *UNINTERNED* */
	COPY(ARG(0), ARG(4));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(5));	/* T */
	LOAD_NIL(ARG(6));
	LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(7));	/* T */
	read1(ARG(4));
	bool_result = CL_TRUEP(SYMVAL(Slisp, 408));	/* *READ-SUPPRESS* */
	if(bool_result)
	{
		LOAD_NIL(ARG(0));
	}
	else
	{
		if(CL_SYMBOLP(ARG(4)) || CL_NILP(ARG(4)))
		{
			COPY(ARG(4), ARG(0));
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&Kuninterned_reader[0], ARG(0));	/* illegal value (~S) followed #: */
			COPY(ARG(4), ARG(1));
			Ferror(ARG(0), 2);
		}
	}
	RESTORE_SPECIAL;
}
开发者ID:plops,项目名称:clicc,代码行数:35,代码来源:lisp545.c

示例3: nunion1

void nunion1(CL_FORM *base)
{
	CL_FORM *display[1];
	GEN_HEAPVAR(ARG(3), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(3))))
		{
			GEN_CLOSURE(array, ARG(5), 4, Z7_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(0), ARG(5));
	display[0] = ARG(0);
	Z6_union_internal(ARG(5), display);
	COPY(ARG(5), ARG(0));
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:27,代码来源:nunion1.c

示例4: Z70_lambda

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));
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:32,代码来源:lisp159.c

示例5: Flength

void Flength(CL_FORM *base)
{
	if(CL_TRUEP(ARG(0)))
	{
		if(CL_CONSP(ARG(0)))
		{
			LOAD_FIXNUM(ARG(1), 0, ARG(1));
			COPY(ARG(0), ARG(2));
			M1_1:;
			if(CL_ATOMP(ARG(2)))
			{
				goto RETURN1;
			}
			F1plus(ARG(1));
			COPY(ARG(2), ARG(3));
			COPY(GET_CDR(ARG(3)), ARG(2));
			goto M1_1;
			RETURN1:;
			COPY(ARG(1), ARG(0));
		}
		else
		{
			if(CL_SMVECP(ARG(0)))
			{
				LOAD_FIXNUM(ARG(2), AR_SIZE(GET_FORM(ARG(0))), ARG(0));
			}
			else
			{
				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(ARG(0), ARG(1));
					complex_vector_fillptr(ARG(1));
					Fminusp(ARG(1));
					if(CL_TRUEP(ARG(1)))
					{
						complex_vector_length(ARG(0));
					}
					else
					{
						complex_vector_fillptr(ARG(0));
					}
				}
				else
				{
					COPY(SYMVAL(Slisp, 58), ARG(1));	/* WRONG_TYPE */
					COPY(ARG(0), ARG(2));
					LOAD_SYMBOL(SYMBOL(Slisp, 36), ARG(3));	/* SEQUENCE */
					Ferror(ARG(1), 3);
				}
			}
		}
	}
	else
	{
		LOAD_FIXNUM(ARG(1), 0, ARG(0));
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:60,代码来源:Flength.c

示例6: Fboundp

void Fboundp(CL_FORM *base)
{
	if(CL_SYMBOLP(ARG(0)))
	{
		COPY(SYM_VALUE(ARG(0)), ARG(1));
		LOAD_BOOL(CL_UNBOUNDP(ARG(1)), ARG(1));
		if(CL_TRUEP(ARG(1)))
		{
			LOAD_NIL(ARG(0));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
		}
	}
	else
	{
		if(CL_TRUEP(ARG(0)))
		{
			COPY(SYMVAL(Slisp, 676), ARG(1));	/* SYM_EXPECTED */
			COPY(ARG(0), ARG(2));
			Ferror(ARG(1), 2);
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(0));	/* T */
		}
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:29,代码来源:Fboundp.c

示例7: rt_copy_struct

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:;
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:35,代码来源:lisp421.c

示例8: radix_reader

void radix_reader(CL_FORM *base)
{
	if(CL_TRUEP(SYMVAL(Slisp, 418)))	/* *READ-SUPPRESS* */
	{
		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));
		COPY(ARG(0), ARG(4));
		COPY(ARG(3), ARG(5));
		read_token(ARG(4));
		LOAD_NIL(ARG(0));
	}
	else
	{
		if(CL_TRUEP(ARG(2)))
		{
			LOAD_FIXNUM(ARG(3), 2, ARG(3));
			COPY(ARG(2), ARG(4));
			LOAD_FIXNUM(ARG(5), 36, ARG(5));
			Fle(ARG(3), 3);
			if(CL_TRUEP(ARG(3)))
			{
				COPY(ARG(2), ARG(3));
				BIND_SPECIAL(SYMBOL(Slisp, 417), ARG(3));	/* *READ-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 */
				read1(ARG(3));
				RESTORE_SPECIAL;
				if(CL_FIXNUMP(ARG(3)))
				{
				}
				else
				{
					LOAD_SMSTR((CL_FORM *)&Kradix_reader[0], ARG(4));	/* #~A (base ~D) value is not a rational: ~S. */
					COPY(ARG(1), ARG(5));
					COPY(ARG(2), ARG(6));
					COPY(ARG(3), ARG(7));
					Ferror(ARG(4), 4);
				}
				COPY(ARG(3), ARG(0));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&Kradix_reader[2], ARG(0));	/* Illegal radix for #R: ~D. */
				COPY(ARG(2), ARG(1));
				Ferror(ARG(0), 2);
			}
		}
		else
		{
			LOAD_SMSTR((CL_FORM *)&Kradix_reader[4], ARG(0));	/* Radix missing in #R. */
			Ferror(ARG(0), 1);
		}
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:59,代码来源:radix_reader.c

示例9: Z131_get_rest_args

static void Z131_get_rest_args(CL_FORM *base, CL_FORM *display[])
{
	if(CL_ATOMP(ARG(0)))
	{
		LOAD_NIL(ARG(0));
	}
	else
	{
		COPY(GET_CAR(ARG(0)), ARG(1));
		if(CL_ATOMP(ARG(1)))
		{
			COPY(&display[1][0], ARG(1));
			LOAD_NIL(ARG(2));
			call_cont(ARG(1));
		}
		COPY(GET_CAR(ARG(0)), ARG(1));
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(2));
		}
		else
		{
			if(CL_TRUEP(ARG(1)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(2));	/* ~a is not a list */
				COPY(ARG(1), ARG(3));
				Ferror(ARG(2), 2);
			}
			else
			{
				COPY(ARG(1), ARG(2));
			}
		}
		COPY(ARG(1), ARG(3));
		COPY(ARG(3), ARG(4));
		if(CL_CONSP(ARG(4)))
		{
			COPY(GET_CDR(ARG(4)), ARG(1));
		}
		else
		{
			if(CL_TRUEP(ARG(4)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(5));	/* ~a is not a list */
				COPY(ARG(4), ARG(6));
				Ferror(ARG(5), 2);
			}
			else
			{
				COPY(ARG(4), ARG(1));
			}
		}
		COPY(ARG(1), GET_CAR(ARG(0)));
		COPY(&display[0][1], ARG(1));
		COPY(GET_CDR(ARG(0)), ARG(2));
		Z131_get_rest_args(ARG(2), display);
		ALLOC_CONS(ARG(3), ARG(1), ARG(2), ARG(0));
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:59,代码来源:Fmapcon.c

示例10: Fstring_left_trim

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:;
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:58,代码来源:lisp767.c

示例11: Z87_readc

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));
	}
}
开发者ID:plops,项目名称:clicc,代码行数:55,代码来源:lisp192.c

示例12: Fpathname

void Fpathname(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(ARG(0), ARG(1));
	}
	else
	{
		COPY(ARG(0), ARG(1));
		Fstringp(ARG(1));
		if(CL_TRUEP(ARG(1)))
		{
			COPY(ARG(0), ARG(1));
			LOAD_NIL(ARG(2));
			COPY(SYMVAL(Slisp, 233), ARG(3));	/* *DEFAULT-PATHNAME-DEFAULTS* */
			LOAD_FIXNUM(ARG(4), 0, ARG(4));
			LOAD_NIL(ARG(5));
			LOAD_NIL(ARG(6));
			parse_namestring1(ARG(1));
			mv_count = 1;
		}
		else
		{
			COPY(ARG(0), ARG(1));
			LOAD_SYMBOL(SYMBOL(Slisp, 64), ARG(2));	/* STREAM */
			rt_struct_typep(ARG(1));
			if(CL_TRUEP(ARG(1)))
			{
				COPY(ARG(0), ARG(1));
				LOAD_NIL(ARG(2));
				file_name1(ARG(1));
				COPY(SYMVAL(Slisp, 233), ARG(2));	/* *DEFAULT-PATHNAME-DEFAULTS* */
				COPY(ARG(1), ARG(3));
				LOAD_NIL(ARG(4));
				COPY(ARG(2), ARG(5));
				LOAD_FIXNUM(ARG(6), 0, ARG(6));
				LOAD_NIL(ARG(7));
				LOAD_NIL(ARG(8));
				parse_namestring1(ARG(3));
				mv_count = 1;
				COPY(ARG(3), ARG(1));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[130], ARG(1));	/* etypecase: the value ~a is not a legal value */
				COPY(ARG(0), ARG(2));
				Ferror(ARG(1), 2);
			}
		}
	}
	COPY(ARG(1), ARG(0));
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:55,代码来源:Fpathname.c

示例13: Z69_lambda

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));
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:54,代码来源:lisp159.c

示例14: Fslot_boundp

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);
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:53,代码来源:Fslot_boundp.c

示例15: Fposition

void Fposition(CL_FORM *base, int nargs)
{
	CL_FORM *rest_0;
	CL_FORM *local;
	rest_0 = ARG(2);
	local = ARG(nargs);
	if(CL_TRUEP(ARG(1)))
	{
		if(CL_CONSP(ARG(1)))
		{
			LOAD_GLOBFUN(&Clist_position, LOCAL(0));
			COPY(ARG(0), LOCAL(1));
			COPY(ARG(1), LOCAL(2));
			REST_APPLY(LOCAL(0), 3, rest_0);
			COPY(LOCAL(0), ARG(0));
		}
		else
		{
			LOAD_BOOL(CL_SMVECP(ARG(1)), LOCAL(0));
			if(CL_TRUEP(LOCAL(0)))
			{
				goto THEN1;
			}
			else
			{
				COPY(ARG(1), LOCAL(1));
				LOAD_SYMBOL(SYMBOL(Slisp, 150), LOCAL(2));	/* COMPLEX-VECTOR */
				rt_struct_typep(LOCAL(1));
			}
			if(CL_TRUEP(LOCAL(1)))
			{
				THEN1:;
				LOAD_GLOBFUN(&Cvector_position, LOCAL(0));
				COPY(ARG(0), LOCAL(1));
				COPY(ARG(1), LOCAL(2));
				REST_APPLY(LOCAL(0), 3, rest_0);
				COPY(LOCAL(0), ARG(0));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), LOCAL(0));	/* WRONG_TYPE */
				COPY(ARG(1), LOCAL(1));
				LOAD_SYMBOL(SYMBOL(Slisp, 36), LOCAL(2));	/* SEQUENCE */
				Ferror(LOCAL(0), 3);
			}
		}
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
}
开发者ID:hoelzl,项目名称:Clicc,代码行数:52,代码来源:Fposition.c


注:本文中的CL_TRUEP函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。