<?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.41.20171026.1811 (20171026.1811) --> <!-- Title: example.y Pages: 1 --> <svg width="751pt" height="420pt" viewBox="0.00 0.00 750.50 420.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 416)"> <title>example.y</title> <polygon fill="white" stroke="transparent" points="-4,4 -4,-416 746.5,-416 746.5,4 -4,4"/> <!-- 0 --> <g id="node1" class="node"> <title>0</title> <polygon fill="none" stroke="black" points="465,-412 255,-412 255,-298 465,-298 465,-412"/> <text text-anchor="middle" x="360" y="-396.8" font-family="Courier,monospace" font-size="14.00">State 0</text> <text text-anchor="start" x="263" y="-365.8" font-family="Courier,monospace" font-size="14.00">  0 $accept: • exp $end</text> <text text-anchor="start" x="263" y="-350.8" font-family="Courier,monospace" font-size="14.00">  1 exp: • a ";"</text> <text text-anchor="start" x="263" y="-335.8" font-family="Courier,monospace" font-size="14.00">  2    | • b "."</text> <text text-anchor="start" x="263" y="-320.8" font-family="Courier,monospace" font-size="14.00">  3 a: • "0"</text> <text text-anchor="start" x="263" y="-305.8" font-family="Courier,monospace" font-size="14.00">  4 b: • "0"</text> </g> <!-- 1 --> <g id="node2" class="node"> <title>1</title> <polygon fill="none" stroke="black" points="176,-247 0,-247 0,-178 176,-178 176,-247"/> <text text-anchor="middle" x="88" y="-231.8" font-family="Courier,monospace" font-size="14.00">State 1</text> <text text-anchor="start" x="8" y="-200.8" font-family="Courier,monospace" font-size="14.00">  3 a: "0" •  [";"]</text> <text text-anchor="start" x="8" y="-185.8" font-family="Courier,monospace" font-size="14.00">  4 b: "0" •  ["."]</text> </g> <!-- 0->1 --> <g id="edge1" class="edge"> <title>0->1</title> <path fill="none" stroke="black" d="M254.84,-299.68C223.95,-283.72 190.82,-266.61 162.28,-251.87"/> <polygon fill="black" stroke="black" points="163.68,-248.65 153.19,-247.17 160.47,-254.87 163.68,-248.65"/> <text text-anchor="middle" x="229" y="-268.8" font-family="Courier,monospace" font-size="14.00">"0"</text> </g> <!-- 2 --> <g id="node3" class="node"> <title>2</title> <polygon fill="none" stroke="black" points="404,-239.5 194,-239.5 194,-185.5 404,-185.5 404,-239.5"/> <text text-anchor="middle" x="299" y="-224.3" font-family="Courier,monospace" font-size="14.00">State 2</text> <text text-anchor="start" x="202" y="-193.3" font-family="Courier,monospace" font-size="14.00">  0 $accept: exp • $end</text> </g> <!-- 0->2 --> <g id="edge2" class="edge"> <title>0->2</title> <path fill="none" stroke="black" stroke-dasharray="5,2" d="M335.54,-297.66C328.42,-281.25 320.83,-263.79 314.43,-249.05"/> <polygon fill="black" stroke="black" points="317.61,-247.57 310.42,-239.8 311.19,-250.36 317.61,-247.57"/> <text text-anchor="middle" x="341" y="-268.8" font-family="Courier,monospace" font-size="14.00">exp</text> </g> <!-- 3 --> <g id="node4" class="node"> <title>3</title> <polygon fill="none" stroke="black" points="573.5,-239.5 422.5,-239.5 422.5,-185.5 573.5,-185.5 573.5,-239.5"/> <text text-anchor="middle" x="498" y="-224.3" font-family="Courier,monospace" font-size="14.00">State 3</text> <text text-anchor="start" x="430.5" y="-193.3" font-family="Courier,monospace" font-size="14.00">  1 exp: a • ";"</text> </g> <!-- 0->3 --> <g id="edge3" class="edge"> <title>0->3</title> <path fill="none" stroke="black" stroke-dasharray="5,2" d="M415.33,-297.66C432.22,-280.47 450.24,-262.13 465.13,-246.96"/> <polygon fill="black" stroke="black" points="467.66,-249.38 472.17,-239.8 462.67,-244.48 467.66,-249.38"/> <text text-anchor="middle" x="450.5" y="-268.8" font-family="Courier,monospace" font-size="14.00">a</text> </g> <!-- 4 --> <g id="node5" class="node"> <title>4</title> <polygon fill="none" stroke="black" points="742.5,-239.5 591.5,-239.5 591.5,-185.5 742.5,-185.5 742.5,-239.5"/> <text text-anchor="middle" x="667" y="-224.3" font-family="Courier,monospace" font-size="14.00">State 4</text> <text text-anchor="start" x="599.5" y="-193.3" font-family="Courier,monospace" font-size="14.00">  2 exp: b • "."</text> </g> <!-- 0->4 --> <g id="edge4" class="edge"> <title>0->4</title> <path fill="none" stroke="black" stroke-dasharray="5,2" d="M465.22,-305.84C510.06,-285.33 561.01,-262.01 600.49,-243.94"/> <polygon fill="black" stroke="black" points="602.12,-247.04 609.76,-239.7 599.21,-240.68 602.12,-247.04"/> <text text-anchor="middle" x="555.5" y="-268.8" font-family="Courier,monospace" font-size="14.00">b</text> </g> <!-- 1R3 --> <g id="node6" class="node"> <title>1R3</title> <polygon fill="#b2df8a" stroke="black" points="38,-118 7.83,-100 38,-82 68.17,-100 38,-118"/> <text text-anchor="middle" x="38" y="-96.3" font-family="Courier,monospace" font-size="14.00">R3</text> </g> <!-- 1->1R3 --> <g id="edge5" class="edge"> <title>1->1R3</title> <path fill="none" stroke="black" d="M72.73,-177.75C64.81,-160.25 55.35,-139.35 48.31,-123.78"/> <polygon fill="black" stroke="black" points="51.38,-122.08 44.07,-114.41 45,-124.97 51.38,-122.08"/> </g> <!-- 1R4 --> <g id="node7" class="node"> <title>1R4</title> <polygon fill="#b2df8a" stroke="black" points="117,-118 86.83,-100 117,-82 147.17,-100 117,-118"/> <text text-anchor="middle" x="117" y="-96.3" font-family="Courier,monospace" font-size="14.00">R4</text> </g> <!-- 1->1R4 --> <g id="edge6" class="edge"> <title>1->1R4</title> <path fill="none" stroke="black" d="M96.86,-177.75C101.27,-160.93 106.51,-140.98 110.54,-125.63"/> <polygon fill="black" stroke="black" points="113.95,-126.4 113.11,-115.83 107.18,-124.62 113.95,-126.4"/> <text text-anchor="middle" x="127.5" y="-148.8" font-family="Courier,monospace" font-size="14.00">["."]</text> </g> <!-- 5 --> <g id="node8" class="node"> <title>5</title> <polygon fill="none" stroke="black" points="404,-127 194,-127 194,-73 404,-73 404,-127"/> <text text-anchor="middle" x="299" y="-111.8" font-family="Courier,monospace" font-size="14.00">State 5</text> <text text-anchor="start" x="202" y="-80.8" font-family="Courier,monospace" font-size="14.00">  0 $accept: exp $end •</text> </g> <!-- 2->5 --> <g id="edge7" class="edge"> <title>2->5</title> <path fill="none" stroke="black" d="M299,-185.31C299,-171.1 299,-153.31 299,-137.74"/> <polygon fill="black" stroke="black" points="302.5,-137.38 299,-127.38 295.5,-137.38 302.5,-137.38"/> <text text-anchor="middle" x="316" y="-148.8" font-family="Courier,monospace" font-size="14.00">$end</text> </g> <!-- 6 --> <g id="node9" class="node"> <title>6</title> <polygon fill="none" stroke="black" points="573.5,-127 422.5,-127 422.5,-73 573.5,-73 573.5,-127"/> <text text-anchor="middle" x="498" y="-111.8" font-family="Courier,monospace" font-size="14.00">State 6</text> <text text-anchor="start" x="430.5" y="-80.8" font-family="Courier,monospace" font-size="14.00">  1 exp: a ";" •</text> </g> <!-- 3->6 --> <g id="edge8" class="edge"> <title>3->6</title> <path fill="none" stroke="black" d="M498,-185.31C498,-171.1 498,-153.31 498,-137.74"/> <polygon fill="black" stroke="black" points="501.5,-137.38 498,-127.38 494.5,-137.38 501.5,-137.38"/> <text text-anchor="middle" x="511" y="-148.8" font-family="Courier,monospace" font-size="14.00">";"</text> </g> <!-- 7 --> <g id="node10" class="node"> <title>7</title> <polygon fill="none" stroke="black" points="742.5,-127 591.5,-127 591.5,-73 742.5,-73 742.5,-127"/> <text text-anchor="middle" x="667" y="-111.8" font-family="Courier,monospace" font-size="14.00">State 7</text> <text text-anchor="start" x="599.5" y="-80.8" font-family="Courier,monospace" font-size="14.00">  2 exp: b "." •</text> </g> <!-- 4->7 --> <g id="edge9" class="edge"> <title>4->7</title> <path fill="none" stroke="black" d="M667,-185.31C667,-171.1 667,-153.31 667,-137.74"/> <polygon fill="black" stroke="black" points="670.5,-137.38 667,-127.38 663.5,-137.38 670.5,-137.38"/> <text text-anchor="middle" x="680" y="-148.8" font-family="Courier,monospace" font-size="14.00">"."</text> </g> <!-- 5R0 --> <g id="node11" class="node"> <title>5R0</title> <polygon fill="#a6cee3" stroke="black" points="299,-36 260.29,-18 299,0 337.71,-18 299,-36"/> <text text-anchor="middle" x="299" y="-14.3" font-family="Courier,monospace" font-size="14.00">Acc</text> </g> <!-- 5->5R0 --> <g id="edge10" class="edge"> <title>5->5R0</title> <path fill="none" stroke="black" d="M299,-72.81C299,-64.35 299,-54.95 299,-46.4"/> <polygon fill="black" stroke="black" points="302.5,-46.17 299,-36.17 295.5,-46.17 302.5,-46.17"/> </g> <!-- 6R1 --> <g id="node12" class="node"> <title>6R1</title> <polygon fill="#b2df8a" stroke="black" points="498,-36 467.83,-18 498,0 528.17,-18 498,-36"/> <text text-anchor="middle" x="498" y="-14.3" font-family="Courier,monospace" font-size="14.00">R1</text> </g> <!-- 6->6R1 --> <g id="edge11" class="edge"> <title>6->6R1</title> <path fill="none" stroke="black" d="M498,-72.81C498,-64.35 498,-54.95 498,-46.4"/> <polygon fill="black" stroke="black" points="501.5,-46.17 498,-36.17 494.5,-46.17 501.5,-46.17"/> </g> <!-- 7R2 --> <g id="node13" class="node"> <title>7R2</title> <polygon fill="#b2df8a" stroke="black" points="667,-36 636.83,-18 667,0 697.17,-18 667,-36"/> <text text-anchor="middle" x="667" y="-14.3" font-family="Courier,monospace" font-size="14.00">R2</text> </g> <!-- 7->7R2 --> <g id="edge12" class="edge"> <title>7->7R2</title> <path fill="none" stroke="black" d="M667,-72.81C667,-64.35 667,-54.95 667,-46.4"/> <polygon fill="black" stroke="black" points="670.5,-46.17 667,-36.17 663.5,-46.17 670.5,-46.17"/> </g> </g> </svg>