我可以使用 Rust 词法分析器或解析器来检索 Rust 文件中的函数列表吗?

Can I use the Rust lexer or parser to retrieve a list of functions within a Rust file?

位于 here 的 lexer/parser 文件非常大,我不确定它是否适合仅检索 Rust 函数列表。也许写我的 own/using 另一个图书馆会是更好的选择?

最终 objective 将创建一种执行管理器。为了上下文化,它将能够读取包装在函数中的函数调用列表。然后,函数内的函数调用将能够 re/ordered 来自某些 Web 界面。认为以这种方式管理大型应用程序可能会很好。

您可以使用 syntex 来解析构建脚本中的 Rust 代码。

没有。我的意思是,不是 真的 。无论您是编写自己的解析器还是重新使用 syntex,您都会遇到一个基本限制:macros.

所以假设您全力以赴扩展基于 macro_rules! 的宏,包括 外部包中定义的宏(这意味着您还需要提取 rustc 的板条箱元数据加载...不稳定)。过程宏和自定义派生属性怎么样?这些是在代码中定义的,并且依赖于编译器内部接口来运行。

这可能永远正确工作的唯一方法是,如果您在编译器的顶部构建,或者复制大量工作(还涉及不稳定的二进制接口)。