我正在开发一个需要我定义DSL的项目。由于提出正确的DSL对于我的项目至关重要,因此我决定评估现有框架,这些框架有助于定义DSL,对其进行解析并生成代码(必须使用基于.NET的语言)。我考虑的框架包括:DSL框架的选择
具有用于定义DSL定制编译器和pythonish语法理想- 嘘语言。
- 支持可扩展命令行开关的Windows powershell。
- 微软DSL工具,支持可视化建模,但不灵活(在我看来)
- ANTLR这是证明工具
- C#流利的接口。(这个不那么快乐)
- 奥斯陆框架(是否成熟)
上面提到的每个框架都有优点和缺点,我无法做出决定。给出上述框架之间的选择,你会选择哪一个,为什么?
有没有其他的框架如此基本,我可能错过了?
任何帮助或指导将不胜感激。
+1 - 一个很好的问题,我也在努力。我研究了Boo中构建域特定语言的早期版本,发现它令人沮丧 - 这些工具似乎并不成熟。我也相信PowerShell在这方面显示出很大的希望。我也拿起了关于ANTLR的书。 ;) – TrueWill 2009-09-08 22:40:57