方法
目前,已存在許多語法分析的方法。但就產生語法樹的方向而言,可大致把他們分為自底向上和自頂向下兩大類。目前比較流行LL分析法和LR分析法。
自上而下語法分析方法
給定文法G和源程式串r。從G的開始符號S出發,通過反覆使用產生式對句型中的非終結符進行替換(推導),逐步推導出r 。
是一種產生的方法,面向目標的方法。
分析的主旨是選擇產生式的合適的侯選式進行推導,逐步使推導結果與r匹配.
自下而上語法分析方法
從給定的輸入串r開始,不斷尋找子串與文法G中某個產生式P的候選式進行匹配,並用P的左部代替(歸約)之,逐步歸約到開始符號S。
是一種辨認的方法,基於目標的方法。
分析的主旨是尋找合適的子串與P的侯選式進行匹配,直到歸約到G的S為止 。
功能
按照源語言的語法規則,從詞法分析的結果中識別出相應的語法範疇,同時進行語法檢查。
給定文法G和字元串( ∈VT*),檢查、判定 ∈L(G)?即檢查、判定是否是文法G所能產生的合法的句子,同時報告和處理語法錯誤。
構造元素
源程式串 (L1形式)
源語言的文法G
識別出的語法範疇的表示