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.
- 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.