C#中自己的DSL代码解析器

时间:2011-02-20 22:38:23

标签: c# parsing dsl

我正在寻找与C#代码兼容的flex / bison之类的东西。我希望能够提供一些语言描述符,并且应该生成解析器。

3 个答案:

答案 0 :(得分:3)

有几种选择。我发现反讽很好。它功能强大,它有一种新颖的语法,利用C#运算符重载来直接在C#中传达语法的语法。

反讽 - .NET语言实现工具包。
http://irony.codeplex.com/

答案 1 :(得分:2)

ANTLR是一个非常常见的解析器生成器,具有许多语言(包括c#)的输出绑定,但它是LLR,如果这是你习以为常的话,可能会使它比flex / bison更麻烦。 / p>

答案 2 :(得分:1)

我在ANTLR上运气最好,它也可以生成C#代码。良好的语言设计支持以及ANTLR Works,一个用于设计和测试语法的IDE,以及一些解释整个事物的教程。

其他选项是具有fsLex和fsYacc的F#powerpack。只有brielfy戳了它,看起来很强大,但很少有文档。

对于C#来说,这是我认为的第一件事。

GJ