【发布时间】:2011-08-17 15:44:24
【问题描述】:
我正在尝试创建一个解释器。
我的想法是解析代码,将其转换为操作码(非常类似于 bytecode、msil 等),现在创建一个解释器执行器,然后是一个 JIT 引擎。
我目前正在设计内存管理器和类型系统。
我创建了一个简单的内存管理器,它支持一些基本的数据类型(整数、浮点数、字符、字符串、数组)。我可以成功分配内存并使用它。但我对此并不满意。我想创建一个垃圾收集器,使其面向对象并尽可能多地扩展它。
我正在寻找有关此主题的建议、网站、书籍。
【问题讨论】:
-
这听起来很有趣,但有点宽泛。通用编译器教科书以及流行解释器的示例代码会有所帮助。我想不出任何具体的事情。
-
这个问题和编程有什么关系?
-
@Philip 设计技术、软件模式、算法.. 我相信它们与编程@Noufal Ibrahim 相关,是的,它的范围很广,但我不想写任何用于生产用途的东西.. 仅用于教育目的!非常感谢您的回答!
-
你用什么语言编写你的解释器?
-
看看 OCaml 字节码解释器、GC 和内存管理器——它是最先进的实现,但仍然非常简单,用干净易读的 C 语言编写。
标签: c memory interpreter jit