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

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

?? compiler.c

?? 筆者自創的9個匯編終結符實現普通+,-,*,/,I/O的實用編譯器(產生80486目標碼)
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*	SLR(1)文法分析器,詞限長.yacc沖突:先移入,依FOLLOW集,歸約
	文rule(尾回車),原子詞,首符大寫,為非終結符,否則,為終結符
	規則,非終結/終結符,用isspace隔,相同鄰左部,展成各右部R條
	左遞歸,定義char域的加減,符號大于或無條件轉移,快I/O,注釋
	冠ml615,初0數組,實蒞標號L(hi標號數)

.model	small
.code
id_grp	db	ID_GRP_SZ值	dup(0)
L:

mov	ah,76
int	33
end	L

SLR EXE ;
SLR SLR EXE ;
EXE ADD
EXE IF
EXE GO
EXE GOAL
EXE GET
EXE PUT
EXE REM
ADD iD = iD + dEC
IF if JG then SLR
JG iD > iD
GO go _iD
GOAL _iD
GET + iD
PUT > iD
REM ! iD BY
BY iD BY
BY

右遞歸(耗棧)
SLR EXE ; R_nt
R_nt SLR
R_nt

	[文hi],單詞,用isspace符隔

	iD(_iD)類,為(_)[a..z][0..9a..z]*,非if,go,then
	dEC類,為[+|-][0..9][0..9]*
    詞器eat,讀hi的類,返iD,_iD,dEC

	輸入[0..9]/其他符,顯[0..9]/asc模10
! copy make all ;
low = low + +47 ;
high = low + 11 ;
ten = ten + 10 ;
+ v ;
if v > low then
	if high > v then
! asc ;
		> v ;
		go _ok ; ; ;
_chk ;
if ten > v then
	go _v ; ;
v = v + -10 ;
go _chk ;
_v ;
v = v + 48 ;
> v ;
_ok ;

	[文tr],目標機某些非終結符替四元式為匯編碼,大寫符,EOF,隔替者
	_2,偏移2的立即數
	_:,偏移3的標號
	__1,偏移1,間接尋址id_grp
	__:,轉到偏移3的標號
ADD
mov al,__1
add al,_2
mov __3,al
JG
mov al,__1
cmp al,__2
jle __:
GO
jmp __:
GOAL
_:
GET
xor ah,ah
int 16h
mov __3,al
PUT
mov al,__3
int 41

生a.asm
.model	small
.code
id_grp	db	4	dup(0)
L:

mov al,id_grp[0]
add al,47
mov id_grp[0],al

mov al,id_grp[0]
add al,11
mov id_grp[1],al

mov al,id_grp[2]
add al,10
mov id_grp[2],al

xor ah,ah
int 16h
mov id_grp[3],al

mov al,id_grp[3]
cmp al,id_grp[0]
jle _chk

mov al,id_grp[1]
cmp al,id_grp[3]
jle _chk

mov al,id_grp[3]
int 41
jmp _ok

_chk:

mov al,id_grp[2]
cmp al,id_grp[3]
jle L3

jmp _v

L3:
mov al,id_grp[3]
add al,-10
mov id_grp[3],al

jmp _chk

_v:

mov al,id_grp[3]
add al,48
mov id_grp[3],al

mov al,id_grp[3]
int 41

_ok:
mov	ah,76
int	33
end	L

沖測
移入-歸約
E E - T
E T
T F
F ( E )
F i
T F - T
i - ( i - i )
歸約-歸約
G E = E
G f
E T
E E + T
T f
T T * f
f

測超前
S E = E
S f
E T
E E + T
T f
T T * f

約數基塊測
+ x ;
+ y ;
_m ;
r = x + 5 ;
if r > r then
	go _ee ; ;
x = y + 0 ;
y = r + 0 ;
go _m ;
_ee ;
> y ;*/

#include <math.h>
#include <time.h>
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef unsigned char BYTE;
typedef unsigned short USHORT;
typedef unsigned __int64 ULONGLONG;

#define R_nt 1

#define	RULE_tot	19+R_nt	//規則數
#define	NT_GRP_SZ	11+R_nt	//非終結符SLR,EXE,ADD,IF,GO,GOAL,GET,PUT,REM,JG,BY數
#define	T_GRP_SZ	11	//終結符;,iD,=,+,dEC,if,then,>,go,_iD,!數
#define	ATOM_SZ_	4+1	//詞,能占字節數;零

