DOT 语言¶
Dot 语言的抽象语法
graph:[ strict ] (graph | digraph) [ ID ] '{' stmt_list '}' stmt_list:[ stmt [ ';' ] stmt_list ] stmt:node_stmt |edge_stmt |attr_stmt |ID '=' ID |subgraph attr_stmt:(graph | node | edge) attr_list attr_list:'[' [ a_list ] ']' [ attr_list ] a_list:ID '=' ID [ (';' | ',') ] [ a_list ] edge_stmt:(node_id | subgraph) edgeRHS [ attr_list ] edgeRHS:edgeop (node_id | subgraph) [ edgeRHS ] node_stmt:node_id [ attr_list ] node_id:ID [ port ] port:':' ID [ ':' compass_pt ] |':' compass_pt subgraph:[ subgraph [ ID ] ] '{' stmt_list '}' compass_pt:(n | ne | e | se | s | sw | w | nw | c | _)
关键字node,edge,graph,digraph,subgraph和strict与大小写无关 '('和')'表示必选组,如(graph | digraph)'表示graph和digraph两者有且只有其一 单引号表示内容是字符,如'='便是字符'=',而不是赋值