《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 輕量級腳本引擎的設計與實現
輕量級腳本引擎的設計與實現
來源:微型機與應用2011年第15期
張貝克,符盛寶
(北京化工大學 安全科學與監控工程中心,北京 100029)
摘要: 通過嵌入腳本引擎為應用程序提供腳本支持是實現應用程序可定制和可擴展的有效方法,但現存的腳本語言難于掌握,引擎龐大使應用程序的效率降低。為了解決該問題,設計了語法簡單易學的腳本語言Vblet,實現了Vblet的輕量級腳本引擎。該引擎支持腳本無縫地使用應用程序實現的類和函數,并具有很好的性能。
Abstract:
Key words :

摘  要: 通過嵌入腳本引擎為應用程序提供腳本支持是實現應用程序可定制可擴展的有效方法,但現存的腳本語言難于掌握,引擎龐大使應用程序的效率降低。為了解決該問題,設計了語法簡單易學的腳本語言Vblet,實現了Vblet的輕量級腳本引擎。該引擎支持腳本無縫地使用應用程序實現的類和函數,并具有很好的性能。
關鍵詞: 腳本引擎;腳本語言;可擴展;可定制;二次開發

 腳本語言憑借強大的描述能力和靈活的語法結構,使得為應用程序提供腳本支持從而進行混合語言開發成為實現可擴展和可定制的有效方案[1]。出于穩定性和開發時間限制的考慮,開發人員傾向于嵌入現有腳本引擎的方法為應用程序提供腳本支持,如嵌入Python引擎為應用程序提供Python腳本支持,或使用Microsoft提供的ActiveX Scripting技術為應用程序嵌入VBScript引擎或JavaScript引擎提供相應的腳本支持。但是這樣方法靈活性較差,應用程序必須接受現有腳本引擎的體積和性能要求,這對運行在低硬件條件下的應用程序,或者是只要求進行簡單規則計算的小型應用程序來說,這種方法在效率上沒有優勢[2]。而且有些現有腳本語言比較難學,使得用戶把太多時間花在語言的學習上。因此,需要一個輕型的腳本引擎,能夠解釋運行一門語法簡單易學的腳本語言,該腳本語言對于工程應用領域的非正式程序員,可以經過短時間的學習培訓或者不經過學習就能掌握并使用。
 針對以上問題,本文在自行設計的腳本語言Vblet的基礎上,開發實現了Vblet的輕型腳本引擎,支持腳本引擎被嵌入在C++實現的應用程序上。Vblet語言語法簡單,繼承了在非專業程序員中具有較高聲譽的VBA語言,并且借鑒了Python語言的部分功能,使得用戶能夠專注于問題的解決而不是語法的學習上。
1 腳本引擎概述
 腳本引擎[3]是一個加載、解釋執行腳本,并負責與外界進行交互的程序。腳本引擎一般很少獨立存在,而是要嵌入應用程序中以擴展應用程序的行為,這個被嵌入腳本引擎的應用程序稱為宿主程序。
 嵌入的腳本引擎如圖1所示。圖1中,腳本引擎通過某種交互接口,根據腳本源程序描述的邏輯來控制應用系統。根據宿主程序和腳本引擎之間的緊密層次不同,可將通信方式分為:(1)基于二進制接口的通信。(2)基于公共運行時環境的通信。(3)基于源碼接口的通信。本文實現的基于源碼的交互接口,即通信雙方基于共同的實現語言,在源代碼級上相互調用。

 除了交互接口,作為腳本的解釋運行平臺,腳本引擎包含了一個編譯器前端程序,前端程序負責將腳本源代碼經過詞法分析、語法語義分析后生成字節碼格式的指令序列,然而這些指令序列是不能在目標機器上執行的。因此,在腳本引擎的最底層還要一個執行字節碼指令的程序,這個程序即稱為虛擬機。
2 腳本語言的設計
 在開發實現腳本引擎之前,先要確定引擎要解釋執行的對象,即腳本語言。本文設計的腳本語言Vblet是VBA(Visual Basic for Applications)的子集,而VBA的語法簡單易學,在非專業程序員中有很大的用戶量,享有很高的聲譽。Vblet簡化了VBA語法,去掉了VBA語法中的一些限制,此外還根據需要擴展了部分功能。下面是Vblet不同于VBA的一些重要的語法特性:
 (1)交互執行。這是借鑒了Python語言交互執行的語法特點,使得程序員可以單行執行語句或計算表達式,而不限于一定要把代碼封裝在代碼塊中。
 (2)不需要變量和參數聲明。VBlet是動態語言,變量的類型由腳本引擎從上下文中確定,變量可以不經過聲明就可以使用。
 (3)去掉了部分運算符,比如冒號運算符和逗號運算符。
 為了提高性能,Vblet去除了VBA中一些庫函數的支持,只保留一些在工程應用領域比較常用的數學計算函數。
