rename XFactory.Regs to XFactory.Generators.

This commit is contained in:
2026-05-23 21:23:06 +08:00
parent 8b285cc863
commit 058003f395
155 changed files with 16416 additions and 1261 deletions
@@ -188,6 +188,39 @@ cross-node lookback for last position.</p>
</dd></dl>
<h2 id="Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_examples">Examples</h2>
<p>SUT uses <a class="xref" href="Hi.NcParsers.LogicSyntaxs.ProgramXyzSyntax.html#Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_Default">Default</a> so the default
<code>WorkingPathList</code> points at the <code>Parsing</code> root. All cases
stay on the identity-transform path so
<code>GetLastProgramXyz</code> simply returns the previous block's MC.</p>
<p>
Full X/Y/Z in <code>Parsing</code> — values are read directly (no
lookback), <code>Parsing.X/Y/Z</code> are consumed, <code>ProgramXyz</code>
section is written; <code>CleanupParsing</code> removes the now-empty
<code>Parsing</code>:
</p>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "X": 10, "Y": 20, "Z": 30 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "ProgramXyz": { "X": 10, "Y": 20, "Z": 30 } }</code></pre>
Only Z in <code>Parsing</code> with a <code>#Previous:</code> block carrying
<code>MachineCoordinateState=(50,60,70)</code> — under the identity
transform <code>GetLastProgramXyz</code> equals previous MC, so X/Y are
inherited from prev and Z is taken from the parsed literal:
#Previous:
<pre><code class="lang-csharp">{ "MachineCoordinateState": { "X": 50, "Y": 60, "Z": 70 } }</code></pre>
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Z": 0 } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "ProgramXyz": { "X": 50, "Y": 60, "Z": 0 } }</code></pre>
<code>Parsing</code> present but with no X/Y/Z (e.g. an unrelated M03
flag) — <code>ResolveProgramXyz</code> returns null and the syntax
early-returns; the block is unchanged:
#BeforeBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M03"] } }</code></pre>
#AfterBuild:
<pre><code class="lang-csharp">{ "Parsing": { "Flags": ["M03"] } }</code></pre>
<h2 id="Hi_NcParsers_LogicSyntaxs_ProgramXyzSyntax_remarks">Remarks</h2>
<div class="markdown level0 remarks"><p>The term &ldquo;Program&rdquo; is absolute positioning coordinate that can be end-user editing.