Parser for C#哪些解析器可用于解析C#代码? 我正在寻找一个可在C#中使用的C#解析器,并使我能够访问有关所分析代码的每个伪像的行和文件信息。 在源代码上工作:
在装配上工作:
程序集"解析"的问题在于,有关行和文件的信息较少(该信息基于.pdb文件,而Pdb仅包含方法的行信息) 我个人推荐Mono.Cecil和NRefactory。 Mono(开源)包括C#编译器(当然还有解析器) n n 我已经使用SharpDevelop AST API实现了您在OWASP O2 Platform项目中提出的要求(C#代码的AST解析)。 为了更易于使用,我编写了一个快速API,该API公开了许多关键源代码元素(使用语句,类型,方法,属性,字段,注释),并且能够将原始C#代码重写为C#并进入VBNET。 您可以在此O2 XRule脚本文件ascx_View_SourceCode_AST.cs.o2上看到此API的运行情况。 例如,这是您处理C#源代码文本并填充许多TreeViews的方式 n n n 看看Gold Parser。它具有非常直观的IU,可让您交互式地测试语法并生成C#代码。有很多可用的示例,它是完全免费的。 考虑在构建的二进制文件上使用反射,而不是直接解析C#代码。反射API真的很容易使用,也许您可??以获得所需的所有信息? SharpDevelop,一个开放源代码的IDE,带有一个基于访问者的代码解析器,该解析器运行得很好。可以独立于IDE使用。 http://www.codeplex.com/csparser n n 如果您愿意编写自己的解析器(很有趣),可以使用 GPPG。 |