複製鏈接
請複製以下鏈接發送給好友

語法分析

鎖定
語法分析是編譯過程的一個邏輯階段。語法分析任務是在詞法分析的基礎上將單詞序列組合成各類語法短語,如“程序”,“語句”,“表達式”等等.語法分析程序判斷源程序在結構上是否正確.源程序的結構由上下文無關文法描述.語法分析程序可以用YACC等工具自動生成。
完成語法分析任務的程序稱為語法分析器,或語法分析程序。 [1]  按照源語言的語法規則,從詞法分析的結果中識別出相應的語法範疇,同時進行語法檢查。
中文名
語法分析
領    域
程序編譯
基    礎
詞法分析
方    法
LL分析法和LR分析法

目錄

語法分析方法

目前,已存在許多語法分析的方法。但就產生語法樹的方向而言,可大致把他們分為自底向上和自頂向下兩大類。目前比較流行LL分析法和LR分析法。
自上而下語法分析方法
給定文法G和源程序串r。從G的開始符號S出發,通過反覆使用產生式對句型中的非終結符進行替換(推導),逐步推導出r 。 [1] 
是一種產生的方法,面向目標的方法。 [1] 
分析的主旨是選擇產生式的合適的侯選式進行推導,逐步使推導結果與r匹配. [1] 
自下而上語法分析方法
從給定的輸入串r開始,不斷尋找子串與文法G中某個產生式P的候選式進行匹配,並用P的左部代替(歸約)之,逐步歸約到開始符號S。 [1] 
是一種辨認的方法,基於目標的方法。 [1] 
分析的主旨是尋找合適的子串與P的侯選式進行匹配,直到歸約到G的S為止 。 [1] 

語法分析功能

按照源語言的語法規則,從詞法分析的結果中識別出相應的語法範疇,同時進行語法檢查。 [1] 
給定文法G和字符串( ∈VT*),檢查、判定 ∈L(G)?即檢查、判定是否是文法G所能產生的合法的句子,同時報告和處理語法錯誤。 [1] 

語法分析構造元素

源程序串 (L1形式) [1] 
源語言的文法G [1] 
識別出的語法範疇的表示 [1] 
參考資料
  • 1.    陳英,陳朔鷹.編譯原理:清華大學出版社,2009年