update XML IO pattern.

This commit is contained in:
2026-05-24 14:06:51 +08:00
parent 058003f395
commit d7836db45f
314 changed files with 13376 additions and 573 deletions
@@ -126,7 +126,7 @@ they touch <code>Parsing.Assignments</code>, not <code>Parsing.FanucGoto</code>.
</p>
<p>
Label scanning uses two hosted helper syntaxes —
CommentSyntax and IndexSyntax — applied to
<code>CommentSyntax</code> and <code>IndexSyntax</code> — applied to
each candidate block in turn so the predicate
<code>IndexNote.Number == target</code> matches the same way the Parsing
bundle would. Both are XML-IO-able so API customers can swap them
@@ -242,7 +242,7 @@ letters to <code>Vars.Local</code> <code>#1-#26</code> per the Type-I map (see
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroArgumentMap.html">FanucMacroArgumentMap</a>). Every inlined block carries the
binding dict, a clone of the <a class="xref" href="Hi.NcParsers.Keywords.FanucMacroCall.html">FanucMacroCall</a> diagnostic
record, and a <a class="xref" href="Hi.NcParsers.Keywords.MacroFrame.html">MacroFrame</a> id stamp — so
LocalVariableLookup resolves arg references in a
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html">LocalVariableLookup</a> resolves arg references in a
single-block lookup, a cache dump landing on any block immediately
shows which call it belongs to, and downstream
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html">FanucLocalVariableReadingSyntax</a> carries body-internal
@@ -257,7 +257,7 @@ Frame isolation works on two layers. Statically, caller blocks
have no <a class="xref" href="Hi.NcParsers.Keywords.MacroFrame.html">MacroFrame</a> stamp (frame id 0 by
<a class="xref" href="Hi.NcParsers.Keywords.MacroFrame.html#Hi_NcParsers_Keywords_MacroFrame_Get_System_Text_Json_Nodes_JsonObject_">Get(JsonObject)</a>), so the inlined frame ids (allocated
fresh per <code>L</code>-repetition) never collide with main. Dynamically,
LocalVariableLookup and
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Evaluation.LocalVariableLookup.html">LocalVariableLookup</a> and
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucLocalVariableReadingSyntax.html">FanucLocalVariableReadingSyntax</a> compare frame ids
before carrying any <code>Vars.Local</code> entry across a block boundary
— a macro body's body-internal writes therefore stay inside the