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

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

?? fenxi.cpp

?? 用vc++6.0制作
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
		m_nErrNo=16;		//缺少 “ ( ”符號!"
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	if (!y_XingCan())
		return false;

	while (m_cifa[m_nCur]->nType==30)	//;
	{
		m_nCur++;
		if (!y_XingCan()) 
			return false;
	}
	switch (m_cifa[m_nCur]->nType)
	{
	case 34:	//)
		break;
	default:
		m_nErrNo=17;   //缺少 “ ) ”符號!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;
	return true;
}


/*================================================================ 
* 函數(shù)名:    y_XingCan
* 功能描述:   分析形參 (protected)
* 返回值:    void
* 示例:	  Var m,n:Integer; t:Real
================================================================*/
bool CFenXi::y_XingCan()
{
	if (m_cifa[m_nCur]->nType==4)	//var
		m_nCur++;

	switch (m_cifa[m_nCur]->nType)
	{
	case 1:		//id
		break;

	default:
		m_nErrNo=18;		//"缺少形參標識符 !"
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	while (m_cifa[m_nCur]->nType==32)	//, 用于分析多個形參的情況
	{
		m_nCur++;

		switch (m_cifa[m_nCur]->nType)
		{
		case 1:	//id
			break;

		default:
			m_nErrNo=18;	//"缺少形參標識符 !"
			m_nErrAddr=m_nCur;
			return false;
		}
		m_nCur++;
	}

	switch (m_cifa[m_nCur]->nType)
	{
	case 35:	//:
		break;
	default:
		m_nErrNo=19;	//缺少 “ : ”符號!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	switch (m_cifa[m_nCur]->nType)
	{
	case 14:	//booleger
	case 15:	//real
		break;
	default:
		m_nErrNo=12; //缺少保留字 integer 或 real!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;
	return true;
}



/*================================================================ 
* 函數(shù)名:    y_YuJuChuan
* 功能描述:   語句串,用分號隔開的多個語句 (protected)
* 返回值:    void
* 示例: 
				  x:=1;y:=2;z:=3;
				  Call ab(x,y,z);
				  z:=4+z+(1+2+6+x)*3*y*5+7;
				  If ~ 3<=x & y<>4 then z:=0;
				  y:=219;  z:=37;  x:=y*z
================================================================*/
bool CFenXi::y_YuJuChuan()
{
	if (!y_YuJu()) 
		return false;

	while (m_cifa[m_nCur]->nType==30)	//;
	{
		m_nCur++;
		if (!y_YuJu()) 
			return false;
	}
	return true;
}


/*================================================================ 
* 函數(shù)名:    y_YuJu
* 功能描述:   語句 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_YuJu()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 6:			//begin
		if (!y_FuHeYuJu())
			return false;
		break;

	case 1:			//id
		if (!y_FuZhiYuJu()) 
			return false;
		break;

	case 8:			//if
		if (!y_TiaoJianYuJu())
			return false;
		break;

	case 11:		//while
		if (!y_XunHuanYuJu()) 
			return false;
		break;

	case 13:		//call
		if (!y_GuoChengYuJu()) return false;
		break;

	default:
		m_nErrNo=9;   //缺少《語句》,應為 begin,ID,if,while,call
		m_nErrAddr=m_nCur;
		return false;
	}
	return true;
}



/*================================================================ 
* 函數(shù)名:    y_FuHeYuJu
* 功能描述:   復合語句 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_FuHeYuJu() 
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 6:		//begin
		break;
	default:
		m_nErrNo=8;	//缺少保留字“ begin ”!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	if (!y_YuJuChuan()) //遞歸調(diào)用
		return false;

	switch (m_cifa[m_nCur]->nType)
	{
	case 7:		//end
		break;
	default:
		m_nErrNo=10;	//"缺少保留字“ end ”!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_FuZhiYuJu
* 功能描述:   賦值語句 (protected)
* 返回值:    void
* 示例:      y:=219;
================================================================*/
bool CFenXi::y_FuZhiYuJu()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 1:		//id
		break;
	default:
		m_nErrNo=20; //缺少標識符!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	switch (m_cifa[m_nCur]->nType)
	{
	case 29:	//:=
		break;
	default:
		m_nErrNo=21;  //缺少賦值符號“ := ”!
		m_nErrAddr=m_nCur;
		return false;
	}


	m_nCur++;

	if (!y_BiaoDaShi()) 
		return false;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_TiaoJianYuJu
* 功能描述:   條件語句 (protected)
* 返回值:    void
* 示例:		If m>n then n:=m else t:=m;
================================================================*/
bool CFenXi::y_TiaoJianYuJu()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 8:	//if
		break;
	default:
		m_nErrNo=22;  //缺少保留字“ if ”!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	if (!y_BuErBiaoDaShi())		//表達式
		return false;


	switch (m_cifa[m_nCur]->nType)
	{
	case 9:		//then
		break;
	default:
		m_nErrNo=23;  //缺少保留字“ then ”!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;

	if (!y_YuJu())		//語句
		return false;

	switch (m_cifa[m_nCur]->nType)
	{
	case 10:	//else
		break;
	default:
		return true;
	}
	m_nCur++;

	if (!y_YuJu())	//語句
		return false;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_XunHuanYuJu
* 功能描述:   循環(huán)語句	 (protected)
* 返回值:    void
* 示例:    
				While n<m do
						Begin
						  n:=n+1
						End
================================================================*/
bool CFenXi::y_XunHuanYuJu()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 11:	//while
		break;
	default:
		m_nErrNo=24;
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;

	if (!y_BuErBiaoDaShi())  //表達式
		return false;

	switch (m_cifa[m_nCur]->nType)
	{
	case 12:	//do
		break;

	default:
		m_nErrNo=25;   //缺少保留字“ do ”!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;

	if (!y_YuJu()) 
		return false;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_GuoChengYuJu
* 功能描述:   過程語句	 (protected)
* 返回值:    void
* 示例:	Call ab(x,y,z);
================================================================*/
bool CFenXi::y_GuoChengYuJu()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 13:	//call
		break;

	default:
		m_nErrNo=26;	//缺少保留字“ call ”!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	switch (m_cifa[m_nCur]->nType)
	{
	case 1:		//id
		break;

	default:
		m_nErrNo=27;	//缺少被調(diào)過程名標識符!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	switch (m_cifa[m_nCur]->nType)
	{
	case 33:	//(
		break;
	default:
		return true;
	}
	if (!y_ShiCanBiao()) //表達式
		return false;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_ShiCanBiao
* 功能描述:   實參表 (protected)
* 返回值:    void
*示例:		Call ab(x,y,z);
================================================================*/
bool CFenXi::y_ShiCanBiao()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 33:	//(
		break;
	default:
		m_nErrNo=16;	//缺少 “ ( ”符號!
		m_nErrAddr=m_nCur;
		return false;
	}

	m_nCur++;

	if (!y_BiaoDaShi())  //表達式
		return false;

	while (m_cifa[m_nCur]->nType==32)	//,
	{
		m_nCur++;
		if (!y_BiaoDaShi()) 
			return false;
	}

	switch (m_cifa[m_nCur]->nType)
	{
	case 34:	//)
		break;
	default:
		m_nErrNo=17;	//缺少 “ ) ”符號
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;
	return true;
}



/*================================================================ 
* 函數(shù)名:    y_BiaoDaShi
* 功能描述:   表達式 (protected)
* 返回值:    void
* 示例:    z:=4+z+(1+2+6+x)*3*y*5+7;
================================================================*/
bool CFenXi::y_BiaoDaShi()
{
	if (!y_Xiang())
		return false;

	while (m_cifa[m_nCur]->nType==16)	//+
	{
		m_nCur++;
		if (!y_Xiang()) 
			return false;
	}

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_Xiang
* 功能描述:   項 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_Xiang()
{
	if (!y_YinZi()) 
		return false;

	while (m_cifa[m_nCur]->nType==18)//*
	{
		m_nCur++;
		if (!y_YinZi())
			return false;
	}

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_YinZi
* 功能描述:   因子 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_YinZi()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 1:			//id
		m_nCur++;
		break;

	case 2:			//num
		m_nCur++;
		break;

	case 33:		//(
		m_nCur++;

		if (!y_BiaoDaShi())  //遞歸調(diào)用
			return false;

		switch (m_cifa[m_nCur]->nType)
		{
		case 34:	//)
			break;
		default:
			m_nErrNo=17;  //缺少 “ ) ”符號!
			m_nErrAddr=m_nCur;
			return false;
		}
		m_nCur++;

		break;

		default:
			m_nErrNo=28; //缺少《因子》,應為 (,ID,NUMBER"
			m_nErrAddr=m_nCur;
			return false;
	}
	return true;
}



/*================================================================ 
* 函數(shù)名:    y_BuErBiaoDaShi
* 功能描述:   布爾表達式 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_BuErBiaoDaShi()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 20:	//~
		m_nCur++;
		if (!y_BuErBiaoDaShi())
			return false;
		break;

	case 33:	//(
	case 1:		//id
	case 2:		//num
		if (!y_GuanXiBiaoDaShi()) 
			return false;

		while (m_cifa[m_nCur]->nType==21 || m_cifa[m_nCur]->nType==22) // & |
		{
			m_nCur++;
			if (!y_BuErBiaoDaShi())
				return false;
		}
		break;

	default:
		m_nErrNo=29;		//"缺少《布爾表達式》,應為 ~,(,ID,NUMBER"
		m_nErrAddr=m_nCur;
		return false;
	}
	return true;
}



/*================================================================ 
* 函數(shù)名:    y_GuanXiBiaoDaShi
* 功能描述:   關系表達式 (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_GuanXiBiaoDaShi()
{
	if (!y_BiaoDaShi())  //表達式
		return false;

	if (!y_GuanXi())	//關系
		return false;

	if (!y_BiaoDaShi())	//表達式
		return false;

	return true;
}



/*================================================================ 
* 函數(shù)名:    y_GuanXi
* 功能描述:   關系   (protected)
* 返回值:    void
================================================================*/
bool CFenXi::y_GuanXi()
{
	switch (m_cifa[m_nCur]->nType)
	{
	case 23:	//<
	case 24:	//<=
	case 25:	//>
	case 26:	//>=
	case 27:	//=
	case 28:	//<>
		break;

	default:
		m_nErrNo=30;	//缺少關系(<,<=,>,>=,=,<>)!
		m_nErrAddr=m_nCur;
		return false;
	}
	m_nCur++;
	return true;
}


/*================================================================ 
* 函數(shù)名:    init
* 功能描述:   用于初始化關鍵字表和錯誤信息表   (protected)
* 返回值:    void
================================================================*/
void CFenXi::init()
{
 	strcpy(m_szKW[0],"");
	strcpy(m_szKW[1],"");//標識符
	strcpy(m_szKW[2],"");//正整數(shù)
	strcpy(m_szKW[3],"program");
	strcpy(m_szKW[4],"var");
	strcpy(m_szKW[5],"procedure");
	strcpy(m_szKW[6],"begin");
	strcpy(m_szKW[7],"end");
	strcpy(m_szKW[8],"if");
	strcpy(m_szKW[9],"then");
	strcpy(m_szKW[10],"else");
	strcpy(m_szKW[11],"while");
	strcpy(m_szKW[12],"do");
	strcpy(m_szKW[13],"call");
	strcpy(m_szKW[14],"integer");
	strcpy(m_szKW[15],"real");
	strcpy(m_szKW[16],"+");
	strcpy(m_szKW[17],"-");
	strcpy(m_szKW[18],"*");
	strcpy(m_szKW[19],"/");
	strcpy(m_szKW[20],"~");
	strcpy(m_szKW[21],"&");
	strcpy(m_szKW[22],"|");
	strcpy(m_szKW[23],"<");
	strcpy(m_szKW[24],"<=");
	strcpy(m_szKW[25],">");
	strcpy(m_szKW[26],">=");
	strcpy(m_szKW[27],"=");
	strcpy(m_szKW[28],"<>");
	strcpy(m_szKW[29],":=");
	strcpy(m_szKW[30],";");
	strcpy(m_szKW[31],".");
	strcpy(m_szKW[32],",");
	strcpy(m_szKW[33],"(");
	strcpy(m_szKW[34],")");
	strcpy(m_szKW[35],":");
	strcpy(m_szKW[36],"/*");
	strcpy(m_szKW[37],"*/");
	strcpy(m_szKW[38],"");
	strcpy(m_szKW[39],"");
	strcpy(m_szKW[40],"");
	strcpy(m_szKW[41],"");
	strcpy(m_szKW[42],"");
	strcpy(m_szKW[43],"");
	strcpy(m_szKW[44],"");
	strcpy(m_szKW[45],"");
	strcpy(m_szKW[46],"");
	strcpy(m_szKW[47],"");
	strcpy(m_szKW[48],"");
	strcpy(m_szKW[49],"");
	strcpy(m_szErrMsg[0],"正確!");
	strcpy(m_szErrMsg[1],"數(shù)字位數(shù)過長!");
	strcpy(m_szErrMsg[2],"非法字符!");
	strcpy(m_szErrMsg[3],"缺少關鍵字“ program ”!");
	strcpy(m_szErrMsg[4],"program 后缺少標識符!");
	strcpy(m_szErrMsg[5],"缺少“ ; ”符號!");
	strcpy(m_szErrMsg[6],"缺少程序結(jié)束符“ . ”符號!");
	strcpy(m_szErrMsg[7],"缺少《程序體》,應為 begin,integer,real,procedure");
	strcpy(m_szErrMsg[8],"缺少保留字“ begin ”!");
	strcpy(m_szErrMsg[9],"缺少《語句》,應為 begin,ID,if,while,call");
	strcpy(m_szErrMsg[10],"缺少保留字“ end ”!");
	strcpy(m_szErrMsg[11],"缺少《聲明》,應為 integer,real,procedure");
	strcpy(m_szErrMsg[12],"缺少保留字 integer 或 real!");
	strcpy(m_szErrMsg[13],"procedure 后缺少標識符!");
	strcpy(m_szErrMsg[14],"變量聲明后缺少標識符!");
	strcpy(m_szErrMsg[15],"缺少保留字“ procedure ”!");
	strcpy(m_szErrMsg[16],"缺少 “ ( ”符號!");
	strcpy(m_szErrMsg[17],"缺少 “ ) ”符號!");
	strcpy(m_szErrMsg[18],"缺少形參標識符 !");
	strcpy(m_szErrMsg[19],"缺少 “ : ”符號!");
	strcpy(m_szErrMsg[20],"缺少標識符!");
	strcpy(m_szErrMsg[21],"缺少賦值符號“ := ”!");
	strcpy(m_szErrMsg[22],"缺少保留字“ if ”!");
	strcpy(m_szErrMsg[23],"缺少保留字“ then ”!");
	strcpy(m_szErrMsg[24],"缺少保留字“ while ”!");
	strcpy(m_szErrMsg[25],"缺少保留字“ do ”!");
	strcpy(m_szErrMsg[26],"缺少保留字“ call ”!");
	strcpy(m_szErrMsg[27],"缺少被調(diào)過程名標識符!");
	strcpy(m_szErrMsg[28],"缺少《因子》,應為 (,ID,NUMBER");
	strcpy(m_szErrMsg[29],"缺少《布爾表達式》,應為 ~,(,ID,NUMBER");
	strcpy(m_szErrMsg[30],"缺少《關系》!");
	strcpy(m_szErrMsg[31],"變量名不能和過程名相同!");
	strcpy(m_szErrMsg[32],"標識符重復聲明!");
	strcpy(m_szErrMsg[33],"未聲明標識符!");
	strcpy(m_szErrMsg[34],"不能直接引用過程名!");
	strcpy(m_szErrMsg[35],"不能從real轉(zhuǎn)換為integer類型!");
	strcpy(m_szErrMsg[36],"不能用常數(shù)作實參!");
	strcpy(m_szErrMsg[37],"變參應為變量!");
	strcpy(m_szErrMsg[38],"實參個數(shù)不足!");
	strcpy(m_szErrMsg[39],"只有integer和integer才能比較!");
	strcpy(m_szErrMsg[40],"不能這樣調(diào)用過程!");
	strcpy(m_szErrMsg[41],"");
	strcpy(m_szErrMsg[42],"");
	strcpy(m_szErrMsg[43],"");
	strcpy(m_szErrMsg[96],"源程序結(jié)束符 end. 后還有多余內(nèi)容!");
	strcpy(m_szErrMsg[97],"語法錯誤太多,終止語法分析!");
	strcpy(m_szErrMsg[98],"源程序不正常結(jié)束!");
	strcpy(m_szErrMsg[99],"內(nèi)存不足!詞法分析終止!");
}


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产一区二区三区 | 亚洲国产电影在线观看| 日本美女一区二区三区视频| 3d成人h动漫网站入口| 免费人成精品欧美精品| 欧美精品一区二区三| 国产成人啪午夜精品网站男同| 国产精品天天看| 在线观看视频一区| 奇米888四色在线精品| 精品少妇一区二区三区在线播放| 国产激情一区二区三区| 18成人在线视频| 欧美人伦禁忌dvd放荡欲情| 久久精品国产精品亚洲精品| 中文字幕 久热精品 视频在线| 色综合久久天天综合网| 日韩成人av影视| 日本一区二区三区久久久久久久久不 | 欧美一区二区三区免费在线看| 奇米一区二区三区av| 国产人成一区二区三区影院| 91在线观看高清| 麻豆精品一区二区综合av| 国产亚洲精久久久久久| 色视频欧美一区二区三区| 日韩高清国产一区在线| 国产女人aaa级久久久级 | 国产精品天干天干在线综合| 91看片淫黄大片一级在线观看| 亚洲成国产人片在线观看| 久久精品人人爽人人爽| 欧美亚洲免费在线一区| 国产盗摄视频一区二区三区| 午夜免费久久看| 国产精品高潮呻吟| 91精品国产黑色紧身裤美女| 91色在线porny| 激情综合一区二区三区| 亚洲激情图片一区| 国产偷国产偷精品高清尤物| 欧美精品v国产精品v日韩精品| 成人综合婷婷国产精品久久蜜臀 | 8x8x8国产精品| 成人黄色在线网站| 久久99精品久久只有精品| 亚洲激情在线播放| 亚洲国产精品99久久久久久久久| 欧美老肥妇做.爰bbww| av不卡在线观看| 国产激情视频一区二区三区欧美| 视频在线观看91| 亚洲女人小视频在线观看| 久久影院电视剧免费观看| 欧美日韩aaaaa| 91老师片黄在线观看| 成人午夜在线播放| 韩国av一区二区三区在线观看| 丝袜亚洲精品中文字幕一区| 一区二区三区四区高清精品免费观看| 欧美精品一区二区三区一线天视频| 欧美亚洲愉拍一区二区| 色av一区二区| 97se亚洲国产综合在线| 成人午夜视频网站| 成人av在线资源网站| 成人午夜激情片| 国产麻豆精品一区二区| 黄网站免费久久| 国产一区在线精品| 精品一区二区三区在线播放 | 2023国产精品视频| 日韩女同互慰一区二区| 欧美xxxxxxxx| 亚洲精品在线三区| 精品国产乱码久久久久久久久 | 精品视频在线视频| 欧美日韩一区二区三区四区五区| 91九色最新地址| 欧美在线观看视频一区二区三区| 色综合久久九月婷婷色综合| 色婷婷av一区二区三区之一色屋| 99国产精品久久| 在线观看免费成人| 7777精品久久久大香线蕉| 6080国产精品一区二区| 日韩限制级电影在线观看| 欧美一级夜夜爽| 精品国产伦理网| 国产精品嫩草影院com| 国产欧美一区二区精品秋霞影院| 欧美韩国日本不卡| 自拍视频在线观看一区二区| 一区二区三区中文在线观看| 五月天激情小说综合| 免费观看91视频大全| 国产精品综合在线视频| 99久久精品费精品国产一区二区| 色女孩综合影院| 欧美区在线观看| 久久综合九色综合97婷婷| 国产精品成人网| 亚洲高清免费视频| 国产综合色精品一区二区三区| 成熟亚洲日本毛茸茸凸凹| 欧美最新大片在线看 | 国产欧美一区二区三区鸳鸯浴| 国产精品卡一卡二卡三| 亚洲国产成人av网| 麻豆国产精品官网| av在线播放成人| 6080午夜不卡| 国产精品嫩草影院av蜜臀| 亚洲超碰97人人做人人爱| 国产麻豆成人精品| 色国产综合视频| 精品国产伦一区二区三区观看方式| 欧美激情在线一区二区| 亚洲国产婷婷综合在线精品| 精品亚洲成a人在线观看 | 另类的小说在线视频另类成人小视频在线 | 日韩精品最新网址| 国产精品久久久久7777按摩| 五月激情综合婷婷| 99精品久久只有精品| 91精品国产综合久久久久| 国产精品卡一卡二卡三| 麻豆专区一区二区三区四区五区| aa级大片欧美| 久久欧美中文字幕| 天堂久久久久va久久久久| a亚洲天堂av| 日韩女优av电影在线观看| 一二三四区精品视频| 国产成人av电影在线| 日韩一级大片在线| 亚洲精品国产视频| 国产成人一区二区精品非洲| 91精品在线免费观看| 亚洲天堂a在线| 国产精品综合一区二区三区| 欧美一区二区性放荡片| 亚洲国产一二三| 色天天综合色天天久久| 中文成人综合网| 国产综合一区二区| 欧美成人精品1314www| 亚洲不卡av一区二区三区| 色网综合在线观看| 国产精品美女久久久久久2018| 激情久久五月天| 欧美一区二区三区人| 天天色图综合网| 欧美日韩卡一卡二| 一区二区三区四区不卡在线| 91在线视频网址| 国产精品三级av| 成人国产精品免费网站| 国产亚洲一区二区三区在线观看| 看电视剧不卡顿的网站| 欧美一级在线视频| 九色综合狠狠综合久久| 精品国产91亚洲一区二区三区婷婷| 免费观看在线色综合| 日韩免费视频线观看| 男女男精品视频| 欧美成人video| 韩国av一区二区三区在线观看| 精品国产91洋老外米糕| 国模冰冰炮一区二区| 久久久久国产精品麻豆| 国产精品一区二区在线播放| 久久天天做天天爱综合色| 国产九九视频一区二区三区| 日本一区二区视频在线观看| 99久久综合精品| 一区二区三区高清| 91精品国产综合久久久久久久 | 亚洲一区二区三区自拍| 欧美日韩亚洲综合| 丝袜美腿亚洲一区二区图片| 精品国产青草久久久久福利| 国产一区二区主播在线| 国产欧美精品在线观看| 色偷偷久久人人79超碰人人澡| 亚洲欧美另类小说视频| 欧美四级电影在线观看| 日韩av高清在线观看| 精品日韩在线观看| 成人va在线观看| 亚洲一区二区三区小说| 91精品综合久久久久久| 国产成人综合亚洲网站| 一区二区三区四区中文字幕| 欧美剧情片在线观看| 国产美女精品人人做人人爽| 日韩毛片一二三区| 91精品国产综合久久精品性色| 国产一区二区三区精品欧美日韩一区二区三区 | 99国产精品久|