天天看點

編譯原理——第四章第四章  文法分析    自上而下分析

第四章  文法分析    自上而下分析

知識總結:

1、文法分析器功能

在詞法分析識别出單詞符号串的基礎上,分析并判定程式的文法結構是否符合文法規則。

編譯原理——第四章第四章  文法分析    自上而下分析

(1)從文法的起始符出發進行句子的推導,即自上而下的分析

(2)從句子本身出發,進行歸約,看能否把句子規約為到起始符,即自下而上的規約

2、自上而下(推導)面臨的問題

編譯原理——第四章第四章  文法分析    自上而下分析

3、LL(1)分析法

LL(1):L:left->right掃描輸入串;L:最左推導;1:分析每一步隻向前檢視一個符号

(1)消除左遞歸

直接左遞歸:

編譯原理——第四章第四章  文法分析    自上而下分析

間接左遞歸:

編譯原理——第四章第四章  文法分析    自上而下分析
編譯原理——第四章第四章  文法分析    自上而下分析

(2)消除回溯 提左因子

  ---條件

編譯原理——第四章第四章  文法分析    自上而下分析

---改造文法

編譯原理——第四章第四章  文法分析    自上而下分析

(3)分析條件

編譯原理——第四章第四章  文法分析    自上而下分析

---條件

編譯原理——第四章第四章  文法分析    自上而下分析

4、遞歸下降分析程式構造

編譯原理——第四章第四章  文法分析    自上而下分析

5、預測分析程式

---基礎

預測分析表:指導分析過程中候選式的選取

***重點

對于給定文法構造每個非終結符的FIRST和FOLLOW集合

(1)FIRST

編譯原理——第四章第四章  文法分析    自上而下分析

(2)FOLLOW

編譯原理——第四章第四章  文法分析    自上而下分析

6、LL(1)分析中的錯誤處理

編譯原理——第四章第四章  文法分析    自上而下分析

知識應用

編譯原理——第四章第四章  文法分析    自上而下分析
編譯原理——第四章第四章  文法分析    自上而下分析
編譯原理——第四章第四章  文法分析    自上而下分析
編譯原理——第四章第四章  文法分析    自上而下分析
編譯原理——第四章第四章  文法分析    自上而下分析

總結

     這一章學起來遇到不少困難,在前幾章的基礎上接觸到了更加晦澀難懂的新内容,有的知識點甚至連定義概念都搞不懂。我個人認為的難點也是重點就是在于預測分析表的構造中的FIRST和FOLLOW集合問題,自己通過例題能夠将FIRST和FOLLOW集構造出來,但是當自己真正做題時那些構造技巧很容易就混淆,而且這兩者有緊密結合關系,一有不仔細,全都錯了。總的來時還是對知識點了解的不透徹,缺少練習,不能合理運用知識點。這個就隻能通過多加練習來解決了。