statements
   |--- :default
   |   |--- ::=
   |   |--- action
   |   |--- =>
   |   |--- [values]
   |--- :start
   |   |--- ::=
   |   |--- graph_grammar
   |--- graph_grammar
   |   |--- ::=
   |   |--- graph_definition
   |   |--- action
   |   |--- =>
   |   |--- graph
   |--- graph_definition
   |   |--- ::=
   |   |--- node_definition
   |   |--- |
   |   |--- edge_definition
   |--- node_definition
   |   |--- ::=
   |   |--- node_statement
   |   |--- |
   |   |--- node_statement
   |   |--- graph_definition
   |--- node_statement
   |   |--- ::=
   |   |--- node_name
   |   |--- |
   |   |--- node_name
   |   |--- attribute_definition
   |   |--- |
   |   |--- node_statement
   |   |--- (',')
   |   |--- node_statement
   |--- node_name
   |   |--- ::=
   |   |--- start_node
   |   |--- end_node
   |--- :lexeme
   |   |--- ~
   |   |--- start_node
   |   |--- pause
   |   |--- =>
   |   |--- before
   |   |--- event
   |   |--- =>
   |   |--- start_node
   |--- start_node
   |   |--- ~
   |   |--- '['
   |--- :lexeme
   |   |--- ~
   |   |--- end_node
   |--- end_node
   |   |--- ~
   |   |--- ']'
   |--- edge_definition
   |   |--- ::=
   |   |--- edge_statement
   |   |--- |
   |   |--- edge_statement
   |   |--- graph_definition
   |--- edge_statement
   |   |--- ::=
   |   |--- edge_name
   |   |--- |
   |   |--- edge_name
   |   |--- attribute_definition
   |   |--- |
   |   |--- edge_statement
   |   |--- (',')
   |   |--- edge_statement
   |--- edge_name
   |   |--- ::=
   |   |--- directed_edge
   |   |--- |
   |   |--- undirected_edge
   |--- :lexeme
   |   |--- ~
   |   |--- directed_edge
   |   |--- pause
   |   |--- =>
   |   |--- before
   |   |--- event
   |   |--- =>
   |   |--- directed_edge
   |--- directed_edge
   |   |--- ~
   |   |--- '->'
   |--- :lexeme
   |   |--- ~
   |   |--- undirected_edge
   |   |--- pause
   |   |--- =>
   |   |--- before
   |   |--- event
   |   |--- =>
   |   |--- undirected_edge
   |--- undirected_edge
   |   |--- ~
   |   |--- '--'
   |--- attribute_definition
   |   |--- ::=
   |   |--- attribute_statement
   |--- attribute_statement
   |   |--- ::=
   |   |--- start_attributes
   |   |--- end_attributes
   |--- :lexeme
   |   |--- ~
   |   |--- start_attributes
   |   |--- pause
   |   |--- =>
   |   |--- before
   |   |--- event
   |   |--- =>
   |   |--- start_attributes
   |--- start_attributes
   |   |--- ~
   |   |--- '{'
   |--- :lexeme
   |   |--- ~
   |   |--- end_attributes
   |--- end_attributes
   |   |--- ~
   |   |--- '}'
   |--- :discard
   |   |--- =>
   |   |--- whitespace
   |--- whitespace
       |--- ~
       |--- [\s]
