C#中的编译器编译器

8 c# compiler-construction parsing syntax-highlighting

我正在寻找一个可自定义的解析器和/或词法分析器,它允许我在C#中构建自定义语法检查器.本质上,用户将输入一行代码(自定义),如果编写正确,语法检查器将能够响应.

Ore*_*ost 8

这很讽刺.一定要阅读讨论,因为那里有很多事情要做.使用11月份的旧版本或使用最新版本,但请确保您了解该版本中的内容以及未发布的版本.

对于大多数情况,11月发布应该很好(在宠物项目中使用它).

Irony允许从您可以直接在C#代码中定义的任何语法构建抽象语法树(AST).它还支持评估(即解释代码),甚至不难从中构建代码.或者,将其转换为DLR(动态语言运行时)AST.


abh*_*ash 8

以下是您可能需要考虑的一些事项:


dfa*_*dfa 6

我喜欢ANTLR,它支持C#以及Java,Python,C等.使用ANTLR的优点是非常好的文档(示例,书籍,教程等)和广泛的用法.


jpo*_*poh 0

这里

LINQPad 在 UI 中使用许多第三方组件。查询编辑器使用 Actipro 的 SyntaxEditor 控件(一个非常精美的产品);“IntelliSense”功能依赖于 Actipro Software 和 ICSharpCode(来自 SharpDevelop 项目)的库组合。

我没有使用过该摘录中提到的任何产品(除了 LINQPad - 我强烈推荐它!),但我认为它可能会开始让您朝着正确的方向前进。