3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

编译器构造概述(详细)

發布時間:2023/12/18 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 编译器构造概述(详细) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、?????????????編譯器簡介

前面談到靜態鏈接器構造的基本流程,最后提到所構造的鏈接器若要能正常工作的前提是需要構造一個能生成符合鏈接器輸入文件格式的編譯器,本文構造一個符合這種具體格式要求編譯器。但是編譯器的直接編譯的結果一般是匯編語言文件,這種文件是不能滿足上述靜態鏈接器的需求的,因此在它們之間還需要一個匯編語言程序將匯編語言轉換為二進制文件作為鏈接器的輸入。恰如圖1-1所示,

?

?

?

圖?1-1??靜態編譯步驟

?

上次引用這張圖是為了說明靜態編譯器的整體結構,而這次我們側重于編譯程序的構造的流程,在具體展開編譯器構造的討論之前,我們先簡單介紹一下編譯器的基本知識。

編譯從本質上講就是語言翻譯程序,它是把一種語言(稱作源語言)書寫的程序翻譯為另一種語言(稱作目標語言)的等價程序。源語言作為編譯器的輸入,必須讓編譯器“知道”自己的語法結構——文法,這樣編譯器才能正確處理語言的結構。所以編譯器設計的第一步應該是源語言文法定義

編譯器要處理源語言文件(源文件),必須掃描文件內容,提取出文件內的語法基本單元,比如標識符,關鍵字,界符等,這一步在編譯中稱為詞法分析,通過這一步,編譯器能獲得源文件表達的所有語言單位。

接下來,編譯器需要分析這些語言單位的組合的合法性以及整體結構,這里編譯原理提供了很多成熟的分析算法,這步成為語法分析,語法分析將合法的程序轉換為一個邏輯上的語法樹形式,方便后邊的處理。

另外,由于程序設計語言雖然是結構上是上下文無關的文法,但是實際應用中程序中每個語句并不是獨立的,那么如何反應這種聯系的存在,語義處理的工作就顯得非常必要,它驗證了語法模塊之間的關聯的合法性。

通過以上的步驟,編譯器就能判斷源程序的合法性,如果是合法程序,編譯器就會進行最后一步關鍵的工作——代碼生成,這一步在現代編譯器中實現方式多樣,例如gcc會先生成中間代碼,經過優化后再生成匯編語言,但是本文為了簡化編譯的流程,直接從語法樹過渡到代碼生成,按照語法樹結構產生源文件對應的匯編代碼。

貫穿整個編譯流程中,符號表具有很重要的作用,它記錄編譯過程中許多關鍵的數據結構,方便編譯器存取符號相關信息。最后,錯誤處理模塊會在合適的地方報告編譯的錯誤信息。

?

?

圖?1-2??直接編譯步驟

?

為了和前述的靜態鏈接器結構保持兼容,這里編譯器的設計結構需要作特殊說明。鏈接器需要多個目標文件作為輸入,因此,編譯器生成的匯編文件就應該是多個,每個匯編文件會映射為一個目標文件。這樣,編譯器就不能采用前邊所述的直接編譯生成一個孤立文件的方式,圖1-2,而是采用多文件分別處理的方式進行。由于之前實現了一個直接編譯方式的編譯器,所以必須對編譯器結構進行修改以滿足鏈接器的需要。

既然是對單個的源文件進行編譯,就必須要求編譯器能處理引用的外部變量和函數,這里主要集中在extern變量和函數聲明的語法結構上。為了清晰的闡述編譯器的設計過程,下邊就按照上述編譯器設計的基本步驟闡述每個具體細節,圖1-3展示了編譯器的設計結構。

?

圖?1-3?編譯器結構設計

二、?????????????文法定義

一個程序設計語言是一個記號系統,它的完整定義包含語法和語義兩個方面。語法規定了語言的書寫規則,而語義定義了語言上下文之間的聯系。因此,語言的形式化定義必須通過語法規則來表達,而語法規則就是所謂的文法。

Chomsky于1956年建立了形式語言的描述,他把文法分為四種類型,即0型、1型、2型、3型。這四種文法的類型的范圍是依次縮減的,其中2型文法(亦稱為上下文無關文法)能很好的表達現代程序設計語言的結構,所以,一般程序設計語言都滿足2型文法的規則。

作為編譯器處理的核心對象,高級語言的結構直接關系著編譯系統的結構。本系統處理的高級語言主體是C語言的子集 ,另外對標準C語言的語法進行了適當的刪減和擴充。

自定義高級語言基本特性:

(1)類型:支持int、char、void基本類型和復雜的string類型。

(2)表達式:支持四則運算,簡單關系運算和字符串連接運算。

(3)語句:賦值、while循環、if-else條件分支、函數調用、return、break、continue、輸入in>>、輸出out<<語句。

(4)聲明和定義:變量、函數聲明定義,外部變量聲明extern。

(5)其它:支持多文件、默認類型轉換、單行/多行注釋等。

自定義語言盡可能接近C語言的格式,以使得編譯器的重點放在處理高級語言的過程上,而不過多關心復雜的語言細節,下邊給出了自定義的語言的文法定義,見表2-1。

?

表?2-1??文法規則

?

文法定義中^表示空符,<>內表示非終結符,其他為終結符,稍后在詞法分析中針對此具體說明。

三、?????????????詞法分析

詞法分析是編譯的第一個階段,它的任務是從左向右逐個字符地對源程序進行掃描,產生一個個單詞序列,用于語法分析。執行詞法分析的程序稱為詞法分析程序或者掃描程序。

在詞法分析過程中,最關鍵的是對詞法記號的描述。一般情況下,編譯系統使用正則文法來描述詞法的規則,而對正則文法識別的工具就是有限自動機。解析正則文法的有限自動機有時候可能不夠簡潔,這樣就需要把不確定的有限自動機(NFA)轉化為確定的有限自動機(DFA)。通過有限自動機把詞法記號識別出來,就完成了詞法分析的工作。

詞法分析的主要目的就是從源文件中獲取合法的詞法記號,主要功能如下:

(1)掃描輸入文件,消除注釋、無效空格、TAB、回車符。

(2)識別標識符、關鍵字、常量、界符等,產生詞法記號。

(3)識別詞法錯誤(記號過長、意外字符等)。

詞法分析器一般包括掃描器和解析器兩部分,掃描器從文件中讀入字符,解析器將掃描出來的字符轉換為詞法記號。本系統定義的所有詞法記號如表3-1所示:

表?3-1??詞法記號

?

3.1???????掃描器

掃描器從源文件按字節讀入字符數據,將一組字符放入緩沖區。當需要獲取字符的時候,從緩沖區中讀取,用這種方式可以提高字符讀取的效率,代碼如下。

?

int?getChar()
{
??if(chAtLine>=lineLen)//超出索引,行讀完,>=防止出現強制讀取的bug
??{
????chAtLine=0;//字符,行,重新初始化
????lineLen=0;
????lineNum++;//行號增加
????ch='?';
????while(ch!=10)//檢測行行結束
????{
??????if(fscanf(fin,"%c",&ch)==EOF)
??????{
????????line[lineLen]=0;//文件結束
????????break;
??????}
??????line[lineLen]=ch;//循環讀取一行的字符
??????lineLen++;
??????if(lineLen==maxLen)//單行程序過長
??????{
????????//不繼續讀就可以,不用報錯
????????break;
??????}
????}
??}
??//正常讀取
??oldCh=ch;
??ch=line[chAtLine];
??chAtLine++;
??if(ch==0)
????return?-1;
??else
????return?0;
}

?

掃描器算法流程如圖3-1所示,

?

圖?3-1??掃描器算法流程

從算法中可以看出,緩沖區對應line數組,每個調用getChar可以將一個字符讀入變量ch,oldCh記錄上一個字符,lineNum記錄了行號方便定位錯誤位置。

3.2???????解析器

解析器從掃描器緩沖區不斷讀入字符。將字符與表示語言詞法規則的有限自動機匹配,若成功則產生詞法記號,否則報告詞法錯誤。

標識符的解析流程與有限自動機DFA映射關系如圖3-2所示,根據有限自動機結構,若讀入的字符改變了有限自動機的狀態,則提供條件分支判斷;若狀態不變,則提供循環程序結構;若遇到終結符則表示識別該詞法記號,停止該部分有限自動機的運行。繼續獲取字符,直到將所有的詞法記號識別完為止。

?

圖?3-2??標識符解析流程與DFA映射關系

標識符識別代碼如下:

?

