• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Clang的AST提取結(jié)構(gòu)體數(shù)據(jù)庫(kù)插件的實(shí)現(xiàn)

    2017-04-26 07:27張紅
    電腦知識(shí)與技術(shù) 2017年6期
    關(guān)鍵詞:信息提取

    張紅

    摘要:在嵌入式系統(tǒng)調(diào)試環(huán)境下,需將大量的結(jié)構(gòu)體變量輸出到診斷軟件,進(jìn)行解析與呈現(xiàn),而結(jié)構(gòu)體數(shù)量龐大,且容易變化。在軟件快速迭代開(kāi)發(fā)階段,迫切需要使結(jié)構(gòu)體解析過(guò)程自動(dòng)化。最關(guān)鍵的一步,是實(shí)現(xiàn)結(jié)構(gòu)體定義數(shù)據(jù)庫(kù)的提取。此文主要研究基于Clang編譯器,實(shí)現(xiàn)從前端編譯結(jié)構(gòu)體定義文件生成的抽象語(yǔ)法樹(shù)中提取結(jié)構(gòu)體定義信息。實(shí)驗(yàn)結(jié)果表明,該方法能準(zhǔn)確的實(shí)現(xiàn)從結(jié)構(gòu)體定義文件提取結(jié)構(gòu)體定義XML數(shù)據(jù)庫(kù)。

    關(guān)鍵詞: Clang編譯器;抽象語(yǔ)法樹(shù);信息提取;結(jié)構(gòu)體定義

    中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)06-0019-03

    Abstract: In the debugging environment of the embedded system, the structure variables which are very large in quantity and mutable, should be output to the diagnostic software to be parsed and presented. In the rapidly iteration development phase, it is an urgent need to make the structure parsing process automation. It is the most crucial step to realize the extraction of structure definition database. This paper mainly studies how to extract structure definition information from the abstract syntax tree generated by the fronted compiler Clang. The experimental results show that this method can realize the structure XML database form the definition files accurately.

    Key words:Clang compiler; abstract syntax tree (AST); information extraction; structure definition

    1 概述

    在嵌入式軟件開(kāi)發(fā)過(guò)程中,為了快速分析軟件運(yùn)行過(guò)程,定位問(wèn)題,將系統(tǒng)運(yùn)行中的各類(lèi)診斷信息輸出到診斷軟件解析,而大量的診斷信息是基于結(jié)構(gòu)體類(lèi)型,在嵌入式系統(tǒng)開(kāi)發(fā)前期,采用手工編寫(xiě)解析結(jié)構(gòu)體的函數(shù)來(lái)實(shí)現(xiàn)。但結(jié)構(gòu)體定義在開(kāi)發(fā)調(diào)試過(guò)程中會(huì)經(jīng)常發(fā)生變更,結(jié)構(gòu)體解析庫(kù)就需要同步更新維護(hù),隨著系統(tǒng)工程模塊化程度提高,規(guī)模也越來(lái)越大,涉及的人員越來(lái)越多,結(jié)構(gòu)體定義與解析庫(kù)之間更新不同步的問(wèn)題越來(lái)越頻繁,維護(hù)成本越來(lái)越高,嚴(yán)重影響了軟件開(kāi)發(fā)迭代進(jìn)度。

    本文在開(kāi)源編譯框架LLVM的前端編譯器Clang的基礎(chǔ)上,通過(guò)開(kāi)發(fā)一個(gè)Clang前端插件,實(shí)現(xiàn)從抽象語(yǔ)法樹(shù)AST(Abstract Syntax Tree)中進(jìn)行結(jié)構(gòu)體數(shù)據(jù)庫(kù)提取。相比于手工編寫(xiě)解析函數(shù),將繁重的開(kāi)發(fā)和維護(hù)工作量降到0,大大提高了工作效率。

    本文第二節(jié)介紹Clang 前端插件的編寫(xiě)、編譯與執(zhí)行方法;給出結(jié)構(gòu)體數(shù)據(jù)庫(kù)提取插件的實(shí)現(xiàn)方法;第三節(jié)對(duì)本文進(jìn)行總結(jié)。

    2 相關(guān)工作

    2.1 Clang 前端插件開(kāi)發(fā)介紹

    Clang作為L(zhǎng)LVM開(kāi)源編譯框架的一種前端編譯器,實(shí)現(xiàn)編譯過(guò)程中的詞法分析,語(yǔ)法分析,類(lèi)型檢查,中間代碼生成。Clang對(duì)用戶(hù)進(jìn)行前端插件的開(kāi)發(fā)提供了很好的支持,前端操作的切入點(diǎn)是抽象類(lèi)FrontendAction,此接口支持在前端編譯過(guò)程中執(zhí)行插件定制的操作。AST消費(fèi)者的切入點(diǎn)是抽象類(lèi)ASTConsumer,此接口支持對(duì)抽象語(yǔ)法樹(shù)的訪問(wèn)。

    本文是研究在編譯過(guò)程中從抽象語(yǔ)法樹(shù)提取結(jié)構(gòu)體定義相關(guān)的信息,面向AST消費(fèi)者前端操作的抽象接口類(lèi)為FrontendAction的子類(lèi)ASTFrontendAction,插件中前端操作基類(lèi)選擇ASTFrontendAction的子類(lèi)PluginASTAction。自定義的AST消費(fèi)者基類(lèi)選擇ASTConsumer。

    2.1.1 編寫(xiě)Clang插件

    1) 定義繼承自PluginASTAction的自定義類(lèi)StructFrontendAction。重載三個(gè)成員函數(shù):

    ①用于創(chuàng)建抽象語(yǔ)法樹(shù)的Consumer類(lèi)。

    ASTConsumer *CreateASTConsumer(CompilerInstance &CI, llvm::StringRef);

    ②用于分析此插件執(zhí)行命令傳入的參數(shù)。

    bool ParseArgs(const CompilerInstance &CI,const std::vector& args);

    ③用于打印輸出此插件執(zhí)行的help信息。

    void PrintHelp(llvm::raw_ostream& ros);

    2) 定義繼承自ASTConsumer的抽象語(yǔ)法樹(shù)ASTStructConsumer類(lèi)。

    重載virtual bool HandleTopLevelDecl(DeclGroupRef DG),實(shí)現(xiàn)從抽象語(yǔ)法樹(shù)節(jié)點(diǎn)中提取所需信息。為了將分析AST過(guò)程中得到的信息組織成XML文件,可在此類(lèi)的構(gòu)造函數(shù)中創(chuàng)建XML文件,并構(gòu)造初始的節(jié)點(diǎn)框架,在析構(gòu)函數(shù)中完成文件的保存與關(guān)閉。

    3) 注冊(cè)插件

    static FrontendPluginRegistry::Add X("plugin-name", "plugin description");

    2.1.2 編譯Clang插件

    參考開(kāi)源代碼Clang/Examples下的插件示例將編譯環(huán)境配置好后,進(jìn)入build目錄執(zhí)行:make clang,編譯完成后,進(jìn)入build/tools/clang/example下的插件編譯目錄,執(zhí)行make,即可對(duì)插件進(jìn)行編譯。

    2.1.3 執(zhí)行clang插件

    $clang –cc1 –load StructFrontendAction.so –plugin my-plugin-name compileFile

    Clang –cc1為編譯器,-load將加載所有注冊(cè)的插件,-plugin指定加載特定的插件,若要將參數(shù)傳遞到插件里,可以使用-plugin-arg-。另外,可通過(guò)-fpack-struct=n指定編譯過(guò)程中的字節(jié)對(duì)齊策略,通過(guò)-triple 指定編譯目標(biāo)三元組信息,實(shí)現(xiàn)交叉編譯。

    2.2 結(jié)構(gòu)體信息提取的實(shí)現(xiàn)

    結(jié)構(gòu)體定義信息包括結(jié)構(gòu)體名稱(chēng)、大小和成員個(gè)數(shù),結(jié)構(gòu)體成員變量名稱(chēng)、類(lèi)型名稱(chēng),成員變量類(lèi)型的基礎(chǔ)類(lèi)型,成員變量在結(jié)構(gòu)體中的偏移值,成員變量的大小。

    結(jié)構(gòu)體的成員的類(lèi)型分以下六類(lèi):1)基本的系統(tǒng)內(nèi)置(builtin)數(shù)據(jù)類(lèi)型,如unsigned char,unsigned short,int等;2)重定義(typedef)數(shù)據(jù)類(lèi)型,如對(duì)內(nèi)置數(shù)據(jù)類(lèi)型、結(jié)構(gòu)體類(lèi)型、枚舉類(lèi)型的重定義;3)指針;4)數(shù)組;5)聯(lián)合體;6)位域。

    以ASTConsumer的接口函數(shù)HandleTopLevelDecl(DeclGroupRef DG)為入口點(diǎn),從AST的頂層節(jié)點(diǎn)TranslationUnitDecl開(kāi)始, 該節(jié)點(diǎn)下的子節(jié)點(diǎn)類(lèi)型有TypedefDecl,EnumDecl,RecordDecl,F(xiàn)unctionDec。結(jié)構(gòu)體定義屬于RecordDecl,自定義的成員類(lèi)型定義信息來(lái)自于TypedefDecl,而枚舉類(lèi)型信息在EnumDecl節(jié)點(diǎn)。因此需要分析AST中的TranslationUnitDecl頂級(jí)節(jié)點(diǎn)下的所有TypedefDecl,EnumDecl和RecordDecl節(jié)點(diǎn)。每種節(jié)點(diǎn)類(lèi)型的都是繼承自NamedDecl。

    首先獲取Decl的名稱(chēng),可以通過(guò)NamedDecl的getNameAsString()實(shí)現(xiàn)。有些可能是匿名,獲取Decl名字為空,如“typedef { …}TypeA;”,這時(shí)可以通過(guò)getTypedefNameForAnonDecl()獲取匿名Decl的TypedefNameDecl,若該匿名對(duì)象的TypedefNameDecl為空,該Decl將不可能作為結(jié)構(gòu)體成員類(lèi)型,可以忽略。

    下面依次介紹TypedefDecl、EnumDecl,和RecordDecl節(jié)點(diǎn)信息的提取。

    1)TypedefDecl節(jié)點(diǎn)

    如“typedef A B;”,獲取到的Decl的名稱(chēng)是B,此時(shí)需要分析出B的原始類(lèi)型名稱(chēng),原始類(lèi)型可以是內(nèi)置數(shù)據(jù)類(lèi)型,或自定義結(jié)構(gòu)體類(lèi)型或枚舉類(lèi)型等,提取出新類(lèi)型與基礎(chǔ)類(lèi)型的對(duì)應(yīng)關(guān)系。當(dāng)A不屬于基礎(chǔ)類(lèi)型,將繼續(xù)分析A的基礎(chǔ)類(lèi)型,直至找到基礎(chǔ)類(lèi)型C作為B的基礎(chǔ)類(lèi)型。

    將提取到的新類(lèi)型名稱(chēng)與基礎(chǔ)類(lèi)型名稱(chēng)的信息作為typedefs的子節(jié)點(diǎn)存入XML文件:

    2)EnumDecl 節(jié)點(diǎn)

    分析出枚舉類(lèi)型名字后,通過(guò)遍歷EnumDecl的枚舉向量來(lái)提取枚舉成員字符串與數(shù)值,將信息作為enums的子節(jié)點(diǎn)寫(xiě)入XML文件:

    < item name=”Item2” value=”1”/>

    3)RecordDecl節(jié)點(diǎn)

    RecordDecl下除了struct類(lèi)型還有其它類(lèi)型,本文只關(guān)注RecordDecl下的struct類(lèi)型,可以通過(guò)下isStruct()判斷。在結(jié)構(gòu)體成員不為空,即field_empty()為FALSE時(shí),通過(guò)訪問(wèn)ASTRecordLayout對(duì)象,getFieldCount()可以獲取結(jié)構(gòu)體成員個(gè)數(shù)FiledCount,getSize()可以獲取結(jié)構(gòu)體的大小。將信息作為structs的子節(jié)點(diǎn)存入XML文件:

    ,其中size值為字節(jié)數(shù)。

    通過(guò)遍歷RecordDecl::field_iterator來(lái)獲取結(jié)構(gòu)體成員變量信息,getFieldIndex()可以獲取成員變量索引值,getFieldOffset(fieldIndex)可以獲取索引值為fieldIndex的成員在結(jié)構(gòu)體中的偏移值,getName()可以獲取該成員的變量名,getType()可以獲取該成員的類(lèi)型,成員變量的大小需要通過(guò)getASTContext()獲取ASTContext對(duì)象,進(jìn)而由getTypeSize(fieldType)獲取。將信息作為該struct節(jié)點(diǎn)的子節(jié)點(diǎn)存入XML文件:

    ,其中size值表示二進(jìn)制位數(shù),baseType為對(duì)成員變量類(lèi)型的原始類(lèi)型的分類(lèi)碼,內(nèi)嵌類(lèi)型為0,結(jié)構(gòu)體類(lèi)型為1,數(shù)組類(lèi)型為2,聯(lián)合體類(lèi)型為3,位域類(lèi)型為4,指針類(lèi)型為5,枚舉類(lèi)型為6。

    分析成員變量類(lèi)型時(shí),需對(duì)聯(lián)合體、指針、數(shù)組、位域類(lèi)型信息作進(jìn)一步提取。

    ①對(duì)聯(lián)合體類(lèi)型,可以通過(guò)isUnionType()來(lái)判斷,union節(jié)點(diǎn)對(duì)象為RecordDecl類(lèi)型,通過(guò)ASTRecordLayout可以獲取union下的成員信息。

    ②對(duì)位域類(lèi)型,可以通過(guò)isBitField()來(lái)判斷,需進(jìn)一步提取位寬信息,通過(guò) (*iter)->getBitWidthValue((*iter)->getASTContext() );來(lái)實(shí)現(xiàn),其中iter 為RecordDecl::field_iterator 。將位寬信息作為該成員變量field節(jié)點(diǎn)的子節(jié)點(diǎn)存入XML文件:

    ③對(duì)指針類(lèi)型,可以通過(guò)isPointerType()來(lái)判斷,提取指針?biāo)割?lèi)型的名稱(chēng)和原始類(lèi)型信息。將信息作為field節(jié)點(diǎn)的子節(jié)點(diǎn)存入XML文件:

    ④對(duì)數(shù)組類(lèi)型,可通過(guò)isArrayType()來(lái)判斷,需要獲取數(shù)組對(duì)象類(lèi)型信息與數(shù)組的大小。通過(guò)getElementType()獲取數(shù)組成員類(lèi)型,然后進(jìn)一步分析該類(lèi)型的原始類(lèi)型。結(jié)構(gòu)體成員中的數(shù)組均是定長(zhǎng)數(shù)組,即使作為變長(zhǎng)使用的零數(shù)組,在編譯階段也是作為定長(zhǎng)數(shù)組處理。 對(duì)于定長(zhǎng)數(shù)組ConstantArrayType可以通過(guò)getSize()獲取數(shù)組的大小。將數(shù)組類(lèi)型成員信息存入XML文件:

    對(duì)于多維數(shù)組,可以對(duì)數(shù)組成員進(jìn)行數(shù)組類(lèi)型的遞歸分析。

    3 總結(jié)

    本文針對(duì)嵌入式系統(tǒng)中,對(duì)結(jié)構(gòu)體類(lèi)型診斷信息解析維護(hù)工作量大的問(wèn)題,提出了采用基于clang編譯器的前端插件在編譯過(guò)程中,通過(guò)訪問(wèn)抽象語(yǔ)法樹(shù)節(jié)點(diǎn),提取結(jié)構(gòu)體定義信息數(shù)據(jù)庫(kù)的方法,按一定策略組織成結(jié)構(gòu)體定義的XML數(shù)據(jù)庫(kù)。本方法已應(yīng)用于嵌入式系統(tǒng)調(diào)試中,為結(jié)構(gòu)體自動(dòng)解析提供了基礎(chǔ),大大提高了軟件迭代開(kāi)發(fā)效率。

    參考文獻(xiàn):

    [1] LLVM[EB/OL]. http://www.llvm.org .

    [2] Clang[EB/OL]. http://clang.llvm.org .

    [3] 周睿. 基于Clang編譯器的程序結(jié)構(gòu)分析器設(shè)計(jì)[J]. 計(jì)算機(jī)時(shí)代,2016(10):54-56.

    [4] 高傳平,談利群,宮云戰(zhàn). 基于抽象語(yǔ)法樹(shù)的代碼靜態(tài)自動(dòng)測(cè)試方法研究[J]. 北京化工大學(xué)學(xué)報(bào):自然科學(xué)版,2007(S1):25-29.

    [5] 章磊. Clang上的C/C++過(guò)程間分析和漏洞發(fā)掘[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2009.

    [6] 陳火旺.程序設(shè)計(jì)語(yǔ)言編譯原理[M]. 北京: 國(guó)防工業(yè)出版社, 2000.

    [7] Kenneth C Louden.編譯原理及實(shí)踐[M]. 馮博琴,譯.北京: 機(jī)械工業(yè)出版社, 2000.

    [8] 高艷玲. 編譯原理——C教學(xué)編譯器設(shè)計(jì)[J]. 電腦知識(shí)與技術(shù),2009(18):4932-4933.

    猜你喜歡
    信息提取
    基于信號(hào)處理技術(shù)的正念腦電信息提取方法
    建筑電氣設(shè)計(jì)中BIM技術(shù)的應(yīng)用研究
    国产成人福利小说| 色精品久久人妻99蜜桃| 国产亚洲av嫩草精品影院| 桃色一区二区三区在线观看| 最近最新中文字幕大全电影3| 国产毛片a区久久久久| 97碰自拍视频| 国产成人福利小说| 51国产日韩欧美| 日韩欧美在线二视频| 日本熟妇午夜| 亚洲乱码一区二区免费版| 色哟哟·www| 俺也久久电影网| 国产单亲对白刺激| 757午夜福利合集在线观看| 国产野战对白在线观看| 国产精品爽爽va在线观看网站| 99在线视频只有这里精品首页| 一本精品99久久精品77| 亚洲人成网站在线播放欧美日韩| 国产精品久久久久久精品电影| av视频在线观看入口| 麻豆av噜噜一区二区三区| 精品久久久久久久人妻蜜臀av| 精品一区二区三区人妻视频| 精品久久久久久久久av| 欧美xxxx性猛交bbbb| 啦啦啦观看免费观看视频高清| 亚洲经典国产精华液单 | 欧美色欧美亚洲另类二区| 真实男女啪啪啪动态图| 国产精品久久久久久久电影| 亚洲av二区三区四区| 极品教师在线视频| 精品日产1卡2卡| 久久人妻av系列| 看免费av毛片| 国产亚洲精品综合一区在线观看| 日本成人三级电影网站| 最好的美女福利视频网| 国产极品精品免费视频能看的| 全区人妻精品视频| 色吧在线观看| 日本一二三区视频观看| 啦啦啦观看免费观看视频高清| 国产一区二区三区视频了| 亚洲美女视频黄频| 成人午夜高清在线视频| 国产亚洲欧美98| 午夜精品一区二区三区免费看| 国产午夜福利久久久久久| 宅男免费午夜| 欧美日韩福利视频一区二区| 91九色精品人成在线观看| 神马国产精品三级电影在线观看| 少妇裸体淫交视频免费看高清| 亚洲成a人片在线一区二区| 午夜日韩欧美国产| 亚洲精品一区av在线观看| 国产一区二区三区在线臀色熟女| 国产中年淑女户外野战色| 中文字幕高清在线视频| 亚洲精品日韩av片在线观看| 日本 欧美在线| 亚洲不卡免费看| 国产精品1区2区在线观看.| 国产主播在线观看一区二区| 美女cb高潮喷水在线观看| 国产又黄又爽又无遮挡在线| 亚洲中文字幕日韩| 国产一区二区在线av高清观看| av女优亚洲男人天堂| 中文字幕久久专区| 亚洲美女黄片视频| 天天躁日日操中文字幕| 亚洲欧美日韩高清在线视频| av中文乱码字幕在线| or卡值多少钱| 精品日产1卡2卡| 精品福利观看| 国产成年人精品一区二区| 99在线视频只有这里精品首页| 可以在线观看毛片的网站| 一进一出抽搐gif免费好疼| 国产黄a三级三级三级人| 狂野欧美白嫩少妇大欣赏| 在线国产一区二区在线| 亚洲国产精品999在线| 亚洲av第一区精品v没综合| 久久草成人影院| 99久久九九国产精品国产免费| 久久这里只有精品中国| 成年人黄色毛片网站| 国产色婷婷99| 久久人人精品亚洲av| 天美传媒精品一区二区| 亚洲美女搞黄在线观看 | 在线观看舔阴道视频| 日韩人妻高清精品专区| 欧美日韩乱码在线| 国产在视频线在精品| 亚洲经典国产精华液单 | 狠狠狠狠99中文字幕| 精品一区二区三区av网在线观看| 亚洲精品456在线播放app | 十八禁人妻一区二区| 女人十人毛片免费观看3o分钟| АⅤ资源中文在线天堂| 99国产极品粉嫩在线观看| 少妇的逼好多水| 男人的好看免费观看在线视频| 校园春色视频在线观看| 免费av观看视频| 亚洲中文字幕一区二区三区有码在线看| 精华霜和精华液先用哪个| 久久久久久大精品| 久久久久久久精品吃奶| 日韩亚洲欧美综合| 亚洲人与动物交配视频| 尤物成人国产欧美一区二区三区| 国产伦在线观看视频一区| 人妻夜夜爽99麻豆av| 欧美在线黄色| 亚洲av一区综合| 精品无人区乱码1区二区| 中文字幕人妻熟人妻熟丝袜美| 日韩欧美在线乱码| 国产视频一区二区在线看| 亚洲精品在线观看二区| 免费电影在线观看免费观看| 国产国拍精品亚洲av在线观看| 在线观看午夜福利视频| 国产v大片淫在线免费观看| 波多野结衣巨乳人妻| 波野结衣二区三区在线| 精品人妻视频免费看| 国产精品av视频在线免费观看| 国产一区二区三区在线臀色熟女| 成人午夜高清在线视频| 久久久久九九精品影院| 欧美xxxx性猛交bbbb| 校园春色视频在线观看| 啦啦啦观看免费观看视频高清| 日韩欧美在线乱码| 婷婷亚洲欧美| 亚洲精品成人久久久久久| 欧美日韩中文字幕国产精品一区二区三区| 亚洲性夜色夜夜综合| 偷拍熟女少妇极品色| a在线观看视频网站| 国产精品嫩草影院av在线观看 | 久久精品夜夜夜夜夜久久蜜豆| 国产高清激情床上av| 欧美性猛交╳xxx乱大交人| 国产精品久久视频播放| 一级av片app| 黄色配什么色好看| 亚洲专区中文字幕在线| 日本 av在线| 国产黄a三级三级三级人| 男人的好看免费观看在线视频| 午夜激情福利司机影院| 99热这里只有是精品50| 国产精品国产高清国产av| 成人av一区二区三区在线看| 久久精品国产自在天天线| 黄片小视频在线播放| 一区二区三区免费毛片| 在现免费观看毛片| 一级av片app| 高潮久久久久久久久久久不卡| 人妻制服诱惑在线中文字幕| 两个人的视频大全免费| 中文字幕av成人在线电影| 国产三级黄色录像| 亚洲第一电影网av| 老熟妇仑乱视频hdxx| 免费观看人在逋| 色尼玛亚洲综合影院| 老熟妇仑乱视频hdxx| 日日干狠狠操夜夜爽| 又黄又爽又刺激的免费视频.| av天堂在线播放| 久久亚洲真实| 9191精品国产免费久久| 日韩欧美三级三区| 99久国产av精品| 全区人妻精品视频| 国产精品自产拍在线观看55亚洲| 亚洲人成伊人成综合网2020| 99热这里只有是精品50| 欧美+日韩+精品| 搡老岳熟女国产| 制服丝袜大香蕉在线| 成人av在线播放网站| 亚洲欧美日韩高清在线视频| 网址你懂的国产日韩在线| 九九久久精品国产亚洲av麻豆| 十八禁网站免费在线| 国产精品嫩草影院av在线观看 | a在线观看视频网站| 亚洲第一电影网av| 国产精品国产高清国产av| 91字幕亚洲| 国产国拍精品亚洲av在线观看| 简卡轻食公司| 可以在线观看毛片的网站| 久久精品人妻少妇| 精品一区二区免费观看| 亚洲av第一区精品v没综合| 午夜激情福利司机影院| 久久久久久久亚洲中文字幕 | 亚洲国产欧美人成| 国内毛片毛片毛片毛片毛片| 国产视频内射| 搞女人的毛片| 亚洲 国产 在线| 亚洲熟妇中文字幕五十中出| 给我免费播放毛片高清在线观看| 99久久成人亚洲精品观看| 欧美一级a爱片免费观看看| 全区人妻精品视频| 18禁黄网站禁片免费观看直播| 色综合站精品国产| 国产视频一区二区在线看| av天堂在线播放| or卡值多少钱| 美女高潮的动态| 亚洲,欧美,日韩| 2021天堂中文幕一二区在线观| 舔av片在线| 51国产日韩欧美| 精品人妻一区二区三区麻豆 | 中文字幕人成人乱码亚洲影| 欧美黄色片欧美黄色片| 性色av乱码一区二区三区2| 国产69精品久久久久777片| 麻豆一二三区av精品| 99国产精品一区二区三区| 深夜a级毛片| 亚洲av一区综合| 欧美黄色淫秽网站| 午夜视频国产福利| 成人国产一区最新在线观看| 高清日韩中文字幕在线| 亚洲aⅴ乱码一区二区在线播放| 99久国产av精品| 国产精品1区2区在线观看.| 午夜影院日韩av| 精品午夜福利在线看| 日韩中文字幕欧美一区二区| 久久精品国产自在天天线| 老鸭窝网址在线观看| 亚洲精品乱码久久久v下载方式| 激情在线观看视频在线高清| 国产真实伦视频高清在线观看 | 欧美bdsm另类| 国产成人福利小说| 好男人在线观看高清免费视频| 欧美另类亚洲清纯唯美| 成人永久免费在线观看视频| 亚洲精品亚洲一区二区| 成年女人永久免费观看视频| 男插女下体视频免费在线播放| 精品99又大又爽又粗少妇毛片 | 看黄色毛片网站| 成人av一区二区三区在线看| 欧美精品国产亚洲| 国产中年淑女户外野战色| 精品久久久久久久久久免费视频| 不卡一级毛片| www.999成人在线观看| 欧美色视频一区免费| 真人做人爱边吃奶动态| 国产一区二区三区视频了| 久久精品国产清高在天天线| 男女视频在线观看网站免费| 麻豆av噜噜一区二区三区| 小蜜桃在线观看免费完整版高清| 色哟哟哟哟哟哟| 国产91精品成人一区二区三区| 成人av在线播放网站| 欧美日韩瑟瑟在线播放| 热99在线观看视频| 日韩av在线大香蕉| av在线老鸭窝| 日韩欧美国产一区二区入口| 久久久久久久精品吃奶| 欧美极品一区二区三区四区| 欧美三级亚洲精品| 亚洲精品粉嫩美女一区| 俺也久久电影网| 国产伦精品一区二区三区四那| 在线天堂最新版资源| 99久久精品热视频| 99在线视频只有这里精品首页| 可以在线观看毛片的网站| 身体一侧抽搐| 九色成人免费人妻av| 国产成人aa在线观看| a级一级毛片免费在线观看| 人人妻,人人澡人人爽秒播| 国产亚洲欧美在线一区二区| 亚洲av不卡在线观看| 悠悠久久av| 天天躁日日操中文字幕| 亚洲在线观看片| 大型黄色视频在线免费观看| 日韩av在线大香蕉| 一本精品99久久精品77| 波多野结衣巨乳人妻| 亚洲真实伦在线观看| 男女视频在线观看网站免费| 精品久久久久久久人妻蜜臀av| 嫩草影视91久久| 国内毛片毛片毛片毛片毛片| 乱码一卡2卡4卡精品| 午夜影院日韩av| 男女视频在线观看网站免费| av在线老鸭窝| 久久精品人妻少妇| 免费看美女性在线毛片视频| 精品人妻一区二区三区麻豆 | 亚洲国产欧美人成| 亚洲最大成人手机在线| 91麻豆av在线| 三级男女做爰猛烈吃奶摸视频| 久久久久久久久久黄片| 一级作爱视频免费观看| 国产伦在线观看视频一区| 久久亚洲精品不卡| 欧美成狂野欧美在线观看| 免费一级毛片在线播放高清视频| 成人三级黄色视频| 性插视频无遮挡在线免费观看| 成人一区二区视频在线观看| 久久精品夜夜夜夜夜久久蜜豆| 日韩亚洲欧美综合| 日日摸夜夜添夜夜添小说| 97碰自拍视频| 欧美成人性av电影在线观看| 欧美极品一区二区三区四区| 午夜福利在线观看免费完整高清在 | 久久精品国产清高在天天线| 嫩草影院精品99| 国产久久久一区二区三区| 中文字幕人成人乱码亚洲影| 欧美中文日本在线观看视频| 少妇被粗大猛烈的视频| 校园春色视频在线观看| 午夜a级毛片| 精品午夜福利视频在线观看一区| 男女下面进入的视频免费午夜| 人妻久久中文字幕网| 五月伊人婷婷丁香| 日韩欧美在线二视频| 久久精品夜夜夜夜夜久久蜜豆| 人妻久久中文字幕网| 深夜a级毛片| 男人狂女人下面高潮的视频| 欧美bdsm另类| 99久久成人亚洲精品观看| 国产蜜桃级精品一区二区三区| 午夜福利成人在线免费观看| 午夜a级毛片| 免费黄网站久久成人精品 | 久久久久久久亚洲中文字幕 | 91狼人影院| 嫩草影院精品99| 亚洲国产日韩欧美精品在线观看| 偷拍熟女少妇极品色| 国产成+人综合+亚洲专区| 日韩欧美免费精品| 欧美激情久久久久久爽电影| 一区二区三区免费毛片| 女同久久另类99精品国产91| 日韩高清综合在线| 中文亚洲av片在线观看爽| 亚洲五月婷婷丁香| 麻豆久久精品国产亚洲av| av女优亚洲男人天堂| 在线观看av片永久免费下载| 中文字幕精品亚洲无线码一区| 欧美又色又爽又黄视频| 亚洲精品456在线播放app | 国产精品久久久久久人妻精品电影| 伦理电影大哥的女人| 欧美黑人巨大hd| 又紧又爽又黄一区二区| 在现免费观看毛片| 日韩精品青青久久久久久| 免费在线观看亚洲国产| 18禁黄网站禁片免费观看直播| 成人亚洲精品av一区二区| 一a级毛片在线观看| 亚洲avbb在线观看| 香蕉av资源在线| av在线老鸭窝| 成年女人永久免费观看视频| 国产伦在线观看视频一区| 精品免费久久久久久久清纯| .国产精品久久| 亚洲欧美清纯卡通| 悠悠久久av| 国产成人av教育| 亚洲真实伦在线观看| 久久久国产成人精品二区| 成人三级黄色视频| 丰满人妻熟妇乱又伦精品不卡| 国产精品,欧美在线| 国产精品一区二区免费欧美| 国产三级黄色录像| 成人永久免费在线观看视频| 毛片一级片免费看久久久久 | 久久久久亚洲av毛片大全| 久久久久性生活片| 一a级毛片在线观看| 日本在线视频免费播放| 十八禁网站免费在线| 午夜视频国产福利| 嫩草影院新地址| 国产乱人伦免费视频| 高清毛片免费观看视频网站| ponron亚洲| 日本撒尿小便嘘嘘汇集6| 久久国产乱子免费精品| 尤物成人国产欧美一区二区三区| 国产国拍精品亚洲av在线观看| 久久久久久久久中文| 欧美日韩乱码在线| 久久国产精品影院| 成人性生交大片免费视频hd| 自拍偷自拍亚洲精品老妇| 老司机福利观看| 免费av毛片视频| 夜夜躁狠狠躁天天躁| 成年女人永久免费观看视频| 一个人看视频在线观看www免费| 啪啪无遮挡十八禁网站| 女同久久另类99精品国产91| 精品一区二区三区视频在线| 午夜福利18| 日韩欧美在线二视频| 女生性感内裤真人,穿戴方法视频| 久久久久精品国产欧美久久久| 五月玫瑰六月丁香| 国产亚洲精品av在线| 欧美zozozo另类| 99国产精品一区二区三区| av在线天堂中文字幕| 波多野结衣高清无吗| 嫁个100分男人电影在线观看| 成年女人毛片免费观看观看9| 又紧又爽又黄一区二区| av在线天堂中文字幕| 夜夜躁狠狠躁天天躁| 97超视频在线观看视频| 久久精品国产亚洲av天美| 精品国产三级普通话版| av女优亚洲男人天堂| 每晚都被弄得嗷嗷叫到高潮| а√天堂www在线а√下载| 啦啦啦观看免费观看视频高清| 亚洲片人在线观看| 国产69精品久久久久777片| 12—13女人毛片做爰片一| 亚洲最大成人手机在线| av福利片在线观看| 色播亚洲综合网| 内射极品少妇av片p| 波多野结衣高清作品| 国产大屁股一区二区在线视频| 深夜a级毛片| 在线免费观看不下载黄p国产 | a级一级毛片免费在线观看| 国产一区二区激情短视频| 高潮久久久久久久久久久不卡| 草草在线视频免费看| 99久国产av精品| 男人舔奶头视频| 最后的刺客免费高清国语| 国产熟女xx| 女生性感内裤真人,穿戴方法视频| 内地一区二区视频在线| 亚洲国产精品sss在线观看| 首页视频小说图片口味搜索| 欧美+亚洲+日韩+国产| 亚洲欧美清纯卡通| 亚洲 欧美 日韩 在线 免费| 欧美成人一区二区免费高清观看| 欧美最新免费一区二区三区 | 一级av片app| 亚洲自拍偷在线| 很黄的视频免费| 成人av一区二区三区在线看| 亚洲人成电影免费在线| 人人妻,人人澡人人爽秒播| 国产日本99.免费观看| 日本五十路高清| 午夜激情欧美在线| 神马国产精品三级电影在线观看| 精品熟女少妇八av免费久了| 亚洲av二区三区四区| 成人午夜高清在线视频| 免费看光身美女| 偷拍熟女少妇极品色| 成人永久免费在线观看视频| 在线观看美女被高潮喷水网站 | 日韩成人在线观看一区二区三区| 国产精品亚洲av一区麻豆| 亚洲精品亚洲一区二区| 精品一区二区三区av网在线观看| 欧美在线黄色| 亚洲美女搞黄在线观看 | 如何舔出高潮| 神马国产精品三级电影在线观看| 简卡轻食公司| 午夜福利在线在线| 欧美黄色淫秽网站| 一级a爱片免费观看的视频| 欧美丝袜亚洲另类 | 久久精品国产清高在天天线| 国产成人a区在线观看| 精品久久久久久久久av| 在线播放无遮挡| 91在线精品国自产拍蜜月| 天天一区二区日本电影三级| 99久久无色码亚洲精品果冻| 亚洲精品一卡2卡三卡4卡5卡| 国产成人影院久久av| 国产免费一级a男人的天堂| x7x7x7水蜜桃| 深夜a级毛片| 亚洲avbb在线观看| 又粗又爽又猛毛片免费看| 国产亚洲欧美98| 久久这里只有精品中国| 国产大屁股一区二区在线视频| 精品久久国产蜜桃| 好看av亚洲va欧美ⅴa在| 最近中文字幕高清免费大全6 | 免费在线观看日本一区| 国产一区二区在线av高清观看| 国产亚洲精品综合一区在线观看| 琪琪午夜伦伦电影理论片6080| 看片在线看免费视频| 深爱激情五月婷婷| 少妇高潮的动态图| 国模一区二区三区四区视频| 午夜两性在线视频| 亚洲欧美日韩高清专用| 免费看a级黄色片| 欧美日韩亚洲国产一区二区在线观看| 美女黄网站色视频| 少妇的逼水好多| 狠狠狠狠99中文字幕| 国产精品98久久久久久宅男小说| 日韩欧美精品免费久久 | 99精品久久久久人妻精品| 亚洲专区中文字幕在线| xxxwww97欧美| 搡老岳熟女国产| 午夜久久久久精精品| 十八禁网站免费在线| 欧美日韩国产亚洲二区| 亚洲国产精品成人综合色| 国语自产精品视频在线第100页| 亚洲欧美清纯卡通| 两个人的视频大全免费| xxxwww97欧美| 午夜a级毛片| 亚洲三级黄色毛片| 日韩欧美免费精品| 日韩国内少妇激情av| 午夜老司机福利剧场| 12—13女人毛片做爰片一| 亚洲成a人片在线一区二区| 亚洲精品成人久久久久久| 乱码一卡2卡4卡精品| 女生性感内裤真人,穿戴方法视频| 色综合婷婷激情| 日本a在线网址| 又黄又爽又免费观看的视频| 老鸭窝网址在线观看| 中文亚洲av片在线观看爽| 男人和女人高潮做爰伦理| 国产精品一区二区性色av| 简卡轻食公司| 国产三级中文精品| 欧美丝袜亚洲另类 | 三级国产精品欧美在线观看| 美女 人体艺术 gogo| 久久国产乱子免费精品| 校园春色视频在线观看| 欧美bdsm另类| 十八禁国产超污无遮挡网站| 18禁在线播放成人免费| 亚洲专区国产一区二区| 性色avwww在线观看| 国产乱人视频| 亚洲人成网站在线播| 国产欧美日韩精品亚洲av| 色5月婷婷丁香| 国产精品久久视频播放| 人妻夜夜爽99麻豆av| 成人鲁丝片一二三区免费| 久久精品国产清高在天天线| 看片在线看免费视频| 午夜亚洲福利在线播放| 亚洲精品在线美女| 美女高潮的动态| 亚洲av.av天堂| 国产精品电影一区二区三区| 在线观看美女被高潮喷水网站 |