#define	ID_GRP_SZ	4	//標識符low,high,ten,v數
#define	TO_GRP_SZ	3+3	//標號_chk,_v,_ok數+必設內標if語句數
#define	G4_AF_SZ	17	//hi,非注釋句數
#define	Nest_IF		2	//嵌套數

FILE *LP_F;

char atom[ATOM_SZ_];

#define	ITEM_ATOMS_	6+1	//ADD iD = iD + dEC所占詞數+DOT
#define	ITEM_SZ	(1+RULE_tot)*ITEM_ATOMS_//<S>

typedef struct{
char flg;
char loc;
}FLG_LOC;

struct{
FLG_LOC	dot_nt_t[ITEM_ATOMS_];
char dot_nt_t_cnt;
}item_grp[ITEM_SZ];

char item_grp_cnt=1;//用戶

typedef	struct{
char t_grp[T_GRP_SZ];
char t_grp_cnt;
}FORE;

typedef struct{
char item[ITEM_SZ];
FORE fore[ITEM_SZ];//超前
char item_cnt;
struct{
FLG_LOC	by;
char to;
}out[ITEM_SZ];
char out_cnt;
FLG_LOC	reduce[NT_GRP_SZ];//項目號,產生式首nt_grp位
char reduce_cnt;
FLG_LOC	shift[T_GRP_SZ];//新態,移入的t_grp
char shift_cnt;
char lalr;//-1:父號
}ITEM_SET_GRP;

#define NOM	sizeof(ITEM_SET_GRP)*ITEM_SZ/sizeof(float)

#define Pnp		8*4
#define e8_th	(float)(1/2980.957987)
#define p4_32	1.8446744073709552e+019

union{
ITEM_SET_GRP item_set_grp[ITEM_SZ];
float f[NOM];
}U;

char item_set_grp_cnt=0;

char t_grp[2+T_GRP_SZ][ATOM_SZ_]={"#","@"};
char t_grp_cnt=2;//用戶

struct{
char atom[ATOM_SZ_];
char first[T_GRP_SZ];
char first_cnt;
char follow[T_GRP_SZ];
char follow_cnt;
}nt_grp[1+NT_GRP_SZ]={"<S>"};

char nt_grp_cnt=1;//用戶

char if_grp[Nest_IF];
char if_grp_cnt=0;

char ate,paw,rem;
char dew=0;
FLG_LOC stk[ITEM_SZ]={1,0};

#define	DOT	0x77
#define	NT	0x78
#define	T	0x79

struct{
char atom[ATOM_SZ_];
char val;
}id_grp[ID_GRP_SZ],to_grp[TO_GRP_SZ];

char id_grp_cnt=0;
char to_grp_cnt=0;

struct G4_AF{
char op;
char a0;
char a1;
char aim;
char _if;//to_grp位,-1初值
char entry;//基本塊頭
}g4_af[G4_AF_SZ];
char g4_af_cnt=0;

typedef union{
char *p;
float f;
size_t u;
BYTE B[4];
USHORT s[2];
}O4;

union{
O4 u[2];
double d;
ULONGLONG U;
}op;

O4 sh0,sh1;

void add(aim,sz,loc)char *aim,*sz,loc;{//升序添相異
	for(ate=0;ate!=*sz;aim++,ate++){
		if(*aim==loc){
			ate=0;
			return;
		}

		if(*aim>loc)
			break;
	}

	memmove(aim+1,aim,*sz-ate);
	*aim=loc;
	*sz+=1;
	ate=1;
}

