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
@@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class FanucIfThen | HiAPI-C# 2025 ">
<meta name="description" content="Fanuc Custom Macro B IF [&amp;lt;cond&amp;gt;] THEN &amp;lt;body&amp;gt; single-block conditional record. Stamped on the host block by after the gate decision; produced earlier by as a parsing-stage sub-section (Parsing.FanucIfThen) carrying the raw captured fields plus an internal PendingAssignments sub-object harvested from the body text. Spec: IF [bool-expr] THEN &amp;lt;stmt&amp;gt; executes &amp;lt;stmt&amp;gt; only when the condition is truthy. Unlike &#39;s conditional form there is no jump — the body affects the current block only, no source splice, no label scan, no iteration watchdog. The most common body shape is a single Custom Macro B assignment (#nnn = &amp;lt;expr&amp;gt;); multiple assignments in one body are also accepted and lifted together. is held as a string at parsing time so VariableEvaluatorSyntax&#39;s pass-2 tree walk can substitute it to a numeric in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by .">
<meta name="description" content="Fanuc Custom Macro B IF [&amp;lt;cond&amp;gt;] THEN &amp;lt;body&amp;gt; single-block conditional record. Stamped on the host block by after the gate decision; produced earlier by as a parsing-stage sub-section (Parsing.FanucIfThen) carrying the raw captured fields plus an internal PendingAssignments sub-object harvested from the body text. Spec: IF [bool-expr] THEN &amp;lt;stmt&amp;gt; executes &amp;lt;stmt&amp;gt; only when the condition is truthy. Unlike &#39;s conditional form there is no jump — the body affects the current block only, no source splice, no label scan, no iteration watchdog. The most common body shape is a single Custom Macro B assignment (#nnn = &amp;lt;expr&amp;gt;); multiple assignments in one body are also accepted and lifted together. is held as a string at parsing time so &#39;s pass-2 tree walk can substitute it to a numeric in place; the FanucIfThenSyntax tail then reads the resolved node polymorphically via the same ReadCondition shape used by .">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
@@ -116,7 +116,7 @@ accepted and lifted together.
</p>
<p>
<a class="xref" href="Hi.NcParsers.Keywords.FanucIfThen.html#Hi_NcParsers_Keywords_FanucIfThen_Condition">Condition</a> is held as a string at parsing time so
VariableEvaluatorSyntax's pass-2 tree walk can substitute
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2 tree walk can substitute
it to a numeric <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.text.json.nodes.jsonvalue">JsonValue</a> in place;
the FanucIfThenSyntax tail then reads the resolved node polymorphically
via the same <code>ReadCondition</code> shape used by