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

    嵌入式Java編譯器的研究與設(shè)計(jì)*

    2018-04-11 09:13:50,,
    關(guān)鍵詞:代碼生成分析器詞法

    ,,

    (黑河學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,黑河 164300)

    引 言

    隨著計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通信技術(shù)及微電子技術(shù)的迅猛發(fā)展和廣泛應(yīng)用,嵌入式技術(shù)的應(yīng)用已經(jīng)深入到當(dāng)今世界的各個(gè)角落。無(wú)論是工業(yè)現(xiàn)場(chǎng)的數(shù)據(jù)采集與測(cè)控系統(tǒng),還是數(shù)字化家用電器都從單機(jī)、局部的檢測(cè)控制,發(fā)展成為以高性能的嵌入式系統(tǒng)為核心、依靠有線/無(wú)線網(wǎng)絡(luò)、能夠進(jìn)行遠(yuǎn)程監(jiān)測(cè)和控制的復(fù)雜系統(tǒng)。許多高級(jí)的面向?qū)ο蠛兔嫦蚓W(wǎng)絡(luò)的程序設(shè)計(jì)方法大行其道,如C#和Java等漸漸成為程序設(shè)計(jì)的主流,甚至于在嵌入式系統(tǒng)中也出現(xiàn)了J2ME等先進(jìn)的程序設(shè)計(jì)技術(shù)。目前廣泛使用的網(wǎng)絡(luò)編程語(yǔ)言Java是一種適合于分布式計(jì)算的新型面向?qū)ο蟮模m應(yīng)網(wǎng)絡(luò)發(fā)展需要的程序設(shè)計(jì)語(yǔ)言。但JVM(Java虛擬機(jī))對(duì)硬件環(huán)境的要求比較高,需要較大的內(nèi)存和足夠高的運(yùn)行速度,這樣的硬件要求使設(shè)備的成本過(guò)于昂貴,從而限制了Java語(yǔ)言在低檔嵌入式系統(tǒng)中的應(yīng)用。

    所以到目前為止,未能檢索到應(yīng)用于MCS-51系列之類較低檔的8位單片機(jī)的Java編譯器。而作為目前國(guó)內(nèi)使用最多,應(yīng)用最廣的嵌入式內(nèi)核,為了實(shí)現(xiàn)與Internet的連接,依然沿用傳統(tǒng)的設(shè)計(jì)方法,十分費(fèi)時(shí)費(fèi)力,所以只有極少數(shù)實(shí)力雄厚的公司和技術(shù)精湛的個(gè)人才能對(duì)其進(jìn)行開(kāi)發(fā)[1]。因此將Java語(yǔ)言引入MCS-51等廉價(jià)8位單片機(jī)的應(yīng)用設(shè)計(jì),可讓國(guó)內(nèi)嵌入式系統(tǒng)技術(shù)和家庭信息化技術(shù)跟上國(guó)外技術(shù)發(fā)展的潮流,使廣大的中小型公司和初入門(mén)的嵌入式系統(tǒng)設(shè)計(jì)者都能很方便地實(shí)現(xiàn)與網(wǎng)絡(luò)的連接,是一件非常重要和非常緊迫的工作。

    本文的目標(biāo)是針對(duì)國(guó)內(nèi)外嵌入式系統(tǒng)的應(yīng)用現(xiàn)狀,在PC機(jī)的Windows環(huán)境下使用VC 6.0開(kāi)發(fā)工具,提出用編譯的方法,設(shè)計(jì)一款能直接生成MCS-51系列單片機(jī)的目標(biāo)代碼,不依賴操作系統(tǒng)和JVM的支持多線程的嵌入式Java編譯器。使設(shè)計(jì)者能用Java語(yǔ)言編程建立設(shè)備的Web頁(yè)面,使用普通的瀏覽器就可訪問(wèn)各種電器設(shè)備,實(shí)現(xiàn)遠(yuǎn)程的實(shí)時(shí)監(jiān)測(cè)和控制功能。由于Java語(yǔ)言是面向?qū)ο蠛兔嫦蚓W(wǎng)絡(luò)的,比匯編和C語(yǔ)言都更接近自然語(yǔ)言,可以降低嵌入式設(shè)計(jì)技術(shù)的難度,而MCS-51系列單片機(jī)具有最大的應(yīng)用范圍,可以實(shí)現(xiàn)成本低廉的工業(yè)環(huán)境甚至家庭電器的監(jiān)測(cè)和控制。這種基于互聯(lián)網(wǎng)的嵌入式監(jiān)控系統(tǒng)技術(shù)的普及,能使信息技術(shù)在全社會(huì)的各個(gè)方面得到更廣泛的應(yīng)用。

    1 Java技術(shù)與嵌入式系統(tǒng)的矛盾剖析

    Java程序設(shè)計(jì)語(yǔ)言是一種面向?qū)ο蟮?構(gòu)造精美的通用程序設(shè)計(jì)語(yǔ)言,其正在迅速地發(fā)揮它的潛能,改變著軟件開(kāi)發(fā)方式,主要由以下模塊組成:Java源語(yǔ)言、Java的class文件格式、Java應(yīng)用程序接口和JVM。其中,JVM和Java class文件是任何傳統(tǒng)Java運(yùn)行環(huán)境必不可少的。Java源語(yǔ)言通過(guò)編譯器(命令工具Javac)編譯為字節(jié)碼(Class文件),它為Java源程序提供了隔離運(yùn)行環(huán)境的二進(jìn)制形式的服務(wù),這正是Java虛擬機(jī)需要的;軟件程序調(diào)用Java應(yīng)用程序接口訪問(wèn)系統(tǒng)資源,這就注定Java應(yīng)用程序接口的class庫(kù)文件與主機(jī)平臺(tái)是密切相關(guān)的。在一個(gè)平臺(tái)支持Java程序之前,必須在這個(gè)特定平臺(tái)上明確地實(shí)現(xiàn)API(應(yīng)用程序接口)的功能,API可以輕松地通過(guò)本地方法實(shí)現(xiàn)本地資源的訪問(wèn)。最后,通過(guò)Java虛擬機(jī)解釋運(yùn)行Java字節(jié)碼。Java編譯系統(tǒng)的體系結(jié)構(gòu)如圖1所示。

    圖1 Java體系結(jié)構(gòu)

    與傳統(tǒng)開(kāi)發(fā)語(yǔ)言相比,Java比C更具條理性,比C++更容易學(xué),彌補(bǔ)了C++中的一些弊端。但是標(biāo)準(zhǔn)Java語(yǔ)言是一門(mén)解釋型語(yǔ)言,運(yùn)行在Java虛擬機(jī)上的Java應(yīng)用程序執(zhí)行速度最快,也只能滿足ms級(jí)的軟實(shí)時(shí)需求。

    雖然Sun公司不斷地改進(jìn)優(yōu)化運(yùn)行時(shí)的環(huán)境(HotSpot Java虛擬機(jī)),但是運(yùn)行速度還是不能滿足實(shí)時(shí)嵌入式系統(tǒng)的時(shí)間要求。Java語(yǔ)言的垃圾回收機(jī)制隨時(shí)都會(huì)讓系統(tǒng)停止運(yùn)行,這將導(dǎo)致時(shí)間的不可預(yù)測(cè)性,會(huì)造成嚴(yán)重的后果,嚴(yán)重違背了嵌入式系統(tǒng)的宗旨[1]。

    對(duì)于嵌入式編程而言,選擇Java語(yǔ)言作為開(kāi)發(fā)工具看起來(lái)有些難以想象。傳統(tǒng)的Java技術(shù)在嵌入式系統(tǒng)應(yīng)用中有很多的不足,如動(dòng)態(tài)類加載,以及垃圾收集隨時(shí)停頓系統(tǒng)的運(yùn)行等,使得 Java技術(shù)的時(shí)間特性具有不確定性和抖動(dòng);同時(shí),Java語(yǔ)言是一門(mén)解釋型的語(yǔ)言,其性能會(huì)比C/C++編寫(xiě)的同樣程序運(yùn)行時(shí)慢許多。由于這些因素,致使Java語(yǔ)言不能在嵌入式系統(tǒng)中得到廣泛的應(yīng)用[2]。

    2 編譯器的設(shè)計(jì)

    編譯器是嵌入式技術(shù)的重要組成部分,它是運(yùn)行在主機(jī)平臺(tái)上,為另一個(gè)不同的目標(biāo)平臺(tái)生成可執(zhí)行代碼的特殊的編譯器[3]。本文編譯器的任務(wù)是將Java源程序編譯成MCS-51系列單片機(jī)的可執(zhí)行文件,其設(shè)計(jì)采用單遍掃描的編譯程序結(jié)構(gòu)。

    現(xiàn)代編譯器開(kāi)發(fā)技術(shù)已經(jīng)存在許多非常標(biāo)準(zhǔn)的形式化方法,這些方法將極大地改變編譯器開(kāi)發(fā)的難度。本文運(yùn)用Windows下VC 6.0開(kāi)發(fā)工具,參照實(shí)時(shí)版jRate及Sun公司的GJC編譯系統(tǒng)[4],使用C++作為宿主語(yǔ)言,完成實(shí)時(shí)Java交叉編譯器的詞法分析器、語(yǔ)法分析器和語(yǔ)義分析器設(shè)計(jì),最后實(shí)現(xiàn)Java語(yǔ)言源程序的編譯并生成MCS-51系列單片機(jī)的目標(biāo)代碼。

    2.1 詞法分析器設(shè)計(jì)

    詞法分析程序完成的是編譯第一階段的工作。詞法分析器的任務(wù)是對(duì)輸入的符號(hào)串形式的源程序進(jìn)行最初的加工處理,其掃描讀入高級(jí)語(yǔ)言源程序中的每個(gè)字符,識(shí)別出原程序中有獨(dú)立意義的源語(yǔ)言單詞,用某種特定的數(shù)據(jù)結(jié)構(gòu)對(duì)它的屬性予以表示和標(biāo)注,即Token碼(Token集合由詞法文法或正規(guī)文法表示)。

    這些由單詞符號(hào)組成的Token碼傳遞給語(yǔ)法分析器作進(jìn)一步分析[5]。目前絕大多數(shù)的編譯器是將詞法分析程序設(shè)計(jì)成語(yǔ)法分析程序的一個(gè)子程序或者協(xié)作程序進(jìn)行實(shí)現(xiàn),當(dāng)語(yǔ)法分析部分調(diào)用詞法分析器時(shí),執(zhí)行 “取下一個(gè)Token碼”指令,詞法分析器讀取輸入字符,直到識(shí)別出下一個(gè)字符,如圖2所示。

    圖2 語(yǔ)法分析器與詞法分析器的調(diào)用關(guān)系

    在實(shí)時(shí)Java交叉編譯器中,詞法分析器是通過(guò)Scanner類實(shí)現(xiàn)的。在頭文件scanner.h中聲明了整型Token,識(shí)別出當(dāng)前字符是什么、關(guān)鍵字、標(biāo)識(shí)符或者是Java語(yǔ)言的符號(hào)等等。假設(shè)詞法分析器識(shí)別出當(dāng)前處理的單詞類型是標(biāo)識(shí)符,則必須要提供該標(biāo)識(shí)符的具體名字,方便將其存儲(chǔ)到符號(hào)表中;同時(shí),程序中還聲明了當(dāng)前字符的起始位置(Pos)、結(jié)束位置(endPos)和臨時(shí)記錄位置(temPos),這些都是位置記錄類Position的實(shí)例。

    Position類用于存儲(chǔ)掃描器掃描到的字符位置,其line和col屬性分別表示字符所在行與列,這些內(nèi)容在源程序出現(xiàn)詞法錯(cuò)誤時(shí),用來(lái)提供錯(cuò)誤位置的相關(guān)信息,并且提供Set方法用于為Position實(shí)例賦值,Reset方法將行、列置零。

    實(shí)時(shí)Java詞法分析器的初始化在Scanner的構(gòu)造函數(shù)中完成的,其主要完成將輸入文件中的字符讀到內(nèi)存的緩沖區(qū)內(nèi),預(yù)置當(dāng)前字符的位置,并且調(diào)用NextToken()方法讀取下一個(gè)Token碼,NextToken()方法也是語(yǔ)法分析器調(diào)用詞法分析器的接口。由于整個(gè)輸入文件在詞法分析器初始化時(shí)已經(jīng)讀入內(nèi)存緩沖區(qū)中,讀取字符就變得方便許多,只需移動(dòng)字符指針即可,并將該字符賦值給詞法分析器中當(dāng)前正在處理字符的整型變量ch。

    具體實(shí)現(xiàn)方式見(jiàn)scanchar()方法,同時(shí)也應(yīng)維護(hù)當(dāng)前字符的位置相關(guān)信息。詞法分析器還有一個(gè)重要任務(wù)——注釋和空格的過(guò)濾,本文通過(guò)Scanner類的ScanCommentChar()和SkipComment()兩個(gè)方法實(shí)現(xiàn),它們分別表示掃描注釋標(biāo)志和跳過(guò)注釋內(nèi)容。

    根據(jù)上面所述,當(dāng)讀取到一個(gè)字符時(shí),可根據(jù)不同的情況(case語(yǔ)句)調(diào)用相應(yīng)的處理函數(shù)進(jìn)行處理。本文設(shè)計(jì)的Scanner類的主要屬性如下所示:

    class Scanner{

    Position pos;

    //當(dāng)前的token的起始位置

    Position endPos;//當(dāng)前的token的結(jié)束位置

    Position tmpPos;//臨時(shí)記錄用位

    void ScanCommentChar();//掃描注釋標(biāo)志

    void SkipComment();//跳過(guò)注釋內(nèi)容

    ......

    void NextToken();//掃描下一個(gè)token

    void OutputToken();//輸出當(dāng)前的token

    };

    2.2 語(yǔ)法/語(yǔ)義分析器設(shè)計(jì)

    根據(jù)Java語(yǔ)言語(yǔ)法規(guī)范,為了使方法具有確定性,本文選擇按照LL(1)文法采用遞歸下降法進(jìn)行總體語(yǔ)法分析,并結(jié)合使用自底向上分析法的算符、優(yōu)先規(guī)則處理文法符號(hào)求出其屬性值[6]。本文編譯器的語(yǔ)法/語(yǔ)義分析器是采用語(yǔ)法制導(dǎo)的翻譯模式,通過(guò)遞歸下降分析法和算符分析優(yōu)先法實(shí)現(xiàn)的。編譯器的詞法分析器、語(yǔ)法分析器、語(yǔ)義分析器及抽象語(yǔ)法樹(shù)之間的關(guān)系如圖3所示。

    圖3 嵌入式Java編譯器的前端流程圖

    實(shí)時(shí)Java編譯器的語(yǔ)法/語(yǔ)義分析器主要是由Syntax類完成的,該語(yǔ)法分析器的主要任務(wù)是將輸入的Token字符串通過(guò)遞歸下降分析法構(gòu)造成抽象語(yǔ)法樹(shù),同時(shí)進(jìn)行語(yǔ)義分析,遍歷語(yǔ)法樹(shù)并在語(yǔ)法樹(shù)的各結(jié)點(diǎn)處按語(yǔ)義規(guī)則進(jìn)行計(jì)算。

    Syntax類的MakeTree方法實(shí)現(xiàn)了各種語(yǔ)法樹(shù)的構(gòu)造。Word結(jié)構(gòu)用于記錄每個(gè)單詞的信息包括其詳細(xì)屬性,所在源程序的行和列,以及一個(gè)存儲(chǔ)值的聯(lián)合類型。在本文中,語(yǔ)法和語(yǔ)義的檢查方法是基于語(yǔ)義數(shù)據(jù)結(jié)構(gòu)的,作者在數(shù)據(jù)結(jié)構(gòu)中定義了一個(gè)符號(hào)表——HashTable,它將源程序的單詞名稱作為關(guān)鍵字。每個(gè)名字包括兩個(gè)屬性:該字符起始位置的偏移量和名字的長(zhǎng)度。

    在語(yǔ)法分析過(guò)程中,有時(shí)候會(huì)遇到很多語(yǔ)法及語(yǔ)義錯(cuò)誤。但是當(dāng)遇到錯(cuò)誤時(shí),分析過(guò)程不會(huì)停止,它會(huì)繼續(xù)完成整個(gè)程序的分析。錯(cuò)誤處理是由Syntax類中的Skip()方法實(shí)現(xiàn)的,并且通過(guò)TellError()報(bào)告錯(cuò)誤的相關(guān)信息,并寫(xiě)入記錄文件。錯(cuò)誤記錄包括語(yǔ)法錯(cuò)誤的類型,所在源程序的行與列等。本文設(shè)計(jì)的Syntax類的部分屬性如下所示:

    class Syntax{

    viod Skip();

    void TellError(const char * reason);//報(bào)告錯(cuò)誤

    ……

    int Id_To_Index(const char * id);//由標(biāo)識(shí)符查找索引,

    //不存在返回-1

    void MakeTree(); //構(gòu)造語(yǔ)法樹(shù)

    };

    2.3 生成目標(biāo)代碼

    目標(biāo)代碼生成作為實(shí)時(shí)Java編譯器的最后階段,把經(jīng)過(guò)語(yǔ)法分析或優(yōu)化后的中間代碼作為輸入,將其轉(zhuǎn)換成特定機(jī)器的機(jī)器語(yǔ)言或匯編語(yǔ)言作為輸出,這樣的轉(zhuǎn)換程序稱為代碼生成器。對(duì)于嵌入式交叉編譯器而言,代碼生成是非常復(fù)雜的過(guò)程,因?yàn)槠洳坏蕾嚫呒?jí)語(yǔ)言的特征,而且還依賴于硬件平臺(tái),與運(yùn)行在硬件平臺(tái)上的操作系統(tǒng)也有密切的關(guān)系[7]。

    總體來(lái)講,代碼生成器的輸入包括前端產(chǎn)生的源程序的中間表示與符號(hào)表信息,負(fù)責(zé)存儲(chǔ)的管理,與編譯器的前端協(xié)作將符號(hào)表中的數(shù)據(jù)對(duì)象映射為運(yùn)行時(shí)存儲(chǔ)器中數(shù)據(jù)對(duì)象的地址。目標(biāo)代碼的輸出可以是多種多樣的:可重定位的機(jī)器語(yǔ)言、絕對(duì)機(jī)器語(yǔ)言和匯編代碼。

    前面兩種語(yǔ)言的設(shè)計(jì)難度比較高,而且?guī)缀趺總€(gè)系統(tǒng)都有其對(duì)應(yīng)的匯編程序,因此本文選用生成匯編代碼作為代碼生成的目標(biāo)文件程序,這樣就可以避免編寫(xiě)編譯程序的目標(biāo)機(jī)器代碼部分,同時(shí)可以利用匯編器的宏功能幫助代碼生成。

    本文的代碼生成過(guò)程是由語(yǔ)法分析器Syntax類的WriteAsm()函數(shù)完成的,通過(guò)該函數(shù)完成抽象語(yǔ)法樹(shù)的遍歷。程序運(yùn)行時(shí),該函數(shù)會(huì)為進(jìn)入的函數(shù)或者過(guò)程在內(nèi)存中開(kāi)辟一個(gè)棧區(qū)并且按棧的特性進(jìn)行存儲(chǔ)分配,其需要的存儲(chǔ)空間就被分配于棧頂,函數(shù)返回時(shí)釋放所占有的空間。在成功存儲(chǔ)“標(biāo)識(shí)符”等符號(hào)后,同時(shí)也將生成的匯編程序的數(shù)據(jù)段寫(xiě)入符號(hào)表,符號(hào)表用以記錄單詞符號(hào)與其索引號(hào)的對(duì)應(yīng)關(guān)系,符號(hào)的索引號(hào)用于表明相應(yīng)符號(hào)在匯編語(yǔ)言文件數(shù)據(jù)段中的地址標(biāo)號(hào)。當(dāng)符號(hào)再次出現(xiàn)時(shí),通過(guò)索引號(hào)在匯編語(yǔ)言的代碼段中引用。代碼生成程序的主要內(nèi)容如下所示,主要給出了while循環(huán)語(yǔ)句及各種運(yùn)算符的函數(shù)定義:

    void Asm_WhileBegin();//循環(huán)開(kāi)始

    void Asm_WhileLoop(const char * jump);

    //循環(huán)判斷(jump=跳出循環(huán)的跳轉(zhuǎn)語(yǔ)句)

    void Asm_WhileEnd();//循環(huán)結(jié)束

    ……

    void Asm_Expression(struct Word * theoptr_ptr); //處理表達(dá)式

    void Asm_Comment(const char * comment); //加入注釋

    void WriteAsm(); //生成匯編語(yǔ)言

    2.4 實(shí)時(shí)Java編譯器的測(cè)試

    嵌入式Java編譯器是基于C++語(yǔ)言開(kāi)發(fā)的,在實(shí)現(xiàn)上主要包括兩部分:用戶界面和編譯器。在用戶界面方面其表現(xiàn)為一個(gè)圖形化繼承開(kāi)發(fā)環(huán)境,所有的代碼編輯和編譯都可在該環(huán)境中完成,將給出開(kāi)發(fā)平臺(tái)的新建Java應(yīng)用工程的過(guò)程,如圖4所示。

    圖4 開(kāi)發(fā)平臺(tái)的新建工程界面

    對(duì)移植的結(jié)果進(jìn)行測(cè)試非常重要,但是目前缺少全面有效的測(cè)試方法,本文采用的是用模擬器和實(shí)際測(cè)試版相結(jié)合的測(cè)試方法。采用模擬器可以大大地降低測(cè)試的難度,提高效率,更重要的是可以進(jìn)行跟蹤調(diào)試以幫助找到錯(cuò)誤。同時(shí),為了測(cè)試實(shí)時(shí)Java編譯器的正確性,即測(cè)試實(shí)時(shí)Java編譯器輸出的MCS-51系列單片機(jī)匯編程序是否正確,在實(shí)際測(cè)試板上運(yùn)行輸出的程序是非常必要的,只有真正在硬件機(jī)器上運(yùn)行過(guò)的程序才能確保編譯結(jié)果的正確性。測(cè)試結(jié)果分析,本文嵌入式Java編譯器已經(jīng)基本實(shí)現(xiàn)了從Java語(yǔ)言到MCS-51系列單片機(jī)匯編指令的編譯。

    結(jié) 語(yǔ)

    [1] 滕海坤.基于RTSJ的智能家居系統(tǒng)網(wǎng)關(guān)設(shè)計(jì)[J].桂林理工大學(xué)學(xué)報(bào),2011(1).

    [2] 高愛(ài)玲.Java與C/C++的編譯器優(yōu)劣探討[J].信息通信,2014(3).

    [3] 沈健.基于嵌入式linux系統(tǒng)交叉編譯的實(shí)現(xiàn)[J].赤子,2014(12).

    [4] 朱磊.一種污水處理仿真語(yǔ)言編譯器的實(shí)現(xiàn)與應(yīng)用[J].軟件,2014,35(2).

    [5] John Levine. Flex與Bison (中文版)[M].陸軍,譯.南京: 東南大學(xué)出版社,2012.

    [6] Jourdan J-H, Laporte V, Blazy S,et al. A formally-verified c static analyzer In: Proc. of the POPL2015[M]. Mumbai:ACM Press, 2015.

    [7] 尚書(shū).可信編譯器L2C的核心編譯步驟及其設(shè)計(jì)與實(shí)現(xiàn)[J].軟件學(xué)報(bào),2017,28(5).

    [8] 周文.復(fù)雜系統(tǒng)建模仿真語(yǔ)言編譯器的實(shí)現(xiàn)與應(yīng)用[J].系統(tǒng)仿真學(xué)報(bào),2016,28(7).

    猜你喜歡
    代碼生成分析器詞法
    詞法 名詞、代詞和冠詞
    Lustre語(yǔ)言可信代碼生成器研究進(jìn)展
    酒精分析器為什么能分辨人是否喝過(guò)酒
    多邊形電極線形離子阱質(zhì)量分析器的結(jié)構(gòu)與性能
    應(yīng)用于詞法分析器的算法分析優(yōu)化
    談對(duì)外漢語(yǔ)“詞法詞”教學(xué)
    代碼生成技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用
    電子世界(2016年15期)2016-08-29 02:14:28
    基于XML的代碼自動(dòng)生成工具
    電子科技(2015年2期)2015-12-20 01:09:20
    2010年高考英語(yǔ)“相似”考題例析
    基于關(guān)系數(shù)據(jù)模型代碼生成器的設(shè)計(jì)與實(shí)現(xiàn)
    日日摸夜夜添夜夜爱| 免费av毛片视频| 国产欧美日韩精品一区二区| 一级黄片播放器| 久久精品国产亚洲网站| 大香蕉97超碰在线| 亚洲国产色片| 亚洲欧美清纯卡通| 18禁在线无遮挡免费观看视频| 久久韩国三级中文字幕| 一本久久精品| 亚洲国产精品成人综合色| 久久精品久久精品一区二区三区| 女人十人毛片免费观看3o分钟| 一边摸一边抽搐一进一小说| 青青草视频在线视频观看| 欧美一区二区亚洲| 亚洲精品国产成人久久av| 有码 亚洲区| 欧美性感艳星| 国产亚洲最大av| 久久亚洲精品不卡| 精品国产三级普通话版| 亚州av有码| 亚洲国产欧美人成| 两个人视频免费观看高清| 卡戴珊不雅视频在线播放| 在现免费观看毛片| 亚洲欧美日韩高清专用| 国产精品久久久久久精品电影小说 | 国产精品人妻久久久久久| 成人高潮视频无遮挡免费网站| h日本视频在线播放| 欧美日韩一区二区视频在线观看视频在线 | 日韩人妻高清精品专区| 免费看a级黄色片| 亚洲精品成人久久久久久| 亚洲综合色惰| 男女下面进入的视频免费午夜| 高清午夜精品一区二区三区| 91狼人影院| 国产精品99久久久久久久久| 九九在线视频观看精品| 色网站视频免费| 久久热精品热| 日产精品乱码卡一卡2卡三| 久久国产乱子免费精品| 久久婷婷人人爽人人干人人爱| 亚洲自偷自拍三级| 一级毛片久久久久久久久女| 亚洲国产色片| 欧美成人精品欧美一级黄| 十八禁国产超污无遮挡网站| 午夜精品一区二区三区免费看| 波多野结衣巨乳人妻| 久久久久国产网址| 亚洲中文字幕一区二区三区有码在线看| 国产 一区精品| 亚洲国产精品专区欧美| 亚洲av男天堂| 男女边吃奶边做爰视频| 亚洲av熟女| 99在线视频只有这里精品首页| 99久国产av精品| 啦啦啦观看免费观看视频高清| 熟妇人妻久久中文字幕3abv| 夜夜看夜夜爽夜夜摸| 永久网站在线| 汤姆久久久久久久影院中文字幕 | 纵有疾风起免费观看全集完整版 | 黄色一级大片看看| 成年女人看的毛片在线观看| 哪个播放器可以免费观看大片| 国产成人免费观看mmmm| 天美传媒精品一区二区| 男插女下体视频免费在线播放| 女人被狂操c到高潮| 日本一本二区三区精品| 久久久久久久久久成人| 欧美区成人在线视频| 夜夜看夜夜爽夜夜摸| 亚洲乱码一区二区免费版| 亚洲精品自拍成人| 最近最新中文字幕免费大全7| 国产精品精品国产色婷婷| 一二三四中文在线观看免费高清| 少妇熟女欧美另类| 中文在线观看免费www的网站| kizo精华| 国产av码专区亚洲av| 美女国产视频在线观看| 男人舔女人下体高潮全视频| 最近最新中文字幕免费大全7| 视频中文字幕在线观看| 午夜老司机福利剧场| 亚洲欧美清纯卡通| 欧美xxxx性猛交bbbb| 久热久热在线精品观看| 精品久久久噜噜| 欧美+日韩+精品| 免费观看在线日韩| 黄片无遮挡物在线观看| 亚洲av免费在线观看| 久久久久久大精品| 欧美激情在线99| 在现免费观看毛片| 亚洲欧美中文字幕日韩二区| 少妇的逼好多水| 青春草亚洲视频在线观看| 国内精品宾馆在线| 国产精品伦人一区二区| 精品国内亚洲2022精品成人| 伦理电影大哥的女人| 神马国产精品三级电影在线观看| 亚州av有码| 国产成人a∨麻豆精品| 一级av片app| 亚洲人成网站在线观看播放| 在线a可以看的网站| 亚洲经典国产精华液单| 99久久成人亚洲精品观看| 久久亚洲国产成人精品v| 日本免费在线观看一区| 欧美日韩精品成人综合77777| 久久久久久大精品| 国产在视频线精品| 久久99热6这里只有精品| 欧美另类亚洲清纯唯美| 国产欧美日韩精品一区二区| 夫妻性生交免费视频一级片| 日本与韩国留学比较| 久久人人爽人人爽人人片va| 91久久精品国产一区二区成人| 国产成人aa在线观看| 日本三级黄在线观看| 欧美+日韩+精品| 欧美精品一区二区大全| 亚洲综合色惰| 成人午夜高清在线视频| 中文字幕精品亚洲无线码一区| 免费黄网站久久成人精品| 赤兔流量卡办理| 成人亚洲欧美一区二区av| 婷婷色麻豆天堂久久 | 午夜老司机福利剧场| 建设人人有责人人尽责人人享有的 | 久久久久久久久大av| 日韩大片免费观看网站 | 国产片特级美女逼逼视频| 九九爱精品视频在线观看| 亚洲性久久影院| 亚洲精品aⅴ在线观看| 久久久久精品久久久久真实原创| 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 午夜福利视频1000在线观看| 男人狂女人下面高潮的视频| 精品久久久噜噜| 欧美区成人在线视频| 欧美又色又爽又黄视频| 五月玫瑰六月丁香| 69人妻影院| 国产亚洲av嫩草精品影院| 免费看av在线观看网站| 大又大粗又爽又黄少妇毛片口| 少妇熟女aⅴ在线视频| 国产乱人视频| 99热网站在线观看| 成人特级av手机在线观看| 最后的刺客免费高清国语| 一卡2卡三卡四卡精品乱码亚洲| 少妇的逼水好多| 欧美区成人在线视频| 亚洲成人精品中文字幕电影| 精品久久久久久久久av| 亚洲国产精品成人综合色| 国产v大片淫在线免费观看| 人人妻人人看人人澡| 午夜福利网站1000一区二区三区| 精品一区二区免费观看| av卡一久久| 日韩一区二区三区影片| 波多野结衣巨乳人妻| 麻豆久久精品国产亚洲av| 午夜a级毛片| 91久久精品国产一区二区三区| 日日干狠狠操夜夜爽| 美女cb高潮喷水在线观看| 欧美另类亚洲清纯唯美| 97超碰精品成人国产| 三级国产精品欧美在线观看| 免费av毛片视频| 深爱激情五月婷婷| 插阴视频在线观看视频| 色视频www国产| 国产成人一区二区在线| 天天躁夜夜躁狠狠久久av| 久久久久久久久久黄片| 亚洲国产精品成人综合色| 韩国av在线不卡| 欧美日韩国产亚洲二区| 成年av动漫网址| 日韩成人伦理影院| 两个人的视频大全免费| 最近最新中文字幕免费大全7| 欧美激情在线99| 国产精品国产三级国产专区5o | 97人妻精品一区二区三区麻豆| a级毛片免费高清观看在线播放| 午夜福利视频1000在线观看| 日本三级黄在线观看| 夫妻性生交免费视频一级片| 国产不卡一卡二| 中文字幕熟女人妻在线| 国产淫片久久久久久久久| 久久久久久久国产电影| 国产精品不卡视频一区二区| 婷婷色麻豆天堂久久 | 美女被艹到高潮喷水动态| 91午夜精品亚洲一区二区三区| 国产高清国产精品国产三级 | 在线播放国产精品三级| 不卡视频在线观看欧美| 亚洲自拍偷在线| 亚洲国产欧美人成| 成人性生交大片免费视频hd| 国产高清三级在线| 91精品一卡2卡3卡4卡| 欧美又色又爽又黄视频| 国产精品日韩av在线免费观看| 国产真实乱freesex| 欧美97在线视频| 日本黄色视频三级网站网址| 亚洲国产精品专区欧美| 亚洲国产最新在线播放| 国产乱人偷精品视频| 欧美不卡视频在线免费观看| av国产免费在线观看| 少妇裸体淫交视频免费看高清| 桃色一区二区三区在线观看| 亚洲av中文字字幕乱码综合| 日韩欧美 国产精品| 亚洲欧洲日产国产| 免费观看的影片在线观看| 中文在线观看免费www的网站| 人体艺术视频欧美日本| www.色视频.com| 99久久无色码亚洲精品果冻| 99热这里只有精品一区| 一个人看视频在线观看www免费| 欧美区成人在线视频| 国产精品,欧美在线| 午夜福利视频1000在线观看| 乱码一卡2卡4卡精品| 免费看光身美女| 国产一区二区在线观看日韩| 卡戴珊不雅视频在线播放| 午夜精品国产一区二区电影 | 久久精品综合一区二区三区| 最近2019中文字幕mv第一页| 亚洲三级黄色毛片| 日韩欧美 国产精品| 久久精品影院6| 一本一本综合久久| 国产探花在线观看一区二区| 日本免费一区二区三区高清不卡| 久久久精品94久久精品| 国产黄色视频一区二区在线观看 | 亚洲熟妇中文字幕五十中出| 欧美色视频一区免费| 亚洲精品乱码久久久v下载方式| 国产黄片美女视频| 91aial.com中文字幕在线观看| 99九九线精品视频在线观看视频| 成人二区视频| 伦理电影大哥的女人| 七月丁香在线播放| 亚洲av免费高清在线观看| 亚洲在线自拍视频| 男女啪啪激烈高潮av片| 偷拍熟女少妇极品色| 精品无人区乱码1区二区| 欧美日韩国产亚洲二区| 天天躁夜夜躁狠狠久久av| or卡值多少钱| 狂野欧美白嫩少妇大欣赏| 国产探花极品一区二区| 2021天堂中文幕一二区在线观| 免费观看性生交大片5| 91精品国产九色| 老司机影院毛片| 亚洲成人中文字幕在线播放| 男女视频在线观看网站免费| 亚洲美女搞黄在线观看| 欧美+日韩+精品| 亚洲自拍偷在线| 男女视频在线观看网站免费| 国产高清三级在线| 成年女人看的毛片在线观看| 在线免费观看的www视频| 亚洲欧美中文字幕日韩二区| 18+在线观看网站| 国产爱豆传媒在线观看| 欧美性感艳星| 蜜桃久久精品国产亚洲av| 一个人看的www免费观看视频| 日韩三级伦理在线观看| 最近的中文字幕免费完整| 欧美不卡视频在线免费观看| 99久久中文字幕三级久久日本| 简卡轻食公司| 国产伦一二天堂av在线观看| 免费av毛片视频| 一级黄片播放器| 91狼人影院| 国产极品天堂在线| av在线播放精品| av线在线观看网站| 日本-黄色视频高清免费观看| 国产成人福利小说| 久久精品久久久久久久性| 国产黄片美女视频| 国产成人精品婷婷| 麻豆乱淫一区二区| 亚洲性久久影院| 免费av毛片视频| 国产人妻一区二区三区在| 亚洲国产精品合色在线| av又黄又爽大尺度在线免费看 | 日韩欧美国产在线观看| 成人毛片a级毛片在线播放| 天美传媒精品一区二区| 亚洲天堂国产精品一区在线| 一夜夜www| 国产精品一二三区在线看| 亚洲成色77777| 亚洲国产欧洲综合997久久,| 精品人妻熟女av久视频| 不卡视频在线观看欧美| 免费电影在线观看免费观看| 男人的好看免费观看在线视频| 麻豆一二三区av精品| av国产免费在线观看| 精品欧美国产一区二区三| 亚洲精华国产精华液的使用体验| 日韩制服骚丝袜av| 精品一区二区三区视频在线| 久久久久久久亚洲中文字幕| 亚洲av中文av极速乱| 女人十人毛片免费观看3o分钟| 又黄又爽又刺激的免费视频.| 波多野结衣高清无吗| 美女内射精品一级片tv| 联通29元200g的流量卡| 国产精品福利在线免费观看| 免费观看性生交大片5| 十八禁国产超污无遮挡网站| 亚洲乱码一区二区免费版| 亚洲va在线va天堂va国产| 欧美日韩国产亚洲二区| 亚洲av免费在线观看| 99久国产av精品| av福利片在线观看| 青春草亚洲视频在线观看| 丝袜喷水一区| 91aial.com中文字幕在线观看| 亚洲精品影视一区二区三区av| 中文字幕久久专区| 日日啪夜夜撸| 性插视频无遮挡在线免费观看| 晚上一个人看的免费电影| 国产熟女欧美一区二区| 亚洲精品色激情综合| 成人亚洲精品av一区二区| ponron亚洲| 一个人观看的视频www高清免费观看| 国产激情偷乱视频一区二区| 国产一区二区三区av在线| 成人无遮挡网站| 18+在线观看网站| 久久精品夜夜夜夜夜久久蜜豆| 成人性生交大片免费视频hd| 少妇熟女aⅴ在线视频| 久久人人爽人人爽人人片va| 国产一级毛片在线| 亚洲av日韩在线播放| 少妇猛男粗大的猛烈进出视频 | 在线观看美女被高潮喷水网站| 国产 一区 欧美 日韩| 日本色播在线视频| av女优亚洲男人天堂| 欧美激情久久久久久爽电影| 爱豆传媒免费全集在线观看| 91精品国产九色| 亚洲欧美精品自产自拍| 搡老妇女老女人老熟妇| 国产日韩欧美在线精品| 色噜噜av男人的天堂激情| 欧美xxxx性猛交bbbb| 在线观看66精品国产| 一级二级三级毛片免费看| 男女那种视频在线观看| av国产免费在线观看| 午夜爱爱视频在线播放| 亚洲av中文字字幕乱码综合| 亚洲精品乱久久久久久| 干丝袜人妻中文字幕| 国产精品一区二区性色av| 日日干狠狠操夜夜爽| 啦啦啦观看免费观看视频高清| 久久精品夜夜夜夜夜久久蜜豆| 亚洲综合精品二区| 日韩在线高清观看一区二区三区| 久久这里只有精品中国| 国产亚洲一区二区精品| 亚洲成人av在线免费| 淫秽高清视频在线观看| 最近最新中文字幕大全电影3| 亚洲真实伦在线观看| 久久韩国三级中文字幕| 中文字幕久久专区| 精品一区二区免费观看| 久久精品夜色国产| 观看免费一级毛片| 国产真实伦视频高清在线观看| 亚洲国产欧美人成| av黄色大香蕉| 91av网一区二区| 51国产日韩欧美| .国产精品久久| 日本av手机在线免费观看| 欧美97在线视频| 国产成人91sexporn| 国产乱来视频区| 日本免费一区二区三区高清不卡| 一区二区三区免费毛片| 欧美日韩国产亚洲二区| АⅤ资源中文在线天堂| 久久久久久久久久久丰满| 日本色播在线视频| 卡戴珊不雅视频在线播放| 看黄色毛片网站| 99久久中文字幕三级久久日本| 亚洲国产成人一精品久久久| 亚洲精品自拍成人| 亚洲最大成人手机在线| 日本熟妇午夜| 日韩强制内射视频| 国产高清三级在线| 亚洲一级一片aⅴ在线观看| 成人漫画全彩无遮挡| 成人美女网站在线观看视频| 日本色播在线视频| 日本黄色片子视频| 日韩av不卡免费在线播放| 日本欧美国产在线视频| 夫妻性生交免费视频一级片| 视频中文字幕在线观看| 久久久久久久久中文| 国产欧美另类精品又又久久亚洲欧美| 中文字幕制服av| 欧美色视频一区免费| 精品国产一区二区三区久久久樱花 | 久久热精品热| 1024手机看黄色片| 熟女电影av网| 成年女人永久免费观看视频| 一级爰片在线观看| 久久久久久久久大av| 寂寞人妻少妇视频99o| 长腿黑丝高跟| 国产在视频线在精品| 美女大奶头视频| 青春草国产在线视频| 中文天堂在线官网| 午夜福利视频1000在线观看| 国产毛片a区久久久久| 丰满乱子伦码专区| 免费人成在线观看视频色| 99热网站在线观看| 成人亚洲精品av一区二区| 中文欧美无线码| 国产精品一及| 久久热精品热| 2022亚洲国产成人精品| 少妇熟女欧美另类| 在线播放国产精品三级| 欧美精品一区二区大全| 国产精品日韩av在线免费观看| 麻豆国产97在线/欧美| 国产一级毛片在线| 成人高潮视频无遮挡免费网站| www.色视频.com| 日韩成人av中文字幕在线观看| a级毛色黄片| 亚洲av二区三区四区| 日日啪夜夜撸| 日韩高清综合在线| 欧美人与善性xxx| 精品国产三级普通话版| 亚洲婷婷狠狠爱综合网| 国产午夜精品一二区理论片| 高清日韩中文字幕在线| 成人性生交大片免费视频hd| 国产免费又黄又爽又色| 久久欧美精品欧美久久欧美| 亚洲精品影视一区二区三区av| 国产欧美日韩精品一区二区| 少妇丰满av| 色视频www国产| 老司机影院毛片| 日韩三级伦理在线观看| av免费观看日本| 男人的好看免费观看在线视频| 伊人久久精品亚洲午夜| 亚洲人与动物交配视频| 干丝袜人妻中文字幕| 国产毛片a区久久久久| 国产男人的电影天堂91| 国产精品伦人一区二区| 亚洲成人av在线免费| 美女xxoo啪啪120秒动态图| 乱码一卡2卡4卡精品| 亚洲精品日韩av片在线观看| 亚洲最大成人手机在线| 成人综合一区亚洲| 国产不卡一卡二| 51国产日韩欧美| 国产熟女欧美一区二区| 亚洲av一区综合| 精品国内亚洲2022精品成人| 男人舔女人下体高潮全视频| 51国产日韩欧美| 午夜福利在线观看免费完整高清在| 日本av手机在线免费观看| 美女被艹到高潮喷水动态| 免费电影在线观看免费观看| 嘟嘟电影网在线观看| 国产女主播在线喷水免费视频网站 | 欧美又色又爽又黄视频| 卡戴珊不雅视频在线播放| 欧美97在线视频| 国内揄拍国产精品人妻在线| 99在线视频只有这里精品首页| 97超碰精品成人国产| 国产精品,欧美在线| 免费看日本二区| 22中文网久久字幕| 日本一二三区视频观看| 女人久久www免费人成看片 | 如何舔出高潮| 国内精品美女久久久久久| 亚洲欧美日韩卡通动漫| 成人欧美大片| 美女国产视频在线观看| 国产一级毛片在线| 久久久亚洲精品成人影院| av在线播放精品| 在线播放国产精品三级| 午夜福利高清视频| 国产免费视频播放在线视频 | 婷婷色av中文字幕| 麻豆久久精品国产亚洲av| 成人漫画全彩无遮挡| 亚洲人成网站在线播| 久久热精品热| 禁无遮挡网站| 国产在线男女| 在线免费观看的www视频| 免费看日本二区| 国内精品美女久久久久久| 免费搜索国产男女视频| 亚洲人成网站在线观看播放| 少妇人妻一区二区三区视频| 精品无人区乱码1区二区| 欧美三级亚洲精品| 国产精品久久久久久av不卡| 免费无遮挡裸体视频| 一夜夜www| 精品少妇黑人巨大在线播放 | 亚洲国产精品国产精品| 久久国产乱子免费精品| 美女cb高潮喷水在线观看| 黄色一级大片看看| 在线观看美女被高潮喷水网站| 精品久久久噜噜| 日本wwww免费看| 成人鲁丝片一二三区免费| 插逼视频在线观看| 少妇裸体淫交视频免费看高清| 日韩一区二区视频免费看| 亚洲怡红院男人天堂| 亚洲欧美精品综合久久99| 人妻夜夜爽99麻豆av| 能在线免费看毛片的网站| 国产成人一区二区在线| 亚洲精品色激情综合| 国产高清三级在线| 国产精品国产三级国产av玫瑰| 欧美成人免费av一区二区三区| 婷婷色麻豆天堂久久 | 一级毛片aaaaaa免费看小| 亚洲av成人精品一二三区| 桃色一区二区三区在线观看| 三级男女做爰猛烈吃奶摸视频| 综合色丁香网| 精品久久久久久久人妻蜜臀av| 变态另类丝袜制服| 久久久久久久亚洲中文字幕| 亚洲国产精品专区欧美| 午夜精品国产一区二区电影 | 日本色播在线视频| 国产麻豆成人av免费视频| 精品熟女少妇av免费看| 六月丁香七月| 成人亚洲欧美一区二区av|