3 腳本引擎實現方案
 Vblet引擎除了IDE的開發使用了MFC類庫之外,其他模塊的實現都是使用標準C++編寫的,這使得Vblet引擎只需要重新編寫IDE,或者修改小部分的核心代碼就能夠移植到其他平臺上。
3.1 前端編譯程序的實現
 前端編譯程序將腳本源程序的字符流經過詞法分析、語法分析和語義分析后,生成字節碼表示的指令流,同時進行語法檢查,對語法錯誤給出提示信息。另外,為了支持斷點調試和異常信息顯示,每行源程序和生成的字節碼指令的對應關系也要在這里建立。
 前端編譯器一般可以通過一些自動生成工具生成,但是這些自動生成的代碼效率都不夠高或者不好閱讀,因此本文采用手寫的方式實現前端編譯程序。前端程序由Scanner類和Compiler類兩大主要模塊組成。Scanner類主要負責源程序的詞法分析,它根據規定的詞法規則把源程序拆分成詞法單元,并進行詞法檢查。Compiler類則充當語法分析、語義分析和字節碼生成,而且這三者一步完成,中間不產生任何數據。另外,語法分析和語義分析出現的錯誤由類Parse_error負責處理。前端編譯器序列圖如圖2所示。

 

 

 Vblet語法分析采用自頂向下的預測分析法,驅動Scanner對象的token()成員函數為其產生一個詞法單元,當需要后退時使用Scanner對象的stoken()方法保存一個不符合當前產生式規則的詞法單元,以便下一個產生式規則的分析。類Compiler只包含一個public權限的成員函數Compile(),當Compile()被調用時,將生成的對應編譯單元的字節碼序列和符號信息、常量數據封裝在ByteCode對象中,并返回給被調用者。
3.2 虛擬機的實現
 Vblet虛擬機是一個模擬的運行時環境,是對Vblet腳本邏輯做出響應的地方。根據體系結構的不同,虛擬機分為如下兩種類型:(1)寄存器虛擬機;(2)堆棧虛擬機。寄存器虛擬機具有相對較高的執行效率,但實現機制復雜。而堆棧虛擬機實現起來則相對比較簡單,但是需要付出一定的性能代價。堆棧虛擬機由于Java和Python的成功而被證明它在模擬計算平臺上的優勢[4-5]。因此,本文也將采用堆棧虛擬機作為Vblet腳本引擎的計算平臺。
 如圖3所示,除了模擬處理器執行字節碼指令外,Vblet虛擬機還包含了1個堆棧和PC、SP、FP 3個寄存器。堆棧是虛擬機的運行時棧,是函數調用和保存中間變量的地方,是整個虛擬機最核心的數據結構。程序計數器寄存器PC是記錄下一條要執行指令的序號;棧頂寄存器SP是在堆棧變化的過程中保存堆棧的頂部位置;幀指針寄存器FP則相當于真實處理機的基址寄存器BX,保存當前函數工作棧的棧底位置。這些數據結構表示了整個Vblet虛擬機的運行時環境。

 Vblet是一種動態語言,所有數據類型的數據值在Vblet虛擬機中只以一種數據結構VALUE存在,VALUE的定義如下:
struct VALUE
{
        short int v_type;//數據類型
        union V
        {
            bool v_bool;
            int v_integer;
            double v_float;
            string* v_string;//指向字符串類型數據
            ARRAY v_array;
//指向數組數據,ARRAY是封裝VALUE數組的類
            CODE* v_code;
//指向字節碼;CODE是封裝字節碼的類
            VlExtObject* v_extobj;
//指向用戶注冊類的對象
        } v;
        …//操作VALUE和各種數據類型間轉換的函數
}
 在VALUE結構體中,成員v_type表示了當前VALUE對象保存的數據類型。VALUE不僅封裝了Vblet的所有基本數據類型,也封裝了數組和字節碼指令流等。實際上,虛擬機的堆棧和SP、FP寄存器所保存的就是VALUE對象或是VALUE對象的引用。
 Vblet虛擬機在執行字節碼指令的過程中,要經常讀寫堆棧數據。因此,為了提高堆棧讀寫操作的速度,從而提高虛擬機性能,在實現過程中,定義了如下宏來進行堆棧操作:
