亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? complier.cpp

?? SIMPLE語言編譯器
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	}
	NextSym();
	while (GetCurSym()->type==32)//,
	{
		NextSym();
		switch (GetCurSym()->type)
		{
		case 1://id
			break;
		default:
			m_nErrorNum=18;
			m_nErrorAddress=m_pCurSym;
			return FALSE;
		}
		NextSym();
	}
	switch (GetCurSym()->type)
	{
	case 35://:
		break;
	default:
		m_nErrorNum=19;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case 14://integer
	case 15://real
		break;
	default:
		m_nErrorNum=12;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	return TRUE;
}

int CComplier::p_YuJuChuan()
{
	if (!p_YuJu()) return FALSE;
	while (GetCurSym()->type==30)//;
	{
		NextSym();
		if (!p_YuJu()) return FALSE;
	}
	return TRUE;
}

int CComplier::p_YuJu()
{
	switch (GetCurSym()->type)
	{
	case 6://begin
		if (!p_FuHeYuJu()) return FALSE;
		break;
	case 1://id
		if (!p_FuZhiYuJu()) return FALSE;
		break;
	case 8://if
		if (!p_TiaoJianYuJu()) return FALSE;
		break;
	case 11://while
		if (!p_XunHuanYuJu()) return FALSE;
		break;
	case 13://call
		if (!p_GuoChengYuJu()) return FALSE;
		break;
	default:
		m_nErrorNum=9;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	return TRUE;
}

int CComplier::p_FuHeYuJu()//復合語句
{
	switch (GetCurSym()->type)
	{
	case 6://begin
		break;
	default:
		m_nErrorNum=8;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_YuJuChuan()) return FALSE;
	switch (GetCurSym()->type)
	{
	case 7://end
		break;
	default:
		m_nErrorNum=10;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	return TRUE;
}

int CComplier::p_FuZhiYuJu()
{
	switch (GetCurSym()->type)
	{
	case 1://id
		break;
	default:
		m_nErrorNum=20;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case 29://:=
		break;
	default:
		m_nErrorNum=21;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_BiaoDaShi()) return FALSE;
	return TRUE;
}

int CComplier::p_TiaoJianYuJu()
{
	switch (GetCurSym()->type)
	{
	case 8://if
		break;
	default:
		m_nErrorNum=22;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_BuErBiaoDaShi()) return FALSE;
	switch (GetCurSym()->type)
	{
	case 9://then
		break;
	default:
		m_nErrorNum=23;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_YuJu()) return FALSE;
	switch (GetCurSym()->type)
	{
	case 10://else
		break;
	default:
		return TRUE;
	}
	NextSym();
	if (!p_YuJu()) return FALSE;
	return TRUE;
}

int CComplier::p_XunHuanYuJu()
{
	switch (GetCurSym()->type)
	{
	case 11://while
		break;
	default:
		m_nErrorNum=24;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_BuErBiaoDaShi()) return FALSE;
	switch (GetCurSym()->type)
	{
	case 12://do
		break;
	default:
		m_nErrorNum=25;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_YuJu()) return FALSE;
	return TRUE;
}

int CComplier::p_GuoChengYuJu()
{
	switch (GetCurSym()->type)
	{
	case 13://call
		break;
	default:
		m_nErrorNum=26;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case 1://id
		break;
	default:
		m_nErrorNum=27;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case 33://(
		break;
	default:
		return TRUE;
	}
	if (!p_ShiChanBiao()) return FALSE;
	return TRUE;
}

int CComplier::p_ShiChanBiao()
{
	switch (GetCurSym()->type)
	{
	case 33://(
		break;
	default:
		m_nErrorNum=16;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!p_BiaoDaShi()) return FALSE;
	while (GetCurSym()->type==32)//,
	{
		NextSym();
		if (!p_BiaoDaShi()) return FALSE;
	}
	switch (GetCurSym()->type)
	{
	case 34://)
		break;
	default:
		m_nErrorNum=17;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	return TRUE;
}

int CComplier::p_BiaoDaShi()
{
	if (!p_Xiang()) return FALSE;
	while (GetCurSym()->type==16)//+
	{
		NextSym();
		if (!p_Xiang()) return FALSE;
	}
	return TRUE;
}

int CComplier::p_Xiang()
{
	if (!p_YingZhi()) return FALSE;
	while (GetCurSym()->type==18)//*
	{
		NextSym();
		if (!p_YingZhi()) return FALSE;
	}
	return TRUE;
}

int CComplier::p_YingZhi()
{
	switch (GetCurSym()->type)
	{
	case 1://id
		NextSym();
		break;
	case 2://num
		NextSym();
		break;
	case 33://(
		NextSym();
		if (!p_BiaoDaShi()) return FALSE;
		switch (GetCurSym()->type)
		{
		case 34://)
			break;
		default:
			m_nErrorNum=17;
			m_nErrorAddress=m_pCurSym;
			return FALSE;
		}
		NextSym();
		break;
	default:
		m_nErrorNum=28;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	return TRUE;
}

int CComplier::p_BuErBiaoDaShi()
{
	switch (GetCurSym()->type)
	{
	case 20://~
		NextSym();
		if (!p_BuErBiaoDaShi()) return FALSE;
		break;
	case 33://(
	case 1://id
	case 2://num
		if (!p_GuanXiBiaoDaShi()) return FALSE;
		while (GetCurSym()->type==21 || GetCurSym()->type==22)
		{
			NextSym();
			if (!p_BuErBiaoDaShi()) return FALSE;
		}
		break;
	default:
		m_nErrorNum=29;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	return TRUE;
}

int CComplier::p_GuanXiBiaoDaShi()
{
	if (!p_BiaoDaShi()) return FALSE;
	if (!p_GuanXi()) return FALSE;
	if (!p_BiaoDaShi()) return FALSE;
	return TRUE;
}

int CComplier::p_GuanXi()
{
	switch (GetCurSym()->type)
	{
	case 23://<
	case 24://<=
	case 25://>
	case 26://>=
	case 27://=
	case 28://<>
		break;
	default:
		m_nErrorNum=30;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	return TRUE;
}

void CComplier::Initial()
{
	::strcpy(m_QuadOpCodeTable[0], "_End_");
	::strcpy(m_QuadOpCodeTable[1], "in");
	::strcpy(m_QuadOpCodeTable[2], "call");
	::strcpy(m_QuadOpCodeTable[3], "out");
	::strcpy(m_QuadOpCodeTable[4], "ret");
	::strcpy(m_QuadOpCodeTable[5], ":=I");
	::strcpy(m_QuadOpCodeTable[6], ":=R");
	::strcpy(m_QuadOpCodeTable[7], "par");
	::strcpy(m_QuadOpCodeTable[8], "valueI");
	::strcpy(m_QuadOpCodeTable[9], "valueR");
	::strcpy(m_QuadOpCodeTable[10],"addr");
	::strcpy(m_QuadOpCodeTable[11],"j");
	::strcpy(m_QuadOpCodeTable[12],"j<");
	::strcpy(m_QuadOpCodeTable[13],"j<=");
	::strcpy(m_QuadOpCodeTable[14],"j>");
	::strcpy(m_QuadOpCodeTable[15],"j>=");
	::strcpy(m_QuadOpCodeTable[16],"j=");
	::strcpy(m_QuadOpCodeTable[17],"j<>");
	::strcpy(m_QuadOpCodeTable[18],"`");
	::strcpy(m_QuadOpCodeTable[19],"+I");
	::strcpy(m_QuadOpCodeTable[20],"+R");
	::strcpy(m_QuadOpCodeTable[21],"*I");
	::strcpy(m_QuadOpCodeTable[22],"*R");
	::strcpy(m_QuadOpCodeTable[23],"`");
	::strcpy(m_QuadOpCodeTable[24],"`");
	::strcpy(m_QuadOpCodeTable[25],"`");
	::strcpy(m_QuadOpCodeTable[26],"`");
	::strcpy(m_QuadOpCodeTable[27],"`");
	::strcpy(m_QuadOpCodeTable[28],"`");
	::strcpy(m_QuadOpCodeTable[29],"_Error_");
	::strcpy(m_tKeyWord[0],"");
	::strcpy(m_tKeyWord[1],"");//標識符
	::strcpy(m_tKeyWord[2],"");//正整數
	::strcpy(m_tKeyWord[3],"program");
	::strcpy(m_tKeyWord[4],"var");
	::strcpy(m_tKeyWord[5],"procedure");
	::strcpy(m_tKeyWord[6],"begin");
	::strcpy(m_tKeyWord[7],"end");
	::strcpy(m_tKeyWord[8],"if");
	::strcpy(m_tKeyWord[9],"then");
	::strcpy(m_tKeyWord[10],"else");
	::strcpy(m_tKeyWord[11],"while");
	::strcpy(m_tKeyWord[12],"do");
	::strcpy(m_tKeyWord[13],"call");
	::strcpy(m_tKeyWord[14],"integer");
	::strcpy(m_tKeyWord[15],"real");
	::strcpy(m_tKeyWord[16],"+");
	::strcpy(m_tKeyWord[17],"-");
	::strcpy(m_tKeyWord[18],"*");
	::strcpy(m_tKeyWord[19],"/");
	::strcpy(m_tKeyWord[20],"~");
	::strcpy(m_tKeyWord[21],"&");
	::strcpy(m_tKeyWord[22],"|");
	::strcpy(m_tKeyWord[23],"<");
	::strcpy(m_tKeyWord[24],"<=");
	::strcpy(m_tKeyWord[25],">");
	::strcpy(m_tKeyWord[26],">=");
	::strcpy(m_tKeyWord[27],"=");
	::strcpy(m_tKeyWord[28],"<>");
	::strcpy(m_tKeyWord[29],":=");
	::strcpy(m_tKeyWord[30],";");
	::strcpy(m_tKeyWord[31],".");
	::strcpy(m_tKeyWord[32],",");
	::strcpy(m_tKeyWord[33],"(");
	::strcpy(m_tKeyWord[34],")");
	::strcpy(m_tKeyWord[35],":");
	::strcpy(m_tKeyWord[36],"/*");
	::strcpy(m_tKeyWord[37],"*/");
	::strcpy(m_tKeyWord[38],"");
	::strcpy(m_tKeyWord[39],"");
	::strcpy(m_tKeyWord[40],"");
	::strcpy(m_tKeyWord[41],"");
	::strcpy(m_tKeyWord[42],"");
	::strcpy(m_tKeyWord[43],"");
	::strcpy(m_tKeyWord[44],"");
	::strcpy(m_tKeyWord[45],"");
	::strcpy(m_tKeyWord[46],"");
	::strcpy(m_tKeyWord[47],"");
	::strcpy(m_tKeyWord[48],"");
	::strcpy(m_tKeyWord[49],"");
	::strcpy(m_tErrorMessage[0],"正確!");
	::strcpy(m_tErrorMessage[1],"數字位數過長!");
	::strcpy(m_tErrorMessage[2],"非法字符!");
	::strcpy(m_tErrorMessage[3],"缺少保留字“ program ”!");
	::strcpy(m_tErrorMessage[4],"program 后缺少標識符!");
	::strcpy(m_tErrorMessage[5],"缺少“ ; ”符號!");
	::strcpy(m_tErrorMessage[6],"缺少程序結束符“ . ”符號!");
	::strcpy(m_tErrorMessage[7],"缺少《程序體》,應為 begin,integer,real,procedure");
	::strcpy(m_tErrorMessage[8],"缺少保留字“ begin ”!");
	::strcpy(m_tErrorMessage[9],"缺少《語句》,應為 begin,ID,if,while,call");
	::strcpy(m_tErrorMessage[10],"缺少保留字“ end ”!");
	::strcpy(m_tErrorMessage[11],"缺少《說明》,應為 integer,real,procedure");
	::strcpy(m_tErrorMessage[12],"缺少保留字 integer 或 real!");
	::strcpy(m_tErrorMessage[13],"procedure 后缺少標識符!");
	::strcpy(m_tErrorMessage[14],"簡單變量說明后缺少標識符!");
	::strcpy(m_tErrorMessage[15],"缺少保留字“ procedure ”!");
	::strcpy(m_tErrorMessage[16],"缺少 “ ( ”符號!");
	::strcpy(m_tErrorMessage[17],"缺少 “ ) ”符號!");
	::strcpy(m_tErrorMessage[18],"缺少形參標識符 !");
	::strcpy(m_tErrorMessage[19],"缺少 “ : ”符號!");
	::strcpy(m_tErrorMessage[20],"缺少標識符!");
	::strcpy(m_tErrorMessage[21],"缺少賦值符號“ := ”!");
	::strcpy(m_tErrorMessage[22],"缺少保留字“ if ”!");
	::strcpy(m_tErrorMessage[23],"缺少保留字“ then ”!");
	::strcpy(m_tErrorMessage[24],"缺少保留字“ while ”!");
	::strcpy(m_tErrorMessage[25],"缺少保留字“ do ”!");
	::strcpy(m_tErrorMessage[26],"缺少保留字“ call ”!");
	::strcpy(m_tErrorMessage[27],"缺少被調過程名標識符!");
	::strcpy(m_tErrorMessage[28],"缺少《因子》,應為 (,ID,NUMBER");
	::strcpy(m_tErrorMessage[29],"缺少《布爾表達式》,應為 ~,(,ID,NUMBER");
	::strcpy(m_tErrorMessage[30],"缺少《關系》!");
	::strcpy(m_tErrorMessage[31],"變量名不能和過程名相同!");
	::strcpy(m_tErrorMessage[32],"標識符重復定義!");
	::strcpy(m_tErrorMessage[33],"未定義標識符!");
	::strcpy(m_tErrorMessage[34],"不能直接引用過程名!");
	::strcpy(m_tErrorMessage[35],"不能從real轉換為integer類型!");
	::strcpy(m_tErrorMessage[36],"不能用常數作實參!");
	::strcpy(m_tErrorMessage[37],"變參應為變量!");
	::strcpy(m_tErrorMessage[38],"實參個數不足!");
	::strcpy(m_tErrorMessage[39],"只有integer和integer才能比較!");
	::strcpy(m_tErrorMessage[40],"不能這樣調用過程!");
	::strcpy(m_tErrorMessage[41],"");
	::strcpy(m_tErrorMessage[42],"");
	::strcpy(m_tErrorMessage[43],"");
	::strcpy(m_tErrorMessage[96],"源程序結束符 end. 后還有多余單詞!");
	::strcpy(m_tErrorMessage[97],"語法錯誤太多,終止語法分析!");
	::strcpy(m_tErrorMessage[98],"源程序不正常結束!");
	::strcpy(m_tErrorMessage[99],"內存不足!詞法分析終止!");
}

BOOL CComplier::isalpha(char a)
{
	return ((a>='a'&&a<='z')||(a>='A'&&a<='Z'));
}

BOOL CComplier::isalnum(char a)
{
	return ((a>='a'&&a<='z')||(a>='A'&&a<='Z')||(a>='0'&&a<='9'));
}

BOOL CComplier::isdigit(char a)
{
	return (a>='0'&&a<='9');
}

CifaResult * CComplier::GetCurSym()
{
	return m_tCifa[m_pCurSym];
}

void CComplier::NextSym()
{
	m_pCurSym++;
}

CifaResult * CComplier::GetSym()
{
	return m_tCifa[m_pCurSym++];
}

CifaResult * CComplier::GetNextSym()
{
	return m_tCifa[m_pCurSym+1];
}

void CComplier::YuYiFengXi()
{
	if (m_ntCifaLen==0) return;//Cifa not do
	yuyivar.currbl=0;
	yuyivar.lasent=0;
	yuyivar.lastbl=0;
	yuyivar.nxq=0;
	yuyivar.tempp=0;
	gen("",0,0,0,0,0,0);//idtab start from 1
	addid("",0,0,0);//idtab start from 1
//temptab and leveltab start from 0
	m_pCurSym=0;//* <--
	r_ChengXu();
	gen("_End_",0,0,0,0,0,0);//end note
	m_Interface.ErrorAddress=m_nErrorAddress;
	m_Interface.ErrorNumber=m_nErrorNum;
	return;
}

int CComplier::r_ChengXu()
{
	switch (GetCurSym()->type)
	{
	case 3://program
		break;
	default:
		m_nErrorNum=3;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case 1://id
		break;
	default:
		m_nErrorNum=4;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
//yy
	leveltab[yuyivar.currbl].lnp=yuyivar.nxq+1;
	leveltab[yuyivar.currbl].lnum=0;
	::strcpy(leveltab[yuyivar.currbl].name,GetCurSym()->text);
	leveltab[yuyivar.currbl].outern=0;
	leveltab[yuyivar.currbl].parnum=0;
	leveltab[yuyivar.currbl].pointer=yuyivar.lasent;
	leveltab[yuyivar.currbl].recl=5;
	leveltab[yuyivar.currbl].varnum=0;
	leveltab[yuyivar.currbl].temp=yuyivar.tempp;
	yuyivar.lastbl++;
	gen("call",1,0,1,0,2,2);
	int link=yuyivar.nxq;
	gen("in",0,0,0,0,0,0);
//yy end
	NextSym();
	switch (GetCurSym()->type)
	{
	case 30://;
		break;
	default:
		m_nErrorNum=5;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	if (!r_ChengXuTi()) return FALSE;
//yy
	backpatch(link,2,2,leveltab[yuyivar.currbl].recl);
	gen("out",0,0,0,0,0,0);
	gen("ret",0,0,0,0,0,0);
	yuyivar.currbl=leveltab[yuyivar.currbl].outern;
	yuyivar.tempp=leveltab[yuyivar.currbl].temp;
//yy end
	switch (GetCurSym()->type)
	{
	case 31://.
		break;
	default:
		m_nErrorNum=6;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	NextSym();
	switch (GetCurSym()->type)
	{
	case -1://end of cifa
		break;
	default:
		m_nErrorNum=96;
		m_nErrorAddress=m_pCurSym;
		return FALSE;
	}
	m_nErrorNum=0;
	m_nErrorAddress=m_pCurSym;
	return TRUE;
}

int CComplier::r_ChengXuTi()
{
	switch (GetCurSym()->type)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
秋霞国产午夜精品免费视频 | 欧美日韩精品三区| 欧美成人激情免费网| 国产精品电影一区二区三区| 奇米亚洲午夜久久精品| 99久久99久久久精品齐齐| 久久久亚洲欧洲日产国码αv| 一区二区三区在线影院| 风间由美一区二区三区在线观看 | 亚洲一级电影视频| 国产精品1024久久| 欧美一级高清片在线观看| 亚洲视频在线一区| 国产一区二区在线视频| 日韩一区二区三区三四区视频在线观看| 国产精品国产a| 国产美女娇喘av呻吟久久 | 国产精品18久久久久久vr | 91香蕉视频mp4| 日韩一区二区三区四区| 亚洲伊人色欲综合网| 在线免费精品视频| 亚洲品质自拍视频| 91在线免费播放| 日韩一区中文字幕| 本田岬高潮一区二区三区| 国产亚洲制服色| 国产成人日日夜夜| 国产偷国产偷精品高清尤物| 国内精品国产三级国产a久久| 在线综合亚洲欧美在线视频| 午夜影院久久久| 欧美亚洲国产bt| 午夜成人免费视频| 91精品国模一区二区三区| 蜜桃久久精品一区二区| 日韩一区二区在线观看视频| 久久超碰97中文字幕| 91麻豆精品国产91久久久资源速度| 亚洲男同性恋视频| 色婷婷久久久久swag精品 | 国产精品资源在线看| 欧美一区二区黄色| 国内一区二区视频| 中文字幕不卡的av| 色久优优欧美色久优优| 亚洲一区二区视频在线观看| 欧美精品日韩综合在线| 毛片av一区二区| 国产欧美久久久精品影院| 国产不卡视频在线播放| 国产精品你懂的在线| 一本大道综合伊人精品热热| 亚洲精品自拍动漫在线| 欧美丝袜第三区| 视频一区欧美精品| 91精品国产91久久久久久最新毛片| 日本中文在线一区| 国产精品天干天干在观线| 一本久道久久综合中文字幕| 奇米影视在线99精品| 国产欧美精品一区二区三区四区 | 色诱视频网站一区| 午夜精品视频一区| 久久夜色精品国产噜噜av| 波多野结衣中文字幕一区二区三区 | 国产精品福利av| 精品视频一区三区九区| 国产伦精一区二区三区| 香蕉av福利精品导航| 中文字幕电影一区| 91精品国产综合久久香蕉麻豆| 国产精品99久久久久久久vr| 亚洲va欧美va人人爽午夜| 日本一区二区三区国色天香 | 中文一区一区三区高中清不卡| 在线看国产日韩| 国产精品亚洲专一区二区三区| 亚洲一区日韩精品中文字幕| 欧美国产欧美亚州国产日韩mv天天看完整| 欧美男生操女生| 99这里只有久久精品视频| 蜜桃传媒麻豆第一区在线观看| 亚洲三级在线观看| 国产午夜精品美女毛片视频| 91麻豆精品国产91久久久更新时间| 国产成人高清在线| 免费成人av资源网| 午夜精品久久一牛影视| 亚洲精品水蜜桃| 国产精品美女久久久久aⅴ| 欧美成人一区二区三区片免费| 欧美午夜影院一区| 97久久人人超碰| 春色校园综合激情亚洲| 国产一区二区三区四| 男人的天堂亚洲一区| 亚洲午夜在线观看视频在线| 中文字幕中文字幕在线一区| 国产情人综合久久777777| 欧美videos大乳护士334| 欧美日韩精品一区视频| 欧美影片第一页| 在线观看视频一区| 欧美性欧美巨大黑白大战| 94-欧美-setu| 91网站在线观看视频| av亚洲精华国产精华精华| 成人免费看片app下载| 国产不卡视频在线播放| 国产精品一二三四五| 国产91综合网| 成人午夜短视频| 成人毛片视频在线观看| 从欧美一区二区三区| 成人黄色小视频| 97se亚洲国产综合在线| 色菇凉天天综合网| 欧美午夜影院一区| 欧美一区日本一区韩国一区| 欧美绝品在线观看成人午夜影视| 欧美日韩一二区| 欧美一级日韩免费不卡| 日韩精品在线一区二区| 久久精品视频网| 国产精品免费网站在线观看| 国产精品久久久久久久久图文区 | 国产亚洲综合色| 国产精品久久久久一区二区三区| 国产精品久久久久久妇女6080| 亚洲色大成网站www久久九九| 亚洲激情中文1区| 蜜芽一区二区三区| 国产成人综合精品三级| 91理论电影在线观看| 欧美日韩精品电影| 精品久久久久久无| 中文字幕第一页久久| 亚洲午夜精品17c| 激情综合网最新| 99久久99久久精品免费观看| 欧美精品第一页| 国产喷白浆一区二区三区| 亚洲精品成人天堂一二三| 美腿丝袜在线亚洲一区| 丁香婷婷综合网| 在线成人免费观看| 国产欧美日韩亚州综合 | 91精品国模一区二区三区| 国产亚洲欧洲一区高清在线观看| 综合中文字幕亚洲| 麻豆国产精品一区二区三区| 不卡视频一二三| 日韩三级电影网址| 亚洲欧美日韩在线播放| 久久精品国产久精国产| 99精品久久只有精品| 日韩欧美高清dvd碟片| 中文字幕中文在线不卡住| 另类的小说在线视频另类成人小视频在线 | 青青草97国产精品免费观看无弹窗版 | 亚洲欧美在线另类| 久久精品二区亚洲w码| 91在线码无精品| 欧美va亚洲va在线观看蝴蝶网| 亚洲欧美日韩国产综合| 激情文学综合插| 精品污污网站免费看| 国产精品人成在线观看免费| 蜜桃av一区二区| 色综合色综合色综合| 欧美一级片在线| 亚洲一区二区在线视频| 99久久免费国产| 久久久久久影视| 美国毛片一区二区| 欧美日韩久久久| 亚洲专区一二三| 色屁屁一区二区| 一区二区在线观看免费| 成人伦理片在线| 日本一区二区在线不卡| 美女免费视频一区| 91精品国产入口| 一区二区在线免费| 91丝袜美女网| 一区二区视频免费在线观看| 欧美在线综合视频| 久久精品一区二区| 一区二区三区在线影院| 成人免费视频免费观看| 国产欧美精品一区二区三区四区| 久久国产精品免费| 午夜视频一区在线观看| 91丝袜美女网| 国产亚洲人成网站| 国产成人综合网站| 亚洲高清免费视频| 久久亚洲欧美国产精品乐播| 成人av在线一区二区三区|