void fore_add(parent,parent_item,first)char parent,parent_item,first;{
char loc0,loc1;
	if(first!=item_grp[parent_item].dot_nt_t_cnt)
		if(NT==item_grp[parent_item].dot_nt_t[first].flg){
			loc0=item_grp[parent_item].dot_nt_t[first].loc;
			op.u[0].p=0;

			for(loc1=0;loc1!=nt_grp[loc0].first_cnt;loc1++){//各first
				add(U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp,&U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp_cnt,nt_grp[loc0].first[loc1]);
				if(ate)
					op.u[0].p+=2;

				if(1==nt_grp[loc0].first[loc1])//單eps
					op.u[0].p++;
			}

			if(!((char)op.u[0].p & 1)){//未透
				ate=op.u[0].p>0;
				return;
			}
		}else
			if(item_grp[parent_item].dot_nt_t[first].loc){//非#
				add(U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp,&U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp_cnt,item_grp[parent_item].dot_nt_t[first].loc);
				return;
			}

	for(loc1=loc0=0;loc0!=U.item_set_grp[item_set_grp_cnt].fore[parent].t_grp_cnt;loc0++){
		add(U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp,&U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp_cnt,U.item_set_grp[item_set_grp_cnt].fore[parent].t_grp[loc0]);
		if(ate)
			loc1=1;
	}

	ate=loc1;
}

void item_set_add(left,parent,parent_item,first)char left,parent,parent_item,first;{//目前
	for(sh0.u=0;sh0.u!=(size_t)U.item_set_grp[item_set_grp_cnt].item_cnt;sh0.u++){//升
		if(U.item_set_grp[item_set_grp_cnt].item[sh0.u]==left){
			fore_add(parent,parent_item,first);
			return;
		}

		if(U.item_set_grp[item_set_grp_cnt].item[sh0.u]>left)
			break;
	}

	memmove(&U.item_set_grp[item_set_grp_cnt].item[sh0.u+1],\
	&U.item_set_grp[item_set_grp_cnt].item[sh0.u],\
	U.item_set_grp[item_set_grp_cnt].item_cnt-sh0.u);

	U.item_set_grp[item_set_grp_cnt].item[sh0.u]=left;//序
	fore_add(parent,parent_item,first);

	U.item_set_grp[item_set_grp_cnt].item_cnt++;
}

void closure(){//項目集的X->```a.Y```,讓Y->.(b|Z)入項目集
char old,cnt,i_LOC,i_loc,nt,usr,fat;
	do
		for(old=U.item_set_grp[item_set_grp_cnt].item_cnt,fat=cnt=0;cnt!=U.item_set_grp[item_set_grp_cnt].item_cnt;cnt++)
			for(i_LOC=U.item_set_grp[item_set_grp_cnt].item[cnt],i_loc=1;i_loc!=item_grp[i_LOC].dot_nt_t_cnt;i_loc++)
				if(DOT==item_grp[i_LOC].dot_nt_t[i_loc].flg &&\
					i_loc!=item_grp[i_LOC].dot_nt_t_cnt-1 &&\
					NT==item_grp[i_LOC].dot_nt_t[i_loc+1].flg){

					nt=item_grp[i_LOC].dot_nt_t[i_loc+1].loc;

					for(usr=3;usr!=item_grp_cnt;usr++)//跳<S>
						if(item_grp[usr].dot_nt_t[0].loc==nt &&\
							DOT==item_grp[usr].dot_nt_t[1].flg){

							item_set_add(usr,cnt,i_LOC,i_loc+2);//加Y->.(b|Z)
							if(ate)
								fat=1;
						}

					break;//單
				}
	while(old<U.item_set_grp[item_set_grp_cnt].item_cnt||fat);
}

