[{']'}
Graph Text or GT is a data exchange format with graphs.
GT is JSON in spirit and XML in functionality with table support
{
key value
x 120
y -300
'[complex]{key}' simpleval
{' object's an object '}
object {
d [ M150 0 L75 200 L225 200 Z ]
}
{' multiline comments just work, the following
creates a node with attributes instead of object'}
{node id 'd9b4c7b7' random -224.44e-12 {' inline comment'} [
{framework:function
framework:cmd 'dostrer'
framework:text '@string/function_text'
}
]}
{table title 'Hitchhiker\'s Guide to the Galaxy' {
[author { name } [
'Douglas Adams'
'Some Other Guy'
]]
characters[character { name age } [
'Zaphod Beeblerox' 100
'Arthur Dent' 42
'Ford Perfect' 182
]]
}}
}
A whitespace is space, linefeed, carriage return or horizontal tab.
Value types are,
A object-node starts {left brace + a printable string
A number is any base 10 representation of a number. Base 10 exponent can be appended. smaller case e should be always used for representing exponenets instead of E.
A string is a sequence of zero or more bytes, wrapped in single quotes and a string is a word that is not a number, or the symbols {, [, ], } . A 'quote can be represented with \' and a \solidus is represented with \\. A character is represented as a single byte string.
When a number evaluation fails, it should be treated as a string.
An object is an unordered set of name/value. An object begins with {left brace and ends with }right brace. Each name is followed by a value indicator which is
: for strings and numbers{ for objects[ for arraysname can be anything except whitespace or value indicators and name/value pairs are separated by whitespace
An array is an ordered collection of values. An array like an object, begins with [left square bracket and ends with ]right square bracket. Values are separated by whitespace
A complex has associated properties for the key. A complex can be thought of as an attributre in XML.