Table of Contents

Namespace Hi.NcParsers.Syntaxs

Classes

BundleSyntax

Depth-First Sequential Syntaxes management. It saves space by save the LazyLinkedLists from each syntax to only one LazyLinkedLists in SoftNcRunner to get better performance. If the INcSyntax only edit the current node itself, those self-editing INcSyntax without looks-forward is suitable to put into the BundleSyntax.

FanucSyntaxUtil

Pre-built ParameterizedFlagSyntax / flag patterns for Fanuc-style NC text.

GenericSyntaxKit

Generic/ISO standard syntax kit. Involve G code. Contains syntax definitions for common G codes used across multiple NC systems.

HeidenhainSyntaxUtil

Pre-built parsing syntax fragments for Heidenhain-style programs (Q variables, FMAX/FAUTO, etc.).

MazakSyntaxUtil

Mazak-specific NC syntax utilities.

NcSyntaxUtil

JSON serialization settings and grab/set helpers for NC block JsonObject trees.

SiemensSyntaxUtil

Pre-built parsing syntax fragments for Siemens-style programs (R parameters, TRAORI, etc.).

SyntaxPiece

One NC block's source line paired with its parsed JSON payload during soft-NC processing.

SyntecSyntaxUtil

Syntec-specific NC syntax utilities.

TagValue
TransformationUtil

Utilities for the EndPointProgramToMcTransform chain. Each entry is {Source, Mat4d}; entries are composed in order with pure matrix multiplication (GetComposedTransform(JsonObject)). There is no “dynamic” entry form — every source is a block-endpoint Mat4d snapshot, including RTCP-specific sources such as PivotTransformSource. Dynamic-rotary state (for motion-form selection) lives on a dedicated flag like IsRotaryDynamic, outside of this chain.

UnconsumedCheckSyntax

Emits diagnostic warnings for content remaining after all upstream syntaxes have run: unconsumed Parsing entries and non-empty UnparsedText. Flags listed in ExcludedFlags are silently ignored. Must be placed at the end of NcSyntaxList.

Interfaces

IExpandingNcSyntax

Expanding syntax: transforms one SyntaxPiece node into zero or more output pieces (e.g., subprogram inlining, macro expansion, conditional branching).

INcSyntax

Base interface for syntax-level data transformation on SyntaxPiece.JsonObject. Unlike INcSemantic which produces IAct, INcSyntax only restructures or enriches parsed data without producing actions.

ISituNcSyntax

In-situ syntax: mutates the JsonObject of the given node in-place without changing the node count. Most parsing and logic syntaxes implement this interface.