編譯器是如何工作的?

jopen 10年前發布 | 5K 次閱讀 編譯器

        英文原文: How Compiler Works?

        解釋編譯器如何工作不是一件容易的事,最好的方法是用一個實例進行說明:

        編譯器是這樣一個電腦程序,它把用高級編程語言編寫的源代碼,轉化成低級語言。

        最基本地,一個編譯器由以下幾個階段組成:詞法分析、語法分析、語義分析、IR(中間代碼,intermediate Representation)產生、IR 優化、代碼產生、最終優化。

編譯器是如何工作的?

        現在,看一個例子:

編譯器是如何工作的?

        以下就是各個步驟的詳細分析。

        1. 詞法分析

        把一個程序轉換成串行的符號。

編譯器是如何工作的?

        2. 語法分析

        恢復上面掃描得到的串行符號描述的結構。

編譯器是如何工作的?

        3. 語義分析

        保證程序的定義是明確的。

編譯器是如何工作的?

        4. IR 產生

編譯器是如何工作的?

        5. IR 優化

編譯器是如何工作的?

        6. 代碼產生

編譯器是如何工作的?

        7. 最終優化

編譯器是如何工作的?

        我在想,應該畫一個可以清晰地表達編譯器是如何工作的圖解。然而,我發現在《龍書》(譯注:《龍書》就是《編譯原理》(Compilers— Principles, Techniques and Tools),名字源于書的封皮有一條吐火的龍)的圖非常好,那就不需要自己動手了。

編譯器是如何工作的?

        我仍然想自己做一個可以從頭到尾編譯一個簡單函數的小編譯器,我會做一些調研,并可能找到一種清晰展示的方法。

        翻譯: 伯樂在線 - 乾龍     譯文鏈接: http://blog.jobbole.com/53222/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!