
編譯原理培訓(xùn)
第1講 緒論
1-4 語法分析概述
1-5 語義分析概述
1-6 中間代碼生成及編譯器后端概述
1-1 什么是編譯
1-2 編譯系統(tǒng)的結(jié)構(gòu)
1-3 詞法分析概述
第2講 程序設(shè)計(jì)語言及其文法
2-1 基本概念
2-2 文法的定義
2-3 語言的定義
2-4 文法的分類
2-5 CFG的分析樹
第3講 詞法分析
3-1 正則表達(dá)式
3-2 正則定義
3-3 有窮自動(dòng)機(jī)
3-4 有窮自動(dòng)機(jī)的分類
3-5 從正則表達(dá)式到有窮自動(dòng)機(jī)
3-6 從NFA到DFA的轉(zhuǎn)換
3-7 識(shí)別單詞的DFA
第4講 語法分析_1
4-1 自頂向下分析概述
4-2 文法轉(zhuǎn)換
4-3 LL(1)文法
本講課程講義(PDF文檔)
4-4 FIRST集和FOLLOW集的計(jì)算
第5講 語法分析_2
4-5 遞歸的預(yù)測(cè)分析法
4-6 非遞歸的預(yù)測(cè)分析法
4-7 預(yù)測(cè)分析中的錯(cuò)誤處理
第6講 語法分析_3
4-8 自底向上分析概述
4-9 LR分析法概述
4-10 LR(0)分析
4-11 LR(0)分析表構(gòu)造算法
第7講 語法分析_4
4-12 SLR分析
4-13 LR(1)分析
4-14 LALR分析法
4-15 二義性文法的LR分析
4-16 LR分析中的錯(cuò)誤處理
!!!第7講重點(diǎn)難點(diǎn)解析
第8講 語法制導(dǎo)翻譯_1
5-1 語法制導(dǎo)翻譯概述
5-2 語法制導(dǎo)定義SDD
5-3 SDD的求值順序
5-4 S-屬性定義與L-屬性定義
第9講 語法制導(dǎo)翻譯_2
5-5 語法制導(dǎo)翻譯方案SDT
5-6 在非遞歸的預(yù)測(cè)分析過程中進(jìn)行翻譯
第10講 語法制導(dǎo)翻譯_3
5-7 在遞歸的預(yù)測(cè)分析過程中進(jìn)行翻譯
5-8 L-屬性定義的自底向上翻譯
!!!第10講重點(diǎn)難點(diǎn)解析
第11講 中間代碼生成_1
6-1 類型表達(dá)式
6-2 聲明語句的翻譯
【討論11-1】如何計(jì)算數(shù)組的類型表達(dá)式及數(shù)組寬度?
本講課程講義(PPT文檔)
第11講測(cè)驗(yàn)(計(jì)分)
第12講 中間代碼生成_2
!!!第12講重點(diǎn)難點(diǎn)解析
6-3 簡(jiǎn)單賦值語句的翻譯
6-4 數(shù)組引用的翻譯
本講課程講義(PDF文檔)
第13講 中間代碼生成_3
6-5 控制流語句及其SDT
6-6 布爾表達(dá)式及其SDT
6-7 控制流翻譯的例子
第14講 中間代碼生成_4
6-8 布爾表達(dá)式的回填
6-9 控制流語句的回填
6-10 switch語句的翻譯
6-11 過程調(diào)用語句的翻譯
第15講 運(yùn)行存儲(chǔ)分配
7-1 運(yùn)行存儲(chǔ)分配概述
7-2 靜態(tài)存儲(chǔ)分配
7-3 棧式存儲(chǔ)分配
7-4 調(diào)用序列和返回序列
7-5 非局部數(shù)據(jù)的訪問
7-6 符號(hào)表
7-7 符號(hào)表的建立
第16講 代碼優(yōu)化_1
8-1 流圖
8-2 常用的代碼優(yōu)化方法(一)
8-3 常用的代碼優(yōu)化方法(二)
8-4 基本塊的優(yōu)化
第17講 代碼優(yōu)化_2
8-5 數(shù)據(jù)流分析
8-6 到達(dá)定值分析
8-7 到達(dá)定值方程的計(jì)算
第18講 代碼優(yōu)化_3
8-8 活躍變量分析
8-9 可用表達(dá)式分析
第19講 代碼優(yōu)化_4
8-10 支配結(jié)點(diǎn)和回邊
8-11 自然循環(huán)及其識(shí)別
8-12 刪除全局公共子表達(dá)式和復(fù)制語句
8-13 代碼移動(dòng)
8-14 作用于歸納變的強(qiáng)度削弱
8-15 歸納變量的刪除
第20講 代碼生成
9-1 代碼生成器的主要任務(wù)
9-2 一個(gè)簡(jiǎn)單的目標(biāo)機(jī)模型
9-3 指令選擇
9-4 寄存器的選擇
9-5 寄存器選擇函數(shù)getReg的設(shè)計(jì)
9-6 窺孔優(yōu)化