调教肉文小说-国产成本人片免费av-空姐av种子无码-在线观看免费午夜视频-综合久久精品激情-国产成人丝袜视频在线观看软件-大芭区三区四区无码-啊啊好爽啊啊插啊用力啊啊-wanch视频网-国产精品成人a免费观看


項(xiàng)目的完整代碼在 C2j-Compiler <https://github.com/dejavudwh/C2j-Compiler>

前言

在上一篇,已經(jīng)成功的構(gòu)建了有限狀態(tài)自動(dòng)機(jī),但是這個(gè)自動(dòng)機(jī)還存在兩個(gè)問題:

* 無法處理shift/reduce矛盾
* 狀態(tài)節(jié)點(diǎn)太多,導(dǎo)致自動(dòng)機(jī)過大,效率較低
這一節(jié)就要解決這兩個(gè)問題

shift/reduce矛盾

看上一節(jié)那個(gè)例子的一個(gè)節(jié)點(diǎn)
e -> t . t -> t . * f
這時(shí)候通過狀態(tài)節(jié)點(diǎn)0輸入t跳轉(zhuǎn)到這個(gè)節(jié)點(diǎn),但是這時(shí)候狀態(tài)機(jī)無法分清是根據(jù)推導(dǎo)式1做reduce還是根據(jù)推導(dǎo)式2做shift操作,這種情況就稱之為shift
/ reduce矛盾。

SLR(1)語法

在之前的LL(1)語法分析過程中,有一個(gè)FOLLOW
set,也就是指的是,對某個(gè)非終結(jié)符,根據(jù)語法推導(dǎo)表達(dá)式構(gòu)建出的所有可以跟在該非終結(jié)符后面的終結(jié)符集合,我們稱作該非終結(jié)符的FOLLOW set.

之前的博文目錄 <https://dejavudwh.cn/categories/學(xué)習(xí)筆記/編譯原理>
FOLLOW(s) = {EOI} FOLLOW(e) = {EOI, },+} FOLLOW(t) = {EOI, }, + , * }
FOLLOW(f) = {EOI, }, +, * }
也就是說如果當(dāng)前的輸入字符屬于e的FOLLOW SET,那么就可以根據(jù)第一個(gè)推導(dǎo)式做reduce操作

如果構(gòu)建的狀態(tài)機(jī),出現(xiàn)reduce / shift矛盾的節(jié)點(diǎn)都可以根據(jù)上面的原則處理的話,那么這種語法,我們稱之為SLR(1)語法。

LR(1)語法

但是如果當(dāng)前的輸入字符,既屬于第一個(gè)推導(dǎo)式的FLLOW SET,又是第二個(gè)推導(dǎo)式 . 右邊的符號,這樣shift /reduce矛盾就難以解決了。


當(dāng)我們根據(jù)一個(gè)輸入符號來判斷是否可以進(jìn)行reduce操作時(shí),只需要判斷在我們做完了reduce操作后,當(dāng)前的輸入符號是否能夠合法的跟在reduce后的非終結(jié)符的后面,也就是只要收集只要該符號能夠被reduce到退回它的節(jié)點(diǎn)的所有路徑的能跟在后面的終結(jié)符

這種能合法的跟在某個(gè)非終結(jié)符后面的符號集合,我們稱之為look ahead set, 它是FOLLOW set的子集。

在給出LookAhead Set的算法前要先明確兩個(gè)個(gè)概念:

First Set

對一個(gè)給定的非終結(jié)符,通過一系列語法推導(dǎo)后,能出現(xiàn)在推導(dǎo)最左端的所有終結(jié)符的集合,統(tǒng)稱為該非終結(jié)符的FIRST SET

nullable

如果一個(gè)非終結(jié)符,它可以推導(dǎo)出空集,那么這樣的非終結(jié)符我們稱之為nullable的非終結(jié)符

nullable在之前SyntaxProductionInit里的初始化時(shí)已經(jīng)賦值了

First Set的構(gòu)建

在前面的陳述后,為了能夠解決shift/reduce矛盾,就需要一個(gè)lookAhead Set,當(dāng)然在構(gòu)建LookAhead Set前,就需要先有First
Set

First Set構(gòu)建算法

* 如果A是一個(gè)終結(jié)符,那么FIRST(A)={A}
* 對于以下形式的語法推導(dǎo):
s -> A a
s是非終結(jié)符,A是終結(jié)符,a 是零個(gè)或多個(gè)終結(jié)符或非終結(jié)符的組合,那么A屬于FIRST(s).
* 對于推導(dǎo)表達(dá)式:
s -> b a
s和b是非終結(jié)符,而且b不是nullable的,那么first(s) = first(b)
* 對于推導(dǎo)表達(dá)式:
s -> a1 a2 … an b
如果a1, a2 … an 是nullable 的非終結(jié)符,b是非終結(jié)符但不是nullable的,或者b是終結(jié)符,那么
first(s) 是 first(a1)… first(an) 以及first(b)的集合。
FirstSetBuilder類

First Set構(gòu)建都在FirstSetBuilder類里實(shí)現(xiàn)

這些就是用代碼將上面的邏輯實(shí)現(xiàn)而已

