Names for Value Types
This section is not part of the language specification itself. Instead, it provides naming guidelines for developers implementing parsers. These type names are also used in the test outcome format, which is relevant when writing or interpreting test results for configuration parsers.
By standardizing the terminology early, this guide helps parser implementers avoid additional effort with conversion tables when testing or debugging later on.
If you are only interested in how to write configuration files, you can safely skip this chapter.
Containers
A container is any value that holds other values, either by index or by name.
Name |
Description |
---|---|
IntermediateSection |
An implicitly created section that fills in missing path elements in a name path. |
SectionWithNames |
A section explicitly defined in the configuration file, containing named values or subsections. |
SectionWithTexts |
A section that contains text-named values or subsections. This type is created implicitly when a text-named entry is added to an empty SectionWithNames or IntermediateSection. |
SectionList |
A container that holds a list of sections—either SectionWithNames or SectionWithTexts—addressed by index. |
ValueList |
A list of leaf values, each addressed by index, or a list of ValueList values, when nested. |
Document |
The document root. Like a SectionWithNames, but implicitly defined for each document and not convertible into a SectionWithTexts. |
Values
A value is a leaf node in the value tree. It does not contain any child values.
Name |
Type |
Description |
---|---|---|
Integer |
Integer values |
All integer values, including decimal, hexadecimal, binary, and byte-count values. |
Boolean |
Boolean values |
Boolean literals such as true, no, enabled, etc. |
Float |
Floating-point values |
Floating-point numbers, including special values like NaN and Inf. |
Text |
Text values |
All single-line and multiline text values, including code blocks. |
Date |
Date values |
Values that represent calendar dates. |
Time |
Time values |
Values that represent times, with or without timezone offsets. |
DateTime |
Date-time values |
Combined date and time values, with or without timezone offsets. |
Bytes |
Byte-data values |
Binary values, both single-line and multiline. |
TimeDelta |
Time-delta values |
Durations of time, including single values or merged time-delta lists. |
RegEx |
Regular expression values |
Single-line and multiline regular expressions. |