This repository has been archived on 2026-10-11. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
HiNC-2025-win-desktop-Deploy/App/wwwroot/HiAPI-docsite/api/Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html
T

732 lines
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class HeidenhainGoto | HiAPI-C# 2025 </title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Class HeidenhainGoto | HiAPI-C# 2025 ">
<meta name="description" content="Heidenhain FN 9–12 conditional jump record (FN 12: IF +Q1 LT +5 GOTO LBL n). Two lifetimes share the shape: Parsing.HeidenhainGoto — written by for all four opcodes, in both the spaced standard spelling and the compressed post spelling (FN12:IF+Q94 LT+1GOTOLBL&quot;NAME&quot;).block-root HeidenhainGoto — stamped by after the control-flow decision, with flipped true on a successful redirect. Unlike the Fanuc / Siemens jump records the condition is not one expression string: the klartext jump grammar is strictly &amp;lt;value&amp;gt; &amp;lt;comparator&amp;gt; &amp;lt;value&amp;gt;, and the Heidenhain expression grammar deliberately has no comparison layer (its bare-word rejection is what keeps the evaluator&#39;s Parsing-tree pass off non-expression strings). The parsing owner therefore pre-normalises the statement: / are captured as separate value operands (pure literals typed numeric at capture, Q references kept as strings for the evaluator&#39;s pass-2 substitution) and the comparator spelling is normalised to the shared comparison words (EQU→EQ; NE/GT/LT as written). The comparison itself happens in the evaluation syntax. Klartext has no unconditional jump statement and no direction mnemonic — a TNC label is unique per program, so the consumer scans the whole host file and takes the first matching definition (LBL n / LBL &quot;name&quot;), forward or backward alike.">
<link rel="icon" href="../img/HiAPI.favicon.ico">
<link rel="stylesheet" href="../public/docfx.min.css">
<link rel="stylesheet" href="../public/main.css">
<meta name="docfx:navrel" content="../toc.html">
<meta name="docfx:tocrel" content="toc.html">
<meta name="docfx:rel" content="../">
<meta name="loc:inThisArticle" content="In this article">
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
<meta name="loc:tocFilter" content="Filter by title">
<meta name="loc:nextArticle" content="Next">
<meta name="loc:prevArticle" content="Previous">
<meta name="loc:themeLight" content="Light">
<meta name="loc:themeDark" content="Dark">
<meta name="loc:themeAuto" content="Auto">
<meta name="loc:changeTheme" content="Change theme">
<meta name="loc:copy" content="Copy">
<meta name="loc:downloadPdf" content="Download PDF">
<script type="module" src="./../public/docfx.min.js"></script>
<script>
const theme = localStorage.getItem('theme') || 'auto'
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
</script>
</head>
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
<header class="bg-body border-bottom">
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
<div class="container-xxl flex-nowrap">
<a class="navbar-brand" href="../index.html">
<img id="logo" class="svg" src="../img/HiAPI.logo.png" alt="">
</a>
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
<i class="bi bi-three-dots"></i>
</button>
<div class="collapse navbar-collapse" id="navpanel">
<div id="navbar">
<form class="search" role="search" id="search">
<i class="bi bi-search"></i>
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
</form>
</div>
</div>
</div>
</nav>
</header>
<main class="container-xxl">
<div class="toc-offcanvas">
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
<div class="offcanvas-header">
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
</div>
<div class="offcanvas-body">
<nav class="toc" id="toc"></nav>
</div>
</div>
</div>
<div class="content">
<div class="actionbar">
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
<i class="bi bi-list"></i>
</button>
<nav id="breadcrumb"></nav>
</div>
<article data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto">
<h1 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto" class="text-break">
Class HeidenhainGoto
</h1>
<div class="facts text-secondary">
<dl><dt>Namespace</dt><dd><a class="xref" href="Hi.html">Hi</a>.<a class="xref" href="Hi.NcParsers.html">NcParsers</a>.<a class="xref" href="Hi.NcParsers.Keywords.html">Keywords</a>.<a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.html">Heidenhain</a></dd></dl>
<dl><dt>Assembly</dt><dd>HiMech.dll</dd></dl>
</div>
<div class="markdown summary"><p>Heidenhain FN 9–12 conditional jump record
(<code>FN 12: IF +Q1 LT +5 GOTO LBL n</code>). Two lifetimes share the shape:</p>
<ul><li><code>Parsing.HeidenhainGoto</code> — written by
<a class="xref" href="Hi.NcParsers.ParsingSyntaxs.Heidenhain.HeidenhainGotoParsingSyntax.html">HeidenhainGotoParsingSyntax</a> for
all four opcodes, in both the spaced standard spelling and the
compressed post spelling (<code>FN12:IF+Q94 LT+1GOTOLBL"NAME"</code>).</li><li>block-root <code>HeidenhainGoto</code> — stamped by
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.Heidenhain.HeidenhainGotoSyntax.html">HeidenhainGotoSyntax</a> after
the control-flow decision, with <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Fired">Fired</a> flipped true on a
successful redirect.</li></ul>
<p>
Unlike the Fanuc / Siemens jump records the condition is not one
expression string: the klartext jump grammar is strictly
<code>&lt;value&gt; &lt;comparator&gt; &lt;value&gt;</code>, and the
Heidenhain expression grammar deliberately has no comparison layer
(its bare-word rejection is what keeps the evaluator's Parsing-tree
pass off non-expression strings). The parsing owner therefore
pre-normalises the statement: <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Lhs">Lhs</a>/<a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Rhs">Rhs</a> are
captured as separate value operands (pure literals typed numeric at
capture, Q references kept as strings for the evaluator's pass-2
substitution) and the comparator spelling is normalised to the shared
comparison words (<code>EQU</code>→<code>EQ</code>; <code>NE</code>/<code>GT</code>/<code>LT</code>
as written). The comparison itself happens in the evaluation syntax.
</p>
<p>
Klartext has no unconditional jump statement and no direction
mnemonic — a TNC label is unique per program, so the consumer scans
the whole host file and takes the first matching definition
(<code>LBL n</code> / <code>LBL "name"</code>), forward or backward alike.
</p>
</div>
<div class="markdown conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public class HeidenhainGoto</code></pre>
</div>
<dl class="typelist inheritance">
<dt>Inheritance</dt>
<dd>
<div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
<div><span class="xref">HeidenhainGoto</span></div>
</dd>
</dl>
<dl class="typelist inheritedMembers">
<dt>Inherited Members</dt>
<dd>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object)">object.Equals(object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals(system-object-system-object)">object.Equals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gethashcode">object.GetHashCode()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.gettype">object.GetType()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone">object.MemberwiseClone()</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.referenceequals">object.ReferenceEquals(object, object)</a>
</div>
<div>
<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object.tostring">object.ToString()</a>
</div>
</dd></dl>
<dl class="typelist extensionMethods">
<dt>Extension Methods</dt>
<dd>
<div>
<a class="xref" href="Hi.Common.DuplicateUtil.html#Hi_Common_DuplicateUtil_TryDuplicate__1___0_System_Object___">DuplicateUtil.TryDuplicate&lt;TSelf&gt;(TSelf, params object[])</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__1___0_System_Action___0__">InvokeUtil.SelfInvoke&lt;TSrc&gt;(TSrc, Action&lt;TSrc&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Common.InvokeUtil.html#Hi_Common_InvokeUtil_SelfInvoke__2___0_System_Func___0___1__">InvokeUtil.SelfInvoke&lt;TSrc, TDst&gt;(TSrc, Func&lt;TSrc, TDst&gt;)</a>
</div>
<div>
<a class="xref" href="Hi.Coloring.ColorUtil.html#Hi_Coloring_ColorUtil_GetGloomyColor_System_Object_System_Double_System_Double_">ColorUtil.GetGloomyColor(object, double, double)</a>
</div>
<div>
<a class="xref" href="Hi.Common.NameUtil.html#Hi_Common_NameUtil_GetSelectionName_System_Object_">NameUtil.GetSelectionName(object)</a>
</div>
<div>
<a class="xref" href="Hi.Common.StringUtil.html#Hi_Common_StringUtil_GetPropertyStringIfToStringNotOverloaded_System_Object_System_Boolean_System_Boolean_">StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool)</a>
</div>
<div>
<a class="xref" href="Hi.Parallels.LockUtil.html#Hi_Parallels_LockUtil_Lock_System_Object_">LockUtil.Lock(object)</a>
</div>
</dd></dl>
<h2 class="section" id="fields">Fields
</h2>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpEq" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.OpEq">
OpEq
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op">Op</a> normalised from the klartext <code>EQU</code> spelling.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string OpEq = &quot;EQ&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpGt" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.OpGt">
OpGt
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op">Op</a> for the klartext <code>GT</code> comparator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string OpGt = &quot;GT&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpLt" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.OpLt">
OpLt
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op">Op</a> for the klartext <code>LT</code> comparator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string OpLt = &quot;LT&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpNe" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.OpNe">
OpNe
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op">Op</a> for the klartext <code>NE</code> comparator.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string OpNe = &quot;NE&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn10" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.TermFn10">
TermFn10
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term">Term</a> of the <code>FN 10</code> (not-equal) jump.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string TermFn10 = &quot;FN10&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn11" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.TermFn11">
TermFn11
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term">Term</a> of the <code>FN 11</code> (greater-than) jump.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string TermFn11 = &quot;FN11&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn12" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.TermFn12">
TermFn12
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term">Term</a> of the <code>FN 12</code> (less-than) jump.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string TermFn12 = &quot;FN12&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn9" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.TermFn9">
TermFn9
</h3>
<div class="markdown level1 summary"><p><a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term">Term</a> of the <code>FN 9</code> (equal) jump.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public const string TermFn9 = &quot;FN9&quot;</code></pre>
</div>
<h4 class="section">Field Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<h2 class="section" id="properties">Properties
</h2>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_ConditionEvaluated_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.ConditionEvaluated*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_ConditionEvaluated" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.ConditionEvaluated">
ConditionEvaluated
</h3>
<div class="markdown level1 summary"><p>Tri-state comparison outcome stamped by the evaluation syntax:
<code>true</code> — condition met (jump proceeds); <code>false</code> — not met
(falls through silently); <code>null</code> — an operand did not resolve
to a finite numeric (warns
<code>HeidenhainGoto&ndash;ConditionNotEvaluated</code> and falls through —
the FN 18 SYSREAD target staying vacant is the designed source of
this state).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool? ConditionEvaluated { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>?</dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Fired_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Fired*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Fired" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Fired">
Fired
</h3>
<div class="markdown level1 summary"><p>True when the redirect actually replaced the source layer.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public bool Fired { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Label_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Label*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Label" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Label">
Label
</h3>
<div class="markdown level1 summary"><p>Target label number or name as written (quotes stripped:
<code>GOTOLBL&quot;SLOW_FEED&quot;</code> captures <code>SLOW_FEED</code>). Numeric labels
canonicalize at match time (<code>&ldquo;01&rdquo;</code> ≡ <code>1</code> on a TNC). If a
quoted name collides with a set Q spelling the evaluator may have
substituted a numeric here; the consumer recovers the original text
from the <code>Formula.HeidenhainGoto.Label</code> mirror.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Label { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Lhs_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Lhs*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Lhs" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Lhs">
Lhs
</h3>
<div class="markdown level1 summary"><p>Left comparison operand. Parsing-side a pure numeric literal is
typed numeric at capture; a Q-reference operand (<code>&quot;+Q94&quot;</code>)
stays a string and is substituted in place by
<a class="xref" href="Hi.NcParsers.EvaluationSyntaxs.VariableEvaluatorSyntax.html">VariableEvaluatorSyntax</a>'s pass-2
walk when it resolves (original text mirrored to
<code>Formula.HeidenhainGoto.Lhs</code>). A still-string operand at the
evaluation syntax means &ldquo;unresolved&rdquo; — the jump falls through with
<code>HeidenhainGoto&ndash;ConditionNotEvaluated</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Lhs { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Op*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Op" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Op">
Op
</h3>
<div class="markdown level1 summary"><p>Comparator normalised to the shared comparison words: one of
<a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpEq">OpEq</a>, <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpNe">OpNe</a>, <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpGt">OpGt</a>,
<a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_OpLt">OpLt</a>. Captured from the spelled word (which on a real
TNC always agrees with the opcode).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Op { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Rhs_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Rhs*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Rhs" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Rhs">
Rhs
</h3>
<div class="markdown level1 summary"><p>Right comparison operand; same contract as <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Lhs">Lhs</a>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Rhs { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
<a id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term_" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Term*"></a>
<h3 id="Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_Term" data-uid="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.Term">
Term
</h3>
<div class="markdown level1 summary"><p>Statement opcode: one of <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn9">TermFn9</a> … <a class="xref" href="Hi.NcParsers.Keywords.Heidenhain.HeidenhainGoto.html#Hi_NcParsers_Keywords_Heidenhain_HeidenhainGoto_TermFn12">TermFn12</a>,
as spelled in the source (whitespace dropped).</p>
</div>
<div class="markdown level1 conceptual"></div>
<div class="codewrapper">
<pre><code class="lang-csharp hljs">public string Term { get; set; }</code></pre>
</div>
<h4 class="section">Property Value</h4>
<dl class="parameters">
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
<dd></dd>
</dl>
</article>
<div class="contribution d-print-none">
</div>
</div>
<div class="affix">
<nav id="affix"></nav>
</div>
</main>
<div class="container-xxl search-results" id="search-results"></div>
<footer class="border-top text-secondary">
<div class="container-xxl">
<div class="flex-fill">
<span> Copyright © 2025 <a href='https://superhightech.com.tw'>Tech Coordinate</a>. All rights reserved. <a href='https://superhightech.com.tw'>超級高科技股份有限公司</a> © 2025 版權所有 </span>
</div>
</div>
</footer>
</body>
</html>