对于给定的方法名称x,我想查找调用x的方法的所有方法名称。我想递归地执行此操作,直到到达代码的入口点为止。我发现了一种在使用罗斯林C#代码做这个职位,但我想解决像语言无关越好。它应该适用于C#,C ++,Python等。。。我正在用C#编写此工具,需要一个编程解决方案。任何帮助是极大的赞赏。谢谢!
我不认为您可以使用任何与 语言无关的方式来执行此操作。该工具必须至少了解某种语言的结构,函数或方法的外观以及函数或方法的调用外观。
编辑说明:您可能会发现Terence Parr博士的ANTLR解析器生成器很有用:
ANTLR可以针对C#,并且为此编写了大量语法,包括C ++和python。
使用它可以让您在运行时插入选择的解析器。解析器产生的AST(抽象语法树)将具有相同的结构,因此识别功能/方法调用将是一棵树。
每个解析器的输出可能都需要适配器,以便每个解析器产生的AST为您关心的事情使用通用名称。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句