![]() |
Version 5.1 |
||||||||||||||||||||||||||||||||
|
|
Strings are basic, unstructured textual data objects.
An array object is an ordered set of objects (array elements).
A dictionary object is a set of key-value pairs. Dictionary keys are strings. Each key in a dictionary should be unique. The dictionary keys are processed as case-sensitive strings, unless explicitly specified otherwise.
Any object can be used as a value associated with a key.
Below is the formal syntax definition for textual representations of the basic type objects.
| d-digit | ::= | 0 .. 9 |
| h-digit | ::= | d-digit | A | B | C | D | E | F |
| a-symbol | ::= | A .. Z | a .. z | d-digit |
| l-symbol | ::= | a-symbol | . | _ |
| atom | ::= | 1* l-symbol |
| b-symbol | ::= | a-symbol | + | / | = |
| s-symbol | ::= | any printable symbol except " and \ | \\ | \" | \r | \n | \e | \ d-digit d-digit d-digit |
| string | ::= | " 0* s-symbol " | atom |
| datablock | ::= | [ 1* b-symbol ] |
| day | ::= | 0 .. 3 d-digit (2-digit number in the 1..31 range) |
| month | ::= | 0 .. 1 d-digit (2-digit number in the 1..12 range) |
| year | ::= | 1 .. 2 d-digit d-digit d-digit (4-digit number in the 1970..2038 range) |
| hour | ::= | 0 .. 2 d-digit (2-digit number in the 0..23 range) |
| minute | ::= | 0 .. 5 d-digit (2-digit number in the 0..59 range) |
| second | ::= | 0 .. 5 d-digit (2-digit number in the 0..59 range) |
| number | ::= | # [ -] 1* d-digit |
| timestamp | ::= | # T day - month - year [ _ hour : minute : second ] |
| ip4 | ::= | 1* d-digit . 1* d-digit . 1* d-digit . 1* d-digit |
| ip6 | ::= | 0*(1* h-digit :) [: [ 0*(1* h-digit :) ] ] |
| ip-address | ::= | # I[ [ip4 | ip6] ] [ : 1*d-digit ] |
| array | ::= | ( [object 0*( , object ) ] ) |
| dictionary | ::= | { 0*( string = object ; ) } |
| object | ::= | string | datablock | number | timestamp | ip-address | array | dictionary |