1、什麼叫編譯程式
高階語言 翻譯為 目標語言(組合語言或機器語言)。
2、編譯程式的6個階段
1)詞法分析
簡單理解就是掃瞄,很傻瓜式地由頭到尾掃瞄源程式,識別出「單詞」,輸出結果是二元組,即(單詞總別,值)。
2)語法分析
根據語法規則將單詞符號串行分解成各類語法單位,如「表示式」、「語句」、「程式」。
3)語義分析
語義分析主要是進行型別分析和檢查,收集型別資訊供後面**生成階段使用。
4)生成中間**
中間**是一種簡單且含義明確的記號系統,例如表現為四元式(運算子,運算物件1,運算物件2,運算結果)。
5)**優化
由於編譯器將源程式翻譯成中間**的工作的是機械的、按固定模式進行的,因此,生成的中間**往往在時間上
和空間上有很大的浪費。優化的原則是程式等價變換規則。例如,60要跟乙個浮點數做預算,運算時需要先轉變為浮點數
,但是這個事情可以在編譯時完成,不用在**執行時再去轉變。這只是乙個思想,具體內容很複雜。
6)目標**生成
把中間**轉變為機器上的絕對**。
編譯原理複習
介紹編譯原理,了解乙個新的領域,得去了解它的整體框架 語法分析 語義分析 語法制導翻譯 中間 生成 生成彙編 生成優化 執行彙編 3位址或4位址 的彙編執行 1.根據語言寫出文法產生式 2.構造與某一正規式等價自小dfa dfa deterministic finite automation 確定有...
編譯原理複習
文法與語言 基本概念 字母表 字母表是元素的非空有窮集合 字母表中的元素稱為符號 字元或字 字母表也稱符號 字元 集 字母表上的符號串 由字母表中的符號所構成的任何有窮序列被稱之為該字母表上的符號串 字母表上的元素也是該字母表上的符號串 無任何符號的符號串稱為空符號串,記作 符號串的長度 符號串的長...
編譯原理複習
從功能上看,乙個編譯程式就是乙個語言翻譯程式。語言翻譯程式把一種語言 稱為源語言 書寫的程式翻譯成另一種語言 稱作目標語言 的等價程式。源語言編寫的程式稱為源程式 目標語言書寫的程式稱為目標程式 有時把編譯的過程分為前端和後端,前端的工作主要依賴於源語言而與目標機無關,前端通常包括詞法分析 語法分析...