這時(shí)候之前在SyntaxProductionInit初始化用到的symbolMap、symbolArray兩個(gè)數(shù)據(jù)結(jié)構(gòu)終于派上用場了
public void buildFirstSets() { while (runFirstSetPass) { runFirstSetPass =
false; Iterator<Symbols> it = symbolArray.iterator(); while (it.hasNext()) {
Symbols symbol = it.next(); addSymbolFirstSet(symbol); } }
ConsoleDebugColor.outlnPurple("First sets :"); debugPrintAllFirstSet();
ConsoleDebugColor.outlnPurple("First sets end"); } private void
addSymbolFirstSet(Symbols symbol) { if (Token.isTerminal(symbol.value)) { if
(!symbol.firstSet.contains(symbol.value)) { symbol.firstSet.add(symbol.value);
} return ; } ArrayList<int[]> productions = symbol.productions; for (int[]
rightSize : productions) { if (rightSize.length == 0) { continue; } if
(Token.isTerminal(rightSize[0]) && !symbol.firstSet.contains(rightSize[0])) {
runFirstSetPass = true; symbol.firstSet.add(rightSize[0]); } else if
(!Token.isTerminal(rightSize[0])) { int pos = 0; Symbols curSymbol; do {
curSymbol = symbolMap.get(rightSize[pos]); if
(!symbol.firstSet.containsAll(curSymbol.firstSet)) { runFirstSetPass = true;
for (int j = 0; j < curSymbol.firstSet.size(); j++) { if
(!symbol.firstSet.contains(curSymbol.firstSet.get(j))) {
symbol.firstSet.add(curSymbol.firstSet.get(j)); } } } pos++; } while (pos <
rightSize.length && curSymbol.isNullable); } } }
LookAhead Set的算法
[S -> a .r B, C] r -> r1
r是一個(gè)非終結(jié)符,a, B是0個(gè)或多個(gè)終結(jié)符或非終結(jié)符的集合。

在自動(dòng)機(jī)進(jìn)入r -> r1所在的節(jié)點(diǎn)時(shí),如果采取的是reduce操作,那么自動(dòng)機(jī)的節(jié)點(diǎn)將會(huì)退回[S -> a .r B,
C]這個(gè)推導(dǎo)式所在的節(jié)點(diǎn),所以要正確的進(jìn)行reduce操作就要保證當(dāng)前的輸入字符,必須屬于FIRST(B)

所以推導(dǎo)式2的look ahead集合就是FIRST(B),如果B是空,那么2的look ahead集合就等于C,
如果B是nullable的,那么推導(dǎo)式2的look ahead集合就是FIRST(B) ∪ C

computeFirstSetOfBetaAndc

