.Net库用于解析源代码文件?

时间:2009-06-15 22:41:19

标签: .net parsing

有没有人知道一个好的.NET库,它允许我解析源代码文件,但不仅仅是.NET源代码文件(如java,perl,ruby等)?

我需要以编程方式访问各种源代码文件的内容(例如类/方法/参数名称,类型等)。

有没有人遇到这样的事情?我在.NET中知道它是合理的可能,并且有一些库,但我需要将其抽象为更多类型的编程语言。

4 个答案:

答案 0 :(得分:3)

一些选择:

  1. 您可以选择一个包含大量现有语法的解析框架(如Antlr或更新的Irony)并使用它。这将提供最高保真度。
  2. 如果您坚持使用.NET语言,可以使用Common Compiler Infrastructure tools从已编译的文件中读取数据。
  3. 您可以执行基于启发式的方法,例如SyntaxHighlighter组件使用。
  4. 您可以捎带现有工具,这些工具提供可插入语法高亮文件,如VIM。您必须创建或找到理解这些文件的解析器。

答案 1 :(得分:0)

不是完整的答案,但您可以考虑一下:Discovering Code with the Code Model

答案 2 :(得分:0)

Antlr会满足您的需求吗?

答案 3 :(得分:0)

用于解析源代码,构建相应的编译器数据结构(树等)的工具,让您导航/操作这些结构,并重新生成有效的源代码(包括注释!)是DMS Software Reengineering Toolkit。< / p>

它有一个完整的C#4.0前端。

它不提供从C#访问这些结构的权限;相反,它为编码程序分析和转换提供了自己的环境,并且相对容易地提供了大量的支持(并且比在纯C#中更容易)。