Home | History | Annotate | Download | only in diagram
      1 digraph {
      2     fontname="Inconsolata, Consolas"
      3     fontsize=10
      4     margin="0,0"
      5     penwidth=0.0
      6     
      7     node [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
      8     edge [fontname="Inconsolata, Consolas", fontsize=10, penwidth=0.5]
      9 
     10     node [shape = doublecircle]; Start; Finish;
     11     node [shape = box; style = "rounded, filled"; fillcolor=white ];
     12 
     13     Start -> ArrayInitial [label=" ["];
     14     Start -> ObjectInitial [label=" {"];
     15 
     16     subgraph clusterArray {
     17         margin="10,10"
     18         style=filled
     19         fillcolor=gray95
     20         label = "Array"
     21         
     22         ArrayInitial; Element; ElementDelimiter; ArrayFinish;
     23     }
     24 
     25     subgraph clusterObject {
     26         margin="10,10"
     27         style=filled
     28         fillcolor=gray95
     29         label = "Object"
     30 
     31         ObjectInitial; MemberKey; KeyValueDelimiter; MemberValue; MemberDelimiter; ObjectFinish;
     32     }
     33 
     34     ArrayInitial -> ArrayInitial [label="["];
     35     ArrayInitial -> ArrayFinish [label=" ]"];
     36     ArrayInitial -> ObjectInitial [label="{", constraint=false];
     37     ArrayInitial -> Element [label="string\nfalse\ntrue\nnull\nnumber"];
     38 
     39     Element -> ArrayFinish [label="]"];
     40     Element -> ElementDelimiter [label=","];
     41 
     42     ElementDelimiter -> ArrayInitial [label=" ["];
     43     ElementDelimiter -> ObjectInitial [label="{"];
     44     ElementDelimiter -> Element [label="string\nfalse\ntrue\nnull\nnumber"];
     45 
     46     ObjectInitial -> ObjectFinish [label=" }"];
     47     ObjectInitial -> MemberKey [label=" string "];
     48 
     49     MemberKey -> KeyValueDelimiter [label=":"];
     50 
     51     KeyValueDelimiter -> ArrayInitial [label="["];
     52     KeyValueDelimiter -> ObjectInitial [label=" {"];
     53     KeyValueDelimiter -> MemberValue [label=" string\n false\n true\n null\n number"];
     54 
     55     MemberValue -> ObjectFinish [label="}"];
     56     MemberValue -> MemberDelimiter [label=","];
     57 
     58     MemberDelimiter -> MemberKey [label=" string "];
     59 
     60     ArrayFinish -> Finish;
     61     ObjectFinish -> Finish;
     62 }
     63