首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阶段SBCL编译器

阶段SBCL编译器
EN

Stack Overflow用户
提问于 2013-06-22 21:11:54
回答 1查看 681关注 0票数 6

我找不到任何可以描述单个阶段SBCL编译器的源代码。什么资源,例如论文,描述了SBCL编译器的这些阶段?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-23 20:29:14

Phil Khoung的文章Starting to Hack on SBCL很好地描述了如何开始使用SBCL内部。在关于编译器的一节中,他写道,

查找编译器所在的位置

在编译器本身上工作需要更多一点的工作。我认为最好的方法是进入src/compiler/main.lisp并查找compile-componentir1-phases在组件上循环,并执行高级优化,直到固定点(或者我们厌倦了等待),而%compile-component处理到IR2的转换,然后转换为机器码。自从编写Python论文以来,编译管道并没有真正改变,每个子阶段都有自己的函数(和文件)。M-。在听起来有趣的东西上,可能是IR2级别的最好方法。

这里提到的Python论文在文章前面提供了链接:

探索源代码

我经常看到新手试图像阅读书籍一样阅读源代码,一旦他们意识到有很多代码,就会尝试找出阅读源代码的良好顺序。我不认为这是最好的方法。SBCL相当庞大,我怀疑任何人都不会同时在他们的头脑中拥有完整的系统。作为概述,RAM’s “The Python Compiler for CMU Common Lisp”仍然很有用,而SBCL’s internals manual则是一个很好的补充。一旦您接近引导逻辑,Christophe Rhodes’s “SBCL: a Sanely-Bootstrappable Common Lisp”就会帮助您理解感叹号。除此之外,我认为最好是从小事做起,学习足够的知识来完成当前的任务,接受某些事情只是有效的,而不是询问(现在)是如何做到的。

您可能对“The Compiler for CMU Common Lisp”中的Python第8节,编译阶段特别感兴趣。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17251129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档