Skip to main content

Module kind

Module kind 

Source
Expand description

规范节点种类表:引擎共享规则所依赖的最小结构词汇表。

语言 crate 把自己的 AST 映射到这些 kind 上。这里不是 Universal AST: 它只覆盖主流语句/表达式形态,语言特有节点用 NodeKind::Custom 逃逸, 由语言 crate 自己的规则处理,引擎通用规则不会触碰。

每种 kind 的 children 布局是共享规则的契约(位置即求值/书写顺序):

Structs§

RegionEvent
区域扫描事件(使用索引的原子):语句子树遍历中的一次读/写/遮蔽。 node 指向承载名字的节点(Use→VarRef;Write→赋值目标 VarRef 或 声明节点;Shadow→VarDecl/ForEach/Catch 绑定节点),名字由 Lang::var_name(node) 读取——与 scan_region 原递归的判定一致。

Enums§

BinOp
二元运算符(规范词汇表,语言负责映射)。
EventKind
LitRef
字面量值的借用视图(语言 crate 从自己的负载映射)。
NodeKind
UnOp
一元运算符。