C# ANTLR语法?

11
我正在寻找一个可用的ANTLR C#语法的一站式解决方案,它可以生成可用的抽象语法树(AST),并且要么是后端语言不可知的,要么针对C#、C、C++或D。
它不需要支持错误报告。
附言:我不愿意进行任何修复,因为其他选择并不是很难。

你好, 你有没有找到C#的语法检查器?如果有,能否分享一下呢? - SharePoint Newbie
我从未发现过一个足够简单的。 - BCS
你正在考虑的“不难的替代方案”是什么? - Ira Baxter
@Ira Baxter:大量的正则表达式,我已经基本上让它们工作了。 - BCS
你可以使用一组正则表达式解析C#并构建AST吗? - Ira Baxter
不,但只要在 c# 方面花费一点努力,我可以逐行完成我需要的大部分翻译。 - BCS
4个回答

7
这可能有点晚了,但您可以获取一个C# 4语法。点击此处

5

这仅适用于C# 1.0。C# 2.0需要更强大的解析器来处理通用类型,但ANTLR应该能够处理。祝你在C# 3.0和LINQ中好运! :) - leppie
嗯,C#和ANTLR概述不仅涵盖了C# ANTLR运行时吗?也就是说,OP请求使用ANTLR解析C#代码的方法 - 但此链接提供了使用ANTLR生成的C#代码来解析可能的任意语言的指南? - fostandy

3
DMS软件重构工具包提供了C# 1.2、2.0和3.0的完整、经过验证的语法,包括泛型和LINQ表达式。

它可以自动构建AST(抽象语法树),允许您以编程方式访问AST以进行分析或转换,或者应用源到源的转换,也可以直接操作树。生成的AST可以回溯到源代码,甚至保留缩进和注释。

DMS还有成熟的前端,用于其他语言,如Java、PHP5、JavaScript、COBOL、C和C++。

编辑:2010年1月31日:DMS C#解析器已扩展到处理完整的C# 4.0。


1

您可以在官方语法库中找到C# 6 ANTLR语法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接