我正在做一个需要我定义 DSL 的项目。由于提出正确的 DSL 对我的项目至关重要,因此我决定评估有助于定义 DSL、解析它和生成代码(必须使用基于 .NET 的语言)的现有框架我考虑的框架是:
- Boo 语言具有可定制的编译器和 python 语法,非常适合定义 DSL。
- 支持可扩展命令行开关的 Windows PowerShell。
- 支持可视化建模的 Microsoft DSL 工具,但灵活性较差(在我看来)
- ANTLR 是经过验证的工具
- C# 流利的接口。(对此不太满意)
- Oslo 框架(在生产中使用是否成熟?)
上面提到的每个框架都有优缺点,我无法做出决定。如果在上述框架之间进行选择,你会选择哪一个,为什么?
是否有任何其他框架如此基础以至于我可能错过了?
任何帮助或指导将不胜感激。