1. 程式人生 > >編譯原理第四章—語法分析

編譯原理第四章—語法分析

第四章

1、知識點圖

重點記憶:

語法分析器功能:


語法分析的工作:

       判斷一個輸入串是否符合語法規則
如何判斷?
       從文法的起始符出發進行句子的推導,即自上而下的分析
從句子本身出發,進行歸約,看能否把句子規約為到起始符,即自下而上的規約

分析的結果:構造一棵語法樹

自上而下分析面臨的問題:

1、文法的左遞迴問題
2、回溯的不確定性,要求我們將已經完成工作推倒從來,
3、虛假匹配的問題
4、不能準確地確定輸入串中出錯的位置

5、效率低

遞迴下降分析程式構造:

當一個文法滿足LL(1)條件時,我們就可以構造一個不帶回溯的自上而下分析程式,這個分析程式由一組(可能的)遞迴程式組成,每個過程對應文法的一個非終結符。這樣一個分析程式稱為遞迴下降分析器。

具體做法:
對文法的每一個非終結符都編一個分析程式

當根據文法和當時的輸入符號預測到要用某個非終結符去匹配輸入串時,就呼叫該非終結符的分析程式。

2、驗證使用(習題處理):



3、課堂感受:

      這章的內容概念性的很少,但是許多的“怎麼解決”,“怎麼構造”很繁瑣和麻煩,而且有很多不仔細看不知道怎麼得出來的,相對來說還是有難度的,得多看幾遍。