fix SoftNcRunner GM code normalization.

This commit is contained in:
2026-05-16 18:08:13 +08:00
parent e026da61b3
commit 8b285cc863
765 changed files with 18689 additions and 9785 deletions
@@ -121,6 +121,16 @@ regardless of the skip switch.</li></ul>
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html#Hi_NcParsers_ParsingSyntaxs_CsScriptSyntax_PreMarker">PreMarker</a> marks a script that runs before the NC block;
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.CsScriptSyntax.html#Hi_NcParsers_ParsingSyntaxs_CsScriptSyntax_PostMarker">PostMarker</a> marks a script that runs after.
The symbols are configurable and serialized to XML.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.FanucProgramNumberSyntax.html">FanucProgramNumberSyntax</a></dt>
<dd><p>Detects a Fanuc-family program identifier header — <code>O1234</code> or
<code>&lt;O1234&gt;</code> — that follows a <a class="xref" href="Hi.NcParsers.Keywords.TapeBoundary.html">TapeBoundary</a>
line, and records it under <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html">FanucProgramNumber</a> on the
block JSON. The wrapping form (bare vs angle-bracketed) is preserved
in <a class="xref" href="Hi.NcParsers.Keywords.FanucProgramNumber.html#Hi_NcParsers_Keywords_FanucProgramNumber_Wrapper">Wrapper</a> so the block can be emitted
back to its original notation.</p>
</dd>
</dl>
<dl class="jumplist">
@@ -174,12 +184,6 @@ codes are kept as-is.
This is essentially a combination of main flag matching (like <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a>)
plus scoped <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.TagValueSyntax.html">TagValueSyntax</a> for the parameters after the main flag.
Note that the <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a> often should be applied before <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a> since <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.NumberedFlagSyntax.html">NumberedFlagSyntax</a> may eat the text that <a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ParameterizedFlagSyntax.html">ParameterizedFlagSyntax</a> should handle.</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.ProgramBoundarySyntax.html">ProgramBoundarySyntax</a></dt>
<dd><p>Detects program boundary markers: leading <code>%</code> tape header or <code>O</code> program number after a prior boundary,
and records them under <a class="xref" href="Hi.NcParsers.Keywords.ProgramBoundary.html">ProgramBoundary</a> on the block JSON.</p>
</dd>
</dl>
<dl class="jumplist">
@@ -208,6 +212,15 @@ this class handles explicit assignment statements.</p>
ex.
Heidenhain: L X Q2 Y33.4 FQ1
ISO: X100.3Y3.3</p>
</dd>
</dl>
<dl class="jumplist">
<dt><a class="xref" href="Hi.NcParsers.ParsingSyntaxs.TapeBoundarySyntax.html">TapeBoundarySyntax</a></dt>
<dd><p>Detects the <code>%</code> tape leader / trailer at the start of a block
and records it under <a class="xref" href="Hi.NcParsers.Keywords.TapeBoundary.html">TapeBoundary</a> on the block JSON.
Universal across ISO controllers (Fanuc, Mazak, Syntec, Siemens) —
a brand's program-identifier header (e.g. Fanuc <code>O1234</code>) is a
separate concern handled by its own brand-specific syntax.</p>
</dd>
</dl>