1376 lines
31 KiB
JSON
1376 lines
31 KiB
JSON
{
|
|
"name": "d2",
|
|
"word": "_identifier",
|
|
"rules": {
|
|
"source_file": {
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_root_definition"
|
|
}
|
|
},
|
|
"_root_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_root_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shape"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "container"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "connection"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\u0000"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"connection": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_connection_path"
|
|
},
|
|
{
|
|
"type": "REPEAT1",
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "arrow"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_connection_path"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_connection_block"
|
|
},
|
|
"named": true,
|
|
"value": "block"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_connection_path": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "shape_key"
|
|
},
|
|
"named": true,
|
|
"value": "container_key"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dot"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shape_key"
|
|
}
|
|
]
|
|
},
|
|
"_connection_block": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_connection_block_definition"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_connection_block_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_connection_attribute"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"container": {
|
|
"type": "PREC",
|
|
"value": 2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "shape_key"
|
|
},
|
|
"named": true,
|
|
"value": "container_key"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dot"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shape"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "container"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_container_block"
|
|
},
|
|
"named": true,
|
|
"value": "block"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_container_block": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_container_block_definition"
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_container_block_definition": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shape"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "container"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "connection"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_shape_attribute"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"shape": {
|
|
"type": "PREC",
|
|
"value": 3,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "shape_key"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dot"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "text_block"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"shape_key": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_identifier"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_dash"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_identifier": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "\\-?([\\w\\d]+([\\w\\d`'\"]+)?|([\\w\\d]+([\\w\\d `'\"]+)?( +|\\-)[\\w\\d]+([\\w\\d `'\"]+)?)+)"
|
|
}
|
|
}
|
|
},
|
|
"text_block": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_text_block_definition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "|"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "|`"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_text_block_definition"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "`|"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_text_block_definition": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "language"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_text_block_raw"
|
|
},
|
|
"named": true,
|
|
"value": "raw_text"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"language": {
|
|
"type": "PATTERN",
|
|
"value": "\\w+"
|
|
},
|
|
"_root_attribute": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_root_attr_key"
|
|
},
|
|
"named": true,
|
|
"value": "attr_key"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attr_value"
|
|
}
|
|
]
|
|
},
|
|
"_root_attr_key": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "direction"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "shape"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "label"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "constraint"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "icon"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "style"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_common_style_attr_key"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_text_attr_key"
|
|
}
|
|
]
|
|
},
|
|
"named": true,
|
|
"value": "reserved"
|
|
}
|
|
]
|
|
},
|
|
"_shape_attribute": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_base_shape_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
}
|
|
]
|
|
},
|
|
"_base_shape_attribute": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_shape_attr_key"
|
|
},
|
|
"named": true,
|
|
"value": "attr_key"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attr_value"
|
|
}
|
|
]
|
|
},
|
|
"_shape_attr_key": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "shape"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "label"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "constraint"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "icon"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "width"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "height"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_style_attribute": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "style"
|
|
},
|
|
"named": true,
|
|
"value": "attr_key"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dot"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_inner_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attribute_block"
|
|
},
|
|
"named": true,
|
|
"value": "block"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_style_attribute_block": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_inner_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_inner_style_attribute": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attr_key"
|
|
},
|
|
"named": true,
|
|
"value": "attr_key"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "attr_value"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"_style_attr_key": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_common_style_attr_key"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "3d"
|
|
}
|
|
]
|
|
},
|
|
"_common_style_attr_key": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "opacity"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "fill"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "stroke"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "stroke-width"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "stroke-dash"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "border-radius"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "font-color"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "shadow"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "multiple"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "animated"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "link"
|
|
}
|
|
]
|
|
},
|
|
"_text_attr_key": {
|
|
"type": "STRING",
|
|
"value": "near"
|
|
},
|
|
"_connection_attribute": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_connection_arrowhead_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
}
|
|
]
|
|
},
|
|
"_connection_arrowhead_attribute": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_connection_arrowhead_attr_key"
|
|
},
|
|
"named": true,
|
|
"value": "attr_key"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "dot"
|
|
},
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_style_attribute"
|
|
},
|
|
"named": true,
|
|
"value": "attribute"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_colon"
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "label"
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "ALIAS",
|
|
"content": {
|
|
"type": "SYMBOL",
|
|
"name": "_container_block"
|
|
},
|
|
"named": true,
|
|
"value": "block"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "BLANK"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_connection_arrowhead_block": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "{"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_shape_attribute"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_end"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "}"
|
|
}
|
|
]
|
|
},
|
|
"_connection_arrowhead_attr_key": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "source-arrowhead"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "target-arrowhead"
|
|
}
|
|
]
|
|
},
|
|
"label": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_unquoted_string"
|
|
}
|
|
]
|
|
},
|
|
"attr_value": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "boolean"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "integer"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "float"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "string"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_unquoted_string"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"_dash": {
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "-"
|
|
}
|
|
},
|
|
"_colon": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ":"
|
|
}
|
|
]
|
|
},
|
|
"arrow": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": 0,
|
|
"content": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "-+>"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "--+"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "<-+"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "<-+>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"dot": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "."
|
|
}
|
|
},
|
|
"_unquoted_string": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^'\"`|\\n\\s;{}]([^\\n;{}]*[^\\n\\s;{}])?"
|
|
}
|
|
}
|
|
},
|
|
"string": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "'"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^'\\n]+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "'"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^\"\\n]+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "\""
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "`"
|
|
},
|
|
{
|
|
"type": "REPEAT",
|
|
"content": {
|
|
"type": "IMMEDIATE_TOKEN",
|
|
"content": {
|
|
"type": "PATTERN",
|
|
"value": "[^`\\n]+"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "`"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"boolean": {
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "true"
|
|
},
|
|
{
|
|
"type": "STRING",
|
|
"value": "false"
|
|
}
|
|
]
|
|
},
|
|
"integer": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]+"
|
|
},
|
|
"float": {
|
|
"type": "PATTERN",
|
|
"value": "[0-9]+\\.[0-9]+"
|
|
},
|
|
"line_comment": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": -2,
|
|
"content": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": "#"
|
|
},
|
|
{
|
|
"type": "PATTERN",
|
|
"value": ".*"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"_eol": {
|
|
"type": "TOKEN",
|
|
"content": {
|
|
"type": "PREC",
|
|
"value": -1,
|
|
"content": {
|
|
"type": "STRING",
|
|
"value": "\n"
|
|
}
|
|
}
|
|
},
|
|
"_end": {
|
|
"type": "SEQ",
|
|
"members": [
|
|
{
|
|
"type": "CHOICE",
|
|
"members": [
|
|
{
|
|
"type": "STRING",
|
|
"value": ";"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_eol"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"extras": [
|
|
{
|
|
"type": "PATTERN",
|
|
"value": "[ \\f\\t\\v\\u00a0\\u1680\\u2000-\\u200a\\u2028\\u2029\\u202f\\u205f\\u3000\\ufeff]"
|
|
},
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "line_comment"
|
|
}
|
|
],
|
|
"conflicts": [
|
|
[
|
|
"_connection_path",
|
|
"container"
|
|
]
|
|
],
|
|
"precedences": [],
|
|
"externals": [
|
|
{
|
|
"type": "SYMBOL",
|
|
"name": "_text_block_raw"
|
|
}
|
|
],
|
|
"inline": [],
|
|
"supertypes": []
|
|
}
|
|
|