Table of Contents

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 same CYCL DEF n head group into one sentence (7.0/7.1/… style).
The ~ characters stay in the raw BlockText (write-back authority); the Parsing bundle strips them from UnparsedText via HeidenhainTildeTrimSyntax.
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.