編譯器是如何工作的?

時間 2021-05-30 11:30:53

1樓:

就事論事的話,推薦你讀Neil Jones 等著的Automatic Partial Evaluation and Program Generation,這本書的開頭應該解決了你想的問題.

至於你想知道編譯器中間過程的原理,可是本來編譯器就是把乙個語言變成另乙個語言的程式.建議你先讀讀EoPL3的1-6章,然後去看看IU P423 compiler.

2樓:Lanking

主要是寫LLVM IR對映過去。因為機器之間機器碼千差萬別,很難找到統一的架構。後來LLVM出來統一了硬體,只要能編譯在LLVM跑就可以了,。

之後LLVM會針對於不同裝置生成機器碼執行並產生相同的結果。程式語言到LLVM的對映很玄妙,曾經手寫過乙個語言,要處理ast tree,然後搞transpiler把寫的東西對映到expression,最後map到llvm code

曾經在學校做過的乙個專案

3樓:大能貓

自製編譯器 (豆瓣)

自製程式語言 (豆瓣)

30天自製作業系統 (豆瓣)

如果想更深入一些,可以看下這本書:

CPU自製入門

編譯器是如何編譯自己的?

何源 比如你是馬雲,沒身份證 編譯器 之前怎麼證明自己是馬雲。那你得弄來一張名為馬雲的身份證 編譯器 問題來了,這張身份證怎麼來呢?你去找你爸要了戶口本 其他語言的編譯器 去派出所填寫了自己的資料 自己編譯器原始碼 辦理身份證,因為戶口本上你的名字是馬雲,派出所給了一張名為馬雲的身份證。從此,你不用...

如何開發編譯器?

gitlab.gnome.org GNOME vala issues?milestone title 1.0 發展中的編譯器,正好可以做學習和研究。 Anges 說一下做過的編譯器前端部分 動態生成語法樹,詞法解析,主要利用狀態機,更高階點nfa轉行dfa,其實解析起來也沒有大家說的那麼難,會基本的...

iOS 系統的編譯器和華為方舟編譯器孰強孰弱?

方舟編譯器已經試著編譯了好幾次了,編不過去。雖然有大佬說ubuntu可以編譯過去,但是我用了14.03,16.04,18.04按照提示操作,根本就過不了。信不信隨你們吧 實事求是的講,截止到目前方舟編譯器也只是個玩具 開源 而IOS已經這麼多年了。IOS完勝。再者就算方舟編譯器已經完善,恐怕短時間內...