允許元素類型的類型流的查詢模式的制作方法

            文檔序號:6476378閱讀:553來源:國知局
            專利名稱:允許元素類型的類型流的查詢模式的制作方法
            允許元素類型的類型流的査詢模式
            背景技術
            在計算機語言的領域中,傳統上有許多不同的語言類別。例如,許多編程 語言目的是為大多數最終用戶編程目標提供一般的解決方案,但另一方面,査 詢語言卻通常專用于基于對數據庫查詢的信息挖掘。多年來,已經進行了許多 嘗試來將査詢能力添加到編程語言,但是存在很多困難。
            一個這樣的困難是大多數現代編程語言是基于面向對象的模型的,該模型 允許分層、抽象、模塊性、封裝和旨在降低編程任務的復雜度的若干其它范例。 另一方面,現代數據庫很大一部分是關系型數據庫,因此査詢語言往往是基于 關系模型而非面向對象的模型。
            另 一困難是用于編程語言的開發環境(例如,集成開發環境(IDE))己 經進化成向開發者提供非常精密的協助手段,導致沒有這種開發環境來編程變 得很費勁。 一個示例是諸如自動完成實用程序或機制等內聯上下文信息。這些 自動完成機制在其中類、變量名和其它構造事先定義的面向對象的領域能起很 好的作用,但是通常不可用于查詢語言,因為對于自動完成所必需的元素類型 的類型檢查在編譯或轉換了查詢之前是不可用的。此外,查詢在完成該查詢之 前不能被轉換,這使得自動完成機制沒有實際意義。再者,如果查詢表達式是 不良地形成的,則編譯錯誤將是晦澀難解的且難以補救。
            發明概述
            以下提出了所要求保護的主題的簡化概述以提供對所要求保護的主題的 某些方面的基本理解。本概述并不是對所要求保護的主題的全面綜述。它既不 旨在標識所要求保護的主題的關鍵或重要的元素,也不描繪所要求保護的主題 的范圍。其唯一目的是以簡化的形式來介紹所要求保護的主題的一些概念,作 為稍后呈現的更為詳細的描述的前序部分。
            此處所公開并要求保護的主題的一方面包括用于方便表達式中的運算符
            5之間的元素類型的類型流的計算機實現的技術。運算符可以是,但不限于,査 詢運算符,并且由此,類型可以貫穿整個查詢表達式從一個查詢子句流到下一 査詢子句。
            根據所要求保護的主題的一方面,運算符可被映射到相關聯的方法調用, 并且方法調用可以根據運算符模式來定義。由此,可期望表達式中的任何給定 運算符遵循形式化的運算符模式。相應地,算符以及整個表達式的項可以按照 所期望的方法調用來表達。可以理解,方法可以是實例方法、靜態方法、虛擬 方法或擴展方法。
            據此,通過方便類型流并約束運算符以遵循運算符模式,此處所公開的體 系結構可以對表達式的每一子句遞增地推斷元素類型。例如,元素類型可以通 過將源類型與運算符相組合來確定,并且這可以對表達式的每一連續的子句實 時地完成。由此,類型信息可以本地地解析而無需完全轉換整個表達式。因此, 可以用較不昂貴(在資源利用方面)的方式且更快速地執行元素類型的類型檢 查,并且元素類型的類型檢查可以在表達式的構造期間而非僅在表達式被最終 化之后才實現,這可以產生附加的益處。
            根據所要求保護的主題的一方面,一個這樣的附加益處是可以對于表達式 采用自動完成機制。例如,通過在進行中推斷元素類型,可提供基于可用類型 的上下文信息,這可以幫助表達式構造。
            以下描述和附圖詳細闡明了所要求保護的主題的某些說明性方面。然而, 這些方面僅指示了可采用所要求保護的主題的原理的各種方法中的幾種,且所 要求保護的主題旨在包括所有這些方面及其等效方面。當結合附圖考慮以下所 要求保護的主題的詳細描述時,所要求保護的主題的其它優點和區別特征將變 得顯而易見。
            附圖簡述


            圖1是可采用查詢模式來方便元素類型的類型流的計算機實現的系統的 框圖。
            圖2A示出了對于一示例性查詢表達式的非限制性代表性第一查詢子句和 各種非限制性代表性下一查詢子句。圖2B更詳細地示出了示例性查詢表達式的查詢子句以及元素類型的類型流。
            圖3描繪了具有示例性輸入和輸出的査詢運算符模式的各種非限制性示例。
            圖4是實時地推斷元素類型和/或基于所推斷的元素類型遞增地提供上下 文信息的計算機實現的系統的框圖。
            圖5描繪了定義用于方便査詢表達式內的元素類型的類型流的計算機實 現的方法的過程的示例性流程圖。
            圖6是可方便可組成查詢綜合和/或可擴展查詢表達式的計算機實現的系 統的框圖。
            圖7示出了與從示例性査詢表達式的示例性查詢子句得到的控制變量的 范圍有關的示例性描述的框圖。
            圖8描繪了定義用于方便以組成方式構造查詢綜合的計算機實現的方法 的過程的示例性流程圖。
            圖9示出了可用于執行所公開的體系結構的計算機的框圖。
            圖IO示出示例性計算環境的示意性框圖。
            詳細描述
            現在參考附圖來描述所要求保護的主題,所有附圖中使用相同的附圖標記 來指代相同的要素。在以下描述中,為解釋起見,闡明了眾多具體細節以提供 對所要求保護的主題的全面理解。然而,很明顯,所要求保護的主題可以在沒 有這些具體細節的情況下實施。在其它情況下,以框圖形式示出了公知的結構 和設備以便于描述所要求保護的主題。
            如在本申請中所使用的,術語"組件"、"模塊"、"系統"、"接口" 等一般旨在表示計算機相關的實體,其可以是硬件、硬件和軟件的組合、軟件、 或者執行中的軟件。例如,組件可以是,但不限于是,在處理器上運行的進程、 處理器、對象、可執行碼、執行的線程、程序和/或計算機。作為說明,運行在 控制器上的應用程序和控制器都可以是組件。 一個或多個組件可以駐留在進程 和/或執行的線程中,并且組件可以位于一個計算機內和/或分布在兩個或更多的計算機之間。作為另一示例,接口可包括I/0組件以及相關聯的處理器、應 用程序、和/或API組件,并且可以像命令行那樣簡單,或者是更復雜的集成
            開發環境(IDE)。
            此外,所要求保護的主題可以使用產生控制計算機以實現所公開的主題的 軟件、固件、硬件或其任意組合的標準編程和/或工程技術而被實現為方法、裝 置或制品。在此使用的術語"制品"旨在涵蓋可以從任何計算機可讀設備、載 體或介質訪問的計算機程序。例如,計算機可讀介質可以包括但不限于磁存儲
            設備(例如,硬盤、軟盤、磁帶……)、光盤(例如,緊致盤(CD)、數字 多功能盤(DVD)……)、智能卡和閃存設備(例如,卡、棒、鑰匙驅動器……)。 另外應該明白,可以采用載波來承載計算機可讀電子數據,例如那些用于發送 和接收電子郵件或用于訪問如因特網或局域網(LAN)等網絡的數據。當然, 本領域的技術人員將會認識到,在不背離所要求保護的主題的范圍或精祌的前 提下可以對這一配置進行許多修改。
            此外,在此使用詞語"示例性"意指用作示例、實例或說明。在此被描述 為"示例性"的任何方面或設計并不一定要被解釋為相比其它方面或設計更優 選或有利。相反,使用詞語示例性旨在以具體的方式呈現各個概念。如本申請 中所使用的,術語"或"意指包括性"或"而非互斥性"或"。即,除非另有 指定或從上下文可以清楚,否則"X使用A或B"意指任何自然的包括性排列。 即,如果X使用A; X使用B;或X使用A和B兩者,則在任何以上情況下, 都滿足"X使用A或B"。另外,本申請中和所附權利要求書中所使用的冠詞 "一"和"一個" 一般應被解釋為是指"一個或多個",除非另有指定或從上
            下文可以清楚指的是單數形式。
            如在此所使用的,術語"推斷"或"推論"通常是指從經由事件和/或數 據捕捉的一組觀察結果中推斷或推理系統、環境和/或用戶的狀態的過程。例如, 推斷可用于標識特定的上下文或動作,或可生成狀態的概率分布。推斷可以是 概率性的,S卩,基于對數據和事件的考慮計算所關注狀態的概率分布。推斷也 可以指用于從一組事件和/或數據組成更高級事件的技術。這類推斷導致從一組 觀察到的事件和/或存儲的事件數據中構造新的事件或動作,而無論事件是否在 相鄰時間上相關,也無論事件和數據是來自一個還是若干個事件和數據源。現在參考附圖,最初參考圖l,描繪了能夠采用查詢模式來方便元素類型 的類型流的計算機實現的系統100。 一般而言,系統100可包括可操作地耦合 到公知的基于計算機的硬件(例如,控制器)、軟件(例如,應用程序)、以
            及此處所描述的其它組件的用戶接口 102。用戶接口 102可接收查詢表達式 104,該表達式可包括第一查詢子句和一個或多個下一査詢子句。可以理解, 第一查詢子句可以包括可查詢源類型(例如,類集、流等)以及可由第一査詢 子句作為例如關于源類型的控制變量來引入的元素類型。通常,所有查詢子句 包括查詢運算符,然而,如所見的,査詢表達式104的下一査詢子句不必是完 整的,而是可以按部分(例如,增量式地)接收,諸如在子句由用戶輸入的時 候。查詢表達式104和相關的子分量在下文中結合圖2A和2B來更詳細地描 述。
            系統100還可包括用于任何有效査詢運算符(例如,與第一査詢子句和后 續的下一查詢子句相關聯的查詢運算符)的查詢運算符模式106。因此,在例 如可操作地耦合到系統100的模式存儲108中可以存在任何數量的查詢運算符 模式106。特別地,來自查詢表達式104的查詢子句(例如,各自具有特定的 査詢運算符)可以符合相關聯的查詢運算符模式106,該模式可以定義例如可 訪問實例方法。通過符合查詢運算符模式106,可以實質上確保在一個查詢子 句和下一查詢子句之間存在已知關系,并且因此存在從一個查詢運算符到下一 查詢運算符的關系。査詢運算符模式106結合圖3來更詳細描述。
            應該理解,通過對査詢表達式104施加約束以使查詢表達式104的運算符 符合查詢運算符模式106,系統100可以確保從查詢表達式104的一個查詢子 句/運算符到下一查詢子句/運算符的元素類型的類型流。此外,通過確保此處 所描述的元素類型流,可以在進行中實現某些有利的類型推斷和/或上下文判 定,而無需對完整查詢表達式104的常規轉換/編譯,如參考圖4更詳細討論的。 此外,上述推斷和/或判定可以在查詢表達式104完成之前,并甚至在查詢表達 式104的形式錯誤時提供。作為進一步的解釋而非限制,符合查詢運算符模式 106的示例查詢表達式104以及與該架構化相關聯的某些優點在下文中更詳細 描述。
            仍參考圖l,但也轉向圖2A,示出了示例性查詢表達式104。 一般而言,查詢表達式104可以是向特定類集應用一系列査詢運算符的表達式。查詢運算
            符是可跨值的類集一次應用于該整個類集的運算符(例如,FROM、 WHERE、 SELECT......)。查詢表達式104可包括第一査詢子句202,以及任何數量的
            下一查詢子句20A、 2042等,其每一個都包含查詢運算符中的一個。
            盡管可存在許多其它査詢運算符,并且這被認為是在所要求保護的主題的 精神和范圍之內,但是在下文中提供了多個具體示例以及對每一示例的簡要描 述。
            FROM (從)運算符可以引入一個或多個控制變量,并且或者指定要查 詢的類集,或者為控制變量計算值。
            RETURN (返回)和SELECT (選擇)運算符可以指定輸出類集的形狀。 在某些情況下,SELECT運算符可以引入新的控制變量。
            WHERE (其中)和DISTINCT (不同)運算符可以限制類集的值。
            ORDERBY (按……排序)運算符可以對類集施加排序。
            SKIP (跳過)、SKIP WHILE (跳過同時)、TAKE (獲取)和TAKE WHILE
            (獲取同時)運算符可以基于次序或條件返回類集的子集。
            UNION (并)、UNIONALL (并全部)、EXCEPT (除夕卜)和INTERSECT
            (交)運算符可以接收兩個類集并產生單個類集。
            GROUP (組)運算符可以聚集類集并可返回按照關鍵字來分組的類集。
            GROUPBY (按……分組)運算符可以基于一個或多個關鍵字來對類集 分組。在某些情況下,GROUPBY運算符可以引入新的控制變量。
            AVG (平均)、SUM (求和)、COUNT (計數)、MIN (最小)和MAX
            (最火)運算符可以聚集類集并產生值。
            ANY (任何)禾卩ALL (全部)運算符可以聚集類集并基于條件返回布爾
            (BOOLEAN)值。
            JOIN (聯接)運算符可以接收兩個類集,并可以基于從元素中導出的匹 配關鍵字來產生單個類集。
            GROUPJOIN (組聯接)運算符可以基于從元素中提取的匹配關鍵字來 對兩個類集執行分組聯接。
            查詢表達式104中的查詢運算符的轉換可以按照運算符出現在查詢表達
            10式104中的次序從左到右來進行。通常,查詢表達式104的第一個査詢子句202 包括FROM運算符,因為FROM運算符引入要査詢的類集。另外,査詢表達 式104中的最后一個查詢子句一般包括指定從查詢所得的類集的最終形狀的 RETURN禾B SELECT運算符。然而,可以理解,最后的SELECT或RETURN 運算符可被省略。例如,如果查詢表達式104不是以RETURN或SELECT運 算符結束,則可以假定隱含的SELECT運算符,這可將范圍中的所有控制變量 提升為所返回的匿名類型的屬性。此外,應當理解,查詢表達式104可以在應 用了 SELECT運算符之后繼續,在該情況下,后續運算符可訪問的控制變量僅 限于范圍中的那些控制變量。
            根據所要求保護的主題的一方面,查詢表達式104可如下架構化 產錄表這式:=產紛運,淨身表 査錄運,辦表:=
            Fraw運 I
            ^ #"^1^查 ^跪纖:= F固運,存I
            紐,運#"符I
            運餅f I (7rawp5y運,界 I Jo/"運## I 0冊/ Jo/"運,祭
            為了提供用于所要求保護的主題的附加上下文以及相關編程實現和/或語
            言的高級概覽,考慮示例性査詢表達式104的整體
            Dim names =From C In Customers — Where C.State = "WA,,— Select C.Name
            該査詢表達式104可以取Customer (顧客)對象的類集,并返回具有華盛頓 (WA)中的每一顧客的單個Name (姓名)屬性的行的類集。
            很容易明白,查詢表達式104句法可以相當接近于標準關系型結構查詢語 言(SQL)句法,其意圖是熟悉SQL的任何人將能夠以極少的進一步指令來使 用查詢表達式104。然而,該句法不必受SQL約束,并且此外,查詢表達式 104不必是SQL到另一編程語言的轉換。由于SQL是圍繞純關系型模型來設 計的,因此其某些習慣用語在包含分層概念的類型系統中并不能起很好的作 用。另外,SQL通常采用的某些句法和語義元素會沖突或者不能與現有的編程 語言句法或語義很好地集成。由此,盡管查詢表達式104對于熟悉SQL的用 戶而言可以是直觀的,但是也可存在某些區別。
            例如,在SQL以及諸如過程語言/結構化查詢語言(PLSQL)等其它語言 中,查詢和查詢的結果通過對整個査詢求值來綁定。由此,不需要能夠解釋所 應用的特定査詢運算符的元素類型。此外,這一判定在輸入了整個無錯誤的查 詢并且通過相對昂貴的轉換過程綁定之前是不能做出的。相反,所要求保護的 主題能夠將查詢表達式104輸入和查詢表達式104的結果按照特定源類型上的 個別査詢運算來綁定。這些和其它優點可以參考圖2B來更深入地示出。
            圖2B更詳細地示出了示例性査詢表達式104的查詢子句。在該示例中, 第一查詢子句202包括第一查詢運算符(例如,FROM運算符206),其可用 語引入可査詢源類型(例如,Customers 208),并且可聲明用于該源類型的元 素類型的控制變量210 (例如,C)。如圖所示,第一査詢子句202的結果流 212到下一查詢子句204,(此處統稱為下一查詢子句204),使得在相鄰查詢 子句之間可存在已知關系。特別地,元素類型可流212到下一查詢運算符(例 如,WHERE運算符214)以用作下一查詢子句204,的源類型。同樣,下一查 詢子句204,的輸出流212到下一査詢子句2042,其中它與下一查詢運算符(例 如,SELECT運算符216)相關聯,該運算符也可產生流212到后續的下一查 詢子句204的元素類型或描述查詢表達式104的輸出的最終形狀。
            12特別地,用于下一查詢子句204的每一個的查詢運算可以基于一組方法
            (例如,查詢運算符模式106),其中每一方法與一特定査詢運算符相關聯,
            并且被應用于類集或序列(例如,源類型)。這些査詢運算符可以相關于類集
            的元素類型(或行)來定義。然而,給定具有元素類型T并應用了查詢運算符 的特定源類型,流212到下一査詢運算符204的結果可以是具有元素類型S的 類集。因此,流動212的元素類型可以根據與給定查詢運算符相關聯的査詢運 算符模式106來變換。例如,與諸如SELECT和RETURN等投影查詢運算符 相關聯的查詢運算符模式106 —般返回與從流212接收到的元素類型不同的元 素類型。
            在本示例中,元素類型T (其可以是例如與Customer類型208相關聯的 所有控制變量210的聚集)流212到下一查詢子句的WHERE運算符214。 如將結合圖3描述的,與WHERE運算符214相關聯的查詢運算符模式106可 以過濾該類集的值,但是在其它方面通常不改變元素類型。此處,不在華盛頓 州的顧客從類集中過濾掉,但是流212到下一查詢運算符,即SELECT運算符 216的結果仍是具有元素類型Customer 208的類集。
            另一方面,如果假定Name屬性是String (串)類型的,貝U SELECT運算 符216的結果是具有元素類型String的類集。對查詢結果同時支持SELECT和 RETURN運算符的組合可提供對運算符的輸入和輸出的可預測語義。另外,可 以促進更大的靈活性以在與關系型數據交互時精確地模仿期望的SQL語義。 此外,在產生非表結果時可以促進更大的簡單性,以及在迭代地形成查詢表達 式時可以促進對編譯器錯誤和所需改變的改進的定位。
            另外,對于可查詢可擴展標記語言(XML)數據的類集的某些查詢語言 (例如,XQuery,其是包括某些編程語言特征的查詢語言);所要求保護的主 題也可結合XML文字來使用。例如,可以采用以下示例性查詢表達式104來 返回包括在華盛頓的所有顧客的姓名的XML元素類集,其類似于以上所討論 的示例性查詢表達式104的結果。 Dim names =—
            From c In CustomersWhere c.State = "WA,, _
            Hetum <Nams><%= c.Namc %></Name> 還可以理解,諸如,例如FROM、 SELECT和GROUPBY等某些查詢運 算符可以引入稱為控制變量(例如,控制變量C210)的一種特殊的局部變量。 默認地,控制變量的范圍可以定為從引入的運算符到可以隱藏該控制變量的運 算符,并且可以表示査詢所求值的類集中的個別行的屬性或列。例如,在以下
            査詢中
            Dim WACusts = 一
            From C As Customer In Customers —
            Where C.State = "WA" FROM運算符引入了類型為Customers的控制變量C。后面的WHERE査詢運 算符然后參考控制變量C在過濾表達式C.State^'WA"中表示每一個別顧客。
            諸如DISTINCT等某些查詢運算符不必使用或改變控制變量。諸如 SELECT等其它查詢運算符可以在范圍中隱藏當前控制變量并且可引入新的控 制變量。例如,在以下查詢中 Dim YourUncles =—
            From C In Customers —
            Select LastName = C.Name 一
            Where LastName.StartsWith("Bo,,) WHERE査詢運算符只能訪問由SELECT運算符引入的LastName (姓)控制 變量。如果WHERE運算符試圖引用C,則可能會導致編譯時錯誤。
            現在參考圖3 (同時仍參考圖1),提供了查詢運算符模式的眾多非限制 示例。查詢運算符模式302-328是查詢運算符模式106的具體圖示,并且此處 由參考標號302-328來個別地引用,或者統稱為查詢運算符模式106。還可以 理解,若干査詢運算符模式106可適用于多個查詢運算符,即使多個查詢運算 符中涉及查詢運算符模式302-328中的單個模式的每一查詢運算符可具有將其 與多個査詢運算符中的其它運算符相區分的特性。此外,在某些情況下,特定 查詢運算符可以結合查詢運算符模式302-328中的一個以上模式來使用(例如, 重載函數)。一般而言,査詢運算符模式106可以是類型C必須實現以便可被査詢的
            方法簽名。可以回想,查詢表達式104可以向特定類集應用一系列査詢運算符。
            每一查詢運算符的控制變量可以是用于應用該特定査詢運算符的范圍中的全 部變量或全部變量的子集,而可從一個査詢運算符流到下一查詢運算符的元素
            類型T可以是作為范圍中的全部控制變量的聚集的匿名類型。因此,查詢運算 符模式106可以特別地幫助確保類型C是可查詢類型。對于任何給定查詢表達 式104,如果以下條件的至少一個為真,則類型C是可査詢類型
            (1) 類型C包括返回可查詢類型的具有簽名AsQuerable()的可訪問實例方法。
            (2) 類型C包括返回正numerable(Of T)的具有簽名AsEnumerable()的可訪
            問實例方法。
            (3) 類型C實現符合査詢運算符模式302-328 (下文進一步詳述)的一個或 多個查詢運算符,并且對于在類型C上定義的所有查詢運算符,類型T必 須匹配并且不可以是開放類型參數。
            參考查詢運算符模式302-328,査詢運算符模式302可包括FROM運算符。 在査詢表達式104中,FROM運算符通常在第一查詢子句中使用。由此,FROM 模式302可以引入查詢的源以及要使用的控制變量,并且可輸出具有元素類型 T的可查詢類型。應當理解,在對査詢表達式求值之前,如果類型C不滿足設 計模式(例如,不符合查詢運算符模式106),則可對查詢表達式104調用 AsQueryable或AsEnumerable方法,并且該函數的返回值可被存儲在臨時位置 中。
            如上所述,FROM運算符可以引入可被査詢的類集以及可表示該類集中的 個別成員的控制變量。查詢表達式
            From b As Book In Books ... 可被認為等價于
            For Each b As Book In Books
            Nextb
            類集表達式運算數一般必須被分類為值并且必須是可查詢類型。FROM運算符所聲明的控制變量通常必須遵循用于相對于命名和定范圍來聲明局部變 量的常規規則(如以上句法轉換所暗示的)。由此,控制變量一般不能隱藏封 閉方法中的局部變量或參數的名稱。
            應當理解,FROM運算符還可引入其值可由表達式而非類集來確定的控制 變量。這一特征可用于例如計算將在稍后的査詢運算符中使用多次的值(例如, 計算該值一次而非在隨后每次使用它時計算)。例如
            Dim TaxedBookPrices =— From b in Books — From Tax = b.Price * 0.088 — Where Tax > 3.50 —
            Select b.Price, Tax, Total = b.Price + Tax
            可被認為等價于
            For Each b In Books Dim Tax = b.Price * 0.088
            Nextb
            聲明表達式控制變量的FROM運算符的句法可以與FORLOOP中的控制 變量聲明相同,例外是該控制變量一般通過顯示初始化程序來初始化。不要求 表達式控制變量引用另一控制變量,因為這樣做可能是不確定值。表達式控制 變量通常不能是在查詢表達式104中聲明的第一控制變量。
            出于簡短和/或方便的目的,FROM運算符的運算數可以省略AS子句, 在這一情況下,控制變量的類型可以從該變量范圍所在的類集或表達式來推 斷。如果控制變量的類型不能從查詢運算符方法中導出,則將導致編譯時錯誤。 FROM運算符可以在架構上如下定義 Fr簡運,/^f ::=
            尸廠。m /吉鄉,緣:= Fraw聲鄉 I
            尸r謹,剪,y表 , 尸r函,剪
            16Fram聲敏=
            ,量標欽符[As類型名]In表這式I
            變著蘆麵教
            另外,盡管FROM運算符一般作為第一個查詢子句202的查詢運算符出 現,但是查詢表達式104可以包括一個以上FROM運算符。因此,當FROM 運算符是下一査詢子句204的査詢運算符時,則可導致叉積(例如,簡單、隱 式聯接)。在這一情況下,FROM運算符可以將新控制變量聯接(參見下文的 JOIN運算符模式324)到現有的控制變量集。結果可以是聯接的類集中的所有 元素的叉積。因此,例如,表達式
            From b In Books 一
            From p In Publishers —
            可被認為等價于嵌套的For Each循環 For Each b In Books For Each p In Publishers
            Next p Next b
            前一查詢運算符中引入的控制變量可以在范圍內,并且可在包括在下一查 詢運算符204中的FROM運算符內使用。按照SQL,上述特征可被認為是支 持"相關子查詢"。例如,在以下查詢表達式中,第二個FROM運算符涉及第一 個控制變量的值
            From c As Customer In Customers —
            From o As Order In c.Orders —
            Select c.Name, o
            另外,在單個查詢子句中可以出現多個FROM運算符,在這一情況下, 運算數之間的逗號可以完全等價于下一查詢子句204中的另一FROM運算符。 由此,示例From b In Books, p In Publishers — Select b, p 可以等價于
            From b In Books _ From p In Publishers _ Select b, p
            查詢運算符模式304可以包括一查詢運算符,其是名為SELECT或 SELECTMANY的可訪問實例方法,該方法可以接收一函數作為自變量。函數 可以包括類型為T的自變量,并產生類型S。該方法可以返回具有元素類型S
            的可查詢類型。
            SELECT運算符可以描述查詢表達式104的結果。SELECT運算符可以取 聲明列表,并構造所得類集的元素類型。例如,如果査詢表達式104為 Dim CustAndOrderNames = 一
            From c In Customers, o In c,Orders — Select c.Name, o,Product 則所得類型可以是IEnumerable(Of {Name As String, Product As String}),因為 Name的類型是String,且Product (產品)的類型是String。
            后面的這一査詢(例如,查詢表達式104)可以等價于顯示地返回匿名類

            Dim CustAndOrders = _
            From c In Customers, o In c.Orders — Return New With { c.Name, o.Product}
            如果SELECT運算符只有一個聲明,則結果可以是具有一個屬性的匿名 類型。由此,結果類型可以是正numerable (Of {Name As String}),因為Name 的類型是String。例如,
            Dim CustNames =— From c In Customers Select c.Name
            SELECT運算符中使用的聲明內的表達式在轉換成底層匿名類型之前被綁定。更具體而言,SELECT運算符中的聲明內的表達式可以開始成員訪問,
            其中點運算符不必綁定到査詢中的控制變量。相反,點運算符可改為綁定到封
            閉的WITH塊,如果存在這樣的塊的話。
            應當理解,除了 SELECT運算符之外,查詢表達式104還可包括其它投 影運算符。例如,査詢表達式可以包括RETURN運算符,對于該運算符,可 以有相關聯的查詢運算符模式106。類似于SELECT運算符,RETURN運算符 可以描述査詢表達式104的結果。RETURN運算符可以取產生所得類集的元素 的表達式。例如,查詢
            Dim ReducedBookPrices =— From b in Books — Return b.Price * .8 可產生被降低到其原始成本的80%的價格的類集。
            以RETURN運算符結束的查詢表達式104的結果可以是其元素類型是所 返回的表達式的類型的類集。例如,在以下查詢表達式中,結果類型是 IEnumerable (OF String),因為c.Name的類型是String: Dim CustNames =—
            From c In Customers — Return c.Name
            如果查詢表達式104在沒有RETURN或SELECT運算符的情況下結束,
            則所得的類集的元素類型可以是具有范圍中的所有控制變量的屬性的匿名類 型
            '結果類型是IEnumerable(Of {Name As String, Product As String}) Dim CustNames =—
            From c In Customers, O In C.Orders 即使SELECT運算符可以描述查詢表達式104的結果,但任何查詢表達 式104可在SELECT運算符之后繼續。在該情況下,由SELECT語句引入的 控制變量是范圍中的控制變量,但是所有先前的控制變量通常在范圍外 CustNames =—
            From c In Customers, O In C.Orders —
            19Select Name = C.Name, Price = O.Price Where Price 〉 500 Return Name
            在SELECT運算符之后繼續的查詢表達式104可以等價于嵌套查詢 Dim CustNames =—
            From X In (From c In Customers, O In C.Orders 一 Return New With { C.Name, O.Price ",— Name = X.Name, Price = X.Price Where Price > 500 Return Name
            RETURN和SELECT運算符分別可基于以下示例來定義 運,祭 = Return 表這式 &/£"運#"符':=Select 5"e/",聲猶表 ^/e"聲剪^表:= M"聲剪I
            5We",剪:=
            變量聲麵教
            查詢運算符模式306可以包括一査詢運算符,其是名為WHERE的可訪問 實例方法,該方法取一函數作為自變量。類型T可以是該函數的自變量,并且 結果可以是可被隱式地轉換成布爾類型的類型。例如,結果類型可以具有與可 在IF、 WHILE或DO語句中使用的表達式的類型相同的規則。因此,類型可 以具有到布爾類型的隱式轉換,或者需要己經定義了 IsTme和IsFalse運算符。 WHERE運算符可以返回具有元素類型T的可查詢類型。
            WHERE運算符可以將類集中的值限于滿足給定條件的那些值。WHERE 運算符可以接收對每一組控制變量值求值的布爾表達式。如果表達式的值為 真,則該值可出現在輸出類集中,否則該值可被跳過。查詢表達式From b In Books, p In Publishers _ Where b.PublisherID = p.PublisherID _
            可被認為等價于嵌套循環 For Each b In Books For Each p In Publishers
            If b.PublisherID = p.PublisherID Then
            End If
            Nextp Nextb
            WHERE運算符可被定義為 附we運#"# ::= Where 吝灰表這式
            查詢運算符模式308可以包括一查詢運算符,其是名為ORDERBY或 ORDERBYDESCENDING (按降序排序)的可訪問實例方法,該方法可取一函 數作為自變量,該函數進而可取類型T的自變量,并產生類型S。與模式308 相關聯的方法可以返回具有元素類型T的己排序類集。
            ORDERBY運算符可以基于一次序對出現在控制變量中的值排序。 ORDERBY運算符可以取指定應使用來對控制變量排序的值的表達式。例如, 以下查詢返回按照價格(Price)排序的書名(book.Title): From book In Books 一 Order By book.Price Select book.Title
            排序可以是升序的,在這一情況下較小的值可以在較大的值之前出現;或 者排序可以是降序的,在這一情況下較大的值在較小的值之前出現。排序的默 認值是升序。例如,以下查詢返回按照價格排序的書名,且最貴的書在最前面 (Descending):From book In Books —Order By book.Price DescendingSelect book.TitleORDERBY運算符還可指定用于排序的多個表達式,在這一情況下類集可 以用嵌套方式來排序。例如,以下查詢表達式按照州(State),然后按照每一 州內的市(City),在按照每一市內的郵政編碼(ZIP),來對作者(Author) 排序From author In Authors —Order By author,State, author.City, author.ZIP —Select author.Name, author.State, author.City, author.ZIP ORDERBY運算符可以基于以下示例來架構化 (9W,運##::= Order By (9rafe廠表這式身表 CWe廠表這-tW表 :=O(ier表這式 ICVc/£T表這式身表 ,(9nier表這式 (9nsfer _|ll^"^C ::=表拔式[排序] 排序 =Ascending | Descending 另外,查詢運算符模式310可以包括一查詢運算符,其是名為DISTINCT 的為可訪問實例方法。通常,該方法返回具有與源類型C相同的元素類型的可 查詢類型。DISTINCT運算符可以將類集中的值僅限于具有不同值的那些(例 如,不返回重復值)。例如,查詢From c In Customers, o In c.Orders —Select c.Name, o.Price —Distinct將僅對每一對不同的顧客名和定單(Order)價格(Price)返回一行,即使該 顧客具有價格相同的多個定單。DISTINCT運算符可被架構化為 Z)/幼Vz"運,界=Distinct現在參考查詢運算符模式312,模式312可以包括一查詢運算符,其是名為CONCAT、 UNION、 INTERSECT或EXCEPT的可訪問實例方法。該方法 可以接收具有與源C相同的元素類型T的類集作為自變量,并返回具有元素類 型T的可查詢類型。下一查詢運算符模式,即模式314可以包括一查詢運算符,其是名為TAKE 或SKIP的可訪問實例方法,該方法可以接收值作為自變量,并且可以返回具 有與源類型C相同的元素類型的可查詢類型。TAKE運算符可以產生來自類集的給定數量的元素。當隨WHILE修飾符 一起使用時(參見例如査詢運算符模式316) , TAKE運算符可以在條件保持 為真時產生一元素序列。SKIP運算符可以忽略來自類集的給定數量的元素,然后返回該類集的其 余元素。當結合WHILE修飾符一起使用時,SKIP運算符在條件保持為真時跳 過元素,然后返回類集的剩余元素。TAKE和SKIP的一個示例架構如下提供。 尸flr加'ow運,存= 7"afe表這式 I Iz》表這式 表這式= Take [ While ] 表這式 i 1*表這式=Skip [ While ] 表達式 查詢運算符模式316可以包括一查詢運算符,其是名為TAKEWHILE或 SKIPWHILE的可訪問實例方法。該方法可取一函數作為自變量,其中該函數 可接收類型T的自變量,并產生布爾值。該方法可以返回具有元素類型T的可 查詢類型。查詢運算符模式318可以包括一查詢運算符,其是名為SUM、MIN、MAZ、 COUNT或AVERAGE的可訪問實例方法。該方法可取一函數作為自變量,其 中該函數進而接收類型T的自變量,并產生數值類型。該方法可返回數值類型。查詢運算符模式320可以包括一查詢運算符,其是名為MIN或MAX的 可訪問實例方法,該方法可取一函數作為自變量,該函數進而可取類型T的自 變量,并產生類型S。該方法可以返回具有元素類型S的可查詢類型。23査詢運算符模式322可以包括一査詢運算符,其是名為ANY或ALL的可 訪問實例方法,該方法可以接收一函數作為自變量。函數可以包括類型為T的 自變量,并產生可被隱式地轉換成布爾值的類型。該方法可返回可被隱式地轉 換成布爾值的類型。可以理解,與模式318-322相關聯的查詢運算符可以結合AGGREGATE (聚集)運算符來使用。在聚集查詢子句內,標準AGGREGATE運算符集可 被應用于范圍中的分組的控制變量。AGGREGATE運算符可括但不限于 ANY、 ALL、 COUNT、 LONGCOUNT (長計數)、SUM、 MIN、 MAX、 AVERAGE (平均)禾口/或GROUP 。ANY聚集運算符可以查明在組中是否有滿足給定條件的元素。ALL聚集 運算符可以確定是否組中的全部元素都滿足給定條件。例如,以下的示例查詢 表達式104可以檢查是否有低于18歲的任何顧客(cust.Age<18): From cust In Customers — Group By cust. State —Aggregate YoungerThan18 = Any(cust.Age < 18) 而以下示例査詢表達式104可以返回給定州中(cus.State)具有至少5個定單 的所有顧客(cust.Orders,Count()〉 5):From cust In Customers —Group By cust. State —Aggregate AtLeast5 = All(cust.Orders.CountO > 5) COUNT和LONGCOUNT聚集運算符可以取可任選布爾表達式,并對該 組中滿足給定條件的元素的數量計數。 From cust In Customers — Group By cust.State — Aggregate Seniors = Count(cust.Age > 50) SUM聚集運算符可以基于特定選擇器表達式來計算組中的元素之和。例 如,以下示例性查詢表達式104可以計算按照類別(Category)分組的所有定單的總值From order In OrdersGroup By order.Category Aggregate Total = Sum(order.Price)MIN和MAX聚集運算符可以基于某一選擇器表達式來計算組的元素的 最小值(或最大值)。例如,以下示例查詢表達式104可以計算每一州的最年 輕(Youngest)和最年長(Oldest)的顧客From cust In Customers —Group By cust. StateAggregate Oldest = Max(cust.Age), Youngest = Min(cust.Age) AVERAGE聚集運算符通常基于特定選擇器表達式來計算組中的元素的 平均值。例如,以下示例查詢表達式104可以計算按照類別分組的所有產品 (Products)的平均價格From prod In Products — Group By prod.CategoryAggregate AveragePrice = Average(prod.Price) 特殊的GROUP聚集運算符可以基于可任選選擇器表達式將組的所有元 素累積成顯式類集。例如,以下示例性查詢表達式104可以將給定州中的所有 顧客姓名收集到單個類集中。From cust In Customers — Group By cust. State Aggregate Names = Group(cust.Name) 查詢運算符模式324可以包括一查詢運算符,其是名為JOIN的可訪問實 例方法。該方法可以取以下各項作為自變量具有類型T'的元素的可査詢類型 S;用作內部選擇器的函數,其可取類型T的自變量,并產生表示關鍵字的類 型K;用作外部選擇器的函數,其可取類型T'作為自變量,并產生表示關鍵字 的類型K;和/或用作聯接條件的函數,其可取類型分別為T和r的兩個自變 量,并產生類型V的散列值。該方法可以返回具有元素類型V的可查詢類型。 因此,JOIN運算符可以取兩個類集,并可以基于從元素中導出的匹配關 鍵字來產生單個類集。在指定要聯接的條件時可以應用某些限制。例如,可以 要求對于條件表達式的運算數可被顯示地轉換為布爾值。JOIN架構的一個示例如下。場運 ::=Join凝if資劍:^量[As類智名]In表達式Where Jo/"殺斧表^"式 Jo/"條,表這式. . =i e/a"o"a/運,界表這式|緣e運餅表這式 查詢運算符模式326可以包括一查詢運算符,其是名為GROUPJOIN的可 訪問實例方法,該方法可以接收以下各項作為自變量具有類型T'的元素的可 査詢類型S;用作外部關鍵字選擇器的函數,其取類型T的自變量,并產生表 示關鍵字的類型K;用作內部關鍵字選擇器的函數,其取類型U的自變量,并 產生表示關鍵字的類型K;和/或可產生結果的函數,其中該函數可以取類型T 的自變量,以及具有元素類型U的類集的自變量,并產生所選類型V。該方法 可以返回具有元素類型V的可查詢類型。GROUPJOIN運算符可以基于從元素中提取的匹配關鍵字來創建兩個類 集的分組聯接。運算符可以產生分層結果(例如,與匹配的內部元素的類集配 對的外部元素),并且不需要關系型數據庫項中的直接等價物。以下示例查詢 表達式104可以執行顧客與其定單的分組聯接,從而產生具有顧客姓名以及該 顧客的定單總額(order/Total)的匿名類型的類集 From cust In db.Customers —Group Join order In db.Orders On cust.ID = order.CustID — Aggregate TotalOrders = Sum(order.Total)— Select cust.Name, TotalOrders可以有對固定集合操作以計算單個值的任何數量的附加運算符。在查詢的 上下文中,可以認為這些運算符聚集所計算的值。為對集合進行聚集,該集合 一般必須首先被引入。在査詢內,可以有各種方式來指定用于聚集計算的類集。 在引入了一個組后,該組可被聚集以計算單個值。因此,除了分組運算符 GROUPJOIN (以及以下結合查詢運算符模式328討論的GROUPBY)之外, 可存在其它分組運算符。 一個這樣的示例是OVER運算符。OVER運算符可以指定一個組應被累積以便進行聚集綜合。OVER運算符26可用作獨立表達式,或者其可用于指定應對聚集計算采用預形成的類集。例如, 以下示例査詢表達式104可以聚集2006年1月1日以前所有定單總額之和Over order In Orders _Where order.Date <= #01/01/2006# —Aggregate Sum(order.Total) OVER運算符的每次應用通常必須以相應的AGGREGATE運算符關閉來 基于類集內容計算單個值。查詢的結果可以是對應于聚集計算的單個值,在這 一情況下其是表示2006年以前的所有定單的總金額的整數。在OVER和AGGREGATE運算符之間可以使用可能任何查詢運算符。在 AGGREGATE運算符內,僅可對前一 OVER運算符指定的控制變量使用 AGGREGATE運算符(例如,與模式318-322相關聯的運算符,如上所述)。 當己經形成一個集合時,如通常是分層對象圖的情形,則可使用OVER 運算符來指定應對聚集計算使用一個集合。例如,以下示例性查詢表達式104 可以聚集2006年以前華盛頓的所有顧客發出的所有定單的總金額From cust In db.Customers —Where cust.State = "WA"—Over order In Orders —Where order.Date <= #01/01/2006# —Aggregate Sum(order.Total)該査詢的結果可以是其元素類型是具有以下兩個屬性的匿名類型的可査詢類型1)稱為cust的顧客屬性,和稱為Sum的整數屬性。查詢運算符模式328可以包括一查詢運算符,其是名為GROUPBY的可 訪問實例方法,該方法可取以下各項作為自變量用作關鍵字選擇器的函數, 其接收類型T的自變量,并產生表示關鍵字的類型K;和/或產生結果的函數, 其取類型K的自變量以及作為具有元素類型T的類集的自變量,并產生所選 類型V。該方法可以返回產生具有元素類型V的可査詢類型。GROUPBY運算符可以基于一個或多個共同的關鍵字表達式來對類集的 元素分組(例如,邏輯上)。對于初始類集的這些分區的每一個,后續的 AGGREGATE語句可以指定這些組的每一個如何被聚集成單個值或行。例如,以下示例性查詢表達式104可以按照州來對所有顧客分組,然后計算每一組的計數(Count)和平均年齡(AverageAge): From cust In Customers — Group By cust. StateAggregate Total = Count(), AverageAge = Avg(cust.Age) 與SELECT運算符一樣,GROUPBY運算符可以將在關鍵字選擇器中聲 明的變量作為控制變量帶入范圍中,并且可隱藏先前在范圍中的所有控制變 量。相反,與SELECT運算符的某些方面不同,這些隱藏的控制變量可以由在 后續的AGGREGATE運算符內使用的AGGREGATE運算符再次帶入范圍中。 此外,與OVER運算符的某些實現不同,在GROUPBY和AGGREGATE運算 符之間不能使用任何其它查詢運算符。From cust In Customers 一Group CustomersByState By cust.State 這一構造可以等價于通過顯式聚集來構造組,但是在GROUPBY運算符 子句之后立即終止查詢吋是有用的。由此,以上表達式可以等價于以下表達式From cust In Customers —Group By cust. State 一Aggregate CustomersByState = Group(cust)不必要求GROUPBY運算符的實際實現實際構建每一個別的組的表示。 相反,該實現可使用將分組與后續的聚集成單個運算相組合的底層實現。可以理解,控制變量的類型和名稱可以從查詢表達式104的目標以及所應 用的查詢運算符中推斷(將在下文中結合圖4來更詳細討論)。由此,元素類 型(其是范圍中的控制變量的聚集)可以用類似的方式來推斷。對于以上的每 一條規則,元素類型的所推斷的類型可以是T,并且當可查詢類型C是在例如 FOR EACH ... NEXT語句中使用的類集時,元素類型通常必須匹配元素類型T。還應當理解,已排序類集可被定義為實現以下運算符的子集的類集名為 THENBY或THENBYDESCENDING的、取一函數作為自變量的可訪問實例方 法,該函數取類型T的自變量,并產生類型S。該方法可以返回具有元素類型 T的已排序類集。由于查詢運算符模式106可以方便將查詢句法綁定到實現特定査詢運算 的方法,因此不需要由所采用的底層語言來規定次序保留。相反,次序保留可 以由運算符本身的實現來確定。這在要重載的實現方面可以類似于用戶定義的 運算符,例如,用于用戶定義的數值類型的加法運算符不能執行類似加法的任 何運算。然而,為保留所要求保護的主題內在的可預測性,實現不匹配用戶期 望的運算符可能不是推薦的過程。為幫助更完整地理解所要求保護的主題,現在可進一步討論其它特征、方 面和/或實現。例如,以下的某些節詳述了每一查詢運算符映射到對標準查詢運 算符方法的調用的示例性方式。其它節描述了如上引入的元素類型信息流的方 式,并且將在稍后的節中使用(例如,結合圖4和以下相關聯的描述)。查詢運算符轉換可以理解,各種查詢運算符的每一個可以直接映射到可根據標準查詢運算符模式(例如,查詢運算符模式106)來定義的方法調用。由此,查詢運算符 (或作為整體的查詢表達式)的含義可以按照要調用的査詢運算符方法來表 達。方法可以是所查詢的對象的實例方法,或對象外部的擴展方法。例如,査詢Dim names = _ From c In Customers — Where c.State = "WA"— Return c,Nam6可以等價于Dim names = Customers.Where(c => c.State).Select(c => c.Name) 合成控制變量盡管控制變量可由所要求保護的主題為此處所描述的各種目的而采用,但 是可以理解,控制變量一般不是對最終用戶直接可訪問的。諸如WHERE或 SELECT等某些查詢運算符取可以引用查詢中在范圍中的控制變量的表達式。 這些表達式被表達為取控制變量并返回表達式結果的局部函數。例如,查詢 Dim WACusts =— From cust In Customers29Where cust.State = "WA"可以等價于Dim WACusts = Customers.Where(c =〉 c.State = "WA") _ .Select(c => New With (c.Name"其中控制變量cust用作用于拉姆達表達式(lambda expression)的參數。 類似地,在多個控制變量在范圍中的情況下,控制變量通常必須被一起分組成單個匿名類型,以使它們可被傳入局部函數。例如,查詢 Dim WACustsAndOrders = _ From cust In Customers — From order In cust.Orders —Where cust.State = "WA" AndAlso order.Price > 10.50可以等價于Function Filter 1 (it As {c As Customer, o As Order}) As BooleanReturn it.c.State = "WA" AndAlso it.o.Price > 10,50 End FunctionFunction Joinl(c As Customer) As —IEnumerable(Of {c As Customer, o As Order}) Function Select l(o As Order) As {c As Customer, o As Order}Return New {c, o} End FunctionReturn c.Orders.Select(AddressOf Selectl) End FunctionDim WACustsAndOrders = 一 Customers. SelectMany(AddressOf Joinl).Where(AddressOf Filter 1)其中控制變量c和o被一起組合成稱為IT的合成控制變量,其類型是匿名類 型(c As Customer, o As Order}。還可以理解,也可以提供對于拉姆達表達式的支持,并且其被認為是在所 要求保護的主題的精神和范圍之內。還要注意,合成控制變量通常是不嵌套的。作為一個示例From b In Books _From ba In BookAuthors —From a In Authors —可以等價于Function Joinl(b As Book) As IEnumerable(OfAs Book, ba As BookAuthor})Function Selectl(ba As BookAuthor) As {b As Book, ba As BookAuthor}Return New { b, ba } End FunctionReturn BookAuthors.Select(AddressOf Selectl) End FunctionFunction Join2(it As {b As Book, ba As BookAuthor}) As —IEnumerable(Of {b As Book, ba As BookAuthor, a As Author" Function Select2(a As Author) As 一{b As Book, ba As BookAuthor, a As Author} Return New {b, ba, a} End FunctionReturn Authors.Select(AddressOf Join2) End FunctionBooks.SelectMany(AddressOf Joinl).SelectMany(AddresOf Join2) FROM運算符轉換標準FROM運算符一般僅引入査詢源以及要使用的控制變量。本質上, 它不轉換成任何特定查詢運算符調用。在JOIN的情況下,FROM運算符在與 常規控制變量聯接時可被轉換成對SELECTMANY査詢運算符方法的調用,而 在與表達式控制變量聯接時可被轉換成對SELECT查詢運算符方法的調用。因 此,查詢表達式31From b In Books, p In Publishers — Select b.Title, p.Name可以等價于Function Joinl(b As Book) As IEnumerable(Of {b As Book, p As Publisher})Function Select2(p As Publisher) As {b As Book, p As Publisher}Return New With {b, p} End FunctionReturn Publishers.Select(AddressOf Select2) End FunctionFunction Selectl(it As {b As Book, p As Publisher}) As — {Title As String, Name As String} Return New With {it.b.Title, it.p.Name} End FunctionBooks.SelectMany(AddressOf Joinl).Select(AddressOf Selectl) 并且査詢表達式From b In Books, Tax = b,Price * 0.088 — Select b.Title, Tax可以等價于Function Selectl(b As Book) As {b As Book, Tax As Double}Return New With {b, Tax = b.Price * 0.088} End FunctionFunction Select2(it As {b As Book, Tax As Double}) As {Title As String, Tax As Double} Return New With {it.b.Title, it.Tax} End FunctionBooks.Select(AddressOf Selectl).Select(AddressOf Select2)每一查詢運算符可被綁定到粘附到特定模式的源類型上的底層方法。該模 式規定了運算符的結果的元素類型,并且在某些情況下對可傳入底層方法的表達式施加了約束。顯式類型化的控制變量如果FROM運算符使用As子句為控制變量指定了目標類型Object (對 象),并且T的類型不能從源類型中推斷,則元素類型可以使用Case(Of Object) 運算符來轉換。查詢表達式 Dim nums =— From addrNum As Object In publisher.Address 一 Where addrNum < 5等價于-Function Filter 1 (addrNum As Integer) As BooleanReturn addrNum < 5 End FunctionDim names 二 publisher.Address.Cast(Of Object)O.Where(AddressOf Filterl)如果FROM運算符使用As子句為控制變量指定了目標類型T (不是 Object),并且T的類型不能從源類型中推斷或者如果目標類型不匹配源的元 素類型,則元素類型可以使用Cast (強制轉換)查詢運算符轉換成Object,并 且可利用后續的SELECT運算符來獲得目標類型。例如,查詢表達式 Dim nums =— From addrNum As Integer In publisher,Address — Where addrNum < 5等價于Function Filter 1 (addrNum As Integer) As BooleanReturn addrNum < 5 End FunctionFunction Select 1 (addrNum As Integer) As StringReturn addrNum End FunctionDim names = publisher.Address.Cast(Of Object)().Select(AddressOf33Select 1). Where(AddressOf Filter 1) 如果FROM運算符使用As子句為控制變量指定了目標類型T,并且T的 類型匹配源的元素類型,則不需要后續應用Cast或SELECT運算符。 WHERE運算符轉換WHERE運算符可被轉換成對Where査詢運算符方法的調用。例如,查詢 表達式From book In Books _Where book.PublisherID = 10 _Return book.Title可以等價于Books,Where(b => b.PublisherID = 10).Select(b => b.Title) ORDERBY運算符轉換ORDERBY運算符對于第一次排序可被轉換成對ORDERBY或 ORDERBYDESCENDING查詢運算符方法的調用(取決于排序的類型),并 且然后對于以后的排序被轉換成對THENBY和THENBYDESCENDING査詢 運算符方法的調用。例如,查詢表達式From a In Authors —Order By a.State, a.City Descending —Return a.Name 可以等價于Authors.OrderBy(a =〉 a.State).ThenByDescending(a => a.City),— Select(a => a.Name) RETURN和SELECT運算符轉換RETURN運算符可被轉換成對SELECT查詢運算符方法的調用。例如From e In Employees 一Hetum e.Name 可以等價于Employees.Select(e => e.Name) SELECT運算符可被轉換成對SELECT查詢運算符方法的調用以及匿名類型的構造。例如From e In Employees — Select e.Name, e.Salary可以等價于Employees.Select(e =〉 New With {e.Name, e.Salary}) DISTINCT運算符轉換DISTINCT運算符可被轉換成對DISTINCT查詢運算符方法的調用。例如: From e In Employees — Distinct可以等價于Employees.DistinctO TAKE或SKIP[WHILE]運算符轉換TAKE或SKIP運算符可以調用相應的TAKE或SKIP查詢運算符方法。例如From e In Employees — Order By e.Salary Descending — Rstum s.Nams Take 5可以等價于-Employees.OrderByDescending(e => e.Salary).Select(e => e.Name).Take(5)并且查詢From e In Employees — Order By e.Salary Descending — Return e.Name Skip 5可以等價于Employees.OrderByDescending(e => e.Salary).Select(e => e.Name).Skip(5)當結合WHILE修飾符使用時,可以創建條件表達式來應用于底層的TAKEWHILE或SKIPWHILE査詢運算符。例如,查詢 From e In Employees 一 Order By e.Salary Descending 一 Take While e.Salary > 50000 — Return e.Namc可以等價于Employees.OrderByDescending(e => e.Salary). 一 .TakeWhile(e => e.Salary > 50000).Select(e =〉 e.Name) GROUPBY和AGGREGATE運算符轉換后跟聚集SELECT或RETURN運算符的GROUPBY運算符可被轉換成對 后跟構造的組上的聚集的GROUPBY查詢運算符方法的調用。例如,査詢 From C In Customers — Group By C.State —Aggregate Youngest = Min(c.Age), Oldest = Max(c.Age) Select State, Youngest, Oldest 可以等價于Customers.GroupBy(c => New With { .State = c.State },— (g, k) => New With { .State = k,— .Youngest = g,Min(c => c.Age), .Oldest = g.Max(c => c.Age) }) 示例對象此處包括的所有示例使用兩個單獨的對象集中的一個。Company (公司) 對象可以表示關于一公司的信息,并且可以分層地連接 Class Company Dim Name As String Dim Employees As List(Of Employees) Dim Customers As List(Of Customer)36End Class Class CustomerDim Name As StringDim Orders As List(Of Order) End Class Class OrderDim Product As StringDim Price As Integer End Class Class EmployeeDim Name As StringDim Birthday As DateDim Position As StringDim Salary As Decimal End ClassDim Employees As List(Of Employee) Dim Customers As List(Of Customer) Book (書)對象可以表示關于例如書店中庫存的書的信息,并且可通過 關系連接Class BookDim BookID As LongDim Title As StringDim PublisherlD As LongDim Price As Double End Class Class AuthorDim AuthorlD As LongDim Name As StringDim Address As StringDim City As StringDim State As StringDim ZIP As String End Class Class BookAuthorDim BookID As LongDim AuthorID As Long End Class Class PublisherDim PublisherID As LongDim Name As StringDim Address As StringDim State As String End ClassDim Books As List(Of Book)Dim Authors As List(Of Author)Dim BookAuthors As List(Of BookAuthor)Dim Publishers As List(Of Publisher)在記住了以上內容之后,現在轉向圖4,描繪了可以實時地推斷元素類型 和/或基于所推斷的元素類型增量式地提供上下文信息的計算機實現的系統 400。 一般而言,系統400可以包括接收查詢表達式104的用戶接口 102,如基 本在上文結合圖l所描述的。另外,系統400可以包括可操作地耦合(未示出) 到用戶接口 102和/或上下文組件402的模式存儲108。上下文組件402可以檢 查查詢表達式104并實時地做出關于元素類型的推斷。例如,如上所述,由于 用于每一查詢子句的查詢運算符符合一特定模式(例如,圖1的查詢運算符模 式106),并且此外,由于元素類型可從一個查詢子句流到下一查詢子句,因 此這兩條信息可用于為任何給定下一查詢子句確定元素類型。當查詢運算符被描述為方法調用并且查詢運算作為純機制變換來應用時, --般要求類型解析在重載解析期間進行。以此方式,假定查詢運算符可將類型從一個運算符流到另一個,則運算符一般必須被完全綁定以便能夠將類型提供 給要應用的下一運算符。結果,如果重載解析由于句法錯誤或某一其它問題而 失敗,則沒有可用于向應用的下一運算符提供類型信息的常規機制。沒有這一 類型流機制的合成查詢運算符(以下從圖6開始更詳細討論)導致多余的錯誤 消息、不同的表達式語義、缺少用于自動完成的上下文信息、以及總體上更慢 的編譯器吞吐量。如所描述的,所要求保護的主題可以采用查詢運算符的模式的形式化,這 可允許元素類型不依賴于完全方法綁定,而是依賴于所采用的特定運算符的模 式。作為進一步說明,考慮由用戶接口 102接收的當前示例性查詢表達式104 (例如,在類型化査詢表達式104時)Dim q = From cust In Customers —Where cust.Name = "XYZ" & errorUnresolvedVarName 一 Select cust.第一個查詢子句包括FROM運算符,其可引入可查詢源類型"Customers"作為 匿名元素類型"cust",這可以是源類型的元素。如所討論的,該元素類型可以 流到下一査詢子句,其中WHERE運算符可以過濾該類集,但是在其它方面不 更改元素類型。最后,該元素類型流到下一査詢子句,其中可找到SELECT運 算符以及SELECT運算符方法期望接收的函數的一部分,但是下一查詢子句的 其余部分尚未完成。流入SELECT子句的元素類型現在可用于該特定查詢子句的源類型。上 下文組件402因此可以基于源類型和查詢運算符來實時地推斷該查詢子句的元 素類型(例如,cust)。因此,推斷可以完全是局部的,并且不需要對査詢表 達式104的完全轉換。相反,上下文組件402可以用類似于后臺編譯器的方式 來執行推斷。另外,上下文組件402的推斷可以用多種方式來促進更大的效率。例如, 推斷僅需在執行轉換時被執行一次。由此,如果在查詢表達式104中有兩個 WHERE運算符,則對第二個WHERE運算符的轉換不必是必需的。另夕卜,推 斷可以用于完全和通常更昂貴的編譯,以縮短一般必須執行的類型發現的巡 回。由此,事先推斷元素類型可以用各種方式來使用以加快編譯時間。此外, 一旦上下文組件402推斷了元素類型(此處,是"Select cust."查詢 子句中的"cust"),則上下文組件402可以增量式地提供上下文信息404。例如, 當點的類型是"cust."時,則上下文信息404可以用方便且熟悉的彈出窗口的形 式來動態地提供,以允許如圖所示或另一形式的自動完成。可以理解,這一特 征常規上對查詢表達式不可用,因為查詢表達式(常規上)在可確定元素類型 之前必須首先被轉換。并且,由于提供完整且無錯誤的查詢表達式是常規轉換 /編譯的先決條件,因此迄今為止阻礙了任何類似的上下文和/或自動完成機制。盡管上下文信息404對于査詢表達式有很大的效用,并且大部分在于IDE 中提供上下文反饋的上下文中示出,但是沒有一種情況是必需的。例如,此處 所描述的可適用于不僅僅是査詢表達式的查詢運算符。特別地,類型從一個運 算符流到下一運算符并在兩者之間有關系的概念可應用于其中類型流有用的 任何運算符或任何API。--個這樣的示例存在于將API調用鏈接在一起(例如, 包括在命令行中的流水線,其中目的是類型從一個命令流到下一個)。另一示 例可以是后綁定,其中沒有類型,但是可采用某種形式的流諸如用于后綁定的 優化。還可以理解,上下文組件402所執行的推斷可以完全基于所接收到的已知 信息來預定(例如,關于己知且定義的査詢運算符的源類型),或者根據其它 方面,推斷可以是概率性的。例如,當用于不同類型的運算符時,上下文組件 402可用于檢查可用數據的整體或其子集,并且能夠從經由事件和/或數據捕捉 的一組觀察結果中推出或推斷系統、環境和/或用戶的狀態。例如,推斷可用于 標識特定的上下文或動作,或可生成狀態的概率分布。推斷可以是概率性的, 即,基于數據和事件的考慮計算感興趣的狀態的概率分布。推斷也可以指用于 從一組事件和/或數據組成更高級事件的技術。這類推斷可導致從一組觀察到的事件和/或儲存的事件數據中構造新的事 件或動作,而無論事件是否在相鄰時間上相關,也無論事件和數據是來自一個 還是若干個事件和數據源。可采用各種分類(顯式和/或隱式訓練的)方案和/ 或系統(例如,支持向量機、神經網絡、專家系統、貝葉斯信任網絡、模糊邏 輯、數據融合引擎......)來執行關于所要求保護的主題的自動化和/或推斷的動作。分類器可以是將輸入屬性矢量x = (xl, x2, x3, x4, x")映射到該輸入屬于一個類的置信度的函數,即/r力-COM/ ^WCe(c/fl^)。這一分類可采用基于概率和/或基于統計的分析(例如,分解成分析效用和成本)來預測或推斷用戶期望自動執行的動作。支持向量機(SVM)是可采用的分類器的一個示例。SVM通 過找出可能輸入空間中的超曲面來操作,其中,超曲面試圖將觸發準則從非觸 發事件中分離出來。直觀上,這使得分類對于接近但不等同于訓練數據的測試 數據正確。可采用其它定向和非定向模型分類方法,包括,例如,樸素貝葉斯、 貝葉斯網絡、決策樹、神經網絡、模糊邏輯模型以及提供不同獨立性模式的概 率分類模型。此處所使用的分類也包括用于開發優先級模型的統計回歸。圖5示出了根據所要求保護的主題的方法。盡管出于簡化解釋的目的,該 方法和其它方法被示出和描述為一系列動作,但應該理解和明白,所要求保護 的主題不受動作的順序限制,因為某些動作能夠以與在此所示出和描述的不同 的順序發生和/或與其它動作同時發生。例如,本領域技術人員將會明白并理解, 方法可被替換地表示為 一系列相互關聯的狀態或事件,諸如以狀態圖的形式。 而且,并非所有示出的動作都是實現根據所要求保護的主題的方法所必需的。 另外還應該理解,下文以及本說明書全文中所公開的方法能夠被存儲在制品 上,以便于把此類方法傳送和轉移到計算機。在此使用的術語"制品"意指包含 可以從任何計算機可讀設備、載體或介質訪問的計算機程序。現在參考圖5,示出了用于方便元素類型的類型流的計算機實現的方法。 概括地,在參考標號502處,可接收包括查詢運算符的查詢子句的一部分。查 詢運算符可被映射到相關聯的方法調用,該方法調用可接收自變量(例如,函 數、值、類集......)并可返回類型化的結果(例如,可查詢類型、數值類型、已排序類集......)。該方法調用可以根據查詢運算符模式來定義。在參考標號504處,可利用源類型和査詢運算符來確定元素類型。例如, 由于查詢運算符模式可被形式化,因此查詢運算符的模式可結合源類型使用來 推斷元素類型。在參考標號506處,可采用前一查詢的元素類型作為參考標號 504處所討論的利用動作的源類型。據此,元素類型可以按遞歸的方式從一個 查詢子句流到下一查詢子句。在記住了上述內容之后,可以理解和明白,某些特征和/或方面可用于以其它方式來擴展編程語言的査詢能力。作為一個示例,此處所開發的方面可有 效地利用來提供基于計算機和/或基于語言的構造,如與常規上與API調用相 關聯的合成能力的綜合。這些和其它相關概念的描述可參考圖6找到。現在轉向圖6,提供了方便可組成査詢綜合和/或可擴展查詢表達式的計算機實現的系統600的框圖。 一般而言,系統600可包括可接收初始化數據604 的變換組件602。如圖所示,初始化數據604可以是示例性查詢表達式606中 的第一個査詢子句,其中該第一個査詢子句通常限于是FROM子句(例如, 第一個查詢子句的查詢運算符是FROM運算符)。初始化數據604可以包括 類集(例如,如圖所示的Customers)或表達式(例如,如上文結合關于圖3 詳述的FROM運算符描述的Tax:b.Price5^ 0.088)。在任一情況下,初始化數 據還可包括控制變量,取決于應用,該控制變量與類集(例如,C是控制變量) 或表達式(例如,Tax是控制變量)相關聯。變換組件602還可接收由查詢表達式606表征的序列中的一組查詢子句 608。可以理解,該組查詢子句608可以是空集,在這一情況下,查詢表達式 606由單個查詢子句構成(例如,用作初始化數據604的FROM子句),如將 在下文中更詳細描述的。如可以對初始數據604所完成的那樣,變換組件602 還可對組608中的每一查詢子句解析(例如,填充或變換)范圍中的控制變量。 例如,變換組件602可以進而通過向可用類型應用每一查詢子句的查詢運算符, 來以查詢表達式608所規定的次序處理組608中的每一查詢子句。可以理解,根據所要求保護的主題,該組查詢子句608不需要由諸如,例 如XQuery語言的各種版本所定義的FLWOR/FLWR或SQL的實現中所期望的 Sdect-From-Where等普遍存在的語義模板來限制。相反,組608可以在本質上 是合成的,使得個別査詢子句可被妥當地提供、以模塊化方式接合在一起、并 且即使在運算符的次序是任意的情況下也產生直觀結果。據此,系統600還可包括可管理查詢表達式606所引入的所有控制變量的 范圍的綜合組件610。控制變量的范圍可以基于査詢子句的運算符來確定,并 且范圍中的控制變量可被傳遞到下一査詢子句。例如,變換組件602可以確立 可被認為是流水線的事物,使得某些信息可通過流水線從一個查詢子句流到下 一査詢子句。由此,變換組件可以接收關于查詢子句的類集,基于與該查詢子句相關聯的運算符來變換(例如,過濾、投影......)該類集,并將所變換的類集輸出到流水線以使其可用于下一查詢子句。類似地,范圍中的控制變量也可被傳遞到下一查詢子句,并且精確而言什 么控制變量在范圍中可以由綜合組件610基于所接收到的查詢子句的類型來定 義。通常,下一査詢子句只能訪問在范圍中的變量。該特征以及其它特征可通 過除了圖6之外再參考圖7來進一步描述。圖7是涉及如可由綜合組件610所確定的示例查詢表達式606的控制變量 的范圍的示例性圖示。根據所要求保護的主題的一方面,綜合組件610可以基 于查詢子句/運算符的類型來聲明新的控制變量(并且可將該新的控制變量帶入 范圍)。例如,某些類型的查詢子句可以除了己經在范圍中的控制變量之外還 引入新的控制變量,即,FROM、 LET、 SELECT或GROUPBY查詢子句可產 生這 -結果。由FROM子句引入的控制變量通常被累積,直到下一 SELECT 或GROUPBY子句,在這之后它們可由綜合組件610帶出范圍。這一情況由 FROM子句702、 704 (映射到初始化數據604以及包括在査詢子句組608中 的初始查詢子句)示出,其控制變量停留在范圍中,直到應用了 SELECT子句 710。子句702引入Customer類集和控制變量C。因此,該信息可以通過流水 線提供給下一查詢子句。因此,可以使(C AsCustomer)對子句704可用。子句 704也是FROM子句,這由于所要求保護的主題的合成本質是可能的。子句 704采用了控制變量C來引入新的類集C.Orders (例如,所有顧客的所有定單) 以及新的控制變量O,綜合組件610可將該新的控制變量帶入范圍。由此,下 一査詢子句706能夠訪問范圍中的兩個控制變量C和O。基本如以上所描述的,盡管某些查詢子句類型可影響范圍中的變量,但是 其它査詢子句類型(例如,WHERE、 ORDERBY、 DISTINCT等)卻不必。由 此,盡管査詢子句706和708可影響類集,但范圍中的變量(例如C和O)可 以相同,并且因此可分別由查詢子句708和710在其各自由變換組件602接收 時訪問。根據所要求保護的主題的一方面,綜合組件610可以基于所接收到的查詢 子句的類型將現有控制變量帶出范圍。SELECT查詢子句710提供了該特征的表征圖示。査詢子句710被展示給控制變量C和0,但是SELECT子句的特 征之一可以是隱藏范圍中的當前控制變量并在范圍中引入新的控制變量(例 如,Name As String和Price As Int)。可以向査詢子句712提供這些新的控制 變量Name和Price,但是査詢子句712 —般不能訪問綜合組件610關于SELECT 子句710帶出范圍的先前的控制變量(例如,C和O)。為完整性起見,應注 意幾個特征。首先,查詢子句710示出了逗號分割的復合運算數的又一示例。 要注意的第二個特征是WHERE子句712在SELECT子句710之后。常 規的查詢語言在應用了具有諸如SELECT、 RETURN等投影運算符或類似的運 算符的查詢子句之后終止查詢。如果這一常規查詢語言的用戶希望在投影之后 繼續查詢運算,則必須實現可引用前一查詢的結果的新查詢。然而,由于例如 所要求保護的主題的合成本質,查詢表達式606可以包括多個SELECT子句, 并且查詢表達式606可以在出現SELECT子句之后繼續(例如,由子句712示 出)。類似地,盡管在前一節中提到,但應指出,查詢表達式606也包括兩個 FROM子句(例如,子句702和704),這是常規查詢語言所無法提供的另一 方面。盡管未由解釋示例描繪,但査詢表達式606還可包括其它查詢子句類型, 并且特別地,這些其它查詢子句類型中的許多可影響控制變量的范圍。例如, 在接收到RETURN子句之后,綜合組件610可以將所有變量帶出范圍。作為 另一示例,基于查詢子句的類型,綜合組件610可以聲明新的控制變量并對其 定范圍(例如,帶入范圍),同時為特定一組后續查詢子句確定現存的控制變 量(例如,對于前一查詢子句在范圍中的控制變量)的范圍。GROUPBY、 AGGREGATE等可方便這一行為,由此現存控制變量的范圍可被定在跨每一 GROUP運算符的AGGREGATE查詢子句的范圍上。根據所要求保護的主題的另一方面,綜合組件610可以基于所接收到的查 詢子句的類型為范圍中的所有控制變量的元組生成別名。例如,INTO查詢子 句可以方便例如由綜合組件610來創建別名,即使該別名本身不需要是控制變仍參考圖6和7,可強調所要求保護的主題的各種附加方面。盡管有與有 效查詢表達式606的可擴展性有關的多個優點(例如,查詢表達式606可用實際上任何數量的實際上任何類型的査詢子句來擴展),但另一優點可以是査詢
            表達式606也可以在任何點終止。由此,盡管査詢表達式606有可能包括無限 數量的查詢子句,但整個査詢表達式606也可由僅單個在引入了單個控制變量 之后終止的查詢子句組成。因此,完整且有效的査詢表達式606的最簡單的示 例之一是僅包括初始化數據604的查詢表達式606:
            From C In Customers 而不要求查詢表達式606包括顯式的SELECT、 RETURN或其它終止査詢運算 符。
            作為解釋,變換組件602可被配置成向接收到的每一査詢子句追加隱式 SELECT或RETURN。由此,只要包括在流水線中的所得類集處于期望的形狀, 就不需要顯式語句來選擇或返回這些中間結果。相反,如果查詢表達式606在 給定子句,例如702-708中的任一個之后結束,則流水線中的類集可以輸出結 果,并且可以基于范圍中的控制變量的數目來推斷輸出的格式。
            例如,如果查詢表達式606在子句704-708中的任一個之后終止(其中在 每一情況下范圍中有兩個控制變量C和0),則可以推斷所需輸出應作為名-值對的類集存在。因此,輸出可以是對每一控制變量有一字段的元組。另 -方 面,在范圍中僅有一個控制變量的情況下,諸如在子句702之后,則查詢表達 式606的實現器通常將不期望得回具有字段c的元組。相反,實現器可能期望 顧客的類集。因此,在范圍中僅有一個控制變量的情況下,輸出可以僅僅是類 集的底層值。
            根據所要求保護的主題的一方面,由FROM子句引入的控制變量可以與 表達式以及類集相關聯。作為一個代表性示例,考慮以下如上所述的查詢片段 From b in Books 一 From Tax = b.Price * 0.088 — 第一個FROM子句為類集Books引入控制變量b,該控制變量被帶入范 圍并可由下一査詢子句來訪問。下一 FROM子句引入與表達式(而非類集) b.Price * 0.088相關聯的控制變量Tax。對于兩個FROM子句中的后者,效果 可以是為表達式的結果提供了可訪問名稱。該名稱可由控制變量tax來引用, 該控制變量可保留在范圍中,直到例如后續的SELECT子句。該特征可被認為
            45類似于查詢中的過程語句,這可允許表達式的值被計算一次,即使該值隨后可 被多次采用,也不需要重新計算該值。
            根據所要求保護的主題的另一方面,可以在單個查詢表達式606的上下文 中采用集合運算。盡管常規查詢語言通常僅提供單個類集作為輸入,但是變換
            組件602可以接收兩個類集作為輸入。例如,變換組件602可被配置成接收多 個類集,并可輸出具有與根據查詢子句的類型(例如,UNION子句、INTERSECT 子句......)合并的多個類集相關聯的控制變量的單個類集。合并的控制變量可
            被帶入范圍、通過相關聯的集合運算符傳遞、并對下一查詢子句可訪問,因此 查詢表達式606可繼續。控制變量一般必須是相同的類型,并且一般必須具有 相同的名稱,但是當然,它們可以與兩個不同的類集相關聯。
            現在轉向圖8,示出了用于方便以合成方式構造查詢綜合的計算機實現的 方法800。從參考標號802開始,可獲得類集(或表達式)以及與該類集(或 表達式)相關聯的控制變量。 一般而言,該獲得的數據是查詢表達式的第一個 査詢子句,通常是FROM子句的產物。在參考標號804處,可接收包括在查 詢表達式中的 -組查詢子句的當前査詢子句。可以理解,與要求綜合是整體式 的常規語言不同,不需要對當前查詢子句,或在很大程度上對作為整體的查詢 表達式施加句法排序限制。
            在參考標號806處,可根據當前查詢子句來修改類集。簡言之,作為輸入 接收的類集可以基于與當前查詢子句相關聯的査詢運算符的方針來變換。可以 理解,當前査詢子句可以根據與當前查詢子句相關聯的期望類型而非基于整體 式句法模板來求值。接著,在參考標號808處,可將經修改的類集通過流水線 傳送到下一查詢子句。因此,當前查詢子句的輸出可用作下一查詢子句的輸入。
            在參考標號810處,可基于當前查詢子句來確定控制變量的范圍。例如, 某些類型的查詢子句不便于對現存控制變量進行任何改變,而其它查詢子句則 可方便引入新的控制變量(在某些情況下僅對于特定的一系列下一查詢子句), 而還有一些則可方便在(可任選地)引入新控制變量的同時將現存控制變量帶 出范圍。在參考標號812處,可將對當前査詢子句的范圍中控制變量的訪問提 供給下一查詢子句。
            現在參考圖9,所示是可用于執行所公開的體系結構的示例性計算機系統的框圖。為了為本發明各個方面提供附加上下文,圖9和下列討論旨在提供對 其中可實現本發明的各方面的合適的計算環境900的簡要概括的描述。另外,
            盡管本發明以上是在可在一個或多個計算機上運行的計算機可執行指令的一 般上下文中進行描述的,但是本領域的技術人員將認識到,本發明也可結合其 它程序模塊和/或作為硬件和軟件的組合來實現。
            一般而言,程序模塊包括執行特定任務或實現特定抽象數據類型的例程、 程序、組件、數據結構等等。此外,本領域的技術人員可以理解,本發明的方 法可用其它計算機系統配置來實施,包括單處理器或多處理器計算機系統、小 型機、大型計算機、以及個人計算機、手持式計算設備、基于微處理器的或可 編程消費電子產品等,其每一個都可操作上耦合到一個或多個相關聯的設備。
            本發明的所示方面也可以在其中特定任務由通過通信網絡鏈接的遠程處 理設備執行的分布式計算環境中實踐。在分布式計算環境中,程序模塊可以位 于本地和遠程存儲器存儲設備中。
            計算機通常包括各種計算機可讀介質。計算機可讀介質可以是可由計算機 訪問的任何可用介質,并包括易失性和非易失性介質、可移動和不可移動介質。 作為示例而非限制,計算機可讀介質可以包括計算機存儲介質和通信介質。計 算機存儲介質可包括以用于存儲諸如計算機可讀指令、數據結構、程序模塊或 其它數據這樣的信息的任意方法或技術來實現的易失性和非易失性、可移動和
            不可移動介質。計算機存儲介質包括但不限于,RAM、 ROM、 EEPROM、閃 存或其它存儲器技術、CD-ROM、數字多功能盤(DVD)或其它光盤存儲、磁 盒、磁帶、磁盤存儲或其它磁存儲設備、或可以用來儲存所期望的信息并可由 計算機訪問的任何其它介質。
            通信介質通常以諸如載波或其它傳輸機制等已調制數據信號來體現計算 機可讀指令、數據結構、程序模塊或其它數據,且包含任何信息傳遞介質。術 語"已調制數據信號"指的是其一個或多個特征以在信號中編碼信息的方式被 設定或更改的信號。作為示例而非限制,通信介質包括有線介質,諸如有線網 絡或直接線連接,以及無線介質,諸如聲學、RF、紅外線和其它無線介質。上 述中的任意組合也應包括在計算機可讀介質的范圍之內。
            再次參見圖9,用于實現本發明的各方面的示例性環境900包括計算機902,計算機902包括處理單元904、系統存儲器906和系統總線908。系統總 線908將包括但不限于系統存儲器906的系統組件耦合到處理單元904。處理 單元904可以是市場上可購買到的各種處理器中的任意一種。雙微處理器和其 它多處理器體系結構也可用作處理單元904。
            系統總線908可以是若干種總線結構中的任一種,這些總線結構還可互連 到存儲器總線(帶有或沒有存儲器控制器)、外圍總線、以及使用各類市場上 可購買到的總線體系結構中的任一種的局部總線。系統存儲器906包括只讀存 儲器(ROM) 910和隨機存取存儲器(RAM) 912。基本輸入/輸出系統(BIOS) 儲存在諸如ROM、 EPROM、 EEPROM等非易失性存儲器910中,其中BIOS 包含幫助諸如在啟動期間在計算機902內的元件之間傳輸信息的基本例程。 RAM 912還可包括諸如靜態RAM等高速RAM來用于高速緩存數據。
            計算機卯2還包括內部硬盤驅動器(HDD) 914 (例如,EIDE、 SATA), 該內部硬盤驅動器914還可被配置成在合適的機殼(未示出)中外部使用;磁 軟盤驅動器(FDD) 916 (例如,從可移動磁盤918中讀取或向其寫入);以 及光盤驅動器920 (例如,從CD-ROM盤922中讀取,或從諸如DVD等高容 量光學介質中讀取或向其寫入)。硬盤驅動器914、磁盤驅動器916和光盤驅 動器920可分別通過硬盤驅動器接口 924、磁盤驅動器接口 926和光盤驅動器 接口 928連接到系統總線908。用于外置驅動器實現的接口 924包括通用串行 總線(USB)和IEEE 1394接口技術中的至少一種或兩者。其它外置驅動器連 接技術也在本發明的預期中。
            驅動器及其相關聯的計算機可讀介質提供了對數據、數據結構、計算機可 執行指令等的非易失性存儲。對于計算機902,驅動器和介質容納適當的數字 格式的任何數據的存儲。盡管上面對計算機可讀介質的描述涉及HDD、可移 動磁盤和諸如CD或DVD等可移動光學介質,但本領域的技術人員應該意識 到,在示例性操作環境中也可以使用可由計算機讀取的其他類型的介質,如 ZIP驅動器、磁帶盒、閃存卡、盒式磁帶等等,并且此外,任何這種介質都可 以包含用于執行本發明的方法的計算機可執行指令。
            多個程序模塊可存儲在驅動器和RAM 912中,包括操作系統930、 一個 或多個應用程序932、其它程序模塊934和程序數據936。所有或部分操作系
            48統、應用程序、模塊和/或數據也可被高速緩存在RAM912中。應該明白,本 發明可以用各種市場上可購買到的操作系統或操作系統的組合來實現。
            用戶可以通過一個或多個有線/無線輸入設備,例如鍵盤938和諸如鼠標 940等定點設備將命令和信息輸入到計算機902中。其它輸入設備(未示出) 可包括話筒、IR遙控器、操縱桿、游戲手柄、指示筆、觸摸屏等等。這些和其 它輸入設備通常通過耦合到系統總線908的輸入設備接口 942連接到處理單元 904,但也可通過其它接口連接,如并行端口、 IEEE 1394串行端口、游戲端口、 USB端口、 IR接口等等。
            監視器944或其它類型的顯示設備也經由諸如視頻適配器946等接口來連 接到系統總線908。除了監視器944之外,計算機通常包括諸如揚聲器、打印 機等其它外圍輸出設備(未示出)。
            計算機902可使用經由有線和/或無線通信至一個或多個遠程計算機,諸
            如遠程計算機948的邏輯連接在網絡化環境中操作。遠程計算機948可以是工
            作站、服務器計算機、路由器、個人計算機、便攜式計算機、基于微處理器的
            娛樂設備、對等設備或其它常見的網絡節點,并且通常包括以上相對于計算機
            902描述的許多或所有元件,盡管為簡明起見僅示出了存儲器/存儲設備950。
            所描繪的邏輯連接包括到局域網(LAN) 952和/或例如廣域網(WAN) 954
            等更大的網絡的有線/無線連接。這一 LAN和WAN聯網環境常見于辦公室和
            公司,并且便于諸如內聯網等企業范圍計算機網絡,所有這些都可連接到例如 因特網等全球通信網絡。
            當在LAN網絡環境中使用時,計算機902通過有線和/或無線通信網絡接 口或適配器956連接到局域網952。適配器956可以便于到LAN 952的有線或 無線通信,并且還可包括其上設置的用于與無線適配器956通信的無線接入點。
            當在WAN連網環境中使用時,計算機902可包括調制解調器958,或連 接到WAN 954上的通信服務器,或具有用于通過WAN 954,諸如通過因特網 建立通信的其它裝置。或為內置或為外置的調制解調器958以及有線或無線設 備經由串行端口接口 942連接到系統總線908。在網絡化環境中,相對于計算 機902所描述的程序模塊或其部分可以存儲在遠程存儲器/存儲設備950中。應 該理解,所示網絡連接是示例性的,并且可以使用在計算機之間建立通信鏈路的其它手段。
            計算機902可用于與操作上設置在無線通信中的任何無線設備或實體通 信,這些設備或實體例如有打印機、掃描儀、臺式和/或便攜式計算機、便攜式 數據助理、通信衛星、與無線可檢測標簽相關聯的任何一個設備或位置(例如, 公用電話亭、報亭、休息室)以及電話。這至少包括Wi-Fi和藍牙TM無線技術。 由此,通信可以如對于常規網絡那樣是預定義結構,或者僅僅是至少兩個設備
            之間的自組織(adhoc)通信。
            Wi-Fi,即無線保真,允許從家里沙發、酒店房間的床上或工作的會議室 連接到因特網而不需要線纜。Wi-Fi是一種類似蜂窩電話中使用的無線技術, 它使得諸如計算機等設備能夠在室內和室外,在基站范圍內的任何地方發送和 接收數據。Wi-Fi網絡使用稱為IEEE 802.11 (a、 b、 g等等)的無線電技術來 提供安全、可靠、快速的無線連接。Wi-Fi網絡可用于將計算機彼此連接、連 接到因特網以及連接到有線網絡(使用IEEE 802.3或以太網)。Wi-Fi網絡在 未許可的2.4和5 GHz無線電波段內工作,例如以11 Mbps(802.11a)或54 Mbps (802.11b)數據速率工作,或者具有包含兩個波段(雙波段)的產品,因此該 網絡可提供類似于許多辦公室中使用的基本10BaseT有線以太網的真實性能。
            現在參考圖10,所示是可用于執行所公開的體系結構的示例性計算機編 譯系統的示意性框圖。系統1000包括一個或多個客戶機1002。客戶機1002 可以是硬件和/或軟件(例如,線程、進程、計算設備)。例如,客戶機1002 可以通過使用本發明來容納cookie和/或相關聯的上下文信息。
            系統1000還包括一個或多個服務器1004。服務器1004也可以是硬件和/ 或軟件(例如,線程、進程、計算設備)。服務器1004可以例如通過使用本 發明來容納線程以執行變換。在客戶機1002和服務器1004之間的一種可能的 通信能夠以適合在兩個或多個計算機進程之間傳輸的數據分組的形式進行。數 據分組可包括例如cookie和/或相關聯的上下文信息。系統1000包括可以用來 使客戶機1002和服務器1004之間通信更容易的通信框架1006 (例如,諸如因 特網等全球通信網絡)。
            通信可經由有線(包括光纖)和/或無線技術來促進。客戶機1002操作上 被連接到可以用來存儲對客戶機1002本地的信息(例如,cookie和/或相關聯
            5的上下文信息)的一個或多個客戶機數據存儲1008。同樣地,服務器1004可 在操作上連接到可以用來存儲對服務器1004本地的信息的一個或多個服務器 數據存儲1010。
            以上所描述的包括各實施例的示例。當然,出于描繪各實施例的目的而描 述組件或方法的每一個可以想到的組合是不可能的,但本領域內的普通技術人 員可以認識到,許多進一步的組合和排列都是可能的。因此,本詳細描述旨在 涵蓋所有這些落入所附權利要求書的精神和范圍內的更改、修改和變化。
            特別地,對于由上述組件、設備、電路、系統等執行的各種功能,除非另 外指明,否則用于描述這些組件的術語(包括對"裝置"的引用)旨在對應于 (除非另外指明)執行所描述的執行此處在各實施例的示例性方面中所示的功 能的組件的指定功能(例如,功能上等效)的任何組件,即使這些組件在結構 上不等效于所公開的結構。在這一點上,也可認識到各實施例包括用于執行各 方法的動作和/或事件的系統以及具有用于執行這些動作和/或事件的計算機可 執行指令的計算機可讀介質。
            另外,盡管可相對于若干實現中的僅一個來公開一個特定特征,但是這一 特征可以如對任何給定或特定應用所需且有利地與其它實現的一個或多個其 它特征相組合。此外,就在說明書或權利要求書中使用術語"包括"和"含有"及 其變體而言,這些術語旨在以與術語"包含"相似的方式為包含性的。
            權利要求
            1.一種采用查詢模式來方便表達式中的運算符之間的類型元素的類型流的計算機實現的系統,包括接收包括第一查詢子句和至少一個下一查詢子句的查詢表達式的接口,所述第一查詢子句包括第一查詢運算符、元素類型T和源類型,所述源類型是可查詢類型;以及用于所述至少一個下一查詢子句的查詢運算符模式,所述查詢運算符模式確保到所述至少一個下一查詢子句的元素類型的類型流。
            2. 如權利要求1所述的系統,其特征在于,所述第一査詢運算符是笛卡 爾積形式,并且所述元素類型T是匿名類型,該匿名類型是關于所述源類型的 范圍中的全部控制變量的聚集。
            3. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型S的可査詢類型的投影或 映射査詢運算符,該函數包括元素類型T的自變量。
            4. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型T的可查詢類型的過濾或 限制查詢運算符,該函數包括元素類型T的自變量。
            5. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型T的已排序類集的排序或 定序査詢運算符,該函數包括元素類型T的自變量。
            6. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成返回具有元素類型T的可查詢類型的重復移除查詢運算符。
            7. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一元素類型T為源類型的類集作為自變量,并返回具有元素類型T 的可查詢類型的集合査詢運算符。
            8. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收值作為自變量并返回具有元素類型T作為源類型的可查詢類型的 選擇或過濾查詢運算符。
            9. 如權利要求1所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型T的可查詢類型的條件選 擇或過濾査詢運算符,該函數包括元素類型T作為自變量。
            10. 如權利要求l所述的系統,其特征在于,所述查詢運算符模式包括被配置成接收一函數作為自變量并返回數值類型的聚集查詢運算符,該函數包括元素類型T的自變量。
            11. 如權利要求l所述的系統,其特征在于,所述査詢運算符模式包括被配置成接收一函數作為自變量并返回具有元素類型S的可查詢類型的聚集査 詢運算符,該函數包括元素類型T的自變量。
            12. 如權利要求l所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回可被隱式地轉換成布爾值的類型的匹配 查詢運算符,該函數包括類型T的自變量。
            13. 如權利要求l所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型V的可査詢類型的聯接査 詢運算符,該函數包括元素類型T的自變量以及元素類型T'的自變量,其中V 是散列值。
            14. 如權利要求l所述的系統,其特征在于,所述查詢運算符模式包括被 配置成接收一函數作為自變量并返回具有元素類型V的可查詢類型的嵌套聯 接查詢運算符,該函數包括元素類型T的自變量以及具有元素類型U的類集 的自變量。
            15. 如權利要求l所述的系統,其特征在于,所述查詢運算符模式包括要 接收一函數作為自變量并返回具有元素類型V的可查詢類型的分組査詢運算 符,該函數包括類型K的自變量以及具有類型T的類集的自變量,其中類型K 是關鍵字。
            16. 如權利要求l所述的系統,其特征在于,還包括基于所述源類型以及 與所述至少一個下一查詢子句相關聯的查詢運算符來實時地推斷元素類型的 —匕下文組件。
            17. 如權利要求16所述的系統,其特征在于,所述上下文組件基于所推 斷的類型元素來增量式地提供上下文信息。
            18. —種用于方便元素類型的類型流的計算機實現的方法,包括 接收包括與査詢運算符模式相關聯的査詢運算符的査詢子句的一部分; 利用源類型和所述查詢運算符來確定元素類型;以及 采用前一查詢子句的元素類型作為用于所述利用動作的源類型。
            19. 如權利要求18所述的方法,其特征在于,還包括使用所述查詢運算 符模式來增量式地提供與所述元素類型或源類型的控制變量相關聯的上下文 反饋。
            20. —種用于方便元素類型的類型流的計算機實現的系統,包括 用于接收與査詢運算符模式相關聯的查詢運算符的計算機實現的裝置; 用于采用所述查詢運算符模式來確定元素類型的計算機實現的裝置;以及 用于使用前一查詢子句的元素類型作為所述査詢運算符模式的源類型的計算機實現的裝置。
            全文摘要
            所要求保護的主題涉及運算符模式的形式化,其可方便表達式的第一子句中的運算符到表達式的下一子句中的運算符的元素類型的類型流。流到下一子句的類型以及其中現存的運算符可被組合以推斷下一子句的元素類型。由此,可增量式地實現類型檢查、自動完成和其它有利特征而無需在前對表達式的完全轉換。
            文檔編號G06F17/30GK101606154SQ200880003975
            公開日2009年12月16日 申請日期2008年2月5日 優先權日2007年2月5日
            發明者A·K·西爾弗, A·V·青高茲, E·扎伯克利特斯基, H·J·M·梅杰, P·A·維克 申請人:微軟公司
            網友詢問留言 已有0條留言
            • 還沒有人留言評論。精彩留言會獲得點贊!
            1
            婷婷六月激情在线综合激情,亚洲国产大片,久久中文字幕综合婷婷,精品久久久久久中文字幕,亚洲一区二区三区高清不卡,99国产精品热久久久久久夜夜嗨 ,欧美日韩亚洲综合在线一区二区,99国产精品电影,伊人精品线视天天综合,精品伊人久久久大香线蕉欧美
            亚洲精品1区 国产成人一级 91精品国产欧美一区二区 亚洲精品乱码久久久久久下载 国产精品久久久久久久伊一 九色国产 国产精品九九视频 伊人久久成人爱综合网 欧美日韩亚洲区久久综合 欧美日本一道免费一区三区 夜夜爽一区二区三区精品 欧美日韩高清一区二区三区 国产成人av在线 国产精品对白交换绿帽视频 国产视频亚洲 国产在线欧美精品 国产精品综合网 国产日韩精品欧美一区色 国产日韩精品欧美一区喷 欧美日韩在线观看区一二 国产区精品 欧美视频日韩视频 中文字幕天天躁日日躁狠狠躁97 视频一二三区 欧美高清在线精品一区二区不卡 国产精品揄拍一区二区久久 99久久综合狠狠综合久久aⅴ 亚洲乱码视频在线观看 日韩在线第二页 亚洲精品无码专区在线播放 成人亚洲网站www在线观看 欧美三级一区二区 99久久精品免费看国产高清 91麻豆国产在线观看 最新日韩欧美不卡一二三区 成人在线观看不卡 日韩国产在线 在线亚洲精品 亚洲午夜久久久久中文字幕 国产精品成人久久久久久久 精品国产一区二区在线观看 欧美精品国产一区二区三区 中文在线播放 亚洲第一页在线视频 国产午夜精品福利久久 九色国产 精品国产九九 国产永久视频 久久精品人人做人人综合试看 国产一区二区三区免费观看 亚洲精品国产电影 9999热视频 国产精品资源在线 麻豆久久婷婷国产综合五月 国产精品免费一级在线观看 亚洲国产一区二区三区青草影视 中文在线播放 国产成人综合在线 国产在线观看色 国产亚洲三级 国产片一区二区三区 久久99精品久久久久久牛牛影视 亚洲欧美日韩国产 四虎永久免费网站 国产一毛片 国产精品视频在 九九热在线精品 99精品福利视频 色婷婷色99国产综合精品 97成人精品视频在线播放 精品久久久久久中文字幕 亚洲欧美一区二区三区孕妇 亚洲欧美成人网 日韩高清在线二区 国产尤物在线观看 在线不卡一区二区 91网站在线看 韩国精品福利一区二区 欧美日韩国产成人精品 99热精品久久 国产精品免费视频一区 高清视频一区 精品九九久久 欧美日韩在线观看免费 91欧美激情一区二区三区成人 99福利视频 亚洲国产精品91 久热国产在线 精品久久久久久中文字幕女 国产精品久久久久久久久99热 成人自拍视频网 国产精品视频久久久久久 久久影院国产 国产玖玖在线观看 99精品在线免费 亚洲欧美一区二区三区导航 久久久久久久综合 国产欧美日韩精品高清二区综合区 国产精品视频自拍 亚洲一级片免费 久久久久久九九 国产欧美自拍视频 视频一区二区在线观看 欧美日韩一区二区三区久久 中文在线亚洲 伊人热人久久中文字幕 日韩欧美亚洲国产一区二区三区 欧美亚洲国产成人高清在线 欧美日韩国产码高清综合人成 国产性大片免费播放网站 亚洲午夜综合网 91精品久久一区二区三区 国产无套在线播放 国产精品视频网站 国产成人亚洲精品老王 91在线网站 国产视频97 欧美黑人欧美精品刺激 国产一区二区三区免费在线视频 久久久国产精品免费看 99re6久精品国产首页 久久精品91 国产成人一级 国产成人精品曰本亚洲 日本福利在线观看 伊人成综合网 久久综合一本 国产综合久久久久久 久久精品成人免费看 久久福利 91精品国产91久久久久久麻豆 亚洲精品成人在线 亚洲伊人久久精品 欧美日本二区 国产永久视频 国产一区二 一区二区福利 国产一毛片 亚洲精品1区 毛片一区二区三区 伊人久久大香线蕉综合影 国产欧美在线观看一区 亚洲国产欧洲综合997久久 国产一区二区免费视频 国产91精品对白露脸全集观看 久久亚洲国产伦理 欧美成人伊人久久综合网 亚洲性久久久影院 久久99国产精一区二区三区! 91精品国产欧美一区二区 欧美日韩亚洲区久久综合 日韩精品一二三区 久久久夜色精品国产噜噜 国产在线精品福利91香蕉 久久久久久久亚洲精品 97se色综合一区二区二区 91国语精品自产拍在线观看性色 91久久国产综合精品女同我 日韩中文字幕a 国产成人亚洲日本精品 久久国产精品-国产精品 久久国产经典视频 久久国产精品伦理 亚洲第一页在线视频 国产精品久久久久三级 日韩毛片网 久久免费高清视频 麻豆国产在线观看一区二区 91麻豆国产福利在线观看 国产成人精品男人的天堂538 一区二区三区中文字幕 免费在线视频一区 欧美日韩国产成人精品 国产综合网站 国产资源免费观看 亚洲精品亚洲人成在线播放 精品久久久久久中文字幕专区 亚洲人成人毛片无遮挡 国产一起色一起爱 国产香蕉精品视频在 九九热免费观看 日韩亚洲欧美一区 九九热精品在线观看 精品久久久久久中文字幕专区 亚洲欧美自拍偷拍 国产精品每日更新 久久久久国产一级毛片高清板 久久天天躁狠狠躁夜夜中文字幕 久久精品片 日韩在线毛片 国产成人精品本亚洲 国产成人精品一区二区三区 九九热在线观看 国产r级在线观看 国产欧美日韩精品高清二区综合区 韩国电影一区二区 国产精品毛片va一区二区三区 五月婷婷伊人网 久久一区二区三区免费 一本色道久久综合狠狠躁篇 亚洲综合色站 国产尤物在线观看 亚洲一区亚洲二区 免费在线视频一区 欧洲精品视频在线观看 日韩中文字幕a 中文字幕日本在线mv视频精品 91精品在线免费视频 精品国产免费人成在线观看 精品a级片 中文字幕日本在线mv视频精品 日韩在线精品视频 婷婷丁香色 91精品国产高清久久久久 国产成人精品日本亚洲直接 五月综合视频 欧美日韩在线亚洲国产人 精液呈暗黄色 亚洲乱码一区 久久精品中文字幕不卡一二区 亚洲天堂精品在线 激情婷婷综合 国产免费久久精品久久久 国产精品亚洲二区在线 久久免费播放视频 五月婷婷丁香综合 在线亚洲欧美日韩 久久免费精品高清麻豆 精品久久久久久中文字幕 亚洲一区网站 国产精品福利社 日韩中文字幕免费 亚洲综合丝袜 91精品在线播放 国产精品18 亚洲日日夜夜 伊人久久大香线蕉综合影 亚洲精品中文字幕乱码影院 亚洲一区二区黄色 亚洲第一页在线视频 一区二区在线观看视频 国产成人福利精品视频 亚洲高清二区 国内成人免费视频 精品亚洲性xxx久久久 国产精品合集一区二区三区 97av免费视频 国产一起色一起爱 国产区久久 国产资源免费观看 99精品视频免费 国产成人一级 国产精品九九免费视频 欧美91精品久久久久网免费 99热国产免费 久久精品色 98精品国产综合久久 久久精品播放 中文字幕视频免费 国产欧美日韩一区二区三区在线 精品久久蜜桃 国产小视频精品 一本色道久久综合狠狠躁篇 91在线免费观看 亚洲精品区 伊人成综合网 伊人热人久久中文字幕 伊人黄色片 99国产精品热久久久久久夜夜嗨 久久免费精品视频 亚洲一区二区三区高清不卡 久久久久国产一级毛片高清板 国产片一区二区三区 久久狠狠干 99久久婷婷国产综合精品电影 国产99区 国产精品成人久久久久 久久狠狠干 青青国产在线观看 亚洲高清国产拍精品影院 国产精品一区二区av 九九热在线免费视频 伊人久久国产 国产精品久久久久久久久久一区 在线观看免费视频一区 国产精品自在在线午夜区app 国产精品综合色区在线观看 国产毛片久久久久久国产毛片 97国产免费全部免费观看 国产精品每日更新 国产尤物视频在线 九九视频这里只有精品99 一本一道久久a久久精品综合 久久综合给会久久狠狠狠 国产成人精品男人的天堂538 欧美一区二区高清 毛片一区二区三区 国产欧美日韩在线观看一区二区三区 在线国产二区 欧美不卡网 91在线精品中文字幕 在线国产福利 国内精品91久久久久 91亚洲福利 日韩欧美国产中文字幕 91久久精品国产性色也91久久 亚洲性久久久影院 欧美精品1区 国产热re99久久6国产精品 九九热免费观看 国产精品欧美日韩 久久久久国产一级毛片高清板 久久国产经典视频 日韩欧美亚洲国产一区二区三区 欧美亚洲综合另类在线观看 国产精品自在在线午夜区app 97中文字幕在线观看 视频一二三区 精品国产一区在线观看 国产欧美日韩在线一区二区不卡 欧美一区二三区 伊人成人在线观看 国内精品91久久久久 97在线亚洲 国产在线不卡一区 久久久全免费全集一级全黄片 国产精品v欧美精品∨日韩 亚洲毛片网站 在线不卡一区二区 99re热在线视频 久久激情网 国产毛片一区二区三区精品 久久亚洲综合色 中文字幕视频免费 国产视频亚洲 婷婷伊人久久 国产一区二区免费播放 久久99国产精品成人欧美 99国产在线视频 国产成人免费视频精品一区二区 国产不卡一区二区三区免费视 国产码欧美日韩高清综合一区 久久精品国产主播一区二区 国产一区电影 久久精品国产夜色 国产精品国产三级国产 日韩一区二区三区在线 久久97久久97精品免视看 久久国产免费一区二区三区 伊人久久大香线蕉综合电影网 99re6久精品国产首页 久久激情网 亚洲成人高清在线 国产精品网址 国产成人精品男人的天堂538 香蕉国产综合久久猫咪 国产专区中文字幕 91麻豆精品国产高清在线 久久国产经典视频 国产精品成人va在线观看 国产精品爱啪在线线免费观看 日本精品久久久久久久久免费 亚洲综合一区二区三区 久久五月网 精品国产网红福利在线观看 久久综合亚洲伊人色 亚洲国产精品久久久久久网站 在线日韩国产 99国产精品热久久久久久夜夜嗨 国产综合精品在线 国产区福利 精品亚洲综合久久中文字幕 国产制服丝袜在线 毛片在线播放网站 在线观看免费视频一区 国产精品久久久精品三级 亚洲国产电影在线观看 最新日韩欧美不卡一二三区 狠狠综合久久综合鬼色 日本精品1在线区 国产日韩一区二区三区在线播放 欧美日韩精品在线播放 亚洲欧美日韩国产一区二区三区精品 久久综合久久网 婷婷六月激情在线综合激情 亚洲乱码一区 国产专区91 97av视频在线观看 精品久久久久久中文字幕 久久五月视频 国产成人福利精品视频 国产精品网址 中文字幕视频在线 精品一区二区三区免费视频 伊人手机在线视频 亚洲精品中文字幕乱码 国产在线视频www色 色噜噜国产精品视频一区二区 精品亚洲成a人在线观看 国产香蕉尹人综合在线 成人免费一区二区三区在线观看 国产不卡一区二区三区免费视 欧美精品久久天天躁 国产专区中文字幕 久久精品国产免费中文 久久精品国产免费一区 久久无码精品一区二区三区 国产欧美另类久久久精品免费 欧美精品久久天天躁 亚洲精品在线视频 国产视频91在线 91精品福利一区二区三区野战 日韩中文字幕免费 国产精品99一区二区三区 欧美成人高清性色生活 国产精品系列在线观看 亚洲国产福利精品一区二区 国产成人在线小视频 国产精品久久久久免费 99re热在线视频 久久久久久久综合 一区二区国产在线播放 成人国产在线视频 亚洲精品乱码久久久久 欧美日韩一区二区综合 精品久久久久免费极品大片 中文字幕视频二区 激情粉嫩精品国产尤物 国产成人精品一区二区视频 久久精品中文字幕首页 亚洲高清在线 国产精品亚洲一区二区三区 伊人久久艹 中文在线亚洲 国产精品一区二区在线播放 国产精品九九免费视频 亚洲二区在线播放 亚洲狠狠婷婷综合久久久久网站 亚洲欧美日韩网站 日韩成人精品 亚洲国产一区二区三区青草影视 91精品国产福利在线观看 国产精品久久久久久久久99热 国产一区二区精品尤物 久碰香蕉精品视频在线观看 亚洲日日夜夜 在线不卡一区二区 国产午夜亚洲精品 九九热在线视频观看这里只有精品 伊人手机在线视频 91免费国产精品 日韩欧美中字 91精品国产91久久久久 国产全黄三级播放 视频一区二区三区免费观看 国产开裆丝袜高跟在线观看 国产成人欧美 激情综合丝袜美女一区二区 国产成人亚洲综合无 欧美精品一区二区三区免费观看 欧美亚洲国产日韩 日韩亚州 国产欧美日韩精品高清二区综合区 亚洲午夜国产片在线观看 精品久久久久久中文字幕 欧美精品1区 久久伊人久久亚洲综合 亚洲欧美日韩精品 国产成人精品久久亚洲高清不卡 久久福利影视 国产精品99精品久久免费 久久久久免费精品视频 国产日产亚洲精品 亚洲国产午夜电影在线入口 精品无码一区在线观看 午夜国产精品视频 亚洲一级片免费 伊人久久大香线蕉综合影 国产精品久久影院 久碰香蕉精品视频在线观看 www.欧美精品 在线小视频国产 亚洲国产天堂久久综合图区 欧美一区二区三区不卡 日韩美女福利视频 九九精品免视频国产成人 不卡国产00高中生在线视频 亚洲第一页在线视频 欧美日韩在线播放成人 99re视频这里只有精品 国产精品91在线 精品乱码一区二区三区在线 国产区久久 91麻豆精品国产自产在线观看一区 日韩精品成人在线 九九热在线观看 国产精品久久不卡日韩美女 欧美一区二区三区综合色视频 欧美精品免费一区欧美久久优播 国产精品网址 国产专区中文字幕 国产精品欧美亚洲韩国日本久久 日韩美香港a一级毛片 久久精品123 欧美一区二区三区免费看 99r在线视频 亚洲精品国产字幕久久vr 国产综合激情在线亚洲第一页 91免费国产精品 日韩免费小视频 亚洲国产精品综合一区在线 国产亚洲第一伦理第一区 在线亚洲精品 国产精品一区二区制服丝袜 国产在线成人精品 九九精品免视频国产成人 亚洲国产网 欧美日韩亚洲一区二区三区在线观看 在线亚洲精品 欧美一区二区三区高清视频 国产成人精品男人的天堂538 欧美日韩在线观看区一二 亚洲欧美一区二区久久 久久精品中文字幕首页 日本高清www午夜视频 久久精品国产免费 久久999精品 亚洲国产精品欧美综合 88国产精品视频一区二区三区 91久久偷偷做嫩草影院免费看 国产精品夜色视频一区二区 欧美日韩导航 国产成人啪精品午夜在线播放 一区二区视频在线免费观看 99久久精品国产自免费 精液呈暗黄色 久久99国产精品 日本精品久久久久久久久免费 精品国产97在线观看 99re视频这里只有精品 国产视频91在线 999av视频 亚洲美女视频一区二区三区 久久97久久97精品免视看 亚洲国产成人久久三区 99久久亚洲国产高清观看 日韩毛片在线视频 综合激情在线 91福利一区二区在线观看 一区二区视频在线免费观看 激情粉嫩精品国产尤物 国产成人精品曰本亚洲78 国产成人精品本亚洲 国产精品成人免费视频 国产成人啪精品视频免费软件 久久精品国产亚洲妲己影院 国产精品成人久久久久久久 久久大香线蕉综合爱 欧美一区二区三区高清视频 99热国产免费 在线观看欧美国产 91精品视频在线播放 国产精品福利社 欧美精品一区二区三区免费观看 国产一区二区免费视频 国产午夜精品一区二区 精品视频在线观看97 91精品福利久久久 国产一区福利 国产综合激情在线亚洲第一页 国产精品久久久久久久久久久不卡 九色国产 在线日韩国产 黄网在线观看 亚洲一区小说区中文字幕 中文字幕丝袜 日本二区在线观看 日本国产一区在线观看 欧美日韩一区二区三区久久 欧美精品亚洲精品日韩专 国产日产亚洲精品 久久综合九色综合欧美播 亚洲国产欧美无圣光一区 欧美视频区 亚洲乱码视频在线观看 久久无码精品一区二区三区 九九热精品免费视频 久久99精品久久久久久牛牛影视 国产精品成久久久久三级 国产一区福利 午夜国产精品视频 日本二区在线观看 99久久网站 国产亚洲天堂 精品国产一区二区三区不卡 亚洲国产日韩在线一区 国产成人综合在线观看网站 久久免费高清视频 欧美在线导航 午夜精品久久久久久99热7777 欧美久久综合网 国产小视频精品 国产尤物在线观看 亚洲国产精品综合一区在线 欧美一区二区三区不卡视频 欧美黑人欧美精品刺激 日本福利在线观看 久久国产偷 国产手机精品一区二区 国产热re99久久6国产精品 国产高清啪啪 欧美亚洲国产成人高清在线 国产在线第三页 亚洲综合一区二区三区 99r在线视频 99精品久久久久久久婷婷 国产精品乱码免费一区二区 国产在线精品福利91香蕉 国产尤物视频在线 五月婷婷亚洲 中文字幕久久综合伊人 亚洲精品一级毛片 99国产精品电影 在线视频第一页 久久99国产精品成人欧美 国产白白视频在线观看2 成人精品一区二区www 亚洲成人网在线观看 麻豆91在线视频 色综合合久久天天综合绕视看 久久精品国产免费高清 国产不卡一区二区三区免费视 欧美国产中文 99精品欧美 九九在线精品 国产中文字幕在线免费观看 国产一区中文字幕在线观看 国产成人一级 国产精品一区二区制服丝袜 国产一起色一起爱 亚洲精品成人在线 亚洲欧美精品在线 国产欧美自拍视频 99精品久久久久久久婷婷 久99视频 国产热re99久久6国产精品 视频一区亚洲 国产精品视频分类 国产精品成在线观看 99re6久精品国产首页 亚洲在成人网在线看 亚洲国产日韩在线一区 久久国产三级 日韩国产欧美 欧美在线一区二区三区 国产精品美女一级在线观看 成人午夜免费福利视频 亚洲天堂精品在线 91精品国产手机 欧美日韩视频在线播放 狠狠综合久久综合鬼色 九一色视频 青青视频国产 亚洲欧美自拍一区 中文字幕天天躁日日躁狠狠躁97 日韩免费大片 996热视频 伊人成综合网 亚洲天堂欧美 日韩精品亚洲人成在线观看 久久综合给会久久狠狠狠 日韩精品亚洲人成在线观看 日韩国产欧美 亚洲成aⅴ人片在线影院八 亚洲精品1区 99久久精品免费 国产精品高清在线观看 国产精品久久久免费视频 在线亚洲欧美日韩 91在线看视频 国产精品96久久久久久久 欧美日韩国产成人精品 91在线亚洲 热久久亚洲 国产精品美女免费视频观看 日韩在线毛片 亚洲永久免费视频 九九免费在线视频 亚洲一区网站 日本高清二区视频久二区 精品国产美女福利在线 伊人久久艹 国产精品久久久久三级 欧美成人精品第一区二区三区 99久久精品国产自免费 在线观看日韩一区 国产中文字幕一区 成人免费午夜视频 欧美日韩另类在线 久久99国产精品成人欧美 色婷婷中文网 久久天天躁夜夜躁狠狠躁2020 欧美成人伊人久久综合网 国产精品福利资源在线 国产伦精品一区二区三区高清 国产精品亚洲综合色区韩国 亚洲一区欧美日韩 色综合视频 国语自产精品视频在线区 国产高清a 成人国内精品久久久久影 国产在线精品香蕉综合网一区 国产不卡在线看 国产成人精品精品欧美 国产欧美日韩综合精品一区二区三区 韩国电影一区二区 国产在线视频www色 91中文字幕在线一区 国产人成午夜免视频网站 亚洲综合一区二区三区 色综合视频一区二区观看 久久五月网 九九热精品在线观看 国产一区二区三区国产精品 99久热re在线精品996热视频 亚洲国产网 在线视频亚洲一区 日韩字幕一中文在线综合 国产高清一级毛片在线不卡 精品国产色在线 国产高清视频一区二区 精品日本久久久久久久久久 亚洲国产午夜精品乱码 成人免费国产gav视频在线 日韩欧美一区二区在线观看 欧美曰批人成在线观看 韩国电影一区二区 99re这里只有精品6 日韩精品一区二区三区视频 99re6久精品国产首页 亚洲欧美一区二区三区导航 欧美色图一区二区三区 午夜精品视频在线观看 欧美激情在线观看一区二区三区 亚洲热在线 成人国产精品一区二区网站 亚洲一级毛片在线播放 亚洲一区小说区中文字幕 亚洲午夜久久久久影院 国产自产v一区二区三区c 国产精品视频免费 久久调教视频 国产成人91激情在线播放 国产精品欧美亚洲韩国日本久久 久久亚洲日本不卡一区二区 91中文字幕网 成人国产在线视频 国产视频91在线 欧美成人精品第一区二区三区 国产精品福利在线 久久综合九色综合精品 欧美一区二区三区精品 久久国产综合尤物免费观看 久久99青青久久99久久 日韩精品免费 久久国产精品999 91亚洲视频在线观看 国产精品igao视频 色综合区 在线亚洲欧国产精品专区 国产一区二区三区在线观看视频 亚洲精品成人在线 一区二区国产在线播放 中文在线亚洲 亚洲精品第一国产综合野 国产一区二区精品久久 一区二区三区四区精品视频 99热精品久久 中文字幕视频二区 国产成人精品男人的天堂538 99精品影视 美女福利视频一区二区 久久午夜夜伦伦鲁鲁片 综合久久久久久久综合网 国产精品国产欧美综合一区 国产99视频在线观看 国产亚洲女在线精品 婷婷影院在线综合免费视频 国产亚洲3p一区二区三区 91成人爽a毛片一区二区 亚洲一区二区高清 国产欧美亚洲精品第二区首页 欧美日韩导航 亚洲高清二区 欧美激情观看一区二区久久 日韩毛片在线播放 亚洲欧美日韩高清中文在线 亚洲日本在线播放 国产精品一区二区制服丝袜 精品国产一区二区三区不卡 国产不卡在线看 国产欧美网站 四虎永久在线观看视频精品 国产黄色片在线观看 夜夜综合 一本色道久久综合狠狠躁篇 欧美亚洲综合另类在线观看 国产91在线看 伊人久久国产 欧美一区二区在线观看免费网站 国产精品久久久久三级 久久福利 日韩中文字幕a 亚洲午夜久久久久影院 91在线高清视频 国产亚洲一区二区三区啪 久久人精品 国产精品亚洲午夜一区二区三区 综合久久久久久 久久伊人一区二区三区四区 国产综合久久久久久 日韩一区精品视频在线看 国产精品日韩欧美制服 日本精品1在线区 99re视频 无码av免费一区二区三区试看 国产视频1区 日韩欧美中文字幕一区 日本高清中文字幕一区二区三区a 亚洲国产欧美无圣光一区 国产在线视频一区二区三区 欧美国产第一页 在线亚洲欧美日韩 日韩中文字幕第一页 在线不卡一区二区 伊人久久青青 国产精品一区二区在线播放 www.五月婷婷 麻豆久久婷婷国产综合五月 亚洲精品区 久久国产欧美另类久久久 99在线视频免费 伊人久久中文字幕久久cm 久久精品成人免费看 久久这里只有精品首页 88国产精品视频一区二区三区 中文字幕日本在线mv视频精品 国产在线精品成人一区二区三区 伊人精品线视天天综合 亚洲一区二区黄色 国产尤物视频在线 亚洲精品99久久久久中文字幕 国产一区二区三区免费观看 伊人久久大香线蕉综合电影网 国产成人精品区在线观看 日本精品一区二区三区视频 日韩高清在线二区 久久免费播放视频 一区二区成人国产精品 国产精品免费精品自在线观看 亚洲精品视频二区 麻豆国产精品有码在线观看 精品日本一区二区 亚洲欧洲久久 久久中文字幕综合婷婷 中文字幕视频在线 国产成人精品综合在线观看 91精品国产91久久久久福利 精液呈暗黄色 香蕉国产综合久久猫咪 国产专区精品 亚洲精品无码不卡 国产永久视频 亚洲成a人片在线播放观看国产 一区二区国产在线播放 亚洲一区二区黄色 欧美日韩在线观看视频 亚洲精品另类 久久国产综合尤物免费观看 国产一区二区三区国产精品 高清视频一区 国产精品igao视频 国产精品资源在线 久久综合精品国产一区二区三区 www.五月婷婷 精品色综合 99热国产免费 麻豆福利影院 亚洲伊人久久大香线蕉苏妲己 久久电影院久久国产 久久精品伊人 在线日韩理论午夜中文电影 亚洲国产欧洲综合997久久 伊人国产精品 久草国产精品 欧美一区精品二区三区 亚洲成人高清在线 91免费国产精品 日韩精品福利在线 国产一线在线观看 国产不卡在线看 久久99青青久久99久久 亚洲精品亚洲人成在线播放 99久久免费看国产精品 国产日本在线观看 青草国产在线视频 麻豆久久婷婷国产综合五月 国产中文字幕一区 91久久精品国产性色也91久久 国产一区a 国产欧美日韩成人 国产亚洲女在线精品 一区二区美女 中文字幕在线2021一区 在线小视频国产 久久这里只有精品首页 国产在线第三页 欧美日韩中文字幕 在线亚洲+欧美+日本专区 精品国产一区二区三区不卡 久久这里精品 欧美在线va在线播放 精液呈暗黄色 91精品国产手机 91在线免费播放 欧美视频亚洲色图 欧美国产日韩精品 日韩高清不卡在线 精品视频免费观看 欧美日韩一区二区三区四区 国产欧美亚洲精品第二区首页 亚洲韩精品欧美一区二区三区 国产精品视频免费 在线精品小视频 久久午夜夜伦伦鲁鲁片 国产无套在线播放 久热这里只精品99re8久 欧美久久久久 久久香蕉国产线看观看精品蕉 国产成人精品男人的天堂538 亚洲人成网站色7799在线观看 日韩在线第二页 一本色道久久综合狠狠躁篇 国产一区二区三区不卡在线观看 亚洲乱码在线 在线观看欧美国产 久久福利青草精品资源站免费 国产玖玖在线观看 在线亚洲精品 亚洲成aⅴ人在线观看 精品91在线 欧美一区二三区 日韩中文字幕视频在线 日本成人一区二区 日韩免费专区 国内精品在线观看视频 久久国产综合尤物免费观看 国产精品系列在线观看 一本一道久久a久久精品综合 亚洲免费播放 久久精品国产免费 久久人精品 亚洲毛片网站 亚洲成a人一区二区三区 韩国福利一区二区三区高清视频 亚洲精品天堂在线 一区二区三区中文字幕 亚洲国产色婷婷精品综合在线观看 亚洲国产成人久久笫一页 999国产视频 国产精品香港三级在线电影 欧美日韩一区二区三区四区 日韩国产欧美 国产精品99一区二区三区 午夜国产精品理论片久久影院 亚洲精品中文字幕麻豆 亚洲国产高清视频 久久免费手机视频 日韩a在线观看 五月婷婷亚洲 亚洲精品中文字幕麻豆 中文字幕丝袜 www国产精品 亚洲天堂精品在线 亚洲乱码一区 国产日韩欧美三级 久久999精品 伊人热人久久中文字幕 久热国产在线视频 国产欧美日韩在线观看一区二区三区 国产一二三区在线 日韩国产欧美 91精品国产91久久久久 亚洲一区小说区中文字幕 精品一区二区免费视频 国产精品视频免费 国产精品亚洲综合色区韩国 亚洲国产精品成人午夜在线观看 欧美国产日韩精品 中文字幕精品一区二区精品
            久久久久中文字幕| 97中文字幕在线观看| 久久久久亚洲视频| 亚洲成人免费观看| 91精品国产高清久久久久| 亚洲伊人网站| 久久精品成人免费网站| 亚洲国产综合专区在线播一一| 久久大香伊人中文字幕| 青青草97国产精品免费观看| 久久天天躁狠狠躁夜夜躁| 国内在线精品| 国产精品网址| 国产精品久久久久久久牛牛| 久久精品这里精品| 91麻豆国产香蕉久久精品| 日韩午夜伦| 伊人看片| 成年男女免费视频网站| 久久天天躁狠狠躁夜夜| 国产欧美一区二区精品久久久| 国产亚洲毛片在线| 日韩在线一区二区三区免费视频 | 亚洲精品美女久久久久网站| 97超频在线观看| 亚洲综合色婷婷在线观看| 久久五月网| 99久久久精品免费观看国产| 欧美日韩精品在线播放| 成人中文在线| 国语对白一区二区三区| 在线观看亚洲| 婷婷午夜天| 国产精品三级视频| 成人久久网站| www.91免费视频| 青青青激情视频在线最新| 久久97久久97精品免视看| 99re九精品视频在线视频| 久久国产美女免费观看精品| 免费视频成人国产精品网站| 亚洲一区二区三区久久久久| 亚洲欧洲精品成人久久曰| 久久国产乱子伦精品免费一| 99九九精品免费视频观看| 精品久久久久亚洲| 91国内精品线免费播放| 99久久99久久精品免观看| 国产精品午夜在线播放a| 99ri国产在线观看| 亚洲精品视频在线免费| 中文字幕色在线| 日本亚洲网站| 欧美日韩在线亚洲国产人| 国产在线精品一区二区中文| 久久亚洲视频| 91福利视频一区| 国产成人毛片视频不卡在线| 精品久久久久久久久免费影院| 国产怡红院| 激情五月激情综合色区| 国产成人综合一区人人| 国产日韩欧美中文字幕| 中文字幕日韩高清| 国产精品电影久久| 欧美日本免费一区二区三区| 伊人丁香| 亚洲欧美日韩中文在线| 日本一区二区三区高清福利视频| 亚洲欧美日韩一区| 青草国产精品久久久久久| 国产精品任我爽爆在线播放6080| 欧美日比视频| 亚洲综合精品香蕉久久网| 国产精品人人视频| 欧美精品一区视频| 国产精品夜色视频一区二区| 国产高清精品一区| 日本精品久久久久中文字幕1| 亚洲国产资源| 日韩免费毛片视频| 99精品久久久久久| 国产一区二区三区怡红院| 国产中文字幕在线播放 | 亚洲视频一二三| 成人欧美日韩视频一区| 九月婷婷亚洲综合在线| 亚洲人成绝费网站色ww| 国产在线观看99| 国产精品国产精品| 国产亚洲高清不卡在线观看| 九九久久国产精品| 国产99re| 久久97精品久久久久久久看片| 99在线视频观看| 最新国产福利在线| 亚洲.国产.欧美一区二区三区| 四虎在线精品免费高清在线| 97成人在线视频| 伊人黄网| 精品久久久久不卡无毒| 亚洲视频精品在线观看| 91久久国产成人免费观看资源| 国产欧美va欧美va香蕉在线观看 | 国产成人一区二区小说| 日韩精品视频观看| 色偷偷伊人| 精品国产日韩一区三区| 国产曰批免费视频播放免费s| 国产成人精品综合网站| 麻豆网站在线免费观看| 欧美一区中文字幕| 欧美日韩国产高清视频| 久久久久久久久性潮| 国产成人精品自线拍| 精品国产毛片| 久久精品午夜| 国产视频二区| 亚洲一区二区三区秋霞秋理| 怡红院美国分院一区二区| 欧洲精品一区二区| 99热这里都是国产精品| 国产精品久久久久久久伊一| 在线观看你懂的网站| 国产免费一区二区三区香蕉精 | 色综合色综合色综合色综合| 国产不卡在线蜜| 国产二区在线播放| 午夜精品久久久久久久99热| 亚洲第一页国产| 伊人手机在线观看| 国产精品欧美一区二区三区不卡| 亚洲欧洲精品国产二码| 日韩中文在线视频| 91精品国产91| 久久香蕉国产线看观看亚洲片| 久久久久亚洲精品成人网小说| 亚洲一区免费看| 欧美在线黄色| 国产a精品三级| 99自拍网| 国产乱人伦精品一区二区| 日韩精品免费一区二区| 99精品在线免费观看| 欧美精品在线一区二区三区| 伊人福利网| 久久亚洲精品成人综合| 亚洲视频一二三| 亚洲黄色三级网站| 91在线亚洲综合在线| 国产成人亚洲午夜电影| 中文国产成人精品少久久| 国产一区二区福利| 亚洲精品视频二区| 亚洲欧美偷拍视频| 国产精欧美一区二区三区| 久久永久免费| 国产精品高清视亚洲乱码| 亚洲精品1区| 99久久99久久精品| 国产在线啪| 亚洲字幕在线观看| 五月婷婷六月综合| 亚洲一二三四区| 国产精品二区三区免费播放心| 久草福利站| 欧美高清在线精品一区二区不卡| 福利一区三区| 综合伊人久久| 国产一区二区三区视频在线观看| 午夜精品视频在线观看| 91精品丝袜国产高跟在线一区| 国产欧美亚洲精品| 国产亚洲欧美一区二区三区| 国产一区二区三区在线免费观看| 久久婷婷丁香| 亚洲国产影视| 99精品在线免费观看| 免费国产成高清人在线视频| 91精品91久久久| 久久久久亚洲国产| 日韩欧美二区| 亚洲国产成人久久综合碰| 国产精品久久久久久久| 午夜精品久久久久久久99| 很黄很污的视频在线观看| 欧美精品亚洲二区| 国产麻豆精品在线| 热久久国产精品| 亚洲视频天天射| 日本久久综合视频| 亚洲欧美另类在线| 在线日韩一区| 亚洲视频免费在线| 亚洲欧美日韩在线观看二区| 免费久久精品视频| 色婷婷.com| 日韩成人在线网站| 欧美日韩国产一区二区三区播放 | 亚洲国产天堂久久综合2261144| 亚洲综合在线观看一区www| 欧美日韩国产最新一区二区| 久久99精品久久久久久婷婷| 麻豆91在线视频| 国产一区二区不卡视频| 色亚洲色图| 久久伊人成人| 亚洲成人在线网站| 亚洲一区在线观看视频| 色综合免费视频| 欧美日韩在线观看一区| 青青热在线精品视频免费| 国产国产人精品视频69| 国产免费久久精品久久久| 免费国产成人18在线观看| 亚洲天堂伊人| 亚洲第一区在线观看| 久久亚洲精品中文字幕| 伊人免费视频网| 日韩免费小视频| 欧美精品一区二区在线观看播放| 国产成人精品999在线观看| 久久精品这里是免费国产| 色婷婷色99国产综合精品| 日韩高清在线二区| 丝袜美腿一区二区| 欧美成人一区二区| 日韩国产成人资源精品视频| 日韩毛片在线视频| 国产精品夜色视频一级区| 久久99国产精品二区不卡| 日韩精品久久一区二区三区| 亚洲欧美日韩久久精品第一区| 涩涩五月天婷婷丁香综合社区| 欧美亚洲h在线一区二区 | 亚洲欧美中文日韩在线| 国产毛片片精品天天看视频| 国产午夜精品福利久久| 国内自拍第一页| 91不卡视频| 亚洲精品成人在线观看| 欧美日韩在线观看一区| 色婷婷中文字幕| 欧美亚洲天堂| 久久99精品久久久久久婷婷| 色www永久免费视频| 99久久www免费| 亚洲毛片在线看| 亚洲国产成人在线观看| 欧美精品一二区| 国产不卡在线蜜| 久久久五月| 国产凹凸一区在线观看视频| 国产精品成人影院| 日韩欧美国产中文| 99热这里只有精品3| 久久99久久99| 无码日韩精品一区二区免费| 99在线视频网站| 精品在线一区二区| 伊人青青久久| 福利视频不卡| 国产亚洲亚洲精品777| 四虎精品永久在线| 国产午夜精品久久久久小说| 欧美一区精品| 国产成人精品亚洲一区| 日本一区二区在线看| 99在线视频免费| 午夜国产精品久久影院| 伊人成人在线视频| 中文字幕视频一区| 久久国产精品最新一区| 国产成人a∨麻豆精品| 日韩精品久久久毛片一区二区| 日韩精品国产一区| 永久网站色视频在线观看免费| 欧美日本韩国一区二区| 色135综合网| 男人天堂亚洲色图| 2020久久国产精品福利| 97se色综合一区二区二区| 国产一区二区自拍视频| 亚洲综合第一页| 伊人一区二区三区| 成人国产精品一区二区网站| 亚洲视频在线观看一区| 午夜爽爽性刺激一区二区视频 | 91精品视频观看| 亚洲欧美日韩国产精品久久| 丁香伊人网| 亚洲欧美成人综合久久久| 国产精品ⅴ视频免费观看| 日本香蕉一区二区在线观看| 亚洲欧洲日本在线观看| 亚洲午夜久久久精品影院视色 | 亚洲视频中文字幕| 中文字幕精品视频| 伊人色综合久久天天网| 亚洲精品在线看| 久久国产一级毛片一区二区| 中文字幕一区在线观看| 91久久精品| 国产精品久久亚洲一区二区| 综合激情婷婷| 亚洲精品午夜久久久伊人| 色狠狠一区二区| 五月婷综合网| 日韩精品一区二区三区中文字幕| 国产在线日本| 亚洲国产欧美在线人成aaaa20| 中文字幕在线视频精品| 青青草国产精品| 久久中文网| 欧美福利精品| 欧美一区二区在线| 中文毛片无遮挡播放免费| 亚洲精品高清在线| 精品中文字幕在线| 亚洲精品午夜国产va久久| 久久无码av三级| 国产在线视频二区| 欧美一级日韩| 怡红院一区| 欧美久草| 99久久国语露脸精品国产| 婷婷综合激情| 国产在线高清精品二区色五郎| 在线不卡国产| 欧美极品在线| 久久国产一片免费观看| 亚洲国产精选| 一区在线观看视频| 久久久五月| 久久香蕉国产精品一区二区三| 一区二区福利| 国产不卡一区二区视频免费| 国产精品亚洲αv天堂2021| 日本精品一区| 日韩黄色精品| 九九99香蕉在线视频网站| 91香蕉国产亚洲一二三区| 狠狠色伊人亚洲综合成人| 91精品国产高清久久久久久91 | 日韩亚洲色图| 91在线精品老司机免费播放| 国产精品手机在线观看| 欧美视频一区二区三区精品| 欧美一区视频在线| 精品久久久久久久久免费影院| 国产成人免费观看| 麻豆一级片| 国产成人一区二区三区精品久久| 久久97精品久久久久久清纯| 456亚洲视频| 中文字幕久精品免费视频| 日本午夜精品一本在线观看| 精品日本一区二区| 欧美三区在线观看| 欧美成a人片在线观看久| 99精品日韩| 99精品这里只有精品高清视频| 欧美中文字幕第一页| 国产成人综合怡春院精品| 亚洲人在线| 国产成人精品曰本亚洲78| 欧美综合视频在线| 久久国产亚洲偷自| 国产伦精品一区三区视频| 亚洲欧美日本国产综合在线| 精品一区二区91| 色伊人影院| 亚洲欧美日韩国产一区二区三区精品| 国产精品日韩精品| 国产精品免费久久| 婷婷色一二三区波多野衣| 国产精品久久免费视频| 亚洲专区在线播放| 亚洲综合在线观看一区www| 午夜久久电影| 欧美第一精品| 亚洲国产欧美一区| 97成人精品视频在线播放| 精品国产高清露脸在线观看| 国产91页| 免费无遮h在线网站大全| 亚洲视频2| 日产一区二区三区精品视频| 亚洲黄色在线观看| 国产原创一区二区| 精品视频一区二区三区四区五区| 国产综合精品在线| 91精品久久久久久久久中文字幕| 欧美日韩1区2区| 免费伊人| 久久麻豆精品| 亚洲性激情| 91亚洲视频在线观看| 综合色影院| 国内精品久久久久女同| 在线小视频国产| 久久国产精品歌舞团| 亚洲欧美日韩综合一区| 国产真实一区二区三区| 日韩精品久久久久久久电影| 日韩欧美国产中文| 久久久久性| 精品成人免费一区二区在线播放| 欧美一区欧美二区| 国产欧美在线观看一区二区| 中文字幕久久久久一区| 国产日产精品久久久久快鸭 | 亚洲天堂999| 国产成人亚洲合集青青草原精品| 国产美女a做受大片在线观看| 免费日本一区| 精品福利视频一区二区三区| 国产精品成人在线播放| 怡红院成人永久免费看| 99国产视频| 伊人不卡久久大香线蕉综合影院| 国产综合在线播放| 99精品视频在线观看re| 亚洲人成网男女大片在线播放| 中文字幕在线亚洲| 亚洲综合色一区二区三区小说| 欧美亚洲国产精品久久高清| 九九精品视频免费| 久久er99热精品一区二区| 国产天堂| 国产美女久久| 日韩一区二区免费| 欧美一区二三区| 亚洲国产日韩在线观看| 色婷婷中文字幕在线一区天堂| 日韩欧美视频一区| 国产美女视频免费看网站| 亚洲一区色| 欧美国产日韩久久久| 日韩精品福利在线| 欧美成人精品福利在线视频| 国产高清中文字幕| 欧美高清在线精品一区二区不卡 | 91视频国产精品| 国产成人欧美| 国产在线精品99一卡2卡| 久久亚洲高清观看| 视频二区在线观看| 国产精品黄在线观看观看| 性欧美极品xxxx欧美一区二区| 日韩欧美在线观看综合网另类| 欧美专区综合| 国产日韩欧美综合一区二区三区| 精品国产91久久久久久久| 国产欧美日韩精品第二区| 婷婷午夜天| 国产资源网| 欧美专区在线视频| 国产v片在线播放免费观| 青青草国产97免久久费观看| 日韩一区二区不卡| 国产成人精品午夜二三区| 欧美精品在线一区| 免费一区二区三区免费视频| 伊人亚洲综合| 99久久99久久精品免观看| 欧美激情二区三区| 亚洲性视频网站| 亚洲午夜精品久久久久久抢| 久久久成人网| 无码一区二区三区视频| 亚洲国产精久久久久久久| 国产精品免费一区二区三区四区| 欧美日韩第三页| 亚洲日本黄色片| 99精品视频免费观看| 亚洲国产成人精品久久| 综合色在线| 日韩精品成人| 99久久99久久久精品久久| 国产精品日韩专区| 国产精品久久一区一区| 国产精品99久久久久久宅男| 久久久精品一区二区三区| 久久精品视频8| 午夜视频免费| 亚洲国产精品免费在线观看| 福利一区福利二区| 日本久久中文字幕| 国产视频第二页| 91精品国产综合久久久久久| 日韩成人免费aa在线看| 国产不卡视频在线观看| 国产一区二区三区不卡在线观看| 国产在线91| 在线视频免费国产成人| 欧美一区二区视频三区| 亚洲精品国产字幕久久不卡| 国产高清在线精品一区导航| 日韩美一区二区| 综合久久久| 蜜桃精品视频| 日韩欧美在线综合网高清| 伊人网在线视频观看| 欧美大片一区二区三区| 欧美国产免费| 亚洲男人在线天堂| 天堂国产在线观看| 欧美精品国产一区二区三区| 国产高清视频免费| 亚洲人成网站在线播放942一| 亚洲精品欧美精品中文字幕| 国产成人欧美| 欧美精品观看| 欧美成人一区二区三区在线视频| 色综合久久久久久久久五月| 97超级碰碰碰碰精品| 国产精品久久久久久久久久久久 | 伊人成人在线视频| 97视频免费看| 欧美一区二区三区不卡| 久久久久久久99久久久毒国产| 在线观看麻豆国产精品| 亚洲国产精品一区二区九九| 国产一级在线免费观看| 99精品视频观看| 亚洲免费人成在线视频观看| 99久久国产| 亚洲精品中文字幕字幕| 99久久免费国产香蕉麻豆| 国产99久久久久久免费看| 日韩av片无码一区二区不卡电影| 国产精品视频大全| 日韩色视频在线观看| 国产成人综合久久| 午夜va| 91精品国产免费久久| 毛片免费在线播放| 国产精品久久久久天天影视 | 久久伊人热| 国产一区a| 亚洲伊人tv综合网色| 青青操久久| 欧美在线不卡| 亚洲综合一区二区三区| 99在线视频观看| 色一情一区二区三区四区| 国产福利免费在线观看| 一区二区视频免费观看| 亚洲日韩在线观看| 日韩精品专区| 国产精品美女久久久| 91网站在线看| 青青草原国产视频| 国产一级免费视频| 亚洲国产精品综合久久网络| 亚洲毛片网| 久久中文字幕电影| 日韩高清在线不卡| 日韩欧美在线观看综合网另类| 久久精品一本到99热免费| 精品久久久一二三区| 国内自拍成人网在线视频| 国产69精品久久久久999三级| 国产一区二区在线播放| 一级欧美一级日韩| 日本亚洲a| 亚洲国产天堂| 亚洲视频四区| 国产成人亚洲综合a∨婷婷| 国产精品国产三级国产an| 麻豆精品久久久| 国产第一页在线播放| 久久久久亚洲精品成人网小说| 中文字幕久久久久久久系列| 欧美日本一本| 亚洲日本一区二区三区在线不卡| 色综合久久天天综合观看| 亚洲国产第一页| 怡红院亚洲怡红院首页| 91精品福利在线| 国产综合精品一区二区| 92精品国产成人观看免费| 亚洲精品老司机综合影院| 国产日韩欧美第一页| 亚洲国产欧美无圣光一区| 91精品国产91热久久久久福利| 国产成人美女福利在线观看| 国产精品日韩欧美亚洲另类| 精品久久蜜桃| 日本欧美国产精品| 99热这里只有成人精品国产 | 伊人一区二区三区| 国产丝袜视频在线| 国产人成精品免费视频| 婷婷亚洲视频| 国产精品久久久久久久毛片| 成人一a毛片免费视频| 亚洲欧美一区二区三区另类| 国产亚洲精品电影| 中文字幕亚洲电影| 日韩欧美亚洲综合久久影院d3| 欧美亚洲国产人成aaa| 一区二区午夜| 国产亚洲精品综合在线网址| 九九热这里只有国产精品| 91日本在线精品高清观看| 91精品福利在线| 国产56页| 免费视频a| 久久精品国产91久久综合麻豆自制| 91精品国产综合久久| 国产91丝袜| 69黄在线看片免费视频| 亚洲午夜久久久久中文字幕| 91精品国产91久久久久久麻豆| 国内精品久久久久久久试看| 久久这里只有精品免费看青草| 国产在线麻豆精品| 91中文在线| 久久鸭综合久久国产| 国产精品成人va在线观看入口| 国产精品亚洲精品日韩电影| 日韩一区二区在线视频| 亚洲免费在线| 日韩一区二区三区中文字幕| 国产伦精品一区二区三区在线观看 | 国产主播一区二区| 99自拍网| 99久久精品免费视频| 国产精品美女一区二区| 国产在线成人a| 久久免费观看国产99精品| 国产欧美日韩一区二区三区| 最新国产在线观看| 在线观看视频一区二区三区| 国产一区精品在线| 亚洲精品视频在线| 国产成人免费观看| 六月婷婷综合网| 亚洲国产人久久久成人精品网站| 亚洲精品国自产拍在线观看| 国产在线欧美日韩精品一区二区 | 亚洲国产另类精品| 色婷婷精品大视频在线蜜桃视频| 免费高清国产| 国产91成人精品亚洲精品| 国产福利在线观看永久免费| 亚洲欧洲一区二区| 国产亚洲精品91| 国产综合亚洲欧美日韩一区二区 | 国产欧美在线播放| 女人国产香蕉久久精品| 中文字幕视频在线观看| 色www亚洲| 91久久国产成人免费观看资源| 日韩一区二区三区免费体验| 日本福利视频导航| 99色精品| 亚洲国产精品久久精品怡红院| 亚洲嫩草影院久久精品| 日韩精品一区二区三区免费观看| 日韩视频导航| 国产亚洲高清不卡在线观看| 欧美视频在线观看一区二区| 亚洲精品图区| 91在线看片| 国产精品亚欧美一区二区三区 | 91精品国产调教在线观看| 精精国产xxxx视频在线| 国产天堂在线观看| 日韩毛片在线视频| 亚洲三级国产| 91精品国产品国语在线不卡| 伊人不卡| 久久国产精品久久久久久久久久| 日本h在线亚洲网站在线观看| 色www亚洲| 69黄在线看片免费视频| 亚洲欧美日韩久久一区| 日韩精品一区二三区中文| 91精品综合| 日韩精品资源| 男人的天堂精品国产一区| 国产精品yjizz视频网一二区| 久久免费视频精品| 91国内在线视频| 久久91精品国产91久| 欧美一级视频免费看| 麻豆精品在线视频| 亚洲国产大片| 在线视频亚洲一区| 色偷偷伊人| 在线一区观看| 国产精品无码永久免费888| 99精品影院| 久青草国产在线视频_久青草免| 九九热视频精品在线观看| 国产v欧美v日本v精品| 国内精品久久国产大陆| 亚洲欧美国产另类首页| 国产精品视_精品国产免费| 91免费公开视频| 日韩精品午夜| 99精品视频在线观看| 久久www免费人成一看片| 久久99精品久久久久久婷婷| 国产vvv在线观看| 亚洲精品无码不卡| 日本久久99| 亚洲欧美一区二区三区导航| 国产精品国产香蕉在线观看网| 久久免费电影| 国产成人精品自线拍| 久久国产精品一区免费下载| 亚洲欧美91| 国产在线拍揄自揄视频不卡99 | 国产精品100页| 欧美性受一区二区三区| 97久久天天综合色天天综合色| 日韩亚洲欧美综合一区二区三区| 日本精品久久久久久久| 99re九精品视频在线视频| 国产二区视频在线观看| 久久久久免费| 精精国产www视频在线观看免费| 国产精品亚洲综合第一区| 欧美精品第一页| 亚洲性无码av在线| 天天操天天干天天爽| 国产制服一区| 日本一区二区在线视频| 91av免费在线观看| 国产精品91av| 日韩精品电影一区亚洲高清 | 亚洲综合一区二区| 欧美久久综合| 国产精品6| 欧美成人专区| 欧美日韩中文国产一区二区三区 | 在线视频观看一区| 国产日韩欧美在线| 国产成人在线播放| 亚洲精品无播放器在线看观看| 国产精品18久久久久久不卡| 婷婷色一二三区波多野衣| 欧美三级免费网站| 国产对白在线播放九色| 久久精品免费播放| 91麻豆精品国产自产在线观看一区 | 欧美精品亚洲二区| 91视频一区二区| 久久久婷婷亚洲5月97色| 在线视频观看一区| 精品亚洲欧美高清不卡高清| 亚州综合网| 成人欧美一区二区三区在线 | 国产精品一区不卡| 亚洲国产综合视频| 精品综合久久久久久99| 国产自产c区| 久久国产热视频| 狠狠婷婷| 欧美日本一二三区| 久久国产精品亚洲| 国产一区二区三区免费在线视频| 国产高清一区| 国产成人精品cao在线| 91精品国产麻豆国产自产在线| 亚洲日本视频在线观看| 中文字幕狠狠干| 亚洲综合射| 国产在线观看精品香蕉v区| 国产精品亚洲视频| 免费在线色视频| 欧美国产精品久久| 亚洲人成网站观看在线观看| 久久国产精品免费| 手机亚洲第一页| 中文字幕三级久久久久久| 激情中文字幕| 久久免费高清视频| 免费a视频在线观看| 久久久香蕉| 亚洲国产精品成人综合久久久| 国产成人精品福利网站人| 综合国产| 国产精品视频不卡| 伊人青青青| 亚洲美女视频一区二区三区| 亚洲精品国产手机| 国产成人一区二区三区在线视频| 亚洲欧美电影在线一区二区| 久久福利影视| 欧美久久天天综合香蕉伊| 国内精品一区视频在线播放| 婷婷玖玖| 中文字幕在线乱码免费毛片 | 亚洲欧美日韩高清| 日本福利视频导航| 国产一区免费视频| 亚洲综合网站| 99精品视频不卡在线观看免费| 日韩精品首页| 久久福利一区二区三区| 国产99视频在线| 亚洲一区二区三区四区视频| 精品国产二区| 国内精品久久久久久中文字幕| 青草视频在线免费| 8av国产精品爽爽ⅴa在线观看 | 亚洲男女网站| 国产精品久久久久毛片| 96精品在线| 精品天海翼一区二区| 在线免费观看国产精品| 国产精品18| 伊人成年综合网| 久久黄网| 国产亚洲欧美日韩在线看片| 久久亚洲精品中文字幕三区| 亚洲欧美一区在线| 亚洲欧美在线综合| 亚洲欧美中文字幕高清在线一 | 国产精品日本一区二区不卡视频| 亚洲天堂2018av| 亚洲国产区| 亚洲人成777在线播放| 91麻豆精品在线观看| 久草这里只有精品| 国产福利一区二区三区视频在线| 亚洲一区第一页| 国产一区二区自拍视频| 欧美精品国产一区二区三区| 美女福利视频一区| 一区二区在线视频观看| 国产成人在线视频播放| 99久久99久久精品免观看| 欧美日韩国产在线人| 国产精品自产拍在线观看| 成人精品一区二区久久| 欧洲国产成人精品91铁牛tv| 亚洲另类在线欧美制服| 在线色国产| 亚洲国产成人久久三区| 站长推荐国产精品视频| 亚洲色图另类| 亚洲女人国产香蕉久久精品| 黄色免费一级视频| 综合网久久| 九九精品热| 久久久久久国产a免费观看黄色大片| 乱码一区| 草莓视频污在线免费观看| 成人不卡在线| 欧美一区二区三区在线观看免费| 日韩欧美中文亚洲高清在线| 亚洲欧美日韩伦中文| 欧美日本综合一区二区三区| 在线观看日韩精品| 中文字幕第99页| 日韩精品大片| 青草国产视频| 国产精品久久久久9999高清| 久久免费国产| 国产精品1页| 成人网在线看| 综合色影院| 国产视频第二页| 国产人成久久久精品| 午夜视频久久久久一区| 国产aⅴ精品一区二区三区久久| 亚洲国产精品一区二区三区在线观看| 亚洲人成小说色在线| 国产高清免费不卡观看| 91网址在线播放| 99精品视频在线观看免费| 国产人成午夜免视频网站| 99久久er热在这里只有精品16| 亚洲婷婷六月| 国产成人综合亚洲欧美天堂| 亚洲第一页国产| 国产一级特黄在线播放| 亚洲视频一二| 91亚洲影院| 99国产精品免费视频观看| 亚洲欧美日韩专区| 青青在线国产视频| 一区中文字幕| 国产精品自产拍在线网站| 国产手机精品一区二区| 亚洲一区在线免费| 亚洲高清一区二区三区| 亚洲精品中文字幕乱码三区| 波多野结衣一区二区| 亚洲国产精选| 国产成人激情视频| 99在线精品免费视频| 欧美一区欧美二区| 久久国产自偷自免费一区100| 亚洲国产精品第一区二区三区| 狠狠综合久久综合88亚洲日本| 日韩不卡中文字幕| 99久久久国产精品免费| 亚洲成年人在线| 日韩字幕一中文在线综合| 亚洲在成人网在线看| 免费久久久久| 色综合综合| 中文在线亚洲| 99热这里只有成人精品国产| 久久青青热| 亚洲永久免费视频| 久久精品国产在热久久2019| 欧美久久网| 夜色精品国产一区二区| 亚洲欧洲一区二区三区| 久久r热这里有精品视频| 国产一区免费观看| 国产又色又爽又黄的视频在线观看 | 国产精品不卡| 中文字幕一区久久久久| 国产91色在线|亚洲| 国产一精品一av一免费爽爽| 一区二区国产在线播放| 99在线热视频只有精品免费| 国产精品偷伦视频播放| 国产黄视频在线观看| 久久香蕉国产精品一区二区三| 国产欧美在线| 亚洲精品视频在线观看免费| 亚洲人免费| 欧美成人一区二区三区在线电影| 青青草原在线视频免费观看| 久久国产精品-国产精品| 国产吧在线视频| 国产精品久久久久久久久久久搜索| www.精品| 久久人人做人人玩人精品| 一区二区三区在线| 国产精品国产亚洲精品看不卡| 日韩a无吗一区二区三区| 欧美在线亚洲| 国内精品在线视频| 欧美一区二区三区免费观看视频| 欧美精品日韩一区二区三区 | 婷婷爱五月天| 国产麻豆精品aⅴ免费观看| 九九热亚洲精品综合视频| 久久中文网中文字幕| 免费搞黄网站| 日韩欧美在线不卡| 国产精品一区二区三区高清在线| 久久精品国产亚洲欧美| 91伊人久久| 中文字幕第二页在线| 亚洲精品国产不卡在线观看| 国产精品美女一区二区| 99精品在线观看| 99re这里只有精品6| 欧美一级片免费在线观看| 国产精品第一区第27页| 狠狠色丁香婷婷综合久久片| 欧美韩国日本在线| 国产成人91高清精品免费| 亚洲男人在线天堂| 国产精品资源手机在线播放| 日韩欧美亚洲综合久久99e| 国产精品福利久久久久久小说| 亚洲精品在线视频| 亚洲国产欧洲精品路线久久| 亚洲欧美在线观看首页| 中文国产成人精品久久96| 久久99精品国产99久久| 久久91精品国产91久| 久久精品国产三级不卡| 91在线精品亚洲一区二区| 国产99久久久国产精品免费直播| 精品国产福利在线观看网址2022| 99精品在线免费观看| 亚洲免费观看| 青青草原国产在线视频| 色综合天天色| 日本欧美中文字幕人在线| 99久久国产综合精品五月天| 中文字幕在线不卡视频| 国产色婷婷精品综合在线| 五月婷婷六月激情| 国产亚洲精品综合在线网址 | 99视频有精品| 久久99精品久久久久久| 精品久久久久久久99热| 亚洲女人在线| 久久精品国产免费| 亚洲天堂免费看| 亚洲自拍偷拍网| 免费国产之a视频| 免费精品美女久久久久久久久久| 欧美视频区| 国产精品久久久久久| 91日韩视频| 国产成人艳妇aa视频在线| 天天色综合色| 69精品在线| 欧美日韩中文一区二区三区| 波多野结衣一区二区三区| 亚洲国产毛片| 久久99国产亚洲高清观看首页| 亚洲色图第一页| 亚洲第一视频网| 麻豆久久婷婷国产综合五月| 香蕉乱码成人久久天堂爱免费| 在线久草| 免费高清a级毛片在线播放| 亚洲国产欧美久久香综合| 久久久久久久久毛片精品| 日韩中文字幕网站| 成人伊人亚洲人综合网站222| 欧美专区第一页| 综合色视频| 欧美综合一区二区三区| 国产精品久久久久久久免费大片 | 欧美激情精品久久久久久不卡| 精品免费一区二区三区| 日韩在线不卡视频| 久久国内精品| 久久www免费人成一看片| 国产视频一区二区三区四区| 色婷婷亚洲综合| 精品国产高清毛片| 亚洲视频一区二区三区四区| 91精品国产高清久久久久久91| 中文字幕在线免费播放| 久久久久国产精品免费免费不卡| 免费福利网站在线观看| 精品一区久久| 久久久中文| 国产美女精品三级在线观看| 久久亚洲精选| 天堂在线v| 亚洲综合色婷婷| 国产三级一区二区三区| 国产成人精品高清不卡在线| 蜜桃精品免费久久久久影院| 欧美劲爆第一页| 国产91在线看| 欧美精品亚洲| 91精品国产91久久| 亚色在线视频| 手机看片久久高清国产日韩| 国产精品三级电影在线观看 | 91精品国产品国语在线不卡| 99精品视频在线免费观看| 在线视频三区| 日本一区不卡视频| 精品久久久久久久久久中文字幕 | 日韩一区二区在线视频| 精品看片| 亚洲精品视频在线| 国产成人青草视频| 久久不卡视频| 欧美日本道免费一区二区三区| 综合色中色| sss亚洲国产欧美一区二区| 国产手机精品一区二区| 国产探花在线精品一区二区| 在线播放国产一区| 亚洲成人福利网站| 在线色综合| 欧美日韩免费观看| 日韩一区国产二区欧美三| 伊人天堂网| 国产欧美另类久久精品91| 欧美精品在线一区| 手机看片1024久久精品你懂的 | 亚洲国产成人在线| 国产女人久久精品| 久草精品视频在线观看| 国产成人精品亚洲一区| 香蕉网在线观看| 99精品视频在线观看免费播放| 欧美一区二区三区高清视频| 99re7在线精品免费视频| 一道本在线观看视频| 久久宗合色| 亚洲人成影院在线高清| 亚洲精品福利网站| 狠狠综合久久久综合| 亚洲欧美精选| 99国内精品久久久久久久黑人| 国产真实生活伦对亚洲欧洲毛片| 亚洲狠狠婷婷综合久久久久网站| 国产91在线|亚洲| 国产高清免费不卡观看| 欧美成人中文字幕| 国产精品成人影院| 2021久久精品国产99国产| 狠狠色狠狠色综合伊人| 欧美视频日韩视频| 欧美一区二区在线观看免费网站| 久久婷五月综合| 91精品久久久久久久99蜜桃| 最新九九精品| 亚洲国产精品成人综合久久久 | 99re国产视频| 麻豆国内精品久久久久久| 国产一二三区在线观看| www.91免费视频| 欧美日韩亚洲一区二区三区在线观看| 国产色91| 91精品国产免费久久久久久青草| 国产精品久久久久久影院| 九九99精品| 国产91在线精品| 成人精品第一区二区三区| 在线观看日韩欧美| 国产成人精品亚洲77美色| 99热国产免费| 97自拍视频在线观看| 青草视频免费看| 欧美性猛交99久久久久99| 国产精品免费一区二区三区四区| 国产免费一区二区在线看| 国产高清a| 日韩欧美在| 亚洲最大成人在线| 色综合综合| 91精品最新国内在线播放| 91色综合久久| 国产日韩一区二区三区在线观看| 国产麻豆精品在线| 亚洲福利视频一区| 国产精品久久久久久久久久久威| 亚洲精品少妇30p| 91自产拍在线观看精品| 亚洲日本国产乱码va在线观看| 91精品国产91| 国产正在播放| 国产在线91精品| 九九这里只有精品视频| 国产精品自拍视频| 中文字幕在线亚洲精品| 日本免费一区二区三区视频| 成人精品亚洲| 九九香蕉网| 亚洲依依成人| 午夜在线精品不卡国产| 久久精品午夜视频| 久久91精品国产91久| 国产成人一区二区三区| 视频二区欧美| 中文日本免费高清| 国产欧美另类久久精品91| 久国产精品视频| 国产亚洲精品综合在线网址 | 亚洲欧美高清视频| 亚洲热综合| 日韩欧美中文亚洲高清在线 | 天天躁夜夜躁狠狠躁2021西西| 久久91av| 91精品国产免费入口| 国产成人免费| 伊人免费网| 九九九国产视频| 欧美日韩亚洲国产| 色综合久久一区二区三区| 亚洲国产国产综合一区首页| 午夜免费视频网站| 日韩欧美成末人一区二区三区| 日韩中文字幕在线有码视频网| 久久久久久91| 国产精品毛片在线直播完整版| 国产成人一区二区| 88国产经典欧美一区二区三区| 九九久久国产精品| 午夜精品久视频在线观看| 欧美日本一本线在线观看| 日韩激情无码免费毛片| 91精品久久久久久久99蜜桃| 国产永久在线视频| 亚洲不卡视频在线| 中文字幕1区2区| 青草国产精品久久久久久久久| 亚洲国产清纯| 欧美国产合集在线视频| 国内精品久久久久久久97牛牛 | 国产精品美女在线观看| 国产91色在线|亚洲| 久久综合色综合| 99色在线播放| 日韩久久久精品首页| 日本亚洲欧美美色| 无码av免费一区二区三区试看| 不卡视频一区| 亚洲成a人不卡在线观看| 国产情侣一区| 日韩中文字幕高清在线专区| 国产一区精品在线观看| 91国视频在线观看| 91精品视频在线免费观看| 99精品在免费线视频| 一本综合久久| 亚洲精品视频导航| 黄网在线观看| 久久婷婷久久一区二区三区| 久久乐国产综合亚洲精品| 亚洲欧美在线视频免费| 亚洲专区在线播放| 久久精品国产2020| 99re在线视频观看| 国产69精品久久久久999三级| 国产亚洲视频在线观看| 中文字幕在线观看不卡| 欧美福利影院| 国产精品福利在线播放| 亚洲精品国产成人专区| 久久久久久九九| 久久免视频| 国产欧美日韩在线一区二区不卡 | 精品91一区二区三区| 91视频麻豆视频| 午夜手机视频| 波多野结衣久久精品| 日本亚洲欧洲无免费码在线| 精品一区二区三区免费观看| 国产在线不卡| 亚洲欧美精品一区| 蜜桃成人精品| 六月婷婷在线| 亚洲午夜久久久久久久久电影网| 91精品福利| 精品国产亚洲一区二区三区| 日韩欧美精品在线| 国产在线精品国自产拍影院午夜| 中文字幕在线精品不卡| 99热精品国产三级在线观看| 久久精品黄色| 国产区高清| 久久99国产精品亚洲| 久久久精品2019中文字幕2020 | 日韩欧美在线观看综合网另类| 丁香五月网久久综合| 久久免费视频网| 国产一区二区三区在线免费观看| 国产福利91精品一区二区三区| 国产午夜在线观看| 欧美日本韩国一区| 久久久久国产精品免费免费不卡| 日韩福利一区| 婷婷玖玖| 国产一级爱片在线播放| 国产综合第一页| 亚洲一区二区精品视频| 日本成人不卡视频| 日韩成人一级| 2021国产成人午夜精品| 亚洲人免费视频| 日韩精品免费在线视频| 国产午夜亚洲精品国产| 亚洲国产欧美国产第一区二区三区| 欧美日韩午夜精品不卡综合| 亚洲综合色一区二区三区另类| 免费国产小视频| 日韩激情中文字幕一区二区| 亚洲视频第一页| 99久久精品免费| 狠狠干精品| 在线观看国产视频| 亚洲人av高清无码| 久久夜色精品国产| 精品国产福利在线观看91啪 | 高清性色生活片久久久| 亚洲性视频网站| 国产精品人人爱一区二区白浆| 91国视频在线观看| 久久精品亚洲视频| 国产精品永久免费| 精品视频一区二区三区在线观看| 色www永久免费网站国产| 伊人久久大香线蕉综合影| 国产成人手机在线| 亚洲午夜在线播放| 精品久久一区| 久久综合一区二区三区| 日韩免费一区二区三区| 亚洲国产另类精品| 综合国产在线| 亚洲人成电影院色| 日韩av片免费播放| 在线观看a国v| 九九色播| 99国产精品一区二区| 久久大胆视频| 九九热九九热| 国产精品一区二区久久不卡 | 久久99草| 国产精品99久久久久久董美香| 色老头久久久久久久久久| 国产91av在线| 国产精品国产三级国产an| 伊人免费在线观看| 狠狠躁夜夜躁人人爽天天天天| 国产欧美色图| 中文字幕精品乱码亚洲一区| 久久久久国产成人精品亚洲午夜| 久久国产区| 激情综合五月亚洲婷婷| 亚洲欧美成人在线| 久久精品这里热有精品| 欧美99热| 91麻豆精品在线观看| 亚洲一区欧美| 欧美精品亚洲网站| 国产福利精品在线| 亚洲欧美日韩综合网导航| 亚洲国产高清视频| 国产亚洲精品片a77777| 日本久久中文字幕| 国产日韩欧美自拍| 久久精品2| 国产97色在线|日韩| 国产在线精品成人一区二区三区| 国内精品久久久久久99蜜桃| 色婷婷视频在线观看| 亚洲欧美一区二区三区国产精品| 国产靠逼视频| 在线播放亚洲视频| 色婷婷视频| 欧美国产在线观看| 中文字幕热久久久久久久| 久久免费99精品久久久久久| 国产免费亚洲| 久久久久综合给合狠狠狠| 青草国产视频| 国产欧美亚洲精品第一页久久肉| 国产在线欧美日韩一区二区| 尤物免费视频| 国产小视频在线免费观看| 国产午夜亚洲精品不卡福利| 亚洲国产日韩欧美| 亚洲午夜综合网| 亚洲欧美国产日产综合不卡| 色婷婷久久综合中文久久一本`| 亚洲欧洲日产v特级毛片| 91av视频在线播放| 久久国产亚洲精品| 久久观看午夜精品| 国产精品久久久久激情影院| 在线综合亚洲欧美网站天堂| 国产最新网站| 国外欧美一区另类中文字幕| 精品无码一区在线观看| 91在线精品亚洲一区二区| 99国产精品| 国产一区二区三区影院| 久青草国产手机在线观| 亚洲九九色| 九九热这里只有国产精品| 日本www在线| 亚洲欧美日韩专区一| 国产日韩一区二区| 精品国产一区二区三区久久久狼| 日韩一区二区三区在线播放| 国产伦子系列麻豆精品| 日韩欧美视频一区| 亚洲图色在线| 国产午夜偷精品偷伦| 国产在线91精品入口首页| 国产一区二区在线不卡| 欧美日韩国产高清视频| 亚洲精品自产拍在线观看| 天天精品视频| 久久精品国产亚洲| 久热亚洲| 在线精品亚洲| 精品视频一区二区三区在线观看| 91在线播放免费不卡无毒| 亚洲欧美日韩天堂| 91九色国产| 欧美精品亚洲二区| 国产制服丝袜在线| 亚洲欧美一区二区三区| 亚洲日本韩国在线| 91av视频免费在线观看| 亚洲三区视频| 亚洲精品福利网站| 久久久一级| 日本免费久久| 99福利在线| 亚洲人精品| 亚洲视频成人| 国产成人精品综合| 国产成人久久精品激情| 国产在线精品一区二区中文| 色婷亚洲| 91久久香蕉国产线看观看软件 | 久久无码精品一区二区三区| 韩国亚洲伊人久久综合影院| 怡红院亚洲怡红院首页| 黑人一区二区三区中文字幕| 久久久久久一级毛片免费无遮挡| 日韩在线观看精品| 制服丝袜在线不卡| 99精品欧美| 男人天堂影院| 日韩中文字幕在线观看视频| 亚洲国产成人精品91久久久| 欧美精品第三页| 青青草成人在线观看| 国产午夜精品理论片小yo奈| 久久99国产乱子伦精品免| 色综合狠狠| 国产欧美日韩精品综合| 国产一区亚洲一区| 国产成人精品影视| 亚洲综合色丁香麻豆| 五月婷婷激情五月| a丫久久久久久一级毛片| 国产欧美精品一区二区色综合| 亚洲一区二区三区夜色| 99re在线观看| 欧美在线视频一区在线观看| 国产曰批免费视频播放免费s| 欧美精品福利| 九九在线精品| 日韩精品中文字幕视频一区| se成人国产精品| 天天插夜夜操| 国产一区二区视频在线| 日韩欧美不卡一区二区三区| 久久精品中文字幕不卡一二区| 色丁香在线观看| 亚洲国产日韩综合久久精品 | 久久福利影视| 香蕉久久国产精品免| 国产午夜精品片一区二区三区| 在线精品免费视频| 国产免费一区二区三区免费视频| 国产三级精品91三级在专区| 久久精品免费观看视频| 91精品久久久久久久久久| 国产成人一区二区三区精品久久 | 久久调教视频| 在线免费色| 国产精品天天看| 久久精品久久精品国产大片| 国产亚洲午夜精品| 亚洲欧美日韩在线不卡| 久久精品国产只有精品66| 国产精品色| 伊人色在线| 国产午夜在线观看| 九九久久99综合一区二区| 欧美日韩成人高清色视频| 亚洲精品人成网在线播放影院| 9久久这里只有精品国产| 亚洲欧洲一区二区三区| 亚洲一区二区三区一品精 | 国产中文久久精品| 在线观看国产一区亚洲bd| 久久91精品久久91综合| 亚洲精品自在在线观看| 久久精品久久精品久久精品| 久操精品视频| 亚洲欧美日韩另类在线专区| 伊人网国产| 福利视频不卡| 色香蕉视频| 国产激情一级毛片久久久| 日韩精品久久久毛片一区二区| 97精品国产高清自在线看超| 国产专区在线视频| 日韩精品久久久久久| 久久99精品久久只有精品| 国产精品永久免费| 99精品视频免费| 最新精品在线| 亚洲另类天堂| 久久精品视频8| 日本三区精品三级在线电影 | 亚洲人成亚洲人成在线观看| 成人乱码一区二区三区| 亚洲精品www| 国产情侣久久| 久久99国产精品成人| 亚洲专区在线| 视频一区二区三区在线| 日韩经典一区| 天堂亚洲国产日韩在线看| 欧美成人午夜不卡在线视频| 久久成年人电影| 久久精品这里| 欧美在线成人怡红院| 国产在线91精品天天更新| 永久黄网站色视频免费无限看直播| 欧美精品v国产精品v| 亚洲一级片免费看| 日韩国产中文字幕| 国产精品成人69xxx免费视频| 日韩区欧美区| 欧美亚洲福利| 欧洲一区| 亚洲国产精品线在线观看| 久久亚洲精品中文字幕| 国产午夜亚洲精品不卡| 国产成人精品999在线观看| 久久久久四虎国产精品| 国产网站精品| 亚洲欧美综合精品成| 日韩欧美无线在码| 欧美黑人一区| 国产九九精品| 国产福利不卡| 久久香蕉国产视频| 97夜夜澡人人波多野结衣| 亚洲免费久久| 日本不卡一区二区三区最新| 国产精品vs欧美精品| 亚洲欧美日韩国产专区一区| 91三级视频在线观看| 97综合久久| 日本精品久久| 国产丝袜在线视频| 国产成人一区二区三区视频免费| 狠狠色婷婷| 国产精品久久久亚洲第一牛牛| 九九久久久| 亚洲系列在线| 精品久久久久久久一区二区手机版| 精品国产一区二区三区久久影院| 亚洲五月婷婷| www.日本一区二区| 亚洲欧美日韩伦中文| 久久91精品久久久久久水蜜桃| 亚洲综合在线观看一区www| 中文字幕在线不卡视频| 国产亚洲精品拍拍拍拍拍| 日韩欧美视频二区| 国产精品每日更新| 国产青草亚洲香蕉精品久久| 日韩乱码中文字幕视频| 香蕉尹人综合精品| 久久亚洲国产| 午夜在线视频一区二区三区| 五月婷婷中文| 国产一区二区三区免费观看| 久久综合色区| 亚洲欧美日韩中文在线| 日韩丶欧美丶国产高清不卡视频| 无码精品一区二区三区免费视频| 久久最近最新中文字幕大全| 精品精品国产高清a级毛片| 日韩精品电影一区亚洲高清| 欧美精品在线免费观看| 亚洲丁香婷婷综合久久六月| 成人久久久观看免费毛片| 伊人成人在线观看| a毛片免费全部播放完整成| 久久96精品国产| 日韩欧美国产一区二区三区| 久久免费精品视频| 一区二区国产在线观看| 久久精品18| 亚洲精品成人久久久影院| 日韩精品免费视频| 亚洲国产高清人在线| 久久精品视频91| 在线国产区| 9999热视频| 在线天堂中文字幕| 91国内精品| 91在线视频福利| 亚洲影视一区二区| 伊人网在线视频观看| 伊人久综合| 伊人久久综合成人亚洲| 国产精品久久vr专区| 国产人成精品香港三级在| 国产一区二区三区精品久久呦| 五月激情综合婷婷| 99久久精品免费看国产免费| 久久婷婷久久一区二区三区| 日本免费一区二区三区中文字幕| 婷婷色一二三区波多野衣| 欧美日韩另类在线| 国产乱码一区二区三区| 国产91av视频| 99精品在线免费| 欧美一级片免费在线观看| 国产调教视频| 99热一区| 亚洲三级电影在线观看| 五月综合久久| 麻豆成人免费视频| 亚色在线视频| 国产精品成人va在线观看| 久久国产精品999| 国产亚洲天堂| 五月天综合网站| 欧美一区二区三区网站| 国产精品国产欧美综合一区| ppypp日本欧美一区二区| 亚洲一级成人| 精品日本久久久久久久久久| 91精品国产一区二区三区左线| 国产视频黄| 国产午夜精品理论片小yo奈| 国产主播福利一区二区| 国产一区二区视频在线播放| 亚洲欧美日韩另类在线专区| 激情欧美一区二区三区中文字幕| 亚洲国产精品久久久久婷婷老年| 国产精品99久久久久久宅男 | 国产成人精品在线观看| 日韩精品永久免费播放平台 | 中文字幕视频一区二区| 国产精品中文字幕在线| 国产一成人精品福利网站| 欧美精品99| 亚洲综合视频网| 青青热久久综合网伊人| 日韩久久免费视频| 99国产精品视频久久久久| 国产午夜精品不卡视频| 最新国产福利在线看精品| 精品日韩二区三区精品视频| 综合精品视频| 久久se精品动漫一区二区三区| 99国产精品农村一级毛片| 久久不卡免费视频| 亚洲欧美一区二区三区导航| 亚洲线精品一区二区三区| 欧美中文综合在线视频| 精品日本一区二区| 亚洲人成一区二区不卡| 色综合欧美| 国产福利麻豆精品一区| 亚洲天堂第一页| 99热在线只有精品| 国产在线一区二区| 国产二区视频在线观看| 亚洲成人免费在线| 91精品国产91久久综合| 久久久国产99久久国产久| 亚洲欧美一区二区三区二厂| 日韩国产一区二区| 久久成人综合网| 九九免费在线视频 | 伊人网免费视频| 久久美女精品| 不卡国产00高中生在线视频| 丝袜美腿一区二区三区| 国产成人精品高清免费| 一区二区三区在线|欧| 国产欧美日韩精品一区二| 午夜视频网站在线观看| 国产91精品久久久久久久| 亚洲欧美一区二区三区二厂| 日本久久久久久久久久| 一区二区三区四区免费视频| 精品福利视频一区二区三区| 欧美精品九九99久久在免费线| 99久久精品国产高清一区二区| 欧美视频三区| 国产精品久久久久乳精品爆| 欧美激情一区二区三区视频| 鲁丝片一区二区三区| 久久国产亚洲高清观看5388| 亚洲第一欧美| 国产激情视频在线观看| 久久影视精品| 久久伊人草| 97久久天天综合色天天综合色| 亚洲天堂在线视频| 精品欧美一区二区三区免费观看 | 精品国产免费人成高清| 国产精品久久久久久夜夜夜夜| 国产亚洲日韩在线三区| 亚洲精品在线网| 日本在线免费观看| 国产成人亚洲合集青青草原精品| 亚洲国产成人麻豆精品| 久久久精品视频| 亚洲图片欧美日韩| 99精品中文字幕| 国产精品国产自线在线观看| 欧洲一区二区三区在线观看 | 久久成人福利视频| 日韩专区欧美| 九九99久久| 99精品在线视频观看| 国产区香蕉精品系列在线观看不卡| 国内精品久久久久影| 99久久久精品免费观看国产| 国产欧美亚洲精品第3页在线| 精品一级毛片| 欧美日韩高清在线观看一区二区| 亚洲一区二区在线播放| 日本中文字幕一区二区有码在线| 成人精品一区二区三区中文字幕| 欧美一区二区三区综合色视频| 国产精品久久久久国产精品| 亚洲国产精品一区二区久久| 2021亚洲欧洲天堂综合区| 色综合色狠狠天天久久婷婷基地| 国产精品久久毛片完整版| 激情婷婷综合| 丝袜诱惑一区| 91精品免费看| 国产在线一区观看| 亚洲视频第一页| 精品视频在线免费播放| 99久久免费精品国产免费高清| 精品欧美一区二区在线观看欧美熟| 亚洲欧洲第一页| 欧美区在线观看| 日韩精品在线看| 国内精品国语自产拍在线观看91| 国产精品一区不卡| 久久精品一区二区免费看| 九九热免费观看| 久久久久久久久亚洲| 五月婷婷网站| 国产免费久久精品久久久| 99久久免费国产精品| 一本色道久久综合网| 国产精品天天在线| 国产精品嫩草免费视频| 国产精品久久久久久久伊一| 一区二区三区四区亚洲| 亚洲日本中文字幕区| 欧美在线专区| 91精品一区二区| 欧美午夜在线视频| a级毛片在线免费看| 国产伦精一区二区三区| 亚洲免费三级| 亚洲精品中文字幕不卡在线 | 久久亚洲电影| 一区二区三区亚洲区| 国产专区一区| 久久精品动漫| 欧美色精品天天在线观看视频| 亚洲狠狠婷婷综合久久久久| 99久久久精品| 日韩久久综合| 影音先锋国产在线| 精品国产免费观看一区高清| 九九精品免费| 久久国内精品自在自线400部o| 中文字幕欧美日韩| 亚洲国产第一区二区香蕉日日| 欧美精品导航| 亚洲福利午夜| 国产成人综合95精品视频免费| 欧美国产日本| 国产日韩精品一区二区在线观看播放| 日韩欧美在线精品| 欧美日韩视频一区三区二区| 五月婷婷六月爱| 视频一区免费| 国产成人毛片亚洲精品不卡| 亚洲经典在线| 99久久精品免费| 亚洲欧美日韩综合一区久久| 91av在线电影| 亚洲另类天堂| 国产激情一区二区三区在线观看| 国产视频二区| 国产综合视频在线观看| 日本美女一区二区三区| 日韩中文字幕一区二区不卡| 欧美日韩国产在线观看| 亚洲精品欧美精品中文字幕| 日韩精品视频免费在线观看| 国产一区二区在线播放| 日韩午夜伦| 亚洲欧美日韩高清一区二区一| 日本高清在线一区| 国产青青在线| 精品国产福利在线观看一区| 久久性精品| 欧美精品第一区| 伊人久久国产| 福利在线不卡| 青青青在线视频国产| 日韩一区二区三区免费| 99视频在线精品| 欧美日韩中文字幕在线| 99久久精品国产国产毛片| 国产精品久久久久久久久久久威| 无毒不卡在线播放| 欧美日韩精品高清一区二区 | 伊人国产视频| 日韩国产免费| 国模极品一区二区三区| 亚洲日本在线播放| 国产99欧美精品久久精品久久| 99久久免费午夜国产精品| 韩国美女福利专区一区二区| 久久国产亚洲高清观看5388| 日韩一区二区三区免费| 亚洲一区二区三区麻豆| 欧美日韩国产综合一区二区三区 | 亚洲欧美日韩国产专区一区| 日韩精品久久久免费观看夜色| 国产福利一区二区| 青青草视频免费在线| 伊人手机在线观看| 日韩精品免费一线在线观看| 国产人成久久久精品| 国产vr一区二区在线观看| 91精品国产综合久久| 色综久久| 色www永久免费网站| 久久精品视频8| 国产区在线观看| 国产一区高清视频| 亚洲欧美一区二区三区在线观看| 亚洲综合色色图| 91中文字幕在线一区| 精品久久久久久中文字幕专区 | 久久综合久久精品| 久久久久国产一级毛片高清板| 91免费在线视频| 久久国产精品网| 怡红院毛片| 91av在线电影| 蜜桃精品视频| 亚洲永久免费| 99久久综合狠狠综合久久aⅴ| 国内在线精品| 亚洲视频天天射| 男人天堂网在线播放| 九月激情网| 久久的精品99精品66| 制服丝袜一区二区三区| 亚洲国产精品综合久久| 久久国产精品视频一区| 99热在线免费播放| 亚洲综合婷婷| 四虎国产精品影库永久免费| 88国产精品视频一区二区三区| 精品国产成人a在线观看| 男人天堂综合| 在线观看精品视频看看播放| 欧美大片一区二区| 依人九九| 一区二区福利| 伊人网站在线| 欧美高清在线精品一区二区不卡| 国产精品13页| 欧美日韩精品在线播放| 国产欧美日韩综合精品二区| 亚洲综合网在线观看首页| 九九色视频在线观看| 亚洲精品自在线拍| 色婷婷精品大视频在线蜜桃视频| 精品久久久久亚洲| 99久久香蕉国产综合影院| 在线观看一区二区精品视频| 国产性大片免费播放网站| 亚洲欧美丝袜制服| 亚洲人成伊人成综合网久久| 国产亚洲精品国产第一| 国产精品久久二区三区色裕| 九九久久99综合一区二区| 国产人久久人人人人爽| 欧美啪啪网站| 亚洲天堂网在线视频| 亚洲成人黄色在线| 亚洲一区免费看| 九九热精品视频在线播放 | 久久se精品动漫一区二区三区| 精品国产97在线观看| 成人欧美日韩高清不卡| 99re视频在线观看| 在线观看a国v| 91av在线导航| 国产精品人人爱一区二区白浆| 国产成人精品亚洲77美色| 亚洲自拍中文| 亚洲免费人成| 一区二区三区免费视频www| 精品国产一级在线观看| 在线观看欧美精品| 国产成人乱码一区二区三区| 久久99精品久久久久久青青91| 国产一区亚洲| 国产成人综合怡春院精品| 国产vvv在线观看| 亚洲综合第一页| 国产精品系列在线| 欧美αv天堂在线视频| 午夜激情福利在线| 日韩中文字幕网站| 国产香蕉成人综合精品视频 | 制服丝袜第二页| 亚洲第一天堂网| 九九热欧美| 日韩国产午夜一区二区三区| 自拍视频一区二区| 久久精品国产精品亚洲| 亚洲国产日韩在线人高清磁力| 99ri视频| 综合色99| 亚洲欧美日韩国产综合高清| 国产精品美女久久久久网站| 欧美日韩一区二区在线观看| 精品国产毛片| 手机亚洲第一页| 亚洲人免费视频| 国产人成精品综合欧美成人| 亚洲一区国产| 91国在线高清视频| 国产伦精品一区二区三区四区| 国产91小视频| 久久永久视频| 九九九热精品| 伊人网视频在线观看| 亚洲另类色图| 亚洲人成网国产最新在线| 91精品在线视频观看| 中文一区二区视频| 亚洲福利专区| 亚洲精品h| 精品视频免费观看| 亚洲伊人成综合人影院小说 | 成人在线一区二区三区| 亚洲免费在线观看| 国内精品91最新在线观看| 国产精品亚洲w码日韩中文| 亚洲一区二区三区免费视频| 成人欧美一区二区三区在线| 久久免费精品国产72精品剧情| 999国产视频| 亚洲一区二区在线免费观看| 亚洲日本欧美综合在线一| 91免费视频观看| 国产亚洲精品成人a在线| 免费看片亚洲| 亚洲国产精品婷婷久久| 日韩久久综合| 99久久精品国产亚洲| 91视频免费观看| 亚洲欧洲第一页| 国产成人精品一区二区仙踪林| 久久99国产综合色| 亚洲欧美日韩色| 九九热在线免费视频| 亚洲精品天堂| 精品中文字幕一区二区三区四区| 亚洲精品国产福利在线观看| 久久一区二区精品| 九九精品成人免费国产片| 国产精品国产三级国产an| 国产高清免费午夜在线视频| 亚洲三级在线免费观看| 国产福利在线视频| 国产vvv在线观看| 麻豆va在线精品免费播放| 中文无码久久精品| 亚洲欧美日韩高清| 中文字幕在线精品不卡| 午夜成人免费视频| 91精品在线免费视频| 亚洲欧洲综合网| 久久国内免费视频| 国产人在线成免费视频麻豆| 麻豆精品久久精品色综合| 国产精品国产精品国产专区不卡 | 欧美日韩在线亚洲国产人| 国产自产在线| 国产永久在线视频| 免费无遮h在线网站大全| 91麻豆精品国产| 亚洲欧美自拍一区| 午夜精品久久久久| 亚洲福利精品电影在线观看| 欧美福利影院| 亚洲成人中文| 久久久久亚洲| 日韩一区二区三区在线| 日韩在线视频不卡| 欧洲乱码伦视频免费| 国产高清精品一区| 91色老久久精品偷偷蜜臀| 国产欧美日韩在线一区二区不卡 | 久青草国产手机视频免费观看| 亚洲精品免费在线| 99久久免费国产精品热| j8又粗又硬又大又爽视频| 久久女人天堂| 免费在线观看国产| 四虎影院一区二区| 狠狠五月深爱婷婷网免费| 国产香蕉在线观看| 久久精品国产免费观看99| 国产精品久久久久秋霞影视| 久久久久久久免费| 国产乱对白刺激视频在线观看| 国内精品伊人久久久久| 亚洲va中文va欧美va爽爽| 欧美亚洲国产片在线观看| 自拍一区在线观看| 国产在线精品一区二区三区| 亚欧成人一区二区| 国内精品91久久久久| 亚洲人成综合在线播放| 伊人网国产| 精品久| 亚洲视频一二| 日韩中文字幕第一页| 久久久久中文| 日韩aⅴ在线观看| 亚洲综合中文| 99久久精品免费| 国产人成久久久精品| 在线国产一区二区三区| 国产精品视频久久久久久| 国产欧美综合在线观看第七页| 天天色视频| 久久综久久美利坚合众国| 日韩国产中文字幕| 国产成人精品免费午夜app| 国产精品主播视频| 在线视频亚洲色图| 久久精品中文字幕一区| 久久亚洲精品成人| 亚洲精品色| 激情欧美一区二区三区| 久久久免费观看视频| 狠狠久久久久久亚洲综合网| 欧美a在线播放| 丝袜美腿一区二区| 国产精品第一页在线观看| 2022国产成人精品视频人| 欧美日韩中文字幕一区二区高清| 国产精品久久自在自2021| 亚洲国产欧美久久香综合| 亚洲视频在线观看一区| 99久久国产综合精品2020 | 久久亚洲国产高清| 亚洲精品成人在线| 视频二区在线| 亚洲精品中文字幕乱码三区一二| 91在线中文字幕| 日韩三级一区二区三区| 国产丝袜一区二区三区在线观看| 福利片一区| 久久亚洲精品人成综合网| 国产成人精品一区二区三区| 欧美福利在线| 亚洲视频免费在线观看| 欧美一区二区三区免费| 性欧美长视频免费观看不卡| 亚洲视频中文| 91在线网站| 国产精品美乳在线观看| 国产一区二区三区在线观看精品| 久久99网| 欧美一区二区免费| 久久精品动漫99精品动漫| 国产精品视频分类| 国产玖玖在线| 亚洲人成s大片在线播放| 久久99免费| 午夜啪啪福利视频| 成人区精品一区二区毛片不卡| 狠狠色丁香婷婷综合久久来| 亚洲国产第一区| 国产精品人伦久久| 国产精品高清在线观看地址| 色婷婷在线视频| 在线免费视频一区二区| 久久久综合视频| 国产伦精品一区二区三区免费下载 | 91精品国产91| 国产高清在线精品二区app| 亚洲大胆精品337p色| 国产三级精品91三级在专区| 国产精品老女人视频免费观看| 在线欧美日韩精品一区二区| 婷婷六月激情在线综合激情| 成人久久18免费网| 欧美精品国产日韩综合在线| 欧美精品一区二区三区在线| 国产欧美综合在线| 精品无码中出一区二区| 国产一区二区三区免费在线视频 | 国产福利不卡视频| 久久伊人亚洲| 午夜免费小视频| 国产欧美亚洲精品第二区首页 | 中文精品久久久久国产网址| 日韩在线第一区| 999精品国产| 91九色在线播放| 亚洲精品在线不卡| 欧美色就是色| 在线精品视频免费观看| 久久综合一区二区三区| 精品国产成人系列| 尤物福利在线| 久久一区二区三区不卡| 999精品国产| 中文字幕一区精品欧美| 中文字幕在线导航| 免费jjzz在线播放国产| 麻豆国产高清精品国在线| 国产资源精品一区二区免费| 最新国产视频| 99久久精品国产一区二区成人| 国产亚洲精品网站| 亚洲国产成人久久99精品| 二区在线观看| 国产午夜亚洲精品不卡电影| 国产精品久久久福利| 欧美视频日韩专区午夜| 久久精品人人做人人试看| 99色视频在线观看| 日本不卡一区二区三区最新| 欧美国产日韩在线观看| 久久se精品一区二区国产| 亚洲欧美日韩精品一区| 尹人久久久香蕉精品| 国产日韩视频一区| 91精品91久久久久久| 国产在线永久视频| 欧美精品在欧美一区二区| 亚洲精品美女久久久aaa| 亚洲一区欧美一区| 欧美精品黄页在线观看视频| 91极品蜜桃臀在线播放| 国产综合一区| 丁香伊人网| 欧美精品伊人久久| 国产精品亚洲一区在线播放| 国产精品香蕉在线一区二区| 高清一区二区三区视频| 国产欧美精品一区aⅴ影院| 亚洲a视频在线| 国产精品成人va在线观看 | 日韩欧美在线观看| 无码中文字幕av免费放| 亚洲精品色图| 亚洲第一视频网| 一区免费视频| 国产精品系列在线观看| 一本色道久久综合| 亚洲欧美网站| 国产精品九九视频| 精品国产三级a∨在线观看| 久久精品99毛片免费| 91色国产| 动漫精品欧美一区二区三区| 精品入口蜜桃| 国产在线观看一区| 久久国产精品久久久久久久久久 | 日韩亚州| 99视频国产在线| 日本欧美久久久久免费播放网| 午夜在线视频观看| 精品欧美一区二区三区在线 | 久久国产欧美日韩精品免费| 思思99思思久久精品| 国产美女在线播放| 国产精品视频网| 国内精品自产拍在线观看91| 99免费视频观看| 免费二级毛片免费完整视频| 国产日韩在线观看视频| 伊人中文字幕在线观看| 亚洲一区二区三区在线播放| 欧美日韩在线一区二区三区| 久久亚洲精品国产亚洲老地址| 97视频免费看| 制服美女视频一区| 亚洲国产高清一区二区三区| 亚洲欧美在线观看首页| 亚洲丝袜在线观看| 国产成人91激情在线播放| 久久香蕉国产线看观看网站| 日韩国产成人资源精品视频| 日韩毛片在线播放| 欧美乱码视频| 成人在线不卡| 欧美日本道免费一区二区三区| 国产一区日韩二区欧美三区| 亚洲综合a| 亚洲天堂一区二区三区| 国产黄色在线播放| 精品久久成人免费第三区| 欧美精品区| 国产欧美久久精品| 亚洲影视一区二区| 国产中文在线| 在线欧美一区| 亚洲伊人99综合网| 亚洲综合在线观看一区www| 久久久久久久久影院| 久热国产在线视频| 国产欧美在线播放| 最新国产成人综合在线观看| 久久精品欧美一区二区| 99视频在线观看视频一区| 亚洲码在线| 91伊人久久| 婷婷综合激情| 蜜桃久久久久久久久久| 国产视频精品久久| 伊人久久成人爱综合网| 日本高清久久| 国产精品久久久久久福利| 久久亚洲国产| 亚洲欧美日韩激情在线观看 | 日韩欧美天堂| 国产精品一区二区久久精品涩爱| 在线电影一区二区| 中文字幕亚洲精品日韩精品| 久久精品一区二区| 中文字幕亚洲色图| 日韩欧美在线观看一区| 久久国产精品免费看| 99久久99这里只有免费的精品| 欧美一级久久久久久久大| 麻豆国产高清精品国在线| 日本亚洲综合| 在线一区二区观看| 国产精品高清全国免费观看| 天天伊人网| 久久青青国产| 亚欧成人在线| 久久久国产精品免费看| 日韩国产在线观看| 国产精品区一区二区三| 亚洲三级在线看| 国产欧美一区二区精品性色99| 亚洲综合色自拍一区| 久久久毛片免费全部播放| 色婷婷91| 国产精品视频免费| 国产在线伊人| 亚洲国产精品久久久久久网站| 99精品视频只99有精品| 国产叼嘿久久精品久久| 在线精品亚洲| 精品国产一区在线观看| 欧美精品午夜久久久伊人| 欧美在线va在线播放| 国产高清免费在线| 久久激情网| 亚洲欧美日韩另类| 精品全国在线一区二区| 日韩欧美国产三级| 午夜精品久久久久久99热7777| 日韩在线视频不卡| 欧美va亚洲va国产综合| 亚洲婷婷六月| 欧美中文一区| 国产综合久久久久| 久久精品国产一区二区三区不卡| 视频一区国产精品| 国产福利电影在线观看| 国产亚洲精品国看不卡| 九九99九九在线精品视频| 国产每日更新| 久久精品伊人网| 99久久精品免费看国产一区二区| 国产欧美在线不卡| 亚洲精品欧美精品中文字幕| 日本一区二区三区在线观看| 99久久精品久久久| 久久美女免费视频| 欧美日韩国产人成在线观看| 亚洲综合在线观看一区| 亚洲网站在线| 国产综合色在线视频区色吧图片| 国产精品综合网| 999精品视频在线| 日本免费专区| 国产精品探花一区在线观看| 亚洲一区二区免费视频| 亚洲欧美中文日韩欧美| 国产一在线| 久久这里只有精品国产| 亚洲国产电影在线观看| 久久午夜视频| 亚洲一区二区三区麻豆| 成人亚洲欧美在线电影www色| 精品欧美一区二区三区| 欧美日韩中文字幕在线视频| 尤物免费网站| 国产综合色在线视频| 99久久精品费精品国产| 99在线观看视频免费| 免费国产小视频| 在线观看欧美精品| 亚洲美女视频一区二区三区| 99国产情在线视频| 韩国美女一区二区| 精品国产免费观看一区高清| 亚洲精品女同中文字幕在线| 久久国产精品1区2区3区网页| 国产视频第二页| 国内精品伊人久久久影视| 成人精品国产| 国产99网站| 久久美女免费视频| 在线免费观看国产精品| 久久精品国产第一区二区| 国产乱码精品一区二区三区四川人| 午夜精品国产| 亚洲成在线| 日本在线视频不卡| 国产网址在线观看| 欧美日韩亚洲精品国产色| 香蕉色综合| 亚洲综合中文网| 欧美成人精品第一区二区三区| 91免费在线视频观看| 亚洲欧美日韩综合二区三区| 91av中文字幕| 欧美在线成人怡红院| 另类专区另类专区亚洲| 国产伦精品一区二区三区| 久久综合视频网站| 日韩欧美亚洲国产| 在线播放免费人成毛片乱码| 97se亚洲国产综合自在线| 亚洲视频免费在线看| 亚洲区一区| 欧美亚洲国产精品久久久久| 国内精品91最新在线观看| 亚洲国产午夜电影在线入口| 久久成人影视| 精品精品国产高清a毛片牛牛| 国产精品视频网址| 91欧美在线| 国产午夜在线观看| 国产精品久久久亚洲| 亚洲欧美综合一区| 免费高清a级毛片在线播放| 国产美女91视频| 久久www免费人成_看片高清| 久草最新| 成人精品久久| 国产一区二区在线播放| 国产制服国产制服一区二区| 亚洲天堂小视频| 国产午夜精品一区二区不卡| 亚洲成人手机在线| 91精品国产欧美一区二区| 国产精品国产亚洲精品看不卡| 国产精品99久久久久久宅男 | 亚洲精品美女久久久久99| 日本欧美一区二区三区不卡视频| 中文字幕成人在线观看| 国产精品伊人| 欧美久久一区二区三区| 国产va免费精品高清在线观看| 国产片一区二区三区| 69国产成人综合久久精品91| 尤物免费网站| 99久久国产综合精麻豆| 婷婷在线网站| 午夜伊人网| 久久久这里只有精品免费| 国产精品久久久亚洲第一牛牛| 亚洲视频1区| 亚洲日韩中文字幕| 国产精品第二页| 精品日韩一区二区| 国产精品一区二区不卡| 99久久婷婷国产综合精品hsex | 国产精品成人久久久久久久| 色欧美亚洲| 99re九精品视频在线视频| 亚洲欧美日韩在线播放| 日本欧美一区二区| 精品中文字幕一区在线| 国产99区| 欧美曰批人成在线观看| 久久天天综合| 在线亚洲不卡| 在线视频三区| 久草性视频| 欧美另类日韩中文色综合| 欧美一区二区三区久久综| 欧美三级精品| 国产精品久久久久999| 九月丁香婷婷亚洲综合色| 久久综合性| 欧美日韩精品一区二区免费看| 国内精品在线观看视频| 亚洲精品综合网| 精品在线网站| 日本在线看小视频网址| 亚洲欧美在线视频免费| 国产精品视频999| 91播放在线| 国产午夜精品久久久久| 欧美特黄视频在线观看| 欧美精品国产第一区二区| 国产一级在线免费观看| 91久久国产精品| 国产成人亚洲综合a∨婷婷| 综合婷婷| 欧美精品高清| 色综合久久网| 97成人精品| 国产在线拍揄自揄视频不卡99| 国产精品99一区二区三区| 91av免费观看| 成人午夜久久精品| 久久婷婷色| 国内久久精品视频| 中文日韩亚洲欧美制服| 久青草资源福利视频| 免费一区二区三区在线视频| 国产欧美一区二区精品性色99| 亚洲一区二区三区麻豆| 亚洲成人综合在线| 国产精品自产拍在线观看| 国产日本欧美在线观看| 免费在线观看一区| 久久99精品久久久久久h| 国产精品三级a三级三级午夜| 久久精品国产一区| 欧美一区二区三区性| 久久综合桃花网| 日本一二区视频| 久久精品视频久久| 亚洲欧美婷婷| 日韩精品一区二三区中文| 日韩午夜在线观看| 日韩精品亚洲一级在线观看| 久久五月网| 色综合久久久久| 久久久久亚洲| 国产69精品久久| 亚洲精品第一综合99久久| 亚洲国产情侣| 免费不卡中文字幕在线| 午夜精品久久久久久99热7777| 亚洲成人中文| 亚洲视频中文字幕| 国产在线精品99一卡2卡| 日本在线免费观看| 青草国产| 九九热综合| 久热这里都是精品| 日韩欧美精品中文字幕| 亚洲国产日韩精品| 国内精品中文字幕| 99久免费精品视频在线观看2| 中日韩欧美在线观看| 欧美日韩国产成人综合在线影院| 欧美日韩高清在线观看一区二区 | 日韩视频中文字幕专区| 99re这里只有精品在线观看| 91久久国产口精品久久久久| 日本精品1在线区| 婷婷国产天堂久久综合五月| 亚洲精品欧美精品中文字幕| 福利国产在线| 久久免费福利视频| 在线日韩麻豆一区| 精品免费久久| 99久久久精品| 国产精品麻豆视频| 欧洲国产成人精品91铁牛tv| 99精品在线视频观看| 久久精品国产午夜伦班片| 国产成人综合在线视频| 波多结衣一区二区三区| 亚洲欧美成人一区二区在线电影| 久久综合亚洲| 99久久综合狠狠综合久久一区| 色一区二区| 91免费观看视频| 99精品国产福利免费一区二区| 精品一区二区国语对白| 久久98精品久久久久久婷婷| 国内精品91久久久久| 99国内精品久久久久久久黑人| 久久人人爽爽爽人久久久| 毛片网在线观看| 亚洲国产欧美国产第一区二区三区 | 日本一区二区三区免费在线观看 | 精品国产成人系列| 欧美亚洲国产一区二区三区| 亚洲欧美综合在线观看| 九月婷婷综合| 国产成人精品自拍| 国产精品久久久久9999高清| 国产精品欧美日韩| 国产精品日日爱| 免费a级毛片无码| 亚洲日本欧美中文幕|