文件名称:编写Ruby编译器:我在Ruby中编写Ruby编译器的系列代码
文件大小:164KB
文件格式:ZIP
更新时间:2024-02-22 09:23:59
ruby compilers parsers ruby-compiler RubyRuby
用Ruby编写(Ruby)编译器 我有关使用Ruby编写编译器的系列文章的源代码。 见 注意这仍然是不完整的。 截至2019年9月17日的状态 (有关过去的更新,请参阅README.md的提交历史记录;我会定期将其合并为仅当前状态) 尝试使用自举式编译器编译完整的自测程序可完成代码生成(但由于GC效率低而非常慢),但无法为case条件生成代码。 立即关注的焦点是修复阻止其完成编译并获得自举编译器编译的自测程序以使其运行的任何方法。 下一个目标是整理并找到涵盖用@bug注释的当前编译器中30多个位置的测试用例,并对其进行修复,因为它们可能还会影响编译器的其他部分。 然后,第三优先级将是减少GC开销(参见下文)或获得的初始子集进行编译。 较早的亮点 垃圾收集器已集成; 垃圾回收的文章差不多完成了。 为了解决这个问题,已经解决了许多编译器错误。 受影响的编译器中的大多数站点都标有@bug 当前的垃圾收集开销是个问题。 一些简单的胜利和调查途径: 为所有常量(特别是数字和字符串)预创建对象 当前,Proc和env对象是分别创建的。 可能值得将env分配为Proc对象的一部分,