2009-10-13 95 views
8

有誰知道包含典型編譯器課程的在線課程/大學講座嗎?我有計算理論,但不幸的是,我的學校沒有提供編譯器構建課程。自學的編譯器課程/良好的入門編譯器書籍?

我知道那裏有講座;我希望爲特別好的產品提供建議。

另外,是否有書籍的新手到外地?至少,除龍書以外的東西。初學者水平很好,我知道市場上有很多中級先進的文本。

謝謝!

+1

重複(很多次)http://stackoverflow.com/questions/1669/learning編寫一個編譯器等 – cletus 2009-10-13 06:34:41

+0

我從來沒有見過比龍書更好的編譯解釋。你可以做得更糟,而不是堅持下去。 – 2009-10-22 01:38:06

+1

我不同意。我認爲Andrew Appel在{ML,Java,C}中的現代編譯器實現比Dragon書更好。龍書作爲參考很好,但我認爲如果你正在尋找純粹的自我導向學習,Modern Compiler Implementation是一個更加完整和連貫的工作。 – Gian 2009-10-26 10:53:20

回答

8

編輯:在這種情況下,SO的問題並沒有得到封閉,做檢查這duplicate SO posting它回答了一個更詳盡的方式的問題。

麻省理工學院的開放式課程網站一對夫婦ressources的:

6.035 Computer Language Engineering
6.827 Multithreaded Parallelism: Languages and Compilers

可能沿着你腦子裏什麼線路前者。它還包括一些講座的視頻。
後者...肯定是研究生水平的課程。與傳統的編譯鏈相比,重點更多地放在多線程上。 (但是爲了有效地對代碼線程進行塊化,必須對原始程序中表達的語義有一個體面的把握......)

+0

有人從那份重複的SO帖子中得到答案嗎?由於審覈原因,它已被刪除。 – TravisG 2012-04-04 16:34:19

5

你可以看看這個課程:http://ecee.colorado.edu/ecen4553

課程信息

高級編程語言一樣 的Python使編程變得輕而易舉,但 他們是如何工作的?現代計算機的Python和機器 指令之間有很大差距 。 瞭解如何將Python程序 一路轉換爲Intel x86程序集 語言。

大多數編譯課程教導在一個時間編譯器的一個相 ,如 解析,語義分析,並 寄存器分配。 這個方法的問題是難以理解整個編譯器如何將 合在一起以及爲什麼每個階段都是按照原樣設計的。相反,每個我們實現一個連續的 Python語言的更大的子集。 第一個子集是一個很小的 算術語句語言,而 當時我們完成語言 包括對象,繼承和 一等功能。

先決條件:流利至少一種編程語言(Java,C,C++, Python等)。學生們將在Python中編程很多 ,但之前的 不需要Python的知識。 該課程將以崩潰開始 課程關於Python和Python是最容易學習的語言之一 。以前的 知識的彙編語言 幫助,但不是必需的。

+0

感謝您的鏈接。我必須看看他是否有更多的在線課程信息,而不是網站上的信息 - 看起來很多講座材料要麼不在公開視野之外。 – larryq 2009-10-14 02:16:47

+0

新鏈接:http://ecee.colorado.edu/ecen4553/fall10/ – prasopes 2013-06-14 12:47:56

+1

@prasopes,謝謝。我添加了一個沒有年份的鏈接,因爲它可能在未來再次破解。 – 2013-06-14 14:08:04