日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Antlr4入门(六)实战之JSON

發布時間:2023/12/29 javascript 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Antlr4入门(六)实战之JSON 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本章中,我們將學習編寫JSON語法文件,即如何通過閱讀參考手冊、樣例代碼和已有的非ANTLR語法來構造完整的語法。接著我們將使用監聽器或訪問器來將JSON格式轉成XML。

注:JSON是一種存儲鍵值對的數據結構,由于值本身也可以作為鍵值對的容器,所以JSON中可以包含嵌套結構。

一、自頂向下的設計——編寫JSON語法

在本章中,我們的目標是通過閱讀JSON參考手冊、查看它的語法描述圖和現有的語法來構造一個能夠解析JSON的ANTLR語法。下面,我們將從JSON參考手冊中提取關鍵詞匯,然后一步步將它們編寫成ANTLR規則。

一個JSON文件可以是一個對象,或者是由若干個值組成的數組

從語法上看,這不過是一個選擇模式,因此,我們可以使用下列規則來表達:

// 一個JSON文件可以是一個對象,或者是由若干個值組成的數組 json : object| array;

下一步是將json規則引用的各個子規則進行分解。對于對象,JSON語法是這樣定義的:

一個對象是一組無序的鍵值對集合。一個對象以一個左花括號{開始,且以右花括號}結束。每個鍵后跟一個冒號:,鍵值對之間由逗號,分隔。

JSON官網上的語法圖強調對象中的鍵必須是字符串。為將上面這段自然語言的表述轉換成語法結構,我們試著將它分解,從中提取關鍵的、能夠指示采用何種模式的詞組。第一句話中的“一個對象是”明確地告訴我們創建一個名為“object”的規則。接著,“一組無序的鍵值對集合”實際上是若干個“鍵值對”組成的序列。而“無序的集合”指明了對象的鍵的語義,即鍵的順序沒有意義。第二個句子中引入了一個詞法符號依賴,一個對象是以左右花括號作為開始和結束的。最后一個句子進一步指明了鍵值對序列的細節:由逗號分隔。至此,我們可以得到以下ANTLR標記編寫的語法:

// 一個對象是一組無序的鍵值對集合。一個對象以一個左花括號{開始,且以右花括號}結束。 // 每個鍵后跟一個冒號:,鍵值對之間由逗號,分隔 object : '{' pair (',' pair)* '}' | '{' '}' ; pair : STRING ':' value;

下面,我們接著來看JSON中另外一種高級結構——數組。數組的語法描述如下:

數組是一組值的有序集合。一個數組由一個左方括號[開始,并以一個右方括號]結束。其中的值由逗號,分隔

和object規則一樣,array包含一個由逗號分隔的序列模式和一個左右方括號間的詞法符號依賴。

// 數組是一組值的有序集合。一個數組由一個左方括號[開始,并以一個右方括號]結束。 // 其中的值由逗號,分隔 array : '[' value (',' value)* ']'| '[' ']';

在上訴規則的基礎上進一步細分,我們就需要編寫規則value。通過查看JSON參考手冊,我們可以知道value的語法描述如下:

一個值可以是一個雙引號包圍的字符串、一個數字、true\false、null、一個對象、或者一個數組。

顯而易見,這是一個很簡單的選擇模式。

// 一個值可以是一個雙引號包圍的字符串、一個數字、true\false、null、一個對象、或者一個數組。 value : STRING| NUMBER| 'true'| 'false'| 'null'| object| array;

這里,由于value規則引用了object和array,它成為(間接)遞歸規則。以上就是解析JSON的所有語法規則,下面我們來看下詞法規則。

根據JSON語法參考,字符串定義如下:

一個字符串就是一個由零個或多個Unicode字符組成的序列,它由雙引號包圍,其中的Unicode字符使用反斜杠轉義。單個字符由長度為1的字符串表示。

JSON的字符串定義和C/Java中的字符串非常相似。其實在前文中,我們已經編寫了字符串的ANTLR詞法規則,而這里的JSON字符串定義只是比我們之前編寫的字符串增加了對Unicode字符的轉義。我們接著查看JSON參考手冊,可以得到以下需要被轉義的字符。

因此,我們的string規則定義如下:

// 一個字符串就是一個由零個或多個Unicode字符組成的序列,它由雙引號包圍,其中的字符使用反斜杠轉義。 // 單個字符由長度為1的字符串表示 STRING : '"' (ESC | ~["\\])* '"'; fragment ESC : '\\' (["\\/bfnrt] | UNICODE); fragment UNICODE : 'u' HEX HEX HEX HEX; fragment HEX : [0-9a-fA-F];

其中ESC片段規則匹配一個Unicode序列或者預定義的轉義字符。而在UNICODE片段規則中,我們又定義了一個HEX片段規則來替代需要多次重復的編寫的十六進制數字。

最后一個需要編寫的詞法符號是NUMBER。

// 一個數字和C/Java中的數字非常相似,除了一點之外:不允許使用八進制和十六進制 NUMBER: '-'? INT '.' [0-9]+ EXP? // 1.35, 1.35E-9, 0.3, -4.5| '-'? INT EXP // 1e10 -3e4| '-'? INT // -3, 45; fragment INT : '0' | [1-9] [0-9]* ; // 除零外的數字不允許以0開始 fragment EXP : [Ee] [+\-]? INT ; // \- 是對-的轉義,因為[...]中的-用于表示“范圍”

和上一章CSV語法中不同的是,JSON需要額外處理空白字符。

WS : [ \t\n\r]+ -> skip ;

至此,完整的JSON語法文件已經編寫完畢。下面是完整的JSON語法文件并為備選分支添加標簽后的結果:

