DSH 学习 · 解析顺序 01

同一组 Bundle,换个顺序就是另一份配置。

把「严格上限」拖到前面,maxTurns 的最终值就从 4 变成 12——因为决定结果的是最后一个写它的步骤。overlay 永远叠在所有 Bundle patch 之后,所以它能覆盖 Bundle,反过来不行。

阅读配套课程 打开日志重放实验

这一页按顺序解析多层 Bundle patch,同一个键可能被写多次。先押一个注:把「overlay」从「不叠加」换成任意一档之后,一个 Bundle 和 overlay 都写过的键,最终值来自谁?

声明 Bundle
已应用步骤
失败位置
已解析键
被多次写
独立校验

声明顺序怎样变成最终配置

步骤 → 配置键

左列是当前顺序下的每个解析步骤(含 overlay),右列是最终生效的配置键。实线=这一步的写入成为最终值;虚线=它写过但被后面的步骤覆写。悬停或键盘聚焦左列卡片,只看它自己的贡献。

每一步写了哪些键

步骤 × 配置键

行是解析步骤(Bundle 按声明顺序,overlay 在最后),列是配置键。实心格是这一步成为该键的最终写者,空心格是它写了但被后面覆盖,空白是没触及。

最终配置和它的出处

值 + 写入者

每个键都写明最终值和写它的那一步。没有任何步骤写过的键留空——那不是错误,是这份 Profile 没有声明它。

当前输入解析出的配置
最终值 最终写者

顺序语义由 独立校验(oracle) 核对

顺序校验

独立校验 自己重解析一次比对配置,再逐键手算最终值而不复用页面算好的写者表;它还检查失败之后没有任何步骤被应用、overlay 落在最后一步。

    哪些结论可以带走

    能证明什么

      不能证明什么

        完整解析步骤

        不用脚本也能读

        图里的每一格,这张表都逐行给出,包括这一步写了什么、哪些成为最终值、哪些被覆盖。

        当前输入的全部解析步骤
        来源 类型 写入的键 成为最终值 被覆盖 是否应用