我决定用 Ruby 编写一个小型解释器作为我的下一个项目。我需要具备哪些知识/技能才能成功?
我还没有决定要解释的语言,但我正在寻找一种不是玩具语言,但编写解释器相对容易的东西。
提前致谢。
最佳答案
你至少要学会:
- 词法分析(将字符分组为标记)
- 解析(将标记组合成结构)
- 抽象语法树(在数据结构中表示程序结构)
- 数据表示(假设您的语言会有变量)
- “运行”您的程序的评估循环
可以在介绍性文本中找到对其中一些主题的精彩介绍 Structure and Interpretation of Computer Programs .那本书中使用的语言是 Scheme,这是一种健壮、规范明确的语言,非常适合您的第一个解释器实现。强烈推荐。
关于ruby - 如何编写解释器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1926835/