青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

loop_in_codes

低調做技術__歡迎移步我的獨立博客 codemaro.com 微博 kevinlynx

[總結]LL(1)分析法及其實現

LL(1)分析法和遞歸下降分析法同屬于自頂向下分析法。相對于遞歸下降而言,LL通過顯示
地維護一個棧來進行語法分析,遞歸下降則是利用了函數調用棧。

LL分析法主要由分析棧、分析表和一個驅動算法組成。其實LL的分析算法還是很容易懂的,
主要就是一個匹配替換的過程。而要構造這里的分析表,則還涉及計算first集和follow集
的算法。

1

個人覺得龍書在解釋這些算法和概念時都非常清楚細致,雖然也有人說它很晦澀。

first集和follow集的計算,拋開書上給的嚴密算法,用人的思維去理解(對于compiler
compiler則需要用程序去構造這些集合,這是讓計算機去理解),其實很簡單:

1、對于某個非終結符A的first集(first(A)),簡單地說就是由A推導得到的串的首符號的
集合:A->aB,那么這里的a就屬于first(A),很形象。
2、follow(A),則是緊隨A的終結符號集合,例如B->Aa,這里的a就屬于follow(A),也很形
象。

當然,因為文法符號中有epsilon,所以在計算上面兩個集合時則會涉及到一種傳遞性。例
如,A->Bc, B->epsilon,B可以推導出epsilon,也就是基本等同于沒有,那么first(A)中
就會包含c符號。

在了解了first集和follow集的計算方法后,則可以通過另一些規(guī)則構造出LL需要的分析表。

編譯原理里總有很多很多的理論和算法。但正是這些理論和算法,使得編譯器的實現變得簡
單,代碼易維護。

在某個特定的編程語言中,因為其文法一定,所以對于其LL(1)實現中的分析表就是確定的
。我們也不需要在程序里動態(tài)構造first和follow集合。

那么,要實現一個LL(1)分析法,大致步驟就集中于:設計文法->建立該文法的分析表->編
碼。

LL分析法是不能處理左遞歸文法的,例如:expr->expr + term,因為左遞歸文法會讓對應
的分析表里某一項存在多個候選式。這里,又會涉及到消除左遞歸的方法。這個方法也很簡
單,只需要把文法推導式代入如下的公式即可:

A -> AB | C 等價于:A -> CX, X -> BX | epsilon

最后一個問題是,如何在LL分析過程中建立抽象語法樹呢?雖然這里的LL分析法可以檢查文
法對應的語言是否合法有效,但是似乎還不能做任何有意義的事情。這個問題歸結于語法制
導翻譯,一般在編譯原理教程中語法分析后的章節(jié)里。

LL分析法最大的悲劇在于將一棵在人看來清晰直白的語法樹分割了。在遞歸下降分析法中,
一個樹節(jié)點所需要的屬性(例如算術運算符所需要的操作數)可以直接由其子節(jié)點得到。但
是,在為了消除左遞歸而改變了的文法式子中,一個節(jié)點所需要的屬性可能跑到其兄弟節(jié)點
或者父節(jié)點中去了。貌似這里可以參考“繼承屬性”概念。

不過,綜合而言,我們有很多業(yè)余的手段來處理這種問題,例如建立屬性堆棧。具體來說,
例如對于例子代碼中計算算術表達式,就可以把表達式中的數放到一個棧里。

例子中,通過在文法表達式中插入動作符號來標識一個操作。例如對于文法:
expr2->addop term expr2,則可以改為:expr2->addop term # expr2。當發(fā)現分析棧的棧
頂元素是'#'時,則在屬性堆棧里取出操作數做計算。例子中還將操作符壓入了堆棧。

下載例子,例子代碼最好對照arith_expr.txt中寫的文法和分析表來看。

PS,最近在云風博客中看到他給的一句評論,我覺得很有道理,并且延伸開來可以說明我們
周圍的很多現象:

”很多東西,意識不到問題比找不到解決方法要嚴重很多。比如one-pass 這個,覺得實現
麻煩不去實現,和覺得實現沒有意義不去實現就是不同的。“

對于以下現象,這句話都可以指明問題:
1、認為造輪子沒有意義,從不考慮自己是否能造出;
2、常告訴別人某個技術復雜晦澀不利于團隊使用,卻并不懂這個技術;
3、籠統來說,【覺得】太多東西沒有意義,雖然并不真正懂這個東西。

posted on 2010-03-15 21:33 Kevin Lynx 閱讀(9695) 評論(2)  編輯 收藏 引用 所屬分類: 編譯原理

評論

# re: [總結]LL(1)分析法及其實現[未登錄] 2010-03-16 08:17 ~

籠統來說,【覺得】太多東西沒有意義,雖然并不真正懂這個東西!  回復  更多評論   

# re: [總結]LL(1)分析法及其實現 2010-05-17 15:08 路過

3、籠統來說,【覺得】太多東西沒有意義,雖然并不真正懂這個東西。


