Expand description
Re-exports§
pub use analysis::subtree_metrics;pub use analysis::TreeMetrics;pub use effect::Effect;pub use kind::BinOp;pub use kind::LitRef;pub use kind::NodeKind;pub use kind::UnOp;pub use lang::Lang;pub use lang::ReassocOutcome;pub use pass::simplify;pub use pass::Config;pub use pass::Report;pub use pass::fold_root;pub use rule::Edit;pub use rule::Rule;pub use rule::RewriteCtx;
Modules§
- analysis
- 通用轻量分析:局部变量读/写集合(只依赖
Lang规范词汇表)。 - cost
- 成本模型:默认节点权重表。
- effect
- 副作用格(effect lattice)。
- kind
- 规范节点种类表:引擎共享规则所依赖的最小结构词汇表。
- lang
Langtrait:语言适配层。引擎的一切通用逻辑只通过它访问语言 AST。- pass
- Pass runner:fixed-point 循环 + 成本门槛 + 编辑账本。
- pattern
- 最小 Pattern DSL:静态可构造的树形模式 + 绑定。
- rule
- 规则 trait 与编辑描述。
- rules
- 引擎内置通用规则:只依赖
Lang抽象,任何语言 crate 均可复用。 - walk
- 迭代式遍历(显式栈,避免深树递归爆栈),并收集父指针表。
Macros§
- pat
- 静态声明一个 Pat 常量,如:
pat!(IF_RET_TF, Kind(If, [Bind("cond"), Kind(Return, [LitBool(true)])…]))。