//#define LR1
void arrow(){
char a_loc=0,i_LOC,i_loc;
	for(;a_loc!=U.item_set_grp[paw].item_cnt;a_loc++)
		for(i_LOC=U.item_set_grp[paw].item[a_loc],i_loc=1;i_loc!=item_grp[i_LOC].dot_nt_t_cnt;i_loc++)//從DOT
			if(DOT==item_grp[i_LOC].dot_nt_t[i_loc].flg &&\
				i_loc!=item_grp[i_LOC].dot_nt_t_cnt-1 &&\
				!memcmp(&item_grp[i_LOC].dot_nt_t[i_loc+1],&stk[1],sizeof(FLG_LOC))){

				ate=U.item_set_grp[item_set_grp_cnt].item_cnt;
				U.item_set_grp[item_set_grp_cnt].item[ate]=i_LOC+1;//Y.

				memmove(U.item_set_grp[item_set_grp_cnt].fore[ate].t_grp,\
				U.item_set_grp[paw].fore[a_loc].t_grp,\
				U.item_set_grp[paw].fore[a_loc].t_grp_cnt);

				U.item_set_grp[item_set_grp_cnt].fore[ate].t_grp_cnt=\
				U.item_set_grp[paw].fore[a_loc].t_grp_cnt;

				U.item_set_grp[item_set_grp_cnt].item_cnt++;
				break;//單
			}

	if(U.item_set_grp[item_set_grp_cnt].item_cnt){
		closure();i_loc=-1;
		for(a_loc=0;a_loc!=item_set_grp_cnt;a_loc++)//歷史
			if(U.item_set_grp[a_loc].item_cnt==\
				U.item_set_grp[item_set_grp_cnt].item_cnt &&\
				!memcmp(U.item_set_grp[a_loc].item,\
				U.item_set_grp[item_set_grp_cnt].item,\
				U.item_set_grp[a_loc].item_cnt)){//核同

#ifdef LR1
				for(sh0.u=0;sh0.u!=U.item_set_grp[a_loc].item_cnt;sh0.u++)
					if(U.item_set_grp[a_loc].fore[sh0.u].t_grp_cnt==\
						U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp_cnt &&\
						!memcmp(U.item_set_grp[a_loc].fore[sh0.u].t_grp,\
						U.item_set_grp[item_set_grp_cnt].fore[sh0.u].t_grp,\
						U.item_set_grp[a_loc].fore[sh0.u].t_grp_cnt))//超同
						break;

				if(sh0.u==U.item_set_grp[a_loc].item_cnt){
					i_loc=a_loc;
					continue;
				}
#endif
				break;
			}

		i_LOC=U.item_set_grp[paw].out_cnt;

		memmove(&U.item_set_grp[paw].out[i_LOC],&stk[1],sizeof(FLG_LOC));
		U.item_set_grp[paw].out[i_LOC].to=a_loc;

		U.item_set_grp[paw].out_cnt++;

		if(a_loc!=item_set_grp_cnt)
			U.item_set_grp[item_set_grp_cnt].item_cnt=0;
		else
			U.item_set_grp[item_set_grp_cnt++].lalr=i_loc;
	}
}

void dot(char n){
memmove(&item_grp[item_grp_cnt],&item_grp[item_grp_cnt-1],sizeof(item_grp[0]));
memmove(&item_grp[item_grp_cnt].dot_nt_t[n-1],&item_grp[item_grp_cnt].dot_nt_t[n],sizeof(FLG_LOC));
item_grp[item_grp_cnt++].dot_nt_t[n].flg=DOT;
}

char eat(char r){
	while(1){
		if(-1==(ate=fgetc(LP_F)))
			return 0;

		if('\n'!=ate)
			break;

		if(!paw&&r)//規則行
			return 0;
	}

	ungetc(ate,LP_F);
	fscanf(LP_F,"%s",atom);

	ate=T;
	if(isupper(atom[0]))
		ate=NT;
	else
		if(paw){//hi
			if('!'==atom[0])
				rem=1;
			else
			if(islower(atom[0])){
				for(r=0;r!=t_grp_cnt;r++)//內字
					if(!strcmp(t_grp[r],atom))
						return -1;

				for(r=0;r!=id_grp_cnt;r++)
					if(!strcmp(id_grp[r].atom,atom))
						break;

				if(r==id_grp_cnt&&!rem)//位,初值0
					strcpy(id_grp[id_grp_cnt++].atom,atom);

				strcpy(atom,"iD");
			}else{
				if('_'==atom[0]){//標號
					for(r=0;r!=to_grp_cnt;r++)
						if(!strcmp(to_grp[r].atom,atom))
							break;

					if(r==to_grp_cnt){//位
						strcpy(to_grp[to_grp_cnt].atom,atom);
						to_grp[to_grp_cnt++].val=-1;//初值-1
					}

					strcpy(atom,"_iD");
				}else{
					r=(char)strtol(atom,&op.u[0].p,10);
					if(atom!=op.u[0].p)//成
						strcpy(atom,"dEC");
				}
			}
		}
	return r;
}

