Data Formats |
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
An array textuak representation is a list of its element representations, separated with the comma (,) symbols, and enclosed into the parentheses.
An array element can be any object - a string, an array, a dictionary, etc.
Any number of spaces, tabulation symbols, and/or line breaks (end-of-line symbols) can be placed between a parenthesis and an element, and between an element and a comma symbol.
An array may have zero elements (an empty array).
Any object can be used as a value associated with a key.
A dictionary textual representation is a sequence of its key value pairs, enclosed into
the curvy brackets.
Each pair is represented as its key string representation, followed by the equal (=) symbol,
followed by the textual representation of the associated value object, followed by the semicolon (;) symbol.
The value object in any key-value pair can be a string, an array, a dictionary, or any other object.
Any number of spaces, tabulation symbols, and/or line breaks (end-of-line symbols) can be placed between a bracket and a pair, around the equal symbol, and around the semicolon symbol.
A dictionary may have zero elements (an empty dictionary).
d-digit ::= 0 .. 9 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 ] array ::= ( [object 0*( , object ) ] ) dictionary ::= { 0*( string = object ; ) } object ::= string | datablock | number |timestamp | array | dictionary |