gpt4 book ai didi

abstract-syntax-tree - 从 .Net 程序集获取 AST,无需源代码(IL 代码)

转载 作者:行者123 更新时间:2023-12-04 20:40:35 24 4
gpt4 key购买 nike

我想将 .Net 程序集分析为独立于 C#、VB.NET 或其他语言的语言。
我知道 Roslyn 和 NRefactory,但它们似乎只适用于 C# 源代码级别?
CodePlex 上还有一个“Common Compiler Infrastructure: Code Model and AST API”项目,它声称“支持以独立于语言的结构化形式表示代码块的分层对象模型”,这听起来完全符合我的要求。
但是,我找不到任何实际执行此操作的有用文档或代码。
任何建议如何存档?
Mono.Cecil 可以做点什么吗?

最佳答案

你可以这样做,还有一个(虽然很小)example of this在 ILSpy 的源代码中。

var assembly = AssemblyDefinition.ReadAssembly("path/to/assembly.dll");
var astBuilder = new AstBuilder(new DecompilerContext(assembly.MainModule));
decompiler.AddAssembly(assembly);
astBuilder.SyntaxTree...

关于abstract-syntax-tree - 从 .Net 程序集获取 AST,无需源代码(IL 代码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27060969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com