Class SiemensSyntaxUtil
Pre-built parsing syntax fragments for Siemens-style programs (R parameters, TRAORI, etc.).
public static class SiemensSyntaxUtil
- Inheritance
-
SiemensSyntaxUtil
- Inherited Members
Fields
NamedIdentPattern
Identifier grammar for Siemens named-assignment LHS capture
(IdentPattern override).
Four alternatives: $ system variables with an optional
literal index list ($P_UIFR[5,Z,TR], $AC_TIME);
underscore-leading names (_X_HOME); names containing an
underscore (HH_ROBOTON, L_39); and one-letter+digits
words (H1=21 auxiliary functions; also re-matches R63,
the P0-blessed benign overlap with TagAssignmentSyntax
— both sides carry the same TerminateWords and RhsDialect).
Deliberately narrower than
DefaultIdentPattern: a
multi-letter letters+digits run must NOT match, or a fully-glued
block like G90X0Y=R63 is swallowed whole as
Assignments.G90X0Y before the flag/axis syntaxes can
token-split it (real-corpus bug); the one-letter+digits alternative
cannot fire inside it (no letter+digits run sits directly
before the =). The corpus' named variables all carry an
underscore; a hypothetical underscore-free DEF name is still
lowered correctly because SiemensDefStatementSyntax
owns DEF lines, but its later re-assignments would not be captured —
corpus-driven trade-off.
public const string NamedIdentPattern = "\\$\\w+(?:\\[[^\\]=]*\\])?|_\\w+|[A-Za-z]\\w*_\\w*|[A-Za-z]\\d+"
Field Value
VarTag
Variable token prefix for Siemens R parameters.
public const string VarTag = "R"
Field Value
Properties
DefaultSyntaxList
Syntax list for general kind of Siemens Controller.
public static List<INcSyntax> DefaultSyntaxList { get; }
Property Value
FlagSyntax
Common Siemens bare-word flags under Flags: RTCP codes (TRAORI/TRAFOOF — consumed by SiemensTraoriSyntax), SUPA (consumed by MachineCoordSelectSyntax), STOPRE (consumed by SiemensStopreSyntax), RET (consumed by SiemensSubProgramReturnSyntax) and the path-control modal words consumed by SiemensPathSmoothingSyntax.
public static FlagSyntax FlagSyntax { get; }