Namespace Hi.NcParsers.ParsingSyntaxs
Classes
- FlagSyntax
Syntax of fully Match flag.
- FloatTagValueSyntax
TagValueSyntax that parses numeric literal values to double. Variable text (e.g. Q2, #1, [#1+#2]) remains as string.
- IntegerTagValueSyntax
TagValueSyntax 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 TagValueSyntax 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:Y20→Y0.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 TagValueSyntax which handles concatenated tag-value pairs (no = sign), this class handles explicit assignment statements.
- TagValueSyntax
Concatenated tag-value syntax (no = sign). ex. Heidenhain: L X Q2 Y33.4 FQ1 ISO: X100.3Y3.3