Parser Tiers

For the ELCL, an implementor of a Parser can categorize it in one of four tiers. Depending on the chosen category, they have to implement a number of requirements and features. All parser tiers must implement the core language.

At the moment there are the following parser tiers:

  • Micro Parser

  • Minimal Parser

  • Standard Parser

  • Full-featured Parser

Requirements

The following table shows the three tiers with all encoding and size requirements for the different parsers.

Requirement

Micro

Minimal – Full

Supported Encoding

7-bit ASCII

UTF-8

Maximum Line Length (Bytes) [1]

120

4000

Maximum Name Length (Chars)

30

100

Maximum Name Path Length [2]

5

10

Minimum Text Length (KB) [3]

1

100

Integer Size (Bit) [4]

32

64

FP-Number Size (Bit) [5]

64

Event Driven Parser Implementation

Model Parser Implementation

Core Language

All parsers must implement the minimalistic core language. The following list is a summary of all elements that are part of the core language. The reference documentation explains in more details, which parts of the language are part of the core language, and which parts are features.

  • Strict Parsing with all Error Codes

  • Comments

  • Case-Insensitive: Names, Escape Sequences and Keywords

  • Sections: Absolute and Relative

  • Values: Decimal Integer, Hexadecimal Integer, Binary Integer, Boolean, Single Line Text

  • Meta Values: @version, @signature [6], @features

Micro-Parsers

Can ignore the @features meta-value and just stop parsing when it is encountered.

Features

Requirement

Micro

Minimal

Standard

Full

Floating-Point Values

Byte Counts

Multi-line Text

Text Names (for Values and Sections)

List Sections

Value Lists (Single- / Multi-line)

Date, Time and Date/Time Values

Code Text (Single- / Multi-line) [8]

Byte-Data Value (Single- / Multi-line)

Meta Command @include

Regular Expression (Single- / Multi-line) [9]

Time-Delta Values

Validation Rules Support

Document Signatures [10]