Last active
August 29, 2015 14:25
-
-
Save dckc/63c85bc0554e1c7acd31 to your computer and use it in GitHub Desktop.
monte railroad diagrams
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!doctype html><title>Test</title><style>svg.railroad-diagram{background-color:hsl(30,20%,95%);}svg.railroad-diagram path{stroke-width:3;stroke:black;fill:rgba(0,0,0,0);}svg.railroad-diagram text{font:bold 14px monospace;text-anchor:middle;}svg.railroad-diagram text.label{text-anchor:start;}svg.railroad-diagram text.comment{font:italic 12px monospace;}svg.railroad-diagram rect{stroke-width:3;stroke:black;fill:hsl(120,100%,90%);}</style><h1>module</h1> | |
<svg class="railroad-diagram" height="82" viewBox="0 0 493 82" width="493"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 41 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 51h0"> | |
</path><path d="M452 51h0"> | |
</path><g> | |
<path d="M40 51h0"> | |
</path><path d="M380 51h0"> | |
</path><path d="M40 51a10 10 0 0 0 10 -10v-9a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M60 22h300"> | |
</path></g><path d="M360 22a10 10 0 0 1 10 10v9a10 10 0 0 0 10 10"> | |
</path><path d="M40 51h20"> | |
</path><g> | |
<path d="M60 51h0"> | |
</path><path d="M360 51h0"> | |
</path><path d="M60 51h10"> | |
</path><g class="terminal"> | |
<path d="M70 51h0"> | |
</path><path d="M138 51h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="70" y="40"> | |
</rect><text x="104" y="55"> | |
module</text></g><path d="M138 51h10"> | |
</path><path d="M148 51h10"> | |
</path><g class="non-terminal"> | |
<path d="M158 51h0"> | |
</path><path d="M234 51h0"> | |
</path><rect height="22" width="76" x="158" y="40"> | |
</rect><text x="196" y="55"> | |
imports</text></g><path d="M234 51h10"> | |
</path><g> | |
<path d="M244 51h0"> | |
</path><path d="M360 51h0"> | |
</path><path d="M244 51a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M264 31h76"> | |
</path></g><path d="M340 31a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M244 51h20"> | |
</path><g class="non-terminal"> | |
<path d="M264 51h0"> | |
</path><path d="M340 51h0"> | |
</path><rect height="22" width="76" x="264" y="40"> | |
</rect><text x="302" y="55"> | |
exports</text></g><path d="M340 51h20"> | |
</path></g></g><path d="M360 51h20"> | |
</path></g><path d="M380 51h10"> | |
</path><g class="non-terminal"> | |
<path d="M390 51h0"> | |
</path><path d="M442 51h0"> | |
</path><rect height="22" width="52" x="390" y="40"> | |
</rect><text x="416" y="55"> | |
body</text></g><path d="M442 51h10"> | |
</path></g><path d="M 452 51 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>imports</h1> | |
<svg class="railroad-diagram" height="71" viewBox="0 0 197 71" width="197"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 31h10"> | |
</path><g> | |
<path d="M50 31h0"> | |
</path><path d="M146 31h0"> | |
</path><path d="M50 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M60 31h0"> | |
</path><path d="M136 31h0"> | |
</path><rect height="22" width="76" x="60" y="20"> | |
</rect><text x="98" y="35"> | |
pattern</text></g><path d="M136 31h10"> | |
</path><path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 51h76"> | |
</path></g><path d="M136 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M146 31h10"> | |
</path><path d="M 156 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>exports</h1> | |
<svg class="railroad-diagram" height="71" viewBox="0 0 357 71" width="357"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M316 31h0"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M118 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="50" y="20"> | |
</rect><text x="84" y="35"> | |
export</text></g><path d="M118 31h10"> | |
</path><path d="M128 31h10"> | |
</path><g class="terminal"> | |
<path d="M138 31h0"> | |
</path><path d="M166 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="138" y="20"> | |
</rect><text x="152" y="35"> | |
(</text></g><path d="M166 31h10"> | |
</path><path d="M176 31h10"> | |
</path><g> | |
<path d="M186 31h0"> | |
</path><path d="M258 31h0"> | |
</path><path d="M186 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M196 31h0"> | |
</path><path d="M248 31h0"> | |
</path><rect height="22" width="52" x="196" y="20"> | |
</rect><text x="222" y="35"> | |
noun</text></g><path d="M248 31h10"> | |
</path><path d="M196 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M196 51h52"> | |
</path></g><path d="M248 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M258 31h10"> | |
</path><path d="M268 31h10"> | |
</path><g class="terminal"> | |
<path d="M278 31h0"> | |
</path><path d="M306 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="278" y="20"> | |
</rect><text x="292" y="35"> | |
)</text></g><path d="M306 31h10"> | |
</path></g><path d="M 316 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>body</h1> | |
<svg class="railroad-diagram" height="71" viewBox="0 0 213 71" width="213"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 31h10"> | |
</path><g> | |
<path d="M50 31h0"> | |
</path><path d="M162 31h0"> | |
</path><path d="M50 31h10"> | |
</path><g class="terminal"> | |
<path d="M60 31h0"> | |
</path><path d="M152 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="92" x="60" y="20"> | |
</rect><text x="106" y="35"> | |
blockExpr</text></g><path d="M152 31h10"> | |
</path><path d="M60 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 51h92"> | |
</path></g><path d="M152 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M162 31h10"> | |
</path><path d="M 172 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>blockExpr</h1> | |
<svg class="railroad-diagram" height="92" viewBox="0 0 181 92" width="181"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M140 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g class="non-terminal"> | |
<path d="M60 31h0"> | |
</path><path d="M120 31h0"> | |
</path><rect height="22" width="60" x="60" y="20"> | |
</rect><text x="90" y="35"> | |
basic</text></g><path d="M120 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 61h4"> | |
</path><path d="M116 61h4"> | |
</path><rect height="22" width="52" x="64" y="50"> | |
</rect><text x="90" y="65"> | |
expr</text></g><path d="M120 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 140 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>basic</h1> | |
<svg class="railroad-diagram" height="452" viewBox="0 0 213 452" width="213"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M172 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g class="non-terminal"> | |
<path d="M60 31h28"> | |
</path><path d="M124 31h28"> | |
</path><rect height="22" width="36" x="88" y="20"> | |
</rect><text x="106" y="35"> | |
if</text></g><path d="M152 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 61h12"> | |
</path><path d="M140 61h12"> | |
</path><rect height="22" width="68" x="72" y="50"> | |
</rect><text x="106" y="65"> | |
escape</text></g><path d="M152 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 91h24"> | |
</path><path d="M128 91h24"> | |
</path><rect height="22" width="44" x="84" y="80"> | |
</rect><text x="106" y="95"> | |
for</text></g><path d="M152 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 121h28"> | |
</path><path d="M124 121h28"> | |
</path><rect height="22" width="36" x="88" y="110"> | |
</rect><text x="106" y="125"> | |
fn</text></g><path d="M152 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 151h12"> | |
</path><path d="M140 151h12"> | |
</path><rect height="22" width="68" x="72" y="140"> | |
</rect><text x="106" y="155"> | |
switch</text></g><path d="M152 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 181h24"> | |
</path><path d="M128 181h24"> | |
</path><rect height="22" width="44" x="84" y="170"> | |
</rect><text x="106" y="185"> | |
try</text></g><path d="M152 181a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 211h16"> | |
</path><path d="M136 211h16"> | |
</path><rect height="22" width="60" x="76" y="200"> | |
</rect><text x="106" y="215"> | |
while</text></g><path d="M152 211a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 241h20"> | |
</path><path d="M132 241h20"> | |
</path><rect height="22" width="52" x="80" y="230"> | |
</rect><text x="106" y="245"> | |
when</text></g><path d="M152 241a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 271h20"> | |
</path><path d="M132 271h20"> | |
</path><rect height="22" width="52" x="80" y="260"> | |
</rect><text x="106" y="275"> | |
bind</text></g><path d="M152 271a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 301h12"> | |
</path><path d="M140 301h12"> | |
</path><rect height="22" width="68" x="72" y="290"> | |
</rect><text x="106" y="305"> | |
object</text></g><path d="M152 301a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 331h24"> | |
</path><path d="M128 331h24"> | |
</path><rect height="22" width="44" x="84" y="320"> | |
</rect><text x="106" y="335"> | |
def</text></g><path d="M152 331a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 361h0"> | |
</path><path d="M152 361h0"> | |
</path><rect height="22" width="92" x="60" y="350"> | |
</rect><text x="106" y="365"> | |
interface</text></g><path d="M152 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 391h20"> | |
</path><path d="M132 391h20"> | |
</path><rect height="22" width="52" x="80" y="380"> | |
</rect><text x="106" y="395"> | |
meta</text></g><path d="M152 391a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 421h20"> | |
</path><path d="M132 421h20"> | |
</path><rect height="22" width="52" x="80" y="410"> | |
</rect><text x="106" y="425"> | |
pass</text></g><path d="M152 421a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 172 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>if</h1> | |
<svg class="railroad-diagram" height="102" viewBox="0 0 689 102" width="689"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M648 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M86 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="50" y="30"> | |
</rect><text x="68" y="45"> | |
if</text></g><path d="M86 41h10"> | |
</path><path d="M96 41h10"> | |
</path><g class="terminal"> | |
<path d="M106 41h0"> | |
</path><path d="M134 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="106" y="30"> | |
</rect><text x="120" y="45"> | |
(</text></g><path d="M134 41h10"> | |
</path><path d="M144 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M154 41h0"> | |
</path><path d="M206 41h0"> | |
</path><rect height="22" width="52" x="154" y="30"> | |
</rect><text x="180" y="45"> | |
expr</text></g><path d="M206 41h10"> | |
</path><path d="M216 41h10"> | |
</path><g class="terminal"> | |
<path d="M226 41h0"> | |
</path><path d="M254 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="226" y="30"> | |
</rect><text x="240" y="45"> | |
)</text></g><path d="M254 41h10"> | |
</path><path d="M264 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M274 41h0"> | |
</path><path d="M334 41h0"> | |
</path><rect height="22" width="60" x="274" y="30"> | |
</rect><text x="304" y="45"> | |
block</text></g><path d="M334 41h10"> | |
</path><g> | |
<path d="M344 41h0"> | |
</path><path d="M648 41h0"> | |
</path><path d="M344 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M364 21h264"> | |
</path></g><path d="M628 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M344 41h20"> | |
</path><g> | |
<path d="M364 41h0"> | |
</path><path d="M628 41h0"> | |
</path><path d="M364 41h10"> | |
</path><g class="terminal"> | |
<path d="M374 41h0"> | |
</path><path d="M426 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="374" y="30"> | |
</rect><text x="400" y="45"> | |
else</text></g><path d="M426 41h10"> | |
</path><g> | |
<path d="M436 41h0"> | |
</path><path d="M628 41h0"> | |
</path><path d="M436 41h20"> | |
</path><g> | |
<path d="M456 41h0"> | |
</path><path d="M608 41h0"> | |
</path><path d="M456 41h10"> | |
</path><g class="terminal"> | |
<path d="M466 41h0"> | |
</path><path d="M502 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="466" y="30"> | |
</rect><text x="484" y="45"> | |
if</text></g><path d="M502 41h10"> | |
</path><path d="M512 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M522 41h0"> | |
</path><path d="M598 41h0"> | |
</path><rect height="22" width="76" x="522" y="30"> | |
</rect><text x="560" y="45"> | |
basic@@</text></g><path d="M598 41h10"> | |
</path></g><path d="M608 41h20"> | |
</path><path d="M436 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M456 71h46"> | |
</path><path d="M562 71h46"> | |
</path><rect height="22" width="60" x="502" y="60"> | |
</rect><text x="532" y="75"> | |
block</text></g><path d="M608 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M628 41h20"> | |
</path></g></g><path d="M 648 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>escape</h1> | |
<svg class="railroad-diagram" height="72" viewBox="0 0 641 72" width="641"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M600 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M118 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="50" y="30"> | |
</rect><text x="84" y="45"> | |
escape</text></g><path d="M118 41h10"> | |
</path><path d="M128 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M138 41h0"> | |
</path><path d="M214 41h0"> | |
</path><rect height="22" width="76" x="138" y="30"> | |
</rect><text x="176" y="45"> | |
pattern</text></g><path d="M214 41h10"> | |
</path><path d="M224 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M234 41h0"> | |
</path><path d="M294 41h0"> | |
</path><rect height="22" width="60" x="234" y="30"> | |
</rect><text x="264" y="45"> | |
block</text></g><path d="M294 41h10"> | |
</path><g> | |
<path d="M304 41h0"> | |
</path><path d="M600 41h0"> | |
</path><path d="M304 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M324 21h256"> | |
</path></g><path d="M580 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M304 41h20"> | |
</path><g> | |
<path d="M324 41h0"> | |
</path><path d="M580 41h0"> | |
</path><path d="M324 41h10"> | |
</path><g class="terminal"> | |
<path d="M334 41h0"> | |
</path><path d="M394 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="334" y="30"> | |
</rect><text x="364" y="45"> | |
catch</text></g><path d="M394 41h10"> | |
</path><path d="M404 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M414 41h0"> | |
</path><path d="M490 41h0"> | |
</path><rect height="22" width="76" x="414" y="30"> | |
</rect><text x="452" y="45"> | |
pattern</text></g><path d="M490 41h10"> | |
</path><path d="M500 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M510 41h0"> | |
</path><path d="M570 41h0"> | |
</path><rect height="22" width="60" x="510" y="30"> | |
</rect><text x="540" y="45"> | |
block</text></g><path d="M570 41h10"> | |
</path></g><path d="M580 41h20"> | |
</path></g></g><path d="M 600 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>for</h1> | |
<svg class="railroad-diagram" height="72" viewBox="0 0 937 72" width="937"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M896 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M94 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="50" y="30"> | |
</rect><text x="72" y="45"> | |
for</text></g><path d="M94 41h10"> | |
</path><path d="M104 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M114 41h0"> | |
</path><path d="M190 41h0"> | |
</path><rect height="22" width="76" x="114" y="30"> | |
</rect><text x="152" y="45"> | |
pattern</text></g><path d="M190 41h10"> | |
</path><g> | |
<path d="M200 41h0"> | |
</path><path d="M392 41h0"> | |
</path><path d="M200 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M220 21h152"> | |
</path></g><path d="M372 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M200 41h20"> | |
</path><g> | |
<path d="M220 41h0"> | |
</path><path d="M372 41h0"> | |
</path><path d="M220 41h10"> | |
</path><g class="terminal"> | |
<path d="M230 41h0"> | |
</path><path d="M266 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="230" y="30"> | |
</rect><text x="248" y="45"> | |
=></text></g><path d="M266 41h10"> | |
</path><path d="M276 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M286 41h0"> | |
</path><path d="M362 41h0"> | |
</path><rect height="22" width="76" x="286" y="30"> | |
</rect><text x="324" y="45"> | |
pattern</text></g><path d="M362 41h10"> | |
</path></g><path d="M372 41h20"> | |
</path></g><path d="M392 41h10"> | |
</path><g class="terminal"> | |
<path d="M402 41h0"> | |
</path><path d="M438 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="402" y="30"> | |
</rect><text x="420" y="45"> | |
in</text></g><path d="M438 41h10"> | |
</path><path d="M448 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M458 41h0"> | |
</path><path d="M510 41h0"> | |
</path><rect height="22" width="52" x="458" y="30"> | |
</rect><text x="484" y="45"> | |
comp</text></g><path d="M510 41h10"> | |
</path><path d="M520 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M530 41h0"> | |
</path><path d="M590 41h0"> | |
</path><rect height="22" width="60" x="530" y="30"> | |
</rect><text x="560" y="45"> | |
block</text></g><path d="M590 41h10"> | |
</path><g> | |
<path d="M600 41h0"> | |
</path><path d="M896 41h0"> | |
</path><path d="M600 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M620 21h256"> | |
</path></g><path d="M876 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M600 41h20"> | |
</path><g> | |
<path d="M620 41h0"> | |
</path><path d="M876 41h0"> | |
</path><path d="M620 41h10"> | |
</path><g class="terminal"> | |
<path d="M630 41h0"> | |
</path><path d="M690 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="630" y="30"> | |
</rect><text x="660" y="45"> | |
catch</text></g><path d="M690 41h10"> | |
</path><path d="M700 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M710 41h0"> | |
</path><path d="M786 41h0"> | |
</path><rect height="22" width="76" x="710" y="30"> | |
</rect><text x="748" y="45"> | |
pattern</text></g><path d="M786 41h10"> | |
</path><path d="M796 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M806 41h0"> | |
</path><path d="M866 41h0"> | |
</path><rect height="22" width="60" x="806" y="30"> | |
</rect><text x="836" y="45"> | |
block</text></g><path d="M866 41h10"> | |
</path></g><path d="M876 41h20"> | |
</path></g></g><path d="M 896 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>fn</h1> | |
<svg class="railroad-diagram" height="92" viewBox="0 0 333 92" width="333"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M292 31h0"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M86 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="50" y="20"> | |
</rect><text x="68" y="35"> | |
fn</text></g><path d="M86 31h10"> | |
</path><path d="M96 31h10"> | |
</path><g> | |
<path d="M106 31h0"> | |
</path><path d="M202 31h0"> | |
</path><path d="M106 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M116 31h0"> | |
</path><path d="M192 31h0"> | |
</path><rect height="22" width="76" x="116" y="20"> | |
</rect><text x="154" y="35"> | |
pattern</text></g><path d="M192 31h10"> | |
</path><path d="M116 31a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M116 61h24"> | |
</path><path d="M168 61h24"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="140" y="50"> | |
</rect><text x="154" y="65"> | |
,</text></g><path d="M192 61a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M202 31h10"> | |
</path><path d="M212 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M222 31h0"> | |
</path><path d="M282 31h0"> | |
</path><rect height="22" width="60" x="222" y="20"> | |
</rect><text x="252" y="35"> | |
block</text></g><path d="M282 31h10"> | |
</path></g><path d="M 292 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>switch</h1> | |
<svg class="railroad-diagram" height="71" viewBox="0 0 633 71" width="633"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M592 31h0"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M118 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="50" y="20"> | |
</rect><text x="84" y="35"> | |
switch</text></g><path d="M118 31h10"> | |
</path><path d="M128 31h10"> | |
</path><g class="terminal"> | |
<path d="M138 31h0"> | |
</path><path d="M166 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="138" y="20"> | |
</rect><text x="152" y="35"> | |
(</text></g><path d="M166 31h10"> | |
</path><path d="M176 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M186 31h0"> | |
</path><path d="M238 31h0"> | |
</path><rect height="22" width="52" x="186" y="20"> | |
</rect><text x="212" y="35"> | |
expr</text></g><path d="M238 31h10"> | |
</path><path d="M248 31h10"> | |
</path><g class="terminal"> | |
<path d="M258 31h0"> | |
</path><path d="M286 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="258" y="20"> | |
</rect><text x="272" y="35"> | |
)</text></g><path d="M286 31h10"> | |
</path><path d="M296 31h10"> | |
</path><g> | |
<path d="M306 31h0"> | |
</path><path d="M582 31h0"> | |
</path><path d="M306 31h10"> | |
</path><g> | |
<path d="M316 31h0"> | |
</path><path d="M572 31h0"> | |
</path><path d="M316 31h10"> | |
</path><g class="terminal"> | |
<path d="M326 31h0"> | |
</path><path d="M386 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="326" y="20"> | |
</rect><text x="356" y="35"> | |
match</text></g><path d="M386 31h10"> | |
</path><path d="M396 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M406 31h0"> | |
</path><path d="M482 31h0"> | |
</path><rect height="22" width="76" x="406" y="20"> | |
</rect><text x="444" y="35"> | |
pattern</text></g><path d="M482 31h10"> | |
</path><path d="M492 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M502 31h0"> | |
</path><path d="M562 31h0"> | |
</path><rect height="22" width="60" x="502" y="20"> | |
</rect><text x="532" y="35"> | |
block</text></g><path d="M562 31h10"> | |
</path></g><path d="M572 31h10"> | |
</path><path d="M316 31a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M316 51h256"> | |
</path></g><path d="M572 51a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M582 31h10"> | |
</path></g><path d="M 592 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>try</h1> | |
<svg class="railroad-diagram" height="81" viewBox="0 0 757 81" width="757"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M716 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M94 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="50" y="30"> | |
</rect><text x="72" y="45"> | |
try</text></g><path d="M94 41h10"> | |
</path><path d="M104 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M114 41h0"> | |
</path><path d="M174 41h0"> | |
</path><rect height="22" width="60" x="114" y="30"> | |
</rect><text x="144" y="45"> | |
block</text></g><path d="M174 41h10"> | |
</path><g> | |
<path d="M184 41h0"> | |
</path><path d="M500 41h0"> | |
</path><path d="M184 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M204 21h276"> | |
</path></g><path d="M480 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M184 41h20"> | |
</path><g> | |
<path d="M204 41h0"> | |
</path><path d="M480 41h0"> | |
</path><path d="M204 41h10"> | |
</path><g> | |
<path d="M214 41h0"> | |
</path><path d="M470 41h0"> | |
</path><path d="M214 41h10"> | |
</path><g class="terminal"> | |
<path d="M224 41h0"> | |
</path><path d="M284 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="224" y="30"> | |
</rect><text x="254" y="45"> | |
catch</text></g><path d="M284 41h10"> | |
</path><path d="M294 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M304 41h0"> | |
</path><path d="M380 41h0"> | |
</path><rect height="22" width="76" x="304" y="30"> | |
</rect><text x="342" y="45"> | |
pattern</text></g><path d="M380 41h10"> | |
</path><path d="M390 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M400 41h0"> | |
</path><path d="M460 41h0"> | |
</path><rect height="22" width="60" x="400" y="30"> | |
</rect><text x="430" y="45"> | |
block</text></g><path d="M460 41h10"> | |
</path></g><path d="M470 41h10"> | |
</path><path d="M214 41a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M214 61h256"> | |
</path></g><path d="M470 61a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M480 41h20"> | |
</path></g><g> | |
<path d="M500 41h0"> | |
</path><path d="M716 41h0"> | |
</path><path d="M500 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M520 21h176"> | |
</path></g><path d="M696 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M500 41h20"> | |
</path><g> | |
<path d="M520 41h0"> | |
</path><path d="M696 41h0"> | |
</path><path d="M520 41h10"> | |
</path><g class="terminal"> | |
<path d="M530 41h0"> | |
</path><path d="M606 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="76" x="530" y="30"> | |
</rect><text x="568" y="45"> | |
finally</text></g><path d="M606 41h10"> | |
</path><path d="M616 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M626 41h0"> | |
</path><path d="M686 41h0"> | |
</path><rect height="22" width="60" x="626" y="30"> | |
</rect><text x="656" y="45"> | |
block</text></g><path d="M686 41h10"> | |
</path></g><path d="M696 41h20"> | |
</path></g></g><path d="M 716 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>while</h1> | |
<svg class="railroad-diagram" height="72" viewBox="0 0 705 72" width="705"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M664 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M110 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="50" y="30"> | |
</rect><text x="80" y="45"> | |
while</text></g><path d="M110 41h10"> | |
</path><path d="M120 41h10"> | |
</path><g class="terminal"> | |
<path d="M130 41h0"> | |
</path><path d="M158 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="130" y="30"> | |
</rect><text x="144" y="45"> | |
(</text></g><path d="M158 41h10"> | |
</path><path d="M168 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M178 41h0"> | |
</path><path d="M230 41h0"> | |
</path><rect height="22" width="52" x="178" y="30"> | |
</rect><text x="204" y="45"> | |
expr</text></g><path d="M230 41h10"> | |
</path><path d="M240 41h10"> | |
</path><g class="terminal"> | |
<path d="M250 41h0"> | |
</path><path d="M278 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="250" y="30"> | |
</rect><text x="264" y="45"> | |
)</text></g><path d="M278 41h10"> | |
</path><path d="M288 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M298 41h0"> | |
</path><path d="M358 41h0"> | |
</path><rect height="22" width="60" x="298" y="30"> | |
</rect><text x="328" y="45"> | |
block</text></g><path d="M358 41h10"> | |
</path><g> | |
<path d="M368 41h0"> | |
</path><path d="M664 41h0"> | |
</path><path d="M368 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M388 21h256"> | |
</path></g><path d="M644 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M368 41h20"> | |
</path><g> | |
<path d="M388 41h0"> | |
</path><path d="M644 41h0"> | |
</path><path d="M388 41h10"> | |
</path><g class="terminal"> | |
<path d="M398 41h0"> | |
</path><path d="M458 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="398" y="30"> | |
</rect><text x="428" y="45"> | |
catch</text></g><path d="M458 41h10"> | |
</path><path d="M468 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M478 41h0"> | |
</path><path d="M554 41h0"> | |
</path><rect height="22" width="76" x="478" y="30"> | |
</rect><text x="516" y="45"> | |
pattern</text></g><path d="M554 41h10"> | |
</path><path d="M564 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M574 41h0"> | |
</path><path d="M634 41h0"> | |
</path><rect height="22" width="60" x="574" y="30"> | |
</rect><text x="604" y="45"> | |
block</text></g><path d="M634 41h10"> | |
</path></g><path d="M644 41h20"> | |
</path></g></g><path d="M 664 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>when</h1> | |
<svg class="railroad-diagram" height="102" viewBox="0 0 873 102" width="873"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M832 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M102 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="50" y="30"> | |
</rect><text x="76" y="45"> | |
when</text></g><path d="M102 41h10"> | |
</path><path d="M112 41h10"> | |
</path><g class="terminal"> | |
<path d="M122 41h0"> | |
</path><path d="M150 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="122" y="30"> | |
</rect><text x="136" y="45"> | |
(</text></g><path d="M150 41h10"> | |
</path><path d="M160 41h10"> | |
</path><g> | |
<path d="M170 41h0"> | |
</path><path d="M242 41h0"> | |
</path><path d="M170 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M180 41h0"> | |
</path><path d="M232 41h0"> | |
</path><rect height="22" width="52" x="180" y="30"> | |
</rect><text x="206" y="45"> | |
expr</text></g><path d="M232 41h10"> | |
</path><path d="M180 41a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M180 71h12"> | |
</path><path d="M220 71h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="192" y="60"> | |
</rect><text x="206" y="75"> | |
,</text></g><path d="M232 71a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M242 41h10"> | |
</path><path d="M252 41h10"> | |
</path><g class="terminal"> | |
<path d="M262 41h0"> | |
</path><path d="M290 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="262" y="30"> | |
</rect><text x="276" y="45"> | |
)</text></g><path d="M290 41h10"> | |
</path><g> | |
<path d="M300 41h0"> | |
</path><path d="M616 41h0"> | |
</path><path d="M300 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M320 21h276"> | |
</path></g><path d="M596 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M300 41h20"> | |
</path><g> | |
<path d="M320 41h0"> | |
</path><path d="M596 41h0"> | |
</path><path d="M320 41h10"> | |
</path><g> | |
<path d="M330 41h0"> | |
</path><path d="M586 41h0"> | |
</path><path d="M330 41h10"> | |
</path><g class="terminal"> | |
<path d="M340 41h0"> | |
</path><path d="M400 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="340" y="30"> | |
</rect><text x="370" y="45"> | |
catch</text></g><path d="M400 41h10"> | |
</path><path d="M410 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M420 41h0"> | |
</path><path d="M496 41h0"> | |
</path><rect height="22" width="76" x="420" y="30"> | |
</rect><text x="458" y="45"> | |
pattern</text></g><path d="M496 41h10"> | |
</path><path d="M506 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M516 41h0"> | |
</path><path d="M576 41h0"> | |
</path><rect height="22" width="60" x="516" y="30"> | |
</rect><text x="546" y="45"> | |
block</text></g><path d="M576 41h10"> | |
</path></g><path d="M586 41h10"> | |
</path><path d="M330 41a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M330 61h256"> | |
</path></g><path d="M586 61a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M596 41h20"> | |
</path></g><g> | |
<path d="M616 41h0"> | |
</path><path d="M832 41h0"> | |
</path><path d="M616 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M636 21h176"> | |
</path></g><path d="M812 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M616 41h20"> | |
</path><g> | |
<path d="M636 41h0"> | |
</path><path d="M812 41h0"> | |
</path><path d="M636 41h10"> | |
</path><g class="terminal"> | |
<path d="M646 41h0"> | |
</path><path d="M722 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="76" x="646" y="30"> | |
</rect><text x="684" y="45"> | |
finally</text></g><path d="M722 41h10"> | |
</path><path d="M732 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M742 41h0"> | |
</path><path d="M802 41h0"> | |
</path><rect height="22" width="60" x="742" y="30"> | |
</rect><text x="772" y="45"> | |
block</text></g><path d="M802 41h10"> | |
</path></g><path d="M812 41h20"> | |
</path></g></g><path d="M 832 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>bind</h1> | |
<svg class="railroad-diagram" height="72" viewBox="0 0 529 72" width="529"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M488 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M102 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="50" y="30"> | |
</rect><text x="76" y="45"> | |
bind</text></g><path d="M102 41h10"> | |
</path><path d="M112 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M122 41h0"> | |
</path><path d="M174 41h0"> | |
</path><rect height="22" width="52" x="122" y="30"> | |
</rect><text x="148" y="45"> | |
noun</text></g><path d="M174 41h10"> | |
</path><g> | |
<path d="M184 41h0"> | |
</path><path d="M352 41h0"> | |
</path><path d="M184 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M204 21h128"> | |
</path></g><path d="M332 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M184 41h20"> | |
</path><g> | |
<path d="M204 41h0"> | |
</path><path d="M332 41h0"> | |
</path><path d="M204 41h10"> | |
</path><g class="terminal"> | |
<path d="M214 41h0"> | |
</path><path d="M242 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="214" y="30"> | |
</rect><text x="228" y="45"> | |
:</text></g><path d="M242 41h10"> | |
</path><path d="M252 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M262 41h0"> | |
</path><path d="M322 41h0"> | |
</path><rect height="22" width="60" x="262" y="30"> | |
</rect><text x="292" y="45"> | |
guard</text></g><path d="M322 41h10"> | |
</path></g><path d="M332 41h20"> | |
</path></g><path d="M352 41h10"> | |
</path><g class="terminal"> | |
<path d="M362 41h0"> | |
</path><path d="M478 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="116" x="362" y="30"> | |
</rect><text x="420" y="45"> | |
objectExpr@@</text></g><path d="M478 41h10"> | |
</path></g><path d="M 488 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>object</h1> | |
<svg class="railroad-diagram" height="132" viewBox="0 0 657 132" width="657"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M616 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M118 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="50" y="30"> | |
</rect><text x="84" y="45"> | |
object</text></g><path d="M118 41h10"> | |
</path><g> | |
<path d="M128 41h0"> | |
</path><path d="M312 41h0"> | |
</path><path d="M128 41h20"> | |
</path><g> | |
<path d="M148 41h0"> | |
</path><path d="M292 41h0"> | |
</path><path d="M148 41h10"> | |
</path><g class="terminal"> | |
<path d="M158 41h0"> | |
</path><path d="M210 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="158" y="30"> | |
</rect><text x="184" y="45"> | |
bind</text></g><path d="M210 41h10"> | |
</path><path d="M220 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M230 41h0"> | |
</path><path d="M282 41h0"> | |
</path><rect height="22" width="52" x="230" y="30"> | |
</rect><text x="256" y="45"> | |
noun</text></g><path d="M282 41h10"> | |
</path></g><path d="M292 41h20"> | |
</path><path d="M128 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M148 71h58"> | |
</path><path d="M234 71h58"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="206" y="60"> | |
</rect><text x="220" y="75"> | |
_</text></g><path d="M292 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M128 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M148 101h46"> | |
</path><path d="M246 101h46"> | |
</path><rect height="22" width="52" x="194" y="90"> | |
</rect><text x="220" y="105"> | |
noun</text></g><path d="M292 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M312 41h0"> | |
</path><path d="M480 41h0"> | |
</path><path d="M312 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M332 21h128"> | |
</path></g><path d="M460 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M312 41h20"> | |
</path><g> | |
<path d="M332 41h0"> | |
</path><path d="M460 41h0"> | |
</path><path d="M332 41h10"> | |
</path><g class="terminal"> | |
<path d="M342 41h0"> | |
</path><path d="M370 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="342" y="30"> | |
</rect><text x="356" y="45"> | |
:</text></g><path d="M370 41h10"> | |
</path><path d="M380 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M390 41h0"> | |
</path><path d="M450 41h0"> | |
</path><rect height="22" width="60" x="390" y="30"> | |
</rect><text x="420" y="45"> | |
guard</text></g><path d="M450 41h10"> | |
</path></g><path d="M460 41h20"> | |
</path></g><path d="M480 41h10"> | |
</path><g class="terminal"> | |
<path d="M490 41h0"> | |
</path><path d="M606 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="116" x="490" y="30"> | |
</rect><text x="548" y="45"> | |
objectExpr@@</text></g><path d="M606 41h10"> | |
</path></g><path d="M 616 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>def</h1> | |
<svg class="railroad-diagram" height="132" viewBox="0 0 725 132" width="725"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M684 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M94 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="50" y="30"> | |
</rect><text x="72" y="45"> | |
def</text></g><path d="M94 41h10"> | |
</path><g> | |
<path d="M104 41h0"> | |
</path><path d="M684 41h0"> | |
</path><path d="M104 41h20"> | |
</path><g> | |
<path d="M124 41h0"> | |
</path><path d="M664 41h0"> | |
</path><g> | |
<path d="M124 41h0"> | |
</path><path d="M476 41h0"> | |
</path><path d="M124 41h20"> | |
</path><g> | |
<path d="M144 41h0"> | |
</path><path d="M456 41h0"> | |
</path><path d="M144 41h10"> | |
</path><g class="terminal"> | |
<path d="M154 41h0"> | |
</path><path d="M206 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="154" y="30"> | |
</rect><text x="180" y="45"> | |
bind</text></g><path d="M206 41h10"> | |
</path><path d="M216 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M226 41h0"> | |
</path><path d="M278 41h0"> | |
</path><rect height="22" width="52" x="226" y="30"> | |
</rect><text x="252" y="45"> | |
noun</text></g><path d="M278 41h10"> | |
</path><g> | |
<path d="M288 41h0"> | |
</path><path d="M456 41h0"> | |
</path><path d="M288 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M308 21h128"> | |
</path></g><path d="M436 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M288 41h20"> | |
</path><g> | |
<path d="M308 41h0"> | |
</path><path d="M436 41h0"> | |
</path><path d="M308 41h10"> | |
</path><g class="terminal"> | |
<path d="M318 41h0"> | |
</path><path d="M346 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="318" y="30"> | |
</rect><text x="332" y="45"> | |
:</text></g><path d="M346 41h10"> | |
</path><path d="M356 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M366 41h0"> | |
</path><path d="M426 41h0"> | |
</path><rect height="22" width="60" x="366" y="30"> | |
</rect><text x="396" y="45"> | |
guard</text></g><path d="M426 41h10"> | |
</path></g><path d="M436 41h20"> | |
</path></g></g><path d="M456 41h20"> | |
</path><path d="M124 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M144 71h130"> | |
</path><path d="M326 71h130"> | |
</path><rect height="22" width="52" x="274" y="60"> | |
</rect><text x="300" y="75"> | |
noun</text></g><path d="M456 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M476 41h0"> | |
</path><path d="M664 41h0"> | |
</path><path d="M476 41h20"> | |
</path><g class="terminal"> | |
<path d="M496 41h0"> | |
</path><path d="M644 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="148" x="496" y="30"> | |
</rect><text x="570" y="45"> | |
objectFunction@@</text></g><path d="M644 41h20"> | |
</path><path d="M476 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M496 71h40"> | |
</path><path d="M604 71h40"> | |
</path><rect height="22" width="68" x="536" y="60"> | |
</rect><text x="570" y="75"> | |
assign</text></g><path d="M644 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M664 41h20"> | |
</path><path d="M104 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M124 101h236"> | |
</path><path d="M428 101h236"> | |
</path><rect height="22" width="68" x="360" y="90"> | |
</rect><text x="394" y="105"> | |
assign</text></g><path d="M664 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M 684 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>interface</h1> | |
<svg class="railroad-diagram" height="102" viewBox="0 0 1013 102" width="1013"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M972 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M142 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="92" x="50" y="30"> | |
</rect><text x="96" y="45"> | |
interface</text></g><path d="M142 41h10"> | |
</path><path d="M152 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M162 41h0"> | |
</path><path d="M270 41h0"> | |
</path><rect height="22" width="108" x="162" y="30"> | |
</rect><text x="216" y="45"> | |
namePattern</text></g><path d="M270 41h10"> | |
</path><g> | |
<path d="M280 41h0"> | |
</path><path d="M504 41h0"> | |
</path><path d="M280 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M300 21h184"> | |
</path></g><path d="M484 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M280 41h20"> | |
</path><g> | |
<path d="M300 41h0"> | |
</path><path d="M484 41h0"> | |
</path><path d="M300 41h10"> | |
</path><g class="terminal"> | |
<path d="M310 41h0"> | |
</path><path d="M378 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="310" y="30"> | |
</rect><text x="344" y="45"> | |
guards</text></g><path d="M378 41h10"> | |
</path><path d="M388 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M398 41h0"> | |
</path><path d="M474 41h0"> | |
</path><rect height="22" width="76" x="398" y="30"> | |
</rect><text x="436" y="45"> | |
pattern</text></g><path d="M474 41h10"> | |
</path></g><path d="M484 41h20"> | |
</path></g><g> | |
<path d="M504 41h0"> | |
</path><path d="M740 41h0"> | |
</path><path d="M504 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M524 21h196"> | |
</path></g><path d="M720 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M504 41h20"> | |
</path><g> | |
<path d="M524 41h0"> | |
</path><path d="M720 41h0"> | |
</path><path d="M524 41h10"> | |
</path><g class="terminal"> | |
<path d="M534 41h0"> | |
</path><path d="M610 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="76" x="534" y="30"> | |
</rect><text x="572" y="45"> | |
extends</text></g><path d="M610 41h10"> | |
</path><path d="M620 41h10"> | |
</path><g> | |
<path d="M630 41h0"> | |
</path><path d="M710 41h0"> | |
</path><path d="M630 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M640 41h0"> | |
</path><path d="M700 41h0"> | |
</path><rect height="22" width="60" x="640" y="30"> | |
</rect><text x="670" y="45"> | |
order</text></g><path d="M700 41h10"> | |
</path><path d="M640 41a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M640 71h16"> | |
</path><path d="M684 71h16"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="656" y="60"> | |
</rect><text x="670" y="75"> | |
,</text></g><path d="M700 71a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M710 41h10"> | |
</path></g><path d="M720 41h20"> | |
</path></g><path d="M740 41h10"> | |
</path><g class="terminal"> | |
<path d="M750 41h0"> | |
</path><path d="M874 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="124" x="750" y="30"> | |
</rect><text x="812" y="45"> | |
implements_@@</text></g><path d="M874 41h10"> | |
</path><path d="M884 41h10"> | |
</path><g class="terminal"> | |
<path d="M894 41h0"> | |
</path><path d="M962 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="894" y="30"> | |
</rect><text x="928" y="45"> | |
msgs@@</text></g><path d="M962 41h10"> | |
</path></g><path d="M 972 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>meta</h1> | |
<svg class="railroad-diagram" height="92" viewBox="0 0 441 92" width="441"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M400 31h0"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M102 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="50" y="20"> | |
</rect><text x="76" y="35"> | |
meta</text></g><path d="M102 31h10"> | |
</path><path d="M112 31h10"> | |
</path><g class="terminal"> | |
<path d="M122 31h0"> | |
</path><path d="M150 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="122" y="20"> | |
</rect><text x="136" y="35"> | |
.</text></g><path d="M150 31h10"> | |
</path><g> | |
<path d="M160 31h0"> | |
</path><path d="M400 31h0"> | |
</path><path d="M160 31h20"> | |
</path><g> | |
<path d="M180 31h4"> | |
</path><path d="M376 31h4"> | |
</path><path d="M184 31h10"> | |
</path><g class="terminal"> | |
<path d="M194 31h0"> | |
</path><path d="M270 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="76" x="194" y="20"> | |
</rect><text x="232" y="35"> | |
context</text></g><path d="M270 31h10"> | |
</path><path d="M280 31h10"> | |
</path><g class="terminal"> | |
<path d="M290 31h0"> | |
</path><path d="M318 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="290" y="20"> | |
</rect><text x="304" y="35"> | |
(</text></g><path d="M318 31h10"> | |
</path><path d="M328 31h10"> | |
</path><g class="terminal"> | |
<path d="M338 31h0"> | |
</path><path d="M366 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="338" y="20"> | |
</rect><text x="352" y="35"> | |
)</text></g><path d="M366 31h10"> | |
</path></g><path d="M380 31h20"> | |
</path><path d="M160 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M180 61h0"> | |
</path><path d="M380 61h0"> | |
</path><path d="M180 61h10"> | |
</path><g class="terminal"> | |
<path d="M190 61h0"> | |
</path><path d="M274 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="190" y="50"> | |
</rect><text x="232" y="65"> | |
getState</text></g><path d="M274 61h10"> | |
</path><path d="M284 61h10"> | |
</path><g class="terminal"> | |
<path d="M294 61h0"> | |
</path><path d="M322 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="294" y="50"> | |
</rect><text x="308" y="65"> | |
(</text></g><path d="M322 61h10"> | |
</path><path d="M332 61h10"> | |
</path><g class="terminal"> | |
<path d="M342 61h0"> | |
</path><path d="M370 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="342" y="50"> | |
</rect><text x="356" y="65"> | |
)</text></g><path d="M370 61h10"> | |
</path></g><path d="M380 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M 400 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>pass</h1> | |
<svg class="railroad-diagram" height="62" viewBox="0 0 153 62" width="153"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M102 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="50" y="20"> | |
</rect><text x="76" y="35"> | |
pass</text></g><path d="M102 31h10"> | |
</path><path d="M 112 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>guard</h1> | |
<svg class="railroad-diagram" height="132" viewBox="0 0 469 132" width="469"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M428 41h0"> | |
</path><path d="M40 41h20"> | |
</path><g> | |
<path d="M60 41h0"> | |
</path><path d="M408 41h0"> | |
</path><path d="M60 41h10"> | |
</path><g class="terminal"> | |
<path d="M70 41h0"> | |
</path><path d="M170 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="70" y="30"> | |
</rect><text x="120" y="45"> | |
IDENTIFIER</text></g><path d="M170 41h10"> | |
</path><g> | |
<path d="M180 41h0"> | |
</path><path d="M408 41h0"> | |
</path><path d="M180 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M200 21h188"> | |
</path></g><path d="M388 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M180 41h20"> | |
</path><g> | |
<path d="M200 41h0"> | |
</path><path d="M388 41h0"> | |
</path><path d="M200 41h10"> | |
</path><g class="terminal"> | |
<path d="M210 41h0"> | |
</path><path d="M238 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="210" y="30"> | |
</rect><text x="224" y="45"> | |
[</text></g><path d="M238 41h10"> | |
</path><path d="M248 41h10"> | |
</path><g> | |
<path d="M258 41h0"> | |
</path><path d="M330 41h0"> | |
</path><path d="M258 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M268 41h0"> | |
</path><path d="M320 41h0"> | |
</path><rect height="22" width="52" x="268" y="30"> | |
</rect><text x="294" y="45"> | |
expr</text></g><path d="M320 41h10"> | |
</path><path d="M268 41a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M268 71h12"> | |
</path><path d="M308 71h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="280" y="60"> | |
</rect><text x="294" y="75"> | |
,</text></g><path d="M320 71a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M330 41h10"> | |
</path><path d="M340 41h10"> | |
</path><g class="terminal"> | |
<path d="M350 41h0"> | |
</path><path d="M378 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="350" y="30"> | |
</rect><text x="364" y="45"> | |
]</text></g><path d="M378 41h10"> | |
</path></g><path d="M388 41h20"> | |
</path></g></g><path d="M408 41h20"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 101h90"> | |
</path><path d="M318 101h90"> | |
</path><path d="M150 101h10"> | |
</path><g class="terminal"> | |
<path d="M160 101h0"> | |
</path><path d="M188 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="160" y="90"> | |
</rect><text x="174" y="105"> | |
(</text></g><path d="M188 101h10"> | |
</path><path d="M198 101h10"> | |
</path><g class="non-terminal"> | |
<path d="M208 101h0"> | |
</path><path d="M260 101h0"> | |
</path><rect height="22" width="52" x="208" y="90"> | |
</rect><text x="234" y="105"> | |
expr</text></g><path d="M260 101h10"> | |
</path><path d="M270 101h10"> | |
</path><g class="terminal"> | |
<path d="M280 101h0"> | |
</path><path d="M308 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="280" y="90"> | |
</rect><text x="294" y="105"> | |
)</text></g><path d="M308 101h10"> | |
</path></g><path d="M408 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 428 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>expr</h1> | |
<svg class="railroad-diagram" height="152" viewBox="0 0 381 152" width="381"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M340 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g> | |
<path d="M60 31h0"> | |
</path><path d="M320 31h0"> | |
</path><g> | |
<path d="M60 31h0"> | |
</path><path d="M184 31h0"> | |
</path><path d="M60 31h20"> | |
</path><g class="terminal"> | |
<path d="M80 31h0"> | |
</path><path d="M164 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="80" y="20"> | |
</rect><text x="122" y="35"> | |
continue</text></g><path d="M164 31h20"> | |
</path><path d="M60 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 61h12"> | |
</path><path d="M152 61h12"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="92" y="50"> | |
</rect><text x="122" y="65"> | |
break</text></g><path d="M164 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M60 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 91h8"> | |
</path><path d="M156 91h8"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="88" y="80"> | |
</rect><text x="122" y="95"> | |
return</text></g><path d="M164 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M184 31h0"> | |
</path><path d="M320 31h0"> | |
</path><path d="M184 31h20"> | |
</path><g> | |
<path d="M204 31h0"> | |
</path><path d="M300 31h0"> | |
</path><path d="M204 31h10"> | |
</path><g class="terminal"> | |
<path d="M214 31h0"> | |
</path><path d="M242 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="214" y="20"> | |
</rect><text x="228" y="35"> | |
(</text></g><path d="M242 31h10"> | |
</path><path d="M252 31h10"> | |
</path><g class="terminal"> | |
<path d="M262 31h0"> | |
</path><path d="M290 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="262" y="20"> | |
</rect><text x="276" y="35"> | |
)</text></g><path d="M290 31h10"> | |
</path></g><path d="M300 31h20"> | |
</path><path d="M184 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M204 61h34"> | |
</path><path d="M266 61h34"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="238" y="50"> | |
</rect><text x="252" y="65"> | |
;</text></g><path d="M300 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M184 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M204 91h2"> | |
</path><path d="M298 91h2"> | |
</path><rect height="22" width="92" x="206" y="80"> | |
</rect><text x="252" y="95"> | |
blockExpr</text></g><path d="M300 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M320 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M60 121h96"> | |
</path><path d="M224 121h96"> | |
</path><rect height="22" width="68" x="156" y="110"> | |
</rect><text x="190" y="125"> | |
assign</text></g><path d="M320 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 340 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>assign</h1> | |
<svg class="railroad-diagram" height="222" viewBox="0 0 657 222" width="657"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M616 41h0"> | |
</path><path d="M40 41h20"> | |
</path><g> | |
<path d="M60 41h0"> | |
</path><path d="M596 41h0"> | |
</path><path d="M60 41h10"> | |
</path><g class="terminal"> | |
<path d="M70 41h0"> | |
</path><path d="M114 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="70" y="30"> | |
</rect><text x="92" y="45"> | |
def</text></g><path d="M114 41h10"> | |
</path><path d="M124 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M134 41h0"> | |
</path><path d="M210 41h0"> | |
</path><rect height="22" width="76" x="134" y="30"> | |
</rect><text x="172" y="45"> | |
pattern</text></g><path d="M210 41h10"> | |
</path><g> | |
<path d="M220 41h0"> | |
</path><path d="M412 41h0"> | |
</path><path d="M220 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M240 21h152"> | |
</path></g><path d="M392 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M220 41h20"> | |
</path><g> | |
<path d="M240 41h0"> | |
</path><path d="M392 41h0"> | |
</path><path d="M240 41h10"> | |
</path><g class="terminal"> | |
<path d="M250 41h0"> | |
</path><path d="M302 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="250" y="30"> | |
</rect><text x="276" y="45"> | |
exit</text></g><path d="M302 41h10"> | |
</path><path d="M312 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M322 41h0"> | |
</path><path d="M382 41h0"> | |
</path><rect height="22" width="60" x="322" y="30"> | |
</rect><text x="352" y="45"> | |
order</text></g><path d="M382 41h10"> | |
</path></g><path d="M392 41h20"> | |
</path></g><g> | |
<path d="M412 41h0"> | |
</path><path d="M596 41h0"> | |
</path><path d="M412 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M432 21h144"> | |
</path></g><path d="M576 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M412 41h20"> | |
</path><g> | |
<path d="M432 41h0"> | |
</path><path d="M576 41h0"> | |
</path><path d="M432 41h10"> | |
</path><g class="terminal"> | |
<path d="M442 41h0"> | |
</path><path d="M478 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="442" y="30"> | |
</rect><text x="460" y="45"> | |
:=</text></g><path d="M478 41h10"> | |
</path><path d="M488 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M498 41h0"> | |
</path><path d="M566 41h0"> | |
</path><rect height="22" width="68" x="498" y="30"> | |
</rect><text x="532" y="45"> | |
assign</text></g><path d="M566 41h10"> | |
</path></g><path d="M576 41h20"> | |
</path></g></g><path d="M596 41h20"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 71h102"> | |
</path><path d="M494 71h102"> | |
</path><g> | |
<path d="M162 71h0"> | |
</path><path d="M254 71h0"> | |
</path><path d="M162 71h20"> | |
</path><g class="terminal"> | |
<path d="M182 71h4"> | |
</path><path d="M230 71h4"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="186" y="60"> | |
</rect><text x="208" y="75"> | |
var</text></g><path d="M234 71h20"> | |
</path><path d="M162 71a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M182 101h0"> | |
</path><path d="M234 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="182" y="90"> | |
</rect><text x="208" y="105"> | |
bind</text></g><path d="M234 101a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M254 71h10"> | |
</path><g class="non-terminal"> | |
<path d="M264 71h0"> | |
</path><path d="M340 71h0"> | |
</path><rect height="22" width="76" x="264" y="60"> | |
</rect><text x="302" y="75"> | |
pattern</text></g><path d="M340 71h10"> | |
</path><path d="M350 71h10"> | |
</path><g class="terminal"> | |
<path d="M360 71h0"> | |
</path><path d="M396 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="360" y="60"> | |
</rect><text x="378" y="75"> | |
:=</text></g><path d="M396 71h10"> | |
</path><path d="M406 71h10"> | |
</path><g class="non-terminal"> | |
<path d="M416 71h0"> | |
</path><path d="M484 71h0"> | |
</path><rect height="22" width="68" x="416" y="60"> | |
</rect><text x="450" y="75"> | |
assign</text></g><path d="M484 71h10"> | |
</path></g><path d="M596 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 131h160"> | |
</path><path d="M436 131h160"> | |
</path><path d="M220 131h10"> | |
</path><g class="non-terminal"> | |
<path d="M230 131h0"> | |
</path><path d="M282 131h0"> | |
</path><rect height="22" width="52" x="230" y="120"> | |
</rect><text x="256" y="135"> | |
lval</text></g><path d="M282 131h10"> | |
</path><path d="M292 131h10"> | |
</path><g class="terminal"> | |
<path d="M302 131h0"> | |
</path><path d="M338 131h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="302" y="120"> | |
</rect><text x="320" y="135"> | |
:=</text></g><path d="M338 131h10"> | |
</path><path d="M348 131h10"> | |
</path><g class="non-terminal"> | |
<path d="M358 131h0"> | |
</path><path d="M426 131h0"> | |
</path><rect height="22" width="68" x="358" y="120"> | |
</rect><text x="392" y="135"> | |
assign</text></g><path d="M426 131h10"> | |
</path></g><path d="M596 131a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 161h218"> | |
</path><path d="M378 161h218"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="278" y="150"> | |
</rect><text x="328" y="165"> | |
@op=...XXX</text></g><path d="M596 161a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 191h198"> | |
</path><path d="M398 191h198"> | |
</path><rect height="22" rx="10" ry="10" width="140" x="258" y="180"> | |
</rect><text x="328" y="195"> | |
VERB_ASSIGN XXX</text></g><path d="M596 191a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 616 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>lval</h1> | |
<svg class="railroad-diagram" height="62" viewBox="0 0 161 62" width="161"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M110 31h0"> | |
</path><rect height="22" width="60" x="50" y="20"> | |
</rect><text x="80" y="35"> | |
infix</text></g><path d="M110 31h10"> | |
</path><path d="M 120 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>infix</h1> | |
<svg class="railroad-diagram" height="102" viewBox="0 0 349 102" width="349"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M308 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M102 41h0"> | |
</path><rect height="22" width="52" x="50" y="30"> | |
</rect><text x="76" y="45"> | |
comp</text></g><path d="M102 41h10"> | |
</path><g> | |
<path d="M112 41h0"> | |
</path><path d="M308 41h0"> | |
</path><path d="M112 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M132 21h156"> | |
</path></g><path d="M288 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M112 41h20"> | |
</path><g> | |
<path d="M132 41h0"> | |
</path><path d="M288 41h0"> | |
</path><g> | |
<path d="M132 41h0"> | |
</path><path d="M208 41h0"> | |
</path><path d="M132 41h20"> | |
</path><g class="terminal"> | |
<path d="M152 41h0"> | |
</path><path d="M188 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="152" y="30"> | |
</rect><text x="170" y="45"> | |
||</text></g><path d="M188 41h20"> | |
</path><path d="M132 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M152 71h0"> | |
</path><path d="M188 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="152" y="60"> | |
</rect><text x="170" y="75"> | |
&&</text></g><path d="M188 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M208 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M218 41h0"> | |
</path><path d="M278 41h0"> | |
</path><rect height="22" width="60" x="218" y="30"> | |
</rect><text x="248" y="45"> | |
infix</text></g><path d="M278 41h10"> | |
</path></g><path d="M288 41h20"> | |
</path></g></g><path d="M 308 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>comp</h1> | |
<svg class="railroad-diagram" height="282" viewBox="0 0 349 282" width="349"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M110 41h0"> | |
</path><rect height="22" width="60" x="50" y="30"> | |
</rect><text x="80" y="45"> | |
order</text></g><path d="M110 41h10"> | |
</path><g> | |
<path d="M120 41h0"> | |
</path><path d="M308 41h0"> | |
</path><path d="M120 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M140 21h148"> | |
</path></g><path d="M288 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M120 41h20"> | |
</path><g> | |
<path d="M140 41h0"> | |
</path><path d="M288 41h0"> | |
</path><g> | |
<path d="M140 41h0"> | |
</path><path d="M216 41h0"> | |
</path><path d="M140 41h20"> | |
</path><g class="terminal"> | |
<path d="M160 41h0"> | |
</path><path d="M196 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="160" y="30"> | |
</rect><text x="178" y="45"> | |
=~</text></g><path d="M196 41h20"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 71h0"> | |
</path><path d="M196 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="160" y="60"> | |
</rect><text x="178" y="75"> | |
!~</text></g><path d="M196 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 101h0"> | |
</path><path d="M196 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="160" y="90"> | |
</rect><text x="178" y="105"> | |
==</text></g><path d="M196 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 131h0"> | |
</path><path d="M196 131h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="160" y="120"> | |
</rect><text x="178" y="135"> | |
!=</text></g><path d="M196 131a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 161h0"> | |
</path><path d="M196 161h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="160" y="150"> | |
</rect><text x="178" y="165"> | |
&!</text></g><path d="M196 161a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 191h4"> | |
</path><path d="M192 191h4"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="164" y="180"> | |
</rect><text x="178" y="195"> | |
^</text></g><path d="M196 191a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 221h4"> | |
</path><path d="M192 221h4"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="164" y="210"> | |
</rect><text x="178" y="225"> | |
&</text></g><path d="M196 221a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"> | |
</path><path d="M140 41a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M160 251h4"> | |
</path><path d="M192 251h4"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="164" y="240"> | |
</rect><text x="178" y="255"> | |
|</text></g><path d="M196 251a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"> | |
</path></g><path d="M216 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M226 41h0"> | |
</path><path d="M278 41h0"> | |
</path><rect height="22" width="52" x="226" y="30"> | |
</rect><text x="252" y="45"> | |
comp</text></g><path d="M278 41h10"> | |
</path></g><path d="M288 41h20"> | |
</path></g><path d="M 308 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>order</h1> | |
<svg class="railroad-diagram" height="522" viewBox="0 0 373 522" width="373"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><path d="M40 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M118 41h0"> | |
</path><rect height="22" width="68" x="50" y="30"> | |
</rect><text x="84" y="45"> | |
prefix</text></g><path d="M118 41h10"> | |
</path><g> | |
<path d="M128 41h0"> | |
</path><path d="M332 41h0"> | |
</path><path d="M128 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M148 21h164"> | |
</path></g><path d="M312 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M128 41h20"> | |
</path><g> | |
<path d="M148 41h0"> | |
</path><path d="M312 41h0"> | |
</path><g> | |
<path d="M148 41h0"> | |
</path><path d="M232 41h0"> | |
</path><path d="M148 41h20"> | |
</path><g class="terminal"> | |
<path d="M168 41h4"> | |
</path><path d="M208 41h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="30"> | |
</rect><text x="190" y="45"> | |
**</text></g><path d="M212 41h20"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 71h8"> | |
</path><path d="M204 71h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="60"> | |
</rect><text x="190" y="75"> | |
*</text></g><path d="M212 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 101h8"> | |
</path><path d="M204 101h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="90"> | |
</rect><text x="190" y="105"> | |
/</text></g><path d="M212 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 131h4"> | |
</path><path d="M208 131h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="120"> | |
</rect><text x="190" y="135"> | |
//</text></g><path d="M212 131a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 161h8"> | |
</path><path d="M204 161h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="150"> | |
</rect><text x="190" y="165"> | |
%</text></g><path d="M212 161a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v130a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 191h8"> | |
</path><path d="M204 191h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="180"> | |
</rect><text x="190" y="195"> | |
+</text></g><path d="M212 191a10 10 0 0 0 10 -10v-130a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 221h8"> | |
</path><path d="M204 221h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="210"> | |
</rect><text x="190" y="225"> | |
-</text></g><path d="M212 221a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v190a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 251h4"> | |
</path><path d="M208 251h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="240"> | |
</rect><text x="190" y="255"> | |
<<</text></g><path d="M212 251a10 10 0 0 0 10 -10v-190a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v220a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 281h4"> | |
</path><path d="M208 281h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="270"> | |
</rect><text x="190" y="285"> | |
>></text></g><path d="M212 281a10 10 0 0 0 10 -10v-220a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v250a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 311h4"> | |
</path><path d="M208 311h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="300"> | |
</rect><text x="190" y="315"> | |
..</text></g><path d="M212 311a10 10 0 0 0 10 -10v-250a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v280a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 341h0"> | |
</path><path d="M212 341h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="168" y="330"> | |
</rect><text x="190" y="345"> | |
..!</text></g><path d="M212 341a10 10 0 0 0 10 -10v-280a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 371h8"> | |
</path><path d="M204 371h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="360"> | |
</rect><text x="190" y="375"> | |
></text></g><path d="M212 371a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v340a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 401h8"> | |
</path><path d="M204 401h8"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="176" y="390"> | |
</rect><text x="190" y="405"> | |
<</text></g><path d="M212 401a10 10 0 0 0 10 -10v-340a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v370a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 431h4"> | |
</path><path d="M208 431h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="420"> | |
</rect><text x="190" y="435"> | |
>=</text></g><path d="M212 431a10 10 0 0 0 10 -10v-370a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v400a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 461h4"> | |
</path><path d="M208 461h4"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="172" y="450"> | |
</rect><text x="190" y="465"> | |
<=</text></g><path d="M212 461a10 10 0 0 0 10 -10v-400a10 10 0 0 1 10 -10"> | |
</path><path d="M148 41a10 10 0 0 1 10 10v430a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M168 491h0"> | |
</path><path d="M212 491h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="168" y="480"> | |
</rect><text x="190" y="495"> | |
<=></text></g><path d="M212 491a10 10 0 0 0 10 -10v-430a10 10 0 0 1 10 -10"> | |
</path></g><path d="M232 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M242 41h0"> | |
</path><path d="M302 41h0"> | |
</path><rect height="22" width="60" x="242" y="30"> | |
</rect><text x="272" y="45"> | |
order</text></g><path d="M302 41h10"> | |
</path></g><path d="M312 41h20"> | |
</path></g><path d="M 332 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>prefix</h1> | |
<svg class="railroad-diagram" height="222" viewBox="0 0 361 222" width="361"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M320 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g> | |
<path d="M60 31h60"> | |
</path><path d="M240 31h60"> | |
</path><path d="M120 31h10"> | |
</path><g class="terminal"> | |
<path d="M130 31h0"> | |
</path><path d="M158 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="130" y="20"> | |
</rect><text x="144" y="35"> | |
-</text></g><path d="M158 31h10"> | |
</path><path d="M168 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M178 31h0"> | |
</path><path d="M230 31h0"> | |
</path><rect height="22" width="52" x="178" y="20"> | |
</rect><text x="204" y="35"> | |
prim</text></g><path d="M230 31h10"> | |
</path></g><path d="M300 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 61h50"> | |
</path><path d="M250 61h50"> | |
</path><g> | |
<path d="M110 61h0"> | |
</path><path d="M178 61h0"> | |
</path><path d="M110 61h20"> | |
</path><g class="terminal"> | |
<path d="M130 61h0"> | |
</path><path d="M158 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="130" y="50"> | |
</rect><text x="144" y="65"> | |
~</text></g><path d="M158 61h20"> | |
</path><path d="M110 61a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M130 91h0"> | |
</path><path d="M158 91h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="130" y="80"> | |
</rect><text x="144" y="95"> | |
!</text></g><path d="M158 91a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M178 61h10"> | |
</path><g class="non-terminal"> | |
<path d="M188 61h0"> | |
</path><path d="M240 61h0"> | |
</path><rect height="22" width="52" x="188" y="50"> | |
</rect><text x="214" y="65"> | |
call</text></g><path d="M240 61h10"> | |
</path></g><path d="M300 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 121h60"> | |
</path><path d="M240 121h60"> | |
</path><path d="M120 121h10"> | |
</path><g class="terminal"> | |
<path d="M130 121h0"> | |
</path><path d="M158 121h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="130" y="110"> | |
</rect><text x="144" y="125"> | |
&</text></g><path d="M158 121h10"> | |
</path><path d="M168 121h10"> | |
</path><g class="non-terminal"> | |
<path d="M178 121h0"> | |
</path><path d="M230 121h0"> | |
</path><rect height="22" width="52" x="178" y="110"> | |
</rect><text x="204" y="125"> | |
noun</text></g><path d="M230 121h10"> | |
</path></g><path d="M300 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 151h56"> | |
</path><path d="M244 151h56"> | |
</path><path d="M116 151h10"> | |
</path><g class="terminal"> | |
<path d="M126 151h0"> | |
</path><path d="M162 151h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="126" y="140"> | |
</rect><text x="144" y="155"> | |
&&</text></g><path d="M162 151h10"> | |
</path><path d="M172 151h10"> | |
</path><g class="non-terminal"> | |
<path d="M182 151h0"> | |
</path><path d="M234 151h0"> | |
</path><rect height="22" width="52" x="182" y="140"> | |
</rect><text x="208" y="155"> | |
noun</text></g><path d="M234 151h10"> | |
</path></g><path d="M300 151a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v140a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 191h0"> | |
</path><path d="M300 191h0"> | |
</path><path d="M60 191h10"> | |
</path><g class="non-terminal"> | |
<path d="M70 191h0"> | |
</path><path d="M122 191h0"> | |
</path><rect height="22" width="52" x="70" y="180"> | |
</rect><text x="96" y="195"> | |
call</text></g><path d="M122 191h10"> | |
</path><g> | |
<path d="M132 191h0"> | |
</path><path d="M300 191h0"> | |
</path><path d="M132 191a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M152 171h128"> | |
</path></g><path d="M280 171a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M132 191h20"> | |
</path><g> | |
<path d="M152 191h0"> | |
</path><path d="M280 191h0"> | |
</path><path d="M152 191h10"> | |
</path><g class="terminal"> | |
<path d="M162 191h0"> | |
</path><path d="M190 191h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="162" y="180"> | |
</rect><text x="176" y="195"> | |
:</text></g><path d="M190 191h10"> | |
</path><path d="M200 191h10"> | |
</path><g class="non-terminal"> | |
<path d="M210 191h0"> | |
</path><path d="M270 191h0"> | |
</path><rect height="22" width="60" x="210" y="180"> | |
</rect><text x="240" y="195"> | |
guard</text></g><path d="M270 191h10"> | |
</path></g><path d="M280 191h20"> | |
</path></g></g><path d="M300 191a10 10 0 0 0 10 -10v-140a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 320 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>call</h1> | |
<svg class="railroad-diagram" height="62" viewBox="0 0 249 62" width="249"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M208 31h0"> | |
</path><path d="M40 31h10"> | |
</path><g class="terminal"> | |
<path d="M50 31h0"> | |
</path><path d="M102 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="50" y="20"> | |
</rect><text x="76" y="35"> | |
prim</text></g><path d="M102 31h10"> | |
</path><path d="M112 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M122 31h0"> | |
</path><path d="M198 31h0"> | |
</path><rect height="22" width="76" x="122" y="20"> | |
</rect><text x="160" y="35"> | |
trailer</text></g><path d="M198 31h10"> | |
</path></g><path d="M 208 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>trailer</h1> | |
<svg class="railroad-diagram" height="280" viewBox="0 0 681 280" width="681"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 20 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 30h0"> | |
</path><path d="M640 30h0"> | |
</path><path d="M40 30h20"> | |
</path><g> | |
<path d="M60 30h560"> | |
</path></g><path d="M620 30h20"> | |
</path><path d="M40 30a10 10 0 0 1 10 10v19a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 69h0"> | |
</path><path d="M620 69h0"> | |
</path><g> | |
<path d="M60 69h0"> | |
</path><path d="M136 69h0"> | |
</path><path d="M60 69h20"> | |
</path><g class="terminal"> | |
<path d="M80 69h4"> | |
</path><path d="M112 69h4"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="84" y="58"> | |
</rect><text x="98" y="73"> | |
.</text></g><path d="M116 69h20"> | |
</path><path d="M60 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 99h0"> | |
</path><path d="M116 99h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="80" y="88"> | |
</rect><text x="98" y="103"> | |
<-</text></g><path d="M116 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M136 69h0"> | |
</path><path d="M276 69h0"> | |
</path><path d="M136 69h20"> | |
</path><g class="terminal"> | |
<path d="M156 69h8"> | |
</path><path d="M248 69h8"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="164" y="58"> | |
</rect><text x="206" y="73"> | |
.String.</text></g><path d="M256 69h20"> | |
</path><path d="M136 69a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M156 99h0"> | |
</path><path d="M256 99h0"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="156" y="88"> | |
</rect><text x="206" y="103"> | |
IDENTIFIER</text></g><path d="M256 99a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M276 69h0"> | |
</path><path d="M620 69h0"> | |
</path><path d="M276 69a10 10 0 0 0 10 -10v-9a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M296 40h304"> | |
</path></g><path d="M600 40a10 10 0 0 1 10 10v9a10 10 0 0 0 10 10"> | |
</path><path d="M276 69h20"> | |
</path><g> | |
<path d="M296 69h0"> | |
</path><path d="M600 69h0"> | |
</path><path d="M296 69h10"> | |
</path><g class="terminal"> | |
<path d="M306 69h0"> | |
</path><path d="M334 69h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="306" y="58"> | |
</rect><text x="320" y="73"> | |
(</text></g><path d="M334 69h10"> | |
</path><g> | |
<path d="M344 69h0"> | |
</path><path d="M456 69h0"> | |
</path><path d="M344 69a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M364 49h72"> | |
</path></g><path d="M436 49a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M344 69h20"> | |
</path><g> | |
<path d="M364 69h0"> | |
</path><path d="M436 69h0"> | |
</path><path d="M364 69h10"> | |
</path><g class="non-terminal"> | |
<path d="M374 69h0"> | |
</path><path d="M426 69h0"> | |
</path><rect height="22" width="52" x="374" y="58"> | |
</rect><text x="400" y="73"> | |
expr</text></g><path d="M426 69h10"> | |
</path><path d="M374 69a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M374 99h12"> | |
</path><path d="M414 99h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="386" y="88"> | |
</rect><text x="400" y="103"> | |
,</text></g><path d="M426 99a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M436 69h20"> | |
</path></g><path d="M456 69h10"> | |
</path><g class="terminal"> | |
<path d="M466 69h0"> | |
</path><path d="M494 69h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="466" y="58"> | |
</rect><text x="480" y="73"> | |
)</text></g><path d="M494 69h10"> | |
</path><path d="M504 69h10"> | |
</path><g class="non-terminal"> | |
<path d="M514 69h0"> | |
</path><path d="M590 69h0"> | |
</path><rect height="22" width="76" x="514" y="58"> | |
</rect><text x="552" y="73"> | |
trailer</text></g><path d="M590 69h10"> | |
</path></g><path d="M600 69h20"> | |
</path></g></g><path d="M620 69a10 10 0 0 0 10 -10v-19a10 10 0 0 1 10 -10"> | |
</path><path d="M40 30a10 10 0 0 1 10 10v89a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 139h128"> | |
</path><path d="M492 139h128"> | |
</path><path d="M188 139h10"> | |
</path><g class="terminal"> | |
<path d="M198 139h0"> | |
</path><path d="M226 139h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="198" y="128"> | |
</rect><text x="212" y="143"> | |
(</text></g><path d="M226 139h10"> | |
</path><g> | |
<path d="M236 139h0"> | |
</path><path d="M348 139h0"> | |
</path><path d="M236 139a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M256 119h72"> | |
</path></g><path d="M328 119a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M236 139h20"> | |
</path><g> | |
<path d="M256 139h0"> | |
</path><path d="M328 139h0"> | |
</path><path d="M256 139h10"> | |
</path><g class="non-terminal"> | |
<path d="M266 139h0"> | |
</path><path d="M318 139h0"> | |
</path><rect height="22" width="52" x="266" y="128"> | |
</rect><text x="292" y="143"> | |
expr</text></g><path d="M318 139h10"> | |
</path><path d="M266 139a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M266 169h12"> | |
</path><path d="M306 169h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="278" y="158"> | |
</rect><text x="292" y="173"> | |
,</text></g><path d="M318 169a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M328 139h20"> | |
</path></g><path d="M348 139h10"> | |
</path><g class="terminal"> | |
<path d="M358 139h0"> | |
</path><path d="M386 139h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="358" y="128"> | |
</rect><text x="372" y="143"> | |
)</text></g><path d="M386 139h10"> | |
</path><path d="M396 139h10"> | |
</path><g class="non-terminal"> | |
<path d="M406 139h0"> | |
</path><path d="M482 139h0"> | |
</path><rect height="22" width="76" x="406" y="128"> | |
</rect><text x="444" y="143"> | |
trailer</text></g><path d="M482 139h10"> | |
</path></g><path d="M620 139a10 10 0 0 0 10 -10v-89a10 10 0 0 1 10 -10"> | |
</path><path d="M40 30a10 10 0 0 1 10 10v159a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 209h128"> | |
</path><path d="M492 209h128"> | |
</path><path d="M188 209h10"> | |
</path><g class="terminal"> | |
<path d="M198 209h0"> | |
</path><path d="M226 209h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="198" y="198"> | |
</rect><text x="212" y="213"> | |
[</text></g><path d="M226 209h10"> | |
</path><g> | |
<path d="M236 209h0"> | |
</path><path d="M348 209h0"> | |
</path><path d="M236 209a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M256 189h72"> | |
</path></g><path d="M328 189a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M236 209h20"> | |
</path><g> | |
<path d="M256 209h0"> | |
</path><path d="M328 209h0"> | |
</path><path d="M256 209h10"> | |
</path><g class="non-terminal"> | |
<path d="M266 209h0"> | |
</path><path d="M318 209h0"> | |
</path><rect height="22" width="52" x="266" y="198"> | |
</rect><text x="292" y="213"> | |
expr</text></g><path d="M318 209h10"> | |
</path><path d="M266 209a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M266 239h12"> | |
</path><path d="M306 239h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="278" y="228"> | |
</rect><text x="292" y="243"> | |
,</text></g><path d="M318 239a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M328 209h20"> | |
</path></g><path d="M348 209h10"> | |
</path><g class="terminal"> | |
<path d="M358 209h0"> | |
</path><path d="M386 209h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="358" y="198"> | |
</rect><text x="372" y="213"> | |
]</text></g><path d="M386 209h10"> | |
</path><path d="M396 209h10"> | |
</path><g class="non-terminal"> | |
<path d="M406 209h0"> | |
</path><path d="M482 209h0"> | |
</path><rect height="22" width="76" x="406" y="198"> | |
</rect><text x="444" y="213"> | |
trailer</text></g><path d="M482 209h10"> | |
</path></g><path d="M620 209a10 10 0 0 0 10 -10v-159a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 640 30 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>prim</h1> | |
<svg class="railroad-diagram" height="532" viewBox="0 0 641 532" width="641"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M600 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g class="terminal"> | |
<path d="M60 31h218"> | |
</path><path d="M362 31h218"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="278" y="20"> | |
</rect><text x="320" y="35"> | |
.String.</text></g><path d="M580 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 61h230"> | |
</path><path d="M350 61h230"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="290" y="50"> | |
</rect><text x="320" y="65"> | |
.int.</text></g><path d="M580 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 91h214"> | |
</path><path d="M366 91h214"> | |
</path><rect height="22" rx="10" ry="10" width="92" x="274" y="80"> | |
</rect><text x="320" y="95"> | |
.float64.</text></g><path d="M580 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 121h226"> | |
</path><path d="M354 121h226"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="286" y="110"> | |
</rect><text x="320" y="125"> | |
.char.</text></g><path d="M580 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v110a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 161h122"> | |
</path><path d="M458 161h122"> | |
</path><g> | |
<path d="M182 161h0"> | |
</path><path d="M322 161h0"> | |
</path><path d="M182 161a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M202 141h100"> | |
</path></g><path d="M302 141a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M182 161h20"> | |
</path><g class="terminal"> | |
<path d="M202 161h0"> | |
</path><path d="M302 161h0"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="202" y="150"> | |
</rect><text x="252" y="165"> | |
IDENTIFIER</text></g><path d="M302 161h20"> | |
</path></g><path d="M322 161h10"> | |
</path><g class="non-terminal"> | |
<path d="M332 161h0"> | |
</path><path d="M448 161h0"> | |
</path><rect height="22" width="116" x="332" y="150"> | |
</rect><text x="390" y="165"> | |
quasiliteral</text></g><path d="M448 161h10"> | |
</path></g><path d="M580 161a10 10 0 0 0 10 -10v-110a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v140a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M60 191h210"> | |
</path><path d="M370 191h210"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="270" y="180"> | |
</rect><text x="320" y="195"> | |
IDENTIFIER</text></g><path d="M580 191a10 10 0 0 0 10 -10v-140a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v170a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 221h180"> | |
</path><path d="M400 221h180"> | |
</path><path d="M240 221h10"> | |
</path><g class="terminal"> | |
<path d="M250 221h0"> | |
</path><path d="M286 221h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="250" y="210"> | |
</rect><text x="268" y="225"> | |
::</text></g><path d="M286 221h10"> | |
</path><path d="M296 221h10"> | |
</path><g class="terminal"> | |
<path d="M306 221h0"> | |
</path><path d="M390 221h0"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="306" y="210"> | |
</rect><text x="348" y="225"> | |
.String.</text></g><path d="M390 221h10"> | |
</path></g><path d="M580 221a10 10 0 0 0 10 -10v-170a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v200a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 251h176"> | |
</path><path d="M404 251h176"> | |
</path><path d="M236 251h10"> | |
</path><g class="terminal"> | |
<path d="M246 251h0"> | |
</path><path d="M274 251h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="246" y="240"> | |
</rect><text x="260" y="255"> | |
(</text></g><path d="M274 251h10"> | |
</path><path d="M284 251h10"> | |
</path><g class="non-terminal"> | |
<path d="M294 251h0"> | |
</path><path d="M346 251h0"> | |
</path><rect height="22" width="52" x="294" y="240"> | |
</rect><text x="320" y="255"> | |
expr</text></g><path d="M346 251h10"> | |
</path><path d="M356 251h10"> | |
</path><g class="terminal"> | |
<path d="M366 251h0"> | |
</path><path d="M394 251h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="366" y="240"> | |
</rect><text x="380" y="255"> | |
)</text></g><path d="M394 251h10"> | |
</path></g><path d="M580 251a10 10 0 0 0 10 -10v-200a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v240a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 291h156"> | |
</path><path d="M424 291h156"> | |
</path><path d="M216 291h10"> | |
</path><g class="terminal"> | |
<path d="M226 291h0"> | |
</path><path d="M254 291h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="226" y="280"> | |
</rect><text x="240" y="295"> | |
{</text></g><path d="M254 291h10"> | |
</path><g> | |
<path d="M264 291h0"> | |
</path><path d="M376 291h0"> | |
</path><path d="M264 291a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M284 271h72"> | |
</path></g><path d="M356 271a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M264 291h20"> | |
</path><g> | |
<path d="M284 291h0"> | |
</path><path d="M356 291h0"> | |
</path><path d="M284 291h10"> | |
</path><g class="non-terminal"> | |
<path d="M294 291h0"> | |
</path><path d="M346 291h0"> | |
</path><rect height="22" width="52" x="294" y="280"> | |
</rect><text x="320" y="295"> | |
expr</text></g><path d="M346 291h10"> | |
</path><path d="M294 291a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M294 321h12"> | |
</path><path d="M334 321h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="306" y="310"> | |
</rect><text x="320" y="325"> | |
;</text></g><path d="M346 321a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M356 291h20"> | |
</path></g><path d="M376 291h10"> | |
</path><g class="terminal"> | |
<path d="M386 291h0"> | |
</path><path d="M414 291h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="386" y="280"> | |
</rect><text x="400" y="295"> | |
}</text></g><path d="M414 291h10"> | |
</path></g><path d="M580 291a10 10 0 0 0 10 -10v-240a10 10 0 0 1 10 -10"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v310a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 361h0"> | |
</path><path d="M580 361h0"> | |
</path><path d="M60 361h10"> | |
</path><g class="terminal"> | |
<path d="M70 361h0"> | |
</path><path d="M98 361h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="70" y="350"> | |
</rect><text x="84" y="365"> | |
[</text></g><path d="M98 361h10"> | |
</path><g> | |
<path d="M108 361h0"> | |
</path><path d="M532 361h0"> | |
</path><path d="M108 361h20"> | |
</path><g> | |
<path d="M128 361h136"> | |
</path><path d="M376 361h136"> | |
</path><path d="M264 361a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M284 341h72"> | |
</path></g><path d="M356 341a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M264 361h20"> | |
</path><g> | |
<path d="M284 361h0"> | |
</path><path d="M356 361h0"> | |
</path><path d="M284 361h10"> | |
</path><g class="non-terminal"> | |
<path d="M294 361h0"> | |
</path><path d="M346 361h0"> | |
</path><rect height="22" width="52" x="294" y="350"> | |
</rect><text x="320" y="365"> | |
expr</text></g><path d="M346 361h10"> | |
</path><path d="M294 361a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M294 391h12"> | |
</path><path d="M334 391h12"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="306" y="380"> | |
</rect><text x="320" y="395"> | |
,</text></g><path d="M346 391a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M356 361h20"> | |
</path></g><path d="M512 361h20"> | |
</path><path d="M108 361a10 10 0 0 1 10 10v50a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M128 431h62"> | |
</path><path d="M450 431h62"> | |
</path><path d="M190 431a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M210 411h220"> | |
</path></g><path d="M430 411a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M190 431h20"> | |
</path><g> | |
<path d="M210 431h0"> | |
</path><path d="M430 431h0"> | |
</path><path d="M210 431h10"> | |
</path><g> | |
<path d="M220 431h0"> | |
</path><path d="M420 431h0"> | |
</path><path d="M220 431h10"> | |
</path><g class="non-terminal"> | |
<path d="M230 431h0"> | |
</path><path d="M282 431h0"> | |
</path><rect height="22" width="52" x="230" y="420"> | |
</rect><text x="256" y="435"> | |
expr</text></g><path d="M282 431h10"> | |
</path><path d="M292 431h10"> | |
</path><g class="terminal"> | |
<path d="M302 431h0"> | |
</path><path d="M338 431h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="302" y="420"> | |
</rect><text x="320" y="435"> | |
=></text></g><path d="M338 431h10"> | |
</path><path d="M348 431h10"> | |
</path><g class="non-terminal"> | |
<path d="M358 431h0"> | |
</path><path d="M410 431h0"> | |
</path><rect height="22" width="52" x="358" y="420"> | |
</rect><text x="384" y="435"> | |
expr</text></g><path d="M410 431h10"> | |
</path></g><path d="M420 431h10"> | |
</path><path d="M220 431a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M220 461h86"> | |
</path><path d="M334 461h86"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="306" y="450"> | |
</rect><text x="320" y="465"> | |
,</text></g><path d="M420 461a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M430 431h20"> | |
</path></g><path d="M512 431a10 10 0 0 0 10 -10v-50a10 10 0 0 1 10 -10"> | |
</path><path d="M108 361a10 10 0 0 1 10 10v120a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M128 501h0"> | |
</path><path d="M512 501h0"> | |
</path><path d="M128 501h10"> | |
</path><g class="non-terminal"> | |
<path d="M138 501h0"> | |
</path><path d="M262 501h0"> | |
</path><rect height="22" width="124" x="138" y="490"> | |
</rect><text x="200" y="505"> | |
comprehension</text></g><path d="M262 501h10"> | |
</path><path d="M272 501h10"> | |
</path><g class="non-terminal"> | |
<path d="M282 501h0"> | |
</path><path d="M334 501h0"> | |
</path><rect height="22" width="52" x="282" y="490"> | |
</rect><text x="308" y="505"> | |
expr</text></g><path d="M334 501h10"> | |
</path><g> | |
<path d="M344 501h0"> | |
</path><path d="M512 501h0"> | |
</path><path d="M344 501a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M364 481h128"> | |
</path></g><path d="M492 481a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M344 501h20"> | |
</path><g> | |
<path d="M364 501h0"> | |
</path><path d="M492 501h0"> | |
</path><path d="M364 501h10"> | |
</path><g class="terminal"> | |
<path d="M374 501h0"> | |
</path><path d="M410 501h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="374" y="490"> | |
</rect><text x="392" y="505"> | |
=></text></g><path d="M410 501h10"> | |
</path><path d="M420 501h10"> | |
</path><g class="non-terminal"> | |
<path d="M430 501h0"> | |
</path><path d="M482 501h0"> | |
</path><rect height="22" width="52" x="430" y="490"> | |
</rect><text x="456" y="505"> | |
expr</text></g><path d="M482 501h10"> | |
</path></g><path d="M492 501h20"> | |
</path></g></g><path d="M512 501a10 10 0 0 0 10 -10v-120a10 10 0 0 1 10 -10"> | |
</path></g><path d="M532 361h10"> | |
</path><g class="terminal"> | |
<path d="M542 361h0"> | |
</path><path d="M570 361h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="542" y="350"> | |
</rect><text x="556" y="365"> | |
]</text></g><path d="M570 361h10"> | |
</path></g><path d="M580 361a10 10 0 0 0 10 -10v-310a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 600 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>comprehension</h1> | |
<svg class="railroad-diagram" height="72" viewBox="0 0 825 72" width="825"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M784 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M94 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="50" y="30"> | |
</rect><text x="72" y="45"> | |
for</text></g><path d="M94 41h10"> | |
</path><path d="M104 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M114 41h0"> | |
</path><path d="M190 41h0"> | |
</path><rect height="22" width="76" x="114" y="30"> | |
</rect><text x="152" y="45"> | |
pattern</text></g><path d="M190 41h10"> | |
</path><g> | |
<path d="M200 41h0"> | |
</path><path d="M392 41h0"> | |
</path><path d="M200 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M220 21h152"> | |
</path></g><path d="M372 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M200 41h20"> | |
</path><g> | |
<path d="M220 41h0"> | |
</path><path d="M372 41h0"> | |
</path><path d="M220 41h10"> | |
</path><g class="terminal"> | |
<path d="M230 41h0"> | |
</path><path d="M266 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="230" y="30"> | |
</rect><text x="248" y="45"> | |
=></text></g><path d="M266 41h10"> | |
</path><path d="M276 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M286 41h0"> | |
</path><path d="M362 41h0"> | |
</path><rect height="22" width="76" x="286" y="30"> | |
</rect><text x="324" y="45"> | |
pattern</text></g><path d="M362 41h10"> | |
</path></g><path d="M372 41h20"> | |
</path></g><path d="M392 41h10"> | |
</path><g class="terminal"> | |
<path d="M402 41h0"> | |
</path><path d="M438 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="402" y="30"> | |
</rect><text x="420" y="45"> | |
in</text></g><path d="M438 41h10"> | |
</path><path d="M448 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M458 41h0"> | |
</path><path d="M510 41h0"> | |
</path><rect height="22" width="52" x="458" y="30"> | |
</rect><text x="484" y="45"> | |
comp</text></g><path d="M510 41h10"> | |
</path><g> | |
<path d="M520 41h0"> | |
</path><path d="M784 41h0"> | |
</path><path d="M520 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M540 21h224"> | |
</path></g><path d="M764 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M520 41h20"> | |
</path><g> | |
<path d="M540 41h0"> | |
</path><path d="M764 41h0"> | |
</path><path d="M540 41h10"> | |
</path><g class="terminal"> | |
<path d="M550 41h0"> | |
</path><path d="M586 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="550" y="30"> | |
</rect><text x="568" y="45"> | |
if</text></g><path d="M586 41h10"> | |
</path><path d="M596 41h10"> | |
</path><g class="terminal"> | |
<path d="M606 41h0"> | |
</path><path d="M634 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="606" y="30"> | |
</rect><text x="620" y="45"> | |
(</text></g><path d="M634 41h10"> | |
</path><path d="M644 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M654 41h0"> | |
</path><path d="M706 41h0"> | |
</path><rect height="22" width="52" x="654" y="30"> | |
</rect><text x="680" y="45"> | |
expr</text></g><path d="M706 41h10"> | |
</path><path d="M716 41h10"> | |
</path><g class="terminal"> | |
<path d="M726 41h0"> | |
</path><path d="M754 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="726" y="30"> | |
</rect><text x="740" y="45"> | |
)</text></g><path d="M754 41h10"> | |
</path></g><path d="M764 41h20"> | |
</path></g></g><path d="M 784 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>pattern</h1> | |
<svg class="railroad-diagram" height="292" viewBox="0 0 705 292" width="705"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M664 41h0"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M408 41h0"> | |
</path><path d="M40 41h20"> | |
</path><g class="non-terminal"> | |
<path d="M60 41h110"> | |
</path><path d="M278 41h110"> | |
</path><rect height="22" width="108" x="170" y="30"> | |
</rect><text x="224" y="45"> | |
namePattern</text></g><path d="M388 41h20"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v20a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 81h26"> | |
</path><path d="M362 81h26"> | |
</path><g> | |
<path d="M86 81h0"> | |
</path><path d="M226 81h0"> | |
</path><path d="M86 81a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M106 61h100"> | |
</path></g><path d="M206 61a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M86 81h20"> | |
</path><g class="terminal"> | |
<path d="M106 81h0"> | |
</path><path d="M206 81h0"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="106" y="70"> | |
</rect><text x="156" y="85"> | |
IDENTIFIER</text></g><path d="M206 81h20"> | |
</path></g><path d="M226 81h10"> | |
</path><g class="non-terminal"> | |
<path d="M236 81h0"> | |
</path><path d="M352 81h0"> | |
</path><rect height="22" width="116" x="236" y="70"> | |
</rect><text x="294" y="85"> | |
quasiLiteral</text></g><path d="M352 81h10"> | |
</path></g><path d="M388 81a10 10 0 0 0 10 -10v-20a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v50a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 111h90"> | |
</path><path d="M298 111h90"> | |
</path><g> | |
<path d="M150 111h0"> | |
</path><path d="M226 111h0"> | |
</path><path d="M150 111h20"> | |
</path><g class="terminal"> | |
<path d="M170 111h0"> | |
</path><path d="M206 111h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="170" y="100"> | |
</rect><text x="188" y="115"> | |
==</text></g><path d="M206 111h20"> | |
</path><path d="M150 111a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M170 141h0"> | |
</path><path d="M206 141h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="170" y="130"> | |
</rect><text x="188" y="145"> | |
!=</text></g><path d="M206 141a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M226 111h10"> | |
</path><g class="non-terminal"> | |
<path d="M236 111h0"> | |
</path><path d="M288 111h0"> | |
</path><rect height="22" width="52" x="236" y="100"> | |
</rect><text x="262" y="115"> | |
prim</text></g><path d="M288 111h10"> | |
</path></g><path d="M388 111a10 10 0 0 0 10 -10v-50a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v110a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 171h76"> | |
</path><path d="M312 171h76"> | |
</path><path d="M136 171h10"> | |
</path><g class="terminal"> | |
<path d="M146 171h0"> | |
</path><path d="M174 171h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="146" y="160"> | |
</rect><text x="160" y="175"> | |
_</text></g><path d="M174 171h10"> | |
</path><path d="M184 171h10"> | |
</path><g class="terminal"> | |
<path d="M194 171h0"> | |
</path><path d="M222 171h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="194" y="160"> | |
</rect><text x="208" y="175"> | |
:</text></g><path d="M222 171h10"> | |
</path><path d="M232 171h10"> | |
</path><g class="non-terminal"> | |
<path d="M242 171h0"> | |
</path><path d="M302 171h0"> | |
</path><rect height="22" width="60" x="242" y="160"> | |
</rect><text x="272" y="175"> | |
guard</text></g><path d="M302 171h10"> | |
</path></g><path d="M388 171a10 10 0 0 0 10 -10v-110a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v140a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 201h0"> | |
</path><path d="M388 201h0"> | |
</path><path d="M60 201h10"> | |
</path><g class="terminal"> | |
<path d="M70 201h0"> | |
</path><path d="M114 201h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="70" y="190"> | |
</rect><text x="92" y="205"> | |
via</text></g><path d="M114 201h10"> | |
</path><path d="M124 201h10"> | |
</path><g class="terminal"> | |
<path d="M134 201h0"> | |
</path><path d="M162 201h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="134" y="190"> | |
</rect><text x="148" y="205"> | |
(</text></g><path d="M162 201h10"> | |
</path><path d="M172 201h10"> | |
</path><g class="non-terminal"> | |
<path d="M182 201h0"> | |
</path><path d="M234 201h0"> | |
</path><rect height="22" width="52" x="182" y="190"> | |
</rect><text x="208" y="205"> | |
expr</text></g><path d="M234 201h10"> | |
</path><path d="M244 201h10"> | |
</path><g class="terminal"> | |
<path d="M254 201h0"> | |
</path><path d="M282 201h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="254" y="190"> | |
</rect><text x="268" y="205"> | |
)</text></g><path d="M282 201h10"> | |
</path><path d="M292 201h10"> | |
</path><g class="non-terminal"> | |
<path d="M302 201h0"> | |
</path><path d="M378 201h0"> | |
</path><rect height="22" width="76" x="302" y="190"> | |
</rect><text x="340" y="205"> | |
pattern</text></g><path d="M378 201h10"> | |
</path></g><path d="M388 201a10 10 0 0 0 10 -10v-140a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v170a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 231h30"> | |
</path><path d="M358 231h30"> | |
</path><path d="M90 231h10"> | |
</path><g class="terminal"> | |
<path d="M100 231h0"> | |
</path><path d="M128 231h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="100" y="220"> | |
</rect><text x="114" y="235"> | |
[</text></g><path d="M128 231h10"> | |
</path><path d="M138 231h10"> | |
</path><g> | |
<path d="M148 231h0"> | |
</path><path d="M300 231h0"> | |
</path><path d="M148 231h10"> | |
</path><g class="non-terminal"> | |
<path d="M158 231h0"> | |
</path><path d="M290 231h0"> | |
</path><rect height="22" width="132" x="158" y="220"> | |
</rect><text x="224" y="235"> | |
mapPatternItem</text></g><path d="M290 231h10"> | |
</path><path d="M158 231a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M158 261h52"> | |
</path><path d="M238 261h52"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="210" y="250"> | |
</rect><text x="224" y="265"> | |
,</text></g><path d="M290 261a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M300 231h10"> | |
</path><path d="M310 231h10"> | |
</path><g class="terminal"> | |
<path d="M320 231h0"> | |
</path><path d="M348 231h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="320" y="220"> | |
</rect><text x="334" y="235"> | |
]</text></g><path d="M348 231h10"> | |
</path></g><path d="M388 231a10 10 0 0 0 10 -10v-170a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M408 41h0"> | |
</path><path d="M664 41h0"> | |
</path><path d="M408 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M428 21h216"> | |
</path></g><path d="M644 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M408 41h20"> | |
</path><g> | |
<path d="M428 41h0"> | |
</path><path d="M644 41h0"> | |
</path><path d="M428 41h10"> | |
</path><g class="terminal"> | |
<path d="M438 41h0"> | |
</path><path d="M466 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="438" y="30"> | |
</rect><text x="452" y="45"> | |
?</text></g><path d="M466 41h10"> | |
</path><path d="M476 41h10"> | |
</path><g class="terminal"> | |
<path d="M486 41h0"> | |
</path><path d="M514 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="486" y="30"> | |
</rect><text x="500" y="45"> | |
(</text></g><path d="M514 41h10"> | |
</path><path d="M524 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M534 41h0"> | |
</path><path d="M586 41h0"> | |
</path><rect height="22" width="52" x="534" y="30"> | |
</rect><text x="560" y="45"> | |
expr</text></g><path d="M586 41h10"> | |
</path><path d="M596 41h10"> | |
</path><g class="terminal"> | |
<path d="M606 41h0"> | |
</path><path d="M634 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="606" y="30"> | |
</rect><text x="620" y="45"> | |
)</text></g><path d="M634 41h10"> | |
</path></g><path d="M644 41h20"> | |
</path></g></g><path d="M 664 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>namePattern</h1> | |
<svg class="railroad-diagram" height="252" viewBox="0 0 489 252" width="489"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M448 41h0"> | |
</path><path d="M40 41h20"> | |
</path><g> | |
<path d="M60 41h0"> | |
</path><path d="M428 41h0"> | |
</path><g> | |
<path d="M60 41h0"> | |
</path><path d="M260 41h0"> | |
</path><path d="M60 41h20"> | |
</path><g> | |
<path d="M80 41h0"> | |
</path><path d="M240 41h0"> | |
</path><path d="M80 41h10"> | |
</path><g class="terminal"> | |
<path d="M90 41h0"> | |
</path><path d="M126 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="90" y="30"> | |
</rect><text x="108" y="45"> | |
::</text></g><path d="M126 41h10"> | |
</path><path d="M136 41h10"> | |
</path><g class="terminal"> | |
<path d="M146 41h0"> | |
</path><path d="M230 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="146" y="30"> | |
</rect><text x="188" y="45"> | |
.String.</text></g><path d="M230 41h10"> | |
</path></g><path d="M240 41h20"> | |
</path><path d="M60 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 71h30"> | |
</path><path d="M210 71h30"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="110" y="60"> | |
</rect><text x="160" y="75"> | |
IDENTIFIER</text></g><path d="M240 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M260 41h0"> | |
</path><path d="M428 41h0"> | |
</path><path d="M260 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M280 21h128"> | |
</path></g><path d="M408 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M260 41h20"> | |
</path><g> | |
<path d="M280 41h0"> | |
</path><path d="M408 41h0"> | |
</path><path d="M280 41h10"> | |
</path><g class="terminal"> | |
<path d="M290 41h0"> | |
</path><path d="M318 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="290" y="30"> | |
</rect><text x="304" y="45"> | |
:</text></g><path d="M318 41h10"> | |
</path><path d="M328 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M338 41h0"> | |
</path><path d="M398 41h0"> | |
</path><rect height="22" width="60" x="338" y="30"> | |
</rect><text x="368" y="45"> | |
guard</text></g><path d="M398 41h10"> | |
</path></g><path d="M408 41h20"> | |
</path></g></g><path d="M428 41h20"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v50a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 111h32"> | |
</path><path d="M396 111h32"> | |
</path><path d="M92 111h10"> | |
</path><g class="terminal"> | |
<path d="M102 111h0"> | |
</path><path d="M146 111h0"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="102" y="100"> | |
</rect><text x="124" y="115"> | |
var</text></g><path d="M146 111h10"> | |
</path><path d="M156 111h10"> | |
</path><g class="non-terminal"> | |
<path d="M166 111h0"> | |
</path><path d="M218 111h0"> | |
</path><rect height="22" width="52" x="166" y="100"> | |
</rect><text x="192" y="115"> | |
noun</text></g><path d="M218 111h10"> | |
</path><g> | |
<path d="M228 111h0"> | |
</path><path d="M396 111h0"> | |
</path><path d="M228 111a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M248 91h128"> | |
</path></g><path d="M376 91a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M228 111h20"> | |
</path><g> | |
<path d="M248 111h0"> | |
</path><path d="M376 111h0"> | |
</path><path d="M248 111h10"> | |
</path><g class="terminal"> | |
<path d="M258 111h0"> | |
</path><path d="M286 111h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="258" y="100"> | |
</rect><text x="272" y="115"> | |
:</text></g><path d="M286 111h10"> | |
</path><path d="M296 111h10"> | |
</path><g class="non-terminal"> | |
<path d="M306 111h0"> | |
</path><path d="M366 111h0"> | |
</path><rect height="22" width="60" x="306" y="100"> | |
</rect><text x="336" y="115"> | |
guard</text></g><path d="M366 111h10"> | |
</path></g><path d="M376 111h20"> | |
</path></g></g><path d="M428 111a10 10 0 0 0 10 -10v-50a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v90a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 151h40"> | |
</path><path d="M388 151h40"> | |
</path><path d="M100 151h10"> | |
</path><g class="terminal"> | |
<path d="M110 151h0"> | |
</path><path d="M138 151h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="110" y="140"> | |
</rect><text x="124" y="155"> | |
&</text></g><path d="M138 151h10"> | |
</path><path d="M148 151h10"> | |
</path><g class="non-terminal"> | |
<path d="M158 151h0"> | |
</path><path d="M210 151h0"> | |
</path><rect height="22" width="52" x="158" y="140"> | |
</rect><text x="184" y="155"> | |
noun</text></g><path d="M210 151h10"> | |
</path><g> | |
<path d="M220 151h0"> | |
</path><path d="M388 151h0"> | |
</path><path d="M220 151a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M240 131h128"> | |
</path></g><path d="M368 131a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M220 151h20"> | |
</path><g> | |
<path d="M240 151h0"> | |
</path><path d="M368 151h0"> | |
</path><path d="M240 151h10"> | |
</path><g class="terminal"> | |
<path d="M250 151h0"> | |
</path><path d="M278 151h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="250" y="140"> | |
</rect><text x="264" y="155"> | |
:</text></g><path d="M278 151h10"> | |
</path><path d="M288 151h10"> | |
</path><g class="non-terminal"> | |
<path d="M298 151h0"> | |
</path><path d="M358 151h0"> | |
</path><rect height="22" width="60" x="298" y="140"> | |
</rect><text x="328" y="155"> | |
guard</text></g><path d="M358 151h10"> | |
</path></g><path d="M368 151h20"> | |
</path></g></g><path d="M428 151a10 10 0 0 0 10 -10v-90a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v120a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 181h120"> | |
</path><path d="M308 181h120"> | |
</path><path d="M180 181h10"> | |
</path><g class="terminal"> | |
<path d="M190 181h0"> | |
</path><path d="M226 181h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="190" y="170"> | |
</rect><text x="208" y="185"> | |
&&</text></g><path d="M226 181h10"> | |
</path><path d="M236 181h10"> | |
</path><g class="non-terminal"> | |
<path d="M246 181h0"> | |
</path><path d="M298 181h0"> | |
</path><rect height="22" width="52" x="246" y="170"> | |
</rect><text x="272" y="185"> | |
noun</text></g><path d="M298 181h10"> | |
</path></g><path d="M428 181a10 10 0 0 0 10 -10v-120a10 10 0 0 1 10 -10"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v160a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 221h28"> | |
</path><path d="M400 221h28"> | |
</path><path d="M88 221h10"> | |
</path><g class="terminal"> | |
<path d="M98 221h0"> | |
</path><path d="M150 221h0"> | |
</path><rect height="22" rx="10" ry="10" width="52" x="98" y="210"> | |
</rect><text x="124" y="225"> | |
bind</text></g><path d="M150 221h10"> | |
</path><path d="M160 221h10"> | |
</path><g class="non-terminal"> | |
<path d="M170 221h0"> | |
</path><path d="M222 221h0"> | |
</path><rect height="22" width="52" x="170" y="210"> | |
</rect><text x="196" y="225"> | |
noun</text></g><path d="M222 221h10"> | |
</path><g> | |
<path d="M232 221h0"> | |
</path><path d="M400 221h0"> | |
</path><path d="M232 221a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M252 201h128"> | |
</path></g><path d="M380 201a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M232 221h20"> | |
</path><g> | |
<path d="M252 221h0"> | |
</path><path d="M380 221h0"> | |
</path><path d="M252 221h10"> | |
</path><g class="terminal"> | |
<path d="M262 221h0"> | |
</path><path d="M290 221h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="262" y="210"> | |
</rect><text x="276" y="225"> | |
:</text></g><path d="M290 221h10"> | |
</path><path d="M300 221h10"> | |
</path><g class="non-terminal"> | |
<path d="M310 221h0"> | |
</path><path d="M370 221h0"> | |
</path><rect height="22" width="60" x="310" y="210"> | |
</rect><text x="340" y="225"> | |
guard</text></g><path d="M370 221h10"> | |
</path></g><path d="M380 221h20"> | |
</path></g></g><path d="M428 221a10 10 0 0 0 10 -10v-160a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 448 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>noun</h1> | |
<svg class="railroad-diagram" height="92" viewBox="0 0 281 92" width="281"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M240 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g class="terminal"> | |
<path d="M60 31h30"> | |
</path><path d="M190 31h30"> | |
</path><rect height="22" rx="10" ry="10" width="100" x="90" y="20"> | |
</rect><text x="140" y="35"> | |
IDENTIFIER</text></g><path d="M220 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 61h0"> | |
</path><path d="M220 61h0"> | |
</path><path d="M60 61h10"> | |
</path><g class="terminal"> | |
<path d="M70 61h0"> | |
</path><path d="M106 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="70" y="50"> | |
</rect><text x="88" y="65"> | |
::</text></g><path d="M106 61h10"> | |
</path><path d="M116 61h10"> | |
</path><g class="terminal"> | |
<path d="M126 61h0"> | |
</path><path d="M210 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="126" y="50"> | |
</rect><text x="168" y="65"> | |
.String.</text></g><path d="M210 61h10"> | |
</path></g><path d="M220 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 240 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>quasiliteral</h1> | |
<svg class="railroad-diagram" height="200" viewBox="0 0 453 200" width="453"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M412 41h0"> | |
</path><path d="M40 41h10"> | |
</path><g class="terminal"> | |
<path d="M50 41h0"> | |
</path><path d="M78 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="50" y="30"> | |
</rect><text x="64" y="45"> | |
`</text></g><path d="M78 41h10"> | |
</path><g> | |
<path d="M88 41h0"> | |
</path><path d="M364 41h0"> | |
</path><path d="M88 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M108 21h236"> | |
</path></g><path d="M344 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M88 41h20"> | |
</path><g> | |
<path d="M108 41h0"> | |
</path><path d="M344 41h0"> | |
</path><path d="M108 41h10"> | |
</path><g> | |
<path d="M118 41h0"> | |
</path><path d="M334 41h0"> | |
</path><path d="M118 41h20"> | |
</path><g class="terminal"> | |
<path d="M138 41h66"> | |
</path><path d="M248 41h66"> | |
</path><rect height="22" rx="10" ry="10" width="44" x="204" y="30"> | |
</rect><text x="226" y="45"> | |
...</text></g><path d="M314 41h20"> | |
</path><path d="M118 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M138 71h54"> | |
</path><path d="M260 71h54"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="192" y="60"> | |
</rect><text x="226" y="75"> | |
$IDENT</text></g><path d="M314 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M118 41a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M138 101h0"> | |
</path><path d="M314 101h0"> | |
</path><path d="M138 101h10"> | |
</path><g class="terminal"> | |
<path d="M148 101h0"> | |
</path><path d="M184 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="148" y="90"> | |
</rect><text x="166" y="105"> | |
${</text></g><path d="M184 101h10"> | |
</path><path d="M194 101h10"> | |
</path><g class="non-terminal"> | |
<path d="M204 101h0"> | |
</path><path d="M256 101h0"> | |
</path><rect height="22" width="52" x="204" y="90"> | |
</rect><text x="230" y="105"> | |
expr</text></g><path d="M256 101h10"> | |
</path><path d="M266 101h10"> | |
</path><g class="terminal"> | |
<path d="M276 101h0"> | |
</path><path d="M304 101h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="276" y="90"> | |
</rect><text x="290" y="105"> | |
}</text></g><path d="M304 101h10"> | |
</path></g><path d="M314 101a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M118 41a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M138 131h54"> | |
</path><path d="M260 131h54"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="192" y="120"> | |
</rect><text x="226" y="135"> | |
@IDENT</text></g><path d="M314 131a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M118 41a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M138 161h0"> | |
</path><path d="M314 161h0"> | |
</path><path d="M138 161h10"> | |
</path><g class="terminal"> | |
<path d="M148 161h0"> | |
</path><path d="M184 161h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="148" y="150"> | |
</rect><text x="166" y="165"> | |
@{</text></g><path d="M184 161h10"> | |
</path><path d="M194 161h10"> | |
</path><g class="non-terminal"> | |
<path d="M204 161h0"> | |
</path><path d="M256 161h0"> | |
</path><rect height="22" width="52" x="204" y="150"> | |
</rect><text x="230" y="165"> | |
expr</text></g><path d="M256 161h10"> | |
</path><path d="M266 161h10"> | |
</path><g class="terminal"> | |
<path d="M276 161h0"> | |
</path><path d="M304 161h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="276" y="150"> | |
</rect><text x="290" y="165"> | |
}</text></g><path d="M304 161h10"> | |
</path></g><path d="M314 161a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path></g><path d="M334 41h10"> | |
</path><path d="M118 41a10 10 0 0 0 -10 10v119a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M118 180h216"> | |
</path></g><path d="M334 180a10 10 0 0 0 10 -10v-119a10 10 0 0 0 -10 -10"> | |
</path></g><path d="M344 41h20"> | |
</path></g><path d="M364 41h10"> | |
</path><g class="terminal"> | |
<path d="M374 41h0"> | |
</path><path d="M402 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="374" y="30"> | |
</rect><text x="388" y="45"> | |
`</text></g><path d="M402 41h10"> | |
</path></g><path d="M 412 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>mapPatternItem</h1> | |
<svg class="railroad-diagram" height="222" viewBox="0 0 657 222" width="657"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M616 41h0"> | |
</path><g> | |
<path d="M40 41h0"> | |
</path><path d="M440 41h0"> | |
</path><path d="M40 41h20"> | |
</path><g> | |
<path d="M60 41h88"> | |
</path><path d="M332 41h88"> | |
</path><path d="M148 41h10"> | |
</path><g class="terminal"> | |
<path d="M158 41h0"> | |
</path><path d="M194 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="158" y="30"> | |
</rect><text x="176" y="45"> | |
=></text></g><path d="M194 41h10"> | |
</path><path d="M204 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M214 41h0"> | |
</path><path d="M322 41h0"> | |
</path><rect height="22" width="108" x="214" y="30"> | |
</rect><text x="268" y="45"> | |
namePattern</text></g><path d="M322 41h10"> | |
</path></g><path d="M420 41h20"> | |
</path><path d="M40 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 71h0"> | |
</path><path d="M420 71h0"> | |
</path><g> | |
<path d="M60 71h0"> | |
</path><path d="M268 71h0"> | |
</path><path d="M60 71h20"> | |
</path><g> | |
<path d="M80 71h0"> | |
</path><path d="M248 71h0"> | |
</path><path d="M80 71h10"> | |
</path><g class="terminal"> | |
<path d="M90 71h0"> | |
</path><path d="M118 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="90" y="60"> | |
</rect><text x="104" y="75"> | |
(</text></g><path d="M118 71h10"> | |
</path><path d="M128 71h10"> | |
</path><g class="non-terminal"> | |
<path d="M138 71h0"> | |
</path><path d="M190 71h0"> | |
</path><rect height="22" width="52" x="138" y="60"> | |
</rect><text x="164" y="75"> | |
expr</text></g><path d="M190 71h10"> | |
</path><path d="M200 71h10"> | |
</path><g class="terminal"> | |
<path d="M210 71h0"> | |
</path><path d="M238 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="210" y="60"> | |
</rect><text x="224" y="75"> | |
)</text></g><path d="M238 71h10"> | |
</path></g><path d="M248 71h20"> | |
</path><path d="M60 71a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 101h42"> | |
</path><path d="M206 101h42"> | |
</path><rect height="22" rx="10" ry="10" width="84" x="122" y="90"> | |
</rect><text x="164" y="105"> | |
.String.</text></g><path d="M248 101a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M60 71a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 131h54"> | |
</path><path d="M194 131h54"> | |
</path><rect height="22" rx="10" ry="10" width="60" x="134" y="120"> | |
</rect><text x="164" y="135"> | |
.int.</text></g><path d="M248 131a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path><path d="M60 71a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 161h38"> | |
</path><path d="M210 161h38"> | |
</path><rect height="22" rx="10" ry="10" width="92" x="118" y="150"> | |
</rect><text x="164" y="165"> | |
.float64.</text></g><path d="M248 161a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path><path d="M60 71a10 10 0 0 1 10 10v100a10 10 0 0 0 10 10"> | |
</path><g class="terminal"> | |
<path d="M80 191h50"> | |
</path><path d="M198 191h50"> | |
</path><rect height="22" rx="10" ry="10" width="68" x="130" y="180"> | |
</rect><text x="164" y="195"> | |
.char.</text></g><path d="M248 191a10 10 0 0 0 10 -10v-100a10 10 0 0 1 10 -10"> | |
</path></g><path d="M268 71h10"> | |
</path><g class="terminal"> | |
<path d="M278 71h0"> | |
</path><path d="M314 71h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="278" y="60"> | |
</rect><text x="296" y="75"> | |
=></text></g><path d="M314 71h10"> | |
</path><path d="M324 71h10"> | |
</path><g class="non-terminal"> | |
<path d="M334 71h0"> | |
</path><path d="M410 71h0"> | |
</path><rect height="22" width="76" x="334" y="60"> | |
</rect><text x="372" y="75"> | |
pattern</text></g><path d="M410 71h10"> | |
</path></g><path d="M420 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path></g><g> | |
<path d="M440 41h0"> | |
</path><path d="M616 41h0"> | |
</path><path d="M440 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"> | |
</path><g> | |
<path d="M460 21h136"> | |
</path></g><path d="M596 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"> | |
</path><path d="M440 41h20"> | |
</path><g> | |
<path d="M460 41h0"> | |
</path><path d="M596 41h0"> | |
</path><path d="M460 41h10"> | |
</path><g class="terminal"> | |
<path d="M470 41h0"> | |
</path><path d="M506 41h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="470" y="30"> | |
</rect><text x="488" y="45"> | |
:=</text></g><path d="M506 41h10"> | |
</path><path d="M516 41h10"> | |
</path><g class="non-terminal"> | |
<path d="M526 41h0"> | |
</path><path d="M586 41h0"> | |
</path><rect height="22" width="60" x="526" y="30"> | |
</rect><text x="556" y="45"> | |
order</text></g><path d="M586 41h10"> | |
</path></g><path d="M596 41h20"> | |
</path></g></g><path d="M 616 41 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> | |
<h1>mapItem</h1> | |
<svg class="railroad-diagram" height="152" viewBox="0 0 345 152" width="345"> | |
<g transform="translate(.5 .5)"> | |
<path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"> | |
</path><g> | |
<path d="M40 31h0"> | |
</path><path d="M304 31h0"> | |
</path><path d="M40 31h20"> | |
</path><g> | |
<path d="M60 31h0"> | |
</path><path d="M284 31h0"> | |
</path><path d="M60 31h10"> | |
</path><g class="terminal"> | |
<path d="M70 31h0"> | |
</path><path d="M106 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="70" y="20"> | |
</rect><text x="88" y="35"> | |
=></text></g><path d="M106 31h10"> | |
</path><g> | |
<path d="M116 31h0"> | |
</path><path d="M284 31h0"> | |
</path><path d="M116 31h20"> | |
</path><g> | |
<path d="M136 31h4"> | |
</path><path d="M260 31h4"> | |
</path><path d="M140 31h10"> | |
</path><g class="terminal"> | |
<path d="M150 31h0"> | |
</path><path d="M178 31h0"> | |
</path><rect height="22" rx="10" ry="10" width="28" x="150" y="20"> | |
</rect><text x="164" y="35"> | |
&</text></g><path d="M178 31h10"> | |
</path><path d="M188 31h10"> | |
</path><g class="non-terminal"> | |
<path d="M198 31h0"> | |
</path><path d="M250 31h0"> | |
</path><rect height="22" width="52" x="198" y="20"> | |
</rect><text x="224" y="35"> | |
noun</text></g><path d="M250 31h10"> | |
</path></g><path d="M264 31h20"> | |
</path><path d="M116 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M136 61h0"> | |
</path><path d="M264 61h0"> | |
</path><path d="M136 61h10"> | |
</path><g class="terminal"> | |
<path d="M146 61h0"> | |
</path><path d="M182 61h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="146" y="50"> | |
</rect><text x="164" y="65"> | |
&&</text></g><path d="M182 61h10"> | |
</path><path d="M192 61h10"> | |
</path><g class="non-terminal"> | |
<path d="M202 61h0"> | |
</path><path d="M254 61h0"> | |
</path><rect height="22" width="52" x="202" y="50"> | |
</rect><text x="228" y="65"> | |
noun</text></g><path d="M254 61h10"> | |
</path></g><path d="M264 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"> | |
</path><path d="M116 31a10 10 0 0 1 10 10v40a10 10 0 0 0 10 10"> | |
</path><g class="non-terminal"> | |
<path d="M136 91h38"> | |
</path><path d="M226 91h38"> | |
</path><rect height="22" width="52" x="174" y="80"> | |
</rect><text x="200" y="95"> | |
noun</text></g><path d="M264 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"> | |
</path></g></g><path d="M284 31h20"> | |
</path><path d="M40 31a10 10 0 0 1 10 10v70a10 10 0 0 0 10 10"> | |
</path><g> | |
<path d="M60 121h12"> | |
</path><path d="M272 121h12"> | |
</path><path d="M72 121h10"> | |
</path><g class="non-terminal"> | |
<path d="M82 121h0"> | |
</path><path d="M134 121h0"> | |
</path><rect height="22" width="52" x="82" y="110"> | |
</rect><text x="108" y="125"> | |
expr</text></g><path d="M134 121h10"> | |
</path><path d="M144 121h10"> | |
</path><g class="terminal"> | |
<path d="M154 121h0"> | |
</path><path d="M190 121h0"> | |
</path><rect height="22" rx="10" ry="10" width="36" x="154" y="110"> | |
</rect><text x="172" y="125"> | |
=></text></g><path d="M190 121h10"> | |
</path><path d="M200 121h10"> | |
</path><g class="non-terminal"> | |
<path d="M210 121h0"> | |
</path><path d="M262 121h0"> | |
</path><rect height="22" width="52" x="210" y="110"> | |
</rect><text x="236" y="125"> | |
expr</text></g><path d="M262 121h10"> | |
</path></g><path d="M284 121a10 10 0 0 0 10 -10v-70a10 10 0 0 1 10 -10"> | |
</path></g><path d="M 304 31 h 20 m -10 -10 v 20 m 10 -20 v 20"> | |
</path></g></svg> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"This is a polyglot Python/JavaScript file."; | |
add('module', Diagram(Sequence( | |
Optional(Sequence("module" | |
, NonTerminal('imports') | |
, Optional(NonTerminal('exports')))) | |
, NonTerminal('body')))); | |
add('imports', Diagram(OneOrMore(NonTerminal('pattern')))); | |
add('exports', Diagram(Sequence( | |
'export', "(", OneOrMore(NonTerminal('noun')), ")"))); | |
add('body', Diagram(OneOrMore('blockExpr'))); | |
add('blockExpr', Diagram(Choice( | |
0, | |
NonTerminal('basic'), | |
NonTerminal('expr')))); | |
add('basic', Diagram(Choice( | |
0 | |
, NonTerminal('if') | |
, NonTerminal('escape') | |
, NonTerminal('for') | |
, NonTerminal('fn') | |
, NonTerminal('switch') | |
, NonTerminal('try') | |
, NonTerminal('while') | |
, NonTerminal('when') | |
, NonTerminal('bind') | |
, NonTerminal('object') | |
, NonTerminal('def') | |
, NonTerminal('interface') | |
, NonTerminal('meta') | |
, NonTerminal('pass') | |
))); | |
add('if', Diagram( | |
Sequence("if", "(", NonTerminal('expr'), ")", NonTerminal('block') | |
, Optional(Sequence("else", Choice(0 | |
, Sequence("if", NonTerminal('basic@@')) | |
, NonTerminal('block'))))) | |
)); | |
add('escape', Diagram( | |
Sequence("escape", NonTerminal('pattern'), NonTerminal('block'), | |
Optional(Sequence("catch", NonTerminal('pattern'), | |
NonTerminal('block')))) | |
)); | |
add('for', Diagram( | |
Sequence("for", | |
NonTerminal('pattern'), | |
Optional(Sequence("=>", NonTerminal('pattern'))), | |
"in", NonTerminal('comp'), | |
NonTerminal('block'), | |
Optional(Sequence("catch", NonTerminal('pattern'), NonTerminal('block')))) | |
)); | |
add('fn', Diagram( | |
Sequence("fn", OneOrMore(NonTerminal('pattern'), ','), NonTerminal('block')) | |
)); | |
add('switch', Diagram( | |
Sequence("switch", "(", NonTerminal('expr'), ")", | |
OneOrMore(Sequence("match", NonTerminal('pattern'), | |
NonTerminal('block')))) | |
)); | |
add('try', Diagram( | |
Sequence("try", NonTerminal('block'), | |
ZeroOrMore(Sequence("catch", | |
NonTerminal('pattern'), NonTerminal('block'))), | |
Optional(Sequence("finally", NonTerminal('block')))) | |
)); | |
add('while', Diagram( | |
Sequence("while", "(", NonTerminal('expr'), ")", NonTerminal('block'), | |
Optional(Sequence("catch", NonTerminal('pattern'), NonTerminal('block')))) | |
)); | |
add('when', Diagram( | |
Sequence("when", | |
"(", OneOrMore(NonTerminal('expr'), ','), ")", | |
ZeroOrMore(Sequence("catch", | |
NonTerminal('pattern'), NonTerminal('block'))), | |
Optional(Sequence("finally", NonTerminal('block')))) | |
)); | |
add('bind', Diagram( | |
Sequence("bind", | |
NonTerminal("noun"), | |
Optional(Sequence(":", NonTerminal('guard'))), "objectExpr@@") | |
)); | |
add('object', Diagram( | |
Sequence("object", Choice(0, Sequence("bind", NonTerminal('noun')), | |
"_", | |
NonTerminal("noun")), | |
Optional(Sequence(":", NonTerminal('guard'))), "objectExpr@@") | |
)); | |
add('def', Diagram( | |
Sequence("def", Choice(0, | |
Sequence(Choice(0, | |
Sequence("bind", NonTerminal("noun"), | |
Optional(Sequence(":", NonTerminal('guard')))), | |
NonTerminal("noun")), | |
Choice(0, "objectFunction@@", NonTerminal('assign'))), | |
NonTerminal('assign'))) | |
)); | |
add('interface', Diagram( | |
Sequence("interface", | |
NonTerminal('namePattern'), | |
Optional(Sequence("guards", NonTerminal('pattern'))), | |
Optional(Sequence("extends", OneOrMore(NonTerminal('order'), ','))), | |
"implements_@@", "msgs@@") | |
)); | |
add('meta', Diagram( | |
Sequence("meta", ".", Choice(0, | |
Sequence("context", "(", ")"), | |
Sequence("getState", "(", ")") | |
)) | |
)); | |
add('pass', Diagram('pass')); | |
add('guard', Diagram(Choice( | |
0, Sequence('IDENTIFIER', | |
Optional(Sequence('[', | |
OneOrMore(NonTerminal('expr'), ','), | |
']'))), | |
Sequence('(', NonTerminal('expr'), ')') | |
))); | |
add('expr', | |
Diagram(Choice(0, | |
Sequence( | |
Choice(0, "continue", "break", "return") | |
, Choice(0, | |
Sequence("(", ")"), | |
";", | |
NonTerminal('blockExpr'))), | |
NonTerminal('assign')))); | |
add('assign', Diagram(Choice( | |
0, | |
Sequence('def', | |
NonTerminal('pattern'), | |
Optional(Sequence("exit", NonTerminal('order'))), | |
Optional(Sequence(":=", NonTerminal('assign')))), | |
Sequence(Choice(0, 'var', 'bind'), | |
NonTerminal('pattern'), | |
# XXX the next two seem to be optional in the code. | |
":=", NonTerminal('assign')), | |
Sequence(NonTerminal('lval'), ":=", NonTerminal('assign')), | |
"@op=...XXX", | |
"VERB_ASSIGN XXX" | |
) | |
)); | |
add('lval', Diagram(NonTerminal('infix'))); | |
add('infix', Diagram(Sequence( | |
NonTerminal('comp'), | |
Optional(Sequence(Choice(0, '||', '&&'), NonTerminal('infix')))))); | |
add('comp', Diagram( | |
NonTerminal('order'), | |
Optional(Sequence(Choice( | |
0, | |
"=~", | |
"!~", | |
"==", | |
"!=", | |
"&!", | |
"^", | |
"&", | |
"|" | |
), NonTerminal('comp'))))); | |
add('order', Diagram( | |
NonTerminal('prefix'), | |
Optional(Sequence(Choice( | |
0, | |
"**", | |
"*", | |
"/", | |
"//", | |
"%", | |
"+", | |
"-", | |
"<<", | |
">>", | |
"..", | |
"..!", | |
">", | |
"<", | |
">=", | |
"<=", | |
"<=>" | |
), NonTerminal('order'))))); | |
add('prefix', Diagram(Choice( | |
0 | |
, Sequence('-', NonTerminal('prim')) | |
, Sequence(Choice(0, "~", "!"), NonTerminal('call')) | |
, Sequence('&', NonTerminal('noun')) | |
, Sequence('&&', NonTerminal('noun')) | |
, Sequence(NonTerminal('call'), | |
Optional(Sequence(":", NonTerminal('guard')))) | |
))); | |
add('call', Diagram(Sequence('prim', NonTerminal('trailer')))); | |
add('trailer', | |
Diagram( | |
Choice(0 | |
, Skip() | |
, Sequence(Choice(0, ".", "<-"), Choice(0, ".String.", "IDENTIFIER"), | |
Optional(Sequence("(", ZeroOrMore(NonTerminal('expr'), ','), | |
")" | |
, NonTerminal('trailer')))) | |
, Sequence("(", ZeroOrMore(NonTerminal('expr'), ','), ")" | |
, NonTerminal('trailer')) | |
, Sequence("[", ZeroOrMore(NonTerminal('expr'), ','), "]" | |
, NonTerminal('trailer')) | |
)) | |
); | |
add('prim', Diagram(Choice( | |
0 | |
,".String.", ".int.", ".float64.", ".char." | |
, Sequence(Optional("IDENTIFIER"), NonTerminal('quasiliteral')) | |
, "IDENTIFIER" | |
, Sequence("::", ".String.") | |
, Sequence("(", NonTerminal('expr'), ")") | |
, Sequence("{", ZeroOrMore(NonTerminal('expr'), ';'), "}") | |
, Sequence("[", | |
Choice(0, | |
ZeroOrMore(NonTerminal('expr'), ','), | |
ZeroOrMore(Sequence(NonTerminal('expr'), | |
"=>", NonTerminal('expr')), | |
','), | |
Sequence(NonTerminal('comprehension'), | |
NonTerminal('expr'), | |
Optional(Sequence("=>", NonTerminal('expr'))))) | |
, "]") | |
))); | |
add('comprehension', Diagram( | |
Sequence('for', | |
NonTerminal('pattern'), | |
Optional(Sequence("=>", NonTerminal('pattern'))), | |
"in", NonTerminal('comp') | |
, Optional(Sequence("if", "(", NonTerminal('expr'), ")")) | |
) | |
)); | |
add('pattern', | |
Diagram(Sequence( | |
Choice(0, | |
NonTerminal('namePattern') | |
, Sequence(Optional('IDENTIFIER'), | |
NonTerminal('quasiLiteral')) | |
, Sequence(Choice(0, "==", "!="), NonTerminal('prim')) | |
, Sequence("_", ":", NonTerminal('guard')) | |
, Sequence("via", "(", NonTerminal('expr'), ')', | |
NonTerminal('pattern')) | |
, Sequence("[", | |
OneOrMore(NonTerminal('mapPatternItem'), ','), ']')) | |
, Optional(Sequence("?", "(", NonTerminal('expr'), ")"))))) | |
add('namePattern', Diagram( | |
Choice(0, | |
Sequence( | |
Choice(0, | |
Sequence("::", ".String."), | |
"IDENTIFIER"), | |
Optional(Sequence(':', NonTerminal('guard')))), | |
Sequence("var", NonTerminal('noun'), | |
Optional(Sequence(":", NonTerminal('guard')))), | |
Sequence("&", NonTerminal('noun'), | |
Optional(Sequence(":", NonTerminal('guard')))), | |
Sequence("&&", NonTerminal('noun')), | |
Sequence("bind", NonTerminal('noun'), | |
Optional(Sequence(":", NonTerminal('guard')))), | |
))) | |
add('noun', Diagram(Choice( | |
0, 'IDENTIFIER', | |
Sequence('::', '.String.')))); | |
add('quasiliteral', Diagram(Sequence( | |
'`', | |
ZeroOrMore( | |
Choice(0, '...', | |
'$IDENT', | |
Sequence('${', NonTerminal('expr'), '}'), | |
'@IDENT', | |
Sequence('@{', NonTerminal('expr'), '}') | |
)) | |
, '`'))); | |
add('mapPatternItem', | |
Diagram(Sequence( | |
Choice(0, | |
Sequence("=>", NonTerminal('namePattern')), | |
Sequence(Choice(0, | |
Sequence("(", NonTerminal('expr'), ")"), | |
".String.", ".int.", ".float64.", ".char."), | |
"=>", NonTerminal('pattern'))), | |
Optional(Sequence(":=", NonTerminal('order')))))) | |
add('mapItem', | |
Diagram(Choice( | |
0, | |
Sequence("=>", Choice( | |
0, | |
Sequence("&", NonTerminal('noun')), | |
Sequence("&&", NonTerminal('noun')), | |
NonTerminal('noun'))), | |
Sequence(NonTerminal('expr'), "=>", NonTerminal('expr'))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
context: monte-language/monte#48