【发布时间】:2019-08-08 09:01:48
【问题描述】:
我正在编写一个分析器,它需要 Rust 代码的抽象语法树 (AST) 或控制流图 (CFG)。如果不自己实现解析器,我似乎不可能做到这一点。
我注意到一些 crate,例如 syn 和 quote,但如果不使用过程宏并创建完全不必要的项目结构,它们就无法工作。我发现有一个名为 syntex_syntax 的 crate 符合我的要求,但它不再维护,并且在给出一些具有较新语法的代码时会出现恐慌。
有没有办法直接解析 Rust 代码:从任意外部 *.rs 文件中读取并使用 syn 或 quote 解析它,就像 syntex_syntax 所做的那样?
【问题讨论】: