The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
 "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.38.0 (20140413.2041)
 -->
<!-- Title: Perl Pages: 1 -->
<svg width="3466pt" height="332pt"
 viewBox="0.00 0.00 3466.36 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>Perl</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-328 3462.36,-328 3462.36,4 -4,4"/>
<!-- Grammar -->
<g id="node1" class="node"><title>Grammar</title>
<ellipse fill="none" stroke="blue" cx="1377.95" cy="-306" rx="45.4919" ry="18"/>
<text text-anchor="middle" x="1377.95" y="-302.3" font-family="Times,serif" font-size="14.00">Grammar</text>
</g>
<!-- typename -->
<g id="node2" class="node"><title>typename</title>
<ellipse fill="none" stroke="blue" cx="27.9475" cy="-18" rx="27.8951" ry="18"/>
<text text-anchor="middle" x="27.9475" y="-14.3" font-family="Times,serif" font-size="14.00">&#39;int&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;typename -->
<g id="edge1" class="edge"><title>Grammar&#45;&gt;typename</title>
<path fill="none" stroke="grey" d="M1332.17,-304.84C1104,-303.835 98.515,-296.864 50.9475,-252 -5.6657,-198.604 9.53483,-94.7579 20.7993,-45.7849"/>
<polygon fill="grey" stroke="grey" points="24.2332,-46.4755 23.1854,-35.9326 17.4299,-44.8278 24.2332,-46.4755"/>
</g>
<!-- a -->
<g id="node3" class="node"><title>a</title>
<ellipse fill="none" stroke="blue" cx="680.948" cy="-234" rx="27" ry="18"/>
<text text-anchor="middle" x="680.948" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;a&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;a -->
<g id="edge2" class="edge"><title>Grammar&#45;&gt;a</title>
<path fill="none" stroke="grey" d="M1332.86,-303.188C1204.42,-297.739 838.433,-280.116 721.948,-252 718.549,-251.18 715.067,-250.116 711.638,-248.921"/>
<polygon fill="grey" stroke="grey" points="712.817,-245.625 702.228,-245.299 710.303,-252.158 712.817,-245.625"/>
</g>
<!-- test1 -->
<g id="node4" class="node"><title>test1</title>
<ellipse fill="none" stroke="blue" cx="1042.95" cy="-234" rx="279.45" ry="18"/>
<text text-anchor="middle" x="1042.95" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;(&#39; &#39;the&#39; &#39;$::first&#39; /te+st/ is _alternation_1_of_production_1_of_rule_test1(s?) &#160;</text>
</g>
<!-- Grammar&#45;&gt;test1 -->
<g id="edge5" class="edge"><title>Grammar&#45;&gt;test1</title>
<path fill="none" stroke="grey" d="M1338.53,-296.764C1287.86,-286.177 1198.4,-267.484 1131.13,-253.427"/>
<polygon fill="grey" stroke="grey" points="1131.46,-249.92 1120.96,-251.301 1130.03,-256.772 1131.46,-249.92"/>
</g>
<!-- is -->
<g id="node5" class="node"><title>is</title>
<ellipse fill="none" stroke="blue" cx="841.948" cy="-162" rx="42.7926" ry="18"/>
<text text-anchor="middle" x="841.948" y="-158.3" font-family="Times,serif" font-size="14.00">&#39;is&#39; &#160;&#39;are&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;is -->
<g id="edge31" class="edge"><title>Grammar&#45;&gt;is</title>
<path fill="none" stroke="grey" d="M1332.51,-304.596C1195.57,-302.912 793.866,-294.37 754.948,-252 744.124,-240.217 747.111,-229.95 754.948,-216 764.668,-198.696 782.584,-186.379 799.642,-178.001"/>
<polygon fill="grey" stroke="grey" points="801.328,-181.079 808.974,-173.745 798.423,-174.71 801.328,-181.079"/>
</g>
<!-- _alternation_1_of_production_1_of_rule_test1 -->
<g id="node6" class="node"><title>_alternation_1_of_production_1_of_rule_test1</title>
<ellipse fill="none" stroke="blue" cx="1195.95" cy="-162" rx="34.394" ry="18"/>
<text text-anchor="middle" x="1195.95" y="-158.3" font-family="Times,serif" font-size="14.00">&#39;easy&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;_alternation_1_of_production_1_of_rule_test1 -->
<g id="edge8" class="edge"><title>Grammar&#45;&gt;_alternation_1_of_production_1_of_rule_test1</title>
<path fill="none" stroke="grey" d="M1372.98,-287.969C1366.39,-268.165 1352.96,-235.682 1330.95,-216 1304.67,-192.506 1266.76,-178.858 1237.8,-171.313"/>
<polygon fill="grey" stroke="grey" points="1238.51,-167.884 1227.96,-168.893 1236.84,-174.681 1238.51,-167.884"/>
</g>
<!-- the -->
<g id="node7" class="node"><title>the</title>
<ellipse fill="none" stroke="blue" cx="1406.95" cy="-234" rx="29.4969" ry="18"/>
<text text-anchor="middle" x="1406.95" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;the&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;the -->
<g id="edge6" class="edge"><title>Grammar&#45;&gt;the</title>
<path fill="none" stroke="grey" d="M1384.97,-288.055C1388.32,-279.973 1392.4,-270.121 1396.13,-261.112"/>
<polygon fill="grey" stroke="grey" points="1399.4,-262.367 1399.99,-251.789 1392.93,-259.688 1399.4,-262.367"/>
</g>
<!-- dog -->
<g id="node8" class="node"><title>dog</title>
<ellipse fill="none" stroke="blue" cx="1485.95" cy="-234" rx="31.6951" ry="18"/>
<text text-anchor="middle" x="1485.95" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;dog&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;dog -->
<g id="edge7" class="edge"><title>Grammar&#45;&gt;dog</title>
<path fill="none" stroke="grey" d="M1400.59,-290.326C1417.02,-279.674 1439.39,-265.179 1457.1,-253.698"/>
<polygon fill="grey" stroke="grey" points="1459.39,-256.381 1465.88,-248.005 1455.59,-250.507 1459.39,-256.381"/>
</g>
<!-- test2 -->
<g id="node9" class="node"><title>test2</title>
<ellipse fill="none" stroke="blue" cx="1677.95" cy="-234" rx="141.875" ry="18"/>
<text text-anchor="middle" x="1677.95" y="-230.3" font-family="Times,serif" font-size="14.00">$arg{article} $arg[3][$arg{sound}] &#160;</text>
</g>
<!-- Grammar&#45;&gt;test2 -->
<g id="edge9" class="edge"><title>Grammar&#45;&gt;test2</title>
<path fill="none" stroke="grey" d="M1416.25,-296.063C1463.21,-285.106 1543.87,-266.284 1603.26,-252.427"/>
<polygon fill="grey" stroke="grey" points="1604.4,-255.755 1613.34,-250.074 1602.81,-248.938 1604.4,-255.755"/>
</g>
<!-- defn -->
<g id="node10" class="node"><title>defn</title>
<ellipse fill="none" stroke="blue" cx="416.948" cy="-90" rx="108.581" ry="18"/>
<text text-anchor="middle" x="416.948" y="-86.3" font-family="Times,serif" font-size="14.00">&#39;var&#39; id &#39;holds&#39; typename &#39;;&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;defn -->
<g id="edge12" class="edge"><title>Grammar&#45;&gt;defn</title>
<path fill="none" stroke="grey" d="M1332.45,-304.229C1173.28,-301.222 647.523,-288.59 581.948,-252 530.469,-223.276 548.211,-184.043 504.948,-144 491.599,-131.645 474.92,-120.723 459.683,-112.052"/>
<polygon fill="grey" stroke="grey" points="461.36,-108.981 450.914,-107.214 457.978,-115.109 461.36,-108.981"/>
</g>
<!-- id -->
<g id="node11" class="node"><title>id</title>
<ellipse fill="none" stroke="blue" cx="607.948" cy="-18" rx="534.005" ry="18"/>
<text text-anchor="middle" x="607.948" y="-14.3" font-family="Times,serif" font-size="14.00">/[a&#45;z]		# LEADING ALPHABETIC\n		 &#160;\w*		# FOLLOWED BY ALPHAS, DIGITS, OR UNDERSCORES\n		 /ix &#160;</text>
</g>
<!-- Grammar&#45;&gt;id -->
<g id="edge14" class="edge"><title>Grammar&#45;&gt;id</title>
<path fill="none" stroke="grey" d="M1332.52,-304.931C1180.39,-304.266 695.581,-298.489 644.948,-252 615.249,-224.732 609.346,-101.602 608.204,-46.1811"/>
<polygon fill="grey" stroke="grey" points="611.702,-45.9878 608.034,-36.0481 604.703,-46.1057 611.702,-45.9878"/>
</g>
<!-- cat -->
<g id="node12" class="node"><title>cat</title>
<ellipse fill="none" stroke="blue" cx="1973.95" cy="-234" rx="135.676" ry="18"/>
<text text-anchor="middle" x="1973.95" y="-230.3" font-family="Times,serif" font-size="14.00">&lt;reject: $arg[0] ne &#39;meows&#39;&gt; &#39;cat&#39; &#160;&#160;</text>
</g>
<!-- Grammar&#45;&gt;cat -->
<g id="edge13" class="edge"><title>Grammar&#45;&gt;cat</title>
<path fill="none" stroke="grey" d="M1421.29,-299.909C1513.77,-289.047 1732.83,-263.319 1865.71,-247.713"/>
<polygon fill="grey" stroke="grey" points="1866.39,-251.157 1875.91,-246.514 1865.57,-244.205 1866.39,-251.157"/>
</g>
<!-- b -->
<g id="node13" class="node"><title>b</title>
<ellipse fill="none" stroke="blue" cx="2166.95" cy="-162" rx="27" ry="18"/>
<text text-anchor="middle" x="2166.95" y="-158.3" font-family="Times,serif" font-size="14.00">&#39;b&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;b -->
<g id="edge15" class="edge"><title>Grammar&#45;&gt;b</title>
<path fill="none" stroke="grey" d="M1423.34,-304.272C1575.39,-301.491 2060.59,-289.718 2118.95,-252 2140.64,-237.978 2153.25,-210.673 2160.06,-189.987"/>
<polygon fill="grey" stroke="grey" points="2163.48,-190.749 2163.03,-180.164 2156.78,-188.725 2163.48,-190.749"/>
</g>
<!-- fail -->
<g id="node14" class="node"><title>fail</title>
<ellipse fill="none" stroke="blue" cx="570.948" cy="-90" rx="27" ry="18"/>
<text text-anchor="middle" x="570.948" y="-86.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Grammar&#45;&gt;fail -->
<g id="edge16" class="edge"><title>Grammar&#45;&gt;fail</title>
<path fill="none" stroke="grey" d="M1332.28,-304.902C1175.72,-304.155 667.287,-298.165 611.948,-252 572.907,-219.432 568.191,-155.385 569.04,-118.648"/>
<polygon fill="grey" stroke="grey" points="572.556,-118.318 569.451,-108.189 565.561,-118.044 572.556,-118.318"/>
</g>
<!-- name -->
<g id="node15" class="node"><title>name</title>
<ellipse fill="none" stroke="blue" cx="2282.95" cy="-162" rx="32.4942" ry="18"/>
<text text-anchor="middle" x="2282.95" y="-158.3" font-family="Times,serif" font-size="14.00">&#39;fred&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;name -->
<g id="edge17" class="edge"><title>Grammar&#45;&gt;name</title>
<path fill="none" stroke="grey" d="M1423.49,-305.221C1594.11,-305.648 2189.14,-303.412 2254.95,-252 2273.54,-237.479 2280.04,-210.682 2282.19,-190.272"/>
<polygon fill="grey" stroke="grey" points="2285.68,-190.519 2282.96,-180.28 2278.7,-189.982 2285.68,-190.519"/>
</g>
<!-- test5 -->
<g id="node16" class="node"><title>test5</title>
<ellipse fill="none" stroke="blue" cx="2394.95" cy="-234" rx="92.8835" ry="18"/>
<text text-anchor="middle" x="2394.95" y="-230.3" font-family="Times,serif" font-size="14.00">name notname &#160;name &#160;</text>
</g>
<!-- Grammar&#45;&gt;test5 -->
<g id="edge20" class="edge"><title>Grammar&#45;&gt;test5</title>
<path fill="none" stroke="grey" d="M1423.53,-303.947C1556.86,-300.522 1957.55,-287.779 2287.95,-252 2297.77,-250.937 2308.06,-249.595 2318.21,-248.133"/>
<polygon fill="grey" stroke="grey" points="2318.92,-251.566 2328.3,-246.637 2317.9,-244.641 2318.92,-251.566"/>
</g>
<!-- notname -->
<g id="node17" class="node"><title>notname</title>
<ellipse fill="none" stroke="blue" cx="2454.95" cy="-162" rx="52.7911" ry="18"/>
<text text-anchor="middle" x="2454.95" y="-158.3" font-family="Times,serif" font-size="14.00">/[a&#45;z]\w*/i &#160;</text>
</g>
<!-- Grammar&#45;&gt;notname -->
<g id="edge30" class="edge"><title>Grammar&#45;&gt;notname</title>
<path fill="none" stroke="grey" d="M1423.58,-304.577C1628.97,-302.454 2459.32,-291.451 2496.95,-252 2514.64,-233.445 2497.16,-206.058 2479.66,-186.571"/>
<polygon fill="grey" stroke="grey" points="2482.18,-184.141 2472.77,-179.268 2477.08,-188.944 2482.18,-184.141"/>
</g>
<!-- test4 -->
<g id="node18" class="node"><title>test4</title>
<ellipse fill="none" stroke="blue" cx="2205.95" cy="-234" rx="40.0939" ry="18"/>
<text text-anchor="middle" x="2205.95" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;a&#39; b /c/ &#160;</text>
</g>
<!-- Grammar&#45;&gt;test4 -->
<g id="edge22" class="edge"><title>Grammar&#45;&gt;test4</title>
<path fill="none" stroke="grey" d="M1423.79,-305.618C1544.27,-306.434 1879.31,-303.496 2151.95,-252 2156.47,-251.146 2161.14,-250.035 2165.77,-248.791"/>
<polygon fill="grey" stroke="grey" points="2167.09,-252.052 2175.71,-245.9 2165.13,-245.33 2167.09,-252.052"/>
</g>
<!-- _alternation_1_of_production_1_of_rule_test3 -->
<g id="node19" class="node"><title>_alternation_1_of_production_1_of_rule_test3</title>
<ellipse fill="none" stroke="blue" cx="416.948" cy="-162" rx="79.0865" ry="18"/>
<text text-anchor="middle" x="416.948" y="-158.3" font-family="Times,serif" font-size="14.00">defn &#160;typedef &#160;fail &#160;</text>
</g>
<!-- Grammar&#45;&gt;_alternation_1_of_production_1_of_rule_test3 -->
<g id="edge26" class="edge"><title>Grammar&#45;&gt;_alternation_1_of_production_1_of_rule_test3</title>
<path fill="none" stroke="grey" d="M1332.7,-303.8C1168.54,-299.222 610.081,-281.605 535.948,-252 512.8,-242.756 512.744,-231.143 492.948,-216 479.113,-205.417 463.385,-194.305 449.84,-185.004"/>
<polygon fill="grey" stroke="grey" points="451.53,-181.921 441.296,-179.178 447.586,-187.704 451.53,-181.921"/>
</g>
<!-- typedef -->
<g id="node20" class="node"><title>typedef</title>
<ellipse fill="none" stroke="blue" cx="164.948" cy="-90" rx="98.5829" ry="18"/>
<text text-anchor="middle" x="164.948" y="-86.3" font-family="Times,serif" font-size="14.00">&#39;type&#39; id &#39;is&#39; typename &#39;;&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;typedef -->
<g id="edge29" class="edge"><title>Grammar&#45;&gt;typedef</title>
<path fill="none" stroke="grey" d="M1332.27,-304.906C1105.7,-304.222 111.67,-298.567 66.9475,-252 26.1486,-209.518 91.1729,-147.181 133.377,-113.912"/>
<polygon fill="grey" stroke="grey" points="135.698,-116.541 141.475,-107.66 131.421,-111 135.698,-116.541"/>
</g>
<!-- test7 -->
<g id="node21" class="node"><title>test7</title>
<ellipse fill="none" stroke="blue" cx="2619.95" cy="-234" rx="76.0865" ry="18"/>
<text text-anchor="middle" x="2619.95" y="-230.3" font-family="Times,serif" font-size="14.00">&#39;x&#39; &lt;resync&gt; /y+/ &#160;</text>
</g>
<!-- Grammar&#45;&gt;test7 -->
<g id="edge32" class="edge"><title>Grammar&#45;&gt;test7</title>
<path fill="none" stroke="grey" d="M1423.42,-305.201C1578.63,-305.398 2101.66,-302.05 2529.95,-252 2538.23,-251.032 2546.9,-249.746 2555.45,-248.314"/>
<polygon fill="grey" stroke="grey" points="2556.15,-251.745 2565.4,-246.576 2554.95,-244.849 2556.15,-251.745"/>
</g>
<!-- test3 -->
<g id="node22" class="node"><title>test3</title>
<ellipse fill="none" stroke="blue" cx="279.948" cy="-234" rx="204.164" ry="18"/>
<text text-anchor="middle" x="279.948" y="-230.3" font-family="Times,serif" font-size="14.00">_alternation_1_of_production_1_of_rule_test3(5..10) &#160;</text>
</g>
<!-- Grammar&#45;&gt;test3 -->
<g id="edge34" class="edge"><title>Grammar&#45;&gt;test3</title>
<path fill="none" stroke="grey" d="M1333.06,-302.577C1203.5,-295.525 817.834,-274.104 497.948,-252 477.595,-250.594 456.182,-249.029 435.049,-247.434"/>
<polygon fill="grey" stroke="grey" points="435.271,-243.94 425.034,-246.674 434.741,-250.92 435.271,-243.94"/>
</g>
<!-- test6 -->
<g id="node23" class="node"><title>test6</title>
<ellipse fill="none" stroke="blue" cx="3085.95" cy="-234" rx="372.334" ry="18"/>
<text text-anchor="middle" x="3085.95" y="-230.3" font-family="Times,serif" font-size="14.00">&lt;rulevar: $test6 = 1&gt; &#160;&#39;a&#39; &lt;commit&gt; &#39;b&#39; &lt;uncommit&gt; &#39;c&#39; &lt;reject: $test6 &amp;&amp; $text&gt; &#160;&lt;uncommit&gt; &#160;&#39;a&#39; &#160;</text>
</g>
<!-- Grammar&#45;&gt;test6 -->
<g id="edge35" class="edge"><title>Grammar&#45;&gt;test6</title>
<path fill="none" stroke="grey" d="M1423.21,-303.269C1592.18,-296.791 2202.19,-273.256 2704.95,-252 2740.25,-250.508 2777.38,-248.899 2814.05,-247.287"/>
<polygon fill="grey" stroke="grey" points="2814.55,-250.769 2824.38,-246.832 2814.24,-243.776 2814.55,-250.769"/>
</g>
<!-- test1&#45;&gt;is -->
<g id="edge3" class="edge"><title>test1&#45;&gt;is</title>
<path fill="none" stroke="grey" d="M994.803,-216.233C960.912,-204.43 915.999,-188.789 883.638,-177.519"/>
<polygon fill="grey" stroke="grey" points="884.619,-174.155 874.024,-174.171 882.317,-180.765 884.619,-174.155"/>
</g>
<!-- test1&#45;&gt;_alternation_1_of_production_1_of_rule_test1 -->
<g id="edge4" class="edge"><title>test1&#45;&gt;_alternation_1_of_production_1_of_rule_test1</title>
<path fill="none" stroke="grey" d="M1079.98,-216.055C1104.81,-204.696 1137.28,-189.843 1161.54,-178.742"/>
<polygon fill="grey" stroke="grey" points="1163.09,-181.88 1170.73,-174.537 1160.18,-175.515 1163.09,-181.88"/>
</g>
<!-- defn&#45;&gt;typename -->
<g id="edge11" class="edge"><title>defn&#45;&gt;typename</title>
<path fill="none" stroke="grey" d="M331.25,-78.9015C243.513,-68.0612 113.358,-50.4501 64.9475,-36 62.8011,-35.3593 60.6191,-34.6168 58.4433,-33.8074"/>
<polygon fill="grey" stroke="grey" points="59.6517,-30.5198 49.0728,-29.9398 56.981,-36.9903 59.6517,-30.5198"/>
</g>
<!-- defn&#45;&gt;id -->
<g id="edge10" class="edge"><title>defn&#45;&gt;id</title>
<path fill="none" stroke="grey" d="M459.812,-73.2906C486.986,-63.3314 522.429,-50.3417 551.833,-39.5655"/>
<polygon fill="grey" stroke="grey" points="553.368,-42.7307 561.553,-36.0033 550.959,-36.1582 553.368,-42.7307"/>
</g>
<!-- test5&#45;&gt;name -->
<g id="edge18" class="edge"><title>test5&#45;&gt;name</title>
<path fill="none" stroke="grey" d="M2368.69,-216.588C2351.84,-206.058 2329.93,-192.366 2312.48,-181.458"/>
<polygon fill="grey" stroke="grey" points="2314.14,-178.371 2303.81,-176.039 2310.43,-184.307 2314.14,-178.371"/>
</g>
<!-- test5&#45;&gt;notname -->
<g id="edge19" class="edge"><title>test5&#45;&gt;notname</title>
<path fill="none" stroke="grey" d="M2409.47,-216.055C2416.84,-207.457 2425.93,-196.857 2434.04,-187.397"/>
<polygon fill="grey" stroke="grey" points="2436.71,-189.659 2440.56,-179.789 2431.39,-185.104 2436.71,-189.659"/>
</g>
<!-- test4&#45;&gt;b -->
<g id="edge21" class="edge"><title>test4&#45;&gt;b</title>
<path fill="none" stroke="grey" d="M2196.71,-216.411C2192.04,-208.042 2186.29,-197.71 2181.08,-188.37"/>
<polygon fill="grey" stroke="grey" points="2184.05,-186.502 2176.12,-179.47 2177.93,-189.909 2184.05,-186.502"/>
</g>
<!-- _alternation_1_of_production_1_of_rule_test3&#45;&gt;defn -->
<g id="edge23" class="edge"><title>_alternation_1_of_production_1_of_rule_test3&#45;&gt;defn</title>
<path fill="none" stroke="grey" d="M416.948,-143.697C416.948,-135.983 416.948,-126.712 416.948,-118.112"/>
<polygon fill="grey" stroke="grey" points="420.448,-118.104 416.948,-108.104 413.448,-118.104 420.448,-118.104"/>
</g>
<!-- _alternation_1_of_production_1_of_rule_test3&#45;&gt;fail -->
<g id="edge25" class="edge"><title>_alternation_1_of_production_1_of_rule_test3&#45;&gt;fail</title>
<path fill="none" stroke="grey" d="M451.363,-145.749C474.941,-135.25 506.901,-120.919 534.948,-108 536.737,-107.176 538.574,-106.324 540.426,-105.462"/>
<polygon fill="grey" stroke="grey" points="542.089,-108.548 549.659,-101.135 539.118,-102.21 542.089,-108.548"/>
</g>
<!-- _alternation_1_of_production_1_of_rule_test3&#45;&gt;typedef -->
<g id="edge24" class="edge"><title>_alternation_1_of_production_1_of_rule_test3&#45;&gt;typedef</title>
<path fill="none" stroke="grey" d="M368.955,-147.669C328.462,-136.421 270.249,-120.25 226.362,-108.06"/>
<polygon fill="grey" stroke="grey" points="227.237,-104.67 216.665,-105.366 225.363,-111.415 227.237,-104.67"/>
</g>
<!-- typedef&#45;&gt;typename -->
<g id="edge28" class="edge"><title>typedef&#45;&gt;typename</title>
<path fill="none" stroke="grey" d="M133.173,-72.7646C110.625,-61.2439 80.5401,-45.8721 58.3151,-34.5163"/>
<polygon fill="grey" stroke="grey" points="59.8136,-31.3516 49.3162,-29.9183 56.6286,-37.585 59.8136,-31.3516"/>
</g>
<!-- typedef&#45;&gt;id -->
<g id="edge27" class="edge"><title>typedef&#45;&gt;id</title>
<path fill="none" stroke="grey" d="M237.109,-77.5975C306.116,-66.6934 411.321,-50.0696 492.072,-37.3099"/>
<polygon fill="grey" stroke="grey" points="492.963,-40.7126 502.294,-35.6946 491.871,-33.7984 492.963,-40.7126"/>
</g>
<!-- test3&#45;&gt;_alternation_1_of_production_1_of_rule_test3 -->
<g id="edge33" class="edge"><title>test3&#45;&gt;_alternation_1_of_production_1_of_rule_test3</title>
<path fill="none" stroke="grey" d="M312.762,-216.233C332.121,-206.342 356.755,-193.755 377.209,-183.305"/>
<polygon fill="grey" stroke="grey" points="378.966,-186.337 386.278,-178.671 375.781,-180.104 378.966,-186.337"/>
</g>
</g>
</svg>