'digraph Perl {
 graph [ rankdir="TB" ]
 node [ color="blue" shape="oval" ]
 edge [ color="grey" ]
 graph [ concentrate="true" rankdir="TB" ]
 "attribute" [ label="{<[%5cw %3a;]+> /\\[\\\\w\\ :;\\]+/}|<state> attribute" shape="record" ]
 "attribute":"state" -> "attribute":"[%5cw %3a;]+":"w"
 "attribute":"state" -> "post_attribute":"%7d":"w"
 "class" [ label="{<[a-z][a-z0-9_]*> /\\[a-z\\]\\[a-z0-9_\\]*/|<%5cs+> /\\\\s+/}|<state> class" shape="record" ]
 "class":"state" -> "class":"%5cs+":"w"
 "class":"state" -> "class_daisy_chain":",":"w"
 "class":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "class":"state" -> "start_class_attribute":"%7b":"w"
 "class":"state" -> "start_group":"%5c(":"w"
 "class":"state" -> "start_node":"%5c[":"w"
 "class":"state" -> "start_subclass":"%5c.":"w"
 "class_attribute" [ label="{<[%5cw %3a;]+> /\\[\\\\w\\ :;\\]+/}|<state> class_attribute" shape="record" ]
 "class_attribute":"state" -> "class_attribute":"[%5cw %3a;]+":"w"
 "class_attribute":"state" -> "post_class_attribute":"%7d":"w"
 "class_daisy_chain" [ label="{<,> /,/|<%5cs+> /\\\\s+/}|<state> class_daisy_chain" shape="record" ]
 "class_daisy_chain":"state" -> "class":"[a-z][a-z0-9_]*":"w"
 "class_daisy_chain":"state" -> "class_daisy_chain":"%5cs+":"w"
 "class_daisy_chain":"state" -> "subclass":"%5c.":"w"
 "daisy_chain" [ label="{<,> /,/|<%5cs+> /\\\\s+/}|<state> daisy_chain" shape="record" ]
 "daisy_chain":"state" -> "daisy_chain":"%5cs+":"w"
 "daisy_chain":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "daisy_chain":"state" -> "start_node":"%5c[":"w"
 "edge" [ label="{<[-%3c=%3e~.]+> /\\[-\\<=\\>~.\\]+/|<%5cs+> /\\\\s+/}|<state> edge" shape="record" ]
 "edge":"state" -> "daisy_chain":",":"w"
 "edge":"state" -> "edge":"%5cs+":"w"
 "edge":"state" -> "post_group":"%5c)":"w"
 "edge":"state" -> "start_attribute":"%7b":"w"
 "edge":"state" -> "start_group":"%5c(":"w"
 "edge":"state" -> "start_node":"%5c[":"w"
 "global" [ label="{<%5cs+> /\\\\s+/}|<state> global" shape="record" ]
 "global":"state" -> "class":"[a-z][a-z0-9_]*":"w"
 "global":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "global":"state" -> "global":"%5cs+":"w"
 "global":"state" -> "start_class_attribute":"%7b":"w"
 "global":"state" -> "start_group":"%5c(":"w"
 "global":"state" -> "start_node":"%5c[":"w"
 "group" [ label="{<[%5cw.]+%3a> /\\[\\\\w.\\]+:/|<%5cs+> /\\\\s+/}|<state> group" shape="record" ]
 "group":"state" -> "class":"[a-z][a-z0-9_]*":"w"
 "group":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "group":"state" -> "group":"%5cs+":"w"
 "group":"state" -> "start_node":"%5c[":"w"
 "node" [ label="{<[%5cw.]+> /\\[\\\\w.\\]+/|<%5c[> /\\\\[/|<%5cs+> /\\\\s+/}|<state> node" shape="record" ]
 "node":"state" -> "node":"%5cs+":"w"
 "node":"state" -> "post_node":"]":"w"
 "post_attribute" [ label="{<%5cs+> /\\\\s+/|<%7d> /\\}/}|<state> post_attribute" shape="record" ]
 "post_attribute":"state" -> "daisy_chain":",":"w"
 "post_attribute":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "post_attribute":"state" -> "post_attribute":"%5cs+":"w"
 "post_attribute":"state" -> "post_group":"%5c)":"w"
 "post_attribute":"state" -> "start_node":"%5c[":"w"
 "post_class_attribute" [ label="{<%5cs+> /\\\\s+/|<%7d> /\\}/}|<state> post_class_attribute" shape="record" ]
 "post_class_attribute":"state" -> "class":"[a-z][a-z0-9_]*":"w"
 "post_class_attribute":"state" -> "daisy_chain":",":"w"
 "post_class_attribute":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "post_class_attribute":"state" -> "post_class_attribute":"%5cs+":"w"
 "post_class_attribute":"state" -> "start_group":"%5c(":"w"
 "post_class_attribute":"state" -> "start_node":"%5c[":"w"
 "post_group" [ label="{<%5c)> /\\\\)/|<%5cs+> /\\\\s+/}|<state> post_group" shape="record" ]
 "post_group":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "post_group":"state" -> "post_group":"%5cs+":"w"
 "post_group":"state" -> "start_group":"%5c(":"w"
 "post_group":"state" -> "start_node":"%5c[":"w"
 "post_node" [ label="{<%5cs+> /\\\\s+/|<]> /\\]/}|<state> post_node" shape="record" ]
 "post_node":"state" -> "daisy_chain":",":"w"
 "post_node":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "post_node":"state" -> "post_group":"%5c)":"w"
 "post_node":"state" -> "post_node":"%5cs+":"w"
 "post_node":"state" -> "start_attribute":"%7b":"w"
 "post_node":"state" -> "start_group":"%5c(":"w"
 "post_node":"state" -> "start_node":"%5c[":"w"
 "start_attribute" [ label="{<%7b> /\\{/}|<state> start_attribute" shape="record" ]
 "start_attribute":"state" -> "attribute":"[%5cw %3a;]+":"w"
 "start_class_attribute" [ label="{<%7b> /\\{/}|<state> start_class_attribute" shape="record" ]
 "start_class_attribute":"state" -> "class_attribute":"[%5cw %3a;]+":"w"
 "start_group" [ label="{<%5c(> /\\\\(/|<%5cs+> /\\\\s+/}|<state> start_group" shape="record" ]
 "start_group":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "start_group":"state" -> "group":"[%5cw.]+%3a":"w"
 "start_group":"state" -> "post_group":"%5c)":"w"
 "start_group":"state" -> "start_group":"%5cs+":"w"
 "start_node" [ label="{<%5c[> /\\\\[/|<%5cs+> /\\\\s+/}|<state> start_node" shape="record" ]
 "start_node":"state" -> "node":"[%5cw.]+":"w"
 "start_node":"state" -> "post_node":"]":"w"
 "start_node":"state" -> "start_node":"%5cs+":"w"
 "start_subclass" [ label="{<%5c.> /\\\\./}|<state> start_subclass" shape="record" ]
 "start_subclass":"state" -> "subclass":"[a-z][a-z0-9_]*":"w"
 "subclass" [ label="{<[a-z][a-z0-9_]*> /\\[a-z\\]\\[a-z0-9_\\]*/|<%5c.> /\\\\./|<%5cs+> /\\\\s+/}|<state> subclass" shape="record" ]
 "subclass":"state" -> "class_daisy_chain":",":"w"
 "subclass":"state" -> "edge":"[-%3c=%3e~.]+":"w"
 "subclass":"state" -> "node":"%5c[":"w"
 "subclass":"state" -> "start_class_attribute":"%7b":"w"
 "subclass":"state" -> "start_group":"%5c(":"w"
 "subclass":"state" -> "subclass":"%5cs+":"w"
}
'
