Class SiemensGoto
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
TermGotof
Bare forward jump term.
public const string TermGotof = "GOTOF"
Field Value
TermIfGotob
Conditional backward jump term (IF <cond> GOTOB <label>).
public const string TermIfGotob = "IF...GOTOB"
Field Value
TermIfGotof
Conditional forward jump term (IF <cond> GOTOF <label>).
public const string TermIfGotof = "IF...GOTOF"
Field Value
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
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
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
Term
Triggering phrase: one of TermGotof, TermGotob, TermIfGotof, TermIfGotob.
public string Term { get; set; }