void rule(){
	for(;;){
		eat(rem=item_grp[item_grp_cnt].dot_nt_t_cnt);
		switch(ate){
			case NT:
				for(ate=1;ate!=nt_grp_cnt;ate++)//用戶
					if(!strcmp(nt_grp[ate].atom,atom))
						break;

				if(ate==nt_grp_cnt)
					strcpy(nt_grp[nt_grp_cnt++].atom,atom);

				item_grp[item_grp_cnt].dot_nt_t[rem].flg=NT;
				item_grp[item_grp_cnt].dot_nt_t[rem].loc=ate;

				if(!rem){
					item_grp[item_grp_cnt].dot_nt_t[1].flg=DOT;
					item_grp[item_grp_cnt].dot_nt_t_cnt=2;
				}else
					item_grp[item_grp_cnt].dot_nt_t_cnt++;

				break;

			case T:
				for(ate=2;ate!=t_grp_cnt;ate++)//用戶
					if(!strcmp(t_grp[ate],atom))
						break;

				if(ate==t_grp_cnt)
					strcpy(t_grp[t_grp_cnt++],atom);

				item_grp[item_grp_cnt].dot_nt_t[rem].flg=T;
				item_grp[item_grp_cnt].dot_nt_t[rem].loc=ate;
				item_grp[item_grp_cnt].dot_nt_t_cnt++;

				break;

			case -1:
				return;

			case '\n':
				rem=item_grp[item_grp_cnt++].dot_nt_t_cnt;
				for(ate=2;ate!=rem;ate++)
					dot(ate);
		}
	}
}

