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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? compiler.cpp

?? 一個相當(dāng)不錯的詞法和語法分析器
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
		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 CCompiler::p_YuJuChuan()
{
	if (!p_YuJu()) return FALSE;
	while (GetCurSym()->type==30)//;
	{
		NextSym();
		if (!p_YuJu()) return FALSE;
	}
	return TRUE;
}

int CCompiler::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 CCompiler::p_FuHeYuJu()//復(fù)合語句
{
	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 CCompiler::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 CCompiler::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 CCompiler::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 CCompiler::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 CCompiler::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 CCompiler::p_BiaoDaShi()
{
	if (!p_Xiang()) return FALSE;
	while (GetCurSym()->type==16)//+
	{
		NextSym();
		if (!p_Xiang()) return FALSE;
	}
	return TRUE;
}

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

int CCompiler::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 CCompiler::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 CCompiler::p_GuanXiBiaoDaShi()
{
	if (!p_BiaoDaShi()) return FALSE;
	if (!p_GuanXi()) return FALSE;
	if (!p_BiaoDaShi()) return FALSE;
	return TRUE;
}

int CCompiler::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 CCompiler::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],"");//標(biāo)識符
	::strcpy(m_tKeyWord[2],"");//正整數(shù)
	::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],"數(shù)字位數(shù)過長!");
	::strcpy(m_tErrorMessage[2],"非法字符!");
	::strcpy(m_tErrorMessage[3],"缺少保留字“ program ”!");
	::strcpy(m_tErrorMessage[4],"program 后缺少標(biāo)識符!");
	::strcpy(m_tErrorMessage[5],"缺少“ ; ”符號!");
	::strcpy(m_tErrorMessage[6],"缺少程序結(jié)束符“ . ”符號!");
	::strcpy(m_tErrorMessage[7],"缺少《程序體》,應(yīng)為 begin,integer,real,procedure");
	::strcpy(m_tErrorMessage[8],"缺少保留字“ begin ”!");
	::strcpy(m_tErrorMessage[9],"缺少《語句》,應(yīng)為 begin,ID,if,while,call");
	::strcpy(m_tErrorMessage[10],"缺少保留字“ end ”!");
	::strcpy(m_tErrorMessage[11],"缺少《說明》,應(yīng)為 integer,real,procedure");
	::strcpy(m_tErrorMessage[12],"缺少保留字 integer 或 real!");
	::strcpy(m_tErrorMessage[13],"procedure 后缺少標(biāo)識符!");
	::strcpy(m_tErrorMessage[14],"簡單變量說明后缺少標(biāo)識符!");
	::strcpy(m_tErrorMessage[15],"缺少保留字“ procedure ”!");
	::strcpy(m_tErrorMessage[16],"缺少 “ ( ”符號!");
	::strcpy(m_tErrorMessage[17],"缺少 “ ) ”符號!");
	::strcpy(m_tErrorMessage[18],"缺少形參標(biāo)識符 !");
	::strcpy(m_tErrorMessage[19],"缺少 “ : ”符號!");
	::strcpy(m_tErrorMessage[20],"缺少標(biāo)識符!");
	::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],"缺少被調(diào)過程名標(biāo)識符!");
	::strcpy(m_tErrorMessage[28],"缺少《因子》,應(yīng)為 (,ID,NUMBER");
	::strcpy(m_tErrorMessage[29],"缺少《布爾表達(dá)式》,應(yīng)為 ~,(,ID,NUMBER");
	::strcpy(m_tErrorMessage[30],"缺少《關(guān)系》!");
	::strcpy(m_tErrorMessage[31],"變量名不能和過程名相同!");
	::strcpy(m_tErrorMessage[32],"標(biāo)識符重復(fù)定義!");
	::strcpy(m_tErrorMessage[33],"未定義標(biāo)識符!");
	::strcpy(m_tErrorMessage[34],"不能直接引用過程名!");
	::strcpy(m_tErrorMessage[35],"不能從real轉(zhuǎn)換為integer類型!");
	::strcpy(m_tErrorMessage[36],"不能用常數(shù)作實參!");
	::strcpy(m_tErrorMessage[37],"變參應(yīng)為變量!");
	::strcpy(m_tErrorMessage[38],"實參個數(shù)不足!");
	::strcpy(m_tErrorMessage[39],"只有integer和integer才能比較!");
	::strcpy(m_tErrorMessage[40],"不能這樣調(diào)用過程!");
	::strcpy(m_tErrorMessage[41],"");
	::strcpy(m_tErrorMessage[42],"");
	::strcpy(m_tErrorMessage[43],"");
	::strcpy(m_tErrorMessage[96],"源程序結(jié)束符 end. 后還有多余單詞!");
	::strcpy(m_tErrorMessage[97],"語法錯誤太多,終止語法分析!");
	::strcpy(m_tErrorMessage[98],"源程序不正常結(jié)束!");
	::strcpy(m_tErrorMessage[99],"內(nèi)存不足!詞法分析終止!");
}

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

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

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

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

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

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

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

