grammar JSON;// 一個JSON文件可以是一個對象,或者是由若干個值組成的數組 json : object| array;// 一個對象是一組無序的鍵值對集合。一個對象以一個左花括號{開始,且以右花括號}結束。 // 每個鍵后跟一個冒號:,鍵值對之間由逗號,分隔 object : '{' pair (',' pair)* '}' #AnObject| '{' '}' #EmptyObject //空對象; pair : STRING ':' value;// 數組是一組值的有序集合。一個數組由一個左方括號[開始,并以一個右方括號]結束。 // 其中的值由逗號,分隔 array : '[' value (',' value)* ']' #ArrayOfValues| '[' ']' #EmptyArray //空數組;// 一個值可以是一個雙引號包圍的字符串、一個數字、true\false、null、一個對象、或者一個數組。 value : STRING #String| NUMBER #Atom| 'true' #Atom| 'false' #Atom| 'null' #Atom| object #ObjectValue| array #ArrayValue;// 一個字符串就是一個由零個或多個Unicode字符組成的序列,它由雙引號包圍,其中的字符使用反斜杠轉義。 // 單個字符由長度為1的字符串表示 STRING : '"' (ESC | ~["\\])* '"'; fragment ESC : '\\' (["\\/bfnrt] | UNICODE); fragment UNICODE : 'u' HEX HEX HEX HEX; fragment HEX : [0-9a-fA-F];// 一個數字和C/Java中的數字非常相似,除了一點之外:不允許使用八進制和十六進制 NUMBER: '-'? INT '.' [0-9]+ EXP? // 1.35, 1.35E-9, 0.3, -4.5| '-'? INT EXP // 1e10 -3e4| '-'? INT // -3, 45; fragment INT : '0' | [1-9] [0-9]* ; // no leading zeros fragment EXP : [Ee] [+\-]? INT ; // \- since - means "range" inside [...]WS : [ \t\n\r]+ -> skip ;

讓我們使用ANTLR工具來測試下吧。

二、將JSON轉成XML

在本小節中我們將構建一個從JSON到XML的翻譯器。對于以下JSON輸入,我們期待的輸出是:

其中,<element>元素是一個我們需要在翻譯過程中生成的標簽。

由于監聽器無法存儲值(返回類型是void),所以我們需要ParseTreeProperty來存放中間結果。

接著我們從最簡單規則的開始翻譯。value規則中的Atom備選分支用于匹配詞法符號中的文本內容,對于它,我們只需要將值存入ParseTreeProperty即可。

@Overridepublic void exitAtom(JSONParser.AtomContext ctx) {setXml(ctx, ctx.getText());}

而對于string,我們需要做一個額外處理——剔除首位雙引號。

@Overridepublic void exitArrayOfValues(JSONParser.ArrayOfValuesContext ctx) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("\n");for (JSONParser.ValueContext valueContext : ctx.value()){stringBuilder.append("<element>");stringBuilder.append(getXml(valueContext));stringBuilder.append("<element>");stringBuilder.append("\n");}setXml(ctx,stringBuilder.toString());}@Overridepublic void exitString(JSONParser.StringContext ctx) {setXml(ctx, stripQuotes(ctx.getText()));}

而對于value規則的ObjectValue和ArrayValue備選分支,其實只需要去調用object和array規則方法就行。

@Overridepublic void exitObjectValue(JSONParser.ObjectValueContext ctx) {// 類比 String value() { return object(); }setXml(ctx,getXml(ctx.object()));}@Overridepublic void exitArrayValue(JSONParser.ArrayValueContext ctx) {setXml(ctx,getXml(ctx.array()));}

在完成對value規則所有元素的翻譯后,我們需要處理鍵值對,將它們轉換成標簽和文本。對于STRING ':' value,分別對應XML中標簽名和標簽值。因此,它們的翻譯結果如下:

@Overridepublic void exitPair(JSONParser.PairContext ctx) {String tag = stripQuotes(ctx.STRING().getText());String value = String.format("<%s>%s<%s>\n",tag,getXml(ctx.value()),tag);setXml(ctx,value);}

而對于object規則,我們知道它是由一系列的鍵值對組成,也就是說,我們需要循環遍歷其中的鍵值對,將其對應的XML追加到語法分析樹存儲的結果中。

@Overridepublic void exitAnObject(JSONParser.AnObjectContext ctx) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("\n");for (JSONParser.PairContext pairContext : ctx.pair()){stringBuilder.append(getXml(pairContext));}setXml(ctx,stringBuilder.toString());}@Overridepublic void exitEmptyObject(JSONParser.EmptyObjectContext ctx) {setXml(ctx,"");}

同理,對于array規則,我們采用同樣的處理方式,唯一不同的是,我們需要為子節點添加標簽<element>

@Overridepublic void exitArrayOfValues(JSONParser.ArrayOfValuesContext ctx) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("\n");for (JSONParser.ValueContext valueContext : ctx.value()){stringBuilder.append("<element>");stringBuilder.append(getXml(valueContext));stringBuilder.append("<element>");stringBuilder.append("\n");}setXml(ctx,stringBuilder.toString());}@Overridepublic void exitEmptyArray(JSONParser.EmptyArrayContext ctx) {setXml(ctx,"");}

最后,我們將最終結果存入根節點中。

@Overridepublic void exitJson(JSONParser.JsonContext ctx) {setXml(ctx,getXml(ctx.getChild(0)));}

完整的翻譯器代碼如下:

