unluac 1.1.1

Multi-dialect Lua decompiler written in Rust.
Documentation
# 维护地图

这组文档描述仓库的代码地图、层间事实边界、共享设施与维护约束。

阅读这些文档时应当默认采用下面的维护视角:

- 先确认某个事实应当由哪一层产出,再决定改动落点。
- 先复用该层已经声明好的 helper、query、macro、walker、visitor,再考虑新增实现。
- 后层只消费前层事实;如果后层开始回看底层细节,通常意味着 owner 放错了。
- 生成层、命名层、可读性层都不负责给更前层补事实。

分层文档入口:

- [0.introduce.md]./design/0.introduce.md
- [1.parser.md]./design/1.parser.md
- [2.transformer.md]./design/2.transformer.md
- [3.cfg-dataflow.md]./design/3.cfg-dataflow.md
- [4.structure.md]./design/4.structure.md
- [5.hir.md]./design/5.hir.md
- [6.ast.md]./design/6.ast.md
- [7.readability.md]./design/7.readability.md
- [8.naming.md]./design/8.naming.md
- [9.generate.md]./design/9.generate.md
- [10.debugging.md]./design/10.debugging.md
- [11.test.md]./design/11.test.md

推荐阅读顺序:

1. 先读 [0.introduce.md]./design/0.introduce.md 了解全局边界。
2. 改某一层时,再读对应层文档与它的前一层文档。
3. 改跨层问题时,从最早可能持有该事实的层开始看,不要从报错位置开始补丁式修复。