void CCompiler::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 CCompiler::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;
	}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧亚一区二区三区| 成人国产精品视频| 欧美色爱综合网| 亚洲一区二区影院| 欧美性感一类影片在线播放| 亚洲成人精品一区二区| 日韩一级片网站| 国产成人精品网址| 亚洲色图制服诱惑| 欧美男人的天堂一二区| 蜜臀av一区二区在线免费观看| 日韩免费观看高清完整版| 国产一区二区三区精品视频| 国产精品天干天干在线综合| 91亚洲永久精品| 亚洲妇女屁股眼交7| 欧美一级高清片| 国产精品一区二区在线播放| 亚洲情趣在线观看| 欧美精品视频www在线观看| 美日韩一区二区三区| 中文在线一区二区| 欧美视频你懂的| 国产福利精品导航| 亚洲成av人影院| 国产午夜久久久久| 欧美日韩国产影片| 国产激情一区二区三区| 亚洲一区二区三区爽爽爽爽爽 | 亚洲精品网站在线观看| 欧美日韩国产首页在线观看| 国产一区二区三区视频在线播放| 国产精品久久久久久久第一福利| 欧美在线观看禁18| 国产高清成人在线| 亚洲va欧美va人人爽| 国产精品网友自拍| 欧美日韩国产大片| 国产成人aaa| 七七婷婷婷婷精品国产| 亚洲欧美日韩中文字幕一区二区三区| 91精品中文字幕一区二区三区| 成人av免费网站| 日本一不卡视频| 亚洲欧美自拍偷拍| 久久亚洲捆绑美女| 欧美一区中文字幕| 色拍拍在线精品视频8848| 国产精品一二三四| 奇米一区二区三区| 亚洲在线免费播放| 亚洲色图丝袜美腿| 欧美国产成人精品| 26uuu精品一区二区在线观看| 欧美日本精品一区二区三区| a级高清视频欧美日韩| 极品瑜伽女神91| 青娱乐精品视频| 亚洲免费视频成人| 国产精品区一区二区三| 久久精品日韩一区二区三区| 91精品国产品国语在线不卡| 日本精品视频一区二区| 99久久伊人网影院| 丰满少妇在线播放bd日韩电影| 麻豆精品视频在线| 日韩黄色在线观看| 丝袜脚交一区二区| 亚洲成人黄色小说| 亚洲r级在线视频| 亚洲精品国产第一综合99久久| 国产精品国产自产拍高清av王其| 26uuu国产日韩综合| 久久综合五月天婷婷伊人| 精品久久五月天| 在线播放国产精品二区一二区四区 | 91成人在线观看喷潮| 色成人在线视频| 在线观看视频一区二区| 欧美三区免费完整视频在线观看| 一本色道久久综合亚洲91 | 在线一区二区三区四区| 欧美性xxxxxx少妇| 欧美日韩在线播放三区| 欧美精品少妇一区二区三区| 91精品黄色片免费大全| 日韩欧美在线不卡| 日韩欧美成人一区二区| 久久综合中文字幕| 国产精品日产欧美久久久久| 国产精品久久久久久久久图文区| 欧美经典三级视频一区二区三区| 国产精品久久久久久久久晋中 | ...xxx性欧美| 亚洲视频香蕉人妖| 亚洲国产精品一区二区久久恐怖片 | 成人avav在线| 91国产免费观看| 欧美一卡2卡三卡4卡5免费| 日韩三级高清在线| 国产人妖乱国产精品人妖| 国产精品久久看| 亚洲第一主播视频| 国产麻豆日韩欧美久久| 91视频观看免费| 制服丝袜av成人在线看| 久久久美女艺术照精彩视频福利播放 | 国产永久精品大片wwwapp| 国产成人综合在线| 欧美揉bbbbb揉bbbbb| 精品久久久久香蕉网| 国产精品久久久久9999吃药| 亚洲国产成人av网| 国产成人精品免费网站| 欧美中文字幕不卡| 久久综合成人精品亚洲另类欧美| 成人欧美一区二区三区白人| 日韩中文字幕一区二区三区| 国产一区91精品张津瑜| 欧美三级中文字幕| 久久久亚洲精华液精华液精华液| 亚洲精品视频一区二区| 久久99国产精品久久| 一本大道av伊人久久综合| 欧美电影免费观看高清完整版在线观看| 国产色综合久久| 婷婷久久综合九色国产成人| 成人福利视频在线看| 日韩视频免费观看高清完整版| 国产精品久久久久久妇女6080| 蜜桃免费网站一区二区三区| 色视频一区二区| 国产区在线观看成人精品 | 91麻豆免费观看| 欧美xxx久久| 亚洲成人在线网站| 99久久国产免费看| 国产婷婷一区二区| 久久机这里只有精品| 在线观看欧美日本| 亚洲丝袜另类动漫二区| 国内外成人在线视频| 欧美日韩美少妇| 亚洲精选在线视频| 99久久亚洲一区二区三区青草| 久久久三级国产网站| 免费观看一级欧美片| 欧美日韩大陆一区二区| 亚洲嫩草精品久久| 99久久久久免费精品国产| 久久精品在线免费观看| 美女视频黄a大片欧美| 91精品国产综合久久久蜜臀图片 | 日韩黄色小视频| 欧美日韩一二区| 国产精品国产三级国产aⅴ中文| 狠狠久久亚洲欧美| 日韩免费福利电影在线观看| 日韩成人午夜精品| 在线综合视频播放| 日韩电影免费在线看| 91精品国产综合久久国产大片| 亚洲国产精品久久不卡毛片| 欧美性欧美巨大黑白大战| 亚洲最大的成人av| 欧美午夜免费电影| 亚洲制服欧美中文字幕中文字幕| 91高清视频免费看| 一区二区三区四区在线播放| 色一区在线观看| 亚洲国产精品一区二区尤物区| 欧美日韩国产色站一区二区三区| 午夜欧美2019年伦理| 91精品在线免费观看| 久久成人免费电影| 精品成人私密视频| 国产精品亚洲人在线观看| 欧美国产精品一区| 91蝌蚪porny| 夜夜爽夜夜爽精品视频| 欧美性色综合网| 日韩av不卡在线观看| 久久综合色8888| 国产成人在线看| 国产精品福利一区| 欧美视频日韩视频| 免费在线视频一区| 国产午夜精品在线观看| 91丨porny丨在线| 性久久久久久久| 国产午夜精品一区二区| 色综合天天狠狠| 午夜免费欧美电影| 亚洲精品在线三区| av电影一区二区| 午夜精品福利在线| 久久精子c满五个校花| 色综合天天综合| 99久久久久免费精品国产| 亚洲人吸女人奶水|