急躁的总结:我正在寻找关于为公共语言构造生成代码的良好参考,而不是解析。
我对编程语言感兴趣,并尽可能多地阅读这些文献。但是他们大多从功能和理论的角度来讨论这个问题,我发现他们很难理解,更不用说实现这些想法了。
因此,问题是:对于以更迫切和更实际的方式涵盖主题的编程语言实现,您建议提供哪些资源?
例如,我发现“Lua5.0的实现”这篇论文很有启发性。
请注意,我不是在寻找关于解析或标记的文章。
发布于 2008-09-30 14:36:30
下面是一堆很好的教科书:
现代编译在Java中的实现(老虎书) A.W.斯佩尔剑桥大学出版社,1998 ISBN 0-52158-388-8关于编译器实现的教科书教程,包括许多语言特性的技术
编者:原则,技术和工具(龙书)阿霍,林,塞西和尤尔曼艾迪森-韦斯利,2006年ISBN 0321486811经典编者教科书,尽管它的前端重点反映了它的时代。
高级编译器设计和实现(鲸鱼书)出版社,1997年ISBN 1-55860-320-4本质上是一本优化食谱;非常完整,适合于工业从业者和研究人员。
KeithD.Cooper,Linda出版社,2003年ISBN 1-55860-698-X现代课堂教科书,更多地强调后端和实现技术。
现代建筑的优化编译器兰迪艾伦和肯肯尼迪摩根考夫曼出版社,2001年ISBN 1-55860-286-0现代教科书,重点是优化,包括并行化和内存层次优化。
编程语言语用学迈克尔·斯科特·摩根·考夫曼出版社,2005年ISBN 0126339511
发布于 2009-08-28 15:13:51
据推测(我读过它,但还没有读过),一种增量式编译结构方法是优秀的。它描述了作者如何教授他的编译器课程。
从摘要来看:
编译者被认为是魔法文物,由巫师精心制作,只有凡人无法理解。关于编译器的书被更好地描述为向导-talk:由一群无所不知的实践者组成的团体编写而成。现实生活中的编译器太复杂,无法作为教育工具。现实生活中的编译器和教育玩具编译器之间的差距太大了。这位新手编译器作者面对一个难以逾越的障碍感到困惑,“最好写一个解释器。” 这篇论文的目的就是要打破这一障碍。我们表明,构建编译器可以像构建解释器一样容易。我们构建的编译器接受Scheme编程语言的一个大子集,并为Intel-x86体系结构(个人计算的主导架构)生成汇编代码。编译器的开发分为许多小的增量步骤。每一步都为逐渐扩展的Scheme子集生成一个完全工作的编译器。每个编译器步骤都会生成真正的汇编代码,这些代码可以被组装,然后由硬件直接执行。我们假设读者熟悉基本的计算机体系结构:其组件和执行模型。不需要对Intel-x86体系结构有详细的了解。 在扩展教程中详细描述了编译器的开发。本教程提供了本教程的支持材料,如自动化测试工具和综合测试套件。我们希望,当前和未来的方案实现者在本文中找到了开发高性能编译器的动机和实现这一目标的手段。
发布于 2008-09-30 15:00:42
我建议和反一起玩。我用了一段时间,发现它很容易使用。
https://stackoverflow.com/questions/153330
复制相似问题