词法分析器/解析器文件位于 here非常大,我不确定它是否适合只检索 Rust 函数列表。也许我自己编写/使用另一个库是更好的选择?
最终目标是创建一种执行管理器。为了上下文化,它将能够读取包装在函数中的函数调用列表。函数内的函数调用将能够从某些 Web 界面重新/排序。我认为以这种方式管理更大的应用程序可能会很好。
最佳答案
没有。我的意思是,不是真的。无论您是编写自己的解析器还是重新使用 syntex
,您将遇到一个基本限制:宏。
假设您全力以赴扩展基于 macro_rules!
的宏,包括在外部包中定义的宏(这意味着您还需要提取rustc
的 crate 元数据加载...不稳定)。过程宏和自定义派生属性怎么样?这些是在代码中定义的,并且依赖于编译器内部接口(interface)来运行。
这可能永远正确工作的唯一方法是在编译器之上构建,或者重复大量工作(这也涉及不稳定的二进制文件接口(interface))。
关于rust - 我可以使用 Rust 词法分析器或解析器来检索 Rust 文件中的函数列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35780830/