int?getSym()
{
??while(ch=='?'||ch==10||ch==9)//忽略空格,換行,TAB
??{
????getChar();
??}
??if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'||ch=='_')//_,字母開頭的_,字母,數字串:標識符(關鍵字)
??{
????int?idCount=0;//為標識符的長度計數
????int?reallen=0;//實際標識符長度
????int?f;//getChar返回標記
????
//取出標識符
????do
????{
??????reallen++;
??????if(idCount<idLen)//標識符過長部分掠去
??????{
????????id[idCount]=ch;
????????idCount++;
??????}
??????f=getChar();
????}
????while(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'||ch=='_'||ch>='0'&&ch<='9');
????id[idCount]=0;//結尾
????if(reallen>idLen)//標識符過長
????{
??????lexerror(id2long,0);
????}
????checkReserved();
????return?f;
??}
}

?其他詞法記號的識別方式如下:

(1)關鍵字識別。和標識符相同,不過在識別完成后要查詢系統預留的關鍵字表,若查詢結果不為空則作為關鍵字處理。

(2)單行注釋識別。讀取//兩個字符,直到行結束(換行符\n)。

(3)多行注釋識別。讀取/*兩個字符后,直到出現*/結束,中間忽略所有字符。這里多行注釋識別簡化了,因為無法識別包含*的注釋段。

(4)數字識別。從讀入第一個數字字符開始直到非數字字符結束。

(5)串識別。從讀入雙引號開始,直到出現下一個分號為止,中間的所有符號都作為串的內容處理。

(6)字符識別。從讀入單引號開始,讀取下一個字符作為字符內容,再識別下一個符號是否匹配單引號,否則產生詞法錯誤。

(7)其他界符。單字符界符直接識別即可,雙字符界符需讀入連續兩個字節匹配后才認為識別成功。

通過以上的詞法記號識別算法可以識別當前自定義語言的所有詞法記號。

3.3???????異常處理

在詞法分析時,若出現意外,則返回無效的詞法記號,然后繼續分析。詞法錯誤處理的原則是出現詞法錯誤不影響詞法分析的進行。返回無效詞法記號時稱為詞法分析出現意外(即異常,并不一定是錯誤)??偣灿幸韵聨追N情況:

(1)處理完注釋,注釋不能作為有效的詞法記號,雖然能正常識別。

(2)出現詞法錯誤。返回無效詞法記號,繼續詞法分析,識別后續正常的詞法記號。

(3)文件結束:文件結束后返回-1作為符號,此符號是無意義的記號,但是標識編譯的結束條件。

(4)意外字符:文件中出現預期以外的字符時當作異常處理。

(5)有限自動機異常終止。例如識別字符時,在單引號和一個字符后沒有出現另一個單引號,此時拋出異常。

由于詞法分析的這種錯誤處理機制,在進行語法分析時必然會讀取無效詞法記號,此時需要一個過濾器將無效字符過濾掉再進行語法分析。過濾器不是詞法分析器的必須結構,可以將其作為語法分析的預處理過程。所有的詞法錯誤如表4-2所示:

表?3-2??詞法錯誤

四、?????????????語法分析

文法描述了程序語言的構造規則,語法分析就是通過對源程序掃描解析出來的詞法記號序列識別是否是文法定義的正確的句子。一般情況下語法分析分為兩種形式,一種是自頂向下的語法分析方法,另一種是自底向上的語法分析方法(具體內容參考編譯原理教材)。本系統采用最容易實現的LL(1)的遞歸下降子程序分析算法。

在一遍編譯器的結構中,語法分析是整個編譯器的核心部分,幾乎所有的模塊都依賴于語法分析模塊。主要功能如下:

(1)將過濾后詞法記號和文法規則進行匹配。

(2)識別語法模塊。

(3)出錯時能進行錯誤恢復。

(4)正常時更新符號表內容,并產生語義動作。

由于詞法分析產生的詞法記號有時候是異常符號,再進行正式語法分析之前,必須對這些符號進行過濾。

4.1??過濾器

除了過濾無效的詞法記號功能外,過濾器還有一個重要的作用是允許在語法分析器獲取詞法記號的時候暫停讀取符號一次。這種方法本質上違背了LL(1)分析算法的初衷,因為LL(1)只允許超前查看一個詞法記號。但是有了這種“回退一次”機制,LL(1)可以多向前查看一個字符作為預分析,然后再暫停一次,雖然只能暫停一次。LL(1)只能分析正常的語法,當語法出錯需要恢復的時候就無能為力了,本文的過濾器算法能夠實現錯誤修復功能。

過濾器的工作流程如圖4-1所示:

?

圖4-1?過濾器工作流程

對應代碼如下:

#define?BACK?wait=1;//BACK宏使詞法記號停頓一次,完成回退
int?nextToken()
{
??if(wait==1)//處理BACK
??{
????wait=0;//還原
????return?0;
??}
??int?flag=0;
??while(1)
??{
????flag=getSym();
????if(sym==null||sym==excep)//無效符號掠過
????{
??????if(flag==-1)//文件結束
??????{
?????????oldtoken=token;
?????????token=null;
?????????return?-1;
??????}
????}
????else//get?effective?symbol
????{
?????? oldtoken=token;//上一個符號
???????token=sym;//當前符號
???????return?0;
????}
??}
}

4.2??遞歸下降子程序

語法分析是編譯器的核心,而語法分析算法LL(1)則是語法分析器的核心。一般情況下隨意構造的文法有可能不滿足LL(1)的要求,因此需要對文法做出修改,使之滿足LL(1)的要求。編譯教材里給出兩種基本的修正方式:合并左公因子和消除左遞歸。構造出的滿足LL(1)文法上述已經給出,下邊需要將該文法轉化為語法分析程序。如圖4-2展示了一個while語句的識別子程序。

?


圖4-2??遞歸下降子程序與文法映射關系

可以看出,LL(1)文法和遞歸下降子程序映射關系很明確:將文法規則中的非終結符轉化為子程序定義或者調用,而終結符轉化為詞法記號的匹配。

可以證明,這種映射方式可以正確的識別LL(1)定義的語言。但是當源程序有錯誤的時候,這種直接識別方式會有很大的弊端,因此需要對其進行改進。

4.3??錯誤處理

當詞法記號不能被文法規則匹配的時候就會產生語法錯誤,否則就對正確的文法模塊產生語義動作。但是,出現語法錯誤時不能停止語法分析的進行,以保證能及時發現更多的語法錯誤。因此,更不能因為前邊的語法錯誤導致后邊“更多”正確的語法“出錯”。基于此,錯誤修復算法是語法分析的另一個重點和難點。

錯誤恢復原理的形式化定義為:

設y是已讀入的符號串,L(G)為定義的語言,T是超前記號,y∈L(G),yT!∈L(G)表示T的插入導致語句出錯,基于此有四種修復方式:

(1)修改y:不推薦使用該方式,因為和LL(1)分析過程沖突。

(2)在y和T之間插入記號v使得?yvT∈L(G)。

(3)修改T為?V,使得?yV∈L(G)。

(4)刪除T,測試T的下一個記號Z是否使得yZ∈L(G)否則重復以上步驟。能解決一部分語法錯誤,但是可能會忽略很多有用的詞法記號。

采用方法(2)、(3)能恢復兩大類型的語法錯誤:一種是符號丟失錯誤——對應(2),需要回退一個詞法記號(過濾器操作);一種是符號內容錯誤——對應(3),修改該詞法記號并跳過它一次;如圖4-3所示:

?

圖?4-3??基本錯誤恢復實例

對應代碼如下:

void?dec()
{
??if(token==semicon)//空聲明
??{
????return;
??}
??else?if(token==rsv_extern)//外部變量聲明
??{
????type();
????nextToken();
????if(!match(ident))//標識符不匹配,極有可能是沒有標識符,回退
????{
??????synterror(identlost,-1);
??????BACK
????}
????else//聲明標識符成功
????{
????}
????nextToken();
????if(!match(semicon))
????{
????? if(token==rsv_extern||token==rsv_void||token==rsv_int||token==rsv_char||token==rsv_string)
??????{
?????????synterror(semiconlost,-1);?//丟失分號
?????????BACK
??????}
??????else
??????{
?????????synterror(semiconwrong,0);
??????}
????}
??}
??else
??{
????type();
????nextToken();
????if(!match(ident))//標識符不匹配,極有可能是沒有標識符,回退
????{
??????synterror(identlost,-1);
??????BACK
????}
????else//聲明標識符成功,還不能確定是變量還是函數,暫時記錄作為參數傳遞
????{
??????dec_name+=id;
????}
????dectail(dec_type,dec_name);
??}
}

由于目前還是沒有絕對很有效的的錯誤恢復算法,針對這個問題,本系統站在使用者的角度來考慮,采用對出現在通常情況下人為導致的較高概率的錯誤進行處理,從而可以取得數學期望上的最大效率恢復的可能。

?

由此總結錯誤修復的算法流程如圖4-4所示(圖中文法符號表示終結符或者非終結符):

超前讀入的詞法記號按照語法規則與欲得到的記號進行匹配,若成功則繼續分析,否則查看該記號是否是文法規則中在下一個文法符號的First集中,如果在則表示丟失欲得到的符號,否則就按照符號不匹配處理。

?

圖?4-4??錯誤恢復算法流程

本系統能識別的語法錯誤如表4-1所示:

表?4-1??語法錯誤

五、?????????????符號表

符號表是編譯過程中保存程序信息的數據結構,它從語法分析模塊獲取所需的信息,為語義處理和代碼生成模塊服務。主要功能如下:

(1)保存變量、函數的信息記錄。

(2)開辟串空間,保存靜態字符串。

(3)管理局部變量的可見性。

(4)處理變量、函數的聲明和定義。

5.1??數據結構

符號表相關的數據結構如下:

1.變量記錄數據結構定義如下:

struct?var_record
{
??symbol?type;
??string?name;
??union
??{
????int?intVal;
????char?charVal;
????int?voidVal;
????int?strValId;
??};
??int?localAddr;
??int?externed;
};

?

?

變量記錄數據結構的字段的含義如下: (1)type:記錄變量的類型,值是枚舉類型symbol的rsv_int、rsv_char、rsv_void、rsv_string 。 (2)name: 記錄變量的名字。 (3)匿名聯合類型:記錄變量的初值,如果沒有初值初始化為0,最關鍵的是strValId字段,它標志著字符串類型變量的存儲位置。strValId為-2時表示字符串為全局定義的字符串,存儲在數據段中;strValId為-1時表示字符串是局部定義的字符串或者是臨時結果字符串,存儲在堆棧段中;strValId為大于0的正整數時表示常量字符串存儲在串空間的ID 。 (4)localAddr:表示局部變量的棧中位置相對于ebp的偏移量,若localAddr為0 表示改變量是全局變量。 (5)externded :表示變量是否是外部變量。 2 .函數記錄數據結構定義如下: struct?fun_record
{
??symbol?type;?
??string?name;?
??vector<symbol>?*args;?
??vector<var_record*>*localvars;?
??int?defined;?
??int?flushed;
??int?hadret;??
??void?addarg();
??int?hasname(string?id_name);?
??void?pushlocalvar();
??int?getCurAddr();
??void?flushargs();
??void?poplocalvars(int?varnum);?
??int?equal(fun_record&f);
??var_record*create_tmpvar(symbol?type,int,int);
};

函數記錄數據結構的字段說明如下:

?

(1)type :函數的返回類型,和變量記錄相同。 (2)name :函數名。 (3)args :指向參數類型鏈表的指針。 (4)localvars :指向局部變量記錄鏈表的指針。 (5)defined :指示函數是否定義。 (6)flushed :指示函數的參數緩存的信息是否寫入了符號表。 (7)hasret:指示函數在末尾是否有return 語句。 函數記錄數據結構的主要方法定義如下: (1)addarg(): 為函數頭聲明的時候將參數變量信息寫入緩沖區。 (2)hasname(string): 測試在函數作用域內是否有參數指定名字的變量聲明,包含參數名字。 (3)pushlcoalvar(): 將局部變量的信息壓入局部變量鏈表,并寫入符號表。 (4)getCurAddr():取得當前分析代碼時刻堆棧指針相對于ebp 的偏移。 (5)flushargs(): 將參數緩存的參數信息寫入符號表。 (6)poplocalvars(int&): 從局部變量鏈表后邊彈出參數指定數目的變量信息,同時在符號表刪除變量信息。 (7)equal(fun_record&f): 判斷參數指定的函數的聲明是否和本記錄的聲明合法匹配。 (8)create_tmpvar(symbol type,int hasVal,int &var_num) :為常量類型創建一個臨時變量,參與表達式運算或者參數傳遞。 3 .符號表數據結構記錄所有的符號信息,包括變量和函數符號的信息,另外還增加了一定的擴展信息,數據結構定義如下: class?Table?
{
??hash_map<string,?var_record*,?string_hash>?var_map;
??hash_map<string,?fun_record*,?string_hash>?fun_map;
??vector<string*>stringTable;
??vector<var_record*>?real_args_list;?
public:
??int?addstring();
??string?getstring(int?index);?
??void?addvar();
??void?addvar(var_record*v_r);?
??var_record?*?getVar(string?name);?
??int?hasname(string?id_name);?
??void?delvar(string?var_name);?
??void?addfun();
??void?addrealarg(var_record*arg,int&?var_num);?
??var_record*?genCall(string?fname,int&?var_num);?
??void?over();
??void?clear();
};

符號表數據結構的字段說明如下:

?

(1)var_map: 變量記錄哈希表。 (2)fun_map: 函數記錄哈希表。 (3)stringTable: 串空間。 (4)real_args_list: 函數調用實參變量記錄鏈表。 符號表數據結構的主要方法說明如下: (1)addstring():向串空間添加一個常量串,id從0 自增。 (2)getstring(): 根據串的索引獲取串內容。 (3)addvar(): 向符號表添加一個變量記錄信息。 (4)getVar(string): 根據變量名字獲取變量聲明的記錄信息。 (5)hasname(string): 測試指定的名字是否和當前作用域的變量的符號名重復,函數名稱不需要測試。 (6)delvar(string): 刪除指定名稱的變量。 (7)addfun(): 向函數記錄哈希表添加一條函數記錄,同時檢查函數的聲明和定義的合法性。 (8)addrealarg(var_record*arg,int& var_num) :向實參列表中添加一個實參變量記錄。 (9)genCall(): 產生函數調用的代碼。 (10)over(): 產生數據段信息。 (11)clear(): 清空符號表信息。 4 .全局對象 var_record tvar :記錄當前分析的變量的聲明定義信息。 fun_record tfun :記錄當前分析的函數的聲明定義信息。

Table table:符號表引用對象。

5.2??局部變量作用域管理

局部變量作用域管理算法執行流程如圖5-1所示:

?

?

圖5-1?局部變量作用域管理流程

可以看出,變量聲明或者定義時,編譯器獲取變量類型和名稱信息,修改相關字段的內容,然后將信息插入符號表。 函數聲明時,編譯器先插入函數記錄到符號表,然后對參數聲明處理方式是:先把參數變量記錄信息存儲在局部變量列表緩存中,若檢測出是函數定義再把緩存的變量記錄信息真正的插入符號表,否則清空緩沖區。

函數定義時,編譯器先將函數記錄信息插入符號表,再將局部變量的定義依次插入符號表,并且記錄函數內插入變量的個數,等到函數定義結束的時候將剛才插入的變量依次從符號表刪除,最后清除緩沖區的變量記錄,更新符號表。另外,在表達式解析的過程中會產生臨時的局部變量,對其也當作正常的局部變量進行處理即可。

根據上述的變量處理規則,可以實現變量作用域的正確管理。根據5-2 這個實例可以更加清晰的看到這一點。由此可以得出結論: (1 )全局變量登記后不會退出符號表。 (2 )局部變量記錄在域結束后退出符號表。 (3 )臨時變量同局部變量,但不能被程序直接訪問。 (4 )域會對其內部聲明的變量計數,以便結束時彈出其記錄。 (5 )不同作用域的變量聲明必然不能相互訪問。

?

圖?5-2??變量作用域管理實例

六、?????????????語義處理

語義處理作為語法分析的補充,能分析語法分析不能分析的語義信息,其主要功能如下: (1 )引用符號表內容,檢查語義的合法性。 (2 )引導代碼生成例程。 有了語法分析產生的符號表內容,語義處理可以通過查詢符號表的信息來對已經聲明的語法進行合法性的語義檢查。當語義檢查沒有錯誤時就可以引導代碼生成例程進行代碼生成的工作。 所有的語義錯誤如表6-1 所示:

圖?6-1??語義錯誤

下面結合這些錯誤分別對各類語義錯誤進行分析。

6.1??變量、函數聲明的合法性

extern 關鍵字是對外部變量的聲明。extern聲明可以重復出現,以保證每個單獨的文件都能引用別的文件的全局變量,對extern 變量可以只是聲明但不使用。 當出現變量定義時,語義模塊先查詢符號表是否含有該名稱變量的變量記錄信息,若沒有則插入新的變量記錄,否則說明變量已經定義了(不管是內部還是外部變量),都會報告語法錯誤,代碼如下。 void?Table::addvar()
{
??if(synerr!=0)//有語法錯誤,不處理
????return;
??if(var_map.find(tvar.name)==var_map.end())//不存在重復記錄
??{
????var_record?*?pvar=new?var_record(tvar);
????var_map[tvar.name]=pvar;//插入tvar?信息到堆中
??}
??else//存在記錄,看看是不是已經聲明的外部變量
??{
????var_record?*?pvar=var_map[tvar.name];
????//刷新變量記錄信息
????delete?var_map[tvar.name];
????var_map[tvar.name]=pvar;//插入tvar?信息到堆中
????semerror(var_redef);
??}
}

和變量聲明處理方式類似,函數定義的語義檢查做類似處理,不同的是函數檢查的時候還要注意參數的合法性匹配,而且對于函數聲明,需要函數定義進行替換聲明記錄,具體代碼如下。

void?Table::addfun()
{
??if(synerr!=0)//有語法錯誤,不處理
????return;
??if(fun_map.find(tfun.name)==fun_map.end())//不存在記錄
??{
????fun_record?*?pfun=new?fun_record(tfun);
????fun_map[tfun.name]=pfun;//插入tfun?信息到堆中
????
//函數定義生成代碼
????if(pfun->defined==1)
????{
??????tfun.flushargs();
??????genFunhead();
????}
??}
??else//函數聲明過了
??{
????fun_record?*?pfun=fun_map[tfun.name];//取得之前聲明的函數信息
????
//驗證函數聲明
????if(pfun->equal(tfun))
????{
??????//參數匹配,正常聲明
??????if(tfun.defined==1)//添加函數定義
??????{
??????????if(pfun->defined==1)//已經定義了
??????????????{
?????????????????//重復定義錯誤,覆蓋原來的定義,防止后邊的邏輯錯誤
?????????????????semerror(fun_redef);
?????????????????//函數形式完全相同,不需要更改函數記錄,刷新參數即可
?????????????????tfun.flushargs();
??????????????}
??????????else
??????????{
?????????????//正式的函數定義
??????????? ?pfun->defined=1;//標記函數定義
??????????? ?tfun.flushargs()
??????????? ?//函數定義生成函數頭代碼
??????????? ?genFunhead();
??????????}
??????}
??????return?;
????}
????else
????{
??????//插入新的定義聲明
??????fun_record?*?pfun=new?fun_record(tfun);
??????delete?fun_map[tfun.name];//刪除舊的函數記錄
??????fun_map[tfun.name]=pfun;//插入tfun?信息到堆中
??????
//參數聲明不一致++
??????if(tfun.defined==1)//定義和聲明不一致
??????{
?????????semerror(fun_def_err);
?????????tfun.flushargs();
??????}
??????else//多次聲明不一致
??????{
?????????semerror(fun_dec_err);
??????}
????}
??}
}

?

6.2??break、continue語句的位置

根據語法規則,break和continue 語句只能出現在循環體內部,然而語法定義中把這兩種語句作為正常語句處理,所以需要在語義處理中對他們的位置進行合法性檢查。 在出現循環語句的時候,為該循環設置一個唯一的標識ID,將ID的引用傳遞給循環體的復合語句模塊,即使出現循環嵌套,復合語句的也總能獲得最內層的循環的ID。在復合語句中,若出現break或者continue語句時,檢測該ID是否為0。若ID為0,說明沒有循環語句為復合語句傳遞參數,報告語義錯誤;否則,接收的ID即循環體的ID,表示break或者continue語句合法,由于循環體生成代碼時的標號名稱為“@whileID”或者“@whileID_exit”,所以,此時也為break語句和continue 語句提供了跳轉地址的信息。

6.3??return語句返回值類型

根據語法規則,return語句可以出現在函數體的任何位置,在檢測到return語句時,產生函數退出的代碼。但是,在函數體內部可能會出現多層的復合語句,而在函數的第一級作用域內沒有return 語句,從而導致函數生成的代碼沒有退出語句。 所以,為了保證程序的正常執行,必須在出現return語句的同時,檢測作用域的級別,若為1則正常,否則就是內部復合語句的return,此時函數記錄的hasret字段不能置為1。同時,還要return 語句返回值和函數定義的類型匹配,本系統要求它們嚴格匹配,不進行默認的轉換。 另外,return 語句生成的代碼中會強制恢復堆棧指針,因此不會導致程序堆??臻g崩潰。

6.4??函數調用語句實參列表的合法性

在函數調用語句出現的時候,要對函數調用的實參表達式依次計算,得到表達式的類型,然后對該類型與函數的參數列表進行匹配,若成功則生成函數調用的代碼,否則報錯,具體代碼如下。 var_record*?Table::genCall(string?fname,int&?var_num)
{
??var_record*pRec=NULL;
??if(errorNum!=0)//有錯誤,不處理
?????return?NULL;
??if(fun_map.find(fname)!=fun_map.end())//有函數聲明,就可以調用
??{
????fun_record*pfun=fun_map[fname];
????//匹配函數的參數
????
//實參列表是共用的,因此需要動態維護
????if(real_args_list.size()>=pfun->args->size())//實參個數足夠時
????{
??????int?l=real_args_list.size();
??????int?m=pfun->args->size();
??????for(int?i=l-1,j=m-1;j>=0;i--,j--)
??????{
??????????if(real_args_list[i]->type!=(*(pfun->args))[j])
??????????{
?????????????semerror(real_args_err);
?????????????break;
??????????}
??????????else//匹配
??????????{
??????????}
??????}
??????//產生函數返回代碼
??????if(pfun->type!=rsv_void)//非void函數在函數返回時將eax的數據放到臨時變量
??????{?pRec=tfun.create_tmpvar(pfun->type,0,var_num);//創建臨時變量
?????????if(pfun->type==rsv_string)//返回的是臨時string,必須拷貝
?????????{
????????????var_record?empstr;
????????????string?empname="";
????????????empstr.init(rsv_string,empname);
????????????pRec=genExp(&empstr,addi,pRec,var_num);
?????????}
??????}
??????//清除實際參數列表
??????while(m--)
??????????real_args_list.pop_back();
????}
????else
????{
??????semerror(real_args_err);
????}
??}
??else
??{
????semerror(fun_undec);
??}
??return?pRec;
}

?

6.5??賦值語句的類型轉換

賦值語句能進行默認類型的轉換,所以在表達式處理過程中,要根據被賦值變量的類型將表達式的結果進行默認轉換,如果默認轉換不能進行則報錯,這種默認轉換過程在代碼生成過程進行。

七、?????????????代碼生成

代碼生成的主要功能如下:

(1)根據相應的語義動作產生代碼

(2)結合運行時存儲實現對應語義的翻譯

7.1??表達式

本系統的表達式規則全是雙目運算,所以表達式處理的原則是根據兩個操作數的類型和操作符計算出結果臨時變量的類型,然后將結果的引用返回,供包含表達式的語句使用。

在表達式的計算中要考慮類型轉換的問題:

(1)void類型不參加任何運算。

(2)任意非void類型和string類型的+(連接)運算結果都是string類型,而且string類型只能參加+運算,其它運算都是非法的。

(3)在表達式計算中,char類型默認轉換為int類型參與運算。

(4)int類型可以參與所有的運算。

1.變量訪問規則

基本類型變量存儲形式簡單,全局變量在數據段,根據數據段生成規則,可以用變量名直接尋址([@var_name]);局部變量在堆棧段,根據變量記錄字段的localAddr可以得到變量地址相對于ebp指針的偏移,所以尋址為基址尋址[ebp+localAddr],當然輸出的時候要注意localAddr的符號。

string類型因為使用了輔助數據棧,訪問方式較復雜。輔助數據棧是用來專門存儲局部字符串內容而專門構建的。因為字符串長度無法在編譯的時候進行跟蹤,將臨時字符串的內容存儲在系統棧中將導致在字符串內容進棧之后變量無法確定自己的地址,即相對于ebp的偏移量。所以將字符串內容存儲在輔助數據棧里,而其地址作為雙字存儲在系統棧中。標準編譯器一般對復雜數據類型會專門開辟堆空間進行存儲,但是由于本編譯器復雜數據類型只有string類型,相對簡單,所以就不用堆而用棧存儲。

全局string變量是固定在數據段中長度為255字節的區域,通過變量名@str_name可以訪問該區域的首地址,通過@str_name_len可以獲得串的長度。

對于字符串常量,則是根據它在文字池中的ID來訪問的,@str_ID獲得首地址,@str_ID_len獲得長度。

局部string被倒序地壓入輔助數據棧中,通過[ebp+localAddr]得到的是string內容在輔助數據棧的基址,而且該地址指向內存區域的內容為string的長度,以該內容減去長度的值為基址,按照遞增的方式對內存訪問string長度個區域就能獲得string的內容。局部string的存儲訪問原理如圖7-1所示:

?

圖?7-1??string類型變量訪問規則

2.四則運算

若表達式形式為:oprand1 + oprand2,且是基本類型的運算,那么,通過變量的訪問規則可以獲得oprand1和oprand2的內容,分別存放在eax和ebx中,然后使用add eax,ebx指令將表達式計算出來,最后將eax的內容寫入臨時變量的內容中。其它的四則運算則類似,只是把運算指令分別修改為sub、imul、idiv。

3.關系運算

與四則運算類似,除了在eax,ebx存儲操作數的內容外,還要使用cmp eax,ebx指令進行比較,然后還需要根據運算符的含義使用恰當的jcc跳轉命令,而跳轉分支執行的語句是對eax進行寫1或者寫0操作。最后再把eax值寫入臨時變量中作為關系表達式結果。

4.字符串連接

如果操作數中出現了string類型,本系統限定string只能參與連接運算,運算結果會同時使用堆棧和輔助數據棧,為了方便臨時結果字符串壓入輔助數據棧,先把oprand2的內容壓入輔助數據棧,再把oprand1的內容壓入輔助數據棧。

?

圖7-2 string連接運算

在把oprand2內容壓入輔助數據棧之前需要先壓入一個字節的數據,數據內容為oprand2的長度,它是用來存儲結果字符串的長度的。長度被壓入后需要將其內存地址寫入到結果臨時變量在系統棧的內存中去,以用來訪問該結果。因此在壓入oprand1的時候需要先讀取長度,和oprand1的長度相加后再寫回,最后在壓入oprand1的內容。這樣結果字符串就能正確地被訪問了。字符串連接方式可以參照圖7-2。

另外需要注意的是字符串連接的操作數類型和存儲方式可能不盡相同,所以對操作數的訪問要遵循變量的訪問規則。如果操作數不是字符串類型,那么就需要對其默認轉換。對數字要通過除10取余的方式將數字位倒序壓入輔助數據棧,對字符則是把其看作一個長度的字符串常量進行連接即可。

7.2??賦值語句

賦值語句會對變量類型檢查,首先,void類型不能參與賦值運算;其次,要對賦值變量的類型默認轉換為賦值對象的類型。

翻譯賦值語句時,編譯器先訪問賦值對象的類型,如果賦值對象是全局string類型,則先把賦值表達式的內容轉換為臨時字符串,再把字符串的內容拷貝到全局string對應的數據段中,修改其長度。如果被賦值對象是局部string類型,則直接把臨時字符串的地址替換為局部string的地址。

如果賦值對象是基本非void類型,則把賦值變量的內容寫入到賦值對象地址對應的內存。

7.3??循環、分支語句

編譯到循環語句時,系統會為循環語句設置一個唯一的標識ID,然后根據該ID生成循環開始標簽(形如@while_ID)。繼而記錄循環開始前堆棧指針,再對循環條件表達式進行翻譯,為表達式結果產生比較跳轉指令,為0則跳轉到循環結束位置。接著對循環體的復合語句的代碼翻譯,然后生成跳轉到循環開始標簽的指令。最后恢復運行時堆棧狀態,生成循環退出標簽(形如@while_ID_exit)。若在循環體內遇到break語句,編譯器根據循環ID生成跳轉到循環結束標簽的指令,若遇到continue語句,編譯器會生成跳轉到循環開始標簽的指令。當然,在跳轉之前,要根據循環開始記錄的堆棧指針恢復堆棧狀態。

編譯遇到分支語句時,編譯器先保存if開始前的棧指針,然后對條件表達式的內容翻譯,產生為0?跳轉到else的指令。然后對if的復合語句翻譯,恢復棧指針,生成跳轉到else結束位置的指令。接著編譯器先生成else開始標簽,恢復if因為表達式計算修改的棧指針,再生成else復合語句指令,恢復棧指針,生成else結束標簽。

針對循環、分支代碼輔助棧的變化情況,參照圖7-3。

?

圖?7-3??循環分支語句運行時存儲規則

7.4??函數定義、return語句

函數定義的代碼分為函數頭部和函數尾部,所有函數定義的翻譯都需要生成進棧代碼和出棧代碼,即函數頭部和函數尾部。

函數頭部代碼在Intel指令集中可以用enter指令代替,它的功能和指令組push ebp?、mov ebp,esp?等價。函數尾部代碼也可以用指令leave代替,它和指令組mov esp,ebp pop ebp?等價,最后還要有ret指令讓函數返回。之所以這么做就是防止對push,pop指令的誤操作導致函數棧的崩潰,只要ebp不被修改,函數總能正確地返回。

另外,由于添加了輔助數據棧的因素,編譯器還要額外的為這個棧進行恢復操作,以和系統棧同步。所以在編譯器默認數據中有兩個32bit的變量保存著輔助數據棧的“esp”、“ebp”。在函數頭部和尾部的操作與系統棧類似。

依照gcc的代碼生成規則,return語句會把返回值保存在eax寄存器中。對于基本類型,只需要將變量的值mov到eax即可。但是對于string變量還要做一步處理,由于全局string和局部string存儲結構的差別,在返回字符串類型之前,要把全局string的內容壓入輔助數據棧,按照局部string類型返回。但是這么做必須在函數調用的時候把字符串及時拷貝出來,因為return返回后函數的棧指針會發生變化,數據有可能被刷新。

除了把返回值寫入eax,return語句還需要把函數的尾部代碼加上以保證函數能正確返回。

7.6??函數調用

函數調用翻譯步驟如下:

(1)生成實參的表達式計算指令。

(2)生成實參進棧代碼。

(3)使用call指令產生函數調用。

(4)恢復參數進棧之前的棧指針。

(5)若函數返回值是string類型,需要拷貝string的內容。

實參列表保存在符號表的鏈表對象中,在調用函數之前,需要倒序遍歷實參列表,訪問實參臨時變量內容,將內容壓入系統棧中,并對棧指針字節的變化計數。產生調用指令后,需要恢復棧指針,把esp加上剛才的計數值就能恢復棧的狀態,另外還要根據實參列表的個數彈出實際參數記錄,保證實參列表的動態平衡。

7.7??輸入、輸出

本系統沒有系統庫的支持,所以I/O的代碼需要自己來實現。系統調用Linux的int 0x80中斷轉到系統調用例程,根據傳遞的系統調用號執行輸入輸出。

對于輸入語句,系統先調用Linux的3號系統調用把輸入的字符串拷貝到臨時緩沖區中,然后根據輸入對象的類型將合法的數據拷貝到輸入對象的內存中。如果輸入對象是string類型,編譯器就把輸入緩沖區的內容按照賦值語句的規則拷貝到輸入對象;如果輸入對象是基本類型,編譯器就把緩沖區的數據轉換為基本類型,再把值拷貝到輸入對象。

對于輸出語句,系統先把表達式的結果強制轉換為string類型,然后將該臨時string通過調用Linux的4號系統調用進行標準輸出。

7.8??數據段

數據段的信息全部在符號表中,所以符號表是數據段翻譯的關鍵。

符號表的變量記錄哈希表保存著所有定義的全局變量,通過遍歷變量記錄哈希表把變量信息寫入數據段。例如變量說明:int a ;寫入數據段格式為?@var_a dd 0\n?。其中??是編譯器為變量名加的前綴,由于變量是int類型,需要四個字節存儲,所以使用dd定義。另外編譯器沒有對變量的初始化和變量定義嚴加區分,所以,所有全局變量一律初始化為0。對于全局string變量,寫入數據段需要特殊處理。例如變量聲明:string g;生成數據段格式為:

@str_g?times?255?db?0
@str_g_len?db?0

全局字符串除聲明了

255字節的存儲空間外還生成了輔助變量存儲實際字符串的長度。

串空間保存了所有字符串常量,用它可以生成文字池。標準編譯器會把字符串常量保存在字符串表中,段名.strtab。本系統為了使段結構統一,將字符串常量輸出到數據段中,例如串“a\nb”,它在串空間的ID假如為3,生成格式如下:

@str_3?db?"a",10,"b"
@str_3_len?equ?3

?針對字符串常量的特殊字符,在生成的時候不能直接輸出,必須將特殊字符的ASCLL碼寫入目標文件以使得匯編器能正常識別特殊字符。

對于外部變量,本系統自定義了一種規則:同樣生成數據段對應的記錄,不過初始值需要改為1,以通知匯編器這是一個外部變量。

7.9??公共模塊

該編譯器將程序公共的模塊抽取出來單獨生成一個匯編文件common.s,供其他的匯編文件使用。該文件數據段.data包括系統必須的存儲結構,如輸入緩沖區和輔助數據段。

輸入緩沖區輸出格式為:

@buffer?times?255?db?0
@buffer_len?dd?0

輔助數據棧信息輸出格式為:

@s_esp?dd?@s_base
@s_ebp?dd?0

另外,文件輸出了.bss段,該段包含了輔助數據??臻g,使用.bss段,這樣做可以節省不少磁盤空間,其格式為:

@s_stack?times?65536?db?0
@s_base:

公共模塊的.text段有點類似C語言的crt,不過功能很簡單,就是保留一些函數和調用主函數main。保留的函數有@?str_2long用于提示字符串過長,@procBuf用于處理輸入緩沖區。主函數調用格式為:

global?_start
_start:
???????call?main
???????mov?ebx,?0
???????mov?eax,?1
???????int?128

至此,代碼生成工作的主要內容闡述完畢。

八、?????????????編譯實例

這里使用一個漢諾塔的程序測試一下編譯器的效果,其源代碼main.c如下:

void?hanoi(string?a,string?b,string?c,int?n);
int?main()
{
????int?n;
????out<<"輸入盤子個數:";
????in>>n;
????hanoi("A","B","C",n);
????return?0;
}
void?hanoi(string?a,string?b,string?c,int?n)
{
????if(n==0)
????{
??????return;
????}else{}
????hanoi(a,c,b,n-1);
????out<<"Move?"+n+":\t["+a+"?-->?"+c+"]\n";
????hanoi(b,a,c,n-1);
}

使用本編譯器編譯,編譯命令為./cit main.c hanoi -s。運行效果如下:

命令格式如下:

?

圖8-1?編譯器命令

編譯過程如下:

?

圖8-2?編譯過程

執行一下,這里提前看看自己的生成的可執行文件(匯編過程以后會介紹):

?

圖8-3?運行效果

如果需要查看具體的編譯信息,只需要打開對應的編譯開關即可。

例如詞法分析信息:

?

圖8-3?詞法分析

語法分析信息:

?

圖8-4?語法分析

語義處理信息:

?

圖8-5?語義處理

符號表信息:

?

圖8-6?符號表

代碼生成信息:

?

?

圖8-7?代碼生成

生成的匯編文件為common.s和main.s代碼如下:

common.s文件:

section?.text
@str2long:
????mov?edx,@str_2long_data_len
????mov?ecx,@str_2long_data
????mov?ebx,?1
????mov?eax,?4
????int?128
????mov?ebx,?0
????mov?eax,?1
????int?128
????ret
@procBuf:
????mov?esi,@buffer
????mov?edi,0
????mov?ecx,0
????mov?eax,0
????mov?ebx,10
@cal_buf_len:
????mov?cl,[esi+edi]
????cmp?ecx,10
????je?@cal_buf_len_exit
????inc?edi
????imul?ebx
????add?eax,ecx
????sub?eax,48
????jmp?@cal_buf_len
@cal_buf_len_exit:
????mov?ecx,edi
????mov?[@buffer_len],cl
????mov?bl,[esi]
????ret
global?_start
_start:
????call?main
????mov?ebx,?0
????mov?eax,?1
????int?128
section?.data
????@str_2long_data?db?"字符串長度溢出!",10,13
????@str_2long_data_len?equ?26
????@buffer?times?255?db?0
????@buffer_len?db?0
????@s_esp?dd?@s_base
????@s_ebp?dd?0
section?.bss
????@s_stack?times?65536?db?0
@s_base:

?

?

main.s文件:

View Code

?

九、?????????????總結

通過以上的敘述,比較詳細的介紹了一個編譯器的實現流程和具體所牽涉的細節,相信對想了解編譯器內部結構的人有所幫助。不過,由于本編譯器的結構是面向之前所介紹的靜態鏈接器的,因此生成的匯編代碼屬于自定義范疇,因此不會和gcc等主流軟件兼容,那么如何測試生成代碼的正確性呢?后邊就準備介紹如何自己構造一個匯編器,將這些匯編代碼轉換為二進制文件,使用靜態鏈接器鏈接為可執行文件后,執行一下便能知道結果是否正確了!

總結

以上是生活随笔為你收集整理的编译器构造概述(详细)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

人妻少妇精品无码专区动漫 | 免费观看又污又黄的网站 | 国产suv精品一区二区五 | 给我免费的视频在线观看 | 麻豆成人精品国产免费 | 国产av一区二区精品久久凹凸 | 超碰97人人做人人爱少妇 | 一二三四在线观看免费视频 | 无码播放一区二区三区 | 最近免费中文字幕中文高清百度 | 亚洲最大成人网站 | 精品亚洲韩国一区二区三区 | 国产美女精品一区二区三区 | а天堂中文在线官网 | 帮老师解开蕾丝奶罩吸乳网站 | 精品熟女少妇av免费观看 | 97夜夜澡人人爽人人喊中国片 | 99精品久久毛片a片 | 大屁股大乳丰满人妻 | 国产三级精品三级男人的天堂 | 丝袜足控一区二区三区 | 亚洲中文字幕av在天堂 | 男女性色大片免费网站 | 亚洲区小说区激情区图片区 | 欧洲vodafone精品性 | 亚洲国产午夜精品理论片 | 久久国产精品精品国产色婷婷 | 亚洲精品中文字幕久久久久 | 无码国模国产在线观看 | 国产精品国产三级国产专播 | 一区二区传媒有限公司 | 国产一区二区三区四区五区加勒比 | 中文字幕无码av波多野吉衣 | 一本无码人妻在中文字幕免费 | 久久久久se色偷偷亚洲精品av | 国产精品亚洲lv粉色 | 中文字幕无线码 | 97久久精品无码一区二区 | 欧美激情一区二区三区成人 | 乱中年女人伦av三区 | 一本久久伊人热热精品中文字幕 | 日韩精品久久久肉伦网站 | 免费国产成人高清在线观看网站 | 色五月丁香五月综合五月 | 欧美人与善在线com | 少妇性荡欲午夜性开放视频剧场 | 无码av最新清无码专区吞精 | 国产精品亚洲一区二区三区喷水 | 人妻少妇精品无码专区动漫 | 美女极度色诱视频国产 | 无码av免费一区二区三区试看 | 国产舌乚八伦偷品w中 | 国产精品国产三级国产专播 | 精品久久久无码中文字幕 | 性生交大片免费看l | 国产精品内射视频免费 | 成人影院yy111111在线观看 | 亚洲成av人片天堂网无码】 | 久久精品中文字幕一区 | 九九综合va免费看 | 国产成人无码av片在线观看不卡 | 亚洲va欧美va天堂v国产综合 | 装睡被陌生人摸出水好爽 | 国产 精品 自在自线 | 永久免费观看国产裸体美女 | 性欧美大战久久久久久久 | 亚洲狠狠婷婷综合久久 | 日本xxxx色视频在线观看免费 | 男人和女人高潮免费网站 | 成 人 免费观看网站 | 亚洲 日韩 欧美 成人 在线观看 | 在线观看国产一区二区三区 | 又大又硬又黄的免费视频 | 5858s亚洲色大成网站www | 亚洲乱码国产乱码精品精 | 黑人玩弄人妻中文在线 | 婷婷丁香五月天综合东京热 | 99久久婷婷国产综合精品青草免费 | 丰满人妻一区二区三区免费视频 | 日韩成人一区二区三区在线观看 | 久青草影院在线观看国产 | 精品无码一区二区三区爱欲 | 最新国产麻豆aⅴ精品无码 | 午夜熟女插插xx免费视频 | 精品欧美一区二区三区久久久 | 日本精品少妇一区二区三区 | 亚洲精品久久久久中文第一幕 | 国产av无码专区亚洲a∨毛片 | 国产精品久久久久久久影院 | 西西人体www44rt大胆高清 | 欧美日韩视频无码一区二区三 | 我要看www免费看插插视频 | 无码人妻精品一区二区三区不卡 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品办公室沙发 | 中文字幕无码av波多野吉衣 | 97久久国产亚洲精品超碰热 | 国产成人精品优优av | 狠狠色丁香久久婷婷综合五月 | 国产色xx群视频射精 | 大屁股大乳丰满人妻 | 丰满少妇人妻久久久久久 | 天天爽夜夜爽夜夜爽 | 成 人 网 站国产免费观看 | 人人妻人人澡人人爽精品欧美 | 久久国产精品萌白酱免费 | 99久久精品午夜一区二区 | 国内精品久久毛片一区二区 | 岛国片人妻三上悠亚 | 午夜福利一区二区三区在线观看 | 午夜理论片yy44880影院 | 无码一区二区三区在线观看 | 国产精品无码mv在线观看 | 免费无码一区二区三区蜜桃大 | 色五月丁香五月综合五月 | 乱人伦中文视频在线观看 | 天堂在线观看www | 日本肉体xxxx裸交 | 亚洲最大成人网站 | 精品少妇爆乳无码av无码专区 | 麻豆蜜桃av蜜臀av色欲av | 亚洲大尺度无码无码专区 | 999久久久国产精品消防器材 | 大色综合色综合网站 | 国产精品久久久午夜夜伦鲁鲁 | 国内揄拍国内精品人妻 | 久久无码专区国产精品s | 少妇厨房愉情理9仑片视频 | 漂亮人妻洗澡被公强 日日躁 | 亚欧洲精品在线视频免费观看 | 永久免费观看美女裸体的网站 | 一本久久a久久精品亚洲 | 亚洲成av人片天堂网无码】 | 久久熟妇人妻午夜寂寞影院 | 国产精品久久福利网站 | 日本va欧美va欧美va精品 | 国产舌乚八伦偷品w中 | 中文字幕久久久久人妻 | 欧美 丝袜 自拍 制服 另类 | 亚拍精品一区二区三区探花 | 亚洲一区二区三区在线观看网站 | 成 人 网 站国产免费观看 | 国产精品多人p群无码 | 亚洲第一无码av无码专区 | 成人免费视频在线观看 | 成人免费视频在线观看 | 亚洲国产欧美日韩精品一区二区三区 | 久久午夜夜伦鲁鲁片无码免费 | 精品国产一区二区三区四区在线看 | 国产精品第一国产精品 | 婷婷色婷婷开心五月四房播播 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲自偷自拍另类第1页 | 亚洲 a v无 码免 费 成 人 a v | 少妇厨房愉情理9仑片视频 | 久久这里只有精品视频9 | 综合激情五月综合激情五月激情1 | 久久99精品久久久久婷婷 | 久久综合九色综合97网 | 亚洲国产高清在线观看视频 | 国产精品亚洲综合色区韩国 | 精品厕所偷拍各类美女tp嘘嘘 | 国产在热线精品视频 | 国产精品第一国产精品 | 老太婆性杂交欧美肥老太 | 免费看少妇作爱视频 | 日韩精品乱码av一区二区 | 人人爽人人澡人人人妻 | 无码人妻av免费一区二区三区 | 我要看www免费看插插视频 | 国产精品爱久久久久久久 | 成人免费无码大片a毛片 | 国产精品无码mv在线观看 | 精品国产精品久久一区免费式 | 亚洲综合无码一区二区三区 | 无码av免费一区二区三区试看 | 97精品国产97久久久久久免费 | 成人精品一区二区三区中文字幕 | 少妇高潮喷潮久久久影院 | 午夜精品久久久内射近拍高清 | 最近免费中文字幕中文高清百度 | 午夜理论片yy44880影院 | 国产av剧情md精品麻豆 | 无码精品人妻一区二区三区av | 玩弄人妻少妇500系列视频 | 97人妻精品一区二区三区 | 国产精品久久久久9999小说 | 欧美人与物videos另类 | 色五月五月丁香亚洲综合网 | 亚洲男女内射在线播放 | 国产精品国产三级国产专播 | 精品一区二区三区波多野结衣 | 亚洲精品一区三区三区在线观看 | 亚洲综合在线一区二区三区 | 精品一二三区久久aaa片 | 国产精品亚洲一区二区三区喷水 | 男女超爽视频免费播放 | 东京热男人av天堂 | 欧美黑人性暴力猛交喷水 | 亚洲色在线无码国产精品不卡 | 欧美变态另类xxxx | 中文字幕久久久久人妻 | 亚洲欧美日韩成人高清在线一区 | 国产亚洲欧美在线专区 | 亚洲gv猛男gv无码男同 | 中文字幕av日韩精品一区二区 | 亚洲综合无码一区二区三区 | 免费看男女做好爽好硬视频 | 国产精品美女久久久网av | 亚洲熟悉妇女xxx妇女av | 亚洲熟熟妇xxxx | 成年女人永久免费看片 | aⅴ亚洲 日韩 色 图网站 播放 | 4hu四虎永久在线观看 | 久久99精品国产.久久久久 | 日本www一道久久久免费榴莲 | 亚洲国产一区二区三区在线观看 | 中文字幕乱码人妻无码久久 | 国产亚洲欧美在线专区 | 国产成人精品必看 | 久久人人爽人人人人片 | 国精品人妻无码一区二区三区蜜柚 | 色狠狠av一区二区三区 | 午夜精品久久久内射近拍高清 | 亲嘴扒胸摸屁股激烈网站 | 色诱久久久久综合网ywww | 亚洲国产精品美女久久久久 | 亚洲区欧美区综合区自拍区 | 亚洲性无码av中文字幕 | 欧美激情一区二区三区成人 | 国产午夜无码精品免费看 | 精品久久久无码人妻字幂 | 国产无遮挡又黄又爽又色 | 久久熟妇人妻午夜寂寞影院 | 成人免费无码大片a毛片 | 天下第一社区视频www日本 | 国产卡一卡二卡三 | 欧美成人家庭影院 | √天堂中文官网8在线 | 色婷婷久久一区二区三区麻豆 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲熟熟妇xxxx | 在线欧美精品一区二区三区 | 婷婷丁香六月激情综合啪 | 天天躁夜夜躁狠狠是什么心态 | 国产精品久免费的黄网站 | 亚洲精品国产品国语在线观看 | 日本大香伊一区二区三区 | 欧美怡红院免费全部视频 | 99久久久无码国产精品免费 | 久久精品国产日本波多野结衣 | 又紧又大又爽精品一区二区 | 一本久道久久综合狠狠爱 | 国内精品久久毛片一区二区 | 亚洲爆乳精品无码一区二区三区 | 无码人妻精品一区二区三区下载 | 国产人妻精品一区二区三区不卡 | 精品无码国产一区二区三区av | 国产真实伦对白全集 | 亚洲 另类 在线 欧美 制服 | 欧美日韩综合一区二区三区 | 人妻aⅴ无码一区二区三区 | 亚洲精品午夜无码电影网 | 日韩人妻系列无码专区 | 久久婷婷五月综合色国产香蕉 | 高清无码午夜福利视频 | 天天综合网天天综合色 | 午夜福利一区二区三区在线观看 | 国产深夜福利视频在线 | 色窝窝无码一区二区三区色欲 | 精品久久久久久人妻无码中文字幕 | 51国偷自产一区二区三区 | 成人亚洲精品久久久久 | av在线亚洲欧洲日产一区二区 | 国产精品99爱免费视频 | 久久久久se色偷偷亚洲精品av | 在线欧美精品一区二区三区 | 日本护士毛茸茸高潮 | 亚洲熟妇色xxxxx欧美老妇y | 少妇性荡欲午夜性开放视频剧场 | 亚洲精品久久久久久久久久久 | 色情久久久av熟女人妻网站 | 欧美日韩一区二区综合 | 欧美成人免费全部网站 | 天天摸天天碰天天添 | 亚洲乱亚洲乱妇50p | 麻豆md0077饥渴少妇 | 国产熟妇高潮叫床视频播放 | 国产偷国产偷精品高清尤物 | 在线播放免费人成毛片乱码 | 亚洲国产精品成人久久蜜臀 | 午夜嘿嘿嘿影院 | 18禁止看的免费污网站 | 无码人妻精品一区二区三区不卡 | 久久午夜夜伦鲁鲁片无码免费 | 亚洲精品久久久久久一区二区 | 欧美 亚洲 国产 另类 | 无套内谢的新婚少妇国语播放 | 国产精品人人妻人人爽 | 国产精品久久久久久无码 | 日日碰狠狠躁久久躁蜜桃 | 久久99热只有频精品8 | 日韩 欧美 动漫 国产 制服 | 波多野结衣av一区二区全免费观看 | 亚洲小说图区综合在线 | 人妻插b视频一区二区三区 | 亚洲午夜久久久影院 | 欧美人与牲动交xxxx | 97精品国产97久久久久久免费 | 久久久久亚洲精品男人的天堂 | 无码av免费一区二区三区试看 | 日日碰狠狠丁香久燥 | 亚洲一区二区观看播放 | 99精品无人区乱码1区2区3区 | 日韩欧美中文字幕公布 | 性生交大片免费看女人按摩摩 | 在线天堂新版最新版在线8 | 亚洲色大成网站www | av在线亚洲欧洲日产一区二区 | 亚洲毛片av日韩av无码 | 久久久久久亚洲精品a片成人 | 国产精品第一区揄拍无码 | 国产在线精品一区二区三区直播 | 欧美一区二区三区视频在线观看 | 日韩人妻系列无码专区 | 成 人 网 站国产免费观看 | 青草视频在线播放 | 熟女少妇在线视频播放 | 日韩人妻无码一区二区三区久久99 | 色综合久久中文娱乐网 | aa片在线观看视频在线播放 | 无码人妻丰满熟妇区毛片18 | 欧美刺激性大交 | 久久天天躁狠狠躁夜夜免费观看 | 国产av无码专区亚洲a∨毛片 | 又粗又大又硬又长又爽 | 久久无码中文字幕免费影院蜜桃 | 最新国产乱人伦偷精品免费网站 | 亚洲国产欧美国产综合一区 | 女人被男人躁得好爽免费视频 | 小鲜肉自慰网站xnxx | 亚洲中文字幕在线观看 | 亚洲日本一区二区三区在线 | 欧洲欧美人成视频在线 | 国产莉萝无码av在线播放 | 少妇的肉体aa片免费 | 99久久人妻精品免费二区 | 丰满少妇女裸体bbw | 国产精品理论片在线观看 | 人妻插b视频一区二区三区 | 久久综合久久自在自线精品自 | 在线成人www免费观看视频 | 亚洲欧美精品伊人久久 | 天天综合网天天综合色 | 午夜肉伦伦影院 | 99久久99久久免费精品蜜桃 | 久久综合给合久久狠狠狠97色 | 日本乱偷人妻中文字幕 | 一个人免费观看的www视频 | 国产色在线 | 国产 | 国产真实夫妇视频 | 一本一道久久综合久久 | 成人欧美一区二区三区黑人 | 亚洲aⅴ无码成人网站国产app | 内射老妇bbwx0c0ck | 人妻有码中文字幕在线 | 国产成人精品三级麻豆 | 国产午夜福利亚洲第一 | 亚洲精品国偷拍自产在线观看蜜桃 | 2020最新国产自产精品 | 亚洲精品午夜无码电影网 | 久久无码中文字幕免费影院蜜桃 | 黑人巨大精品欧美黑寡妇 | 婷婷综合久久中文字幕蜜桃三电影 | 午夜精品久久久久久久久 | 成在人线av无码免观看麻豆 | 精品午夜福利在线观看 | 内射欧美老妇wbb | 无码人妻精品一区二区三区不卡 | 无码国模国产在线观看 | 无码帝国www无码专区色综合 | 激情人妻另类人妻伦 | 久久久久久久久888 | 亚洲日韩一区二区三区 | 欧美精品国产综合久久 | 2020久久香蕉国产线看观看 | 久久精品女人的天堂av | 日韩人妻无码一区二区三区久久99 | 久久久久se色偷偷亚洲精品av | 久久亚洲精品成人无码 | 久久亚洲日韩精品一区二区三区 | 国产xxx69麻豆国语对白 | 久久久国产精品无码免费专区 | 国产乱人偷精品人妻a片 | 精品无码一区二区三区的天堂 | 久久综合九色综合97网 | 日本va欧美va欧美va精品 | 一二三四在线观看免费视频 | 中文字幕无码免费久久99 | 日韩精品一区二区av在线 | 黑森林福利视频导航 | 欧美人妻一区二区三区 | аⅴ资源天堂资源库在线 | 午夜成人1000部免费视频 | 中文字幕av无码一区二区三区电影 | 任你躁国产自任一区二区三区 | аⅴ资源天堂资源库在线 | 精品久久综合1区2区3区激情 | 国产精品第一国产精品 | 欧美兽交xxxx×视频 | 久久久久成人精品免费播放动漫 | 红桃av一区二区三区在线无码av | 日本饥渴人妻欲求不满 | 国产精品人妻一区二区三区四 | 精品人妻人人做人人爽 | 岛国片人妻三上悠亚 | 美女黄网站人色视频免费国产 | 亚洲性无码av中文字幕 | 国产 浪潮av性色四虎 | 国产在热线精品视频 | 中文字幕av伊人av无码av | 色 综合 欧美 亚洲 国产 | 国产精品内射视频免费 | 久久久久成人片免费观看蜜芽 | 给我免费的视频在线观看 | 最新国产麻豆aⅴ精品无码 | 少妇被黑人到高潮喷出白浆 | 人人超人人超碰超国产 | 亚洲国产av精品一区二区蜜芽 | 国产精品久久久久久久9999 | 亚洲精品美女久久久久久久 | 永久免费精品精品永久-夜色 | 国产农村妇女高潮大叫 | 亚洲人成影院在线无码按摩店 | 人人妻人人澡人人爽人人精品浪潮 | 国产99久久精品一区二区 | 欧美激情内射喷水高潮 | 亚洲国产精品无码久久久久高潮 | 国产精品对白交换视频 | 色婷婷欧美在线播放内射 | 扒开双腿吃奶呻吟做受视频 | 少妇被粗大的猛进出69影院 | 久久久久亚洲精品中文字幕 | 国产精品亚洲lv粉色 | 国产极品美女高潮无套在线观看 | 欧美午夜特黄aaaaaa片 | 亚洲精品一区三区三区在线观看 | 免费播放一区二区三区 | 久久亚洲国产成人精品性色 | 日本饥渴人妻欲求不满 | 亚洲精品午夜无码电影网 | 大乳丰满人妻中文字幕日本 | 成人免费视频一区二区 | 亚洲中文字幕在线观看 | 97精品国产97久久久久久免费 | 欧美xxxx黑人又粗又长 | 欧美freesex黑人又粗又大 | 99久久99久久免费精品蜜桃 | 日日干夜夜干 | 精品人妻人人做人人爽 | 中文无码成人免费视频在线观看 | 国产av无码专区亚洲awww | 成人三级无码视频在线观看 | 又粗又大又硬毛片免费看 | 在教室伦流澡到高潮hnp视频 | 久久无码中文字幕免费影院蜜桃 | 无码成人精品区在线观看 | 午夜福利试看120秒体验区 | 夜夜高潮次次欢爽av女 | 色综合久久久久综合一本到桃花网 | 亚洲综合在线一区二区三区 | 国产乱人无码伦av在线a | 亚洲精品国产a久久久久久 | 精品人人妻人人澡人人爽人人 | 国产sm调教视频在线观看 | 精品国精品国产自在久国产87 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 天天躁夜夜躁狠狠是什么心态 | 亚洲色欲色欲欲www在线 | 无码人中文字幕 | 女人被男人躁得好爽免费视频 | 精品久久久无码人妻字幂 | 伊在人天堂亚洲香蕉精品区 | 天干天干啦夜天干天2017 | 伊在人天堂亚洲香蕉精品区 | 熟妇激情内射com | 国产绳艺sm调教室论坛 | 久久人妻内射无码一区三区 | 天天躁日日躁狠狠躁免费麻豆 | 国产精品va在线播放 | 久久zyz资源站无码中文动漫 | 国色天香社区在线视频 | 亚洲国产高清在线观看视频 | 亚洲成av人片天堂网无码】 | 成人av无码一区二区三区 | 无码中文字幕色专区 | 美女极度色诱视频国产 | 人人妻人人澡人人爽欧美一区 | 又粗又大又硬又长又爽 | 国产乱人伦av在线无码 | 日本丰满熟妇videos | 装睡被陌生人摸出水好爽 | 国产精品亚洲专区无码不卡 | 亚洲熟熟妇xxxx | 中文字幕无码av波多野吉衣 | 久久亚洲日韩精品一区二区三区 | 亚洲精品一区二区三区大桥未久 | 国产精品a成v人在线播放 | 亚洲成色www久久网站 | 欧美日韩色另类综合 | 午夜肉伦伦影院 | 夜精品a片一区二区三区无码白浆 | 国产手机在线αⅴ片无码观看 | 无码av最新清无码专区吞精 | 国产一区二区三区四区五区加勒比 | 亚洲 另类 在线 欧美 制服 | 99久久人妻精品免费一区 | 自拍偷自拍亚洲精品10p | 无码播放一区二区三区 | 欧美性生交活xxxxxdddd | 永久免费观看美女裸体的网站 | 欧美国产日产一区二区 | 蜜桃臀无码内射一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 欧美性猛交内射兽交老熟妇 | 娇妻被黑人粗大高潮白浆 | 在线成人www免费观看视频 | 国产美女极度色诱视频www | 88国产精品欧美一区二区三区 | 国产成人精品视频ⅴa片软件竹菊 | 成人一在线视频日韩国产 | 帮老师解开蕾丝奶罩吸乳网站 | 中国女人内谢69xxxxxa片 | 日本大香伊一区二区三区 | 国产精品无码久久av | 久久亚洲精品中文字幕无男同 | 色欲av亚洲一区无码少妇 | 午夜理论片yy44880影院 | 国产午夜精品一区二区三区嫩草 | 国产精品久久久 | 国产美女极度色诱视频www | 日韩人妻系列无码专区 | 骚片av蜜桃精品一区 | 一本久久伊人热热精品中文字幕 | 欧美精品国产综合久久 | 欧美日韩色另类综合 | 国产成人精品一区二区在线小狼 | 国产成人综合色在线观看网站 | 国产婷婷色一区二区三区在线 | 99久久久无码国产精品免费 | 丁香啪啪综合成人亚洲 | 久久国产劲爆∧v内射 | 色综合久久久无码网中文 | 精品国产乱码久久久久乱码 | 成人女人看片免费视频放人 | 国产精品欧美成人 | 国产情侣作爱视频免费观看 | 色婷婷欧美在线播放内射 | 自拍偷自拍亚洲精品被多人伦好爽 | 中文字幕无码av激情不卡 | 欧美精品无码一区二区三区 | 成人免费视频在线观看 | 久久综合给久久狠狠97色 | 国产亚洲欧美日韩亚洲中文色 | 性欧美熟妇videofreesex | 东北女人啪啪对白 | 午夜性刺激在线视频免费 | 天下第一社区视频www日本 | 国产精品对白交换视频 | 97久久国产亚洲精品超碰热 | 国产人妻精品午夜福利免费 | 亚洲国产精品久久人人爱 | 人人妻人人澡人人爽欧美一区九九 | 欧美老妇与禽交 | 粉嫩少妇内射浓精videos | 国产免费久久精品国产传媒 | 无码精品国产va在线观看dvd | 成人性做爰aaa片免费看不忠 | 国产综合色产在线精品 | 亚洲国产精品无码久久久久高潮 | 欧美日韩一区二区三区自拍 | 麻豆md0077饥渴少妇 | 亚洲区小说区激情区图片区 | 高清不卡一区二区三区 | 成人精品天堂一区二区三区 | 98国产精品综合一区二区三区 | √天堂中文官网8在线 | 欧美大屁股xxxxhd黑色 | 国产乱人偷精品人妻a片 | 亚洲另类伦春色综合小说 | 亚洲 日韩 欧美 成人 在线观看 | 欧美精品无码一区二区三区 | 高清国产亚洲精品自在久久 | 狠狠亚洲超碰狼人久久 | 中文字幕av无码一区二区三区电影 | 熟妇人妻无码xxx视频 | av香港经典三级级 在线 | 伊人色综合久久天天小片 | 无码福利日韩神码福利片 | 中文字幕色婷婷在线视频 | 377p欧洲日本亚洲大胆 | 亚洲一区二区三区含羞草 | 亚洲色在线无码国产精品不卡 | 国产超碰人人爽人人做人人添 | 天堂亚洲免费视频 | 欧美丰满熟妇xxxx性ppx人交 | 麻豆人妻少妇精品无码专区 | 亚洲成a人片在线观看无码 | 99riav国产精品视频 | 99久久精品国产一区二区蜜芽 | www国产亚洲精品久久久日本 | 亚洲午夜福利在线观看 | 亚洲国产欧美国产综合一区 | 日日干夜夜干 | 中文字幕无码免费久久9一区9 | 狂野欧美性猛xxxx乱大交 | 在线观看欧美一区二区三区 | 丝袜 中出 制服 人妻 美腿 | 搡女人真爽免费视频大全 | 精品国产av色一区二区深夜久久 | 无码乱肉视频免费大全合集 | 久久人人爽人人人人片 | 国产成人综合美国十次 | 377p欧洲日本亚洲大胆 | 亚洲精品国产a久久久久久 | 日日摸日日碰夜夜爽av | 狠狠色噜噜狠狠狠狠7777米奇 | 麻豆果冻传媒2021精品传媒一区下载 | 国产9 9在线 | 中文 | 人妻夜夜爽天天爽三区 | 又大又紧又粉嫩18p少妇 | 夜夜躁日日躁狠狠久久av | 国产午夜福利100集发布 | 欧美三级不卡在线观看 | 精品人人妻人人澡人人爽人人 | 国产三级精品三级男人的天堂 | 国产无遮挡又黄又爽免费视频 | 欧美xxxx黑人又粗又长 | 欧美丰满熟妇xxxx性ppx人交 | 99久久精品日本一区二区免费 | 亚洲熟妇色xxxxx亚洲 | 午夜精品久久久内射近拍高清 | 少妇无码一区二区二三区 | 亚洲精品午夜无码电影网 | 清纯唯美经典一区二区 | 国语精品一区二区三区 | 麻豆果冻传媒2021精品传媒一区下载 | 2019午夜福利不卡片在线 | 亚欧洲精品在线视频免费观看 | 黑人玩弄人妻中文在线 | 国产精品丝袜黑色高跟鞋 | 人人爽人人澡人人人妻 | 四虎永久在线精品免费网址 | 国产精品久久久久9999小说 | 日韩av无码一区二区三区 | 国产精品无码成人午夜电影 | 伊人久久大香线蕉av一区二区 | 欧美精品无码一区二区三区 | 久久午夜无码鲁丝片秋霞 | 国产suv精品一区二区五 | 欧美性猛交xxxx富婆 | 亚洲欧美精品aaaaaa片 | 美女黄网站人色视频免费国产 | 国产激情无码一区二区 | 少妇久久久久久人妻无码 | 性欧美牲交在线视频 | 精品夜夜澡人妻无码av蜜桃 | 亚洲熟女一区二区三区 | 2019nv天堂香蕉在线观看 | 久久人人爽人人爽人人片av高清 | 国产办公室秘书无码精品99 | 蜜臀aⅴ国产精品久久久国产老师 | 久久久久久av无码免费看大片 | 国产成人久久精品流白浆 | 18禁止看的免费污网站 | 亚洲日韩精品欧美一区二区 | 亚洲成av人片天堂网无码】 | 欧美日韩人成综合在线播放 | 青青青手机频在线观看 | 人人妻人人澡人人爽欧美一区九九 | 国产av人人夜夜澡人人爽麻豆 | 久久亚洲国产成人精品性色 | 久久人人97超碰a片精品 | 好男人www社区 | 人妻少妇精品久久 | 国产精品人妻一区二区三区四 | 亚洲中文无码av永久不收费 | 亚洲人成网站在线播放942 | 女人高潮内射99精品 | 亚洲成av人影院在线观看 | 日本丰满护士爆乳xxxx | 最新国产麻豆aⅴ精品无码 | 在线亚洲高清揄拍自拍一品区 | 久久精品国产精品国产精品污 | 一本一道久久综合久久 | 亚洲日韩一区二区三区 | 精品成人av一区二区三区 | 曰韩少妇内射免费播放 | 又大又硬又黄的免费视频 | 欧美大屁股xxxxhd黑色 | 久久天天躁狠狠躁夜夜免费观看 | 日本又色又爽又黄的a片18禁 | 日本丰满熟妇videos | 国产成人精品一区二区在线小狼 | 无码人妻丰满熟妇区毛片18 | 国产人成高清在线视频99最全资源 | 久久97精品久久久久久久不卡 | 人妻少妇精品无码专区二区 | 国产成人无码午夜视频在线观看 | 九月婷婷人人澡人人添人人爽 | 亚洲日韩乱码中文无码蜜桃臀网站 | 任你躁国产自任一区二区三区 | 正在播放东北夫妻内射 | 99视频精品全部免费免费观看 | 久久99久久99精品中文字幕 | 国产精品久久久久无码av色戒 | 久久99精品久久久久婷婷 | 丰满少妇高潮惨叫视频 | 国产精品18久久久久久麻辣 | 狠狠噜狠狠狠狠丁香五月 | 97精品国产97久久久久久免费 | 亚洲精品一区三区三区在线观看 | 国产精品美女久久久久av爽李琼 | 成 人影片 免费观看 | 久9re热视频这里只有精品 | 男女爱爱好爽视频免费看 | 国产又爽又猛又粗的视频a片 | 又湿又紧又大又爽a视频国产 | 狂野欧美性猛交免费视频 | 高清不卡一区二区三区 | 精品一二三区久久aaa片 | 欧美第一黄网免费网站 | 丰满肥臀大屁股熟妇激情视频 | 国产又粗又硬又大爽黄老大爷视 | 天堂а√在线中文在线 | 暴力强奷在线播放无码 | 国产精品亚洲一区二区三区喷水 | 国内少妇偷人精品视频免费 | 熟女少妇人妻中文字幕 | 人妻体内射精一区二区三四 | 老子影院午夜伦不卡 | 成人精品一区二区三区中文字幕 | 欧美三级不卡在线观看 | 久久五月精品中文字幕 | 精品一区二区不卡无码av | 欧美高清在线精品一区 | 久久zyz资源站无码中文动漫 | 成人欧美一区二区三区 | 一本大道久久东京热无码av | 国产综合色产在线精品 | 人妻无码αv中文字幕久久琪琪布 | 久久人妻内射无码一区三区 | 亚洲狠狠婷婷综合久久 | 久久精品国产大片免费观看 | 成人无码精品一区二区三区 | 97久久国产亚洲精品超碰热 | 国产网红无码精品视频 | 欧美刺激性大交 | 伊人久久大香线焦av综合影院 | 亚洲人成无码网www | 天堂无码人妻精品一区二区三区 | 久久久久久a亚洲欧洲av冫 | 在线观看国产一区二区三区 | 国产精品99久久精品爆乳 | 国产精品久久久久久无码 | 国产特级毛片aaaaaa高潮流水 | 久久亚洲精品中文字幕无男同 | 亚洲国产av精品一区二区蜜芽 | 国产网红无码精品视频 | 狠狠色色综合网站 | 精品国产aⅴ无码一区二区 | 久久人人爽人人人人片 | 久久精品人妻少妇一区二区三区 | 亚洲精品美女久久久久久久 | 国产成人无码午夜视频在线观看 | 亚洲日本在线电影 | 亚洲精品中文字幕久久久久 | 欧美自拍另类欧美综合图片区 | 人妻体内射精一区二区三四 | 欧美怡红院免费全部视频 | 理论片87福利理论电影 | 国产高潮视频在线观看 | 国产午夜福利亚洲第一 | 少妇性荡欲午夜性开放视频剧场 | 久久天天躁夜夜躁狠狠 | 亚无码乱人伦一区二区 | 亚洲色欲久久久综合网东京热 | 精品人妻人人做人人爽 | 久久精品中文字幕一区 | 国色天香社区在线视频 | 国产在线精品一区二区高清不卡 | 一本色道久久综合亚洲精品不卡 | 内射老妇bbwx0c0ck | 老头边吃奶边弄进去呻吟 | 激情内射亚州一区二区三区爱妻 | 久久精品女人的天堂av | 天堂亚洲免费视频 | 丰满护士巨好爽好大乳 | 久久精品丝袜高跟鞋 | 中文字幕乱码中文乱码51精品 | 亚洲一区av无码专区在线观看 | 国内少妇偷人精品视频免费 | 国产精品高潮呻吟av久久 | 国产精品办公室沙发 | 国产sm调教视频在线观看 | 国产在线精品一区二区高清不卡 | 国产精品国产三级国产专播 | 思思久久99热只有频精品66 | 亚洲日韩精品欧美一区二区 | 久久精品无码一区二区三区 | 窝窝午夜理论片影院 | 熟妇人妻无乱码中文字幕 | 久久综合给合久久狠狠狠97色 | 麻豆国产人妻欲求不满 | 久久精品女人天堂av免费观看 | 成人免费视频视频在线观看 免费 | 无遮无挡爽爽免费视频 | 1000部夫妻午夜免费 | 国产成人无码av一区二区 | 亚洲中文无码av永久不收费 | 国产三级久久久精品麻豆三级 | 国产无遮挡吃胸膜奶免费看 | 亚洲无人区一区二区三区 | a国产一区二区免费入口 | 亚洲 另类 在线 欧美 制服 | 色婷婷综合中文久久一本 | 亚洲综合久久一区二区 | 三级4级全黄60分钟 | 色欲av亚洲一区无码少妇 | 熟女少妇在线视频播放 | 午夜精品久久久内射近拍高清 | 亚洲gv猛男gv无码男同 | 国产在线一区二区三区四区五区 | av人摸人人人澡人人超碰下载 | 欧美亚洲国产一区二区三区 | 任你躁国产自任一区二区三区 | 久久精品国产一区二区三区 | 国产黄在线观看免费观看不卡 | 国内精品久久毛片一区二区 | 日本精品少妇一区二区三区 | 午夜精品久久久久久久 | 伊人久久婷婷五月综合97色 | 国产熟妇高潮叫床视频播放 | 自拍偷自拍亚洲精品被多人伦好爽 | 无码福利日韩神码福利片 | 中文字幕乱码人妻二区三区 | 一区二区三区高清视频一 | 97夜夜澡人人双人人人喊 | 欧美人与禽zoz0性伦交 | 人人澡人摸人人添 | 免费无码一区二区三区蜜桃大 | 女人被爽到呻吟gif动态图视看 | 亚洲午夜福利在线观看 | 亚洲精品综合五月久久小说 | 亚洲色无码一区二区三区 | 精品日本一区二区三区在线观看 | 国产真实乱对白精彩久久 | 日本高清一区免费中文视频 | 蜜桃视频韩日免费播放 | 超碰97人人射妻 | 小泽玛莉亚一区二区视频在线 | 成人精品视频一区二区三区尤物 | 日本一区二区三区免费播放 | 午夜时刻免费入口 | 国精品人妻无码一区二区三区蜜柚 | 亚洲码国产精品高潮在线 | 亚洲精品综合一区二区三区在线 | 无码一区二区三区在线观看 | 国产精品无码永久免费888 | 国产猛烈高潮尖叫视频免费 | 亚洲色欲久久久综合网东京热 | 三上悠亚人妻中文字幕在线 | 国产精品久久久久久久9999 | 久久精品国产日本波多野结衣 | 真人与拘做受免费视频 | 曰韩无码二三区中文字幕 | 亚洲熟悉妇女xxx妇女av | 久久精品国产99精品亚洲 | 色五月五月丁香亚洲综合网 | 亚洲一区二区三区 | 人妻尝试又大又粗久久 | 99久久精品国产一区二区蜜芽 | 人妻天天爽夜夜爽一区二区 | 纯爱无遮挡h肉动漫在线播放 | 日韩少妇内射免费播放 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 精品成在人线av无码免费看 | 97夜夜澡人人爽人人喊中国片 | 中文字幕无码日韩欧毛 | 九一九色国产 | 高清国产亚洲精品自在久久 | 国产真实夫妇视频 | 国产亚洲精品久久久久久 | 欧美精品无码一区二区三区 | 无码乱肉视频免费大全合集 | 亚洲熟妇色xxxxx欧美老妇 | 国产精品第一国产精品 | 亚洲中文字幕va福利 | 精品无人国产偷自产在线 | 国产精品久久久久9999小说 | 一二三四社区在线中文视频 | 扒开双腿吃奶呻吟做受视频 | 午夜肉伦伦影院 | 老熟女重囗味hdxx69 | 亚洲欧洲日本综合aⅴ在线 | 亚洲综合无码一区二区三区 | 女高中生第一次破苞av | 国产69精品久久久久app下载 | 人人爽人人澡人人高潮 | 激情亚洲一区国产精品 | 国产又爽又猛又粗的视频a片 | 国产午夜亚洲精品不卡 | 国产精品无码一区二区三区不卡 | 午夜无码人妻av大片色欲 | 亚洲日韩av一区二区三区四区 | 高清国产亚洲精品自在久久 | 久久午夜无码鲁丝片午夜精品 | 成人精品一区二区三区中文字幕 | 久久久国产一区二区三区 | 午夜精品久久久内射近拍高清 | 牛和人交xxxx欧美 | 香港三级日本三级妇三级 | 中文字幕乱码中文乱码51精品 | 国产精品无码永久免费888 | www国产精品内射老师 | 中文字幕乱妇无码av在线 | 77777熟女视频在线观看 а天堂中文在线官网 | 国产亚洲欧美日韩亚洲中文色 | 成年美女黄网站色大免费全看 | 亚洲人亚洲人成电影网站色 | 国产精品99久久精品爆乳 | 18黄暴禁片在线观看 | 男女爱爱好爽视频免费看 | 国产网红无码精品视频 | 中文字幕精品av一区二区五区 | 好爽又高潮了毛片免费下载 | 久久精品国产一区二区三区肥胖 | 国产99久久精品一区二区 | aⅴ亚洲 日韩 色 图网站 播放 | 中文字幕亚洲情99在线 | 扒开双腿疯狂进出爽爽爽视频 | 久久久久久久人妻无码中文字幕爆 | 在线播放亚洲第一字幕 | 亚洲欧美日韩综合久久久 | 夫妻免费无码v看片 | 国产午夜精品一区二区三区嫩草 | 国产一区二区三区精品视频 | 亚洲一区av无码专区在线观看 | 久久精品国产亚洲精品 | 亚洲aⅴ无码成人网站国产app | 又粗又大又硬毛片免费看 | 亲嘴扒胸摸屁股激烈网站 | 久久久久久久久888 | 亚洲人成网站免费播放 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 精品国偷自产在线视频 | 东京热无码av男人的天堂 | 亚洲狠狠婷婷综合久久 | 亚洲热妇无码av在线播放 | 99久久婷婷国产综合精品青草免费 | 国内揄拍国内精品少妇国语 | 久久亚洲精品中文字幕无男同 | 久久久久久久久蜜桃 | 中文字幕无线码免费人妻 | 天天躁日日躁狠狠躁免费麻豆 | 99久久精品国产一区二区蜜芽 | 又大又紧又粉嫩18p少妇 | 99精品国产综合久久久久五月天 | 亚洲国精产品一二二线 | 免费播放一区二区三区 | 国产精品99久久精品爆乳 | 欧美老人巨大xxxx做受 | 中文字幕乱码人妻无码久久 | 国产精品高潮呻吟av久久 | 99久久人妻精品免费二区 | 亚洲人成影院在线无码按摩店 | 精品亚洲成av人在线观看 | 午夜精品久久久内射近拍高清 | 亚洲一区二区三区无码久久 | 国产9 9在线 | 中文 | 精品欧美一区二区三区久久久 | 久久www免费人成人片 | 国产黄在线观看免费观看不卡 | 日本xxxx色视频在线观看免费 | 麻豆国产人妻欲求不满谁演的 | 狠狠色噜噜狠狠狠狠7777米奇 | 高清不卡一区二区三区 | 天堂久久天堂av色综合 | 夜夜夜高潮夜夜爽夜夜爰爰 | 欧美国产日韩久久mv | 久久www免费人成人片 | 国产熟妇另类久久久久 | 国产精品99久久精品爆乳 | 亚洲人成影院在线观看 | 99久久人妻精品免费二区 | 97夜夜澡人人爽人人喊中国片 | 国产无遮挡又黄又爽免费视频 | 四虎永久在线精品免费网址 | 狠狠噜狠狠狠狠丁香五月 | 亚洲成a人一区二区三区 | 澳门永久av免费网站 | 四十如虎的丰满熟妇啪啪 | 5858s亚洲色大成网站www | 激情亚洲一区国产精品 | 国产美女精品一区二区三区 | 国产三级久久久精品麻豆三级 | 九月婷婷人人澡人人添人人爽 | 国产成人无码专区 | 对白脏话肉麻粗话av | 伊人色综合久久天天小片 | 色一情一乱一伦一视频免费看 | 免费人成在线观看网站 | 亚洲精品www久久久 | 亚洲熟熟妇xxxx | 精品国产aⅴ无码一区二区 | 色婷婷欧美在线播放内射 | 少妇性l交大片 | 亚洲aⅴ无码成人网站国产app | 蜜桃视频插满18在线观看 | 亚洲一区av无码专区在线观看 | 偷窥日本少妇撒尿chinese | 樱花草在线社区www | 中文字幕无码乱人伦 | 大地资源中文第3页 | 成人无码视频在线观看网站 | 日日橹狠狠爱欧美视频 | 亚洲欧美日韩国产精品一区二区 | 午夜精品久久久久久久 | 国产午夜手机精彩视频 | 少妇被黑人到高潮喷出白浆 | 日韩欧美成人免费观看 | 国产精品高潮呻吟av久久4虎 | 久久久无码中文字幕久... | 超碰97人人做人人爱少妇 | 97无码免费人妻超级碰碰夜夜 | 欧美人与禽猛交狂配 | 四虎国产精品免费久久 | 美女毛片一区二区三区四区 | 亚洲精品一区二区三区婷婷月 | 小sao货水好多真紧h无码视频 | 少妇被黑人到高潮喷出白浆 | 高中生自慰www网站 | 精品久久久无码中文字幕 | 国产乱人伦偷精品视频 | 色狠狠av一区二区三区 | 性欧美videos高清精品 | 国产精品毛多多水多 | 久久精品国产大片免费观看 | 欧美 亚洲 国产 另类 | 免费观看的无遮挡av | 亚洲精品国产第一综合99久久 | 少妇高潮一区二区三区99 | 中文字幕人妻无码一夲道 | 国产综合在线观看 | 亚洲 欧美 激情 小说 另类 | 国产艳妇av在线观看果冻传媒 | 领导边摸边吃奶边做爽在线观看 | 亚洲国精产品一二二线 | 激情内射亚州一区二区三区爱妻 | 亚洲国产精品美女久久久久 | 丁香啪啪综合成人亚洲 | 欧洲美熟女乱又伦 | 国产亚洲人成在线播放 | 欧美精品免费观看二区 | 午夜不卡av免费 一本久久a久久精品vr综合 | 亚洲成在人网站无码天堂 | 亚洲无人区午夜福利码高清完整版 | 精品国产aⅴ无码一区二区 | 国产 精品 自在自线 | 日本精品人妻无码免费大全 | a在线观看免费网站大全 | 日韩精品一区二区av在线 | 午夜无码区在线观看 | 国产xxx69麻豆国语对白 | 日韩精品乱码av一区二区 | 国产成人无码区免费内射一片色欲 | 亚洲欧美综合区丁香五月小说 | 色狠狠av一区二区三区 | 中文字幕无码av波多野吉衣 | 丰满肥臀大屁股熟妇激情视频 | 亚洲а∨天堂久久精品2021 | 色综合久久久久综合一本到桃花网 | 中文字幕无码免费久久9一区9 | 爽爽影院免费观看 | 国产麻豆精品精东影业av网站 | 美女张开腿让人桶 | 人人妻人人澡人人爽欧美精品 | 性欧美videos高清精品 | 精品aⅴ一区二区三区 | 国产精华av午夜在线观看 | 丰满肥臀大屁股熟妇激情视频 | 我要看www免费看插插视频 | 亚洲国产精品一区二区第一页 | 一本久道久久综合婷婷五月 | 国产精品久久久一区二区三区 | 香蕉久久久久久av成人 | 一个人免费观看的www视频 | 日日摸日日碰夜夜爽av | 中文字幕av日韩精品一区二区 | 日日躁夜夜躁狠狠躁 | 国产亚洲精品精品国产亚洲综合 | 色 综合 欧美 亚洲 国产 | 国产香蕉97碰碰久久人人 | 亚洲国产精品一区二区美利坚 | 少妇性荡欲午夜性开放视频剧场 | 丰满岳乱妇在线观看中字无码 | 国产精品国产自线拍免费软件 | 毛片内射-百度 | 久久精品一区二区三区四区 | 亚洲国产av美女网站 | 天天燥日日燥 | 免费人成网站视频在线观看 | 欧美野外疯狂做受xxxx高潮 | 小sao货水好多真紧h无码视频 | 老司机亚洲精品影院 | 亚洲精品综合一区二区三区在线 | 奇米影视888欧美在线观看 | 日本免费一区二区三区最新 | 亚洲欧美色中文字幕在线 | 亚洲爆乳大丰满无码专区 | 亚洲欧美精品aaaaaa片 | 国产人妻人伦精品1国产丝袜 | 2019nv天堂香蕉在线观看 | 又色又爽又黄的美女裸体网站 | 精品无码国产一区二区三区av | 亚拍精品一区二区三区探花 | 妺妺窝人体色www在线小说 | 欧美35页视频在线观看 | 国产福利视频一区二区 | 久久99精品国产.久久久久 | 欧美日韩视频无码一区二区三 | 国产精品毛片一区二区 | 婷婷色婷婷开心五月四房播播 | 国内揄拍国内精品人妻 | 爆乳一区二区三区无码 | 成熟女人特级毛片www免费 | 久久久无码中文字幕久... | 亚洲啪av永久无码精品放毛片 | 一区二区三区高清视频一 | 亚洲人成影院在线观看 | 一区二区三区高清视频一 | 极品嫩模高潮叫床 | 国产精品毛片一区二区 | 国产无av码在线观看 | 东北女人啪啪对白 | 精品一二三区久久aaa片 | 国产精品无码mv在线观看 | 在线精品亚洲一区二区 | 色综合久久久久综合一本到桃花网 | 无码精品国产va在线观看dvd | 人妻中文无码久热丝袜 | 色一情一乱一伦 | 久久天天躁夜夜躁狠狠 | 国产激情无码一区二区app | 99久久婷婷国产综合精品青草免费 | 九月婷婷人人澡人人添人人爽 | 一区二区三区高清视频一 | 亚洲国产精品久久人人爱 | а天堂中文在线官网 | 55夜色66夜色国产精品视频 | 大屁股大乳丰满人妻 | 亚洲成色在线综合网站 | 亚洲精品久久久久avwww潮水 | 精品一区二区三区无码免费视频 | 男女性色大片免费网站 | 亚洲自偷精品视频自拍 | 欧美丰满熟妇xxxx性ppx人交 | 黑人粗大猛烈进出高潮视频 | 久久这里只有精品视频9 | 国产香蕉97碰碰久久人人 | 7777奇米四色成人眼影 | 亚洲欧美精品伊人久久 | 欧美日韩精品 | 国内丰满熟女出轨videos | 高清无码午夜福利视频 | 国产日产欧产精品精品app | 99久久精品国产一区二区蜜芽 | 国产成人无码区免费内射一片色欲 | 人人妻人人澡人人爽欧美一区九九 | 伊人色综合久久天天小片 | 国产办公室秘书无码精品99 | 最近免费中文字幕中文高清百度 | 午夜精品一区二区三区的区别 | аⅴ资源天堂资源库在线 | 在线观看国产午夜福利片 | 色欲久久久天天天综合网精品 | 亚洲s码欧洲m码国产av | 亚洲国产精品无码久久久久高潮 | 精品乱子伦一区二区三区 | 妺妺窝人体色www在线小说 | 狂野欧美性猛交免费视频 | 奇米影视7777久久精品人人爽 | 男女性色大片免费网站 | 亚洲一区二区三区香蕉 | 国产乱子伦视频在线播放 | 国产av人人夜夜澡人人爽麻豆 | 大地资源中文第3页 | 亚洲日韩乱码中文无码蜜桃臀网站 | 精品久久综合1区2区3区激情 | 国产成人精品无码播放 | 无码人妻av免费一区二区三区 | 无码吃奶揉捏奶头高潮视频 | 久久亚洲日韩精品一区二区三区 | 亚洲日韩精品欧美一区二区 | 久久人人爽人人爽人人片av高清 | 免费人成在线视频无码 | 人人爽人人澡人人人妻 | 女人被男人躁得好爽免费视频 | 国产精品久免费的黄网站 | 亚洲色欲色欲欲www在线 | 国产亚洲精品久久久久久久久动漫 | 中文字幕av伊人av无码av | 无码中文字幕色专区 | 国产综合在线观看 | 中文字幕av日韩精品一区二区 | 国产精品亚洲а∨无码播放麻豆 | 国产精品人人妻人人爽 | 无套内射视频囯产 | 黑人玩弄人妻中文在线 | 51国偷自产一区二区三区 | 国产人成高清在线视频99最全资源 | 欧美日韩一区二区免费视频 | 午夜熟女插插xx免费视频 | 国产亚洲人成在线播放 | 国内综合精品午夜久久资源 | 人妻无码久久精品人妻 | 久久精品人妻少妇一区二区三区 | 丰满岳乱妇在线观看中字无码 | 欧美人与善在线com | 亚洲色偷偷男人的天堂 | 久久97精品久久久久久久不卡 | 奇米影视888欧美在线观看 | 激情人妻另类人妻伦 | 午夜免费福利小电影 | 午夜理论片yy44880影院 | 精品偷拍一区二区三区在线看 | 蜜臀av在线播放 久久综合激激的五月天 | 99久久精品午夜一区二区 | 国产精品多人p群无码 | 国产精品亚洲一区二区三区喷水 | 午夜精品久久久内射近拍高清 | 少妇性俱乐部纵欲狂欢电影 | 久久久精品人妻久久影视 | 国产精品免费大片 | 天堂а√在线地址中文在线 | 久久亚洲精品中文字幕无男同 | 大肉大捧一进一出好爽视频 | 女人色极品影院 | 97无码免费人妻超级碰碰夜夜 | 成 人 免费观看网站 | 熟女俱乐部五十路六十路av | 亚洲欧美综合区丁香五月小说 | 蜜臀aⅴ国产精品久久久国产老师 | 精品一区二区三区波多野结衣 | 亚洲精品无码人妻无码 | 无码乱肉视频免费大全合集 | 日韩精品一区二区av在线 | 欧美日韩在线亚洲综合国产人 | 人妻互换免费中文字幕 | 女人色极品影院 | 亚洲啪av永久无码精品放毛片 | 久久成人a毛片免费观看网站 | 六十路熟妇乱子伦 | 兔费看少妇性l交大片免费 | 国产内射爽爽大片视频社区在线 | 99精品视频在线观看免费 | 熟妇激情内射com | 欧美日韩人成综合在线播放 | 久久精品国产一区二区三区肥胖 | 国产乱人伦偷精品视频 | 国产一区二区三区四区五区加勒比 | 国产精品无码一区二区三区不卡 | 76少妇精品导航 | 强开小婷嫩苞又嫩又紧视频 | 欧美成人午夜精品久久久 | 亚洲一区二区三区在线观看网站 | 亚洲精品久久久久久一区二区 | 无码福利日韩神码福利片 | 永久黄网站色视频免费直播 | 国产成人无码专区 | 少妇无码av无码专区在线观看 | 国产色在线 | 国产 | 国产三级久久久精品麻豆三级 | 性欧美大战久久久久久久 | 熟妇人妻激情偷爽文 | 精品一区二区三区无码免费视频 | 亚洲一区av无码专区在线观看 | 国产精品永久免费视频 | 亚洲狠狠色丁香婷婷综合 | 亚欧洲精品在线视频免费观看 | 午夜无码人妻av大片色欲 | 一本久久a久久精品vr综合 | 亚洲精品www久久久 | 久久人人爽人人人人片 | 99久久99久久免费精品蜜桃 | 中文字幕中文有码在线 | 欧美丰满老熟妇xxxxx性 | 亚洲狠狠婷婷综合久久 | 久久综合色之久久综合 | 亚洲精品一区二区三区在线观看 | 国产三级精品三级男人的天堂 | 欧美人妻一区二区三区 | 动漫av一区二区在线观看 | 曰韩少妇内射免费播放 | 久久久久久亚洲精品a片成人 | 无码av免费一区二区三区试看 | 国产乱子伦视频在线播放 | 性色欲网站人妻丰满中文久久不卡 | 日本护士毛茸茸高潮 | 东京无码熟妇人妻av在线网址 | 久久熟妇人妻午夜寂寞影院 | 中文无码成人免费视频在线观看 | 丰满护士巨好爽好大乳 | 激情综合激情五月俺也去 | 国产成人精品必看 | 麻豆国产97在线 | 欧洲 | 未满小14洗澡无码视频网站 | 国产激情精品一区二区三区 | 色综合久久久无码网中文 | 97色伦图片97综合影院 | 国模大胆一区二区三区 | 一本一道久久综合久久 | 无码人妻丰满熟妇区毛片18 | 久久久久久久人妻无码中文字幕爆 | v一区无码内射国产 | 狂野欧美性猛交免费视频 | 国产亚洲精品久久久闺蜜 | 麻豆国产丝袜白领秘书在线观看 | 天堂无码人妻精品一区二区三区 | 日本饥渴人妻欲求不满 | 精品日本一区二区三区在线观看 | 亚洲中文字幕av在天堂 | 国产精品毛片一区二区 | 国产午夜精品一区二区三区嫩草 | 亚洲精品中文字幕乱码 | 在线观看免费人成视频 | 熟妇人妻激情偷爽文 | 国产手机在线αⅴ片无码观看 | 麻豆av传媒蜜桃天美传媒 | 亚洲综合另类小说色区 | 亚洲日韩av一区二区三区四区 | 欧美野外疯狂做受xxxx高潮 | 欧美国产日韩久久mv | 久9re热视频这里只有精品 | 一本久久伊人热热精品中文字幕 | 亚洲成a人片在线观看无码3d | 中文字幕无码视频专区 | 好爽又高潮了毛片免费下载 | 日韩欧美中文字幕公布 | 色婷婷综合中文久久一本 | 午夜理论片yy44880影院 | 久久伊人色av天堂九九小黄鸭 | 欧美三级不卡在线观看 | 在线精品国产一区二区三区 | 亚洲一区二区三区香蕉 | 国产无遮挡吃胸膜奶免费看 | 欧美日韩在线亚洲综合国产人 | 国产精品久久久久无码av色戒 | 国产真人无遮挡作爱免费视频 | 丁香花在线影院观看在线播放 | 国产精品久久精品三级 | 精品国偷自产在线 | 精品无码成人片一区二区98 | 国内精品人妻无码久久久影院蜜桃 | 亚洲熟妇自偷自拍另类 | 亚洲区小说区激情区图片区 | 无码一区二区三区在线 | 精品国产成人一区二区三区 | 宝宝好涨水快流出来免费视频 | 欧美精品一区二区精品久久 | 在线观看免费人成视频 | 日韩精品无码一区二区中文字幕 | 成 人 免费观看网站 | 亚洲s码欧洲m码国产av | 亚洲热妇无码av在线播放 | 中文字幕无线码免费人妻 | 免费人成在线观看网站 | 亚洲成av人片在线观看无码不卡 | 亚洲一区二区三区播放 | 亚洲国产欧美在线成人 | 中文字幕无码视频专区 | 国产激情综合五月久久 | 亚洲国产精品美女久久久久 | 成人一在线视频日韩国产 | 人人妻人人藻人人爽欧美一区 | 免费国产成人高清在线观看网站 | 少女韩国电视剧在线观看完整 | 无码人妻黑人中文字幕 | 国产69精品久久久久app下载 | 日本一区二区三区免费播放 | 亚洲aⅴ无码成人网站国产app | 18禁黄网站男男禁片免费观看 | 88国产精品欧美一区二区三区 | 亚洲精品国偷拍自产在线麻豆 | 亚洲精品国产a久久久久久 | 少妇被黑人到高潮喷出白浆 | 在线观看国产一区二区三区 | 少妇人妻av毛片在线看 | 国产亚洲精品久久久久久 | 18禁黄网站男男禁片免费观看 | 国产美女极度色诱视频www | 人人妻在人人 | 久久久国产精品无码免费专区 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 国产免费久久久久久无码 | 久久人人爽人人爽人人片av高清 | 国产精品久久国产精品99 | 亚洲 欧美 激情 小说 另类 | 国产av一区二区三区最新精品 | 国产一精品一av一免费 | 国产情侣作爱视频免费观看 | 欧美大屁股xxxxhd黑色 | 久久午夜无码鲁丝片秋霞 | 欧美人与物videos另类 | 亚洲午夜久久久影院 | 精品乱子伦一区二区三区 | 水蜜桃色314在线观看 | 欧洲精品码一区二区三区免费看 | 四虎4hu永久免费 | 亚洲人成无码网www | 国产精品亚洲lv粉色 | 欧洲精品码一区二区三区免费看 | 中文字幕无码免费久久99 | 欧美freesex黑人又粗又大 | 97夜夜澡人人爽人人喊中国片 | 久久视频在线观看精品 | 久久综合网欧美色妞网 | 中文字幕人妻无码一夲道 | 少女韩国电视剧在线观看完整 | 未满小14洗澡无码视频网站 | 亚洲中文字幕va福利 | 亚洲日韩中文字幕在线播放 | 中文精品无码中文字幕无码专区 | 欧美激情综合亚洲一二区 | 日本一区二区三区免费高清 | 曰韩无码二三区中文字幕 | 国产成人精品视频ⅴa片软件竹菊 | 国产性生大片免费观看性 | 日韩无套无码精品 | 久久99精品久久久久久动态图 | 精品欧美一区二区三区久久久 | 国产亚洲视频中文字幕97精品 | 又黄又爽又色的视频 | 大肉大捧一进一出视频出来呀 | 国产在线精品一区二区高清不卡 | 国产激情无码一区二区app | 午夜精品久久久内射近拍高清 | 亚洲成av人片在线观看无码不卡 | 高清无码午夜福利视频 | 亚洲欧美精品aaaaaa片 | 国产另类ts人妖一区二区 | 亚洲精品久久久久avwww潮水 | 性色欲情网站iwww九文堂 | 日韩亚洲欧美精品综合 | 亚洲中文字幕va福利 | 兔费看少妇性l交大片免费 | 在线а√天堂中文官网 | 丰满人妻一区二区三区免费视频 | 大色综合色综合网站 | 强开小婷嫩苞又嫩又紧视频 | 中文无码成人免费视频在线观看 | 岛国片人妻三上悠亚 | 人人妻人人澡人人爽欧美一区九九 | 欧美老妇与禽交 | 亚洲国产av美女网站 | 日韩精品一区二区av在线 | 国产真实乱对白精彩久久 | 国产极品视觉盛宴 | 熟女俱乐部五十路六十路av | 真人与拘做受免费视频 | 国产色在线 | 国产 | 性欧美疯狂xxxxbbbb | 成在人线av无码免观看麻豆 | 久久亚洲国产成人精品性色 | 免费无码的av片在线观看 | 无码一区二区三区在线观看 | 久久99精品国产麻豆蜜芽 | 沈阳熟女露脸对白视频 | 人人澡人人妻人人爽人人蜜桃 | 欧美乱妇无乱码大黄a片 | 乱人伦人妻中文字幕无码 | 久久综合九色综合欧美狠狠 | 免费无码的av片在线观看 | 动漫av一区二区在线观看 | 嫩b人妻精品一区二区三区 | 男女爱爱好爽视频免费看 | 女人色极品影院 | 精品人人妻人人澡人人爽人人 | 偷窥日本少妇撒尿chinese | 欧美怡红院免费全部视频 | 亚洲成av人影院在线观看 | 日本又色又爽又黄的a片18禁 | 天堂а√在线中文在线 | 亚洲精品一区二区三区四区五区 | 婷婷综合久久中文字幕蜜桃三电影 | 国产亚洲精品久久久久久大师 | 欧美野外疯狂做受xxxx高潮 | 久久无码中文字幕免费影院蜜桃 | 爆乳一区二区三区无码 | 久久精品中文闷骚内射 | 牲欲强的熟妇农村老妇女 | 99久久婷婷国产综合精品青草免费 | 国产色在线 | 国产 | 国产亚洲精品久久久久久 | 亚洲色大成网站www | 在线看片无码永久免费视频 | 无遮挡国产高潮视频免费观看 | 成人无码视频免费播放 | 日韩无码专区 | 亚洲理论电影在线观看 | 国产精品第一区揄拍无码 | 色窝窝无码一区二区三区色欲 | 欧美亚洲日韩国产人成在线播放 | 奇米影视7777久久精品人人爽 | 伊在人天堂亚洲香蕉精品区 | 国产乱子伦视频在线播放 | 中文字幕无码热在线视频 | 久久国产精品_国产精品 | 亚洲成a人片在线观看无码 | av香港经典三级级 在线 | 精品国精品国产自在久国产87 | 中文字幕无线码 | 国产av人人夜夜澡人人爽麻豆 | 国产亚洲精品久久久久久久久动漫 | 少妇厨房愉情理9仑片视频 | 久久久久成人片免费观看蜜芽 | 俺去俺来也www色官网 | 亚洲性无码av中文字幕 | 伊人久久婷婷五月综合97色 | 欧洲精品码一区二区三区免费看 | 亚洲中文字幕无码一久久区 | 四虎永久在线精品免费网址 | 国产精品18久久久久久麻辣 | 无码国产乱人伦偷精品视频 | 丝袜美腿亚洲一区二区 | 国产精品人妻一区二区三区四 | 狠狠综合久久久久综合网 | 激情人妻另类人妻伦 | 2020久久超碰国产精品最新 | 亚洲精品无码国产 | 精品无码av一区二区三区 | 日日躁夜夜躁狠狠躁 | 国产亚洲精品久久久久久久久动漫 | 人人妻人人澡人人爽人人精品 | 久激情内射婷内射蜜桃人妖 | 天天做天天爱天天爽综合网 | 丰满少妇人妻久久久久久 | 久久综合给合久久狠狠狠97色 | 无码av免费一区二区三区试看 | 亚洲成av人影院在线观看 | 国产激情一区二区三区 | 国产性生大片免费观看性 | 国产香蕉尹人视频在线 | 久久无码中文字幕免费影院蜜桃 | 人妻无码αv中文字幕久久琪琪布 | 欧美日本免费一区二区三区 | 性生交片免费无码看人 | 亚洲欧美中文字幕5发布 | 亚洲精品一区二区三区在线观看 | 免费人成在线视频无码 | 一本精品99久久精品77 | 国产精品久久国产精品99 | 综合激情五月综合激情五月激情1 | 亚洲日韩一区二区 | 欧美高清在线精品一区 | 国产一区二区三区影院 | 亚洲天堂2017无码中文 | 国内少妇偷人精品视频 | 亚洲成熟女人毛毛耸耸多 | 中文精品无码中文字幕无码专区 | 欧美日韩亚洲国产精品 | 午夜精品久久久久久久 | 色情久久久av熟女人妻网站 | 国产精品久久久 | 牲欲强的熟妇农村老妇女视频 | 99久久99久久免费精品蜜桃 | аⅴ资源天堂资源库在线 | 漂亮人妻洗澡被公强 日日躁 | 久久无码中文字幕免费影院蜜桃 | 久久久精品成人免费观看 | 色情久久久av熟女人妻网站 | 久久精品中文闷骚内射 | 久激情内射婷内射蜜桃人妖 | 欧美一区二区三区视频在线观看 | 装睡被陌生人摸出水好爽 | 乱人伦人妻中文字幕无码 | 日日天日日夜日日摸 | 国产精品-区区久久久狼 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲中文字幕乱码av波多ji | 日本乱偷人妻中文字幕 | 无码人妻出轨黑人中文字幕 | 国产精品无码永久免费888 | 无码人妻精品一区二区三区下载 | 少妇厨房愉情理9仑片视频 | 丝袜人妻一区二区三区 | 色欲人妻aaaaaaa无码 | 国内少妇偷人精品视频免费 | 婷婷丁香五月天综合东京热 | 久激情内射婷内射蜜桃人妖 | 国产精品久久久久久久影院 | 亚洲精品一区二区三区四区五区 | 精品乱码久久久久久久 | 久久国产精品精品国产色婷婷 | 亚洲精品国产第一综合99久久 | 亚洲国产高清在线观看视频 | 伊人久久大香线蕉av一区二区 | 国产莉萝无码av在线播放 | 国产免费久久久久久无码 | 永久免费精品精品永久-夜色 | av香港经典三级级 在线 | 久久精品国产亚洲精品 | 无码av中文字幕免费放 | 对白脏话肉麻粗话av | 亚洲天堂2017无码中文 | 色诱久久久久综合网ywww | 久久精品国产一区二区三区 | 国产成人午夜福利在线播放 | 欧美日韩一区二区三区自拍 | 国产午夜无码精品免费看 | 人人澡人人透人人爽 | 日本xxxx色视频在线观看免费 | 青青久在线视频免费观看 | 中文字幕人妻丝袜二区 | 国产农村乱对白刺激视频 | yw尤物av无码国产在线观看 | 99久久精品日本一区二区免费 | 国产人妻人伦精品1国产丝袜 | 亚洲第一无码av无码专区 | 无码av最新清无码专区吞精 | 澳门永久av免费网站 | 国产精品第一国产精品 | 亚洲人成网站色7799 | 女人高潮内射99精品 | 国产成人精品三级麻豆 | 精品人妻中文字幕有码在线 | 国产成人无码a区在线观看视频app | 成人精品视频一区二区三区尤物 | 99久久99久久免费精品蜜桃 | 亚洲一区二区观看播放 | 综合人妻久久一区二区精品 | 色综合久久中文娱乐网 | 成人影院yy111111在线观看 | 久久国产精品二国产精品 | 2019午夜福利不卡片在线 | 欧美自拍另类欧美综合图片区 | 人人妻在人人 | 中文精品无码中文字幕无码专区 | 日韩少妇内射免费播放 | 久久久久久久女国产乱让韩 | 男人扒开女人内裤强吻桶进去 | 亚洲爆乳无码专区 | 久久这里只有精品视频9 | 少妇无套内谢久久久久 | 午夜精品一区二区三区在线观看 | 久久亚洲精品成人无码 | 99久久精品国产一区二区蜜芽 | 99riav国产精品视频 | 国产真实伦对白全集 | 国产精品美女久久久久av爽李琼 | 亚洲爆乳精品无码一区二区三区 | 人妻尝试又大又粗久久 | 国产97在线 | 亚洲 | 亚洲人成网站免费播放 | 55夜色66夜色国产精品视频 | 日欧一片内射va在线影院 | 香蕉久久久久久av成人 | 亚洲国产欧美日韩精品一区二区三区 | 国产色视频一区二区三区 | 欧美三级a做爰在线观看 | 色综合久久久无码中文字幕 | 男女超爽视频免费播放 | 国产成人无码专区 | 国内精品人妻无码久久久影院 | av无码久久久久不卡免费网站 | 亚洲狠狠婷婷综合久久 |