計(jì)算LookAhead set在每一個(gè)production的方法里
public ArrayList<Integer> computeFirstSetOfBetaAndc() { ArrayList<Integer> set
= new ArrayList<>(); for (int i = dotPos + 1; i < right.size(); i++) {
set.add(right.get(i)); } ProductionManager manager =
ProductionManager.getInstance(); ArrayList<Integer> firstSet = new
ArrayList<>(); if (set.size() > 0) { for (int i = 0; i < set.size(); i++) {
ArrayList<Integer> lookAhead =
manager.getFirstSetBuilder().getFirstSet(set.get(i)); for (int s : lookAhead) {
if (!firstSet.contains(s)) { firstSet.add(s); } } if
(!manager.getFirstSetBuilder().isSymbolNullable(set.get(i))) { break; } if (i
== lookAhead.size() - 1) { //beta is composed by nulleable terms
firstSet.addAll(this.lookAhead); } } } else { firstSet.addAll(lookAhead); }
return firstSet; }
竟然計(jì)算了Lookahead Set,那么在計(jì)算閉包時(shí),每個(gè)節(jié)點(diǎn)里的推導(dǎo)式都要加上LookAhead Set以便之后求語法分析表
private void makeClosure() { ConsoleDebugColor.outlnPurple("==== state begin
make closure sets ===="); Stack<Production> productionStack = new Stack<>();
for (Production production : productions) { productionStack.push(production); }
while (!productionStack.isEmpty()) { Production production =
productionStack.pop(); ConsoleDebugColor.outlnPurple("production on top of
stack is : "); production.debugPrint(); production.debugPrintBeta(); if
(Token.isTerminal(production.getDotSymbol())) {
ConsoleDebugColor.outlnPurple("Symbol after dot is not non-terminal, ignore and
process next item"); continue; } int symbol = production.getDotSymbol();
ArrayList<Production> closures = productionManager.getProduction(symbol);
ArrayList<Integer> lookAhead = production.computeFirstSetOfBetaAndc();
Iterator<Production> it = closures.iterator(); while (it.hasNext()) {
Production oldProduct = it.next(); Production newProduct =
oldProduct.cloneSelf(); newProduct.addLookAheadSet(lookAhead); if
(!closureSet.contains(newProduct)) { closureSet.add(newProduct);
productionStack.push(newProduct); removeRedundantProduction(newProduct); } else
{ ConsoleDebugColor.outlnPurple("the production is already exist!"); } } }
debugPrintClosure(); ConsoleDebugColor.outlnPurple("==== make closure sets end
===="); }
removeRedundantProduction是處理冗余的產(chǎn)生式,比如
1. [t -> . t * f, {* EOI}] 2. [t -> .t * f {EOI}]
這樣就可以認(rèn)為產(chǎn)生式1可以覆蓋產(chǎn)生式2
private void removeRedundantProduction(Production product) { boolean
removeHappended = true; while (removeHappended) { removeHappended = false;
Iterator it = closureSet.iterator(); while (it.hasNext()) { Production item =
(Production) it.next(); if (product.isCover(item)) { removeHappended = true;
closureSet.remove(item); break; } } } }
有限狀態(tài)自動(dòng)機(jī)的壓縮

到現(xiàn)在我們已經(jīng)算出了LookAhead
Set,已經(jīng)可以正確的計(jì)算語法分析表了,但是還有一個(gè)問題就是,現(xiàn)在的自動(dòng)機(jī)節(jié)點(diǎn)過多,非常影響效率,所以下面的任務(wù)就是壓縮有限狀態(tài)自動(dòng)機(jī)


在我們之前構(gòu)造的LR(1)有限自動(dòng)機(jī)里,如果根據(jù)C語言的推導(dǎo)式,應(yīng)該會(huì)產(chǎn)生600多個(gè)狀態(tài)節(jié)點(diǎn),但是是因?yàn)橹霸跇?gòu)造狀態(tài)節(jié)點(diǎn)時(shí),如果相同的推導(dǎo)式但是它的lookAhead
Sets不一樣,就認(rèn)為這是兩個(gè)不一樣的產(chǎn)生式。

下面是對狀態(tài)節(jié)點(diǎn)的equals的重寫
@Override public boolean equals(Object obj) { return checkProductionEqual(obj,
false); } public boolean checkProductionEqual(Object obj, boolean isPartial) {
ProductionsStateNode node = (ProductionsStateNode) obj; if
(node.productions.size() != this.productions.size()) { return false; } int
equalCount = 0; for (int i = 0; i < node.productions.size(); i++) { for (int j
= 0; j < this.productions.size(); j++) { if (!isPartial) { if
(node.productions.get(i).equals(this.productions.get(j))) { equalCount++;
break; } } else { if
(node.productions.get(i).productionEquals(this.productions.get(j))) {
equalCount++; break; } } } } return equalCount == node.productions.size(); }
所以對這些推導(dǎo)式相同但是LookAhead Sets不同的節(jié)點(diǎn),就可以進(jìn)行合并,以達(dá)到壓縮節(jié)點(diǎn)數(shù)量的目的

合并相似的節(jié)點(diǎn)最好的地方,自然就是在添加節(jié)點(diǎn)和節(jié)點(diǎn)之間的跳轉(zhuǎn)關(guān)系的時(shí)候了
public void addTransition(ProductionsStateNode from, ProductionsStateNode to,
int on) { /* Compress the finite state machine nodes */ if
(isTransitionTableCompressed) { from = getAndMergeSimilarStates(from); to =
getAndMergeSimilarStates(to); } HashMap<Integer, ProductionsStateNode> map =
transitionMap.get(from); if (map == null) { map = new HashMap<>(); }
map.put(on, to); transitionMap.put(from, map); }
getAndMergeSimilarStates的邏輯也很簡單,遍歷當(dāng)前的所有節(jié)點(diǎn),找出相似,把編號大的合并到小的節(jié)點(diǎn)上
private ProductionsStateNode getAndMergeSimilarStates(ProductionsStateNode
node) { Iterator<ProductionsStateNode> it = stateList.iterator();
ProductionsStateNode currentNode = null, returnNode = node; while
(it.hasNext()) { currentNode = it.next(); if (!currentNode.equals(node) &&
currentNode.checkProductionEqual(node, true)) { if (currentNode.stateNum <
node.stateNum) { currentNode.stateMerge(node); returnNode = currentNode; } else
{ node.stateMerge(currentNode); returnNode = node; } break; } } if
(!compressedStateList.contains(returnNode)) {
compressedStateList.add(returnNode); } return returnNode; } public void
stateMerge(ProductionsStateNode node) { if
(!this.productions.contains(node.productions)) { for (int i = 0; i <
node.productions.size(); i++) { if
(!this.productions.contains(node.productions.get(i)) &&
!mergedProduction.contains(node.productions.get(i)) ) {
mergedProduction.add(node.productions.get(i)); } } } }
小結(jié)

這一節(jié)的貼的代碼應(yīng)該是到現(xiàn)在五篇里最多,但是主要的就是

*
解決shift/reduce矛盾
主要在于構(gòu)造一個(gè)lookahead sets,也就是當(dāng)前的輸入符號是否能夠合法的跟在reduce后的非終結(jié)符的后面
*
壓縮有限狀態(tài)自動(dòng)機(jī)節(jié)點(diǎn)
壓縮節(jié)點(diǎn)在于合并推導(dǎo)式一樣但是lookahead sets不一樣的節(jié)點(diǎn)

下一篇的內(nèi)容比較少,也就是可以正式構(gòu)造出語法分析表和根據(jù)表驅(qū)動(dòng)的語法分析,也就代表語法分析階段的結(jié)束

另外的github博客:https://dejavudwh.cn/

友情鏈接
ioDraw流程圖
API參考文檔
OK工具箱
云服務(wù)器優(yōu)惠
阿里云優(yōu)惠券
騰訊云優(yōu)惠券
京東云優(yōu)惠券
站點(diǎn)信息
問題反饋
郵箱:[email protected]
QQ群:637538335
關(guān)注微信

感谢您访问我们的网站,您可能还对以下资源感兴趣:

调教肉文小说-国产成本人片免费av-空姐av种子无码-在线观看免费午夜视频-综合久久精品激情-国产成人丝袜视频在线观看软件-大芭区三区四区无码-啊啊好爽啊啊插啊用力啊啊-wanch视频网-国产精品成人a免费观看 成人一区二区三区四区五区| 国产精品三级在线观看| 成人做爰黄AAA片免费直播岛国 | 色综合天天综合网国产成人网 | 在线中文字幕av| 97人妻人人澡人人爽人人| 无码9999| 五月丁香激情综合| 古装一级无遮挡A片| 老司机免费视频| 亚洲狼友| 日韩三级片AV| 中文字幕第27页| 91香蕉国产视频| 青草福利在线| 欧美一级片在线| 婷婷激情四射| 懂色成人视频在线观看| 欧美成人18| 国产一区二区三区成人| 走光无码一区二区三区| 精品国产久久久久久| 国产三级片自拍| 日韩毛片网站| 成人片成人网久久蜜桃臀| 人妖黃色一級A片| 国产69精品久久| 超碰爱爱| 伊人久久大| 人妻电影亚洲av| 中文字幕的| 性饥渴欧美老妇XXXXX| 嫩草av在线| 色狠狠AV| 大伊香蕉久久| 欧美射精视频| 欧美激情在线观看| 九九热99视频| 国产成人AV在线观看| 欧美日韩高清无码| a在线观看| 91人妻人人澡人人精品| 国产一级一片免费播放放a| 免费的毛片| 日韩一区二区无码| 91爱爱com| 国产又粗又大又爽| 亚洲精品在线视频| 午夜成人福利视频| 人妻少妇偷人精品久久| 9l视频自拍蝌蚪9l成人蝌蚪| 在线无码免费观看| 特级特黄A级高潮播放| 欧美成人网站免费在线观看| 亚洲成人黄色网| 人妻人人操| 伊人影院在线免费观看| 亚洲三级毛片| 国产成人免费在线| 亚洲天堂av在线免费观看| 五月婷在线视频| 激情av在线| 国产又爽又黄免费视频网站| yjizz国产| 日韩一级毛| 久久精品视频99| 国产精品123区| 成人高清在线| 五月婷婷综合在线| 国产精品一二三| 日韩无码第四页| 猫咪AV大香蕉| yw在线观看| 欧美日韩国产成人在线观看| 日本特黄AA片免费视频| 色九九| 91视频福利| 狠操在线| 亚洲AV在线看| 国产美女在线播放| 搡BBBB搡BBB搡五十| 台湾成人在线视频| 欧美三级黄色| 国产在线欧美在线| 成人电影综合网| 爱搞搞就搞搞| 高清毛片AAAAAAAAA郊外| 亚洲成人娱乐网| AV日逼网| 无码人妻熟妇| 丁香激情五月天| 日韩色爱| 国产精品夜夜爽7777777| 色交视频| jizz国产视频| 国产精品无码成人AV在线播放 | 91双飞会所双飞在线| 国产无码性爱| 午夜无码电影| 男人天堂无码视频| 人妻无码一区二区三区摄像头| 茄子av| 北条麻妃中文字幕在线观看| 丰臀肥逼高清视频电影播放| 久久精品久久久久久久| 亚洲无码在线免费观看| 影音先锋av成人电影| 亚洲欧洲免费视频| 清清草在线视频| 欧美日韩成人在线视频| 好逼天天操| 亚洲成人精品视频| 人人爱人人爽人人操| 亚洲欧美成人电影| 天堂在线视频免费| 亚人精品中文字幕在线观看| 国产91一区在线精品| 家庭乱伦AV| 黄色大片久草| 欧美在线大香蕉| 六月丁香五月天| 操操AV| 99精品视频在线播放免费| 91视频免费在线看| 亚洲精品97久久中文字幕| 日本免费一二三区| 国产在线观看av| 双腿张开被9个男人调教| 午夜精品18视频国产17c| 操逼视频91| 日韩一级无码视频| 动漫人物插画动漫人物的视频软件| 国产AⅤ爽aV久久久久成人| 中文字幕www一区| 免费亚洲无码| 五月天啪啪视频| 97操碰| 欧美成人手机在线观看| 透逼视频| 欧美黄色性爱| 激情五月毛片| av婷婷在线| 亚洲一级一级黄色| 免费看一级片| 国产欧美日韩视频| 色色天堂成人电影| 这里只有精品久久| 一级片电影网站| 亚洲无码在线播放| 国产精品XXX视频| 91乱伦| 亚洲成人Av| 2019中文字幕mv第三季歌词| 蜜桃毛片| 91亚洲在线观看| 久草超碰在线| 亚洲有码在线视频| 芳芳的骚逼| 亚洲中文字幕免费视频| 麻豆www| 日日撸夜夜撸| 婷婷综合素质二区| 欧美喷水视频| 国产一区无码| 潮喷在线观看| 亚洲综合网在线| 在线观看日本vs欧洲vs美洲| 91操b| 亚洲AV无码一区二区三区少妇| 狠狠穞A片一區二區三區| 亚洲免费大片| 天天搞天天曰在线观看| 狠狠操狠狠撸| xxxxxbbbbb| 色人阁人妻中文字幕| 九九精品国产| 久久国产一区| 黄色电影天堂网站| 亚洲无码三区| 一级片av| 天天射天天日天天干| 日本精品视频| 亚洲精品成人7777777| 91豆花成人社区| 在线观看免费黄| 色婷婷激情视频| 亚洲欧美日韩不卡| 日本a片| 麻豆三级片在线观看| 五月激情久久| 国产美女精品久久AV爽| 韩国精品一区二区| 成人黄色小电影| 四色五月婷婷| 91在线观看高清18| 亚洲AV无码成人精品区| 蜜桃成人无码区免费视频网站 | 熟女视频网站| 久草黄色| 我要看黄色一级片| 色骚爽大香蕉91| 91精品国自产在线观看| 五月天婷婷久久| 国产顶级理伦| 亚洲中午字幕| 日韩欧美黄色电影| 夜夜撸夜夜操| 最新午夜综合福利视频| 色色色99| 人人爽人人操人人| 成人动漫免费观看| 亚洲国产熟妇综合色专区| 97人人爽人人爽人人人| wwwsesese| 欧美在线视频一区二区| 亚洲中文字幕久久日| 亚洲AV无码成人精品区在线欢看 | 青娱乐免费视频| 91一区二区在线观看| 亚洲AV成人片无码网站| 婷婷综合五月| 亚洲AV无码精品久久一区二区| 清清草在线视频| 激情啪啪网站| 99电影网手机在线观看| 91成人精品| 日本精品无码a62v在线| 蜜桃AV无码一区二区三区| 婷婷久久久久久| 日韩高清无码免费看| 天天色天天| 亚洲免费视频在线| 天天综合天天做天天综合| 99九九视频| 91大奶熟女| 黄色三极片| 亚洲精品97| 大乳奶一级婬片A片| 日韩一级黄| 久久精品国产99精品国产亚洲性色| 国产女人18毛片水18精品| 天天色粽合合合合合合合| 伊人五月丁香| 国产精品亚洲一区| 91逼逼| 免费在线观看AV| 成人视频在线播放| 91人妻无码成人精品一区二区| 日本爱爱免费| 毛片操逼视频| 91无码一区二区三区| 91人妻日韩人妻无码专区精品| 久久久性爱| 色婷婷色| 亚洲福利视频在线| 国产黄在线观看| 看看AV| 乌克兰性爱视频| 操逼二区| 高清无码在线免费观看| 99乱伦| 欧美午夜福利在线观看| 日韩成人精品视频| 欧美性受| 国产精品在线观看视频| 黄色小说视频网站| 精品美女视频在线观看免费软件 | 成人电影A片| 欧美日韩操逼片| 6969电视影片最新更新| 综合色国产精品欧美在线观看| 污网站在线观看| 国产拍拍拍| 久久国产无码| 天堂视频在线| 国产无码免费视频| 水蜜桃在线视频| 亚洲另类视频| 内射视频网站| 性欧美亚洲| 初学影院WWWBD英语完整版在线观看 | 色呦呦在线| 亚洲av图片| 青青色在线观看| 国产一区二区电影| 久热这里只有| 亚洲区欧美区| 成人无码免费毛片| 国产做受精品网站在线观看| 北条麻妃无码精品AV怎么看| 日韩三级久久| 国产中文在线视频| 中国一级黄色毛片| 97午夜福利| 五月天伊人| 天天干一干| 国产www在线观看| 蜜桃av秘无码一区二区| 黄色三级片网站| 91三级片| 色色com| 天天操天天操天天操天天| 中文字幕精品一区久久久久| 亚洲精品少妇| 日韩精品极品视频在线观看免费| 免费日韩一级| 国产高潮白浆喷| 日本熟妇高潮BBwBBwBBw| 日本一本不卡| 日本色网站| 91av电影| 午夜操p| 色狠狠AV| 天天夜夜久久| 成人免费网站在线| 日韩精品在线观看免费| 成人电影一区二区| 色婷婷亚洲综合| 国产高清在线观看| 艾操网| 国产精品三级在线| 色婷婷激情五月天| 激情啪啪网站| 狠狠操免费| 国产主播第一页| 亚洲中文字幕在线看| 天堂成人在线| 偷拍99| 操操小骚逼| 亚洲内射无码| 一级黄视频| avwww| 青娱乐超碰在线| 久久久久久国际四虎免费精品视频| 国产69av| 2024国产精品| 豆花av在线| 91在线播放视频| 国产激情在线| 成年人黄色视频免费观看| 超碰2023| 青青操网站| 成人福利在线| 四虎在线视频观看96| 国产一区二区在线播放| 91狠狠色丁香婷婷综合久久精品| 五月在线| 免费视频一区二区| 婷婷国产| 日本无码成人| 日韩无码小电影| AA黄色电影| 亚洲国产视频一区| 亚洲小说区图片区都市| 久久久久久久久久久高清毛片一级| 久久婷视频| 伊人色五月天| 成人精品无码免费视频| 天天操天天操天天操| 中文字幕成人| 天天色人人| 丁香六月啪啪| 少妇搡BBBB搡BBB搡澳门| 国产精品色婷婷99久久精品| 人人色在线观看| 精品999| 大香蕉av一区二区三区在线观看| 俺也去网av| 激情丁香婷婷| 久久一级片| 久草视频2| 做爰视频毛片下载蜜桃视频。| 欧美日韩精品在线观看| 国产精品特级毛片| 做爰视频毛片下载蜜桃视频| 亚洲第一av| 综合插插| 久99久视频| 青娱乐自拍视频| 黄色激情av| 久久这里精品| 性爱免费视频| 国产中文字字幕乱码无限| 亚洲V国产v欧美v久久久久久| 日本中文字幕在线| 第一色网站| 亚洲图片欧美另类| 高清无码1区| 东京热A片| 婷婷成人电影| www.777熟女人妻| 亚洲人天堂| 免费黄色在线观看| 青青草黄色视频| 乌克兰毛片| 亚洲中文字幕日本| 国产精品高潮无套内谢| 亚洲欧美成人| 久久视频免费在线观看| 国产乱子伦精品免费,| 99re视频在线观看| 日韩毛片一区二区| 99一区二区| 日本在线www| 五月丁香婷婷综合网| 9I看片成人免费视频| 天天爽夜夜爽夜夜爽精品| 大香蕉精品视频在线| 免费无码婬片AAAAA片| 国产真实乱婬A片三区高清蜜臀| 免费人成年激情视频在线观看 | 国产丝袜人妖TS系列| 你懂的视频| 操操综合| 亚洲性网| 另类BBwBBw| 制服丝袜人妻| 玖玖精品视频| 精品人无码一区二区三区下载| 91porn国产| 黑人操白人| 国产精品毛片VA一区二区三区| 天堂在线中文字幕| 亚洲色男人天堂| 91干干干| 欧美黄色网视频| 免费在线观看黄视频| 久久99精品国产.久久久久| 狠狠插狠狠操| 亚洲香蕉av| 特大妓女BBwBBWBBw| 久久久久久亚洲精品| 黄色小视频在线免费看| 啪视频网站国产馆| 日韩精品三级| 黄色视频网站亚洲| 国产精品卡一卡二| 无码一区二区三区免费看| 另类罕见稀奇videos| 黄色A毛片| 亚洲三级免费| 日本親子亂子倫XXXX| 护士小雪的yin荡高日记H视频 | 午夜看黄| 无码五区| 色哥网在线一区| 福利网址| 婷婷成人五月天| 俄罗斯熟妇搡BBBB搡BBBB| 看免费操逼视频| 欧美精品秘一区二区三区蜜臀| 中文字幕在线永久| 内射网站| 亚洲色爽| 色婷婷电影网| 蝌蚪窝在线观看| 九色麻豆| 四虎影院人妻| 亚洲成av人无码| 69成人精品| 亚洲精品秘一区二区三区蜜桃久| 操操操网| 青青热视频| 欧美第1页| 1插菊花网| 色秘乱码一区二区三区| 国产三级午夜理伦三级| 麻豆熟妇乱妇熟色A片在线看| 国产视频中文字幕| 男人的天堂免费视频| 久久久少妇| 加勒比无码高清| 色欲大香蕉| 精品国产乱子伦一区二区三区,小小扐 | 国产熟妇搡BBBB搡BBBB搡| 成人免费无码| 日本成人高清视频| 日本中文字幕乱伦| 影音先锋aV成人无码电影| 男人的天堂在线播放| 久久精品片| 三级乱伦| 日韩在线女优天天干| 黄色一级大片| av网站免费看| 黄色视频在线观看| 澳门黄片| 日韩中文在线视频| 俺也去官网| 一品国精和二品国精的文化意义 | 色婷婷视频在线| 成人aV无码精品国产一区二区| 黄色电影一区二区三区| 成人a毛片| 操操AV| 天天做天天爱夜夜爽| 天天色视频| 成人国产精品在线看| 玖玖综合网| 人妻精品一区二区在线| 91精品亚洲| 91乱子伦国产乱| 久久久久亚洲AV无码专区| 精品久久久久久AV2025| 日韩国产高清无码| 国产精品成人无码专区| 人妻丰满精品一区二区| 亚洲国产精品久久久久婷婷老年| 91资源在线| 日韩一级二级三级| 伊人大香焦网| 亚洲成人网站视频| 日韩高清一区| 国产免费AV网站| 国内精品内射| 国产精品乱码一区二区三区| 亚洲一区二区黄色电影视频网站 | 毛片网页| 91无码精品国产| 亚洲视频在线视频| 国产一级二级三级久久久| 免费无码A片在线观看全| 国产午夜成人福利在线| 成人精品无码免费视频| 特级西西人体444www高清大胆| 性感91影院| 国产免费麻豆| 一区二区三区免费在线| 少妇探花| 夜夜撸一撸| 久久久久三级| 上海熟搡BBB搡BBBB| 国产精品美女毛片真酒店| 日韩av中文字幕在线| 免费黄片在线| 亚洲欧美日韩成人| 亚洲一级二级片| 国产精品乱伦| 91豆花视频| 免费a片视频| 亚洲欧美成人电影| 日韩天堂在线观看| 国产精品V日韩精品V在线观看| 调教人妻视频| 国产熟女一区二区视频网站| 韩日一级片| 日韩无码观看| 欧美大香蕉在线视频| 亚洲成人无码在线播放| 黄a在线| 99er在线观看| 日韩人妻久久| 全部在线A片免费播放| 日日夜夜天天操| 丝袜人妻被操视频| 影音先锋一区二区三区| 亚洲黄色精品| 日韩欧美成人在线| 成人做爰69片免费观看| 9l农村站街老熟女| 2026国产精品视频| 国产精品V亚洲精品V日韩精品| 久久永久免费| 久久久久99精品成人片直播| 日本黄色大全| 国产人妻精品一区二区三区不卡 | 国产区在线| 自慰影院| 大香蕉综合在线观看| 最近中文字幕中文翻译歌词| 亚洲天堂女人| 日韩无码一卡二卡| 狼人综合网| 成人日韩| 97人妻人人澡| 黄色成人在线视频| 第一福利视频| 最新无码视频| 丁香五月婷婷综合| 亚洲丁香五月| 亚洲精品视频在线播放| 黄色片毛片| 另类罕见稀奇videos| 中文字幕-区二区三区四区视频中国| 久久久久黄色| 黄色三级毛片| 爱爱无码视频| 亚洲无码99| 国产三级网| 岛国无码在线| 熟妇人妻中文字幕无码老熟妇| 巜人妻初尝按摩师BD中字| 激情网五月天| 成人黄色A片| 91人妻人人澡人人爽人人精品乱| 午夜黄色福利| 成人午夜免费视频| 日韩综合在线| 中日韩特黄A片免费视频| 色色网五月天| 最近中文字幕在线| 伊人影院在线视频| 91爱爱网| 在线视频日本| 亚洲操逼网站| 日韩A级片| 综合在线视频| 日韩中文字幕电影| 国产伊人大香蕉| 91三级片在线播放| 久久久久久久AV| 欧美一区免费| 美女扣穴| 9l视频自拍蝌蚪9l成人蝌蚪 | 日皮视频在线观看免费| 91在线视频免费播放| 国产精品v欧美精品v日韩| 四川BBB嫩BBBB爽BBBB| 欧美激情三区| 亚洲第1页| 超碰成人在线观看| 在线观看黄| 天天躁狠狠躁av| 无码人妻精品一区二区三区温州| 强行征服邻居人妻HD高清日本| 亚洲天堂在线观看免费视频| 大香蕉中文视频| www.re99| 国产丝袜在线视频| 色色色777| 国产三级免费观看| 免费看一级一级人妻片| 日本不卡一区| S28AV| 曰韩一级A片| 在线中文字幕亚洲| 毛片精品| 中文字幕免费在线视频| 欧美熟女18| 国产主播精品| 国产思思99re99在线观看| 五月丁香婷婷基地| 亚洲日本国产| 97国产在线视频| S28AV| 影音先锋麻豆传媒| 成人小说视频| 日韩成人在线观看视频| 狠狠干狠狠草| 青草成人在线视频| 欧美黄色一级网站| 麻豆乱伦视频| 欧美猛交| 木下凛凛子AV888AV在线观看| 国产欧美在线免费观看| 亚洲成人a片| 99热这里是精品| 精品五月天| 免费看黃色AAAAAA片| 美国一级A片草草视频| 少妇BBBB| 亚洲中文字幕免费在线观看| 一级黄色电影免费看| 亚洲操逼视频| 男人操女人视频网站| 在线观看免费视频黄| 国产成人免费观看| 性爱一区| 一级一级a免一级a做免费线看内裤| 久久久久麻豆V国产精华液好用吗 色噜噜狠狠一区二区三区牛牛影视 | 日韩av中文字幕在线| 特级西西WWW888| 欧美,日韩,中文字幕| 另类老妇性BBwBBw图片| 午夜av在线观看| 在线无码av| av福利电影在线| 亚洲国产精品精JIZZ老师| 福利三区| 伊人黄色| 大屌在线| 国产精品乱子伦视频一区二区| 国产人人干| xxxx日韩| 午夜天堂网| 日韩欧美视频| 少妇在线视频| 国产热99| 午夜激情AV| 日本一级理论片在线大全| 91成人小视频| 日韩午夜精品| 亚洲精品一区二区三区四区高清 | 亚洲精品娱乐| 色吧视频| 精品国产va久久久久久久| 日韩中文字幕电影| 亚欧洲精品视频| 91三级在线观看| 国内精品卡一卡二卡三| 亚洲无码自拍| 成人777777免费视频色| 亚洲五月婷| 国产黄色视频观看| 五月婷婷婷婷| 国产一级在线观看| 肏屄视频在线看| 西西444www无码精品| 亚洲欧美日韩性爱| 国产一区二区电影| 亚洲AV无码国产精品| 中文亚洲视频| 啊啊啊国产| 伊人婷婷久久| 加勒比无码在线播放| 人妻少妇av中文字幕乱码牛牛 | 国产精品久久久久国产A级| 天堂一区二区18| 黄色成人在线观看| 婷婷丁香色| 欧美自拍视频在线观看| 无码人妻丰满熟妇区17水蜜桃 | 无码二区三区| 大雞巴疯狂浓精合集| 欧美亚洲综合在线观看| 人人色人人看| 亚洲福利视频电影精| 一本到免费视频| 北条麻妃在线无码| 国产夫妻AV| 日本无码嫩草一区二区| 无码人妻一区二区三区蜜桃视频| 欧美日韩精品久久久免费观看 | 无码不卡视频在线观看| 翔田千里在线播放| 国产黄色在线观看| 在线无码免费视频| 精品无码一区二区三区| 久久夜色精品国产噜噜亚洲AV| 国产黄色视频在线| 91性爱视频在线观看| 特级西西444www大胆免费看| 又黄又爽视频| 99视频在线免费观看| 中文字幕99页| av拍拍| 色三区| 欧美精品久久久久久久久爆乳 | 欧美欧美欧美| 中文字幕永久在线观看| 久久性爱网站| 黄色中文字幕| 天天射天天| 婷婷狠狠爱| 无码任你躁久久久久| 黄色电影网站在线观看| 亚洲A网站| 中文字幕一区二区三区四区五区六区| 特黄A级毛片| 亚洲69视频| 精品视频免费在线| 国产激情视频在线观看| 大香蕉在线网站| 午夜精品18码视频国产17c| 日韩性爱区| 97桃色| 四川少扫搡BBw搡BBBB| 黄片网站免费在线观看| 爱操AV| 激情六月丁香| 国产精品AV网站| 日韩中文字幕不卡| 国产成人三级视频| 黄色视频在线免费看| 日本久久综合| 一级片国产| 日韩黄色电影在线观看| 精品蜜桃秘一区二区三区在线播放 | 日逼视| 日韩欧美一级| 69av在线视频| 人人操日本| 亚洲无码在线免费观看| 成人AV十八亚洲二区| 91人妻一区二区三区| 免费性爱视频网站| 亚洲色热| 精品九九九九九九| 黄色在线免费| 久久婷婷国产综合| 婷婷成人小说| 免费性爱视频网站| 九九自拍视频| 尻屄电影| 在线永久看片免费的视频| 亚洲成人电影一区| 人妻无码91| 91精品久久香蕉国产线看观看 | 成人精东影业JDAV3密友| 国产黄色精品视频| 亚洲AV成人电影| 国产一级婬片A片免费妖精视频| 操逼观看| 国产丝袜自拍| 日韩无码123区| 欧美色图网站| 青春草免费视频| 国产绿奴09-01| 男女无码| 国产经典午夜福利视频合集| 操美女的网站| 久色视频福利| 国产精品午夜福利| 小明看台湾成人永久免费视频网站| 国产成人综合亚洲| 91麻豆精品成人一区二区| 欧洲亚洲视频| 国产精品色综合| 第四色网站| 一区二区高清| 黄色特级毛片| 探花一区二区| 亚洲一二区| 少妇大战28厘米黑人| www四虎| 丰滿人妻-区二区三区| 国产逼逼| 国产aa| 国产色情视频| 性无码一区二区三区在线观看| 亚洲中文无码AV在线| 99久久99九九99九九九| 蜜桃传媒入口| 国产免费高清无码| 毛片一区| 国产suv精品一区二区| 日韩欧美精品一区二区| 1区2区视频| 日逼高清视频| 亚洲AV成人片色在线观看麻豆 | 99热在线观看者| 败火老熟女ThePorn视频| 亚洲性爱一区| 国产在线拍揄自揄拍无码网站新闻 | 一区二区三区久久久久〖网:.〗 | 大香蕉性爱| 亚洲成人观看| 神马午夜福利影院| 精品精品精品| 凸凹翔田千里无码| 日本午夜三级视频| 一本一道久久综合狠狠躁牛牛影视 | 亚洲三级黄片| 四川揉BBB搡BBB| 国产欧美一区二区人妻喷水| 欧美A片在线观看| 一卡二卡无码| 可以免费看AV的网站| 精品日逼| 色播欧美| 99视频+国产日韩欧美| 一区无码视频| 88海外华人免费一区| 黄片网站免费观看| 国产成人a亚洲精品| 四虎成人无码A片观看| 超清无码在线| 男女一区二区三区| 97桃色| 澳门簧片| 永久免费看A人片无码精| 大香蕉一区二区| 国产无码电影| 99操逼| 久久国产精品网站| 亚洲无码影片| 小泬BBBBBB免费看| 在线A视频| 天天免费视频| 嫩草久久99www亚洲红桃| 在线视频久| 91亚洲国产成人久久精品网站| 国产女人与禽zOz0性| 91AV一区二区三区| 18成人在线观看| 欧美性爱免费在线视频| 91香蕉国产在线观看| 国产精品成人国产乱| 日本在线一级片| 成人精品一区二区三区视频| 成人大香蕉| 亚洲AV日韩AV永久无码网站| 中文字幕乱伦| 国产色片| 激情99| 黄色成人网站在线观看| 国产一级a毛一级a爰片| 久久精品99| 内射视频网站| 黄色片在线播放|