【问题标题】:Need some guidance with interpreter creation需要一些有关创建解释器的指导
【发布时间】:2011-08-17 15:44:24
【问题描述】:

我正在尝试创建一个解释器。

我的想法是解析代码,将其转换为操作码(非常类似于 bytecode、msil 等),现在创建一个解释器执行器,然后是一个 JIT 引擎。

我目前正在设计内存管理器和类型系统。

我创建了一个简单的内存管理器,它支持一些基本的数据类型(整数、浮点数、字符、字符串、数组)。我可以成功分配内存并使用它。但我对此并不满意。我想创建一个垃圾收集器,使其面向对象并尽可能多地扩展它。

我正在寻找有关此主题的建议、网站、书籍。

【问题讨论】:

  • 这听起来很有趣,但有点宽泛。通用编译器教科书以及流行解释器的示例代码会有所帮助。我想不出任何具体的事情。
  • 这个问题和编程有什么关系?
  • @Philip 设计技术、软件模式、算法.. 我相信它们与编程@Noufal Ibrahim 相关,是的,它的范围很广,但我不想写任何用于生产用途的东西.. 仅用于教育目的!非常感谢您的回答!
  • 你用什么语言编写你的解释器?
  • 看看 OCaml 字节码解释器、GC 和内存管理器——它是最先进的实现,但仍然非常简单,用干净易读的 C 语言编写。

标签: c memory interpreter jit


【解决方案1】:

建议:保持小。意思是不要尝试做成熟的口译员所做的一切。创建一个完整的解释器需要做很多工作。而是专注于一些你感兴趣的小话题。看起来您对内存管理很感兴趣,因此请尝试使用堆栈、堆和符号表。

参考文献:

【讨论】:

    【解决方案2】:

    我想请您看看 Quincy - Al Stevens 的 C 解释器,配有 IDE 和调试器。他的文章出现在90年代的DDJ。你可以find his articles using Google

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多