語法分析,121頁
此文是讀書筆記,大部分讀書筆記是不適合他人讀的。
語法分析分三種:
錯誤恢復策略
恐慌模式的恢復
短語層次的恢復
錯誤產生式
全域性糾正
上下文無關方法
由終結符號,非終結符號,乙個開始符號和一組產生式組成。
推導語法分析樹和推導
語法分析樹,是二義性的(ambiguous)
大部分語法分析器都期望文法是無二義性的。
驗證文法生成的語言
上下文無關文法和正規表示式
4.3 設計文法
4.3.1 詞法分析和語法分析
4.3.2 消除二義性
4.3.3 左遞迴的消除
4.3.4 提取左公因子
一種文法轉換方法,可以產生適用於**分析技術或自頂向下分析技術的文法。
4.3.5 非上下文無關語言的構造
4.4 自頂向下的語法分析
4.4.1 遞迴下降的語法分析
4.4.2 first 和 follow
4.4.3 ll(1) 文法
l 表示從左向右掃瞄輸入
l 表示產生最左推導
1 表示在每一步中需要向前看乙個輸入符號來決定語法分析動作。
4.4.4 非遞迴的**分析
4.4.5 **分析中的錯誤恢復
4.5 自底向上的語法分析
4.5.1 歸約
4.5.2 控制代碼剪枝
4.5.3 移入 歸約語法分析技術
4.5.4 移入 歸約語法分析中的衝突
4.6 lr 語法分析技術介紹:簡單 lr 技術
4.6.1 為什麼使用 lr 語法分析器
**驅動的
4.6.2 項和 lr(0) 自動機
4.6.3 lr 語法分析演算法
4.6.4 構造 slr 語法分析表
4.6.5 可行字首
4.7 更強大的 lr 語法分析器
4.8 使用二義性文法
4.9 語法分析器的生成工具
4.9.1 語法分析器生成工具 yacc
在 unix 中是命令方式出現的。
源程式是:
宣告%%
翻譯規則
%%輔助性 c 語言例程
4.9.2 使用 yacc 處理二義性文法
4.9.3 使用 lex 建立 yacc 的詞法分析器
4.9.4 yacc 中的錯誤恢復
編譯原理第四章學習總結
通過第三章對於正規式及有限自動機等知識內容的學習,我們初步了解了詞法分析器。從而進入第四章 語法分析的學習。在第四章中我們可以了解到語法分析是編譯過程的核心部分,它的任務是在詞法分析識別出單詞符號串的基礎上,分析並判定程式的語法結構是否符合語法規則。地位極高。一 學習內容 對於語法分析器而言,它的主...
編譯原理第四章課程總結
語法分析的方法主要有 1.自上而下分析方法 a 遞迴下降子程式 b 非遞迴 分析,如ll 1 2.自下向上分析方法 a 算符優先分析b lr分析方法 lr 0 slr 1 lr 1 lalr 一 自上而下分析方法 1 遞迴下降子程式分析方法 a 為每乙個非終結符寫乙個分析過程 b 這些過程可能是遞迴...
讀《C 入門經典》第四章
c 也算是半路出家了,基礎不是很好,這幾天重新學習了一下 c 入門經典 算是打基礎啦。前三章已經看完了,今天開始看第四章。1 c 簡介 2 編寫c 程式 3 變數和表示式 4 流程控制 分支,迴圈 4.1 布林邏輯 布林比較 關係運算子 bool islessthan10 islessthan10 ...