This commit is contained in:
milner committed 2026-09-18 16:27:30 +00:00
commit 3170b7b398
96 files changed
+39927

No files matched your search

+290
View File
@@ -0,0 +1,290 @@
<?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 16.0.0 (0)
-->
<!-- Title: grammar Pages: 1 -->
<svg width="431pt" height="341pt"
viewBox="0.00 0.00 431.00 341.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 336.5)">
<title>grammar</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-336.5 427.25,-336.5 427.25,4 -4,4"/>
<text xml:space="preserve" text-anchor="middle" x="211.62" y="-315.2" font-family="Times,serif" font-size="14.00">expr step 1 after: merge S,T_a</text>
<!-- nt_S -->
<g id="node1" class="node">
<title>nt_S</title>
<ellipse fill="none" stroke="red" stroke-width="2.5" cx="22" cy="-175" rx="18" ry="18"/>
<ellipse fill="none" stroke="red" stroke-width="2.5" cx="22" cy="-175" rx="22" ry="22"/>
<text xml:space="preserve" text-anchor="middle" x="22" y="-171.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">S</text>
</g>
<!-- pr_3 -->
<g id="node10" class="node">
<title>pr_3</title>
<polygon fill="none" stroke="red" stroke-width="2.5" points="141.75,-146 85.25,-146 85.25,-110 141.75,-110 141.75,-146"/>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">T_( S T_)</text>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-118.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">p=0.053</text>
</g>
<!-- nt_S&#45;&gt;pr_3 -->
<g id="edge7" class="edge">
<title>nt_S&#45;&gt;pr_3</title>
<path fill="none" stroke="black" d="M42.42,-164.8C51.79,-159.88 63.36,-153.8 74.39,-148.01"/>
<polygon fill="black" stroke="black" points="75.72,-151.27 82.94,-143.52 72.46,-145.07 75.72,-151.27"/>
</g>
<!-- pr_4 -->
<g id="node11" class="node">
<title>pr_4</title>
<polygon fill="none" stroke="red" stroke-width="2.5" points="140.5,-90 86.5,-90 86.5,-54 140.5,-54 140.5,-90"/>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">T_b</text>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">p=0.789</text>
</g>
<!-- nt_S&#45;&gt;pr_4 -->
<g id="edge11" class="edge">
<title>nt_S&#45;&gt;pr_4</title>
<path fill="none" stroke="black" d="M37.08,-157.73C49.53,-142.58 68.29,-120.07 85.25,-101 85.69,-100.5 86.14,-100 86.6,-99.49"/>
<polygon fill="black" stroke="black" points="88.99,-102.06 93.15,-92.32 83.82,-97.34 88.99,-102.06"/>
</g>
<!-- pr_5 -->
<g id="node12" class="node">
<title>pr_5</title>
<polygon fill="none" stroke="red" stroke-width="2.5" points="140.5,-286 86.5,-286 86.5,-250 140.5,-250 140.5,-286"/>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-270.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">S T_+ S</text>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-258.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">p=0.053</text>
</g>
<!-- nt_S&#45;&gt;pr_5 -->
<g id="edge13" class="edge">
<title>nt_S&#45;&gt;pr_5</title>
<path fill="none" stroke="black" d="M25.64,-197.55C29.52,-219.4 39.01,-251.45 62,-267 65.59,-269.43 69.67,-270.96 73.93,-271.84"/>
<polygon fill="black" stroke="black" points="73.59,-275.32 83.86,-272.72 74.21,-268.35 73.59,-275.32"/>
</g>
<!-- pr_7 -->
<g id="node14" class="node">
<title>pr_7</title>
<polygon fill="none" stroke="red" stroke-width="2.5" points="140.5,-36 86.5,-36 86.5,0 140.5,0 140.5,-36"/>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-20.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">a</text>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-8.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">p=0.053</text>
</g>
<!-- nt_S&#45;&gt;pr_7 -->
<g id="edge19" class="edge">
<title>nt_S&#45;&gt;pr_7</title>
<path fill="none" stroke="black" d="M30.65,-153.52C40.05,-128.64 57.53,-86.71 85.09,-46.42"/>
<polygon fill="black" stroke="black" points="87.93,-48.46 90.84,-38.28 82.21,-44.43 87.93,-48.46"/>
</g>
<!-- pr_9 -->
<g id="node16" class="node">
<title>pr_9</title>
<polygon fill="none" stroke="red" stroke-width="2.5" points="140.5,-208 86.5,-208 86.5,-172 140.5,-172 140.5,-208"/>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-192.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">S T_* S</text>
<text xml:space="preserve" text-anchor="middle" x="113.5" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="red">p=0.053</text>
</g>
<!-- nt_S&#45;&gt;pr_9 -->
<g id="edge23" class="edge">
<title>nt_S&#45;&gt;pr_9</title>
<path fill="none" stroke="black" d="M44.67,-178.63C53.54,-180.12 64.07,-181.88 74.17,-183.58"/>
<polygon fill="black" stroke="black" points="73.33,-186.98 83.77,-185.18 74.48,-180.08 73.33,-186.98"/>
</g>
<!-- nt_T__ -->
<g id="node2" class="node">
<title>nt_T__</title>
<ellipse fill="none" stroke="black" cx="210" cy="-184" rx="27" ry="18"/>
<text xml:space="preserve" text-anchor="middle" x="210" y="-180.5" font-family="Helvetica,sans-Serif" font-size="10.00">T_+</text>
</g>
<!-- pr_0 -->
<g id="node7" class="node">
<title>pr_0</title>
<polygon fill="none" stroke="black" points="328,-200 274,-200 274,-164 328,-164 328,-200"/>
<text xml:space="preserve" text-anchor="middle" x="301" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">*</text>
<text xml:space="preserve" text-anchor="middle" x="301" y="-172.5" font-family="Helvetica,sans-Serif" font-size="10.00">p=1.000</text>
</g>
<!-- nt_T__&#45;&gt;pr_0 -->
<g id="edge1" class="edge">
<title>nt_T__&#45;&gt;pr_0</title>
<path fill="none" stroke="black" d="M237.22,-183.41C245.12,-183.23 253.94,-183.03 262.43,-182.84"/>
<polygon fill="black" stroke="black" points="262.23,-186.35 272.15,-182.63 262.07,-179.35 262.23,-186.35"/>
</g>
<!-- pr_1 -->
<g id="node8" class="node">
<title>pr_1</title>
<polygon fill="none" stroke="black" points="328,-146 274,-146 274,-110 328,-110 328,-146"/>
<text xml:space="preserve" text-anchor="middle" x="301" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">)</text>
<text xml:space="preserve" text-anchor="middle" x="301" y="-118.5" font-family="Helvetica,sans-Serif" font-size="10.00">p=1.000</text>
</g>
<!-- nt_T__&#45;&gt;pr_1 -->
<g id="edge3" class="edge">
<title>nt_T__&#45;&gt;pr_1</title>
<path fill="none" stroke="black" d="M230.31,-171.85C240.22,-165.62 252.6,-157.82 264.18,-150.54"/>
<polygon fill="black" stroke="black" points="265.75,-153.68 272.35,-145.39 262.03,-147.76 265.75,-153.68"/>
</g>
<!-- pr_6 -->
<g id="node13" class="node">
<title>pr_6</title>
<polygon fill="none" stroke="black" points="328,-308 274,-308 274,-272 328,-272 328,-308"/>
<text xml:space="preserve" text-anchor="middle" x="301" y="-292.5" font-family="Helvetica,sans-Serif" font-size="10.00">(</text>
<text xml:space="preserve" text-anchor="middle" x="301" y="-280.5" font-family="Helvetica,sans-Serif" font-size="10.00">p=1.000</text>
</g>
<!-- nt_T__&#45;&gt;pr_6 -->
<g id="edge17" class="edge">
<title>nt_T__&#45;&gt;pr_6</title>
<path fill="none" stroke="black" d="M223.13,-200.09C235.51,-216.31 255.5,-241.9 274,-263 274.08,-263.09 274.16,-263.18 274.23,-263.27"/>
<polygon fill="black" stroke="black" points="271.52,-265.48 280.84,-270.51 276.69,-260.76 271.52,-265.48"/>
</g>
<!-- pr_8 -->
<g id="node15" class="node">
<title>pr_8</title>
<polygon fill="none" stroke="black" points="328,-254 274,-254 274,-218 328,-218 328,-254"/>
<text xml:space="preserve" text-anchor="middle" x="301" y="-238.5" font-family="Helvetica,sans-Serif" font-size="10.00">+</text>
<text xml:space="preserve" text-anchor="middle" x="301" y="-226.5" font-family="Helvetica,sans-Serif" font-size="10.00">p=1.000</text>
</g>
<!-- nt_T__&#45;&gt;pr_8 -->
<g id="edge21" class="edge">
<title>nt_T__&#45;&gt;pr_8</title>
<path fill="none" stroke="black" d="M230.75,-195.54C240.5,-201.23 252.56,-208.28 263.88,-214.89"/>
<polygon fill="black" stroke="black" points="261.84,-217.76 272.24,-219.78 265.37,-211.72 261.84,-217.76"/>
</g>
<!-- nt_T_b -->
<g id="node3" class="node">
<title>nt_T_b</title>
<ellipse fill="none" stroke="black" cx="210" cy="-72" rx="27" ry="18"/>
<text xml:space="preserve" text-anchor="middle" x="210" y="-68.5" font-family="Helvetica,sans-Serif" font-size="10.00">T_b</text>
</g>
<!-- pr_2 -->
<g id="node9" class="node">
<title>pr_2</title>
<polygon fill="none" stroke="black" points="328,-90 274,-90 274,-54 328,-54 328,-90"/>
<text xml:space="preserve" text-anchor="middle" x="301" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">b</text>
<text xml:space="preserve" text-anchor="middle" x="301" y="-62.5" font-family="Helvetica,sans-Serif" font-size="10.00">p=1.000</text>
</g>
<!-- nt_T_b&#45;&gt;pr_2 -->
<g id="edge5" class="edge">
<title>nt_T_b&#45;&gt;pr_2</title>
<path fill="none" stroke="black" d="M237.22,-72C245.12,-72 253.94,-72 262.43,-72"/>
<polygon fill="black" stroke="black" points="262.14,-75.5 272.14,-72 262.14,-68.5 262.14,-75.5"/>
</g>
<!-- tm__ -->
<g id="node4" class="node">
<title>tm__</title>
<text xml:space="preserve" text-anchor="middle" x="396.25" y="-205.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#666666">+</text>
</g>
<!-- tm_a -->
<g id="node5" class="node">
<title>tm_a</title>
<text xml:space="preserve" text-anchor="middle" x="210" y="-14.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#666666">a</text>
</g>
<!-- tm_b -->
<g id="node6" class="node">
<title>tm_b</title>
<text xml:space="preserve" text-anchor="middle" x="396.25" y="-68.5" font-family="Helvetica,sans-Serif" font-size="10.00" fill="#666666">b</text>
</g>
<!-- pr_0&#45;&gt;tm__ -->
<g id="edge2" class="edge">
<title>pr_0&#45;&gt;tm__</title>
<path fill="none" stroke="black" d="M328.47,-189.66C337.78,-192.36 348.42,-195.44 358.43,-198.34"/>
<polygon fill="black" stroke="black" points="357.32,-201.66 367.9,-201.08 359.27,-194.94 357.32,-201.66"/>
<text xml:space="preserve" text-anchor="middle" x="348.62" y="-197.45" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_1&#45;&gt;tm__ -->
<g id="edge4" class="edge">
<title>pr_1&#45;&gt;tm__</title>
<path fill="none" stroke="black" d="M323.16,-146.38C335.98,-157.51 352.49,-171.86 366.49,-184.01"/>
<polygon fill="black" stroke="black" points="363.83,-186.34 373.67,-190.26 368.42,-181.06 363.83,-186.34"/>
<text xml:space="preserve" text-anchor="middle" x="348.62" y="-170.45" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_2&#45;&gt;tm_b -->
<g id="edge6" class="edge">
<title>pr_2&#45;&gt;tm_b</title>
<path fill="none" stroke="black" d="M328.47,-72C337.68,-72 348.19,-72 358.11,-72"/>
<polygon fill="black" stroke="black" points="357.84,-75.5 367.84,-72 357.84,-68.5 357.84,-75.5"/>
<text xml:space="preserve" text-anchor="middle" x="348.62" y="-73.95" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_3&#45;&gt;nt_S -->
<g id="edge9" class="edge">
<title>pr_3&#45;&gt;nt_S</title>
<path fill="none" stroke="black" d="M84.05,-131.1C76.59,-132.66 68.76,-134.99 62,-138.5 56.09,-141.56 50.43,-145.78 45.35,-150.26"/>
<polygon fill="black" stroke="black" points="43.28,-147.39 38.48,-156.84 48.12,-152.45 43.28,-147.39"/>
<text xml:space="preserve" text-anchor="middle" x="64.62" y="-140.45" font-family="Helvetica,sans-Serif" font-size="9.00">2</text>
</g>
<!-- pr_3&#45;&gt;nt_T__ -->
<g id="edge8" class="edge">
<title>pr_3&#45;&gt;nt_T__</title>
<path fill="none" stroke="black" d="M142.85,-144.8C154.37,-151.63 167.69,-159.52 179.34,-166.42"/>
<polygon fill="black" stroke="black" points="177.38,-169.33 187.76,-171.42 180.94,-163.31 177.38,-169.33"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-159.63" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_3&#45;&gt;nt_T__ -->
<g id="edge10" class="edge">
<title>pr_3&#45;&gt;nt_T__</title>
<path fill="none" stroke="black" d="M142.74,-132.87C150.28,-134.87 158.21,-137.66 165,-141.5 173.64,-146.38 181.83,-153.37 188.76,-160.26"/>
<polygon fill="black" stroke="black" points="185.8,-162.23 195.21,-167.09 190.88,-157.42 185.8,-162.23"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-143.45" font-family="Helvetica,sans-Serif" font-size="9.00">3</text>
</g>
<!-- pr_4&#45;&gt;nt_T_b -->
<g id="edge12" class="edge">
<title>pr_4&#45;&gt;nt_T_b</title>
<path fill="none" stroke="black" d="M141.58,-72C150.83,-72 161.35,-72 171.29,-72"/>
<polygon fill="black" stroke="black" points="171.05,-75.5 181.05,-72 171.05,-68.5 171.05,-75.5"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-73.95" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_5&#45;&gt;nt_S -->
<g id="edge14" class="edge">
<title>pr_5&#45;&gt;nt_S</title>
<path fill="none" stroke="black" d="M94,-248.77C80.19,-234.42 61.22,-214.71 46.36,-199.27"/>
<polygon fill="black" stroke="black" points="49.1,-197.07 39.64,-192.29 44.05,-201.92 49.1,-197.07"/>
<text xml:space="preserve" text-anchor="middle" x="64.62" y="-220.66" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_5&#45;&gt;nt_S -->
<g id="edge16" class="edge">
<title>pr_5&#45;&gt;nt_S</title>
<path fill="none" stroke="black" d="M85.32,-283.78C77.31,-286.34 68.86,-286.8 62,-282 38.65,-265.66 29.23,-233.79 25.46,-209.06"/>
<polygon fill="black" stroke="black" points="28.97,-208.93 24.24,-199.44 22.02,-209.8 28.97,-208.93"/>
<text xml:space="preserve" text-anchor="middle" x="64.62" y="-286.41" font-family="Helvetica,sans-Serif" font-size="9.00">3</text>
</g>
<!-- pr_5&#45;&gt;nt_T__ -->
<g id="edge15" class="edge">
<title>pr_5&#45;&gt;nt_T__</title>
<path fill="none" stroke="black" d="M135.94,-248.94C150.42,-236.07 169.56,-219.06 184.61,-205.68"/>
<polygon fill="black" stroke="black" points="186.66,-208.54 191.81,-199.28 182.01,-203.31 186.66,-208.54"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-227.95" font-family="Helvetica,sans-Serif" font-size="9.00">2</text>
</g>
<!-- pr_6&#45;&gt;tm__ -->
<g id="edge18" class="edge">
<title>pr_6&#45;&gt;tm__</title>
<path fill="none" stroke="black" d="M323.16,-271.62C335.98,-260.49 352.49,-246.14 366.49,-233.99"/>
<polygon fill="black" stroke="black" points="368.42,-236.94 373.67,-227.74 363.83,-231.66 368.42,-236.94"/>
<text xml:space="preserve" text-anchor="middle" x="348.62" y="-251.45" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_7&#45;&gt;tm_a -->
<g id="edge20" class="edge">
<title>pr_7&#45;&gt;tm_a</title>
<path fill="none" stroke="black" d="M141.58,-18C150.99,-18 161.71,-18 171.79,-18"/>
<polygon fill="black" stroke="black" points="171.7,-21.5 181.7,-18 171.7,-14.5 171.7,-21.5"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-19.95" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_8&#45;&gt;tm__ -->
<g id="edge22" class="edge">
<title>pr_8&#45;&gt;tm__</title>
<path fill="none" stroke="black" d="M328.47,-228.34C337.78,-225.64 348.42,-222.56 358.43,-219.66"/>
<polygon fill="black" stroke="black" points="359.27,-223.06 367.9,-216.92 357.32,-216.34 359.27,-223.06"/>
<text xml:space="preserve" text-anchor="middle" x="348.62" y="-224.45" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_9&#45;&gt;nt_S -->
<g id="edge24" class="edge">
<title>pr_9&#45;&gt;nt_S</title>
<path fill="none" stroke="black" d="M85.51,-174.08C79.67,-171.36 73.4,-168.94 67.25,-167.5 63.34,-166.58 59.21,-166.34 55.1,-166.53"/>
<polygon fill="black" stroke="black" points="54.76,-163.05 45.32,-167.85 55.7,-169.98 54.76,-163.05"/>
<text xml:space="preserve" text-anchor="middle" x="64.62" y="-169.45" font-family="Helvetica,sans-Serif" font-size="9.00">1</text>
</g>
<!-- pr_9&#45;&gt;nt_S -->
<g id="edge26" class="edge">
<title>pr_9&#45;&gt;nt_S</title>
<path fill="none" stroke="black" d="M85.27,-196.85C77.67,-197.79 69.45,-197.88 62,-196 58.42,-195.1 54.81,-193.8 51.31,-192.27"/>
<polygon fill="black" stroke="black" points="53.13,-189.27 42.62,-187.92 50,-195.53 53.13,-189.27"/>
<text xml:space="preserve" text-anchor="middle" x="64.62" y="-198.77" font-family="Helvetica,sans-Serif" font-size="9.00">3</text>
</g>
<!-- pr_9&#45;&gt;nt_T__ -->
<g id="edge25" class="edge">
<title>pr_9&#45;&gt;nt_T__</title>
<path fill="none" stroke="black" d="M141.58,-188.28C150.91,-187.69 161.53,-187.01 171.54,-186.38"/>
<polygon fill="black" stroke="black" points="171.62,-189.88 181.38,-185.75 171.18,-182.89 171.62,-189.88"/>
<text xml:space="preserve" text-anchor="middle" x="162.38" y="-188.95" font-family="Helvetica,sans-Serif" font-size="9.00">2</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB