Table of Contents

Class SiemensGoto

Namespace
Hi.NcParsers.Keywords.Siemens
Assembly
HiMech.dll

Siemens GOTOF/GOTOB jump record. Two lifetimes share the shape:

  • Parsing.SiemensGoto — written by SiemensGotoParsingSyntax for both the bare jump (GOTOF LBL1) and the single-line conditional (IF R1==1 GOTOF LBL1).
  • block-root SiemensGoto — stamped by SiemensGotoSyntax after the control-flow decision, with Fired flipped true on a successful redirect.

Unlike Fanuc's numbered GOTO n, the target is a named label (LBL1: line) or an N<num> block number; direction is explicit in the mnemonic — GOTOF scans forward from the host line, GOTOB scans backward to the nearest label above.

public class SiemensGoto
Inheritance
SiemensGoto
Inherited Members
Extension Methods

Fields

TermGotob

Bare backward jump term.

public const string TermGotob = "GOTOB"

Field Value

string

TermGotof

Bare forward jump term.

public const string TermGotof = "GOTOF"

Field Value

string

TermIfGotob

Conditional backward jump term (IF <cond> GOTOB <label>).

public const string TermIfGotob = "IF...GOTOB"

Field Value

string

TermIfGotof

Conditional forward jump term (IF <cond> GOTOF <label>).

public const string TermIfGotof = "IF...GOTOF"

Field Value

string

Properties

Condition

Raw boolean expression text of the conditional forms at Parsing time; substituted to a numeric JSON value in place by VariableEvaluatorSyntax when it evaluates successfully. Absent for the bare forms. Not written on the host-level stamp; the gate outcome lives at ConditionEvaluated and the original text at Formula.SiemensGoto.Condition.

public string Condition { get; set; }

Property Value

string

ConditionEvaluated

Tri-state outcome of the conditional forms: true — condition met (jump proceeds); false — not met (falls through silently); null — evaluator could not produce a finite truth value (warns SiemensGoto–ConditionNotEvaluated and falls through). Absent on the bare forms.

public bool? ConditionEvaluated { get; set; }

Property Value

bool?

Fired

True when the redirect actually replaced the source layer.

public bool Fired { get; set; }

Property Value

bool

Label

Target label identifier as written (“LBL1”, “MARKE_A”, or an N-number form like “N100”). If the identifier collides with a set named variable, the evaluator's pass-2 tree walk may substitute a numeric here; the consumer recovers the original text from the Formula.SiemensGoto.Label mirror.

public string Label { get; set; }

Property Value

string

Term

Triggering phrase: one of TermGotof, TermGotob, TermIfGotof, TermIfGotob.

public string Term { get; set; }

Property Value

string