家伙学习编译器设计的最佳在线资源是什么?
Perl是编写编译器的可行语言吗?
答案 0 :(得分:4)
如上面的答案中所提到的,不是在线,而是抓住自己的龙书Compilers: Principles, Techniques, and Tools的副本。第一版的副本不应该让你回头太多。
不确定将Perl作为实现编译器的首选语言。
答案 1 :(得分:4)
Software optimization resources。它包含有关代码优化的重要文档。
答案 2 :(得分:2)
有些东西不是最好的在线学习,编译器设计的复杂性就是其中之一。有关该主题的书籍列表,请查看this question。我从很多类似的问题中随机选择了一个或多或少 - 来获取所有这些的列表,Google for
site:stackoverflow.com compiler design books
至于perl作为一种合适的语言 - 是的,你可以在Perl中编写一个编译器,但我个人不想尝试它。如果我是你,我会看一些更清洁的东西,比如Python。
答案 3 :(得分:1)
Jack Crenshaw写了一篇关于编译器构造的精彩系列 - 在http://compilers.iecc.com/crenshaw/找到它(示例在Pascal中,但仍然非常有用)。
还有一个c版本在某处浮动,但我找不到它的链接atm(其他人将文章中的所有代码移植到ANSI-C中)。
答案 4 :(得分:0)
我最初学习perl因为我认为它可能有一个yacc。
没有。
虽然我确信有些模块可以添加这种行为,而Perl 6看起来在这方面可能会更好,但你最好还是研究lex和yacc(或bison)。
我仍然很高兴我学会了perl。