rename XFactory.Regs to XFactory.Generators.
This commit is contained in:
+7
-3
@@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="title" content="Class SubProgramCallSyntax | HiAPI-C# 2025 ">
|
||||
|
||||
<meta name="description" content="Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O&lt;P&gt; file from ; M198 P_ reads from (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter () and the resulting s are prepended into layers[0] via ; the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation . By the time this runs, / (each a ) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — "M98" / "M198" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L &gt; 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram, partial-program calls (M98 P{seq}{prog} split encoding), and arg binding (G65 macro is a separate syntax).">
|
||||
<meta name="description" content="Inlines a Fanuc-style subprogram into the source layer when an M98 or M198 host block is reached. M98 P_ L_ reads the matching O&lt;P&gt; file from ; M198 P_ reads from (Fanuc external-storage call — same mechanism as M98, different lookup root). The file is segmented through the host runner's segmenter () and the resulting s are prepended into layers[0] via ; the rest of the pipeline picks them up through ordinary walkNode.Next traversal as if they had always been part of the host file. Pipeline placement: first child of the Fanuc Evaluation . By the time this runs, / (each a ) have written a Parsing.M98 / Parsing.M198 sub-object carrying the captured P / L parameters. Note: those sub-objects are this syntax's only trigger — "M98" / "M198" never reach Parsing.Flags, because the parameterized match has already consumed the text by the time runs. Filename lookup uses a fallback chain: O{P:D4}.NC, O{P}.NC, O{P:D4}, O{P}, {P:D4}.NC, {P}.NC — first match wins. Case-insensitive match is delegated to the host filesystem (Windows is, Linux is not). L &gt; 1 inlines the same subprogram L times in series. Each repetition is a fresh segmentation pass so each block gets its own with an independent JSON object — the downstream pipeline mutates JSON in place and would clobber sibling repetitions if instances were shared. Not yet supported: M99 P{seq} early return inside a subprogram and partial-program calls (M98 P{seq}{prog} split encoding). Custom Macro B argument-binding calls (G65 / G66 / G67) live in and — those handle the argument-letter-to-#1..#26 binding and the macro-call frame isolation that M98 deliberately does not provide.">
|
||||
<link rel="icon" href="../img/HiAPI.favicon.ico">
|
||||
<link rel="stylesheet" href="../public/docfx.min.css">
|
||||
<link rel="stylesheet" href="../public/main.css">
|
||||
@@ -136,8 +136,12 @@ repetitions if instances were shared.
|
||||
</p>
|
||||
<p>
|
||||
Not yet supported: <code>M99 P{seq}</code> early return inside a
|
||||
subprogram, partial-program calls (<code>M98 P{seq}{prog}</code> split
|
||||
encoding), and arg binding (G65 macro is a separate syntax).
|
||||
subprogram and partial-program calls (<code>M98 P{seq}{prog}</code> split
|
||||
encoding). Custom Macro B argument-binding calls (<code>G65</code> /
|
||||
<code>G66</code> / <code>G67</code>) live in <a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucMacroCallSyntax.html">FanucMacroCallSyntax</a> and
|
||||
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Fanuc.FanucModalMacroSyntax.html">FanucModalMacroSyntax</a> — those handle the
|
||||
argument-letter-to-<code>#1..#26</code> binding and the macro-call frame
|
||||
isolation that M98 deliberately does not provide.
|
||||
</p>
|
||||
</div>
|
||||
<div class="markdown conceptual"></div>
|
||||
|
||||
Reference in New Issue
Block a user