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

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

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

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

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

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

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

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

GJ