#define PUSH(v)     (*(++sp))=v    //將值v壓入棧頂
#define POP         (--sp)        //彈s出棧頂
#define PUSHN(n)     (sp+=(n)) //將n個未定義的值壓棧
#define POPN(n)     (sp-=(n))//從棧中彈出n個元素
#define SP(n)                   (*(sp-(n)))
//取棧頂一個第n個元素的值
#define FP(n)                 (*(fp-(n)))
//取幀基地址以下第n個元素的值
 Vitual虛擬機指令系統共有16條數據傳輸指令、21條運算指令、5條轉移指令和5條支持調試、異常和錯誤處理的指令,而執行指令的機構——處理器則由函數interpret()來模擬。interpret()函數從指令序列中逐條取得操作碼指令,根據操作碼的不同調用各自的處理函數。整個虛擬機的實現封裝在VVM類中。
3.3 集成接口的實現
 腳本引擎的集成接口是指將腳本引擎嵌入應用程序中擴展后者功能時,負責兩者之間通信的API。所謂腳本引擎與應用程序的通信,是指腳本引擎以動態庫或靜態庫的形式被加載進應用程序中,應用程序向腳本引擎開放特定的全局函數和類及其屬性、方法,使腳本引擎可以調用這些全局函數、創建這些類的實例,并且通過該實例實現屬性的訪問和方法的調用。
 為了實現全局函數和類的注冊,需要一些數據結構來表示注冊對象的信息,以便腳本引擎能夠識別并使用注冊對象。相對來說,描述函數的信息比較簡單,只需要一個函數名和一個函數指針,函數指針的定義如下:
 #define VALUE(*extfuncptr)(ARRAY)
 可見,extfuncptr是指向以VALUE數組為參數、返回一個VALUE值的函數,extfuncptr函數指針統一了參數類型、個數和返回值類型不同的所有函數聲明。因此,需要把用一個能夠被extfuncptr指向的全局函數將注冊函數“包裝”起來。在包裝函數中,需要將Vblet腳本傳遞過來的VALUE參數轉換為C++數據類型的參數,并調用注冊函數取得C++數據類型的返回值,再將返回值轉換成VALUE值返回給腳本引擎。
 一個類的類信息包括類名、大小、初始化函數指針、類注冊的方法和屬性,用結構體VLEXTCLASSINFO表示,如圖4所示。

 此外,還需要一些機制使得腳本引擎能夠引用腳本創建的注冊類的實例對象。把這個表示所有注冊類對象的“始祖”稱為VlExtObject。VlExtObject包含一個表示引用計數的成員變量refcnt和兩個純虛函數GetExtClassInfo()和RegisterConstructor()。任何應用程序需要向腳本引擎注冊的自定義類都必須繼承自類VlExtObject,每個注冊類包含一個靜態的VLEXTCLASSINFO實例,函數GetExtClassInfo()返回該VLEXTCLASSINFO實例,函數RegisterConstructor()將向該VLEXTCLASSINFO實例指定類實例的初始化函數——構造器的包裝函數。此外,應用程序注冊類還可以有自己的函數來向VLEXTCLASSINFO實例對象添加自己的方法和屬性。在腳本引擎內部,通過使用指針來操作注冊類的實例。因此,在腳本中當這樣的對象被復制時,實際上復制的是對象的指針,并且該對象的引用計數refcnt加1,而當對象的引用在腳本中離開其作用域時,并不立即銷毀對象,而是將refcnt減1后如果為零才會使用delete將其銷毀。
 整個腳本引擎被封裝成單件模式的CVbletEngine類中,該類包含了腳本引擎的啟動、初始化、腳本的運行和停止等操作。CVbletEngine和集成接口的聲明對應用程序可見,而集成接口始終與腳本引擎的虛擬機部分連接,在虛擬機指令集足夠完善的情況下,前端編譯器和集成接口的分離使得前端編譯器對應用程序是透明的,這樣,當需要增加腳本功能的時候,應用程序可以不做修改。
4 與Python的性能比較
 為了測試Vblet腳本引擎是否達到輕量級的要求,在Intel 586 PC機上用該腳本引擎解釋執行如下這段Vblet腳本代碼:
function main(void)
  i=0
  a=121
  b=212
  while i<100000000
      a=a+b
      a=a-b
      a=a*b
      a=a/b
      i=i+1
  ewhile
