예제 #1
0
파일: pvref.c 프로젝트: hoelzl/Clicc
void pvref(CL_FORM *base)
{
	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);
	}
	rt_pvref(ARG(0));
}
예제 #2
0
void lcd()
{
LCDA.CLEAR();//清屏
delay(100);
LCDA.DisplayString(0,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文字极客工坊
delay(100);
LCDA.DisplayString(1,0,show1,AR_SIZE(show1));;//第三行第二格开始,显示文字geek-workshop
while(1);
}
예제 #3
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:;
}
예제 #4
0
파일: Flength.c 프로젝트: hoelzl/Clicc
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));
	}
}
예제 #5
0
파일: last2.c 프로젝트: leon0516/fengdong
void setup() 


{ 
pinMode(pwmpin,OUTPUT);//定义数字接口11 为PWM输出 
//pinMode (pin, INPUT); 
Serial.begin(9600);//设置波特率为9600 
//注意:模拟接口自动设置为输入 
LCDA.Initialise(); // 屏幕初始化 
LCDA.CLEAR();//清屏
delay(100);
LCDA.DisplayString(0,0,messageString,AR_SIZE(messageString));//无锡职业技术学院
delay(100);
LCDA.DisplayString(2,0,show0,AR_SIZE(show0));//第一行第三格开始,显示文字
delay(100);
} 
예제 #6
0
파일: set_pvref.c 프로젝트: hoelzl/Clicc
void set_pvref(CL_FORM *base)
{
	if(CL_FIXNUMP(ARG(2)))
	{
		LOAD_FIXNUM(ARG(3), 0, ARG(3));
		COPY(ARG(2), ARG(4));
		LOAD_FIXNUM(ARG(6), AR_SIZE(GET_FORM(ARG(1))), ARG(5));
		F1minus(ARG(5));
		Fle(ARG(3), 3);
	}
	else
	{
		goto ELSE1;
	}
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		ELSE1:;
		COPY(SYMVAL(Slisp, 153), ARG(3));	/* OUT_OF_RANGE */
		COPY(ARG(2), ARG(4));
		LOAD_FIXNUM(ARG(6), AR_SIZE(GET_FORM(ARG(1))), ARG(5));
		Ferror(ARG(3), 3);
	}
	COPY(ARG(0), ARG(3));
	COPY(ARG(1), ARG(4));
	rt_plain_vector_element_code(ARG(4));
	type_code_p(ARG(3));
	if(CL_TRUEP(ARG(3)))
	{
	}
	else
	{
		LOAD_SMSTR((CL_FORM *)&Kset_pvref[0], ARG(3));	/* Can't store ~A in a vector of type ~A */
		COPY(ARG(0), ARG(4));
		COPY(ARG(1), ARG(5));
		rt_plain_vector_element_code(ARG(5));
		Ferror(ARG(3), 3);
	}
	rt_set_pvref(ARG(0));
}
예제 #7
0
파일: last2.c 프로젝트: leon0516/fengdong
void lcd() 
{ 

if (cmset==20) 
{ 
LCDA.DisplayString(2,5,show1,AR_SIZE(show1)); 
} 
if (cmset==30) 
{ 
  LCDA.DisplayString(2,5,show2,AR_SIZE(show2)); 
} 
if(cmset==40) 
{ 
  LCDA.DisplayString(2,5,show3,AR_SIZE(show3)); 
}  
if(cmset==0) 
{ 
  LCDA.DisplayString(2,5,show4,AR_SIZE(show4)); 
}  


} 
예제 #8
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));
}
예제 #9
0
파일: lisp12.c 프로젝트: hoelzl/Clicc
void string_capitalize1(CL_FORM *base)
{
	COPY(ARG(0), ARG(3));
	Fstring(ARG(3));
	COPY(ARG(3), ARG(0));
	COPY(ARG(1), ARG(3));
	COPY(ARG(2), ARG(4));
	COPY(ARG(0), ARG(5));
	Flength(ARG(5));
	check_seq_start_end(ARG(3));
	COPY(ARG(3), ARG(2));
	COPY(ARG(0), ARG(3));
	COPY(ARG(3), ARG(4));
	COPY(ARG(4), ARG(5));
	LOAD_FIXNUM(ARG(6), 0, ARG(6));
	LOAD_NIL(ARG(7));
	subseq1(ARG(5));
	COPY(ARG(5), ARG(0));
	COPY(ARG(1), ARG(3));
	LOAD_NIL(ARG(4));
	LOAD_NIL(ARG(5));
	M1_1:;
	COPY(ARG(3), ARG(6));
	COPY(ARG(2), ARG(7));
	Fnumeql(ARG(6), 2);
	if(CL_TRUEP(ARG(6)))
	{
		goto RETURN1;
	}
	COPY(ARG(0), ARG(6));
	COPY(ARG(3), ARG(7));
	if(CL_SMSTRP(ARG(6)))
	{
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(8));	/* WRONG_TYPE */
		COPY(ARG(6), ARG(9));
		LOAD_SYMBOL(SYMBOL(Slisp, 40), ARG(10));	/* SIMPLE-STRING */
		Ferror(ARG(8), 3);
	}
	COPY(ARG(6), ARG(8));
	COPY(ARG(7), ARG(9));
	COPY(ARG(9), ARG(10));
	LOAD_FIXNUM(ARG(12), AR_SIZE(GET_FORM(ARG(8))), ARG(11));
	F1minus(ARG(11));
	if(CL_FIXNUMP(ARG(10)))
	{
		LOAD_FIXNUM(ARG(12), 0, ARG(12));
		COPY(ARG(10), ARG(13));
		COPY(ARG(11), ARG(14));
		Fle(ARG(12), 3);
	}
	else
	{
		goto ELSE1;
	}
	if(CL_TRUEP(ARG(12)))
	{
	}
	else
	{
		ELSE1:;
		COPY(SYMVAL(Slisp, 153), ARG(10));	/* OUT_OF_RANGE */
		COPY(ARG(9), ARG(11));
		LOAD_FIXNUM(ARG(13), AR_SIZE(GET_FORM(ARG(8))), ARG(12));
		Ferror(ARG(10), 3);
	}
	COPY(ARG(8), ARG(5));
	COPY(ARG(9), ARG(6));
	rt_pvref(ARG(5));
	if(CL_CHARP(ARG(5)))
	{
		COPY(ARG(5), ARG(6));
	}
	else
	{
		COPY(SYMVAL(Slisp, 58), ARG(6));	/* WRONG_TYPE */
		COPY(ARG(5), ARG(7));
		LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(8));	/* CHARACTER */
		Ferror(ARG(6), 3);
	}
	rt_alpha_char_p(ARG(6));
	if(CL_TRUEP(ARG(6)))
	{
		goto THEN2;
	}
	else
	{
		COPY(ARG(5), ARG(7));
		LOAD_FIXNUM(ARG(8), 10, ARG(8));
		digit_char_p1(ARG(7));
	}
	if(CL_TRUEP(ARG(7)))
	{
		THEN2:;
		if(CL_TRUEP(ARG(4)))
		{
			if(CL_CHARP(ARG(5)))
			{
				COPY(ARG(5), ARG(6));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(6));	/* WRONG_TYPE */
				COPY(ARG(5), ARG(7));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(8));	/* CHARACTER */
				Ferror(ARG(6), 3);
			}
			rt_char_downcase(ARG(6));
		}
		else
		{
			LOAD_SYMBOL(SYMBOL(Slisp, 48), ARG(4));	/* T */
			if(CL_CHARP(ARG(5)))
			{
				COPY(ARG(5), ARG(6));
			}
			else
			{
				COPY(SYMVAL(Slisp, 58), ARG(6));	/* WRONG_TYPE */
				COPY(ARG(5), ARG(7));
				LOAD_SYMBOL(SYMBOL(Slisp, 18), ARG(8));	/* CHARACTER */
				Ferror(ARG(6), 3);
			}
			rt_char_upcase(ARG(6));
		}
	}
	else
	{
		LOAD_NIL(ARG(4));
		COPY(ARG(5), ARG(6));
	}
	COPY(ARG(6), ARG(7));
	COPY(ARG(0), ARG(8));
	COPY(ARG(3), ARG(9));
	Fset_schar(ARG(7));
	F1plus(ARG(3));
	goto M1_1;
	RETURN1:;
}