【发布时间】:2011-07-05 17:02:40
【问题描述】:
我正在为我的领域特定语言使用解释器,而不是编译器(尽管性能)。不过,我很难理解一些概念:
假设我有一个用于游戏的 DSL(XML 风格),以便开发人员可以轻松地构建对象:
<building>
<name> hotel </name>
<capacity> 10 </capacity>
</building>
DSL 脚本被解析,然后会发生什么?
它是否执行现有方法来创建新建筑物?据我了解,它不会简单地将 DSL 转换为较低级别的语言(因为这需要编译)。
有人可以描述解释器将如何处理生成的解析树吗?
感谢您的帮助。
【问题讨论】:
-
(+1)有时使用解释器很好,有时使用解释器是制作编译器的中间步骤
-
解析了一些数据后怎么办?好吧,它不仅仅是一个游戏答案,而不是编译器/解释器的答案。你想如何在你的游戏中使用已经存在的数据?
标签: parsing compiler-construction programming-languages interpreter dsl