介紹編譯原理,了解乙個新的領域,得去了解它的整體框架
語法分析
語義分析(語法制導翻譯)
中間**生成(生成彙編)
**生成優化
執行彙編(3位址或4位址**的彙編執行)
1.根據語言寫出文法產生式
2.構造與某一正規式等價自小dfa
dfa(deterministic finite automation):確定有限自動機
nfa(non-deterministic finite automation):非確定有限自動機
解題步驟:
3.dfa化簡
解題步驟:
4.總結
1.消除左遞迴
2.ll(1)分析法
ll(1)3個條件:
1.有沒有左遞迴 2.有沒有回溯 3.first和follow集合有沒有相交
3.根據產生式畫出語法樹,寫出短語,直接短語,控制代碼
4.lr(0)分析法
1.逆波蘭表示式(只考算術表示式)
a+b*c+d的逆波蘭為 abc*+d+
1.陣列,if語句,while的翻譯
dag圖優化
介紹編譯原理,了解乙個新的領域,得去了解它的整體框架
語法分析
語義分析(語法制導翻譯)
中間**生成(生成彙編)
**生成優化
執行彙編(3位址或4位址**的彙編執行)
1.根據語言寫出文法產生式
2.構造與某一正規式等價自小dfa
dfa(deterministic finite automation):確定有限自動機
nfa(non-deterministic finite automation):非確定有限自動機
解題步驟:
3.dfa化簡
解題步驟:
4.總結
1.消除左遞迴
2.ll(1)分析法
ll(1)3個條件:
1.有沒有左遞迴 2.有沒有回溯 3.first和follow集合有沒有相交
3.根據產生式畫出語法樹,寫出短語,直接短語,控制代碼
4.lr(0)分析法
1.逆波蘭表示式(只考算術表示式)
a+b*c+d的逆波蘭為 abc*+d+
1.陣列,if語句,while的翻譯
dag圖優化
編譯原理 複習
1 什麼叫編譯程式 高階語言 翻譯為 目標語言 組合語言或機器語言 2 編譯程式的6個階段 1 詞法分析 簡單理解就是掃瞄,很傻瓜式地由頭到尾掃瞄源程式,識別出 單詞 輸出結果是二元組,即 單詞總別,值 2 語法分析 根據語法規則將單詞符號串行分解成各類語法單位,如 表示式 語句 程式 3 語義分析...
編譯原理複習
文法與語言 基本概念 字母表 字母表是元素的非空有窮集合 字母表中的元素稱為符號 字元或字 字母表也稱符號 字元 集 字母表上的符號串 由字母表中的符號所構成的任何有窮序列被稱之為該字母表上的符號串 字母表上的元素也是該字母表上的符號串 無任何符號的符號串稱為空符號串,記作 符號串的長度 符號串的長...
編譯原理複習
從功能上看,乙個編譯程式就是乙個語言翻譯程式。語言翻譯程式把一種語言 稱為源語言 書寫的程式翻譯成另一種語言 稱作目標語言 的等價程式。源語言編寫的程式稱為源程式 目標語言書寫的程式稱為目標程式 有時把編譯的過程分為前端和後端,前端的工作主要依賴於源語言而與目標機無關,前端通常包括詞法分析 語法分析...