目标兼容性
Faber 是一门语言,但有多个编译契约。本页是经过测量的可下沉能力矩阵: 对于 corpus 中的每个术语,列出哪些目标可以下沉它,以及支持程度。
策略动词(支持 / 擦除 / 警告 / 拒绝 / 推迟)和管线路由位于 Codegen targets。本页是下面表格中的大型可扫描 行列表 — HIR 应用通道目标与 MIR 系统通道目标并列显示。
实时 CLI 摘要:faber targets。
渲染时间:unknown,由 faber/scripta/render-matrices.py 基于 radix 测量 JSON 渲染 — 请勿编辑。
测量:emit_hir_target_matrix + emit_mir_target_matrix(进程内完成,不使用外部 toolchain)。
连接:corpus/index.toml 中的 terms → exempla。
这是官方生成的 grammar×target 支持矩阵。它报告 exempla corpus 中每个 term 的可下沉能力 — target X 是否能够下沉 grammar production Y。运行时 语义(擦除/警告/推迟策略动词)、各目标契约和管线路由位于 Codegen targets;该文档链接回本页以查看这些行。
图例#
| 符号 | 含义 |
|---|---|
| ✓ | 完全支持 — 该术语的所有可分析 exempla 都能下沉 |
| ◐ | 部分支持 — 部分 exempla 能下沉,部分存在已测量的缺口 |
| ○ | 计划中 — 尚未下沉;使用整理后的覆盖文件 (scripta/ebnf-matrix-overrides.toml) |
| ✕ | 不支持 — 没有 exempla 能下沉;按默认事实,已测量的缺口确实存在 |
| — | 未测量 — 此 lane 上没有该术语的可分析 exempla |
✓ 表示使用该术语的 corpus exempla 能够下沉到目标。它不保证运行时语义 完全相同。某些目标会对特定构造进行擦除或警告(例如 Go 会擦除借用 模式
借自/传入/取自)— 这些构造仍在此显示为 ✓,因为它们能够下沉。具体 差异请参阅策略文档。
Corpus 总览(所有已注册术语)#
应用通道(HIR → 输出的源语言)
| 目标 | 可支持 | 可分析 | % |
|---|---|---|---|
| rust | 373 | 378 | 99% |
| go | 347 | 378 | 92% |
| ts | 378 | 378 | 100% |
| faber | 378 | 378 | 100% |
系统通道(MIR → 设备/IR 产物)
| 目标 | 可支持 | 可分析 | % |
|---|---|---|---|
| llvm-text | 334 | 373 | 90% |
| wasm-text | 263 | 373 | 71% |
| wasm | 263 | 373 | 71% |
| sexp-struct | 300 | 373 | 80% |
| sexp | 299 | 373 | 80% |
| runner | 317 | 373 | 85% |