1.1什麼叫編譯程式?
把一種源語言轉換成乙個目標語言。
翻譯程式有兩種方式:編譯和解釋。
區別在於解釋沒有產生目標程式,而是便解釋邊執行源程式;而編譯會生成目標檔案在執行。
1.2編譯程式的過程?
均是五部:
源程式(ascii碼)
a=b一、詞法分析器
輸出單詞符號(一般是二元式)
a b =
二、語法分析器
成為語法單元(一般是句子)
基本字:a b 賦值號: =
三、中間**產生器 語義分析
生成中間**(一般是四元式)
算符 左運算元 右運算元 結果
四、優化器
依然是中間**
五、目標**生成器
生成目標**(可重定位的**)
低階語言**
(1)**與**管理
登記源程式**現 編譯各階段都需要不停構造查詢或更新有關**。
(2)出錯處理
應對源程式中的錯誤。錯誤檢測和處理
(3)編
具體實現編譯過程時往往會若干遍。
(4)編譯前端和編譯後端
前端主要由源語言有關和那些目標語言無關的部分(包括詞法分析、語法分析、語義分析和中間**)
後端包括編譯程式中與目標語言有關那個。僅依賴於中間語言。
編譯原理 編譯過程概述
編譯程式即是將高階語言書寫的源程式翻譯成與之等價的目標程式 組合語言或機器語言 其工作可分為六個階段,見下圖 對於編譯的各個階段,邏輯上可以劃分為前端和後端兩部分。前端包括詞法分析到中間 生成中各個階段的工作,後端則是優化及目標 生成的階段。以中間 為分水嶺的原因是把編譯過程分解為與機器有關和無關兩...
編譯原理開篇
說實話,樓主本來是不想學這個破編譯原理的 有這個空研究編譯原理不如好好的去陪陪家人 打打遊戲 打打球 二十幾歲的大好時光非得整天整的和八十一樣 研究這個研究那個 有個屌用 不要當只會對著螢幕的屌絲 先說明一下,學習編譯原理有個啥用 俺們老師說寫可以用來寫個編譯器 或者自己將來有機會的話創造一門語言 ...
編譯原理概述
一 編譯過程分析 編譯軟體讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並按照作業系統對可執行檔案格式的要求鏈結生成可執行程式.二 編譯流程表 c源程式 c檔案 編輯器 預處理過程 c檔案 編譯 優化過程 s或.asm檔案 編譯器 ...