示例#1
0
文件: nunion1.c 项目: hoelzl/Clicc
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));
}
示例#2
0
文件: remove1.c 项目: plops/clicc
void remove1(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(4), ARG(9));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(4))))
		{
			GEN_CLOSURE(array, ARG(9), 4, Z44_lambda, -1);
			COPY(ARG(4), &array[3]);
			LOAD_CLOSURE(array, ARG(9));
			COPY(ARG(9), ARG(3));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(3));
		}
	}
	if(CL_LISTP(ARG(1)))
	{
		COPY(ARG(5), ARG(4));
		COPY(ARG(6), ARG(5));
		COPY(ARG(7), ARG(6));
		COPY(ARG(8), ARG(7));
		list_remove(ARG(0));
	}
	else
	{
		COPY(ARG(5), ARG(4));
		COPY(ARG(6), ARG(5));
		COPY(ARG(7), ARG(6));
		COPY(ARG(8), ARG(7));
		vector_remove(ARG(0));
	}
}
示例#3
0
文件: lisp36.c 项目: hoelzl/Clicc
void set_difference1(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(3), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(3))))
		{
			GEN_CLOSURE(array, ARG(5), 4, Z4_lambda, -1);
			COPY(ARG(3), &array[3]);
			LOAD_CLOSURE(array, ARG(5));
			COPY(ARG(5), ARG(2));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(2));
		}
	}
	LOAD_NIL(ARG(5));
	LOAD_NIL(ARG(6));
	COPY(ARG(0), ARG(7));
	M1_1:;
	if(CL_ATOMP(ARG(7)))
	{
		LOAD_NIL(ARG(6));
		goto RETURN1;
	}
	COPY(ARG(7), ARG(8));
	COPY(GET_CAR(ARG(8)), ARG(6));
	if(CL_TRUEP(ARG(4)))
	{
		COPY(ARG(4), ARG(8));
		COPY(ARG(6), ARG(9));
		Ffuncall(ARG(8), 2);
		mv_count = 1;
	}
	else
	{
		COPY(ARG(6), ARG(8));
	}
	COPY(ARG(1), ARG(9));
	COPY(ARG(2), ARG(10));
	COPY(ARG(4), ARG(11));
	COPY(ARG(8), ARG(12));
	COPY(ARG(9), ARG(13));
	COPY(ARG(10), ARG(14));
	LOAD_NIL(ARG(15));
	COPY(ARG(11), ARG(16));
	member1(ARG(12));
	if(CL_TRUEP(ARG(12)))
	{
	}
	else
	{
		ALLOC_CONS(ARG(10), ARG(6), ARG(5), ARG(5));
	}
	COPY(ARG(7), ARG(8));
	COPY(GET_CDR(ARG(8)), ARG(7));
	goto M1_1;
	RETURN1:;
	COPY(ARG(5), ARG(0));
}
示例#4
0
void list_position(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(4), ARG(8));
	COPY(ARG(5), ARG(8));
	LOAD_NIL(ARG(9));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(4))))
		{
			GEN_CLOSURE(array, ARG(10), 4, Z161_lambda, -1);
			COPY(ARG(4), &array[3]);
			LOAD_CLOSURE(array, ARG(10));
			COPY(ARG(10), ARG(3));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(3));
		}
	}
	LOAD_NIL(ARG(10));
	COPY(ARG(5), ARG(11));
	COPY(ARG(1), ARG(12));
	Fnthcdr(ARG(11));
	M1_1:;
	if(CL_ATOMP(ARG(11)))
	{
		LOAD_NIL(ARG(10));
		goto RETURN1;
	}
	COPY(ARG(11), ARG(12));
	COPY(GET_CAR(ARG(12)), ARG(10));
	COPY(ARG(8), ARG(12));
	COPY(ARG(6), ARG(13));
	Fge(ARG(12), 2);
	if(CL_TRUEP(ARG(12)))
	{
		goto RETURN1;
	}
	COPY(ARG(3), ARG(12));
	COPY(ARG(0), ARG(13));
	if(CL_TRUEP(ARG(7)))
	{
		COPY(ARG(7), ARG(14));
		COPY(ARG(10), ARG(15));
		Ffuncall(ARG(14), 2);
		mv_count = 1;
	}
	else
	{
		COPY(ARG(10), ARG(14));
	}
	Ffuncall(ARG(12), 3);
	mv_count = 1;
	if(CL_TRUEP(ARG(12)))
	{
		COPY(ARG(8), ARG(9));
		if(CL_TRUEP(ARG(2)))
		{
		}
		else
		{
			goto RETURN1;
		}
	}
	COPY(ARG(8), ARG(12));
	F1plus(ARG(12));
	COPY(ARG(12), ARG(8));
	COPY(ARG(11), ARG(12));
	COPY(GET_CDR(ARG(12)), ARG(11));
	goto M1_1;
	RETURN1:;
	COPY(ARG(9), ARG(0));
}
示例#5
0
文件: member1.c 项目: hoelzl/Clicc
void member1(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(3), ARG(5));
	if(CL_TRUEP(ARG(2)))
	{
	}
	else
	{
		if(CL_TRUEP(INDIRECT(ARG(3))))
		{
			GEN_CLOSURE(array, ARG(5), 4, Z11_lambda, -1);
			COPY(ARG(3), &array[3]);
			LOAD_CLOSURE(array, ARG(5));
			COPY(ARG(5), ARG(2));
		}
		else
		{
			GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
			LOAD_GLOBFUN(&extern_closure, ARG(2));
		}
	}
	COPY(ARG(1), ARG(5));
	M1_1:;
	if(CL_TRUEP(ARG(5)))
	{
		COPY(ARG(2), ARG(6));
		COPY(ARG(0), ARG(7));
		if(CL_TRUEP(ARG(4)))
		{
			COPY(ARG(4), ARG(8));
			if(CL_CONSP(ARG(5)))
			{
				COPY(GET_CAR(ARG(5)), ARG(9));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(9));	/* ~a is not a list */
				COPY(ARG(5), ARG(10));
				Ferror(ARG(9), 2);
			}
			Ffuncall(ARG(8), 2);
			mv_count = 1;
		}
		else
		{
			if(CL_CONSP(ARG(5)))
			{
				COPY(GET_CAR(ARG(5)), ARG(8));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[264], ARG(8));	/* ~a is not a list */
				COPY(ARG(5), ARG(9));
				Ferror(ARG(8), 2);
			}
		}
		Ffuncall(ARG(6), 3);
		mv_count = 1;
		if(CL_TRUEP(ARG(6)))
		{
			COPY(ARG(5), ARG(0));
		}
		else
		{
			COPY(ARG(5), ARG(6));
			COPY(ARG(6), ARG(7));
			if(CL_CONSP(ARG(7)))
			{
				COPY(GET_CDR(ARG(7)), ARG(5));
			}
			else
			{
				if(CL_TRUEP(ARG(7)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[262], ARG(5));	/* ~a is not a list */
					COPY(ARG(7), ARG(6));
					Ferror(ARG(5), 2);
				}
				else
				{
					COPY(ARG(7), ARG(5));
				}
			}
			goto M1_1;
		}
	}
	else
	{
		LOAD_NIL(ARG(0));
	}
	goto RETURN1;
	RETURN1:;
}
示例#6
0
文件: list_delete.c 项目: plops/clicc
void list_delete(CL_FORM *base)
{
	GEN_HEAPVAR(ARG(4), ARG(9));
	if(CL_TRUEP(ARG(2)))
	{
		goto THEN1;
	}
	else
	{
		if(CL_TRUEP(ARG(3)))
		{
			goto THEN1;
		}
		else
		{
			if(CL_TRUEP(INDIRECT(ARG(4))))
			{
				goto THEN1;
			}
			else
			{
				if(CL_TRUEP(ARG(5)))
				{
					goto THEN1;
				}
				else
				{
					if(CL_TRUEP(ARG(6)))
					{
						goto THEN1;
					}
					else
					{
					}
				}
			}
		}
	}
	if(CL_TRUEP(ARG(8)))
	{
		THEN1:;
		if(CL_TRUEP(ARG(3)))
		{
		}
		else
		{
			if(CL_TRUEP(INDIRECT(ARG(4))))
			{
				GEN_CLOSURE(array, ARG(9), 4, Z156_lambda, -1);
				COPY(ARG(4), &array[3]);
				LOAD_CLOSURE(array, ARG(9));
				COPY(ARG(9), ARG(3));
			}
			else
			{
				GEN_STATIC_GLOBAL_FUNARG(extern_closure, Feql, 2);
				LOAD_GLOBFUN(&extern_closure, ARG(3));
			}
		}
		COPY(ARG(5), ARG(4));
		COPY(ARG(6), ARG(5));
		COPY(ARG(7), ARG(6));
		COPY(ARG(8), ARG(7));
		list_remove(ARG(0));
	}
	else
	{
		M1_1:;
		if(CL_TRUEP(ARG(1)))
		{
			LOAD_NIL(ARG(9));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(9));	/* T */
		}
		if(CL_TRUEP(ARG(9)))
		{
			goto THEN2;
		}
		else
		{
			COPY(ARG(7), ARG(10));
			Fzerop(ARG(10));
		}
		if(CL_TRUEP(ARG(10)))
		{
			THEN2:;
			COPY(ARG(1), ARG(0));
			goto RETURN1;
		}
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CAR(ARG(1)), ARG(10));
		}
		else
		{
			if(CL_TRUEP(ARG(1)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(10));	/* ~a is not a list */
				COPY(ARG(1), ARG(11));
				Ferror(ARG(10), 2);
			}
			else
			{
				COPY(ARG(1), ARG(10));
			}
		}
		if(EQL(ARG(0), ARG(10)))
		{
			if(CL_CONSP(ARG(1)))
			{
				COPY(GET_CDR(ARG(1)), ARG(9));
			}
			else
			{
				if(CL_TRUEP(ARG(1)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(9));	/* ~a is not a list */
					COPY(ARG(1), ARG(10));
					Ferror(ARG(9), 2);
				}
				else
				{
					COPY(ARG(1), ARG(9));
				}
			}
			COPY(ARG(9), ARG(1));
			COPY(ARG(7), ARG(9));
			F1minus(ARG(9));
			COPY(ARG(9), ARG(7));
		}
		else
		{
			goto RETURN2;
		}
		goto M1_1;
		RETURN2:;
		COPY(ARG(1), ARG(9));
		if(CL_CONSP(ARG(1)))
		{
			COPY(GET_CDR(ARG(1)), ARG(10));
		}
		else
		{
			if(CL_TRUEP(ARG(1)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(10));	/* ~a is not a list */
				COPY(ARG(1), ARG(11));
				Ferror(ARG(10), 2);
			}
			else
			{
				COPY(ARG(1), ARG(10));
			}
		}
		M2_1:;
		if(CL_TRUEP(ARG(10)))
		{
			LOAD_NIL(ARG(11));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(11));	/* T */
		}
		if(CL_TRUEP(ARG(11)))
		{
			goto THEN3;
		}
		else
		{
			COPY(ARG(7), ARG(12));
			Fzerop(ARG(12));
		}
		if(CL_TRUEP(ARG(12)))
		{
			THEN3:;
			COPY(ARG(1), ARG(0));
			goto RETURN1;
		}
		if(CL_CONSP(ARG(10)))
		{
			COPY(GET_CAR(ARG(10)), ARG(12));
		}
		else
		{
			if(CL_TRUEP(ARG(10)))
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[239], ARG(12));	/* ~a is not a list */
				COPY(ARG(10), ARG(13));
				Ferror(ARG(12), 2);
			}
			else
			{
				COPY(ARG(10), ARG(12));
			}
		}
		if(EQL(ARG(0), ARG(12)))
		{
			COPY(ARG(10), ARG(11));
			if(CL_CONSP(ARG(11)))
			{
				COPY(GET_CDR(ARG(11)), ARG(10));
			}
			else
			{
				if(CL_TRUEP(ARG(11)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(10));	/* ~a is not a list */
					Ferror(ARG(10), 2);
				}
				else
				{
					LOAD_NIL(ARG(10));
				}
			}
			if(CL_CONSP(ARG(9)))
			{
				COPY(ARG(10), GET_CDR(ARG(9)));
			}
			else
			{
				LOAD_SMSTR((CL_FORM *)&KClisp[231], ARG(11));	/* ~a is not a cons */
				COPY(ARG(9), ARG(12));
				Ferror(ARG(11), 2);
			}
			COPY(ARG(7), ARG(11));
			F1minus(ARG(11));
			COPY(ARG(11), ARG(7));
		}
		else
		{
			COPY(ARG(10), ARG(9));
			COPY(ARG(10), ARG(11));
			if(CL_CONSP(ARG(11)))
			{
				COPY(GET_CDR(ARG(11)), ARG(10));
			}
			else
			{
				if(CL_TRUEP(ARG(11)))
				{
					LOAD_SMSTR((CL_FORM *)&KClisp[241], ARG(10));	/* ~a is not a list */
					Ferror(ARG(10), 2);
				}
				else
				{
					LOAD_NIL(ARG(10));
				}
			}
		}
		goto M2_1;
	}
	RETURN1:;
}