我正在编写一个需要Rust代码的抽象语法树(AST)或控制流图(CFG)的分析器。如果没有我自己实现解析器,我似乎无法做到这一点。
我注意到了一些板条箱,例如syn
和quote
,但是如果不使用过程宏并创建完全不必要的项目结构,它们将无法工作。我发现有一个syntex_syntax
可满足我的要求的板条箱,但是当给出一些具有较新语法的代码时,它不再维护,并且会出现混乱。
是否有任何直接解析Rust代码的方法:从任意外部* .rs文件读取并使用进行解析(syn
或quote
像这样syntex_syntax
做一样)?