void cp_1st(hd,nt)char hd,nt;{
	paw=nt_grp[hd].first_cnt;
	for(sh1.u=0;sh1.u!=(size_t)nt_grp[nt].first_cnt;sh1.u++)
		if(nt_grp[nt].first[sh1.u]!=1)//非eps
			add(nt_grp[hd].first,&nt_grp[hd].first_cnt,nt_grp[nt].first[sh1.u]);
	ate=nt_grp[hd].first_cnt>paw;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成国产人片在线观看| 欧美一区二区三区免费在线看| 日韩你懂的在线观看| 婷婷一区二区三区| 91女人视频在线观看| 日韩一级片网址| 国产精品久久777777| 国产一区二区在线视频| 色婷婷一区二区三区四区| 欧美大片一区二区三区| 国产精品久久久久一区二区三区共| 中文字幕国产一区| 丝袜脚交一区二区| 日韩精品每日更新| 日韩欧美国产小视频| 亚洲精品在线免费播放| 一区二区成人在线视频| www.亚洲国产| 92精品国产成人观看免费| 亚洲欧洲日韩av| 欧美日韩激情在线| 性做久久久久久久免费看| 538在线一区二区精品国产| 美女视频网站久久| 国产精品日韩精品欧美在线| 欧美在线短视频| 国内国产精品久久| 成人精品国产福利| 国产日韩影视精品| 裸体歌舞表演一区二区| 欧美日本国产视频| 精品国产凹凸成av人网站| 天堂蜜桃一区二区三区| 99久久精品国产导航| 国产视频一区不卡| 国产麻豆日韩欧美久久| 欧美一区二区不卡视频| 日本成人在线一区| 欧美日韩国产一区| 亚洲资源在线观看| 国模套图日韩精品一区二区| 久久九九全国免费| 久久69国产一区二区蜜臀| 欧美日韩国产另类不卡| 日本少妇一区二区| 欧美一区二区三区在| 亚洲国产精品视频| 国产超碰在线一区| 亚洲视频综合在线| 91精品国产色综合久久不卡电影| 亚洲欧美中日韩| 色94色欧美sute亚洲线路一久 | 制服丝袜成人动漫| 一区二区三区中文字幕电影| 欧美日韩国产中文| 奇米精品一区二区三区四区| 日韩三级伦理片妻子的秘密按摩| 亚洲一区二区在线播放相泽| 日韩欧美综合在线| 国产制服丝袜一区| 国产亚洲成年网址在线观看| av在线综合网| 午夜精品久久久久久久蜜桃app| 精品视频在线免费看| 亚洲一区在线观看免费| 精品国产一区二区三区忘忧草| 国产在线视频不卡二| 中文字幕久久午夜不卡| 成人免费视频播放| 亚洲国产三级在线| 日韩欧美www| 国产69精品一区二区亚洲孕妇| 亚洲精品一二三四区| 欧美视频日韩视频在线观看| 天天色天天爱天天射综合| 色婷婷综合久久久久中文一区二区| 日韩国产高清在线| 中文字幕免费一区| 欧美性色黄大片| 成人自拍视频在线| 免费在线观看一区| 国产色产综合色产在线视频| 91在线无精精品入口| 国精产品一区一区三区mba视频| 欧美激情一区二区三区四区| 欧美性感一类影片在线播放| 国产成人av网站| 亚洲18色成人| 国产精品日韩成人| 日韩一区二区三区av| 精品久久久久久久久久久久包黑料 | 成人精品视频一区| 日韩一区欧美小说| 欧美不卡一二三| 国产一区二区伦理片| 亚洲一区二区视频| 26uuu亚洲| 91免费看视频| 99re66热这里只有精品3直播 | 欧美天堂一区二区三区| 国产一区二区三区香蕉| 亚洲精品国产无套在线观| 日韩欧美在线一区二区三区| 欧美色综合网站| jlzzjlzz国产精品久久| 国产综合久久久久久鬼色| 亚洲国产中文字幕在线视频综合| 中文字幕综合网| 久久久久99精品国产片| 欧美一级精品在线| 欧美一区二区女人| 在线视频中文字幕一区二区| eeuss影院一区二区三区| 久久aⅴ国产欧美74aaa| 日本在线不卡视频一二三区| 亚洲精品成人天堂一二三| 国产亚洲精久久久久久| 欧美三级乱人伦电影| 欧美吞精做爰啪啪高潮| 99re8在线精品视频免费播放| 国产麻豆精品一区二区| 国产99久久久久| 精品一区二区三区视频| 婷婷丁香激情综合| 天堂va蜜桃一区二区三区漫画版| 午夜亚洲福利老司机| 亚洲第一久久影院| 亚洲欧美日韩一区二区 | 日韩午夜中文字幕| 91精品国产aⅴ一区二区| 蜜桃视频免费观看一区| 日本女优在线视频一区二区| 日韩三级视频中文字幕| 成人精品视频.| 91在线无精精品入口| 欧美亚洲动漫制服丝袜| 5月丁香婷婷综合| 久久综合成人精品亚洲另类欧美| 久久蜜桃av一区二区天堂| 国产精品国产三级国产三级人妇 | 欧美日韩aaa| 欧美刺激午夜性久久久久久久| 精品久久久久久无| 国产精品资源在线观看| 色综合天天综合给合国产| 成人动漫一区二区| 99久久精品国产一区二区三区| av一区二区久久| 欧美日韩成人综合| 欧美精品一区男女天堂| 亚洲三级电影全部在线观看高清| 亚洲成av人片在线| 国产成人精品免费看| 欧美无人高清视频在线观看| 2020日本不卡一区二区视频| 亚洲男人的天堂在线观看| 日本不卡在线视频| av电影一区二区| 日韩一卡二卡三卡四卡| 亚洲视频一区二区在线观看| 日本最新不卡在线| 色噜噜狠狠成人网p站| 精品国产免费视频| 亚洲国产精品嫩草影院| 粉嫩高潮美女一区二区三区| 欧美人体做爰大胆视频| 中文字幕欧美激情一区| 蜜臀av一区二区| 欧美在线小视频| 中文字幕一区三区| 麻豆国产欧美一区二区三区| 欧美在线观看视频一区二区| 国产精品日产欧美久久久久| 久久99精品久久只有精品| 欧美三级三级三级| 亚洲久草在线视频| 成人伦理片在线| 久久蜜桃香蕉精品一区二区三区| 图片区小说区国产精品视频 | 美女性感视频久久| 色视频成人在线观看免| 在线不卡一区二区| 91国产成人在线| 国内精品国产三级国产a久久| 亚洲蜜臀av乱码久久精品| 7777精品伊人久久久大香线蕉超级流畅 | 蜜臀av一级做a爰片久久| 日本一区二区三区高清不卡| 色综合久久九月婷婷色综合| av男人天堂一区| 久久这里只有精品6| 亚洲成人av资源| 在线观看日韩精品| 一二三区精品福利视频| 99久久综合精品| 国产精品免费av| 成年人午夜久久久| 中文字幕乱码日本亚洲一区二区 | 91久久免费观看| 天天色天天爱天天射综合|