6

可能重複:
Learning to write a compiler從哪裏開始,如果我想了解編譯器和編程語言是由

我知道這是一個很寬泛的問題要問,但我在哪裏能開始學習編譯器是如何工作的,編程語言是如何編寫的,我的意思不是你如何使用Java或Ruby,而是人們如何使用它們。我不會嘗試以任何方式複製這些語言,但我想了解背後的概念和理論。所以我需要的是或者我應該尋找的方向,或者更好,更熟悉的書籍推薦。

Regards,

Jonathan Nash。

回答

3

你可以看看在Dragon Book

+2

請注意龍書不是介紹性文字,而是一本很好的參考書。請參閱http://www.billthelizard.com/2008/12/books-programmers-dont-really-read.html以徵求意見。 – 2011-06-15 17:07:44

+0

謝謝,但鏈接不起作用。 – 2011-06-15 17:21:26

+0

@Johnathan:由於某種原因,Stackoverflow將我的亞馬遜鏈接轉換爲腐敗的會員鏈接。我編輯過,它現在似乎正常工作。 – LukeH 2011-06-15 19:22:48

3

你可能會由傑克·克倫肖一個有趣的介紹找到Lets Build a Compiler

保持非常簡單,並專注於構建實際功能。

+0

我其次。龍書是權威文本,但絕對不是開始的地方。當我編寫一個編譯器時,讓我編譯編譯器幫助我擺脫了大部分時間。 – Jeremy 2011-06-15 17:35:36

+0

+1如果你真的想建立一個好地方,那就開始吧 – tylermac 2011-06-15 18:11:11

2
  • Compiler Constrution由尼克勞斯·維爾特是相當不錯的,並可以從我提供的鏈接(是的,在法律上)免費。它有點古老,使用Oberon作爲示例,但很容易遵循。

  • Create Your Own Programming Language由馬克 - 安德烈Cournoyer是可在線進行USD 40,由一個電子書(包括運動和溶液)用於兩個示例語言(一個在Ruby和一個用Java),源代碼和上延伸的一個截屏的基於JVM的語言。這可能是您可以在該主題上找到的最新穎友好的介紹,然後您應該對涉及的步驟(標記,解析,lexing等)有一個相當好的想法,並可以使用提供的鏈接繼續您的研究。這有點貴,但恕我直言,這是值得的。

  • 雖然主要不是學習資源,但CoffeeScript網站有一個名爲「Annotated Source」的部分,它非常有助於瞭解編程語言如何工作。 CoffeeScript的作者在閱讀我在前面的項目符號btw中提到的書後開始着手編寫它。

相關問題