2009-06-12 198 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。