railroad_diagrams 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.txt +21 -0
- data/MIT +21 -0
- data/README.md +30 -0
- data/Rakefile +4 -0
- data/exe/railroad_diagrams +7 -0
- data/lib/railroad_diagrams/alternating_sequence.rb +169 -0
- data/lib/railroad_diagrams/choice.rb +209 -0
- data/lib/railroad_diagrams/command.rb +84 -0
- data/lib/railroad_diagrams/comment.rb +48 -0
- data/lib/railroad_diagrams/diagram.rb +107 -0
- data/lib/railroad_diagrams/diagram_item.rb +77 -0
- data/lib/railroad_diagrams/diagram_multi_container.rb +23 -0
- data/lib/railroad_diagrams/end.rb +39 -0
- data/lib/railroad_diagrams/group.rb +75 -0
- data/lib/railroad_diagrams/horizontal_choice.rb +247 -0
- data/lib/railroad_diagrams/multiple_choice.rb +140 -0
- data/lib/railroad_diagrams/non_terminal.rb +67 -0
- data/lib/railroad_diagrams/one_or_more.rb +86 -0
- data/lib/railroad_diagrams/optional.rb +9 -0
- data/lib/railroad_diagrams/optional_sequence.rb +214 -0
- data/lib/railroad_diagrams/path.rb +117 -0
- data/lib/railroad_diagrams/sequence.rb +59 -0
- data/lib/railroad_diagrams/skip.rb +26 -0
- data/lib/railroad_diagrams/stack.rb +120 -0
- data/lib/railroad_diagrams/start.rb +62 -0
- data/lib/railroad_diagrams/style.rb +67 -0
- data/lib/railroad_diagrams/terminal.rb +63 -0
- data/lib/railroad_diagrams/text_diagram.rb +341 -0
- data/lib/railroad_diagrams/version.rb +5 -0
- data/lib/railroad_diagrams/zero_or_more.rb +9 -0
- data/lib/railroad_diagrams.rb +50 -0
- data/sample/sample.html +215 -0
- data/test.rb +570 -0
- metadata +81 -0
data/sample/sample.html
ADDED
@@ -0,0 +1,215 @@
|
|
1
|
+
<!doctype html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<title>Test</title>
|
5
|
+
<style>
|
6
|
+
svg.railroad-diagram {
|
7
|
+
background-color:hsl(30,20%,95%);
|
8
|
+
}
|
9
|
+
svg.railroad-diagram path {
|
10
|
+
stroke-width:3;
|
11
|
+
stroke:black;
|
12
|
+
fill:rgba(0,0,0,0);
|
13
|
+
}
|
14
|
+
svg.railroad-diagram text {
|
15
|
+
font:bold 14px monospace;
|
16
|
+
text-anchor:middle;
|
17
|
+
}
|
18
|
+
svg.railroad-diagram text.label{
|
19
|
+
text-anchor:start;
|
20
|
+
}
|
21
|
+
svg.railroad-diagram text.comment{
|
22
|
+
font:italic 12px monospace;
|
23
|
+
}
|
24
|
+
svg.railroad-diagram rect{
|
25
|
+
stroke-width:3;
|
26
|
+
stroke:black;
|
27
|
+
fill:hsl(120,100%,90%);
|
28
|
+
}
|
29
|
+
svg.railroad-diagram rect.group-box {
|
30
|
+
stroke: gray;
|
31
|
+
stroke-dasharray: 10 5;
|
32
|
+
fill: none;
|
33
|
+
}
|
34
|
+
|
35
|
+
.blue text { fill: blue; }
|
36
|
+
</style>
|
37
|
+
</head><body>
|
38
|
+
|
39
|
+
<h1>test choice up</h1>
|
40
|
+
<svg class="railroad-diagram" height="298" viewBox="0 0 205 298" width="205"><g transform="translate(.5 .5)"><g><path d="M20 258v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 268h0" /><path d="M165 268h0" /><path d="M40 268a10 10 0 0 0 10 -10v-46a10 10 0 0 1 10 -10" /><g><path d="M60 202h0" /><path d="M145 242h0" /><rect class="group-box" height="100" rx="10" ry="10" width="85" x="60" y="160"></rect><g><path d="M60 202h0" /><path d="M145 242h0" /><path d="M60 202a10 10 0 0 0 10 -10v-14a10 10 0 0 1 10 -10" /><g><path d="M80 168h45" /></g><path d="M125 168a10 10 0 0 1 10 10v54a10 10 0 0 0 10 10" /><path d="M60 202h20" /><g><path d="M80 202h0" /><path d="M125 242h0" /><rect class="group-box" height="60" rx="10" ry="10" width="45" x="80" y="192"></rect><g><path d="M80 202h12" /><path d="M92 202h10" /><g><path d="M102 202h0" /></g><path d="M102 202a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M102 242h0" /></g><path d="M102 242h10" /><path d="M112 242h12" /></g><g class="non-terminal "><path d="M80 184h0" /><path d="M125 184h0" /><text class="comment" x="102" y="188">inner</text></g></g><path d="M125 242h20" /></g><g class="non-terminal "><path d="M60 152h0" /><path d="M91 152h0" /><text class="comment" x="75" y="156">top</text></g></g><path d="M145 242a10 10 0 0 1 10 10v6a10 10 0 0 0 10 10" /><path d="M40 268a10 10 0 0 0 10 -10v-170a10 10 0 0 1 10 -10" /><g><path d="M60 78h0" /><path d="M145 118h0" /><rect class="group-box" height="100" rx="10" ry="10" width="85" x="60" y="36"></rect><g><path d="M60 78h0" /><path d="M145 118h0" /><path d="M60 78a10 10 0 0 0 10 -10v-14a10 10 0 0 1 10 -10" /><g><path d="M80 44h45" /></g><path d="M125 44a10 10 0 0 1 10 10v54a10 10 0 0 0 10 10" /><path d="M60 78h20" /><g><path d="M80 78h0" /><path d="M125 118h0" /><rect class="group-box" height="60" rx="10" ry="10" width="45" x="80" y="68"></rect><g><path d="M80 78h12" /><path d="M92 78h10" /><g><path d="M102 78h0" /></g><path d="M102 78a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M102 118h0" /></g><path d="M102 118h10" /><path d="M112 118h12" /></g><g class="non-terminal "><path d="M80 60h0" /><path d="M125 60h0" /><text class="comment" x="102" y="64">inner</text></g></g><path d="M125 118h20" /></g><g class="non-terminal "><path d="M60 28h0" /><path d="M91 28h0" /><text class="comment" x="75" y="32">top</text></g></g><path d="M145 118a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10" /><path d="M40 268h20" /><g><path d="M60 268h85" /></g><path d="M145 268h20" /></g><path d="M 165 268 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
41
|
+
|
42
|
+
<h1>test choice down</h1>
|
43
|
+
<svg class="railroad-diagram" height="197" viewBox="0 0 245.5 197" width="245.5"><g transform="translate(.5 .5)"><g><path d="M20 36v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 46h0.0" /><path d="M205.5 46h0.0" /><path d="M40.0 46h20" /><g><path d="M60.0 46h0.0" /><path d="M185.5 46h0.0" /><rect class="group-box" height="111" rx="10" ry="10" width="125.5" x="60" y="36"></rect><g><path d="M60.0 46h0.0" /><path d="M185.5 46h0.0" /><path d="M60.0 46h20" /><g><path d="M80.0 46h85.5" /></g><path d="M165.5 46h20" /><path d="M60.0 46a10 10 0 0 1 10 10v23a10 10 0 0 0 10 10" /><g><path d="M80.0 89h0.0" /><path d="M165.5 129h0.0" /><rect class="group-box" height="69" rx="10" ry="10" width="85.5" x="80" y="70"></rect><g><path d="M80.0 89h0.0" /><path d="M80.0 89h10" /><g class="terminal "><path d="M90.0 89h10.0" /><path d="M145.5 89h10.0" /><rect height="22" rx="10" ry="10" width="45.5" x="100" y="78"></rect><text x="122.75" y="93">abc</text></g><path d="M155.5 89a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-65.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M90.0 129h65.5" /></g><path d="M155.5 129h10" /><path d="M165.5 129h0.0" /></g><g class="non-terminal "><path d="M80.0 62h0" /><path d="M125.0 62h0" /><text class="comment" x="102" y="66">inner</text></g></g><path d="M165.5 129a10 10 0 0 0 10 -10v-63a10 10 0 0 1 10 -10" /></g><g class="non-terminal "><path d="M60.0 28h0" /><path d="M91.0 28h0" /><text class="comment" x="75" y="32">top</text></g></g><path d="M185.5 46h20" /><path d="M40.0 46a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 166h40.0" /><path d="M145.5 166h40.0" /><rect height="22" rx="10" ry="10" width="45.5" x="100" y="155"></rect><text x="122.75" y="170">xyz</text></g><path d="M185.5 166a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10" /></g><path d="M 205.5 46 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
44
|
+
|
45
|
+
<h1>comment</h1>
|
46
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 512.0 80" width="512.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="terminal "><path d="M50 40h0.0" /><path d="M87.0 40h0.0" /><rect height="22" rx="10" ry="10" width="37" x="50" y="29"></rect><text x="68.5" y="44">/*</text></g><path d="M87.0 40h10" /><g><path d="M97.0 40h0.0" /><path d="M415.0 40h0.0" /><path d="M97.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M117.0 20h278.0" /></g><path d="M395.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M97.0 40h20" /><g><path d="M117.0 40h0.0" /><path d="M395.0 40h0.0" /><path d="M117.0 40h10" /><g class="non-terminal "><path d="M127.0 40h0.0" /><path d="M385.0 40h0.0" /><rect height="22" width="258" x="127" y="29"></rect><text x="256" y="44">anything but * followed by /</text></g><path d="M385.0 40h10" /><path d="M127.0 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M127.0 60h258.0" /></g><path d="M385.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M395.0 40h20" /></g><path d="M415.0 40h10" /><g class="terminal "><path d="M425.0 40h0.0" /><path d="M462.0 40h0.0" /><rect height="22" rx="10" ry="10" width="37" x="425" y="29"></rect><text x="443.5" y="44">*/</text></g><path d="M462.0 40h10" /><path d="M 472.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
47
|
+
|
48
|
+
<h1>newline</h1>
|
49
|
+
<svg class="railroad-diagram" height="152" viewBox="0 0 174.0 152" width="174.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M134.0 31h0.0" /><path d="M40.0 31h20" /><g class="terminal "><path d="M60.0 31h8.5" /><path d="M105.5 31h8.5" /><rect height="22" rx="10" ry="10" width="37" x="68.5" y="20"></rect><text x="87" y="35">\n</text></g><path d="M114.0 31h20" /><path d="M40.0 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 61h0.0" /><path d="M114.0 61h0.0" /><rect height="22" rx="10" ry="10" width="54" x="60" y="50"></rect><text x="87" y="65">\r\n</text></g><path d="M114.0 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 91h8.5" /><path d="M105.5 91h8.5" /><rect height="22" rx="10" ry="10" width="37" x="68.5" y="80"></rect><text x="87" y="95">\r</text></g><path d="M114.0 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 121h8.5" /><path d="M105.5 121h8.5" /><rect height="22" rx="10" ry="10" width="37" x="68.5" y="110"></rect><text x="87" y="125">\f</text></g><path d="M114.0 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M 134.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
50
|
+
|
51
|
+
<h1>whitespace</h1>
|
52
|
+
<svg class="railroad-diagram" height="122" viewBox="0 0 199.5 122" width="199.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M159.5 31h0.0" /><path d="M40.0 31h20" /><g class="terminal "><path d="M60.0 31h8.5" /><path d="M131.0 31h8.5" /><rect height="22" rx="10" ry="10" width="62.5" x="68.5" y="20"></rect><text x="99.75" y="35">space</text></g><path d="M139.5 31h20" /><path d="M40.0 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 61h21.25" /><path d="M118.25 61h21.25" /><rect height="22" rx="10" ry="10" width="37" x="81.25" y="50"></rect><text x="99.75" y="65">\t</text></g><path d="M139.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M60.0 91h0.0" /><path d="M139.5 91h0.0" /><rect height="22" width="79.5" x="60" y="80"></rect><text x="99.75" y="95">newline</text></g><path d="M139.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M 159.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
53
|
+
|
54
|
+
<h1>hex digit</h1>
|
55
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 239.0 62" width="239.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="non-terminal "><path d="M50 31h0.0" /><path d="M189.0 31h0.0" /><rect height="22" width="139" x="50" y="20"></rect><text x="119.5" y="35">0-9 a-f or A-F</text></g><path d="M189.0 31h10" /><path d="M 199.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
56
|
+
|
57
|
+
<h1>escape</h1>
|
58
|
+
<svg class="railroad-diagram" height="116" viewBox="0 0 440.0 116" width="440.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="terminal "><path d="M50 31h0.0" /><path d="M78.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="20"></rect><text x="64.25" y="35">\</text></g><path d="M78.5 31h10" /><g><path d="M88.5 31h0.0" /><path d="M400.0 31h0.0" /><path d="M88.5 31h20" /><g class="non-terminal "><path d="M108.5 31h23.75" /><path d="M356.25 31h23.75" /><rect height="22" width="224" x="132.25" y="20"></rect><text x="244.25" y="35">not newline or hex digit</text></g><path d="M380.0 31h20" /><path d="M88.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g><path d="M108.5 61h0.0" /><path d="M380.0 61h0.0" /><g><path d="M108.5 61h0.0" /><path d="M225.0 61h0.0" /><path d="M108.5 61h10" /><g class="non-terminal "><path d="M118.5 61h0.0" /><path d="M215.0 61h0.0" /><rect height="22" width="96.5" x="118.5" y="50"></rect><text x="166.75" y="65">hex digit</text></g><path d="M215.0 61h10" /><path d="M118.5 61a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M118.5 88h0" /><path d="M191.5 88h0" /><text class="comment" x="154.5" y="92">1-6 times</text></g><path d="M215.0 88a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M225.0 61h10" /><g><path d="M235.0 61h0.0" /><path d="M380.0 61h0.0" /><path d="M235.0 61h20" /><g><path d="M255.0 61h105.0" /></g><path d="M360.0 61h20" /><path d="M235.0 61a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M255.0 81h0.0" /><path d="M360.0 81h0.0" /><rect height="22" width="105" x="255" y="70"></rect><text x="307.5" y="85">whitespace</text></g><path d="M360.0 81a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g></g><path d="M380.0 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M 400.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
59
|
+
|
60
|
+
<h1><whitespace-token></h1>
|
61
|
+
<svg class="railroad-diagram" height="71" viewBox="0 0 225.0 71" width="225.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g><path d="M50 31h0.0" /><path d="M175.0 31h0.0" /><path d="M50.0 31h10" /><g class="non-terminal "><path d="M60.0 31h0.0" /><path d="M165.0 31h0.0" /><rect height="22" width="105" x="60" y="20"></rect><text x="112.5" y="35">whitespace</text></g><path d="M165.0 31h10" /><path d="M60.0 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M60.0 51h105.0" /></g><path d="M165.0 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M175.0 31h10" /><path d="M 185.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
62
|
+
|
63
|
+
<h1>ws*</h1>
|
64
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 313.0 80" width="313.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M273.0 40h0.0" /><path d="M40.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h193.0" /></g><path d="M253.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40h20" /><g><path d="M60.0 40h0.0" /><path d="M253.0 40h0.0" /><path d="M60.0 40h10" /><g class="non-terminal "><path d="M70.0 40h0.0" /><path d="M243.0 40h0.0" /><rect height="22" width="173" x="70" y="29"></rect><text x="156.5" y="44"><whitespace-token></text></g><path d="M243.0 40h10" /><path d="M70.0 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M70.0 60h173.0" /></g><path d="M243.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M253.0 40h20" /></g><path d="M 273.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
65
|
+
|
66
|
+
<h1><ident-token></h1>
|
67
|
+
<svg class="railroad-diagram" height="109" viewBox="0 0 753.5 109" width="753.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M108.5 40h0.0" /><path d="M40.0 40h20" /><g><path d="M60.0 40h28.5" /></g><path d="M88.5 40h20" /><path d="M40.0 40a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 60h0.0" /><path d="M88.5 60h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="49"></rect><text x="74.25" y="64">-</text></g><path d="M88.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><g><path d="M108.5 40h0.0" /><path d="M355.5 40h0.0" /><path d="M108.5 40h20" /><g class="non-terminal "><path d="M128.5 40h0.0" /><path d="M335.5 40h0.0" /><rect height="22" width="207" x="128.5" y="29"></rect><text x="232" y="44">a-z A-Z _ or non-ASCII</text></g><path d="M335.5 40h20" /><path d="M108.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M128.5 70h68.0" /><path d="M267.5 70h68.0" /><rect height="22" width="71" x="196.5" y="59"></rect><text x="232" y="74">escape</text></g><path d="M335.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><g><path d="M355.5 40h0.0" /><path d="M713.5 40h0.0" /><path d="M355.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M375.5 20h318.0" /></g><path d="M693.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M355.5 40h20" /><g><path d="M375.5 40h0.0" /><path d="M693.5 40h0.0" /><path d="M375.5 40h10" /><g><path d="M385.5 40h0.0" /><path d="M683.5 40h0.0" /><path d="M385.5 40h20" /><g class="non-terminal "><path d="M405.5 40h0.0" /><path d="M663.5 40h0.0" /><rect height="22" width="258" x="405.5" y="29"></rect><text x="534.5" y="44">a-z A-Z 0-9 _ - or non-ASCII</text></g><path d="M663.5 40h20" /><path d="M385.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M405.5 70h93.5" /><path d="M570.0 70h93.5" /><rect height="22" width="71" x="499" y="59"></rect><text x="534.5" y="74">escape</text></g><path d="M663.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M683.5 40h10" /><path d="M385.5 40a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10" /><g><path d="M385.5 89h298.0" /></g><path d="M683.5 89a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10" /></g><path d="M693.5 40h20" /></g><path d="M 713.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
68
|
+
|
69
|
+
<h1><function-token></h1>
|
70
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 279.0 62" width="279.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="non-terminal "><path d="M50 31h0.0" /><path d="M180.5 31h0.0" /><rect height="22" width="130.5" x="50" y="20"></rect><text x="115.25" y="35"><ident-token></text></g><path d="M180.5 31h10" /><path d="M190.5 31h10" /><g class="terminal "><path d="M200.5 31h0.0" /><path d="M229.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="200.5" y="20"></rect><text x="214.75" y="35">(</text></g><path d="M229.0 31h10" /><path d="M 239.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
71
|
+
|
72
|
+
<h1><at-keyword-token></h1>
|
73
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 279.0 62" width="279.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="terminal "><path d="M50 31h0.0" /><path d="M78.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="20"></rect><text x="64.25" y="35">@</text></g><path d="M78.5 31h10" /><path d="M88.5 31h10" /><g class="non-terminal "><path d="M98.5 31h0.0" /><path d="M229.0 31h0.0" /><rect height="22" width="130.5" x="98.5" y="20"></rect><text x="163.75" y="35"><ident-token></text></g><path d="M229.0 31h10" /><path d="M 239.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
74
|
+
|
75
|
+
<h1><hash-token></h1>
|
76
|
+
<svg class="railroad-diagram" height="100" viewBox="0 0 466.5 100" width="466.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="terminal "><path d="M50 31h0.0" /><path d="M78.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="20"></rect><text x="64.25" y="35">#</text></g><path d="M78.5 31h10" /><path d="M88.5 31h10" /><g><path d="M98.5 31h0.0" /><path d="M416.5 31h0.0" /><path d="M98.5 31h10" /><g><path d="M108.5 31h0.0" /><path d="M406.5 31h0.0" /><path d="M108.5 31h20" /><g class="non-terminal "><path d="M128.5 31h0.0" /><path d="M386.5 31h0.0" /><rect height="22" width="258" x="128.5" y="20"></rect><text x="257.5" y="35">a-z A-Z 0-9 _ - or non-ASCII</text></g><path d="M386.5 31h20" /><path d="M108.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M128.5 61h93.5" /><path d="M293.0 61h93.5" /><rect height="22" width="71" x="222" y="50"></rect><text x="257.5" y="65">escape</text></g><path d="M386.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M406.5 31h10" /><path d="M108.5 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10" /><g><path d="M108.5 80h298.0" /></g><path d="M406.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10" /></g><path d="M416.5 31h10" /><path d="M 426.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
77
|
+
|
78
|
+
<h1><string-token></h1>
|
79
|
+
<svg class="railroad-diagram" height="246" viewBox="0 0 470.0 246" width="470.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M430.0 40h0.0" /><path d="M40.0 40h20" /><g><path d="M60.0 40h0.0" /><path d="M410.0 40h0.0" /><g class="terminal "><path d="M60.0 40h0.0" /><path d="M88.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="29"></rect><text x="74.25" y="44">"</text></g><path d="M88.5 40h10" /><g><path d="M98.5 40h0.0" /><path d="M371.5 40h0.0" /><path d="M98.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M118.5 20h233.0" /></g><path d="M351.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M98.5 40h20" /><g><path d="M118.5 40h0.0" /><path d="M351.5 40h0.0" /><path d="M118.5 40h10" /><g><path d="M128.5 40h0.0" /><path d="M341.5 40h0.0" /><path d="M128.5 40h20" /><g class="non-terminal "><path d="M148.5 40h0.0" /><path d="M321.5 40h0.0" /><rect height="22" width="173" x="148.5" y="29"></rect><text x="235" y="44">not " \ or newline</text></g><path d="M321.5 40h20" /><path d="M128.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M148.5 70h51.0" /><path d="M270.5 70h51.0" /><rect height="22" width="71" x="199.5" y="59"></rect><text x="235" y="74">escape</text></g><path d="M321.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M128.5 40a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g><path d="M148.5 100h22.5" /><path d="M299.0 100h22.5" /><g class="terminal "><path d="M171.0 100h0.0" /><path d="M199.5 100h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="171" y="89"></rect><text x="185.25" y="104">\</text></g><path d="M199.5 100h10" /><path d="M209.5 100h10" /><g class="non-terminal "><path d="M219.5 100h0.0" /><path d="M299.0 100h0.0" /><rect height="22" width="79.5" x="219.5" y="89"></rect><text x="259.25" y="104">newline</text></g></g><path d="M321.5 100a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M341.5 40h10" /><path d="M128.5 40a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10" /><g><path d="M128.5 119h213.0" /></g><path d="M341.5 119a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10" /></g><path d="M351.5 40h20" /></g><path d="M371.5 40h10" /><g class="terminal "><path d="M381.5 40h0.0" /><path d="M410.0 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="381.5" y="29"></rect><text x="395.75" y="44">"</text></g></g><path d="M410.0 40h20" /><path d="M40.0 40a10 10 0 0 1 10 10v87a10 10 0 0 0 10 10" /><g><path d="M60.0 147h0.0" /><path d="M410.0 147h0.0" /><g class="terminal "><path d="M60.0 147h0.0" /><path d="M88.5 147h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="136"></rect><text x="74.25" y="151">'</text></g><path d="M88.5 147h10" /><g><path d="M98.5 147h0.0" /><path d="M371.5 147h0.0" /><path d="M98.5 147a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M118.5 127h233.0" /></g><path d="M351.5 127a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M98.5 147h20" /><g><path d="M118.5 147h0.0" /><path d="M351.5 147h0.0" /><path d="M118.5 147h10" /><g><path d="M128.5 147h0.0" /><path d="M341.5 147h0.0" /><path d="M128.5 147h20" /><g class="non-terminal "><path d="M148.5 147h0.0" /><path d="M321.5 147h0.0" /><rect height="22" width="173" x="148.5" y="136"></rect><text x="235" y="151">not ' \ or newline</text></g><path d="M321.5 147h20" /><path d="M128.5 147a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M148.5 177h51.0" /><path d="M270.5 177h51.0" /><rect height="22" width="71" x="199.5" y="166"></rect><text x="235" y="181">escape</text></g><path d="M321.5 177a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M128.5 147a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g><path d="M148.5 207h22.5" /><path d="M299.0 207h22.5" /><g class="terminal "><path d="M171.0 207h0.0" /><path d="M199.5 207h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="171" y="196"></rect><text x="185.25" y="211">\</text></g><path d="M199.5 207h10" /><path d="M209.5 207h10" /><g class="non-terminal "><path d="M219.5 207h0.0" /><path d="M299.0 207h0.0" /><rect height="22" width="79.5" x="219.5" y="196"></rect><text x="259.25" y="211">newline</text></g></g><path d="M321.5 207a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M341.5 147h10" /><path d="M128.5 147a10 10 0 0 0 -10 10v59a10 10 0 0 0 10 10" /><g><path d="M128.5 226h213.0" /></g><path d="M341.5 226a10 10 0 0 0 10 -10v-59a10 10 0 0 0 -10 -10" /></g><path d="M351.5 147h20" /></g><path d="M371.5 147h10" /><g class="terminal "><path d="M381.5 147h0.0" /><path d="M410.0 147h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="381.5" y="136"></rect><text x="395.75" y="151">'</text></g></g><path d="M410.0 147a10 10 0 0 0 10 -10v-87a10 10 0 0 1 10 -10" /></g><path d="M 430.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
80
|
+
|
81
|
+
<h1><url-token></h1>
|
82
|
+
<svg class="railroad-diagram" height="101" viewBox="0 0 701.5 101" width="701.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="non-terminal "><path d="M50 40h0.0" /><path d="M231.5 40h0.0" /><rect height="22" width="181.5" x="50" y="29"></rect><text x="140.75" y="44"><ident-token "url"></text></g><path d="M231.5 40h10" /><path d="M241.5 40h10" /><g class="terminal "><path d="M251.5 40h0.0" /><path d="M280.0 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="251.5" y="29"></rect><text x="265.75" y="44">(</text></g><path d="M280.0 40h10" /><path d="M290.0 40h10" /><g class="non-terminal "><path d="M300.0 40h0.0" /><path d="M345.5 40h0.0" /><rect height="22" width="45.5" x="300" y="29"></rect><text x="322.75" y="44">ws*</text></g><path d="M345.5 40h10" /><g><path d="M355.5 40h0.0" /><path d="M613.0 40h0.0" /><path d="M355.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M375.5 20h217.5" /></g><path d="M593.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M355.5 40h20" /><g><path d="M375.5 40h0.0" /><path d="M593.0 40h0.0" /><g><path d="M375.5 40h0.0" /><path d="M537.5 40h0.0" /><path d="M375.5 40h20" /><g class="non-terminal "><path d="M395.5 40h0.0" /><path d="M517.5 40h0.0" /><rect height="22" width="122" x="395.5" y="29"></rect><text x="456.5" y="44">url-unquoted</text></g><path d="M517.5 40h20" /><path d="M375.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M395.5 70h25.5" /><path d="M492.0 70h25.5" /><rect height="22" width="71" x="421" y="59"></rect><text x="456.5" y="74">STRING</text></g><path d="M517.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M537.5 40h10" /><g class="non-terminal "><path d="M547.5 40h0.0" /><path d="M593.0 40h0.0" /><rect height="22" width="45.5" x="547.5" y="29"></rect><text x="570.25" y="44">ws*</text></g></g><path d="M593.0 40h20" /></g><path d="M613.0 40h10" /><g class="terminal "><path d="M623.0 40h0.0" /><path d="M651.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="623" y="29"></rect><text x="637.25" y="44">)</text></g><path d="M651.5 40h10" /><path d="M 661.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
83
|
+
|
84
|
+
<h1>url-unquoted</h1>
|
85
|
+
<svg class="railroad-diagram" height="100" viewBox="0 0 528.5 100" width="528.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g><path d="M50 31h0.0" /><path d="M478.5 31h0.0" /><path d="M50.0 31h10" /><g><path d="M60.0 31h0.0" /><path d="M468.5 31h0.0" /><path d="M60.0 31h20" /><g class="non-terminal "><path d="M80.0 31h0.0" /><path d="M448.5 31h0.0" /><rect height="22" width="368.5" x="80" y="20"></rect><text x="264.25" y="35">not " ' ( ) \ whitespace or non-printable</text></g><path d="M448.5 31h20" /><path d="M60.0 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M80.0 61h148.75" /><path d="M299.75 61h148.75" /><rect height="22" width="71" x="228.75" y="50"></rect><text x="264.25" y="65">escape</text></g><path d="M448.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M468.5 31h10" /><path d="M60.0 31a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10" /><g><path d="M60.0 80h408.5" /></g><path d="M468.5 80a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10" /></g><path d="M478.5 31h10" /><path d="M 488.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
86
|
+
|
87
|
+
<h1><number-token></h1>
|
88
|
+
<svg class="railroad-diagram" height="169" viewBox="0 0 691.5 169" width="691.5"><g transform="translate(.5 .5)"><g><path d="M20 41v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 51h0.0" /><path d="M108.5 51h0.0" /><path d="M40.0 51a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M60.0 31h0.0" /><path d="M88.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="20"></rect><text x="74.25" y="35">+</text></g><path d="M88.5 31a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 51h20" /><g><path d="M60.0 51h28.5" /></g><path d="M88.5 51h20" /><path d="M40.0 51a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 71h0.0" /><path d="M88.5 71h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="60"></rect><text x="74.25" y="75">-</text></g><path d="M88.5 71a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><g><path d="M108.5 51h0.0" /><path d="M382.0 51h0.0" /><path d="M108.5 51h20" /><g><path d="M128.5 51h0.0" /><path d="M362.0 51h0.0" /><g><path d="M128.5 51h0.0" /><path d="M211.0 51h0.0" /><path d="M128.5 51h10" /><g class="non-terminal "><path d="M138.5 51h0.0" /><path d="M201.0 51h0.0" /><rect height="22" width="62.5" x="138.5" y="40"></rect><text x="169.75" y="55">digit</text></g><path d="M201.0 51h10" /><path d="M138.5 51a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M138.5 71h62.5" /></g><path d="M201.0 71a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M211.0 51h10" /><path d="M221.0 51h10" /><g class="terminal "><path d="M231.0 51h0.0" /><path d="M259.5 51h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="231" y="40"></rect><text x="245.25" y="55">.</text></g><path d="M259.5 51h10" /><path d="M269.5 51h10" /><g><path d="M279.5 51h0.0" /><path d="M362.0 51h0.0" /><path d="M279.5 51h10" /><g class="non-terminal "><path d="M289.5 51h0.0" /><path d="M352.0 51h0.0" /><rect height="22" width="62.5" x="289.5" y="40"></rect><text x="320.75" y="55">digit</text></g><path d="M352.0 51h10" /><path d="M289.5 51a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M289.5 71h62.5" /></g><path d="M352.0 71a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g></g><path d="M362.0 51h20" /><path d="M108.5 51a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10" /><g><path d="M128.5 90h75.5" /><path d="M286.5 90h75.5" /><path d="M204.0 90h10" /><g class="non-terminal "><path d="M214.0 90h0.0" /><path d="M276.5 90h0.0" /><rect height="22" width="62.5" x="214" y="79"></rect><text x="245.25" y="94">digit</text></g><path d="M276.5 90h10" /><path d="M214.0 90a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M214.0 110h62.5" /></g><path d="M276.5 110a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M362.0 90a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10" /><path d="M108.5 51a10 10 0 0 1 10 10v58a10 10 0 0 0 10 10" /><g><path d="M128.5 129h51.25" /><path d="M310.75 129h51.25" /><g class="terminal "><path d="M179.75 129h0.0" /><path d="M208.25 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="179.75" y="118"></rect><text x="194" y="133">.</text></g><path d="M208.25 129h10" /><path d="M218.25 129h10" /><g><path d="M228.25 129h0.0" /><path d="M310.75 129h0.0" /><path d="M228.25 129h10" /><g class="non-terminal "><path d="M238.25 129h0.0" /><path d="M300.75 129h0.0" /><rect height="22" width="62.5" x="238.25" y="118"></rect><text x="269.5" y="133">digit</text></g><path d="M300.75 129h10" /><path d="M238.25 129a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M238.25 149h62.5" /></g><path d="M300.75 149a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g></g><path d="M362.0 129a10 10 0 0 0 10 -10v-58a10 10 0 0 1 10 -10" /></g><g><path d="M382.0 51h0.0" /><path d="M651.5 51h0.0" /><path d="M382.0 51h20" /><g><path d="M402.0 51h229.5" /></g><path d="M631.5 51h20" /><path d="M382.0 51a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10" /><g><path d="M402.0 90h0.0" /><path d="M631.5 90h0.0" /><g><path d="M402.0 90h0.0" /><path d="M470.5 90h0.0" /><path d="M402.0 90h20" /><g class="terminal "><path d="M422.0 90h0.0" /><path d="M450.5 90h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="422" y="79"></rect><text x="436.25" y="94">e</text></g><path d="M450.5 90h20" /><path d="M402.0 90a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M422.0 120h0.0" /><path d="M450.5 120h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="422" y="109"></rect><text x="436.25" y="124">E</text></g><path d="M450.5 120a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><g><path d="M470.5 90h0.0" /><path d="M539.0 90h0.0" /><path d="M470.5 90a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M490.5 70h0.0" /><path d="M519.0 70h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="490.5" y="59"></rect><text x="504.75" y="74">+</text></g><path d="M519.0 70a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M470.5 90h20" /><g><path d="M490.5 90h28.5" /></g><path d="M519.0 90h20" /><path d="M470.5 90a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M490.5 110h0.0" /><path d="M519.0 110h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="490.5" y="99"></rect><text x="504.75" y="114">-</text></g><path d="M519.0 110a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><path d="M539.0 90h10" /><g><path d="M549.0 90h0.0" /><path d="M631.5 90h0.0" /><path d="M549.0 90h10" /><g class="non-terminal "><path d="M559.0 90h0.0" /><path d="M621.5 90h0.0" /><rect height="22" width="62.5" x="559" y="79"></rect><text x="590.25" y="94">digit</text></g><path d="M621.5 90h10" /><path d="M559.0 90a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M559.0 110h62.5" /></g><path d="M621.5 110a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g></g><path d="M631.5 90a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10" /></g><path d="M 651.5 51 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
89
|
+
|
90
|
+
<h1><dimension-token></h1>
|
91
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 389.5 62" width="389.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="non-terminal "><path d="M50 31h0.0" /><path d="M189.0 31h0.0" /><rect height="22" width="139" x="50" y="20"></rect><text x="119.5" y="35"><number-token></text></g><path d="M189.0 31h10" /><path d="M199.0 31h10" /><g class="non-terminal "><path d="M209.0 31h0.0" /><path d="M339.5 31h0.0" /><rect height="22" width="130.5" x="209" y="20"></rect><text x="274.25" y="35"><ident-token></text></g><path d="M339.5 31h10" /><path d="M 349.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
92
|
+
|
93
|
+
<h1><percentage-token></h1>
|
94
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 287.5 62" width="287.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="non-terminal "><path d="M50 31h0.0" /><path d="M189.0 31h0.0" /><rect height="22" width="139" x="50" y="20"></rect><text x="119.5" y="35"><number-token></text></g><path d="M189.0 31h10" /><path d="M199.0 31h10" /><g class="terminal "><path d="M209.0 31h0.0" /><path d="M237.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="209" y="20"></rect><text x="223.25" y="35">%</text></g><path d="M237.5 31h10" /><path d="M 247.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
95
|
+
|
96
|
+
<h1><unicode-range-token></h1>
|
97
|
+
<svg class="railroad-diagram" height="203" viewBox="0 0 594.5 203" width="594.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M108.5 31h0.0" /><path d="M40.0 31h20" /><g class="terminal "><path d="M60.0 31h0.0" /><path d="M88.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="20"></rect><text x="74.25" y="35">U</text></g><path d="M88.5 31h20" /><path d="M40.0 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 61h0.0" /><path d="M88.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="50"></rect><text x="74.25" y="65">u</text></g><path d="M88.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M108.5 31h10" /><g class="terminal "><path d="M118.5 31h0.0" /><path d="M147.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="118.5" y="20"></rect><text x="132.75" y="35">+</text></g><path d="M147.0 31h10" /><g><path d="M157.0 31h0.0" /><path d="M554.5 31h0.0" /><path d="M157.0 31h20" /><g><path d="M177.0 31h120.5" /><path d="M414.0 31h120.5" /><g><path d="M297.5 31h0.0" /><path d="M414.0 31h0.0" /><path d="M297.5 31h10" /><g class="non-terminal "><path d="M307.5 31h0.0" /><path d="M404.0 31h0.0" /><rect height="22" width="96.5" x="307.5" y="20"></rect><text x="355.75" y="35">hex digit</text></g><path d="M404.0 31h10" /><path d="M307.5 31a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M307.5 58h0" /><path d="M380.5 58h0" /><text class="comment" x="343.5" y="62">1-6 times</text></g><path d="M404.0 58a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g></g><path d="M534.5 31h20" /><path d="M157.0 31a10 10 0 0 1 10 10v43a10 10 0 0 0 10 10" /><g><path d="M177.0 94h0.0" /><path d="M534.5 94h0.0" /><g><path d="M177.0 94h0.0" /><path d="M333.5 94h0.0" /><path d="M177.0 94a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M197.0 74h116.5" /></g><path d="M313.5 74a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M177.0 94h20" /><g><path d="M197.0 94h0.0" /><path d="M313.5 94h0.0" /><path d="M197.0 94h10" /><g class="non-terminal "><path d="M207.0 94h0.0" /><path d="M303.5 94h0.0" /><rect height="22" width="96.5" x="207" y="83"></rect><text x="255.25" y="98">hex digit</text></g><path d="M303.5 94h10" /><path d="M207.0 94a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M207.0 121h0" /><path d="M280.0 121h0" /><text class="comment" x="243" y="125">1-5 times</text></g><path d="M303.5 121a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M313.5 94h20" /></g><path d="M333.5 94h10" /><g><path d="M343.5 94h0" /><path d="M534.5 94h0" /><path d="M343.5 94h10" /><g class="terminal "><path d="M353.5 94h71.25" /><path d="M453.25 94h71.25" /><rect height="22" rx="10" ry="10" width="28.5" x="424.75" y="83"></rect><text x="439" y="98">?</text></g><path d="M524.5 94h10" /><path d="M353.5 94a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M353.5 121h0" /><path d="M524.5 121h0" /><text class="comment" x="438.5" y="125">1 to (6 - digits) times</text></g><path d="M524.5 121a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g></g><path d="M534.5 94a10 10 0 0 0 10 -10v-43a10 10 0 0 1 10 -10" /><path d="M157.0 31a10 10 0 0 1 10 10v97a10 10 0 0 0 10 10" /><g><path d="M177.0 148h28.0" /><path d="M506.5 148h28.0" /><g><path d="M205.0 148h0.0" /><path d="M321.5 148h0.0" /><path d="M205.0 148h10" /><g class="non-terminal "><path d="M215.0 148h0.0" /><path d="M311.5 148h0.0" /><rect height="22" width="96.5" x="215" y="137"></rect><text x="263.25" y="152">hex digit</text></g><path d="M311.5 148h10" /><path d="M215.0 148a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M215.0 175h0" /><path d="M288.0 175h0" /><text class="comment" x="251" y="179">1-6 times</text></g><path d="M311.5 175a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M321.5 148h10" /><path d="M331.5 148h10" /><g class="terminal "><path d="M341.5 148h0.0" /><path d="M370.0 148h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="341.5" y="137"></rect><text x="355.75" y="152">-</text></g><path d="M370.0 148h10" /><path d="M380.0 148h10" /><g><path d="M390.0 148h0.0" /><path d="M506.5 148h0.0" /><path d="M390.0 148h10" /><g class="non-terminal "><path d="M400.0 148h0.0" /><path d="M496.5 148h0.0" /><rect height="22" width="96.5" x="400" y="137"></rect><text x="448.25" y="152">hex digit</text></g><path d="M496.5 148h10" /><path d="M400.0 148a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M400.0 175h0" /><path d="M473.0 175h0" /><text class="comment" x="436" y="179">1-6 times</text></g><path d="M496.5 175a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g></g><path d="M534.5 148a10 10 0 0 0 10 -10v-97a10 10 0 0 1 10 -10" /></g><path d="M 554.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
98
|
+
|
99
|
+
<h1>Stylesheet</h1>
|
100
|
+
<svg class="railroad-diagram" height="198" viewBox="0 0 353.0 198" width="353.0"><g transform="translate(.5 .5)"><g><path d="M20 119v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 129h0.0" /><path d="M313.0 129h0.0" /><path d="M40.0 129a10 10 0 0 0 10 -10v-89a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h233.0" /></g><path d="M293.0 20a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M40.0 129h20" /><g><path d="M60.0 129h0.0" /><path d="M293.0 129h0.0" /><path d="M60.0 129h10" /><g><path d="M70.0 129h0.0" /><path d="M283.0 129h0.0" /><path d="M70.0 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="non-terminal "><path d="M90.0 99h0.0" /><path d="M263.0 99h0.0" /><rect height="22" width="173" x="90" y="88"></rect><text x="176.5" y="103"><whitespace-token></text></g><path d="M263.0 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M70.0 129a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="non-terminal "><path d="M90.0 69h29.75" /><path d="M233.25 69h29.75" /><rect height="22" width="113.5" x="119.75" y="58"></rect><text x="176.5" y="73"><CDC-token></text></g><path d="M263.0 69a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M70.0 129a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="non-terminal "><path d="M90.0 39h29.75" /><path d="M233.25 39h29.75" /><rect height="22" width="113.5" x="119.75" y="28"></rect><text x="176.5" y="43"><CDO-token></text></g><path d="M263.0 39a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M70.0 129h20" /><g class="non-terminal "><path d="M90.0 129h17.0" /><path d="M246.0 129h17.0" /><rect height="22" width="139" x="107" y="118"></rect><text x="176.5" y="133">Qualified rule</text></g><path d="M263.0 129h20" /><path d="M70.0 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M90.0 159h46.75" /><path d="M216.25 159h46.75" /><rect height="22" width="79.5" x="136.75" y="148"></rect><text x="176.5" y="163">At-rule</text></g><path d="M263.0 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M283.0 129h10" /><path d="M70.0 129a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10" /><g><path d="M70.0 178h213.0" /></g><path d="M283.0 178a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10" /></g><path d="M293.0 129h20" /></g><path d="M 313.0 129 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
101
|
+
|
102
|
+
<h1>Rule list</h1>
|
103
|
+
<svg class="railroad-diagram" height="138" viewBox="0 0 353.0 138" width="353.0"><g transform="translate(.5 .5)"><g><path d="M20 59v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 69h0.0" /><path d="M313.0 69h0.0" /><path d="M40.0 69a10 10 0 0 0 10 -10v-29a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h233.0" /></g><path d="M293.0 20a10 10 0 0 1 10 10v29a10 10 0 0 0 10 10" /><path d="M40.0 69h20" /><g><path d="M60.0 69h0.0" /><path d="M293.0 69h0.0" /><path d="M60.0 69h10" /><g><path d="M70.0 69h0.0" /><path d="M283.0 69h0.0" /><path d="M70.0 69a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="non-terminal "><path d="M90.0 39h0.0" /><path d="M263.0 39h0.0" /><rect height="22" width="173" x="90" y="28"></rect><text x="176.5" y="43"><whitespace-token></text></g><path d="M263.0 39a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M70.0 69h20" /><g class="non-terminal "><path d="M90.0 69h17.0" /><path d="M246.0 69h17.0" /><rect height="22" width="139" x="107" y="58"></rect><text x="176.5" y="73">Qualified rule</text></g><path d="M263.0 69h20" /><path d="M70.0 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M90.0 99h46.75" /><path d="M216.25 99h46.75" /><rect height="22" width="79.5" x="136.75" y="88"></rect><text x="176.5" y="103">At-rule</text></g><path d="M263.0 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M283.0 69h10" /><path d="M70.0 69a10 10 0 0 0 -10 10v29a10 10 0 0 0 10 10" /><g><path d="M70.0 118h213.0" /></g><path d="M283.0 118a10 10 0 0 0 10 -10v-29a10 10 0 0 0 -10 -10" /></g><path d="M293.0 69h20" /></g><path d="M 313.0 69 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
104
|
+
|
105
|
+
<h1>At-rule</h1>
|
106
|
+
<svg class="railroad-diagram" height="101" viewBox="0 0 608.5 101" width="608.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="non-terminal "><path d="M50 40h0.0" /><path d="M223.0 40h0.0" /><rect height="22" width="173" x="50" y="29"></rect><text x="136.5" y="44"><at-keyword-token></text></g><path d="M223.0 40h10" /><g><path d="M233.0 40h0.0" /><path d="M440.5 40h0.0" /><path d="M233.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M253.0 20h167.5" /></g><path d="M420.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M233.0 40h20" /><g><path d="M253.0 40h0.0" /><path d="M420.5 40h0.0" /><path d="M253.0 40h10" /><g class="non-terminal "><path d="M263.0 40h0.0" /><path d="M410.5 40h0.0" /><rect height="22" width="147.5" x="263" y="29"></rect><text x="336.75" y="44">Component value</text></g><path d="M410.5 40h10" /><path d="M263.0 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M263.0 60h147.5" /></g><path d="M410.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M420.5 40h20" /></g><g><path d="M440.5 40h0.0" /><path d="M568.5 40h0.0" /><path d="M440.5 40h20" /><g class="non-terminal "><path d="M460.5 40h0.0" /><path d="M548.5 40h0.0" /><rect height="22" width="88" x="460.5" y="29"></rect><text x="504.5" y="44">{} block</text></g><path d="M548.5 40h20" /><path d="M440.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M460.5 70h29.75" /><path d="M518.75 70h29.75" /><rect height="22" rx="10" ry="10" width="28.5" x="490.25" y="59"></rect><text x="504.5" y="74">;</text></g><path d="M548.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M 568.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
107
|
+
|
108
|
+
<h1>Qualified rule</h1>
|
109
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 395.5 80" width="395.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M247.5 40h0.0" /><path d="M40.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h167.5" /></g><path d="M227.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40h20" /><g><path d="M60.0 40h0.0" /><path d="M227.5 40h0.0" /><path d="M60.0 40h10" /><g class="non-terminal "><path d="M70.0 40h0.0" /><path d="M217.5 40h0.0" /><rect height="22" width="147.5" x="70" y="29"></rect><text x="143.75" y="44">Component value</text></g><path d="M217.5 40h10" /><path d="M70.0 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M70.0 60h147.5" /></g><path d="M217.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M227.5 40h20" /></g><path d="M247.5 40h10" /><g class="non-terminal "><path d="M257.5 40h0.0" /><path d="M345.5 40h0.0" /><rect height="22" width="88" x="257.5" y="29"></rect><text x="301.5" y="44">{} block</text></g><path d="M345.5 40h10" /><path d="M 355.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
110
|
+
|
111
|
+
<h1>Declaration list</h1>
|
112
|
+
<svg class="railroad-diagram" height="101" viewBox="0 0 583.5 101" width="583.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="non-terminal "><path d="M50 40h0.0" /><path d="M95.5 40h0.0" /><rect height="22" width="45.5" x="50" y="29"></rect><text x="72.75" y="44">ws*</text></g><path d="M95.5 40h10" /><g><path d="M105.5 40h0.0" /><path d="M543.5 40h0.0" /><path d="M105.5 40h20" /><g><path d="M125.5 40h0.0" /><path d="M523.5 40h0.0" /><g><path d="M125.5 40h0.0" /><path d="M279.0 40h0.0" /><path d="M125.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M145.5 20h113.5" /></g><path d="M259.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M125.5 40h20" /><g class="non-terminal "><path d="M145.5 40h0.0" /><path d="M259.0 40h0.0" /><rect height="22" width="113.5" x="145.5" y="29"></rect><text x="202.25" y="44">Declaration</text></g><path d="M259.0 40h20" /></g><g><path d="M279.0 40h0.0" /><path d="M523.5 40h0.0" /><path d="M279.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M299.0 20h204.5" /></g><path d="M503.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M279.0 40h20" /><g><path d="M299.0 40h0.0" /><path d="M503.5 40h0.0" /><g class="terminal "><path d="M299.0 40h0.0" /><path d="M327.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="299" y="29"></rect><text x="313.25" y="44">;</text></g><path d="M327.5 40h10" /><path d="M337.5 40h10" /><g class="non-terminal "><path d="M347.5 40h0.0" /><path d="M503.5 40h0.0" /><rect height="22" width="156" x="347.5" y="29"></rect><text x="425.5" y="44">Declaration list</text></g></g><path d="M503.5 40h20" /></g></g><path d="M523.5 40h20" /><path d="M105.5 40a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g><path d="M125.5 70h71.25" /><path d="M452.25 70h71.25" /><g class="non-terminal "><path d="M196.75 70h0.0" /><path d="M276.25 70h0.0" /><rect height="22" width="79.5" x="196.75" y="59"></rect><text x="236.5" y="74">At-rule</text></g><path d="M276.25 70h10" /><path d="M286.25 70h10" /><g class="non-terminal "><path d="M296.25 70h0.0" /><path d="M452.25 70h0.0" /><rect height="22" width="156" x="296.25" y="59"></rect><text x="374.25" y="74">Declaration list</text></g></g><path d="M523.5 70a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M 543.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
113
|
+
|
114
|
+
<h1>Declaration</h1>
|
115
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 697.0 80" width="697.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="non-terminal "><path d="M50 40h0.0" /><path d="M180.5 40h0.0" /><rect height="22" width="130.5" x="50" y="29"></rect><text x="115.25" y="44"><ident-token></text></g><path d="M180.5 40h10" /><path d="M190.5 40h10" /><g class="non-terminal "><path d="M200.5 40h0.0" /><path d="M246.0 40h0.0" /><rect height="22" width="45.5" x="200.5" y="29"></rect><text x="223.25" y="44">ws*</text></g><path d="M246.0 40h10" /><path d="M256.0 40h10" /><g class="terminal "><path d="M266.0 40h0.0" /><path d="M294.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="266" y="29"></rect><text x="280.25" y="44">:</text></g><path d="M294.5 40h10" /><g><path d="M304.5 40h0.0" /><path d="M512.0 40h0.0" /><path d="M304.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M324.5 20h167.5" /></g><path d="M492.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M304.5 40h20" /><g><path d="M324.5 40h0.0" /><path d="M492.0 40h0.0" /><path d="M324.5 40h10" /><g class="non-terminal "><path d="M334.5 40h0.0" /><path d="M482.0 40h0.0" /><rect height="22" width="147.5" x="334.5" y="29"></rect><text x="408.25" y="44">Component value</text></g><path d="M482.0 40h10" /><path d="M334.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M334.5 60h147.5" /></g><path d="M482.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M492.0 40h20" /></g><g><path d="M512.0 40h0.0" /><path d="M657.0 40h0.0" /><path d="M512.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M532.0 20h105.0" /></g><path d="M637.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M512.0 40h20" /><g class="non-terminal "><path d="M532.0 40h0.0" /><path d="M637.0 40h0.0" /><rect height="22" width="105" x="532" y="29"></rect><text x="584.5" y="44">!important</text></g><path d="M637.0 40h20" /></g><path d="M 657.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
116
|
+
|
117
|
+
<h1>!important</h1>
|
118
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 512.0 62" width="512.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="terminal "><path d="M50 31h0.0" /><path d="M78.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="20"></rect><text x="64.25" y="35">!</text></g><path d="M78.5 31h10" /><path d="M88.5 31h10" /><g class="non-terminal "><path d="M98.5 31h0.0" /><path d="M144.0 31h0.0" /><rect height="22" width="45.5" x="98.5" y="20"></rect><text x="121.25" y="35">ws*</text></g><path d="M144.0 31h10" /><path d="M154.0 31h10" /><g class="non-terminal "><path d="M164.0 31h0.0" /><path d="M396.5 31h0.0" /><rect height="22" width="232.5" x="164" y="20"></rect><text x="280.25" y="35"><ident-token "important"></text></g><path d="M396.5 31h10" /><path d="M406.5 31h10" /><g class="non-terminal "><path d="M416.5 31h0.0" /><path d="M462.0 31h0.0" /><rect height="22" width="45.5" x="416.5" y="20"></rect><text x="439.25" y="35">ws*</text></g><path d="M462.0 31h10" /><path d="M 472.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
119
|
+
|
120
|
+
<h1>Component value</h1>
|
121
|
+
<svg class="railroad-diagram" height="182" viewBox="0 0 267.5 182" width="267.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M227.5 31h0.0" /><path d="M40.0 31h20" /><g class="non-terminal "><path d="M60.0 31h0.0" /><path d="M207.5 31h0.0" /><rect height="22" width="147.5" x="60" y="20"></rect><text x="133.75" y="35">Preserved token</text></g><path d="M207.5 31h20" /><path d="M40.0 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M60.0 61h29.75" /><path d="M177.75 61h29.75" /><rect height="22" width="88" x="89.75" y="50"></rect><text x="133.75" y="65">{} block</text></g><path d="M207.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M60.0 91h29.75" /><path d="M177.75 91h29.75" /><rect height="22" width="88" x="89.75" y="80"></rect><text x="133.75" y="95">() block</text></g><path d="M207.5 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M60.0 121h29.75" /><path d="M177.75 121h29.75" /><rect height="22" width="88" x="89.75" y="110"></rect><text x="133.75" y="125">[] block</text></g><path d="M207.5 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><path d="M40.0 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M60.0 151h4.25" /><path d="M203.25 151h4.25" /><rect height="22" width="139" x="64.25" y="140"></rect><text x="133.75" y="155">Function block</text></g><path d="M207.5 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10" /></g><path d="M 227.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
122
|
+
|
123
|
+
<h1>{} block</h1>
|
124
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 384.5 80" width="384.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="terminal "><path d="M50 40h0.0" /><path d="M78.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="29"></rect><text x="64.25" y="44">{</text></g><path d="M78.5 40h10" /><g><path d="M88.5 40h0.0" /><path d="M296.0 40h0.0" /><path d="M88.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M108.5 20h167.5" /></g><path d="M276.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M88.5 40h20" /><g><path d="M108.5 40h0.0" /><path d="M276.0 40h0.0" /><path d="M108.5 40h10" /><g class="non-terminal "><path d="M118.5 40h0.0" /><path d="M266.0 40h0.0" /><rect height="22" width="147.5" x="118.5" y="29"></rect><text x="192.25" y="44">Component value</text></g><path d="M266.0 40h10" /><path d="M118.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M118.5 60h147.5" /></g><path d="M266.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M276.0 40h20" /></g><path d="M296.0 40h10" /><g class="terminal "><path d="M306.0 40h0.0" /><path d="M334.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="306" y="29"></rect><text x="320.25" y="44">}</text></g><path d="M334.5 40h10" /><path d="M 344.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
125
|
+
|
126
|
+
<h1>() block</h1>
|
127
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 384.5 80" width="384.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="terminal "><path d="M50 40h0.0" /><path d="M78.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="29"></rect><text x="64.25" y="44">(</text></g><path d="M78.5 40h10" /><g><path d="M88.5 40h0.0" /><path d="M296.0 40h0.0" /><path d="M88.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M108.5 20h167.5" /></g><path d="M276.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M88.5 40h20" /><g><path d="M108.5 40h0.0" /><path d="M276.0 40h0.0" /><path d="M108.5 40h10" /><g class="non-terminal "><path d="M118.5 40h0.0" /><path d="M266.0 40h0.0" /><rect height="22" width="147.5" x="118.5" y="29"></rect><text x="192.25" y="44">Component value</text></g><path d="M266.0 40h10" /><path d="M118.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M118.5 60h147.5" /></g><path d="M266.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M276.0 40h20" /></g><path d="M296.0 40h10" /><g class="terminal "><path d="M306.0 40h0.0" /><path d="M334.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="306" y="29"></rect><text x="320.25" y="44">)</text></g><path d="M334.5 40h10" /><path d="M 344.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
128
|
+
|
129
|
+
<h1>[] block</h1>
|
130
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 384.5 80" width="384.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="terminal "><path d="M50 40h0.0" /><path d="M78.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="29"></rect><text x="64.25" y="44">[</text></g><path d="M78.5 40h10" /><g><path d="M88.5 40h0.0" /><path d="M296.0 40h0.0" /><path d="M88.5 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M108.5 20h167.5" /></g><path d="M276.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M88.5 40h20" /><g><path d="M108.5 40h0.0" /><path d="M276.0 40h0.0" /><path d="M108.5 40h10" /><g class="non-terminal "><path d="M118.5 40h0.0" /><path d="M266.0 40h0.0" /><rect height="22" width="147.5" x="118.5" y="29"></rect><text x="192.25" y="44">Component value</text></g><path d="M266.0 40h10" /><path d="M118.5 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M118.5 60h147.5" /></g><path d="M266.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M276.0 40h20" /></g><path d="M296.0 40h10" /><g class="terminal "><path d="M306.0 40h0.0" /><path d="M334.5 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="306" y="29"></rect><text x="320.25" y="44">]</text></g><path d="M334.5 40h10" /><path d="M 344.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
131
|
+
|
132
|
+
<h1>Function block</h1>
|
133
|
+
<svg class="railroad-diagram" height="80" viewBox="0 0 512.0 80" width="512.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><path d="M40 40h10" /><g class="non-terminal "><path d="M50 40h0.0" /><path d="M206.0 40h0.0" /><rect height="22" width="156" x="50" y="29"></rect><text x="128" y="44"><function-token></text></g><path d="M206.0 40h10" /><g><path d="M216.0 40h0.0" /><path d="M423.5 40h0.0" /><path d="M216.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M236.0 20h167.5" /></g><path d="M403.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M216.0 40h20" /><g><path d="M236.0 40h0.0" /><path d="M403.5 40h0.0" /><path d="M236.0 40h10" /><g class="non-terminal "><path d="M246.0 40h0.0" /><path d="M393.5 40h0.0" /><rect height="22" width="147.5" x="246" y="29"></rect><text x="319.75" y="44">Component value</text></g><path d="M393.5 40h10" /><path d="M246.0 40a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g><path d="M246.0 60h147.5" /></g><path d="M393.5 60a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10" /></g><path d="M403.5 40h20" /></g><path d="M423.5 40h10" /><g class="terminal "><path d="M433.5 40h0.0" /><path d="M462.0 40h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="433.5" y="29"></rect><text x="447.75" y="44">)</text></g><path d="M462.0 40h10" /><path d="M 472.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
134
|
+
|
135
|
+
<h1>glob pattern</h1>
|
136
|
+
<svg class="railroad-diagram" height="112" viewBox="0 0 202.5 112" width="202.5"><g transform="translate(.5 .5)"><g><path d="M20 46v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 56h0" /><path d="M162.5 56h0" /><path d="M40.0 56a10 10 0 0 0 10 -10v-5a10 10 0 0 1 10 -10" /><g class="non-terminal "><path d="M60.0 31h10.0" /><path d="M132.5 31h10.0" /><rect height="22" width="62.5" x="70" y="20"></rect><text x="101.25" y="35">ident</text></g><path d="M142.5 31a10 10 0 0 1 10 10v5a10 10 0 0 0 10 10" /><path d="M40.0 56a10 10 0 0 1 10 10v5a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 81h27.0" /><path d="M115.5 81h27.0" /><rect height="22" rx="10" ry="10" width="28.5" x="87" y="70"></rect><text x="101.25" y="85">*</text></g><path d="M142.5 81a10 10 0 0 0 10 -10v-5a10 10 0 0 1 10 -10" /><path d="M50.0 41a10 10 0 0 0 10 10h32.10786437626905a 10 10 0 0 1 7.071067811865475 2.9289321881345254l4.142135623730949 4.142135623730949a 10 10 0 0 0 7.071067811865475 2.9289321881345254h32.10786437626905a10 10 0 0 1 10 10" /><path d="M50.0 71a10 10 0 0 1 10 -10h32.10786437626905a 10 10 0 0 0 7.071067811865475 -2.9289321881345254l4.142135623730949 -4.142135623730949a 10 10 0 0 1 7.071067811865475 -2.9289321881345254h32.10786437626905a10 10 0 0 0 10 -10" /></g><path d="M 162.5 56 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
137
|
+
|
138
|
+
<h1>SQL</h1>
|
139
|
+
<svg class="railroad-diagram" height="390" viewBox="0 0 1124.0 390" width="1124.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M40.0 40h10" /><g><path d="M50.0 40h0.0" /><path d="M1074.0 40h0.0" /><g class="terminal "><path d="M50.0 40h0.0" /><path d="M121.0 40h0.0" /><rect height="22" rx="10" ry="10" width="71" x="50" y="29"></rect><text x="85.5" y="44">SELECT</text></g><path d="M121.0 40h10" /><g><path d="M131.0 40h0.0" /><path d="M259.0 40h0.0" /><path d="M131.0 40h20" /><g><path d="M151.0 40h88.0" /></g><path d="M239.0 40h20" /><path d="M131.0 40a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M151.0 60h0.0" /><path d="M239.0 60h0.0" /><rect height="22" rx="10" ry="10" width="88" x="151" y="49"></rect><text x="195" y="64">DISTINCT</text></g><path d="M239.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><g><path d="M259.0 40h0.0" /><path d="M644.5 40h0.0" /><path d="M259.0 40h20" /><g class="terminal "><path d="M279.0 40h158.5" /><path d="M466.0 40h158.5" /><rect height="22" rx="10" ry="10" width="28.5" x="437.5" y="29"></rect><text x="451.75" y="44">*</text></g><path d="M624.5 40h20" /><path d="M259.0 40a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10" /><g><path d="M279.0 79h0.0" /><path d="M624.5 79h0.0" /><path d="M279.0 79h10" /><g><path d="M289.0 79h0.0" /><path d="M614.5 79h0.0" /><g class="non-terminal "><path d="M289.0 79h0.0" /><path d="M394.0 79h0.0" /><rect height="22" width="105" x="289" y="68"></rect><text x="341.5" y="83">expression</text></g><path d="M394.0 79h10" /><g><path d="M404.0 79h0.0" /><path d="M614.5 79h0.0" /><path d="M404.0 79a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M424.0 59h170.5" /></g><path d="M594.5 59a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M404.0 79h20" /><g><path d="M424.0 79h0.0" /><path d="M594.5 79h0.0" /><g class="terminal "><path d="M424.0 79h0.0" /><path d="M461.0 79h0.0" /><rect height="22" rx="10" ry="10" width="37" x="424" y="68"></rect><text x="442.5" y="83">AS</text></g><path d="M461.0 79h10" /><path d="M471.0 79h10" /><g class="non-terminal "><path d="M481.0 79h0.0" /><path d="M594.5 79h0.0" /><rect height="22" width="113.5" x="481" y="68"></rect><text x="537.75" y="83">output_name</text></g></g><path d="M594.5 79h20" /></g></g><path d="M614.5 79h10" /><path d="M289.0 79a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M289.0 109h148.5" /><path d="M466.0 109h148.5" /><rect height="22" rx="10" ry="10" width="28.5" x="437.5" y="98"></rect><text x="451.75" y="113">,</text></g><path d="M614.5 109a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10" /></g><path d="M624.5 79a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10" /></g><path d="M644.5 40h10" /><g class="terminal "><path d="M654.5 40h0.0" /><path d="M708.5 40h0.0" /><rect height="22" rx="10" ry="10" width="54" x="654.5" y="29"></rect><text x="681.5" y="44">FROM</text></g><path d="M708.5 40h10" /><path d="M718.5 40h10" /><g><path d="M728.5 40h0.0" /><path d="M845.0 40h0.0" /><path d="M728.5 40h10" /><g class="non-terminal "><path d="M738.5 40h0.0" /><path d="M835.0 40h0.0" /><rect height="22" width="96.5" x="738.5" y="29"></rect><text x="786.75" y="44">from_item</text></g><path d="M835.0 40h10" /><path d="M738.5 40a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M738.5 70h34.0" /><path d="M801.0 70h34.0" /><rect height="22" rx="10" ry="10" width="28.5" x="772.5" y="59"></rect><text x="786.75" y="74">,</text></g><path d="M835.0 70a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10" /></g><path d="M845.0 40h10" /><g><path d="M855.0 40h0.0" /><path d="M1074.0 40h0.0" /><path d="M855.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M875.0 20h179.0" /></g><path d="M1054.0 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M855.0 40h20" /><g><path d="M875.0 40h0.0" /><path d="M1054.0 40h0.0" /><g class="terminal "><path d="M875.0 40h0.0" /><path d="M937.5 40h0.0" /><rect height="22" rx="10" ry="10" width="62.5" x="875" y="29"></rect><text x="906.25" y="44">WHERE</text></g><path d="M937.5 40h10" /><path d="M947.5 40h10" /><g class="non-terminal "><path d="M957.5 40h0.0" /><path d="M1054.0 40h0.0" /><rect height="22" width="96.5" x="957.5" y="29"></rect><text x="1005.75" y="44">condition</text></g></g><path d="M1054.0 40h20" /></g></g><path d="M1074.0 40a10 10 0 0 1 10 10v68a10 10 0 0 1 -10 10h-1024.0a10 10 0 0 0 -10 10v16a10 10 0 0 0 10 10" /><g><path d="M50.0 164h100.25" /><path d="M973.75 164h100.25" /><g><path d="M150.25 164h0.0" /><path d="M403.25 164h0.0" /><path d="M150.25 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M170.25 144h213.0" /></g><path d="M383.25 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M150.25 164h20" /><g><path d="M170.25 164h0.0" /><path d="M383.25 164h0.0" /><g class="terminal "><path d="M170.25 164h0.0" /><path d="M258.25 164h0.0" /><rect height="22" rx="10" ry="10" width="88" x="170.25" y="153"></rect><text x="214.25" y="168">GROUP BY</text></g><path d="M258.25 164h10" /><path d="M268.25 164h10" /><g class="non-terminal "><path d="M278.25 164h0.0" /><path d="M383.25 164h0.0" /><rect height="22" width="105" x="278.25" y="153"></rect><text x="330.75" y="168">expression</text></g></g><path d="M383.25 164h20" /></g><g><path d="M403.25 164h0.0" /><path d="M630.75 164h0.0" /><path d="M403.25 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M423.25 144h187.5" /></g><path d="M610.75 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M403.25 164h20" /><g><path d="M423.25 164h0.0" /><path d="M610.75 164h0.0" /><g class="terminal "><path d="M423.25 164h0.0" /><path d="M494.25 164h0.0" /><rect height="22" rx="10" ry="10" width="71" x="423.25" y="153"></rect><text x="458.75" y="168">HAVING</text></g><path d="M494.25 164h10" /><path d="M504.25 164h10" /><g class="non-terminal "><path d="M514.25 164h0.0" /><path d="M610.75 164h0.0" /><rect height="22" width="96.5" x="514.25" y="153"></rect><text x="562.5" y="168">condition</text></g></g><path d="M610.75 164h20" /></g><g><path d="M630.75 164h0.0" /><path d="M973.75 164h0.0" /><path d="M630.75 164a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10" /><g><path d="M650.75 136h303.0" /></g><path d="M953.75 136a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10" /><path d="M630.75 164h20" /><g><path d="M650.75 164h0.0" /><path d="M953.75 164h0.0" /><g><path d="M650.75 164h0.0" /><path d="M787.25 164h0.0" /><path d="M650.75 164h20" /><g class="terminal "><path d="M670.75 164h17.0" /><path d="M750.25 164h17.0" /><rect height="22" rx="10" ry="10" width="62.5" x="687.75" y="153"></rect><text x="719" y="168">UNION</text></g><path d="M767.25 164h20" /><path d="M650.75 164a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M670.75 194h0.0" /><path d="M767.25 194h0.0" /><rect height="22" rx="10" ry="10" width="96.5" x="670.75" y="183"></rect><text x="719" y="198">INTERSECT</text></g><path d="M767.25 194a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M650.75 164a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M670.75 224h12.75" /><path d="M754.5 224h12.75" /><rect height="22" rx="10" ry="10" width="71" x="683.5" y="213"></rect><text x="719" y="228">EXCEPT</text></g><path d="M767.25 224a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><g><path d="M787.25 164h0.0" /><path d="M872.75 164h0.0" /><path d="M787.25 164a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M807.25 144h45.5" /></g><path d="M852.75 144a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M787.25 164h20" /><g class="terminal "><path d="M807.25 164h0.0" /><path d="M852.75 164h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="807.25" y="153"></rect><text x="830" y="168">ALL</text></g><path d="M852.75 164h20" /></g><path d="M872.75 164h10" /><g class="non-terminal "><path d="M882.75 164h0.0" /><path d="M953.75 164h0.0" /><rect height="22" width="71" x="882.75" y="153"></rect><text x="918.25" y="168">select</text></g></g><path d="M953.75 164h20" /></g></g><path d="M1074.0 164a10 10 0 0 1 10 10v59a10 10 0 0 1 -10 10h-1024.0a10 10 0 0 0 -10 10v16a10 10 0 0 0 10 10" /><g><path d="M50.0 279h67.25" /><path d="M1006.75 279h67.25" /><g><path d="M117.25 279h0.0" /><path d="M494.25 279h0.0" /><path d="M117.25 279a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M137.25 259h337.0" /></g><path d="M474.25 259a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M117.25 279h20" /><g><path d="M137.25 279h0.0" /><path d="M474.25 279h0.0" /><g class="terminal "><path d="M137.25 279h0.0" /><path d="M225.25 279h0.0" /><rect height="22" rx="10" ry="10" width="88" x="137.25" y="268"></rect><text x="181.25" y="283">ORDER BY</text></g><path d="M225.25 279h10" /><path d="M235.25 279h10" /><g><path d="M245.25 279h0.0" /><path d="M474.25 279h0.0" /><path d="M245.25 279h10" /><g><path d="M255.25 279h0.0" /><path d="M464.25 279h0.0" /><g class="non-terminal "><path d="M255.25 279h0.0" /><path d="M360.25 279h0.0" /><rect height="22" width="105" x="255.25" y="268"></rect><text x="307.75" y="283">expression</text></g><path d="M360.25 279h10" /><g><path d="M370.25 279h0.0" /><path d="M464.25 279h0.0" /><path d="M370.25 279h20" /><g><path d="M390.25 279h54.0" /></g><path d="M444.25 279h20" /><path d="M370.25 279a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M390.25 299h4.25" /><path d="M440.0 299h4.25" /><rect height="22" rx="10" ry="10" width="45.5" x="394.5" y="288"></rect><text x="417.25" y="303">ASC</text></g><path d="M444.25 299a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><path d="M370.25 279a10 10 0 0 1 10 10v30a10 10 0 0 0 10 10" /><g class="terminal "><path d="M390.25 329h0.0" /><path d="M444.25 329h0.0" /><rect height="22" rx="10" ry="10" width="54" x="390.25" y="318"></rect><text x="417.25" y="333">DESC</text></g><path d="M444.25 329a10 10 0 0 0 10 -10v-30a10 10 0 0 1 10 -10" /></g></g><path d="M464.25 279h10" /><path d="M255.25 279a10 10 0 0 0 -10 10v60a10 10 0 0 0 10 10" /><g class="terminal "><path d="M255.25 359h90.25" /><path d="M374.0 359h90.25" /><rect height="22" rx="10" ry="10" width="28.5" x="345.5" y="348"></rect><text x="359.75" y="363">,</text></g><path d="M464.25 359a10 10 0 0 0 10 -10v-60a10 10 0 0 0 -10 -10" /></g></g><path d="M474.25 279h20" /></g><g><path d="M494.25 279h0.0" /><path d="M709.25 279h0.0" /><path d="M494.25 279a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M514.25 259h175.0" /></g><path d="M689.25 259a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M494.25 279h20" /><g><path d="M514.25 279h0.0" /><path d="M689.25 279h0.0" /><g class="terminal "><path d="M514.25 279h0.0" /><path d="M576.75 279h0.0" /><rect height="22" rx="10" ry="10" width="62.5" x="514.25" y="268"></rect><text x="545.5" y="283">LIMIT</text></g><path d="M576.75 279h10" /><g><path d="M586.75 279h0.0" /><path d="M689.25 279h0.0" /><path d="M586.75 279h20" /><g class="non-terminal "><path d="M606.75 279h0.0" /><path d="M669.25 279h0.0" /><rect height="22" width="62.5" x="606.75" y="268"></rect><text x="638" y="283">count</text></g><path d="M669.25 279h20" /><path d="M586.75 279a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M606.75 309h8.5" /><path d="M660.75 309h8.5" /><rect height="22" rx="10" ry="10" width="45.5" x="615.25" y="298"></rect><text x="638" y="313">ALL</text></g><path d="M669.25 309a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g></g><path d="M689.25 279h20" /></g><g><path d="M709.25 279h0.0" /><path d="M1006.75 279h0.0" /><path d="M709.25 279a10 10 0 0 0 10 -10v-8a10 10 0 0 1 10 -10" /><g><path d="M729.25 251h257.5" /></g><path d="M986.75 251a10 10 0 0 1 10 10v8a10 10 0 0 0 10 10" /><path d="M709.25 279h20" /><g><path d="M729.25 279h0.0" /><path d="M986.75 279h0.0" /><g class="terminal "><path d="M729.25 279h0.0" /><path d="M800.25 279h0.0" /><rect height="22" rx="10" ry="10" width="71" x="729.25" y="268"></rect><text x="764.75" y="283">OFFSET</text></g><path d="M800.25 279h10" /><path d="M810.25 279h10" /><g class="non-terminal "><path d="M820.25 279h0.0" /><path d="M882.75 279h0.0" /><rect height="22" width="62.5" x="820.25" y="268"></rect><text x="851.5" y="283">start</text></g><path d="M882.75 279h10" /><g><path d="M892.75 279h0.0" /><path d="M986.75 279h0.0" /><path d="M892.75 279a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M912.75 259h54.0" /></g><path d="M966.75 259a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M892.75 279h20" /><g class="terminal "><path d="M912.75 279h0.0" /><path d="M966.75 279h0.0" /><rect height="22" rx="10" ry="10" width="54" x="912.75" y="268"></rect><text x="939.75" y="283">ROWS</text></g><path d="M966.75 279h20" /></g></g><path d="M986.75 279h20" /></g></g><path d="M1074.0 279h10" /><path d="M1084.0 279h0.0" /></g><path d="M 1084.0 279 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
140
|
+
|
141
|
+
<h1>Group example</h1>
|
142
|
+
<svg class="railroad-diagram" height="150" viewBox="0 0 356.5 150" width="356.5"><g transform="translate(.5 .5)"><g><path d="M20 53v20m10 -20v20m-10 -10h20" /></g><path d="M40 63h10" /><g class="terminal "><path d="M50 63h0.0" /><path d="M95.5 63h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="50" y="52"></rect><text x="72.75" y="67">foo</text></g><path d="M95.5 63h10" /><g><path d="M105.5 63h0.0" /><path d="M251.0 103h0.0" /><path d="M105.5 63a10 10 0 0 0 10 -10v-23a10 10 0 0 1 10 -10" /><g><path d="M125.5 20h105.5" /></g><path d="M231.0 20a10 10 0 0 1 10 10v63a10 10 0 0 0 10 10" /><path d="M105.5 63h20" /><g><path d="M125.5 63h0.0" /><path d="M231.0 103h0.0" /><path d="M125.5 63h10" /><g><path d="M135.5 63h0.0" /><path d="M221.0 103h0.0" /><rect class="group-box" height="78" rx="10" ry="10" width="85.5" x="135.5" y="44"></rect><g><path d="M135.5 63h0.0" /><path d="M135.5 63h10" /><g class="terminal "><path d="M145.5 63h10.0" /><path d="M201.0 63h10.0" /><rect height="22" rx="10" ry="10" width="45.5" x="155.5" y="52"></rect><text x="178.25" y="67">foo</text></g><path d="M211.0 63a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-65.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M145.5 103h10.0" /><path d="M201.0 103h10.0" /><rect height="22" rx="10" ry="10" width="45.5" x="155.5" y="92"></rect><text x="178.25" y="107">bar</text></g><path d="M211.0 103h10" /><path d="M221.0 103h0.0" /></g><g class="non-terminal "><path d="M135.5 36h0" /><path d="M180.5 36h0" /><text class="comment" x="157.5" y="40">label</text></g></g><path d="M221.0 103h10" /><path d="M135.5 63a10 10 0 0 0 -10 10v47a10 10 0 0 0 10 10" /><g><path d="M135.5 130h85.5" /></g><path d="M221.0 130a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M231.0 103h20" /></g><path d="M251.0 103h10" /><g class="terminal "><path d="M261.0 103h0.0" /><path d="M306.5 103h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="261" y="92"></rect><text x="283.75" y="107">bar</text></g><path d="M306.5 103h10" /><path d="M 316.5 103 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
143
|
+
|
144
|
+
<h1>Class example</h1>
|
145
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 351.5 62" width="351.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g class="terminal "><path d="M50 31h0.0" /><path d="M95.5 31h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="50" y="20"></rect><text x="72.75" y="35">foo</text></g><path d="M95.5 31h10" /><path d="M105.5 31h10" /><g class="terminal blue"><path d="M115.5 31h0.0" /><path d="M169.5 31h0.0" /><rect height="22" rx="10" ry="10" width="54" x="115.5" y="20"></rect><text x="142.5" y="35">blue</text></g><path d="M169.5 31h10" /><path d="M179.5 31h10" /><g class="non-terminal blue"><path d="M189.5 31h0.0" /><path d="M243.5 31h0.0" /><rect height="22" width="54" x="189.5" y="20"></rect><text x="216.5" y="35">blue</text></g><path d="M243.5 31h10" /><path d="M253.5 31h10" /><g class="non-terminal blue"><path d="M263.5 31h0" /><path d="M301.5 31h0" /><text class="comment" x="282.5" y="35">blue</text></g><path d="M301.5 31h10" /><path d="M 311.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
146
|
+
|
147
|
+
<h1>rr-alternatingsequence</h1>
|
148
|
+
<svg class="railroad-diagram" height="112" viewBox="0 0 185.5 112" width="185.5"><g transform="translate(.5 .5)"><g><path d="M20 46v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 56h0" /><path d="M145.5 56h0" /><path d="M40.0 56a10 10 0 0 0 10 -10v-5a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M60.0 31h10.0" /><path d="M115.5 31h10.0" /><rect height="22" rx="10" ry="10" width="45.5" x="70" y="20"></rect><text x="92.75" y="35">foo</text></g><path d="M125.5 31a10 10 0 0 1 10 10v5a10 10 0 0 0 10 10" /><path d="M40.0 56a10 10 0 0 1 10 10v5a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 81h10.0" /><path d="M115.5 81h10.0" /><rect height="22" rx="10" ry="10" width="45.5" x="70" y="70"></rect><text x="92.75" y="85">bar</text></g><path d="M125.5 81a10 10 0 0 0 10 -10v-5a10 10 0 0 1 10 -10" /><path d="M50.0 41a10 10 0 0 0 10 10h23.60786437626905a 10 10 0 0 1 7.071067811865475 2.9289321881345254l4.142135623730949 4.142135623730949a 10 10 0 0 0 7.071067811865475 2.9289321881345254h23.60786437626905a10 10 0 0 1 10 10" /><path d="M50.0 71a10 10 0 0 1 10 -10h23.60786437626905a 10 10 0 0 0 7.071067811865475 -2.9289321881345254l4.142135623730949 -4.142135623730949a 10 10 0 0 1 7.071067811865475 -2.9289321881345254h23.60786437626905a10 10 0 0 0 10 -10" /></g><path d="M 145.5 56 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
149
|
+
|
150
|
+
<h1>rr-choice</h1>
|
151
|
+
<svg class="railroad-diagram" height="122" viewBox="0 0 148.5 122" width="148.5"><g transform="translate(.5 .5)"><g><path d="M20 51v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 61h0.0" /><path d="M108.5 61h0.0" /><path d="M40.0 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M60.0 31h0.0" /><path d="M88.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="20"></rect><text x="74.25" y="35">1</text></g><path d="M88.5 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M40.0 61h20" /><g class="terminal "><path d="M60.0 61h0.0" /><path d="M88.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="50"></rect><text x="74.25" y="65">2</text></g><path d="M88.5 61h20" /><path d="M40.0 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 91h0.0" /><path d="M88.5 91h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="80"></rect><text x="74.25" y="95">3</text></g><path d="M88.5 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M 108.5 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
152
|
+
|
153
|
+
<h1>rr-group</h1>
|
154
|
+
<svg class="railroad-diagram" height="108" viewBox="0 0 359.0 108" width="359.0"><g transform="translate(.5 .5)"><g><path d="M20 29v20m10 -20v20m-10 -10h20" /></g><path d="M40 39h10" /><g class="terminal "><path d="M50 39h0.0" /><path d="M95.5 39h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="50" y="28"></rect><text x="72.75" y="43">foo</text></g><path d="M95.5 39h10" /><path d="M105.5 39h10" /><g><path d="M115.5 39h0.0" /><path d="M243.5 39h0.0" /><rect class="group-box" height="68" rx="10" ry="10" width="128" x="115.5" y="20"></rect><g><path d="M115.5 39h0.0" /><path d="M243.5 39h0.0" /><path d="M115.5 39h20" /><g class="non-terminal "><path d="M135.5 39h0.0" /><path d="M223.5 39h0.0" /><rect height="22" width="88" x="135.5" y="28"></rect><text x="179.5" y="43">option 1</text></g><path d="M223.5 39h20" /><path d="M115.5 39a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M135.5 69h8.5" /><path d="M215.0 69h8.5" /><rect height="22" width="71" x="144" y="58"></rect><text x="179.5" y="73">or two</text></g><path d="M223.5 69a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g></g><path d="M243.5 39h10" /><path d="M253.5 39h10" /><g class="terminal "><path d="M263.5 39h0.0" /><path d="M309.0 39h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="263.5" y="28"></rect><text x="286.25" y="43">bar</text></g><path d="M309.0 39h10" /><path d="M 319.0 39 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
155
|
+
|
156
|
+
<h1>rr-horizontalchoice</h1>
|
157
|
+
<svg class="railroad-diagram" height="198" viewBox="0 0 345.5 198" width="345.5"><g transform="translate(.5 .5)"><g><path d="M20 89v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 99h0.0" /><path d="M305.5 99h0.0" /><path d="M40.0 99a10 10 0 0 0 10 -10v-59a10 10 0 0 1 10 -10h147.0" /><path d="M138.5 178h147.0a10 10 0 0 0 10 -10v-59a10 10 0 0 1 10 -10" /><path d="M40.0 99h10" /><g><path d="M50.0 99h0.0" /><path d="M118.5 99h0.0" /><path d="M50.0 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M70.0 69h0.0" /><path d="M98.5 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="58"></rect><text x="84.25" y="73">1</text></g><path d="M98.5 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M50.0 99a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M70.0 39h0.0" /><path d="M98.5 39h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="28"></rect><text x="84.25" y="43">0</text></g><path d="M98.5 39a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M50.0 99h20" /><g class="terminal "><path d="M70.0 99h0.0" /><path d="M98.5 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="88"></rect><text x="84.25" y="103">2</text></g><path d="M98.5 99h20" /><path d="M50.0 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 129h0.0" /><path d="M98.5 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="118"></rect><text x="84.25" y="133">3</text></g><path d="M98.5 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M50.0 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 159h0.0" /><path d="M98.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="148"></rect><text x="84.25" y="163">4</text></g><path d="M98.5 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M118.5 99a10 10 0 0 1 10 10v59a10 10 0 0 0 10 10" /><path d="M118.5 20a10 10 0 0 1 10 10v59a10 10 0 0 0 10 10" /><g><path d="M138.5 99h0.0" /><path d="M207.0 99h0.0" /><path d="M138.5 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 69h0.0" /><path d="M187.0 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="58"></rect><text x="172.75" y="73">6</text></g><path d="M187.0 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M138.5 99a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 39h0.0" /><path d="M187.0 39h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="28"></rect><text x="172.75" y="43">5</text></g><path d="M187.0 39a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M138.5 99h20" /><g class="terminal "><path d="M158.5 99h0.0" /><path d="M187.0 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="88"></rect><text x="172.75" y="103">7</text></g><path d="M187.0 99h20" /><path d="M138.5 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M158.5 129h0.0" /><path d="M187.0 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="118"></rect><text x="172.75" y="133">8</text></g><path d="M187.0 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M138.5 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M158.5 159h0.0" /><path d="M187.0 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="148"></rect><text x="172.75" y="163">9</text></g><path d="M187.0 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M207.0 99a10 10 0 0 1 10 10v59a10 10 0 0 0 10 10" /><path d="M207.0 20a10 10 0 0 1 10 10v59a10 10 0 0 0 10 10" /><g><path d="M227.0 99h0.0" /><path d="M295.5 99h0.0" /><path d="M227.0 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 69h0.0" /><path d="M275.5 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="58"></rect><text x="261.25" y="73">b</text></g><path d="M275.5 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M227.0 99a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 39h0.0" /><path d="M275.5 39h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="28"></rect><text x="261.25" y="43">a</text></g><path d="M275.5 39a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M227.0 99h20" /><g class="terminal "><path d="M247.0 99h0.0" /><path d="M275.5 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="88"></rect><text x="261.25" y="103">c</text></g><path d="M275.5 99h20" /><path d="M227.0 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M247.0 129h0.0" /><path d="M275.5 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="118"></rect><text x="261.25" y="133">d</text></g><path d="M275.5 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M227.0 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M247.0 159h0.0" /><path d="M275.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="148"></rect><text x="261.25" y="163">e</text></g><path d="M275.5 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M295.5 99h10" /></g><path d="M 305.5 99 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
158
|
+
|
159
|
+
<h1>rr-multchoice</h1>
|
160
|
+
<svg class="railroad-diagram" height="122" viewBox="0 0 198.5 122" width="198.5"><g transform="translate(.5 .5)"><g><path d="M20 51v20m10 -20v20m-10 -10h20" /></g><path d="M40 61h10" /><g><path d="M50 61h0.0" /><path d="M148.5 61h0.0" /><path d="M80.0 61v-20a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M90.0 31h0.0" /><path d="M118.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="90" y="20"></rect><text x="104.25" y="35">1</text></g><path d="M118.5 31a10 10 0 0 1 10 10v10" /><path d="M80.0 61h10" /><g class="terminal "><path d="M90.0 61h0.0" /><path d="M118.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="90" y="50"></rect><text x="104.25" y="65">2</text></g><path d="M118.5 61h10" /><path d="M80.0 61v20a10 10 0 0 0 10 10" /><g class="terminal "><path d="M90.0 91h0.0" /><path d="M118.5 91h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="90" y="80"></rect><text x="104.25" y="95">3</text></g><path d="M118.5 91a10 10 0 0 0 10 -10v-10" /><g class="diagram-text"><title>take all branches, once each, in any order</title><path class="diagram-text" d="M 80.0 51 h -26 a 4 4 0 0 0 -4 4 v 12 a 4 4 0 0 0 4 4 h 26 z"></path><text class="diagram-text" x="65" y="65">all</text><path class="diagram-text" d="M 128.5 51 h 16 a 4 4 0 0 1 4 4 v 12 a 4 4 0 0 1 -4 4 h -16 z"></path><text class="diagram-arrow" x="138.5" y="65">↺</text></g></g><path d="M148.5 61h10" /><path d="M 158.5 61 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
161
|
+
|
162
|
+
<h1>rr-oneormore</h1>
|
163
|
+
<svg class="railroad-diagram" height="92" viewBox="0 0 165.5 92" width="165.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><path d="M40 31h10" /><g><path d="M50 31h0.0" /><path d="M115.5 31h0.0" /><path d="M50.0 31h10" /><g class="terminal "><path d="M60.0 31h0.0" /><path d="M105.5 31h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="60" y="20"></rect><text x="82.75" y="35">foo</text></g><path d="M105.5 31h10" /><path d="M60.0 31a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 61h0.0" /><path d="M105.5 61h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="60" y="50"></rect><text x="82.75" y="65">bar</text></g><path d="M105.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10" /></g><path d="M115.5 31h10" /><path d="M 125.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
164
|
+
|
165
|
+
<h1>rr-optional</h1>
|
166
|
+
<svg class="railroad-diagram" height="91" viewBox="0 0 251.0 91" width="251.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M125.5 40h0.0" /><path d="M40.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h45.5" /></g><path d="M105.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40h20" /><g class="terminal "><path d="M60.0 40h0.0" /><path d="M105.5 40h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="60" y="29"></rect><text x="82.75" y="44">foo</text></g><path d="M105.5 40h20" /></g><g><path d="M125.5 40h0.0" /><path d="M211.0 40h0.0" /><path d="M125.5 40h20" /><g><path d="M145.5 40h45.5" /></g><path d="M191.0 40h20" /><path d="M125.5 40a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M145.5 60h0.0" /><path d="M191.0 60h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="145.5" y="49"></rect><text x="168.25" y="64">bar</text></g><path d="M191.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><path d="M 211.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
167
|
+
|
168
|
+
<h1>rr-optionalsequence</h1>
|
169
|
+
<svg class="railroad-diagram" height="80.0" viewBox="0 0 265.5 80.0" width="265.5"><g transform="translate(.5 .5)"><g><path d="M20 30.0v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40.0h0" /><path d="M225.5 40.0h0" /><path d="M40.0 40.0a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10h28.5a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40.0h20" /><g class="terminal "><path d="M60.0 40.0h0.0" /><path d="M88.5 40.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="29"></rect><text x="74.25" y="44">1</text></g><path d="M88.5 20.0h68.5a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M88.5 40.0h20" /><g class="terminal "><path d="M108.5 40.0h0.0" /><path d="M137.0 40.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="108.5" y="29"></rect><text x="122.75" y="44">2</text></g><path d="M137.0 40.0h20" /><path d="M88.5 40.0a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10h28.5a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><path d="M157.0 40.0h20" /><g class="terminal "><path d="M177.0 40.0h0.0" /><path d="M205.5 40.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="177" y="29"></rect><text x="191.25" y="44">3</text></g><path d="M205.5 40.0h20" /><path d="M157.0 40.0a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10h28.5a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><path d="M 225.5 40.0 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
170
|
+
|
171
|
+
<h1>rr-sequence</h1>
|
172
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 205.5 62" width="205.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M165.5 31h0.0" /><g class="terminal "><path d="M40.0 31h0.0" /><path d="M68.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="40" y="20"></rect><text x="54.25" y="35">1</text></g><path d="M68.5 31h10" /><path d="M78.5 31h10" /><g class="terminal "><path d="M88.5 31h0.0" /><path d="M117.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="88.5" y="20"></rect><text x="102.75" y="35">2</text></g><path d="M117.0 31h10" /><path d="M127.0 31h10" /><g class="terminal "><path d="M137.0 31h0.0" /><path d="M165.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="137" y="20"></rect><text x="151.25" y="35">3</text></g></g><path d="M 165.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
173
|
+
|
174
|
+
<h1>rr-stack</h1>
|
175
|
+
<svg class="railroad-diagram" height="142" viewBox="0 0 148.5 142" width="148.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M40.0 31h10" /><g class="terminal "><path d="M50.0 31h10.0" /><path d="M88.5 31h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="20"></rect><text x="74.25" y="35">1</text></g><path d="M98.5 31a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M50.0 71h10.0" /><path d="M88.5 71h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="60"></rect><text x="74.25" y="75">2</text></g><path d="M98.5 71a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M50.0 111h10.0" /><path d="M88.5 111h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="100"></rect><text x="74.25" y="115">3</text></g><path d="M98.5 111h10" /><path d="M108.5 111h0.0" /></g><path d="M 108.5 111 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
176
|
+
|
177
|
+
<h1>rr-title</h1>
|
178
|
+
<svg class="railroad-diagram" height="126" viewBox="0 0 412.5 126" width="412.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M40.0 31h10" /><g class="terminal "><path d="M50.0 31h10.0" /><path d="M148.0 31h10.0" /><rect height="22" rx="10" ry="10" width="88" x="60" y="20"></rect><text x="104" y="35">Generate</text></g><path d="M158.0 31a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-108.0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M50.0 71h27.0" /><path d="M131.0 71h27.0" /><rect height="22" rx="10" ry="10" width="54" x="77" y="60"></rect><text x="104" y="75">some</text></g><path d="M158.0 71h10" /><path d="M168.0 71h0.0" /></g><path d="M168.0 71h10" /><g><path d="M178.0 71h0.0" /><path d="M362.5 71h0.0" /><path d="M178.0 71h10" /><g class="non-terminal "><path d="M188.0 71h0.0" /><path d="M352.5 71h0.0" /><rect height="22" width="164.5" x="188" y="60"></rect><text x="270.25" y="75">railroad diagrams</text></g><path d="M352.5 71h10" /><path d="M188.0 71a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M188.0 98h0" /><path d="M254.0 98h0" /><text class="comment" x="221" y="102">and more</text></g><path d="M352.5 98a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M362.5 71h10" /><path d="M 372.5 71 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
179
|
+
|
180
|
+
<h1>rr-zeroormore-1</h1>
|
181
|
+
<svg class="railroad-diagram" height="95" viewBox="0 0 185.5 95" width="185.5"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M145.5 40h0.0" /><path d="M40.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h65.5" /></g><path d="M125.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40h20" /><g><path d="M60.0 40h0.0" /><path d="M125.5 40h0.0" /><path d="M60.0 40h10" /><g class="terminal "><path d="M70.0 40h0.0" /><path d="M115.5 40h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="70" y="29"></rect><text x="92.75" y="44">foo</text></g><path d="M115.5 40h10" /><path d="M70.0 40a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M70.0 67h0" /><path d="M101.0 67h0" /><text class="comment" x="85" y="71">bar</text></g><path d="M115.5 67a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M125.5 40h20" /></g><path d="M 145.5 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
182
|
+
|
183
|
+
<h1>rr-zeroormore-2</h1>
|
184
|
+
<svg class="railroad-diagram" height="115" viewBox="0 0 291.0 115" width="291.0"><g transform="translate(.5 .5)"><g><path d="M20 30v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 40h0.0" /><path d="M145.5 40h0.0" /><path d="M40.0 40a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><g><path d="M60.0 20h65.5" /></g><path d="M125.5 20a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M40.0 40h20" /><g><path d="M60.0 40h0.0" /><path d="M125.5 40h0.0" /><path d="M60.0 40h10" /><g class="terminal "><path d="M70.0 40h0.0" /><path d="M115.5 40h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="70" y="29"></rect><text x="92.75" y="44">foo</text></g><path d="M115.5 40h10" /><path d="M70.0 40a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M70.0 67h0" /><path d="M101.0 67h0" /><text class="comment" x="85" y="71">bar</text></g><path d="M115.5 67a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M125.5 40h20" /></g><g><path d="M145.5 40h0.0" /><path d="M251.0 40h0.0" /><path d="M145.5 40h20" /><g><path d="M165.5 40h65.5" /></g><path d="M231.0 40h20" /><path d="M145.5 40a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M165.5 60h0.0" /><path d="M231.0 60h0.0" /><path d="M165.5 60h10" /><g class="terminal "><path d="M175.5 60h0.0" /><path d="M221.0 60h0.0" /><rect height="22" rx="10" ry="10" width="45.5" x="175.5" y="49"></rect><text x="198.25" y="64">foo</text></g><path d="M221.0 60h10" /><path d="M175.5 60a10 10 0 0 0 -10 10v7a10 10 0 0 0 10 10" /><g class="non-terminal "><path d="M175.5 87h0" /><path d="M206.5 87h0" /><text class="comment" x="190.5" y="91">bar</text></g><path d="M221.0 87a10 10 0 0 0 10 -10v-7a10 10 0 0 0 -10 -10" /></g><path d="M231.0 60a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><path d="M 251.0 40 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
185
|
+
|
186
|
+
<h1>complicated-horizontalchoice-1</h1>
|
187
|
+
<svg class="railroad-diagram" height="310" viewBox="0 0 865.0 310" width="865.0"><g transform="translate(.5 .5)"><g><path d="M20 149v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 159h0.0" /><path d="M482.5 159h0.0" /><path d="M40.0 159a10 10 0 0 0 10 -10v-119a10 10 0 0 1 10 -10h324.0" /><path d="M138.5 268h324.0a10 10 0 0 0 10 -10v-89a10 10 0 0 1 10 -10" /><path d="M40.0 159h10" /><g><path d="M50.0 159h0.0" /><path d="M118.5 159h0.0" /><path d="M50.0 159h20" /><g class="terminal "><path d="M70.0 159h0.0" /><path d="M98.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="148"></rect><text x="84.25" y="163">1</text></g><path d="M98.5 159h20" /><path d="M50.0 159a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 189h0.0" /><path d="M98.5 189h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="178"></rect><text x="84.25" y="193">2</text></g><path d="M98.5 189a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M50.0 159a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 219h0.0" /><path d="M98.5 219h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="208"></rect><text x="84.25" y="223">3</text></g><path d="M98.5 219a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M50.0 159a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 249h0.0" /><path d="M98.5 249h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="238"></rect><text x="84.25" y="253">4</text></g><path d="M98.5 249a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><path d="M50.0 159a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 279h0.0" /><path d="M98.5 279h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="268"></rect><text x="84.25" y="283">5</text></g><path d="M98.5 279a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10" /></g><path d="M118.5 159a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M118.5 20a10 10 0 0 1 10 10v119a10 10 0 0 0 10 10" /><g><path d="M138.5 159h0.0" /><path d="M207.0 159h0.0" /><path d="M138.5 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 129h0.0" /><path d="M187.0 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="118"></rect><text x="172.75" y="133">4</text></g><path d="M187.0 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M138.5 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 99h0.0" /><path d="M187.0 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="88"></rect><text x="172.75" y="103">3</text></g><path d="M187.0 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M138.5 159a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 69h0.0" /><path d="M187.0 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="58"></rect><text x="172.75" y="73">2</text></g><path d="M187.0 69a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M138.5 159a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 39h0.0" /><path d="M187.0 39h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="28"></rect><text x="172.75" y="43">1</text></g><path d="M187.0 39a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10" /><path d="M138.5 159h20" /><g class="terminal "><path d="M158.5 159h0.0" /><path d="M187.0 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="148"></rect><text x="172.75" y="163">5</text></g><path d="M187.0 159h20" /></g><path d="M207.0 159a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M207.0 20a10 10 0 0 1 10 10v119a10 10 0 0 0 10 10" /><g><path d="M227.0 159h0.0" /><path d="M295.5 159h0.0" /><path d="M227.0 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 129h0.0" /><path d="M275.5 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="118"></rect><text x="261.25" y="133">2</text></g><path d="M275.5 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M227.0 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 99h0.0" /><path d="M275.5 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="88"></rect><text x="261.25" y="103">1</text></g><path d="M275.5 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M227.0 159h20" /><g class="terminal "><path d="M247.0 159h0.0" /><path d="M275.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="148"></rect><text x="261.25" y="163">3</text></g><path d="M275.5 159h20" /><path d="M227.0 159a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M247.0 189h0.0" /><path d="M275.5 189h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="178"></rect><text x="261.25" y="193">4</text></g><path d="M275.5 189a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M227.0 159a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M247.0 219h0.0" /><path d="M275.5 219h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="208"></rect><text x="261.25" y="223">5</text></g><path d="M275.5 219a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /></g><path d="M295.5 159a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M295.5 20a10 10 0 0 1 10 10v119a10 10 0 0 0 10 10" /><g><path d="M315.5 159h0.0" /><path d="M384.0 159h0.0" /><path d="M315.5 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M335.5 129h0.0" /><path d="M364.0 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="335.5" y="118"></rect><text x="349.75" y="133">3</text></g><path d="M364.0 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M315.5 159a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M335.5 99h0.0" /><path d="M364.0 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="335.5" y="88"></rect><text x="349.75" y="103">2</text></g><path d="M364.0 99a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M315.5 159a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M335.5 69h0.0" /><path d="M364.0 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="335.5" y="58"></rect><text x="349.75" y="73">1</text></g><path d="M364.0 69a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M315.5 159h20" /><g class="terminal "><path d="M335.5 159h0.0" /><path d="M364.0 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="335.5" y="148"></rect><text x="349.75" y="163">4</text></g><path d="M364.0 159h20" /><path d="M315.5 159a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M335.5 189h0.0" /><path d="M364.0 189h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="335.5" y="178"></rect><text x="349.75" y="193">5</text></g><path d="M364.0 189a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M384.0 159a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M384.0 20a10 10 0 0 1 10 10v119a10 10 0 0 0 10 10" /><g><path d="M404.0 159h0.0" /><path d="M472.5 159h0.0" /><path d="M404.0 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M424.0 129h0.0" /><path d="M452.5 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="424" y="118"></rect><text x="438.25" y="133">1</text></g><path d="M452.5 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M404.0 159h20" /><g class="terminal "><path d="M424.0 159h0.0" /><path d="M452.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="424" y="148"></rect><text x="438.25" y="163">2</text></g><path d="M452.5 159h20" /><path d="M404.0 159a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M424.0 189h0.0" /><path d="M452.5 189h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="424" y="178"></rect><text x="438.25" y="193">3</text></g><path d="M452.5 189a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M404.0 159a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M424.0 219h0.0" /><path d="M452.5 219h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="424" y="208"></rect><text x="438.25" y="223">4</text></g><path d="M452.5 219a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M404.0 159a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M424.0 249h0.0" /><path d="M452.5 249h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="424" y="238"></rect><text x="438.25" y="253">5</text></g><path d="M452.5 249a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M472.5 159h10" /></g><g><path d="M482.5 159h0.0" /><path d="M825.0 159h0.0" /><path d="M482.5 159a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10h244.0" /><path d="M561.0 179h244.0a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><path d="M482.5 159h10" /><g class="terminal "><path d="M492.5 159h10.0" /><path d="M531.0 159h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="502.5" y="148"></rect><text x="516.75" y="163">1</text></g><path d="M541.0 159a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M541.0 139a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M561.0 159h10.0" /><path d="M599.5 159h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="571" y="148"></rect><text x="585.25" y="163">2</text></g><path d="M609.5 159a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M609.5 139a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M629.5 159h10.0" /><path d="M668.0 159h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="639.5" y="148"></rect><text x="653.75" y="163">3</text></g><path d="M678.0 159a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M678.0 139a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M698.0 159h10.0" /><path d="M736.5 159h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="708" y="148"></rect><text x="722.25" y="163">4</text></g><path d="M746.5 159a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M746.5 139a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M766.5 159h10.0" /><path d="M805.0 159h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="776.5" y="148"></rect><text x="790.75" y="163">5</text></g><path d="M815.0 159h10" /></g><path d="M 825.0 159 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
188
|
+
|
189
|
+
<h1>complicated-horizontalchoice-2</h1>
|
190
|
+
<svg class="railroad-diagram" height="242" viewBox="0 0 325.5 242" width="325.5"><g transform="translate(.5 .5)"><g><path d="M20 111v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 121h0.0" /><path d="M285.5 121h0.0" /><path d="M40.0 121a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10h127.0" /><path d="M138.5 141h127.0a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><path d="M40.0 121h10" /><g><path d="M50.0 121h0.0" /><path d="M118.5 121h0.0" /><path d="M50.0 121h20" /><g class="terminal "><path d="M70.0 121h0.0" /><path d="M98.5 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="110"></rect><text x="84.25" y="125">1</text></g><path d="M98.5 121h20" /><path d="M50.0 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 151h0.0" /><path d="M98.5 151h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="140"></rect><text x="84.25" y="155">2</text></g><path d="M98.5 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M50.0 121a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 181h0.0" /><path d="M98.5 181h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="170"></rect><text x="84.25" y="185">3</text></g><path d="M98.5 181a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M50.0 121a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 211h0.0" /><path d="M98.5 211h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="200"></rect><text x="84.25" y="215">4</text></g><path d="M98.5 211a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M118.5 121a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M118.5 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M138.5 121h10.0" /><path d="M177.0 121h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="148.5" y="110"></rect><text x="162.75" y="125">4</text></g><path d="M187.0 121a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M187.0 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M207.0 121h0.0" /><path d="M275.5 121h0.0" /><path d="M207.0 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M227.0 91h0.0" /><path d="M255.5 91h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="227" y="80"></rect><text x="241.25" y="95">3</text></g><path d="M255.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M207.0 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M227.0 61h0.0" /><path d="M255.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="227" y="50"></rect><text x="241.25" y="65">2</text></g><path d="M255.5 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M207.0 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M227.0 31h0.0" /><path d="M255.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="227" y="20"></rect><text x="241.25" y="35">1</text></g><path d="M255.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M207.0 121h20" /><g class="terminal "><path d="M227.0 121h0.0" /><path d="M255.5 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="227" y="110"></rect><text x="241.25" y="125">4</text></g><path d="M255.5 121h20" /></g><path d="M275.5 121h10" /></g><path d="M 285.5 121 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
191
|
+
|
192
|
+
<h1>complicated-horizontalchoice-3</h1>
|
193
|
+
<svg class="railroad-diagram" height="242" viewBox="0 0 345.5 242" width="345.5"><g transform="translate(.5 .5)"><g><path d="M20 111v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 121h0.0" /><path d="M305.5 121h0.0" /><path d="M40.0 121a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10h147.0" /><path d="M138.5 221h147.0a10 10 0 0 0 10 -10v-80a10 10 0 0 1 10 -10" /><path d="M40.0 121h10" /><g><path d="M50.0 121h0.0" /><path d="M118.5 121h0.0" /><path d="M50.0 121h20" /><g class="terminal "><path d="M70.0 121h0.0" /><path d="M98.5 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="110"></rect><text x="84.25" y="125">1</text></g><path d="M98.5 121h20" /><path d="M50.0 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 151h0.0" /><path d="M98.5 151h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="140"></rect><text x="84.25" y="155">2</text></g><path d="M98.5 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M50.0 121a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 181h0.0" /><path d="M98.5 181h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="170"></rect><text x="84.25" y="185">3</text></g><path d="M98.5 181a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M50.0 121a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 211h0.0" /><path d="M98.5 211h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="200"></rect><text x="84.25" y="215">4</text></g><path d="M98.5 211a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M118.5 121a10 10 0 0 1 10 10v80a10 10 0 0 0 10 10" /><path d="M118.5 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M138.5 121h0.0" /><path d="M138.5 121h10" /><g class="terminal "><path d="M148.5 121h10.0" /><path d="M187.0 121h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="110"></rect><text x="172.75" y="125">1</text></g><path d="M197.0 121a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M148.5 161h10.0" /><path d="M187.0 161h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="150"></rect><text x="172.75" y="165">2</text></g><path d="M197.0 161a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M148.5 201h10.0" /><path d="M187.0 201h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="190"></rect><text x="172.75" y="205">3</text></g><path d="M197.0 201h10" /><path d="M207.0 201h0.0" /></g><path d="M207.0 201a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><path d="M207.0 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M227.0 121h0.0" /><path d="M295.5 121h0.0" /><path d="M227.0 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 91h0.0" /><path d="M275.5 91h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="80"></rect><text x="261.25" y="95">3</text></g><path d="M275.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M227.0 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 61h0.0" /><path d="M275.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="50"></rect><text x="261.25" y="65">2</text></g><path d="M275.5 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M227.0 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 31h0.0" /><path d="M275.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="20"></rect><text x="261.25" y="35">1</text></g><path d="M275.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M227.0 121h20" /><g class="terminal "><path d="M247.0 121h0.0" /><path d="M275.5 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="110"></rect><text x="261.25" y="125">4</text></g><path d="M275.5 121h20" /></g><path d="M295.5 121h10" /></g><path d="M 305.5 121 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
194
|
+
|
195
|
+
<h1>complicated-horizontalchoice-4</h1>
|
196
|
+
<svg class="railroad-diagram" height="250" viewBox="0 0 355.5 250" width="355.5"><g transform="translate(.5 .5)"><g><path d="M20 119v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 129h0.0" /><path d="M315.5 129h0.0" /><path d="M40.0 129a10 10 0 0 0 10 -10v-89a10 10 0 0 1 10 -10h147.0" /><path d="M138.5 228h157.0a10 10 0 0 0 10 -10v-79a10 10 0 0 1 10 -10" /><path d="M40.0 129h10" /><g><path d="M50.0 129h0.0" /><path d="M118.5 129h0.0" /><path d="M50.0 129h20" /><g class="terminal "><path d="M70.0 129h0.0" /><path d="M98.5 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="118"></rect><text x="84.25" y="133">1</text></g><path d="M98.5 129h20" /><path d="M50.0 129a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 159h0.0" /><path d="M98.5 159h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="148"></rect><text x="84.25" y="163">2</text></g><path d="M98.5 159a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M50.0 129a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 189h0.0" /><path d="M98.5 189h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="178"></rect><text x="84.25" y="193">3</text></g><path d="M98.5 189a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M50.0 129a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M70.0 219h0.0" /><path d="M98.5 219h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="208"></rect><text x="84.25" y="223">4</text></g><path d="M98.5 219a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M118.5 129a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10" /><path d="M118.5 20a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><g><path d="M138.5 129h0.0" /><path d="M207.0 129h0.0" /><path d="M138.5 129a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 99h0.0" /><path d="M187.0 99h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="88"></rect><text x="172.75" y="103">3</text></g><path d="M187.0 99a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M138.5 129a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 69h0.0" /><path d="M187.0 69h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="58"></rect><text x="172.75" y="73">2</text></g><path d="M187.0 69a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M138.5 129a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M158.5 39h0.0" /><path d="M187.0 39h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="28"></rect><text x="172.75" y="43">1</text></g><path d="M187.0 39a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M138.5 129h20" /><g class="terminal "><path d="M158.5 129h0.0" /><path d="M187.0 129h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="118"></rect><text x="172.75" y="133">4</text></g><path d="M187.0 129h20" /></g><path d="M207.0 129a10 10 0 0 1 10 10v79a10 10 0 0 0 10 10" /><path d="M207.0 20a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><g><path d="M227.0 129h0.0" /><path d="M227.0 129h10" /><g class="terminal "><path d="M237.0 129h10.0" /><path d="M275.5 129h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="118"></rect><text x="261.25" y="133">1</text></g><path d="M285.5 129a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M237.0 169h10.0" /><path d="M275.5 169h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="158"></rect><text x="261.25" y="173">2</text></g><path d="M285.5 169a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M237.0 209h10.0" /><path d="M275.5 209h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="198"></rect><text x="261.25" y="213">3</text></g><path d="M285.5 209h10" /><path d="M295.5 209h0.0" /></g><path d="M295.5 209a10 10 0 0 0 10 -10" /></g><path d="M 315.5 129 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
197
|
+
|
198
|
+
<h1>complicated-horizontalchoice-5</h1>
|
199
|
+
<svg class="railroad-diagram" height="250" viewBox="0 0 345.5 250" width="345.5"><g transform="translate(.5 .5)"><g><path d="M20 111v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 121h0.0" /><path d="M305.5 121h0.0" /><path d="M40.0 121a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10h147.0" /><path d="M138.5 230h147.0a10 10 0 0 0 10 -10v-89a10 10 0 0 1 10 -10" /><path d="M40.0 121h10" /><g><path d="M50.0 121h0.0" /><path d="M50.0 121h10" /><g class="terminal "><path d="M60.0 121h10.0" /><path d="M98.5 121h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="110"></rect><text x="84.25" y="125">1</text></g><path d="M108.5 121a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 161h10.0" /><path d="M98.5 161h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="150"></rect><text x="84.25" y="165">2</text></g><path d="M108.5 161a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-48.5a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M60.0 201h10.0" /><path d="M98.5 201h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="70" y="190"></rect><text x="84.25" y="205">3</text></g><path d="M108.5 201h10" /><path d="M118.5 201h0.0" /></g><path d="M118.5 201a10 10 0 0 1 10 10v9a10 10 0 0 0 10 10" /><path d="M118.5 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M138.5 121h0.0" /><path d="M207.0 121h0.0" /><path d="M138.5 121h20" /><g class="terminal "><path d="M158.5 121h0.0" /><path d="M187.0 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="110"></rect><text x="172.75" y="125">1</text></g><path d="M187.0 121h20" /><path d="M138.5 121a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M158.5 151h0.0" /><path d="M187.0 151h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="140"></rect><text x="172.75" y="155">2</text></g><path d="M187.0 151a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><path d="M138.5 121a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><g class="terminal "><path d="M158.5 181h0.0" /><path d="M187.0 181h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="170"></rect><text x="172.75" y="185">3</text></g><path d="M187.0 181a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><path d="M138.5 121a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><g class="terminal "><path d="M158.5 211h0.0" /><path d="M187.0 211h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="158.5" y="200"></rect><text x="172.75" y="215">4</text></g><path d="M187.0 211a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /></g><path d="M207.0 121a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10" /><path d="M207.0 101a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10" /><g><path d="M227.0 121h0.0" /><path d="M295.5 121h0.0" /><path d="M227.0 121a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 91h0.0" /><path d="M275.5 91h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="80"></rect><text x="261.25" y="95">3</text></g><path d="M275.5 91a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M227.0 121a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 61h0.0" /><path d="M275.5 61h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="50"></rect><text x="261.25" y="65">2</text></g><path d="M275.5 61a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M227.0 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M247.0 31h0.0" /><path d="M275.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="20"></rect><text x="261.25" y="35">1</text></g><path d="M275.5 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10" /><path d="M227.0 121h20" /><g class="terminal "><path d="M247.0 121h0.0" /><path d="M275.5 121h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="247" y="110"></rect><text x="261.25" y="125">4</text></g><path d="M275.5 121h20" /></g><path d="M295.5 121h10" /></g><path d="M 305.5 121 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
200
|
+
|
201
|
+
<h1>single-stack</h1>
|
202
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 128.5 62" width="128.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><g class="terminal "><path d="M40.0 31h10.0" /><path d="M78.5 31h10.0" /><rect height="22" rx="10" ry="10" width="28.5" x="50" y="20"></rect><text x="64.25" y="35">1</text></g><path d="M88.5 31h0.0" /></g><path d="M 88.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
203
|
+
|
204
|
+
<h1>complicated-optionalsequence-1</h1>
|
205
|
+
<svg class="railroad-diagram" height="299.0" viewBox="0 0 411.0 299.0" width="411.0"><g transform="translate(.5 .5)"><g><path d="M20 89.0v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 99.0h0" /><path d="M371.0 259.0h0" /><path d="M40.0 99.0a10 10 0 0 0 10 -10v-59.0a10 10 0 0 1 10 -10h28.5a10 10 0 0 1 10 10v59.0a10 10 0 0 0 10 10" /><path d="M40.0 99.0h20" /><g class="terminal "><path d="M60.0 99.0h0.0" /><path d="M88.5 99.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="60" y="88"></rect><text x="74.25" y="103">1</text></g><path d="M88.5 20.0h98.5a10 10 0 0 1 10 10v59.0a10 10 0 0 0 10 10" /><path d="M88.5 99.0h20" /><g><path d="M108.5 99.0h0.0" /><path d="M177.0 99.0h0.0" /><path d="M108.5 99.0a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M128.5 69.0h0.0" /><path d="M157.0 69.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="128.5" y="58"></rect><text x="142.75" y="73">3</text></g><path d="M157.0 69.0a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><path d="M108.5 99.0a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10" /><g class="terminal "><path d="M128.5 39.0h0.0" /><path d="M157.0 39.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="128.5" y="28"></rect><text x="142.75" y="43">2</text></g><path d="M157.0 39.0a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10" /><path d="M108.5 99.0h20" /><g class="terminal "><path d="M128.5 99.0h0.0" /><path d="M157.0 99.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="128.5" y="88"></rect><text x="142.75" y="103">4</text></g><path d="M157.0 99.0h20" /><path d="M108.5 99.0a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10" /><g class="terminal "><path d="M128.5 129.0h0.0" /><path d="M157.0 129.0h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="128.5" y="118"></rect><text x="142.75" y="133">5</text></g><path d="M157.0 129.0a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10" /></g><path d="M177.0 99.0h10" /><path d="M88.5 99.0a10 10 0 0 1 10 10v29a10 10 0 0 0 10 10h58.5a10 10 0 0 0 10 -10v-29a10 10 0 0 1 10 -10" /><path d="M187.0 20.0h107.0a10 10 0 0 1 10 10v219.0a10 10 0 0 0 10 10" /><path d="M187.0 99.0h20" /><g><path d="M207.0 99.0h0.0" /><path d="M207.0 99.0h10" /><g class="terminal "><path d="M217.0 99.0h14.25" /><path d="M259.75 99.0h14.25" /><rect height="22" rx="10" ry="10" width="28.5" x="231.25" y="88"></rect><text x="245.5" y="103">6</text></g><path d="M274.0 99.0a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-57.0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M217.0 139.0h14.25" /><path d="M259.75 139.0h14.25" /><rect height="22" rx="10" ry="10" width="28.5" x="231.25" y="128"></rect><text x="245.5" y="143">7</text></g><path d="M274.0 139.0a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-57.0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M217.0 179.0h14.25" /><path d="M259.75 179.0h14.25" /><rect height="22" rx="10" ry="10" width="28.5" x="231.25" y="168"></rect><text x="245.5" y="183">8</text></g><path d="M274.0 179.0a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-57.0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M217.0 219.0h14.25" /><path d="M259.75 219.0h14.25" /><rect height="22" rx="10" ry="10" width="28.5" x="231.25" y="208"></rect><text x="245.5" y="223">9</text></g><path d="M274.0 219.0a10 10 0 0 1 10 10v0a10 10 0 0 1 -10 10h-57.0a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10" /><g class="terminal "><path d="M217.0 259.0h10.0" /><path d="M264.0 259.0h10.0" /><rect height="22" rx="10" ry="10" width="37" x="227" y="248"></rect><text x="245.5" y="263">10</text></g><path d="M274.0 259.0h10" /><path d="M284.0 259.0h0.0" /></g><path d="M284.0 259.0h10" /><path d="M187.0 99.0a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10h67.0a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /><path d="M294.0 259.0h20" /><g class="terminal "><path d="M314.0 259.0h0.0" /><path d="M351.0 259.0h0.0" /><rect height="22" rx="10" ry="10" width="37" x="314" y="248"></rect><text x="332.5" y="263">11</text></g><path d="M351.0 259.0h20" /><path d="M294.0 259.0a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10h37.0a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10" /></g><path d="M 371.0 259.0 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
206
|
+
|
207
|
+
<h1>labeled-start</h1>
|
208
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 306.0 62" width="306.0"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h120.5" /><text style="text-anchor:start" x="20" y="16">Labeled Start</text></g><g><path d="M140.5 31h0.0" /><path d="M266.0 31h0.0" /><g class="terminal "><path d="M140.5 31h0.0" /><path d="M169.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="140.5" y="20"></rect><text x="154.75" y="35">1</text></g><path d="M169.0 31h10" /><path d="M179.0 31h10" /><g class="terminal "><path d="M189.0 31h0.0" /><path d="M217.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="189" y="20"></rect><text x="203.25" y="35">2</text></g><path d="M217.5 31h10" /><path d="M227.5 31h10" /><g class="terminal "><path d="M237.5 31h0.0" /><path d="M266.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="237.5" y="20"></rect><text x="251.75" y="35">3</text></g></g><path d="M 266.0 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
209
|
+
|
210
|
+
<h1>complex</h1>
|
211
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 205.5 62" width="205.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m0 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M165.5 31h0.0" /><g class="terminal "><path d="M40.0 31h0.0" /><path d="M68.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="40" y="20"></rect><text x="54.25" y="35">1</text></g><path d="M68.5 31h10" /><path d="M78.5 31h10" /><g class="terminal "><path d="M88.5 31h0.0" /><path d="M117.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="88.5" y="20"></rect><text x="102.75" y="35">2</text></g><path d="M117.0 31h10" /><path d="M127.0 31h10" /><g class="terminal "><path d="M137.0 31h0.0" /><path d="M165.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="137" y="20"></rect><text x="151.25" y="35">3</text></g></g><path d="M 165.5 31 h 20 m 0 -10 v 20"></path></g></svg>
|
212
|
+
|
213
|
+
<h1>simple</h1>
|
214
|
+
<svg class="railroad-diagram" height="62" viewBox="0 0 205.5 62" width="205.5"><g transform="translate(.5 .5)"><g><path d="M20 21v20m10 -20v20m-10 -10h20" /></g><g><path d="M40 31h0.0" /><path d="M165.5 31h0.0" /><g class="terminal "><path d="M40.0 31h0.0" /><path d="M68.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="40" y="20"></rect><text x="54.25" y="35">1</text></g><path d="M68.5 31h10" /><path d="M78.5 31h10" /><g class="terminal "><path d="M88.5 31h0.0" /><path d="M117.0 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="88.5" y="20"></rect><text x="102.75" y="35">2</text></g><path d="M117.0 31h10" /><path d="M127.0 31h10" /><g class="terminal "><path d="M137.0 31h0.0" /><path d="M165.5 31h0.0" /><rect height="22" rx="10" ry="10" width="28.5" x="137" y="20"></rect><text x="151.25" y="35">3</text></g></g><path d="M 165.5 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg>
|
215
|
+
</body></html>
|