Table of Contents

Class SiemensSyntaxUtil

Namespace
Hi.NcParsers.Syntaxs
Assembly
HiMech.dll

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

string

VarTag

Variable token prefix for Siemens R parameters.

public const string VarTag = "R"

Field Value

string

Properties

DefaultSyntaxList

Syntax list for general kind of Siemens Controller.

public static List<INcSyntax> DefaultSyntaxList { get; }

Property Value

List<INcSyntax>

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; }

Property Value

FlagSyntax