1digraph {
2	compound=true
3	fontname="Inconsolata, Consolas"
4	fontsize=10
5	margin="0,0"
6	ranksep=0.2
7	penwidth=0.5
8
9	node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
10	edge [fontname="Inconsolata, Consolas", fontsize=10, arrowhead=normal]
11
12	{
13		node [shape=record, fontsize="8", margin="0.04", height=0.2, color=gray]
14		normaljson [label="\{|\"|m|s|g|\"|:|\"|H|e|l|l|o|\\|n|W|o|r|l|d|!|\"|,|\"|\\|u|0|0|7|3|t|a|r|s\"|:|1|0|\}"]
15
16		{
17			rank = same
18			msgstring  [label="m|s|g|\\0"]
19			helloworldstring  [label="H|e|l|l|o|\\n|W|o|r|l|d|!|\\0"]
20			starsstring [label="s|t|a|r|s\\0"]
21		}
22	}
23
24	subgraph cluster1 {
25		margin="10,10"
26		labeljust="left"
27		label = "Document by Normal Parsing"
28		style=filled
29		fillcolor=gray95
30		node [shape=Mrecord, style=filled, colorscheme=spectral7]
31
32		root [label="{object|}", fillcolor=3]
33
34		{
35			msg [label="{string|<a>}", fillcolor=5]
36			helloworld [label="{string|<a>}", fillcolor=5]
37			stars [label="{string|<a>}", fillcolor=5]
38			ten [label="{number|10}", fillcolor=6]
39		}
40	}
41
42	normaljson -> root [label=" Parse()" lhead="cluster1"]
43	edge [arrowhead=vee]
44	root -> { msg; stars }
45
46	edge [arrowhead="none"]
47	msg  -> helloworld
48	stars -> ten
49
50	edge [arrowhead=vee, arrowtail=dot, arrowsize=0.5, dir=both, tailclip=false]
51	msg:a:c -> msgstring:w
52	helloworld:a:c -> helloworldstring:w
53	stars:a:c -> starsstring:w
54
55	msgstring -> helloworldstring -> starsstring [style=invis]
56}