end funtion
 同時在同一平臺上用Cpython2.6解釋執行對應的Python程序,最后通過對兩者的初始化時間、編譯時間、運行時間、內存使用量和生成字節碼個數進行了比較,結果如表1所示。

 從表1可以看出,雖然Vblet的編譯時間高于CPython,但是初始化時間要遠遠優于Cpython。這是因為Python包含了強大的功能模塊,引擎運行前需要加載這些模塊,并初始化復雜的運行時環境和類型環境。另外,由于Vblet的類型機制比Python簡單,虛擬機在數據的存取上比CPython更快,即使生成的字節碼個數略多于CPython,也能達到更優的運行時間。再加上Vblet在內存上的優勢,表明Vblet完全可以作為一個輕型的腳本引擎嵌入在應用程序中。
 基于嵌入或擴展腳本的混合語言編程是實現可定制工程應用系統的有效方法。本文通過借鑒VBA和Python的語法特點設計了語法簡單易學的腳本語言Vblet,設計并實現了Vblet的基于堆棧虛擬機的輕量級腳本引擎。測試結果表明,腳本引擎能夠正確運行Vblet代碼,占有較小的內存空間,在進行簡單的規則計算時具有明顯的執行效率。同時,腳本引擎對被嵌入C++應用程序的支持,使得腳本能夠透明地使用應用程序注冊的類和函數,從而達到增強應用系統靈活性、可定制性和擴展性的目的。