package json;import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.ParseTreeProperty;public class JSONToXMLListener extends JSONBaseListener {// 將每棵子樹翻譯完的字符串存儲在該子樹的根節點中private ParseTreeProperty<String> xml = new ParseTreeProperty<String>();public void setXml(ParseTree node, String value){xml.put(node, value);}public String getXml(ParseTree node){return xml.get(node);}/*** 去掉字符串首尾的雙引號""* @param s* @return*/public String stripQuotes(String s) {if ( s==null || s.charAt(0)!='"' ) return s;return s.substring(1, s.length() - 1);}@Overridepublic void exitJson(JSONParser.JsonContext ctx) {setXml(ctx,getXml(ctx.getChild(0)));}@Overridepublic void exitAnObject(JSONParser.AnObjectContext ctx) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("\n");for (JSONParser.PairContext pairContext : ctx.pair()){stringBuilder.append(getXml(pairContext));}setXml(ctx,stringBuilder.toString());}@Overridepublic void exitEmptyObject(JSONParser.EmptyObjectContext ctx) {setXml(ctx,"");}@Overridepublic void exitPair(JSONParser.PairContext ctx) {String tag = stripQuotes(ctx.STRING().getText());String value = String.format("<%s>%s<%s>\n",tag,getXml(ctx.value()),tag);setXml(ctx,value);}@Overridepublic void exitArrayOfValues(JSONParser.ArrayOfValuesContext ctx) {StringBuilder stringBuilder = new StringBuilder();stringBuilder.append("\n");for (JSONParser.ValueContext valueContext : ctx.value()){stringBuilder.append("<element>");stringBuilder.append(getXml(valueContext));stringBuilder.append("<element>");stringBuilder.append("\n");}setXml(ctx,stringBuilder.toString());}@Overridepublic void exitEmptyArray(JSONParser.EmptyArrayContext ctx) {setXml(ctx,"");}@Overridepublic void exitString(JSONParser.StringContext ctx) {setXml(ctx, stripQuotes(ctx.getText()));}@Overridepublic void exitAtom(JSONParser.AtomContext ctx) {setXml(ctx, ctx.getText());}@Overridepublic void exitObjectValue(JSONParser.ObjectValueContext ctx) {// 類比 String value() { return object(); }setXml(ctx,getXml(ctx.object()));}@Overridepublic void exitArrayValue(JSONParser.ArrayValueContext ctx) {setXml(ctx,getXml(ctx.array()));} }

編寫main方法調用測試

import json.JSONLexer; import json.JSONParser; import json.JSONToXMLListener; import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CommonTokenStream; import org.antlr.v4.runtime.tree.ParseTree; import org.antlr.v4.runtime.tree.ParseTreeWalker;import java.io.BufferedReader; import java.io.FileReader;public class JSONMain {public static void main(String[] args) throws Exception{BufferedReader reader = new BufferedReader(new FileReader("xxx\\json.txt"));ANTLRInputStream inputStream = new ANTLRInputStream(reader);JSONLexer lexer = new JSONLexer(inputStream);CommonTokenStream tokenStream = new CommonTokenStream(lexer);JSONParser parser = new JSONParser(tokenStream);ParseTree parseTree = parser.json();System.out.println(parseTree.toStringTree());ParseTreeWalker walker = new ParseTreeWalker();JSONToXMLListener listener = new JSONToXMLListener();walker.walk(listener, parseTree);String xml = listener.getXml(parseTree);System.out.println(xml);} }

json.txt內容如下:

{"id" : 1,"name" : "Li","scores" : {"Chinese" : "95","English" : "85"},"array" : [1.2, 2.0e1, -3] }

運行結果如下:

后記

本章我們學習了如何通過閱讀參考手冊、采用自頂向下設計來編寫JSON語法文件。還學習了使用監聽器來實現從JSON到XML的翻譯器。可以看到,我們翻譯的過程并不是一蹴而就的,而是采用分而治之的思想,是從最簡單的開始翻譯,然后將局部結果合并的。

?

總結

以上是生活随笔為你收集整理的Antlr4入门(六)实战之JSON的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久久久www| 国产在线理论片 | 91av视频导航 | 日韩中文字幕91 | 亚洲综合视频网 | 日韩精选在线观看 | 国产色一区| 深爱激情五月综合 | 国产精品2019 | 国色天香av | 欧美成人tv| a天堂最新版中文在线地址 久久99久久精品国产 | 欧美一区在线看 | 婷婷黄色片 | 精品久久综合 | 又黄又刺激的网站 | 国产视频一区二区在线 | 欧美男同网站 | 国产视频一区在线免费观看 | av免费电影在线 | 99国产精品 | 又黄又爽又湿又无遮挡的在线视频 | 69精品视频在线观看 | 五月婷婷激情五月 | 国产xxxxx在线观看 | 国产成人精品综合久久久 | 天天曰天天爽 | 在线观看国产日韩 | 中文字幕在线观看网址 | 午夜性盈盈 | 国产精品一区二区三区免费视频 | 国产小视频免费观看 | 久久伊人操 | 欧美激情精品久久 | av免费看看| 美女久久久久久久 | 91免费看黄色 | 国产看片 色 | 黄色看片| 激情www| 国产精品久久久免费 | 免费av福利| 日日干美女 | 色婷婷成人 | 九九热1| 青春草视频在线播放 | 久久99国产综合精品 | 成人免费一级 | 欧美日韩精品影院 | 国产小视频免费在线观看 | 欧美一区二区三区免费观看 | www.com.日本一级 | 中文字幕精品在线 | 国产99爱 | 亚洲三级av| 亚洲国产精品成人精品 | 97av超碰| 天天摸夜夜添 | 91视频这里只有精品 | 网站在线观看你们懂的 | 黄色aaaaa| 日日夜夜精品视频 | 成人久久18免费网站 | 五月激情丁香图片 | 久久视频在线 | 亚洲国产日韩在线 | 日日碰狠狠躁久久躁综合网 | 黄色小视频在线观看免费 | 日日天天 | 伊人婷婷网 | 在线v | av在线免费在线 | 一级片免费观看 | 久久精品国产一区二区电影 | 在线免费观看国产精品 | 久久精品导航 | 亚洲免费永久精品国产 | 天天插天天操天天干 | 国产精品美女久久久久久久网站 | 日韩欧美在线一区二区 | 色综合久久综合中文综合网 | 国产精品 国产精品 | 天天干天天拍天天操天天拍 | 国产精品国产自产拍高清av | 亚洲成人av片在线观看 | 国产精品久久久久一区二区三区 | 激情视频一区 | 奇米影视777影音先锋 | 人人澡人人添人人爽一区二区 | 国产精品久久网站 | 国产福利一区在线观看 | 中文字幕av网站 | 青青河边草免费视频 | 久久精彩视频 | 怡春院av | 日本精品一区二区 | 国色天香在线观看 | 日日干av | 亚洲综合在线视频 | 香蕉日日 | 国产99自拍 | 国产中文字幕视频在线观看 | 日韩av电影手机在线观看 | 久久久91精品国产一区二区三区 | 一本一道久久a久久精品 | 看国产黄色片 | 91av在线免费 | av免费网站在线观看 | 中文字幕有码在线观看 | 欧美色图30p | 伊人天堂av | 欧美国产日韩激情 | 精品亚洲成人 | 蜜臀av性久久久久蜜臀aⅴ涩爱 | 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 一区二区激情视频 | 国产69精品久久久久99尤 | www.色婷婷.com | 欧美激情精品久久 | 国内精品福利视频 | 国产主播99| 欧美一区二区精美视频 | 91av在线免费播放 | 超碰人人干人人 | 日韩精品在线视频 | 国产精品一码二码三码在线 | 国产黄色大片免费看 | 国产精品男女啪啪 | 久久久久欧美精品 | 精品日韩在线一区 | 久久免费视频5 | www色片 | 激情视频91 | 在线观看色网 | 午夜私人影院久久久久 | 西西44人体做爰大胆视频 | a黄在线观看 | 中文字幕亚洲字幕 | 久综合网 | 日韩网站在线播放 | 国产大陆亚洲精品国产 | 成人手机在线视频 | 天天干中文字幕 | 免费日韩三级 | 天天超碰| avwww在线观看| 亚洲经典中文字幕 | 免费看黄在线网站 | 欧美福利片在线观看 | 久草免费色站 | 欧美伦理电影一区二区 | 91精品国产麻豆 | 欧美日韩亚洲精品在线 | 亚洲网站在线 | 欧美极品xxxx| 我要看黄色一级片 | 成人免费在线观看电影 | 一区二区视频在线播放 | 天天插天天狠天天透 | www91在线| 国内成人精品视频 | 日本在线观看中文字幕 | 麻豆91在线观看 | 日本深夜福利视频 | 精品久久久免费视频 | 久久午夜色播影院免费高清 | 免费看黄电影 | av在线播放中文字幕 | 久久久久久久久久久久久国产精品 | 99久久久国产精品免费观看 | 中文字幕第一页在线视频 | 日日夜夜av| 激情五月六月婷婷 | 综合在线色 | 国产亚洲情侣一区二区无 | 狠狠操91 | 九九精品视频在线看 | 国产一二三四在线视频 | 毛片播放网站 | 啪啪小视频网站 | 天天曰天天 | 久久久麻豆精品一区二区 | 免费福利在线 | 亚洲综合在线五月天 | 中文字幕一区二区三区在线播放 | 射综合网 | 在线天堂视频 | 欧美日韩不卡在线观看 | 日日夜夜网| 九色porny真实丨国产18 | 久久成人免费 | 国产精品嫩草69影院 | 日韩视频免费播放 | 免费看黄色大全 | 高清av影院 | 久久人人干| 亚洲一区网站 | 九九精品视频在线看 | 中文字幕色综合网 | 人人射网站 | 国产亚洲精品久久久久久久久久久久 | 在线之家免费在线观看电影 | 在线日韩中文字幕 | 久久99国产综合精品免费 | 夜色资源站国产www在线视频 | 色婷婷av在线 | 成人国产精品一区二区 | 日韩欧美在线一区 | 在线免费视频 你懂得 | 91免费的视频在线播放 | 日韩欧美一区二区三区视频 | 日韩精品综合在线 | 亚洲午夜精品久久久 | 成年人免费在线播放 | 亚洲精品五月 | 九九免费在线看完整版 | 成人xxxx| 成人一区二区三区在线观看 | 久久视频在线观看中文字幕 | 欧美成人xxx | 91精品在线免费 | 国产r级在线观看 | 国产在线日本 | 国产视频1 | 日韩mv欧美mv国产精品 | 色99在线 | 天天操天天干天天玩 | 免费观看xxxx9999片 | 99久久www| 久久久国产网站 | 国产精品美女久久久久aⅴ 干干夜夜 | 国产精品999久久久 久产久精国产品 | 免费三级骚 | 精品视频亚洲 | 亚洲丁香久久久 | 草久久影院| www.国产高清 | www久久国产| 中文字幕视频一区 | 亚洲国产中文字幕在线观看 | 国产一区二区在线观看免费 | 亚洲欧美国产精品va在线观看 | 波多野结衣在线观看一区二区三区 | 亚洲欧美精品一区 | 国产无套精品久久久久久 | 天天舔天天射天天操 | 免费观看日韩av | 99在线精品观看 | 免费精品视频在线观看 | 国产高清日韩欧美 | 在线播放日韩av | 午夜在线看片 | 五月开心六月伊人色婷婷 | 丁香亚洲 | 国产第一二区 | 91传媒视频在线观看 | 中文在线8新资源库 | 九九在线视频 | 久久这里 | 精品国产乱码久久久久久1区二区 | 91天堂在线观看 | 99久e精品热线免费 99国产精品久久久久久久久久 | 美女免费视频观看网站 | 久久神马影院 | 天天曰天天射 | 日产乱码一二三区别免费 | 视频福利在线 | 天天射天天搞 | 成人久久18免费网站图片 | 欧美伦理一区二区三区 | 久热色超碰 | 性色av一区二区 | 韩国av电影网 | 日韩va在线观看 | www.五月婷婷 | 国产v欧美 | 亚洲成人精品影院 | 婷婷国产一区二区三区 | 久久99电影 | 亚洲成人家庭影院 | 激情影院在线观看 | 在线观看视频在线观看 | 草久热 | 免费精品视频 | 中国一级片视频 | 亚洲狠狠婷婷 | 欧美国产日韩在线视频 | 激情 亚洲| 午夜视频在线观看一区二区三区 | 欧美另类色图 | 亚洲精品视频大全 | 亚洲精品美女在线观看播放 | 欧美片网站yy | 婷婷精品视频 | 天天摸天天操天天舔 | 黄色亚洲免费 | 亚洲精品小区久久久久久 | 在线免费黄色 | 久草在线官网 | av丝袜在线 | 日韩精品一区二区免费视频 | 国产精品18久久久久vr手机版特色 | 新版资源中文在线观看 | 99热国内精品 | 在线观看av黄色 | 最新av电影网站 | 国产成人a亚洲精品v | 日本公妇在线观看高清 | 97视频资源 | 久久蜜臀av | 97精品国产aⅴ | 欧美片一区二区三区 | 免费高清在线视频一区· | 亚洲www天堂com | 在线观看亚洲专区 | 超碰人人草 | 久操视频在线播放 | 中文字幕一区二区三区四区视频 | 91在线你懂的 | 黄色在线小网站 | 午夜视频免费 | 亚洲欧美视屏 | 一区二区三区四区久久 | 国产字幕在线观看 | 久久午夜精品影院一区 | 久久免费视频播放 | 色99之美女主播在线视频 | 三级黄色欧美 | 亚洲va综合va国产va中文 | 99精品国产99久久久久久福利 | 欧美日韩久| 午夜精品久久久久久久99 | 日韩精品一区二区三区丰满 | 国产女人免费看a级丨片 | 日韩福利在线观看 | 成人9ⅰ免费影视网站 | 97精品欧美91久久久久久 | 亚洲成成品网站 | 日韩免费在线一区 | 久久草| 高清久久久久久 | 国产精品99免视看9 国产精品毛片一区视频 | 91高清在线看 | 日日摸日日碰 | 高清日韩一区二区 | 欧美一区在线看 | 免费观看www小视频的软件 | 国产成人精品一二三区 | 国产亚洲精品久久久久久久久久久久 | 99精品黄色片免费大全 | 人人射人人澡 | 日日爱夜夜爱 | 91福利视频免费观看 | 久草免费在线观看视频 | 国产色婷婷精品综合在线手机播放 | www.久草.com| 国产91精品看黄网站在线观看动漫 | 91精品国产乱码久久 | 亚洲精品在线观看视频 | 久久免费成人网 | www久久久 | 性色av免费在线观看 | 最近在线中文字幕 | 国产精品久久久影视 | 成人18视频 | 香蕉精品视频在线观看 | 狠狠色丁香婷婷综合久小说久 | 久久人人爽人人 | 国产一区二区在线免费播放 | 久久er99热精品一区二区 | 综合网在线视频 | 六月色 | 国语精品视频 | 色999五月色 | 又色又爽又黄 | 亚洲理论在线观看电影 | 国产免费一区二区三区最新 | 国产精品第一页在线 | 中文字幕在线观看免费高清完整版 | 97视频在线免费播放 | 看污网站 | 久久精品久久国产 | 久久九九影视网 | 97超碰免费在线观看 | 亚洲女欲精品久久久久久久18 | 国产精品久久久久av福利动漫 | 手机看片福利 | 免费视频99 | 欧美日韩国产mv | 欧美日韩国语 | 久久精品aaa | 亚洲激情 在线 | 精品国产aⅴ一区二区三区 在线直播av | 五月婷婷另类国产 | 久草电影免费在线观看 | 91亚州| 最近能播放的中文字幕 | 五月花激情 | 韩国av不卡| 免费合欢视频成人app | 五月婷香蕉久色在线看 | 成人午夜性影院 | 伊人婷婷网 | 欧美性爽爽 | 日韩三级视频 | 亚洲精品视频在线播放 | 成人av片在线观看 | 天天拍天天爽 | 美女视频黄免费的久久 | 超碰人人乐| 久久黄页 | 国产午夜精品一区 | 日韩一二三在线 | 亚洲黄色app | 国产一级黄色免费看 | 国产精品96久久久久久吹潮 | 免费看黄在线看 | 欧美日韩首页 | 久久96 | 精品日韩中文字幕 | 国产色女| 99久久超碰中文字幕伊人 | 日韩av电影中文字幕 | 夜夜干夜夜 | 日韩二区三区在线 | 超碰在线最新 | 日日夜夜天天 | 中文字幕一区二区三区在线观看 | 一区二区三区免费播放 | 国产无遮挡又黄又爽在线观看 | 人人爱爱人人 | 人人爽人人爽人人片av | 精品国产资源 | 中文字幕免费高清av | 99久热 | 丰满少妇在线观看资源站 | 99精品网站 | 久久久精品久久日韩一区综合 | 成人久久亚洲 | 亚洲综合涩 | 欧美性直播 | 人人爱人人做人人爽 | 国产视频精品免费 | 国产精品一区二区久久久 | av在线之家电影网站 | 国产福利一区二区三区视频 | 国产精品麻豆视频 | 一级黄色在线视频 | www.色午夜,com | 成年人免费看片网站 | 久久精品视频免费播放 | 国产精品18久久久久久不卡孕妇 | 欧美日韩一区二区三区在线观看视频 | 99成人精品| 最近中文字幕在线播放 | 中文字幕色在线视频 | 色美女在线 | 日韩在线一二三区 | 亚洲精品乱码久久久久久9色 | 欧美一区二区三区特黄 | 国产精品美女久久久网av | 91av99| 激情网在线视频 | 高清av免费看 | 97在线播放 | 97国产大学生情侣酒店的特点 | 久久久久久久电影 | 亚洲精品www.| 天天色天天干天天色 | 成人国产精品一区 | 开心综合网 | 国产福利91精品张津瑜 | 色视频网址 | 国产一区二区久久久 | 久久伊人精品天天 | av不卡中文 | 波多野结衣视频网址 | 中文字幕高清视频 | 黄色成年 | 日本中文乱码卡一卡二新区 | 国产成人精品午夜在线播放 | 最近2019年日本中文免费字幕 | a黄色一级片 | 久久国产精品第一页 | 九九热视频在线免费观看 | 狠狠干,狠狠操 | 国产中文在线视频 | 久久综合九色欧美综合狠狠 | 激情婷婷久久 | 日韩av在线小说 | 草久久久久久 | 在线观看视频三级 | 黄色软件视频大全免费下载 | 久久久国产网站 | 免费观看性生活大片3 | 日日夜夜天天干 | 九九热在线精品视频 | 精品免费视频123区 午夜久久成人 | 天天色宗合 | 亚洲精品国久久99热 | 亚洲伦理中文字幕 | 国产九九热 | 最近日本mv字幕免费观看 | 色老板在线视频 | 日韩免费一区 | 一区二区精品在线 | 伊人狠狠色丁香婷婷综合 | 日韩va欧美va亚洲va久久 | 亚洲精品在线免费 | 911香蕉视频 | 粉嫩高清一区二区三区 | 国产在线精品福利 | 视频在线一区二区三区 | 香蕉视频免费看 | 草久在线播放 | 伊人久久精品久久亚洲一区 | 久久se视频 | 五月天六月丁香 | 国产精品99久久久久人中文网介绍 | 日韩免费电影 | 国产精品成人av久久 | 国产99免费视频 | 国产日韩在线播放 | 丁香婷婷激情五月 | 午夜精品一区二区三区免费 | 日韩电影一区二区三区在线观看 | 女人高潮特级毛片 | 亚洲视频在线免费看 | 成人一级在线观看 | 欧美日韩在线视频一区 | 国产日产精品一区二区三区四区的观看方式 | 国产精品欧美激情在线观看 | 天堂av免费| 国内丰满少妇猛烈精品播放 | 久久精品婷婷 | 日韩精品久久久久久久电影竹菊 | 日韩成人黄色av | 国产精品久久久久一区二区三区共 | 在线看一区 | 91精品免费在线 | 亚洲午夜久久久久久久久电影网 | 久久久免费毛片 | 欧美日韩不卡一区二区三区 | 日韩视频中文字幕在线观看 | 国产视频 亚洲视频 | 午夜免费在线观看 | 九九亚洲精品 | 91在线视频精品 | 国产婷婷精品av在线 | 超碰97.com| 国产精品麻豆免费版 | 日韩精品久久久久久久电影99爱 | 区一区二在线 | 久久理论电影网 | 久久99国产精品自在自在app | 狠狠操.com | 500部大龄熟乱视频 欧美日本三级 | 日日夜夜天天久久 | 99久久99久久免费精品蜜臀 | 青青河边草免费视频 | 国产精品成人自产拍在线观看 | 免费看国产视频 | 天天草天天操 | 国产午夜精品一区二区三区嫩草 | 久久在线免费视频 | 日韩av手机在线观看 | 国产精品一区在线 | 国产精品久久片 | 亚洲成人精品 | 亚洲精品黄网站 | 日韩电影一区二区三区在线观看 | 国产69久久 | 免费在线播放黄色 | 日韩欧美久久 | 国产精品刺激对白麻豆99 | 999国产 | 日日夜夜狠狠操 | 久草a在线| 欧美一级久久久久 | 欧美aa在线| 国产精品久久艹 | 国产精品国内免费一区二区三区 | 国产精品一区二区久久国产 | 婷婷色五| 最新av网址在线观看 | 日韩高清一二区 | 国产精品久久久久久久av电影 | 久草在线最新免费 | 这里只有精彩视频 | 成人观看视频 | 一区二区三区四区精品 | 精品久久一区二区 | 国产精品第一页在线 | 久99热| 国产香蕉视频在线播放 | 国产一区二区精品久久91 | 日韩电影一区二区三区 | 99精品视频在线 | 国产视频在线免费观看 | 亚洲一二三区精品 | 婷婷激情综合网 | 国产专区日韩专区 | 中文字幕激情 | 亚洲激情一区二区三区 | 欧美va天堂在线电影 | 亚洲在线视频免费 | 亚洲日本在线视频观看 | 99精品视频99| 中文字幕在线免费看线人 | 国产精久久久久久妇女av | 欧美一区在线观看视频 | 91视频在线国产 | 免费在线视频一区二区 | 亚洲精品女人 | 在线观看精品一区 | 天堂网av在线 | 91精品视频免费 | 91视频-88av| 日本精品一二区 | 亚洲91精品在线观看 | 亚洲日本va中文字幕 | 在线 成人 | 欧美日韩国产一区二区在线观看 | 国产国产人免费人成免费视频 | 激情婷婷丁香 | 欧美成人理伦片 | 日韩欧美在线综合网 | 视频二区在线 | 久久久免费av| 色狠狠综合天天综合综合 | 国产视频在线免费 | 久草在线视频新 | 久久一区二区免费视频 | 国产资源在线免费观看 | 在线亚洲欧美视频 | 亚洲免费a | 狠狠色丁香久久婷婷综合_中 | 日韩在线视频免费播放 | 视频一区二区国产 | 成人av手机在线 | 91精品视频在线看 | 成人h在线 | 在线观看亚洲a | 久久久精品国产一区二区三区 | 精品久久免费 | 久久久久久久久久久高潮一区二区 | 狠狠狠狠狠狠狠干 | 国产一区欧美日韩 | 国产成人久久av | 日日添夜夜添 | 69亚洲视频 | 国产精品免费在线播放 | 国产一级精品在线观看 | 黄色av影视 | 久久久久99精品国产片 | 精品在线亚洲视频 | 99精品欧美一区二区三区黑人哦 | 国产精品9999 | 91在线免费视频观看 | 成人一级黄色片 | 国产 精品 资源 | 国产成人精品不卡 | 久久久久国产精品免费网站 | 欧美日韩久久一区 | 午夜精品久久久久久久久久久久 | 在线成人小视频 | 黄色一及电影 | 国产精品久久久久久久久久久久久 | 国产一区二区成人 | 久久久久久久综合色一本 | 天天爽夜夜爽精品视频婷婷 | 国产小视频福利在线 | 国产精品久久久久久久久久久久午夜 | 成人黄色片在线播放 | 成人av免费在线 | 国产精品 国产精品 | 香蕉久久久久久久 | 久久久久久久久久久久久久免费看 | 久久久久久久久久久久99 | 福利视频网站 | 久久一区二区三区国产精品 | 久久国产精品久久精品国产演员表 | 久久久高清视频 | 女人18毛片a级毛片一区二区 | 国产视| 国产99re| 国内精品久久久久久 | 91av免费观看| 欧美成人久久 | 激情综合五月网 | 日本中文字幕影院 | 麻豆成人在线观看 | 亚洲专区中文字幕 | 在线观看一区 | 美女视频黄是免费的 | 亚洲综合视频在线观看 | 天天操天天综合网 | 麻豆传媒在线免费看 | 精品亚洲视频在线 | 亚洲免费婷婷 | 久久97久久97精品免视看 | av在线电影免费观看 | 97电影院网| 日韩电影一区二区三区 | 精品国产自在精品国产精野外直播 | 999久久久精品视频 日韩高清www | 中文字幕 国产视频 | 亚洲日本激情 | 日本爽妇网 | av电影在线免费 | 久久特级毛片 | 福利一区二区在线 | 婷婷午夜| 精品人妖videos欧美人妖 | 欧美精品一区二区蜜臀亚洲 | 久久色在线观看 | 99成人精品 | 黄色三级网站在线观看 | 国内丰满少妇猛烈精品播 | 深夜视频久久 | 日韩高清观看 | 亚洲福利精品 | 久久久香蕉视频 | www夜夜操com| 国产午夜精品一区二区三区嫩草 | 手机成人av在线 | 九九在线视频 | 成人久久18免费网站麻豆 | 成人性生活大片 | 四虎成人在线 | 国产精品成人自产拍在线观看 | 又黄又爽又色无遮挡免费 | 最近中文字幕免费 | 国产精品福利在线观看 | 91精品导航 | 精品亚洲视频在线 | 丁香久久婷婷 | 在线97| 日本99干网 | 亚洲免费资源 | 91视频电影 | 欧美日韩一二三四区 | 日日天天干 | 91精选在线 | 国产主播大尺度精品福利免费 | 天堂在线一区二区三区 | 成人黄在线观看 | 香蕉视频免费在线播放 | 日韩在线免费视频 | 国产成人资源 | 成年人视频在线免费播放 | 依人成人综合网 | 亚洲 精品在线视频 | 91九色在线视频 | 久99久精品视频免费观看 | 日韩中文字幕在线观看 | 欧美成亚洲| 国产 视频 高清 免费 | 国产精品久久片 | 国产青青青 | 久久精品小视频 | 成人九九视频 | 国产成人亚洲精品自产在线 | 久爱综合 | 国产精品一区二区av日韩在线 | 亚洲综合网站在线观看 | 中文在线8资源库 | 五月天激情综合 | 69人人| 亚洲黄色成人 | 亚洲国产黄色片 | 国产精品久久久久av | 开心色停停| 00av视频| 成人一级片视频 | 香蕉在线播放 | 亚洲精品免费视频 | 欧美性精品 | 国产高清av免费在线观看 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 97超碰在线资源 | 中文字幕日韩免费视频 | 久久国产精品久久精品国产演员表 | 日韩视频一区二区在线 | 91亚色在线观看 | 一级片免费观看 | 国产在线小视频 | 久草视频播放 | 国产精品日韩精品 | 日韩av三区| 亚洲精品人人 | 欧美老人xxxx18 | 免费视频一二三区 | 九9热这里真品2 | 深爱激情综合 | 91视频观看免费 | 欧美另类激情 | 天天干夜夜爽 | 久久亚洲私人国产精品 | 麻豆一二三精选视频 | 久久久久久久久久久久久久免费看 | 欧美一区在线看 | 麻豆视频国产在线观看 | 日韩av不卡在线 | 久久国产午夜精品理论片最新版本 | 麻豆91在线观看 | 9999在线观看| 久久婷婷精品 | 色99视频 | 日韩国产精品一区 | 亚洲综合成人在线 | 久久久亚洲精华液 | 欧美日韩成人 | 亚洲欧美偷拍另类 | 91污在线 | 97网| 最新极品jizzhd欧美 | 91视频在线国产 | 免费观看性生交 | 夜夜视频 | www.久久视频 | 亚洲一区网站 | 亚洲精品乱码久久久久久 | 免费在线播放 | 一区二区三区韩国免费中文网站 | 欧美激情综合五月 | 成人久久久精品国产乱码一区二区 | 99精品国产免费久久久久久下载 | 色五月色开心色婷婷色丁香 | 日韩欧美视频一区二区 | 四虎在线视频免费观看 | 九草视频在线观看 | 美女视频黄是免费的 | 在线观看中文字幕 | 摸bbb搡bbb搡bbbb | 精品亚洲午夜久久久久91 | 日本特黄一级片 | 日韩精品中文字幕一区二区 | 一区二区伦理电影 | 狠狠色丁香婷婷综合 | 亚洲精品成人av在线 | 久久1电影院 | 久草视频免费看 | 精品国产乱子伦一区二区 | 精品在线视频一区 | 手机av在线不卡 | 深爱综合网 | 波多野结衣在线播放一区 | 五月天婷亚洲天综合网鲁鲁鲁 | 日韩中文字幕一区 | 亚洲精品国产精品久久99 | 欧美日本不卡视频 | 日日骑 | 久久久久久久福利 | 九九热免费视频在线观看 | 日韩久久久久久久久 | 91豆麻精品91久久久久久 | 99热精品国产 | av中文字幕第一页 | 99九九热只有国产精品 | 97免费在线观看视频 | 在线观看成人一级片 | 日本黄色免费看 | 欧美日视频 | 国产成人香蕉 | 99热精品国产一区二区在线观看 | 国产精品白丝jk白祙 | 欧美激情精品久久久久久免费印度 | 免费视频久久久久久久 | 国产成免费视频 | 高清国产午夜精品久久久久久 | 久久久影院一区二区三区 | 精品久久视频 | 一区二区三区精品在线视频 | 狠狠狠干 | 日韩在线观看视频在线 | www.夜夜骑.com | 99国产在线| 日韩剧 | 高清久久久 | 久久超碰97| 91豆麻精品91久久久久久 | av网站在线观看播放 | 亚洲婷婷在线视频 | 免费三级在线 | 久久精品国产免费观看 | 久久久高清 | 一本一道久久a久久精品蜜桃 | 毛片网站在线观看 | 人人爽影院 | 97av精品 | 亚洲有 在线 | 欧美最新大片在线看 | 国产一级性生活 | 国色天香第二季 | 国产美女精品 | 一区二区三区播放 | 在线观看国产高清视频 | 国产aa免费视频 | 国产精品成人品 | 91在线91拍拍在线91 | 日批视频国产 | 日韩激情久久 | 国产精品嫩草55av | 极品国产91在线网站 | 在线小视频你懂的 | 欧美日韩一区二区久久 | 久久无码精品一区二区三区 | 成人免费在线视频 | 国产高清无av久久 | 嫩草av在线 | 久久久久夜色 | 5月丁香婷婷综合 | 在线观看视频在线观看 | av电影一区二区三区 | 欧美性极品xxxx娇小 | 四虎永久免费在线观看 | 免费亚洲视频 | 四虎在线影视 | 视频在线观看国产 | av在线网站观看 | 在线a视频免费观看 | 亚洲国产一区二区精品专区 | 九九九热 | 五月黄色| www.色就是色 | 日日干影院 | 久草视频中文在线 | 日韩免费视频线观看 | 日本爱爱免费 | 在线观看深夜视频 | 99精品久久99久久久久 | 久久婷婷网 | 日韩精品免费在线 | 欧美一区二区免费在线观看 | 中文字幕免费高 | 久久久久 | 色悠悠久久综合 | 最近2019年日本中文免费字幕 | 中文字幕资源站 | 日本三级吹潮在线 | 500部大龄熟乱视频使用方法 | 久久久久久久久久福利 | 婷婷久久久 | 日韩欧美aaa | 久久精品国产亚洲a | 91香蕉国产在线观看软件 | 久草在线免费资源 | 久久综合久久综合久久综合 | 美女免费黄视频网站 | 国内精品视频一区二区三区八戒 | 中文字幕在线观看第三页 | 成人一区二区在线观看 | 黄色片视频在线观看 | 91视频免费观看 | 天天躁天天躁天天躁婷 | 久久久国内精品 | 久99久视频| 国产成人99av超碰超爽 | 热久久视久久精品18亚洲精品 | av动图| 在线观看aa | 免费欧美 | 97精品国产97久久久久久春色 | 国产99自拍| 在线电影91| 福利久久 | 丁香六月av | 欧美精品999 | 奇米影视8888在线观看大全免费 | 日韩网站在线 | 日韩免费视频观看 | 999久久a精品合区久久久 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 91在线亚洲 | 成人a级免费视频 | 在线成人免费 | 国产一级片毛片 | 日韩激情小视频 | 成年人免费看的视频 | 操老逼免费视频 | 久久国产精品色av免费看 | 久草久草在线观看 | 天天草天天色 | 日韩三级免费 | 91精品国自产在线偷拍蜜桃 | 天天天天天天天操 | 久久婷婷一区二区三区 | 成人国产精品电影 | 国产你懂的在线 | 九九热只有这里有精品 | 免费成视频 | 91视频3p| 青草视频在线免费 | 不卡的一区二区三区 | 亚洲精品综合欧美二区变态 | 久久久久久蜜av免费网站 | 久久久久久高潮国产精品视 |