2009-06-12 295 views
1

夥計們什麼是最好的學習編譯器設計的在線資源?編譯器設計資源

Perl會成爲編寫編譯器的可行語言嗎?

回答

4

而不是在線,如上面的答案中提到的,抓住自己的龍書Compilers: Principles, Techniques, and Tools副本。第一版的副本不應該讓你回想太多。

不確定Perl是否是實現編譯器的首選語言。

+4

相反的觀點:龍書是一本非常難讀的書,並沒有涵蓋編譯器構造,遞歸下降等最簡單的方法。避免。 – 2009-06-12 09:46:11

+0

@尼爾,我同意這不是一個簡單的閱讀,但它不是一本閱讀封面的書。它確實涵蓋了很多關於編譯器設計的主題。這本書一定是有編年史聖經的原因。 ( - : – 2009-06-12 10:23:07

2

有些東西並不是最好的在線學習,而編譯器設計的複雜性就是其中之一。有關此主題的書籍列表,請參閱this question。我選擇了它或多或少隨機從很多類似的問題 - 讓他們所有的列表,谷歌爲

site:stackoverflow.com compiler design books 

至於Perl作爲一個合適的語言 - 是的,你可以在Perl寫一個編譯器,但我個人不喜歡嘗試。如果我是你,我會看看一些更乾淨的東西,比如Python。

1

Jack Crenshaw編寫了一個關於編譯器構建的系列文章 - 在http://compilers.iecc.com/crenshaw/上找到它(例子在Pascal中,但仍然非常有用)。

還有一個c版本在某個地方浮動,但我找不到它的鏈接atm(其他人將文章中的所有代碼移植到ANSI-C中)。

0

我最初學習perl是因爲我認爲它可能有yacc。

它沒有。

雖然我確信有模塊可以添加這種行爲,而Perl 6看起來在這方面可能會更好,但是您最好學習lex和yacc(或bison)。

雖然我仍然很高興我學會了perl。