參考文獻
[1] JOHN K. Ousterhout scripting: higher-level programming for the 21st century[J]. IEEE Computer Magazine,1998,31(3).
[2] XIE Q, LIU J, CHOU P H. Tapper: a lightweight scripting engine for highly constrained wireless sensor nodes[C].Information Processing in Sensor Networks, 2006. IPSN 2006. The Fifth International Conference on, 2006:342-349.
[3] Alex Varanese.Game Scripting Mastery[M]. Premier Press,2003.
[4] LINDHOLM T, YELLIN F. Java virtual machine specification[M].Boston, MA, USA:Addison-Wesley Longman Publishing Co., Inc,1999.
[5] ALFRED R S, AHO V, JEFFREY D. Ullman. compilers: principles, techniques, and tools[M]. 2rd. Boston: Pearson/Addison Wesley, 2007.
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲日韩乱码一区二区三区四区 | 欧美一级黄色网 | 久久亚洲天堂 | 欧美日韩在线视频播放 | 羞羞视频2023| 丰满少妇弄高潮了www | 在线免费播放av | 日韩精品91偷拍在线观看 | 欧美三级大片 | 尤物视频网站在线观看 | 91性高湖久久久久久久久_久久99 | 精品国产色 | 一二三不卡视频 | 亚洲高清色综合 | 日韩精品久久久久久免费 | 国产三级精品在线观看 | 免费吸乳羞羞网站视频 | lutube成人福利在线观看污 | 午夜福利理论片高清在线观看 | 欧美乱人伦人妻中文字幕 | 日日干视频| zzjizzji亚洲日本少妇 | 一区二区三区日本久久九 | 国产九一视频 | 91嫩草国产线观看亚洲一区二区 | 精品久久久免费视频 | 欧美黑人一级爽快片淫片高清 | 波多野结衣视频播放 | 鲁在线视频 | 国产欧洲精品亚洲午夜拍精品 | 激情黄色小视频 | 国产黄色免费在线观看 | 波多野结衣中文字幕一区二区三区 | 国产精品亚洲欧美 | 91精品国产乱码久久久久久张柏芝 | 99精品视频免费在线观看 | 亚洲涩综合| 精品剧情v国产在线观看 | 中文字幕日产乱码一二三区 | 一区二区三区无码高清视频 | 夜鲁鲁鲁夜夜综合视频 | 国产精品第六页 | 亚洲一区二区三区四区五区中文 | 欧美性在线观看 | 你懂的网址国产,欧美 | 中文字幕一区二区在线视频 | 欧美wwwxxxx| 日本无遮羞打屁股网站视频 | 粉嫩粉嫩一区性色av片 | 免费爱爱视频网站 | 免费在线日本 | jizz免费在线观看 | 欧美成人午夜影院 | 三级黄色小视频 | 日韩另类在线 | 伊人情人色综合网站 | 亚洲五码在线 | 人妖一区二区三区 | 黄色大全免费看 | 婷婷激情视频 | 国产欧美一区二区在线 | 丰满熟妇被猛烈进入高清片 | 国产一区二区不卡老阿姨 | www国产亚洲 | 无码国产精品一区二区免费式影视 | 国产精品久久二区 | 久久久久久久人妻无码中文字幕爆 | 国产视频污 | 日日爱69 | 国产又爽又黄又湿免费99 | 黄色免费网站视频 | 亚洲激情在线 | 无码一区二区波多野结衣播放搜索 | 天天色天天操天天 | 久久精品国产成人av | 国产一区二区视频在线播放 | 国产美女精品一区二区三区 | 精品国产乱码久久久久久鸭王1 | 女性向小h片资源在线观看 女性隐私黄www网站视频 | 久久九九免费视频 | 伊人久久成人网 | 亚洲成人在线观看视频 | 精品欧美一区二区三区在线观看 | 精品国产乱码久久久久久免费 | 极品无码国模国产在线观看 | 久久精品中文字幕第一页 | 九九热免费在线 | 西方裸体在线观看 | 无码av最新清无码专区吞精 | 欧美在线 | 男女一进一出超猛烈的视频不遮挡在线观看 | 欧美激情国产精品日韩 | 99色网| 亚洲自拍激情 | 日韩精品无码一区二区三区av | 国产精品麻豆色哟哟av | 色综合av在线 | 女超人h版av在线看 女儿的朋友4在线观看 | 五月丁香六月综合缴情在线 | 最新亚洲人成无码网www电影 | 最新高清无码专区 | 亚洲国产麻豆 | 与黑人做爰的日本人 | 成人午夜免费无码区 | 色六月婷婷 | 女人下面流白浆的视频 | 91porn国产成人福利论坛 | 国内精品国产成人国产三级 | 一本色道无码不卡在线观看 | 国产精品一区二区性色av | 麻豆av网站 | 亚洲国产婷婷综合在线精品 | 青青草视频免费观看 | 96久久| 深夜福利国产 | 久久精品成人免费国产片桃视频 | 亚洲男人天堂视频 | 精品亚洲成a人无码成a在线观看 | 日日操日日 | 风间由美不戴奶罩邻居勃起av | 日韩免费视频网站 | 51国产偷自视频区视频小蝌蚪 | 国产欧美激情 | 亚洲色偷拍区另类无码专区 | 国产免费又粗又猛又爽 | 色婷婷噜噜久久国产精品12p | 国产精品国产三级国产专业不 | 国产精品白嫩极品美女视频 | 国产一级淫片a按摩推澡按摩 | 怡红院一区 | 亚洲精品久久久一线二线三线 | 亚洲国产中文在线二区三区免 | 欧美一级免费 | 欧美日韩成人免费看片 | 天天久久久 | 久久国产精品网 | 老色鬼a∨在线视频在线观看 | 成人涩涩日本国产一区 | 中国女人内谢69xxxx | 久久一本久综合久久爱 | 蜜桃aaa | 97精品一区 | 毛片视频观看 | 精品久久久久久久人人人人传媒 | 专干老肥女人88av | 成人夜夜 | 午夜福制92视频 | 中文字幕在线日亚州9 | 久操久操久操 | 欧美做爰全过程免费看 | 丰满少妇大力进入av亚洲葵司 | av在线天堂网 | 99久久精品免费看国产小宝寻花 | 成年人网站免费 | 激情视频一区 | 波多野结衣电车痴汉 | 久久亚洲精品中文字幕冲田杏梨 | 国产又爽又黄又无遮挡的激情视频 | 中文在线字幕观 | 毛葺葺老太做受视频 | 777奇米888色狠狠俺也去 | 日韩伦理av | 久久国产精品免费一区二区三区 | 国产精品二区在线 | 国产精品久久久久9999吃药 | 免费在线看污视频 | 欧美色综合网 | www,日韩| 夜夜av| 男女性潮高清免费网站 | 人妻熟女一区二区三区app下载 | 一级片免费观看视频 | 国产精品久久久久久久免费看 | 中文字幕日韩欧美 | 天堂一码二码专区 | 99噜噜噜在线播放 | 国产精品无码无卡在线播放 | 亚洲中文无码永久免费 | 九九涩| 日本疯狂爆乳xxxx | 免费人成激情视频在线观看冫 | 一区二区乱子伦在线播放 | 四虎精品8848ys一区二区 | 柳岩高潮三级a观看 | 亚洲精品无码久久久久久久 | 国产一区不卡 | 色综合av综合无码综合网站 | 沈阳45老熟女高潮喷水亮点 | 国产调教打屁股xxxx网站 | 国产三级网| 日韩毛片| 精品国产污污免费网站 | 日韩视频网址 | 亚洲中文字幕av无码区 | www.91亚洲| 天天躁日日躁狠狠躁av | 山村大伦淫第1部分阅读小说 | 国产av午夜精品一区二区入口 | 亚洲v无码一区二区三区四区观看 | 国产精品无码v在线观看 | 成人福利av | mm1313亚洲国产精品无码试看 | 无码人妻黑人中文字幕 | 日韩在线精品 | 国产欧美日韩综合精品一区二区 | 私色综合网 | 奇米777四色在线精品 | 色婷婷av一区二区三区之红樱桃 | 三个男吃我奶头一边一个视频 | 香港三级日本三级妇三级 | 久久9999久久免费精品国产 | 午夜激情网址 | 免费a级| 成人免费xxxxx在线观看 | 日韩三级视频在线 | 国产簧片| 亚洲乱码av | 欧产日产国产精品98 | 免费av在线网站 | 无遮无挡爽爽免费毛片 | 国产精品成人观看视频国产奇米 | 久久99精品久久久久久hb无码 | 亚洲看| 日本猛少妇色xxxxx猛叫小说 | 中文字幕av日韩精品一区二区 | 免费午夜网站 | a片在线免费观看 | 色老头一区二区 | 五月激情在线 | 天天插天天色 | 麻豆91精品91久久久的优点 | 亚洲日本三级 | 久操热线 | 久久免费的精品国产v∧ | 亚洲人精品亚洲人成在线 | 久久99精品久久久大学生 | 91视频在线观看免费 | 9999精品| 亚洲日韩日本中文在线 | 欧美中文一区 | 国产精品成 | 正在播放精彩绝伦对白 | 亚洲天堂视频在线观看 | 依依综合网 | 成人乱人乱一区二区三区 | 天天做天天爱天天综合网2021 | 国产在线精品二区 | 国产三级日本三级在线播放 | 亚洲午夜在线视频 | 日韩三级网 | 欧美激情999| 911国产在线| 日韩中文字幕一区二区 | 五月天综合激情 | 狠狠干激情 | 国产69精品久久久久孕妇大杂乱 | 亚洲熟妇自偷自拍另类 | 福利一区二区三区视频在线观看 | 熟妇无码乱子成人精品 | 在线а√天堂中文官网 | 91中文字幕视频 | 老司机午夜精品99久久免费 | 中文在线免费观看入口 | 国产果冻豆传媒麻婆 | 又硬又粗又大一区二区三区视频 | 影音先锋久久 | 91欧美一区二区 | 免费无码国产v片在线观看 任我撸在线视频 | av字幕在线 | 精品无人国产偷自产在线 | 日本大尺度吃奶做爰久久久绯色 | 欧美在线观看视频一区 | 亚色综合| 精品久久久久久久中文字幕 | 成人性生活视频在线播放 | 中国三级黄色 | 中文字幕观看在线 | 女神西比尔av在线播放 | 人妻无码中文专区久久五月婷 | 大尺度无遮挡激烈床震网站 | 久久色视频 | 国产免费专区 | 日本一区二区欧美 | 亚洲国产精品久久久久久久 | 一级做a爰片性色毛片武则天 | 亚洲丰满熟女一区二区v | 又爽又高潮视频a区免费看 又爽又黄axxx片免费观看 | 国产成人影视 | www.com国产| 人妻饥渴偷公乱中文字幕 | 欧美精品一区二区三区在线 | 成人片黄网站色大片免费 | av亚洲产国偷v产偷v自拍小说 | aaa黄色| 精品视频999| 色又色| 国产男女激情 | 中文字幕综合在线分类 | 亚洲va久久久噜噜噜久久狠狠 | 奇米二区 | 国产精品久久久久久久久免费桃花 | 亚洲成av人影院 | 欧美成人一二三区 | 国产欧美日韩另类在线专区 | 久久久精品免费视频 | 国产成人精品久久二区二区 | 97在线视频人妻无码 | 精品夜色国产国偷在线 | 国产超碰 | 国产精品高清一区二区 | 国产主播在线一区 | 日韩高清黄色 | 亚洲黄色在线观看视频 | 国产主播在线观看 | 欧洲成人综合网 | 性久久久久久久 | 国产精品视频在线观看 | 天天射天天拍 | 国产区精品| 色伊人 | 五月开心激情网 | 日本视频在线观看免费 | 下面一进一出好爽视频 | 欧美激情精品 | 亚洲美女性视频 | 亚洲精品乱码久久久久久蜜桃不爽 | 亚洲专区区免费 | 国产一级免费视频 | 欧美日韩国产麻豆 | 97久久超碰中文字幕 | 国产性猛交xx乱 | 男人天堂影院 | av理伦片 | 久久久久欧美精品999 | 麻豆影视免费观看 | 久久精品79国产精品 | 久久网中文字幕日韩精品专区四季 | 把女邻居弄到潮喷的性经历 | 一级不卡 | www插插插无码免费视频网站 | 欧美一级淫片免费视频欧美辣图 | 欧美日韩性视频 | aa黄色片| 日韩成人午夜 | 免费日本在线 | 高潮毛片又色又爽免费 | 色婷婷av一区二区三区丝袜美腿 | 在线看的av网站 | 久久国精品| 4hu四虎永久在线观看 | 91亚洲成人 | 性生交大片免费看女人按摩摩 | 69国产| 久久婷婷伊人 | 乱人伦精品视频在线观看 | av天堂亚洲国产av | 国内自拍农村少妇在线观看 | a级片久久 | 99国产欧美另类久久久精品 | 国产人与禽zoz0性伦 | 日本爱爱免费视频 | 狠狠色噜噜狠狠狠888米奇视频 | 日韩激情综合网 | 亚洲精品久久久久久久久 | 国产一区二区三区高清在线观看 | 一区二区三区在线 | 欧洲 | 夜色精品| 欧美黄色一区二区 | 美女视频黄a视频免费全程软件axs | 天天夜碰日日摸日日澡性色av | 国产高清成人久久 | 欧美性受xxxx黑人xyx性爽 | 日本丰满大乳奶做爰 | www香蕉视频| pics艳丽的少妇asian | 一本大道香一蕉久 | 色 综合 欧美 亚洲 国产 | 日本在线视频一区二区 | 攵女h高h1v1深与浅 | 天天干夜夜拍 | 亚洲午夜精品久久久久久久久久久久 | 中文字幕无码不卡在线 | 国产亚洲区 | 日本特黄特色大片免费视频老年人 | 国产精品一区二区欧美黑人喷潮水 | 日韩a视频| 可以在线观看的黄色 | 在线观看欧美一区 | 国产午夜亚洲精品理论片色戒 | 亚洲揄拍窥拍久久国产自揄拍 | 精品福利一区二区 | 国产又爽又黄又无遮挡的激情视频 | 亚洲第一免费播放区 | 免费a v网站 | 永久免费a级在线视频 | 亚洲午夜久久久久久久久红桃 | 国精产品一二三区传媒公司 | wwwzzzyyy成人免费 | 怡红院成人av | 色77777| 自拍偷拍五月天 | 成人年人免费看xxxxxxx | 草碰在线 | 国产成人无码a区视频在线观看 | 中文字幕一区二区人妻 | 小sao货水好多真紧h无码视频 | 超碰狠狠操 | 免费专区丝袜调教视频 | 国产成人精品一区二区三区网站观看 | 亚洲黄在线观看 | 国产精品一二三四 | 日产精品久久久久久久性色 | 妞干网这里只有精品 | 免费看男女做爰爽爽视频 | 69sex久久精品国产麻豆 | 国产91玉足脚交在线播放 | 国产乱人伦av在线a麻豆 | 精品无码一区二区三区在线 | 在线观看91视频 | 国产xxxxx在线观看 | 国产精品久久久久久久久人妻 | 69亚洲精品久久久 | av在线亚洲欧洲日产一区二区 | 四虎影视免费永久在线 | 中字av在线| 少妇私密会所按摩到高潮呻吟 | 色多多导航 | av无码精品一区二区三区四区 | av国产成人| 亚洲一区二三区 | 国产成人在线视频 | 女人精69xxxⅹxx入口 | 亚洲国产精品久久久久久久 | 国产在线麻豆精品观看 | 欧美做受高潮1 | 一边添奶一边添p好爽视频 欧美 变态 另类 人妖 | 国产精品怕怕怕免费视频 | 久久免费视频在线观看30 | 牛牛a级毛片在线播放 | 国产成人a人亚洲精v品无码 | 国内精品久久久久久久日韩 | 国产性生交xxxxx免费 | 日韩毛片子 | 精品久久久久久亚洲综合网 | 亚洲不卡中文字幕 | 国产女人与zoxxxx另类 | 最近免费中文字幕mv在线视频3 | 国产国产人免费人成免费 | 亚洲精品久久久久中文第一幕 | 国产高清成人久久 | 56国语精品自产拍在线观看 | 91超碰caoporm国产香蕉 | 国产精品二区一区二区aⅴ 国产精品粉嫩懂色av | 亚洲人精品午夜射精日韩 | 超碰伦理 | 日日骚网 | 48沈阳熟女高潮嗷嗷叫 | 精品理论片 | 日韩欧美国产片 | 另类亚洲激情 | 污污网站在线观看免费 | 亚洲 欧美 色图 | 日本电影一区二区三区 | 天天操人人射 | 一本加勒比hezyo无码资源网 | 国产国产乱老熟女视频网站97 | 久在线观看福利视频69 | 免费不卡av | 欧美丰满bbw | 欧美日韩色另类综合 | 亚洲国产精品久久网午夜 | 精品h视频| 高潮流白浆潮喷在线播放视频 | 美女在线免费视频 | 99热最新 | 国产一区999 | 熟妇人妻久久中文字幕 | 97久久国产亚洲精品超碰热 | 亚洲精品高潮 | 国产精品香蕉在线观看 | 中国精品妇女性猛交bbw | 欧美精品在线观看视频 | 国产精品99久久久久久人 | 国产精品无码一区二区三区免费 | 女人扒开屁股爽桶30分钟 | 亚洲精选一区 | 成人片黄网站a毛片免费 | 久久久久夜夜夜精品国产 | 日本大乳免费观看久久99 | 夜夜精品无码一区二区三区 | 国产精品奇米一区二区三区小说 | 国产av无码专区亚洲精品 | 农民人伦一区二区三区 | 日日摸夜夜添狠狠添久久精品成人 | 91中文字幕在线 | 日日操日日碰 | 黄色a免费 | 亚洲欧洲另类 | 欧美偷拍一区二区三区 | 你懂的视频在线播放 | 亚洲欧美一级 | 国产精品嫩草99a | 91看片淫黄大片91桃色 | 国产xxxx成人精品免费视频频 | 午夜dj高清免费观看视频 | 欧美一级专区 | 亚洲国产精品一区二区第一页 | 亚洲精品久久 | 成人亚洲精品久久久久软件 | 4hu最新网| 国产精品女同一区二区软件 | 日本公妇乱淫免费视频一区三区 | 黄色一区二区三区四区 | 欧美成人精品欧美一级私黄 | 小罗莉极品一线天在线 | 一级特黄aaaaaa大片 | 国产精品a国产精品a手机版 | 中文字日产幕乱码免费 | 国产福利一区二区三区视频 | 午夜国产视频 | 日本性网站| 一级做人爱c黑人影片 | 欧美福利视频在线 | 精精国产xxxx视频在线野外 | 男人猛躁进女人免费播放 | youjizz中国丰满少妇 | 国产欧精精久久久久久久 | 岛国精品一区 | 日本捏奶吃奶的视频 | 美国黄色毛片 | 伊人久久影院 | 91看片就是不一样 | 青青草视频免费观看 | 亚洲你懂的 | 国产精品mm | 91红桃视频 | 日韩精品一区二区不卡 | 国产精品女主播 | 一本色道久久综合无码人妻 | 久久亚洲高潮流白浆av软件 | 自拍偷自拍亚洲精品10p | 久久精品国产免费看久久精品 | 制服丝袜在线视频 | 麻豆乱码国产一区二区三区 | 蜜臀久久99精品久久久久久 | 日本边添边摸边做边爱 | 国产九一视频 | 日本大肚子孕妇交xxx | 亚洲在线免费视频 | 翔田千里x88aⅴ | 爱爱视频网 | 性开放网站 | 国产日韩欧美日韩 | 欧美性生话 | 久草成人在线 | 果冻传媒18禁免费视频 | 激情五月综合网 | 欧美国产免费 | 色综合一区 | 国产爽爽久久影院hd | 午夜精品久久久久久久久久 | 91美女网站| 99精品偷拍在线中文字幕 | 欧美影院adc | 久久久久婷婷 | 亚洲精品午睡沙发系列 | 日本亚洲欧洲色α | 久久99精品九九九久久婷婷 | 四虎院影亚洲永久 | 加勒比一区二区三区 | 国产精品久久久久久久免费大片 | a级免费网站 | 综合国产第二页 | 在线不卡日韩 | 天天干天天色综合网 | 大地资源网第二页免费观看 | 19禁大尺度做爰无遮挡小说 | 正在播放木下凛凛88av | 人妻大战黑人白浆狂泄 | 午夜在线 | 女人的天堂av在线 | 成人av一区二区亚洲精 | 免费一级一片 | 日本骚少妇 | 又黄又爽的视频在线观看网站 | 国产偷窥盗摄一区二区 | 四虎影城库 | а√最新版在线天堂 | 91亚色在线观看 | 天天天色综合a | 国产91成人在在线播放 | 久久久噜噜噜久久中文字幕色伊伊 | 网站在线观看你懂的 | 99热官网| 黑人巨大精品欧美一区二区桃花岛 | 国产人妻精品午夜福利免费 | 爱吃波客今天最新视频 | 女女百合高h喷汁呻吟视频 女女百合国产免费网站 | 神马一区二区三区 | 欧美肥妇bwbwbwbxx | 妖精视频一区二区 | 日韩国产欧美综合 | 午夜天堂精品久久久久 | 国产漂亮白嫩美女在线观看 | 久久精品成人热国产成 | 人妻 偷拍 无码 中文字幕 | 国产免费最爽的乱淫视频a 国产免国产免费 | 天天天色综合 | 免费黄色激情视频 | 后宫一级淫片免费放 | 91精品久久久久 | 欧美多p| 91蜜桃婷婷狠狠久久综合9色 | 国产精品久久久久久久久久尿 | 九一九色国产 |