Namespace Hi.NcParsers.Segmenters
Classes
- HeidenhainSegmenter
Heidenhain NC block builder. Also support single line NC block.
Two grouping rules produce multi-line Sentences:
- Trailing
~continuation (modern TNC cycle definitions): a line whose last visible character is~continues on the next physical line; the chain ends at the first line without a trailing~. Both corpus spellings are accepted —"… ;STRATEGIE ~"(space before, after a trailing comment) and"DATUM SETTING~"(glued). Continuation lines carry no klartext block number. Configurable via JoinTildeContinuations (default on — files using~are simply mis-simulated without it, so legacy XML without the attribute also gets the join). - Repeated command head (Hi.NcParsers.Segmenters.HeidenhainSegmenter.BlockKeywordList,
default
CYCL DEF): consecutive lines sharing the sameCYCL DEF nhead group into one sentence (7.0/7.1/…style).
~characters stay in the raw BlockText (write-back authority); the Parsing bundle strips them fromUnparsedTextvia HeidenhainTildeTrimSyntax.- Trailing
- InlineDelimiterSegmenter
Segments NC lines by an inline delimiter (e.g. ';'). A line containing the delimiter produces multiple Sentences, each with a precise FileLineCharIndexSegment. Lines without the delimiter produce a single Sentence.
- SingleLineSegmenter
Maps each physical source line to one Sentence (no multi-line merging).
Interfaces
- ISegmenter
Interface to segment IndexedFileLines into Sentences.