Files
DiceCloud/parser/grammar.html
Stefan Zermatten ee788c952a Improved grammar
2019-03-27 11:06:43 +02:00

1251 lines
32 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<style type="text/css">
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>
</head>
<body>
<h1><code>ifStatement</code></h1>
<div>
<svg class="railroad-diagram" width="1105" height="92" viewBox="0 0 1105 92">
<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="M1064 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M1044 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M122 31h0"></path>
<rect x="70" y="20" width="52" height="22" rx="10" ry="10"></rect>
<text x="96" y="35">"if"</text>
</g>
<path d="M122 31h10"></path>
<path d="M132 31h10"></path>
<g>
<path d="M142 31h0"></path>
<path d="M170 31h0"></path>
<rect x="142" y="20" width="28" height="22"></rect>
<text x="156" y="35">&#95;</text>
</g>
<path d="M170 31h10"></path>
<path d="M180 31h10"></path>
<g>
<path d="M190 31h0"></path>
<path d="M234 31h0"></path>
<rect x="190" y="20" width="44" height="22" rx="10" ry="10"></rect>
<text x="212" y="35">"("</text>
</g>
<path d="M234 31h10"></path>
<path d="M244 31h10"></path>
<g>
<path d="M254 31h0"></path>
<path d="M282 31h0"></path>
<rect x="254" y="20" width="28" height="22"></rect>
<text x="268" y="35">&#95;</text>
</g>
<path d="M282 31h10"></path>
<path d="M292 31h10"></path>
<g>
<path d="M302 31h0"></path>
<path d="M434 31h0"></path>
<rect x="302" y="20" width="132" height="22"></rect>
<text x="368" y="35">callExpression</text>
</g>
<path d="M434 31h10"></path>
<path d="M444 31h10"></path>
<g>
<path d="M454 31h0"></path>
<path d="M482 31h0"></path>
<rect x="454" y="20" width="28" height="22"></rect>
<text x="468" y="35">&#95;</text>
</g>
<path d="M482 31h10"></path>
<path d="M492 31h10"></path>
<g>
<path d="M502 31h0"></path>
<path d="M546 31h0"></path>
<rect x="502" y="20" width="44" height="22" rx="10" ry="10"></rect>
<text x="524" y="35">")"</text>
</g>
<path d="M546 31h10"></path>
<path d="M556 31h10"></path>
<g>
<path d="M566 31h0"></path>
<path d="M594 31h0"></path>
<rect x="566" y="20" width="28" height="22"></rect>
<text x="580" y="35">&#95;</text>
</g>
<path d="M594 31h10"></path>
<path d="M604 31h10"></path>
<g>
<path d="M614 31h0"></path>
<path d="M722 31h0"></path>
<rect x="614" y="20" width="108" height="22"></rect>
<text x="668" y="35">ifStatement</text>
</g>
<path d="M722 31h10"></path>
<path d="M732 31h10"></path>
<g>
<path d="M742 31h0"></path>
<path d="M770 31h0"></path>
<rect x="742" y="20" width="28" height="22"></rect>
<text x="756" y="35">&#95;</text>
</g>
<path d="M770 31h10"></path>
<path d="M780 31h10"></path>
<g>
<path d="M790 31h0"></path>
<path d="M858 31h0"></path>
<rect x="790" y="20" width="68" height="22" rx="10" ry="10"></rect>
<text x="824" y="35">"else"</text>
</g>
<path d="M858 31h10"></path>
<path d="M868 31h10"></path>
<g>
<path d="M878 31h0"></path>
<path d="M906 31h0"></path>
<rect x="878" y="20" width="28" height="22"></rect>
<text x="892" y="35">&#95;</text>
</g>
<path d="M906 31h10"></path>
<path d="M916 31h10"></path>
<g>
<path d="M926 31h0"></path>
<path d="M1034 31h0"></path>
<rect x="926" y="20" width="108" height="22"></rect>
<text x="980" y="35">ifStatement</text>
</g>
<path d="M1034 31h10"></path>
</g>
<path d="M1044 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h416"></path>
<path d="M628 61h416"></path>
<path d="M476 61h10"></path>
<g>
<path d="M486 61h0"></path>
<path d="M618 61h0"></path>
<rect x="486" y="50" width="132" height="22"></rect>
<text x="552" y="65">callExpression</text>
</g>
<path d="M618 61h10"></path>
</g>
<path d="M1044 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 1064 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>callExpression</code></h1>
<div>
<svg class="railroad-diagram" width="353" height="92" viewBox="0 0 353 92">
<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="M312 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M292 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M122 31h0"></path>
<rect x="70" y="20" width="52" height="22"></rect>
<text x="96" y="35">name</text>
</g>
<path d="M122 31h10"></path>
<path d="M132 31h10"></path>
<g>
<path d="M142 31h0"></path>
<path d="M170 31h0"></path>
<rect x="142" y="20" width="28" height="22"></rect>
<text x="156" y="35">&#95;</text>
</g>
<path d="M170 31h10"></path>
<path d="M180 31h10"></path>
<g>
<path d="M190 31h0"></path>
<path d="M282 31h0"></path>
<rect x="190" y="20" width="92" height="22"></rect>
<text x="236" y="35">arguments</text>
</g>
<path d="M282 31h10"></path>
</g>
<path d="M292 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h56"></path>
<path d="M236 61h56"></path>
<path d="M116 61h10"></path>
<g>
<path d="M126 61h0"></path>
<path d="M226 61h0"></path>
<rect x="126" y="50" width="100" height="22"></rect>
<text x="176" y="65">expression</text>
</g>
<path d="M226 61h10"></path>
</g>
<path d="M292 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 312 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>arguments</code></h1>
<div>
<svg class="railroad-diagram" width="925" height="81" viewBox="0 0 925 81">
<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="M884 41h0"></path>
<path d="M40 41h20"></path>
<g>
<path d="M60 41h0"></path>
<path d="M864 41h0"></path>
<path d="M60 41h10"></path>
<g>
<path d="M70 41h0"></path>
<path d="M114 41h0"></path>
<rect x="70" y="30" width="44" height="22" rx="10" ry="10"></rect>
<text x="92" y="45">"("</text>
</g>
<path d="M114 41h10"></path>
<path d="M124 41h10"></path>
<g>
<path d="M134 41h0"></path>
<path d="M162 41h0"></path>
<rect x="134" y="30" width="28" height="22"></rect>
<text x="148" y="45">&#95;</text>
</g>
<path d="M162 41h10"></path>
<g>
<path d="M172 41h0"></path>
<path d="M372 41h0"></path>
<path d="M172 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
<g>
<path d="M192 21h160"></path>
</g>
<path d="M352 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
<path d="M172 41h20"></path>
<g>
<path d="M192 41h0"></path>
<path d="M352 41h0"></path>
<path d="M192 41h20"></path>
<g>
<path d="M212 41h0"></path>
<path d="M332 41h0"></path>
<path d="M212 41h10"></path>
<g>
<path d="M222 41h0"></path>
<path d="M322 41h0"></path>
<rect x="222" y="30" width="100" height="22"></rect>
<text x="272" y="45">expression</text>
</g>
<path d="M322 41h10"></path>
</g>
<path d="M332 41h20"></path>
</g>
<path d="M352 41h20"></path>
</g>
<g>
<path d="M372 41h0"></path>
<path d="M752 41h0"></path>
<path d="M372 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path>
<g>
<path d="M392 21h340"></path>
</g>
<path d="M732 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path>
<path d="M372 41h20"></path>
<g>
<path d="M392 41h0"></path>
<path d="M732 41h0"></path>
<path d="M392 41h10"></path>
<g>
<path d="M402 41h0"></path>
<path d="M722 41h0"></path>
<path d="M402 41h20"></path>
<g>
<path d="M422 41h0"></path>
<path d="M702 41h0"></path>
<path d="M422 41h10"></path>
<g>
<path d="M432 41h0"></path>
<path d="M460 41h0"></path>
<rect x="432" y="30" width="28" height="22"></rect>
<text x="446" y="45">&#95;</text>
</g>
<path d="M460 41h10"></path>
<path d="M470 41h10"></path>
<g>
<path d="M480 41h0"></path>
<path d="M524 41h0"></path>
<rect x="480" y="30" width="44" height="22" rx="10" ry="10"></rect>
<text x="502" y="45">","</text>
</g>
<path d="M524 41h10"></path>
<path d="M534 41h10"></path>
<g>
<path d="M544 41h0"></path>
<path d="M572 41h0"></path>
<rect x="544" y="30" width="28" height="22"></rect>
<text x="558" y="45">&#95;</text>
</g>
<path d="M572 41h10"></path>
<path d="M582 41h10"></path>
<g>
<path d="M592 41h0"></path>
<path d="M692 41h0"></path>
<rect x="592" y="30" width="100" height="22"></rect>
<text x="642" y="45">expression</text>
</g>
<path d="M692 41h10"></path>
</g>
<path d="M702 41h20"></path>
</g>
<path d="M722 41h10"></path>
<path d="M402 41a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path>
<g>
<path d="M402 61h320"></path>
</g>
<path d="M722 61a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path>
</g>
<path d="M732 41h20"></path>
</g>
<path d="M752 41h10"></path>
<g>
<path d="M762 41h0"></path>
<path d="M790 41h0"></path>
<rect x="762" y="30" width="28" height="22"></rect>
<text x="776" y="45">&#95;</text>
</g>
<path d="M790 41h10"></path>
<path d="M800 41h10"></path>
<g>
<path d="M810 41h0"></path>
<path d="M854 41h0"></path>
<rect x="810" y="30" width="44" height="22" rx="10" ry="10"></rect>
<text x="832" y="45">")"</text>
</g>
<path d="M854 41h10"></path>
</g>
<path d="M864 41h20"></path>
</g>
<path d="M 884 41 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>expression</code></h1>
<div>
<svg class="railroad-diagram" width="305" height="62" viewBox="0 0 305 62">
<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="M264 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M244 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M234 31h0"></path>
<rect x="70" y="20" width="164" height="22"></rect>
<text x="152" y="35">equalityExpression</text>
</g>
<path d="M234 31h10"></path>
</g>
<path d="M244 31h20"></path>
</g>
<path d="M 264 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>equalityExpression</code></h1>
<div>
<svg class="railroad-diagram" width="769" height="92" viewBox="0 0 769 92">
<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="M728 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M708 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M234 31h0"></path>
<rect x="70" y="20" width="164" height="22"></rect>
<text x="152" y="35">equalityExpression</text>
</g>
<path d="M234 31h10"></path>
<path d="M244 31h10"></path>
<g>
<path d="M254 31h0"></path>
<path d="M282 31h0"></path>
<rect x="254" y="20" width="28" height="22"></rect>
<text x="268" y="35">&#95;</text>
</g>
<path d="M282 31h10"></path>
<path d="M292 31h10"></path>
<g>
<path d="M302 31h0"></path>
<path d="M450 31h0"></path>
<rect x="302" y="20" width="148" height="22" rx="10" ry="10"></rect>
<text x="376" y="35">equalityOperator</text>
</g>
<path d="M450 31h10"></path>
<path d="M460 31h10"></path>
<g>
<path d="M470 31h0"></path>
<path d="M498 31h0"></path>
<rect x="470" y="20" width="28" height="22"></rect>
<text x="484" y="35">&#95;</text>
</g>
<path d="M498 31h10"></path>
<path d="M508 31h10"></path>
<g>
<path d="M518 31h0"></path>
<path d="M698 31h0"></path>
<rect x="518" y="20" width="180" height="22"></rect>
<text x="608" y="35">relationalExpression</text>
</g>
<path d="M698 31h10"></path>
</g>
<path d="M708 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h224"></path>
<path d="M484 61h224"></path>
<path d="M284 61h10"></path>
<g>
<path d="M294 61h0"></path>
<path d="M474 61h0"></path>
<rect x="294" y="50" width="180" height="22"></rect>
<text x="384" y="65">relationalExpression</text>
</g>
<path d="M474 61h10"></path>
</g>
<path d="M708 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 728 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>relationalExpression</code></h1>
<div>
<svg class="railroad-diagram" width="737" height="92" viewBox="0 0 737 92">
<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="M696 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M676 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M250 31h0"></path>
<rect x="70" y="20" width="180" height="22"></rect>
<text x="160" y="35">relationalExpression</text>
</g>
<path d="M250 31h10"></path>
<path d="M260 31h10"></path>
<g>
<path d="M270 31h0"></path>
<path d="M298 31h0"></path>
<rect x="270" y="20" width="28" height="22"></rect>
<text x="284" y="35">&#95;</text>
</g>
<path d="M298 31h10"></path>
<path d="M308 31h10"></path>
<g>
<path d="M318 31h0"></path>
<path d="M482 31h0"></path>
<rect x="318" y="20" width="164" height="22" rx="10" ry="10"></rect>
<text x="400" y="35">relationalOperator</text>
</g>
<path d="M482 31h10"></path>
<path d="M492 31h10"></path>
<g>
<path d="M502 31h0"></path>
<path d="M530 31h0"></path>
<rect x="502" y="20" width="28" height="22"></rect>
<text x="516" y="35">&#95;</text>
</g>
<path d="M530 31h10"></path>
<path d="M540 31h10"></path>
<g>
<path d="M550 31h0"></path>
<path d="M666 31h0"></path>
<rect x="550" y="20" width="116" height="22"></rect>
<text x="608" y="35">orExpression</text>
</g>
<path d="M666 31h10"></path>
</g>
<path d="M676 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h240"></path>
<path d="M436 61h240"></path>
<path d="M300 61h10"></path>
<g>
<path d="M310 61h0"></path>
<path d="M426 61h0"></path>
<rect x="310" y="50" width="116" height="22"></rect>
<text x="368" y="65">orExpression</text>
</g>
<path d="M426 61h10"></path>
</g>
<path d="M676 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 696 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>orExpression</code></h1>
<div>
<svg class="railroad-diagram" width="617" height="92" viewBox="0 0 617 92">
<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="M576 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M556 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M186 31h0"></path>
<rect x="70" y="20" width="116" height="22"></rect>
<text x="128" y="35">orExpression</text>
</g>
<path d="M186 31h10"></path>
<path d="M196 31h10"></path>
<g>
<path d="M206 31h0"></path>
<path d="M234 31h0"></path>
<rect x="206" y="20" width="28" height="22"></rect>
<text x="220" y="35">&#95;</text>
</g>
<path d="M234 31h10"></path>
<path d="M244 31h10"></path>
<g>
<path d="M254 31h0"></path>
<path d="M354 31h0"></path>
<rect x="254" y="20" width="100" height="22" rx="10" ry="10"></rect>
<text x="304" y="35">orOperator</text>
</g>
<path d="M354 31h10"></path>
<path d="M364 31h10"></path>
<g>
<path d="M374 31h0"></path>
<path d="M402 31h0"></path>
<rect x="374" y="20" width="28" height="22"></rect>
<text x="388" y="35">&#95;</text>
</g>
<path d="M402 31h10"></path>
<path d="M412 31h10"></path>
<g>
<path d="M422 31h0"></path>
<path d="M546 31h0"></path>
<rect x="422" y="20" width="124" height="22"></rect>
<text x="484" y="35">andExpression</text>
</g>
<path d="M546 31h10"></path>
</g>
<path d="M556 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h176"></path>
<path d="M380 61h176"></path>
<path d="M236 61h10"></path>
<g>
<path d="M246 61h0"></path>
<path d="M370 61h0"></path>
<rect x="246" y="50" width="124" height="22"></rect>
<text x="308" y="65">andExpression</text>
</g>
<path d="M370 61h10"></path>
</g>
<path d="M556 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 576 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>andExpression</code></h1>
<div>
<svg class="railroad-diagram" width="673" height="92" viewBox="0 0 673 92">
<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="M632 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M612 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M194 31h0"></path>
<rect x="70" y="20" width="124" height="22"></rect>
<text x="132" y="35">andExpression</text>
</g>
<path d="M194 31h10"></path>
<path d="M204 31h10"></path>
<g>
<path d="M214 31h0"></path>
<path d="M242 31h0"></path>
<rect x="214" y="20" width="28" height="22"></rect>
<text x="228" y="35">&#95;</text>
</g>
<path d="M242 31h10"></path>
<path d="M252 31h10"></path>
<g>
<path d="M262 31h0"></path>
<path d="M370 31h0"></path>
<rect x="262" y="20" width="108" height="22" rx="10" ry="10"></rect>
<text x="316" y="35">andOperator</text>
</g>
<path d="M370 31h10"></path>
<path d="M380 31h10"></path>
<g>
<path d="M390 31h0"></path>
<path d="M418 31h0"></path>
<rect x="390" y="20" width="28" height="22"></rect>
<text x="404" y="35">&#95;</text>
</g>
<path d="M418 31h10"></path>
<path d="M428 31h10"></path>
<g>
<path d="M438 31h0"></path>
<path d="M602 31h0"></path>
<rect x="438" y="20" width="164" height="22"></rect>
<text x="520" y="35">additiveExpression</text>
</g>
<path d="M602 31h10"></path>
</g>
<path d="M612 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h184"></path>
<path d="M428 61h184"></path>
<path d="M244 61h10"></path>
<g>
<path d="M254 61h0"></path>
<path d="M418 61h0"></path>
<rect x="254" y="50" width="164" height="22"></rect>
<text x="336" y="65">additiveExpression</text>
</g>
<path d="M418 61h10"></path>
</g>
<path d="M612 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 632 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>additiveExpression</code></h1>
<div>
<svg class="railroad-diagram" width="801" height="92" viewBox="0 0 801 92">
<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="M760 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M740 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M234 31h0"></path>
<rect x="70" y="20" width="164" height="22"></rect>
<text x="152" y="35">additiveExpression</text>
</g>
<path d="M234 31h10"></path>
<path d="M244 31h10"></path>
<g>
<path d="M254 31h0"></path>
<path d="M282 31h0"></path>
<rect x="254" y="20" width="28" height="22"></rect>
<text x="268" y="35">&#95;</text>
</g>
<path d="M282 31h10"></path>
<path d="M292 31h10"></path>
<g>
<path d="M302 31h0"></path>
<path d="M450 31h0"></path>
<rect x="302" y="20" width="148" height="22" rx="10" ry="10"></rect>
<text x="376" y="35">additiveOperator</text>
</g>
<path d="M450 31h10"></path>
<path d="M460 31h10"></path>
<g>
<path d="M470 31h0"></path>
<path d="M498 31h0"></path>
<rect x="470" y="20" width="28" height="22"></rect>
<text x="484" y="35">&#95;</text>
</g>
<path d="M498 31h10"></path>
<path d="M508 31h10"></path>
<g>
<path d="M518 31h0"></path>
<path d="M730 31h0"></path>
<rect x="518" y="20" width="212" height="22"></rect>
<text x="624" y="35">multiplicativeExpression</text>
</g>
<path d="M730 31h10"></path>
</g>
<path d="M740 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h224"></path>
<path d="M516 61h224"></path>
<path d="M284 61h10"></path>
<g>
<path d="M294 61h0"></path>
<path d="M506 61h0"></path>
<rect x="294" y="50" width="212" height="22"></rect>
<text x="400" y="65">multiplicativeExpression</text>
</g>
<path d="M506 61h10"></path>
</g>
<path d="M740 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 760 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>multiplicativeExpression</code></h1>
<div>
<svg class="railroad-diagram" width="817" height="92" viewBox="0 0 817 92">
<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="M776 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M756 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M282 31h0"></path>
<rect x="70" y="20" width="212" height="22"></rect>
<text x="176" y="35">multiplicativeExpression</text>
</g>
<path d="M282 31h10"></path>
<path d="M292 31h10"></path>
<g>
<path d="M302 31h0"></path>
<path d="M330 31h0"></path>
<rect x="302" y="20" width="28" height="22"></rect>
<text x="316" y="35">&#95;</text>
</g>
<path d="M330 31h10"></path>
<path d="M340 31h10"></path>
<g>
<path d="M350 31h0"></path>
<path d="M546 31h0"></path>
<rect x="350" y="20" width="196" height="22" rx="10" ry="10"></rect>
<text x="448" y="35">multiplicativeOperator</text>
</g>
<path d="M546 31h10"></path>
<path d="M556 31h10"></path>
<g>
<path d="M566 31h0"></path>
<path d="M594 31h0"></path>
<rect x="566" y="20" width="28" height="22"></rect>
<text x="580" y="35">&#95;</text>
</g>
<path d="M594 31h10"></path>
<path d="M604 31h10"></path>
<g>
<path d="M614 31h0"></path>
<path d="M746 31h0"></path>
<rect x="614" y="20" width="132" height="22"></rect>
<text x="680" y="35">rollExpression</text>
</g>
<path d="M746 31h10"></path>
</g>
<path d="M756 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h272"></path>
<path d="M484 61h272"></path>
<path d="M332 61h10"></path>
<g>
<path d="M342 61h0"></path>
<path d="M474 61h0"></path>
<rect x="342" y="50" width="132" height="22"></rect>
<text x="408" y="65">rollExpression</text>
</g>
<path d="M474 61h10"></path>
</g>
<path d="M756 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 776 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>rollExpression</code></h1>
<div>
<svg class="railroad-diagram" width="617" height="92" viewBox="0 0 617 92">
<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="M576 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M556 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M202 31h0"></path>
<rect x="70" y="20" width="132" height="22"></rect>
<text x="136" y="35">rollExpression</text>
</g>
<path d="M202 31h10"></path>
<path d="M212 31h10"></path>
<g>
<path d="M222 31h0"></path>
<path d="M250 31h0"></path>
<rect x="222" y="20" width="28" height="22"></rect>
<text x="236" y="35">&#95;</text>
</g>
<path d="M250 31h10"></path>
<path d="M260 31h10"></path>
<g>
<path d="M270 31h0"></path>
<path d="M314 31h0"></path>
<rect x="270" y="20" width="44" height="22" rx="10" ry="10"></rect>
<text x="292" y="35">"d"</text>
</g>
<path d="M314 31h10"></path>
<path d="M324 31h10"></path>
<g>
<path d="M334 31h0"></path>
<path d="M362 31h0"></path>
<rect x="334" y="20" width="28" height="22"></rect>
<text x="348" y="35">&#95;</text>
</g>
<path d="M362 31h10"></path>
<path d="M372 31h10"></path>
<g>
<path d="M382 31h0"></path>
<path d="M546 31h0"></path>
<rect x="382" y="20" width="164" height="22"></rect>
<text x="464" y="35">exponentExpression</text>
</g>
<path d="M546 31h10"></path>
</g>
<path d="M556 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h156"></path>
<path d="M400 61h156"></path>
<path d="M216 61h10"></path>
<g>
<path d="M226 61h0"></path>
<path d="M390 61h0"></path>
<rect x="226" y="50" width="164" height="22"></rect>
<text x="308" y="65">exponentExpression</text>
</g>
<path d="M390 61h10"></path>
</g>
<path d="M556 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 576 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>exponentExpression</code></h1>
<div>
<svg class="railroad-diagram" width="793" height="92" viewBox="0 0 793 92">
<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="M752 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M732 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M274 31h0"></path>
<rect x="70" y="20" width="204" height="22"></rect>
<text x="172" y="35">parenthesizedExpression</text>
</g>
<path d="M274 31h10"></path>
<path d="M284 31h10"></path>
<g>
<path d="M294 31h0"></path>
<path d="M322 31h0"></path>
<rect x="294" y="20" width="28" height="22"></rect>
<text x="308" y="35">&#95;</text>
</g>
<path d="M322 31h10"></path>
<path d="M332 31h10"></path>
<g>
<path d="M342 31h0"></path>
<path d="M490 31h0"></path>
<rect x="342" y="20" width="148" height="22" rx="10" ry="10"></rect>
<text x="416" y="35">exponentOperator</text>
</g>
<path d="M490 31h10"></path>
<path d="M500 31h10"></path>
<g>
<path d="M510 31h0"></path>
<path d="M538 31h0"></path>
<rect x="510" y="20" width="28" height="22"></rect>
<text x="524" y="35">&#95;</text>
</g>
<path d="M538 31h10"></path>
<path d="M548 31h10"></path>
<g>
<path d="M558 31h0"></path>
<path d="M722 31h0"></path>
<rect x="558" y="20" width="164" height="22"></rect>
<text x="640" y="35">exponentExpression</text>
</g>
<path d="M722 31h10"></path>
</g>
<path d="M732 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h224"></path>
<path d="M508 61h224"></path>
<path d="M284 61h10"></path>
<g>
<path d="M294 61h0"></path>
<path d="M498 61h0"></path>
<rect x="294" y="50" width="204" height="22"></rect>
<text x="396" y="65">parenthesizedExpression</text>
</g>
<path d="M498 61h10"></path>
</g>
<path d="M732 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 752 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>parenthesizedExpression</code></h1>
<div>
<svg class="railroad-diagram" width="465" height="92" viewBox="0 0 465 92">
<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="M424 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M404 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M114 31h0"></path>
<rect x="70" y="20" width="44" height="22" rx="10" ry="10"></rect>
<text x="92" y="35">"("</text>
</g>
<path d="M114 31h10"></path>
<path d="M124 31h10"></path>
<g>
<path d="M134 31h0"></path>
<path d="M162 31h0"></path>
<rect x="134" y="20" width="28" height="22"></rect>
<text x="148" y="35">&#95;</text>
</g>
<path d="M162 31h10"></path>
<path d="M172 31h10"></path>
<g>
<path d="M182 31h0"></path>
<path d="M282 31h0"></path>
<rect x="182" y="20" width="100" height="22"></rect>
<text x="232" y="35">expression</text>
</g>
<path d="M282 31h10"></path>
<path d="M292 31h10"></path>
<g>
<path d="M302 31h0"></path>
<path d="M330 31h0"></path>
<rect x="302" y="20" width="28" height="22"></rect>
<text x="316" y="35">&#95;</text>
</g>
<path d="M330 31h10"></path>
<path d="M340 31h10"></path>
<g>
<path d="M350 31h0"></path>
<path d="M394 31h0"></path>
<rect x="350" y="20" width="44" height="22" rx="10" ry="10"></rect>
<text x="372" y="35">")"</text>
</g>
<path d="M394 31h10"></path>
</g>
<path d="M404 31h20"></path>
<path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path>
<g>
<path d="M60 61h92"></path>
<path d="M312 61h92"></path>
<path d="M152 61h10"></path>
<g>
<path d="M162 61h0"></path>
<path d="M302 61h0"></path>
<rect x="162" y="50" width="140" height="22"></rect>
<text x="232" y="65">valueExpression</text>
</g>
<path d="M302 61h10"></path>
</g>
<path d="M404 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 424 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>valueExpression</code></h1>
<div>
<svg class="railroad-diagram" width="209" height="122" viewBox="0 0 209 122">
<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="M168 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h8"></path>
<path d="M140 31h8"></path>
<path d="M68 31h10"></path>
<g>
<path d="M78 31h0"></path>
<path d="M130 31h0"></path>
<rect x="78" y="20" width="52" height="22"></rect>
<text x="104" y="35">name</text>
</g>
<path d="M130 31h10"></path>
</g>
<path d="M148 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="M148 61h0"></path>
<path d="M60 61h10"></path>
<g>
<path d="M70 61h0"></path>
<path d="M138 61h0"></path>
<rect x="70" y="50" width="68" height="22"></rect>
<text x="104" y="65">number</text>
</g>
<path d="M138 61h10"></path>
</g>
<path d="M148 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>
<path d="M60 91h0"></path>
<path d="M148 91h0"></path>
<path d="M60 91h10"></path>
<g>
<path d="M70 91h0"></path>
<path d="M138 91h0"></path>
<rect x="70" y="80" width="68" height="22"></rect>
<text x="104" y="95">string</text>
</g>
<path d="M138 91h10"></path>
</g>
<path d="M148 91a10 10 0 0 0 10 -10v-40a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 168 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>number</code></h1>
<div>
<svg class="railroad-diagram" width="209" height="62" viewBox="0 0 209 62">
<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="M168 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M148 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M138 31h0"></path>
<rect x="70" y="20" width="68" height="22" rx="10" ry="10"></rect>
<text x="104" y="35">number</text>
</g>
<path d="M138 31h10"></path>
</g>
<path d="M148 31h20"></path>
</g>
<path d="M 168 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>name</code></h1>
<div>
<svg class="railroad-diagram" width="193" height="62" viewBox="0 0 193 62">
<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="M152 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M132 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M122 31h0"></path>
<rect x="70" y="20" width="52" height="22" rx="10" ry="10"></rect>
<text x="96" y="35">name</text>
</g>
<path d="M122 31h10"></path>
</g>
<path d="M132 31h20"></path>
</g>
<path d="M 152 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>string</code></h1>
<div>
<svg class="railroad-diagram" width="209" height="62" viewBox="0 0 209 62">
<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="M168 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h0"></path>
<path d="M148 31h0"></path>
<path d="M60 31h10"></path>
<g>
<path d="M70 31h0"></path>
<path d="M138 31h0"></path>
<rect x="70" y="20" width="68" height="22" rx="10" ry="10"></rect>
<text x="104" y="35">string</text>
</g>
<path d="M138 31h10"></path>
</g>
<path d="M148 31h20"></path>
</g>
<path d="M 168 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
<h1><code>_</code></h1>
<div>
<svg class="railroad-diagram" width="201" height="92" viewBox="0 0 201 92">
<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="M160 31h0"></path>
<path d="M40 31h20"></path>
<g>
<path d="M60 31h4"></path>
<path d="M136 31h4"></path>
<path d="M64 31h10"></path>
<g>
<path d="M74 31h0"></path>
<path d="M126 31h0"></path>
<rect x="74" y="20" width="52" height="22"></rect>
<text x="100" y="35">null</text>
</g>
<path d="M126 31h10"></path>
</g>
<path d="M140 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="M140 61h0"></path>
<path d="M60 61h10"></path>
<g>
<path d="M70 61h0"></path>
<path d="M130 61h0"></path>
<rect x="70" y="50" width="60" height="22" rx="10" ry="10"></rect>
<text x="100" y="65">space</text>
</g>
<path d="M130 61h10"></path>
</g>
<path d="M140 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path>
</g>
<path d="M 160 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path>
</g>
</svg>
</div>
</body>
</html>