【发布时间】:2009-06-24 22:30:55
【问题描述】:
我使用 Antlr 编写了一个 DSL,以从我的语法文件生成词法分析器和解析器。解析器生成一个抽象语法树,其中包含我可以计算的各种节点(例如函数节点)。在函数节点的代码中,我负责绑定——检查函数名称和参数类型是否与函数库匹配。我在这里有一些简单的缓存来优化函数查找(如果我用两个整数调用 A+B,那么下次我使用加号运算符时很有可能使用 2 个整数)。
最近我一直在阅读有关 DLR 的信息,它似乎旨在适应这种类型的脚本语言实现。乍一看,它看起来不像生成解析器或词法分析器,但它似乎确实有助于实现的其他部分。我想知道改用 DLR 对我的主要优势是什么。
【问题讨论】:
标签: .net dsl dynamic-language-runtime