1、語法分析器的作用
? ? 語法分析器接收詞法分析器提供的記號串,檢查它們是否能由源程序語言的文法產(chǎn)生。
? ? 典型的語法分析器主要分為通用語法分析方法,自頂向下和自底向上的方法。
? ? 語法分析時錯誤恢復(fù)策略:緊急方式恢復(fù)策略、短語級恢復(fù)策略、出錯產(chǎn)生式策略、全局糾正策略。
2、上下下文無關(guān)文法
? ? 上下文無關(guān)文法由終結(jié)符、非終結(jié)符、開始符號和產(chǎn)生式組成。
? ? 推導(dǎo)的核心思想是把產(chǎn)生式看成重寫規(guī)則,即用產(chǎn)生式右部的串來代替左部的非終結(jié)符。分析樹是推倒的圖形表示。
3、文法的編寫
? ? 正規(guī)表達(dá)式所描述的每一種結(jié)構(gòu)都可以用上下無關(guān)文法來描述。正規(guī)表達(dá)式不能描述嵌套結(jié)構(gòu)。但是正規(guī)表達(dá)提供了比上下無關(guān)文法更簡潔且易于理解的定義,并且可以自動構(gòu)造有效的詞法分析器。
? ? 消除二義性。
? ? 消除左遞歸算法。
? ? 提取左因子算法。