1、認為造輪子沒有意義,從不考慮自己是否能造出;
這個比喻很失水準。應該為不知道輪子有什么用  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久综合九色| 亚洲永久精品国产| 亚洲一区三区电影在线观看| 久久免费黄色| 国产一区二区三区自拍| 日韩一区二区精品| 另类图片国产| 久久福利影视| 黄色成人免费观看| 久久久久久电影| 性18欧美另类| 激情懂色av一区av二区av| 99爱精品视频| 免费h精品视频在线播放| 久久成人18免费网站| 国产嫩草一区二区三区在线观看| 亚洲小说春色综合另类电影| 久久综合网hezyo| 久久久成人网| 伊人成人开心激情综合网| 久久在精品线影院精品国产| 欧美亚洲一级片| 国产欧美日韩在线观看| 欧美在线关看| 久久久www| 亚洲国内欧美| aa亚洲婷婷| 国产精品久久久久久亚洲调教| 亚洲一区欧美激情| 亚洲欧美日韩久久精品| 国产欧亚日韩视频| 免费看的黄色欧美网站| 免费欧美视频| 亚洲欧美日韩精品久久| 欧美一区二区黄色| 亚洲娇小video精品| 欧美成人一品| 欧美色另类天堂2015| 欧美在线视频网站| 另类尿喷潮videofree| 在线视频你懂得一区| 欧美一区二区三区四区高清 | 亚洲影院免费观看| 午夜久久福利| 日韩视频在线观看免费| 欧美亚洲日本一区| 日韩午夜av在线| 亚洲日韩中文字幕在线播放| 国产精品国产三级国产普通话蜜臀| 西西人体一区二区| 欧美大片免费观看在线观看网站推荐| 日韩亚洲在线观看| 一区二区三区高清| 亚洲福利国产精品| 国产精品99久久久久久久久久久久| 国产一区二区三区四区三区四| 亚洲激情电影在线| 欧美日韩亚洲系列| 久久久水蜜桃av免费网站| 欧美精品大片| 开元免费观看欧美电视剧网站| 欧美国产高清| 久久夜色精品国产亚洲aⅴ| 欧美日韩一区二区三区在线看| 久久视频这里只有精品| 国产精品久久久久9999| 亚洲激情亚洲| 伊人久久亚洲影院| 艳女tv在线观看国产一区| 欧美日韩直播| 亚洲国产成人av在线| 伊人蜜桃色噜噜激情综合| 亚洲一区美女视频在线观看免费| 国产视频精品免费播放| 一区二区黄色| 在线亚洲精品| 欧美日产一区二区三区在线观看| 模特精品在线| 国产日韩专区| 亚洲欧美日韩国产成人| 亚洲欧美日韩在线| 欧美日韩影院| 99精品国产在热久久| 99精品免费网| 欧美日本中文| 亚洲国产精品黑人久久久| 在线观看91精品国产麻豆| 久久九九99| 久久亚洲精品中文字幕冲田杏梨| 国产精品自在线| 亚洲国产va精品久久久不卡综合| 亚洲动漫精品| 蘑菇福利视频一区播放| 亚洲国产日韩欧美在线图片| 亚洲精品乱码久久久久久蜜桃91| 91久久综合| 亚洲夜晚福利在线观看| 国产精品爱久久久久久久| 亚洲午夜精品久久久久久浪潮| 亚洲欧美在线观看| 国产日韩欧美三区| 久久精品99| 亚洲美女精品久久| 欧美视频一二三区| 99在线热播精品免费99热| 99精品视频免费| 国产精品久久久久久久久借妻| 午夜精品久久久久久久久| 久久久夜精品| 亚洲精品国产拍免费91在线| 欧美日韩午夜在线| 亚洲女同在线| 欧美一区二区性| 国产一区日韩一区| 欧美一区永久视频免费观看| 美女91精品| 亚洲一级特黄| 韩国欧美一区| 欧美日韩成人综合| 午夜精品久久久久久久男人的天堂 | 欧美日本不卡| 久久精品视频在线播放| 亚洲视频第一页| 亚洲国产你懂的| 免费欧美日韩国产三级电影| 亚洲欧美成人精品| 99视频在线精品国自产拍免费观看 | 午夜久久电影网| 一本久道综合久久精品| 欧美国产日韩在线| 久久一区二区三区av| 欧美在线亚洲综合一区| 一区二区三区免费观看| 亚洲第一精品在线| 狠色狠色综合久久| 国产日韩一区欧美| 国产伦精品一区二区三区在线观看 | 欧美日韩在线直播| 欧美.日韩.国产.一区.二区| 久久福利影视| 欧美在线看片a免费观看| 亚洲一区免费看| 亚洲社区在线观看| 日韩视频在线一区二区| 亚洲国产一区在线| 欧美国产日韩一区二区在线观看| 久久亚洲电影| 久久婷婷综合激情| 卡一卡二国产精品| 麻豆精品网站| 欧美华人在线视频| 亚洲高清资源综合久久精品| 亚洲第一网站| 亚洲精品国产精品国产自| 亚洲国内在线| 一区二区日韩欧美| 亚洲一区二区免费视频| 亚洲欧美日韩国产| 久久精品99无色码中文字幕| 久久综合亚州| 欧美激情片在线观看| 欧美日韩一区二区欧美激情 | 欧美国产免费| 欧美日韩国产一区二区| 欧美午夜宅男影院| 国产麻豆91精品| 伊人婷婷欧美激情| 99riav久久精品riav| 亚洲男人的天堂在线| 久久精品一区蜜桃臀影院| 免费一级欧美片在线观看| 亚洲国产精品成人久久综合一区| 亚洲精品中文字| 亚洲自拍偷拍色片视频| 久久久久久久久久久一区| 欧美sm视频| 国产九九视频一区二区三区| 激情婷婷欧美| 日韩亚洲欧美成人| 性刺激综合网| 欧美高清视频在线观看| 夜夜嗨网站十八久久| 欧美伊人久久久久久久久影院| 另类激情亚洲| 国产精品免费观看视频| 伊人久久亚洲热| 亚洲欧美日本日韩| 美国成人毛片| 亚洲先锋成人| 六十路精品视频| 国产婷婷97碰碰久久人人蜜臀| 亚洲激情图片小说视频| 亚洲欧美日本伦理| 亚洲国产高清aⅴ视频| 午夜伦理片一区| 欧美精品七区| 1000部国产精品成人观看| 亚洲欧美综合精品久久成人| 欧美二区在线看| 欧美一级淫片aaaaaaa视频|