Table of Contents

Namespace Hi.NcParsers.ParsingSyntaxs

Classes

CsScriptSyntax
FlagSyntax

Syntax of fully Match flag.

FloatTagSetupSyntax

TagSetupSyntax that parses numeric literal values to double. Variable text (e.g. Q2, #1, [#1+#2]) remains as string.

HeadIndexSyntax
IntegerTagSetupSyntax

TagSetupSyntax that parses numeric literal values to int. Variable text (e.g. Q2, #1, [#1+#2]) remains as string.

NamedVarAssignmentSyntax

Assignment syntax for named (identifier-style) variables with = sign. Handles variables that are multi-character identifiers rather than {prefix}{digits}.

NumberedFlagSyntax

Syntax for numbered flags (prefix + number) with optional decimal support. NumberedFlagSyntax often should place after something like ParameterizedFlagSyntax. Since NumberedFlagSyntax is easy to eat those kind of flags.

ParameterizedFlagSyntax

Syntax for flags with attached parameters (e.g., G54.1P1, G10L2P1). This is essentially a combination of main flag matching (like NumberedFlagSyntax) plus scoped TagSetupSyntax for the parameters after the main flag. Note that the ParameterizedFlagSyntax often should be applied before NumberedFlagSyntax since NumberedFlagSyntax may eat the text that ParameterizedFlagSyntax should handle.

ShrinkIfNoDecimalPointSyntax

Applies the “conventional type” decimal-point interpretation to coordinate values in UnparsedText. When a tag value has no decimal point (e.g. Y20), it is shrunk by the implied decimal places: Y20Y0.020 (3 decimal places). Values that already contain a decimal point are left unchanged.

Place inside BundleSyntax before FloatTagSetupSyntax so the modified text is parsed correctly by subsequent syntaxes.

TagAssignmentSyntax

Assignment syntax with = sign. Unlike TagSetupSyntax which handles concatenated tag-value pairs (no = sign), this class handles explicit assignment statements.

TagSetupSyntax

Concatenated tag setup syntax. The syntax is for assignment with space or no splition assignment. The syntax is not for assignment sign (=) syntax. ex. Heidenhain: L X Q2 Y33.4 FQ1 ISO: X100.3Y3.3