- Updated `.gitignore`

- Added `.svg` plots
This commit is contained in:
Tristan B. Velloza Kildaire 2023-04-18 17:43:35 +02:00
parent d27ea3530d
commit 4542bfd58e
8 changed files with 739 additions and 2 deletions

4
.gitignore vendored
View File

@ -10,9 +10,9 @@ site/
*.aux
# Any generated artefacts
docs/graphs/*.png
docs/graphs/*.svg
book.ad
book.pdf
tlang.html
texput.pdf
graphs/*.html
docs/graphs/*.html

View File

@ -0,0 +1,67 @@
<?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 5.0.0 (0)
-->
<!-- Title: Pooling Pages: 1 -->
<svg width="272pt" height="514pt"
viewBox="0.00 0.00 272.48 514.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 510)">
<title>Pooling</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-510 268.48,-510 268.48,4 -4,4"/>
<text text-anchor="middle" x="132.24" y="-490.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Pooling of a parse node to a DNode</text>
<!-- DNode_1 -->
<g id="node1" class="node">
<title>DNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="173.5,-236 1.5,-236 1.5,0 173.5,0 173.5,-236"/>
<polygon fill="none" stroke="black" points="1.5,-211 1.5,-236 173.5,-236 173.5,-211 1.5,-211"/>
<text text-anchor="start" x="61" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="65" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="110" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="1.5,-125 1.5,-211 173.5,-211 173.5,-125 1.5,-125"/>
<text text-anchor="start" x="8.5" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties</text>
<text text-anchor="start" x="8.5" y="-173.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; DNode[] dependencies &#160;&#160;</text>
<text text-anchor="start" x="8.5" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Statement entity</text>
<text text-anchor="start" x="8.5" y="-135.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="1.5,-100 1.5,-125 173.5,-125 173.5,-100 1.5,-100"/>
<text text-anchor="start" x="6.5" y="-108.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="1.5,-75 1.5,-100 173.5,-100 173.5,-75 1.5,-75"/>
<text text-anchor="start" x="6.5" y="-83.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ needs(DNode)</text>
<polygon fill="none" stroke="black" points="1.5,-50 1.5,-75 173.5,-75 173.5,-50 1.5,-50"/>
<text text-anchor="start" x="6.5" y="-58.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ isVisited()</text>
<polygon fill="none" stroke="black" points="1.5,-25 1.5,-50 173.5,-50 173.5,-25 1.5,-25"/>
<text text-anchor="start" x="6.5" y="-33.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ markVisited()</text>
<polygon fill="none" stroke="black" points="1.5,0 1.5,-25 173.5,-25 173.5,0 1.5,0"/>
<text text-anchor="start" x="6.5" y="-8.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getEntity()</text>
</g>
<!-- SubDNode_1 -->
<g id="node2" class="node">
<title>SubDNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="175,-483 0,-483 0,-272 175,-272 175,-483"/>
<polygon fill="none" stroke="black" points="0.5,-457.5 0.5,-482.5 175.5,-482.5 175.5,-457.5 0.5,-457.5"/>
<text text-anchor="start" x="5.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="9.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Variable node (PNode) &#160;&#160;</text>
<text text-anchor="start" x="166.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0.5,-371.5 0.5,-457.5 175.5,-457.5 175.5,-371.5 0.5,-371.5"/>
<text text-anchor="start" x="7.5" y="-439.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="7.5" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string name</text>
<text text-anchor="start" x="7.5" y="-401.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string type</text>
<text text-anchor="start" x="7.5" y="-382.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="0.5,-346.5 0.5,-371.5 175.5,-371.5 175.5,-346.5 0.5,-346.5"/>
<text text-anchor="start" x="5.5" y="-355.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="0.5,-321.5 0.5,-346.5 175.5,-346.5 175.5,-321.5 0.5,-321.5"/>
<text text-anchor="start" x="5.5" y="-330.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getName()</text>
<polygon fill="none" stroke="black" points="0.5,-296.5 0.5,-321.5 175.5,-321.5 175.5,-296.5 0.5,-296.5"/>
<text text-anchor="start" x="5.5" y="-305.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getType()</text>
<polygon fill="none" stroke="black" points="0.5,-271.5 0.5,-296.5 175.5,-296.5 175.5,-271.5 0.5,-271.5"/>
<text text-anchor="start" x="5.5" y="-280.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ hasAssignment() &#160;&#160;</text>
</g>
<!-- SubDNode_1&#45;&gt;DNode_1 -->
<g id="edge1" class="edge">
<title>SubDNode_1&#45;&gt;DNode_1:containedEntity</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M170.08,-263.07C201.77,-210.3 219.67,-159 169.5,-159"/>
<polygon fill="none" stroke="black" points="166.92,-261.54 164.67,-271.89 172.88,-265.2 166.92,-261.54"/>
<text text-anchor="middle" x="227.48" y="-228.2" font-family="Helvetica,Arial,sans-serif" font-size="14.00">pooled by &#160;&#160;&#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,207 @@
<?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 5.0.0 (0)
-->
<!-- Title: CodequeueProcess Pages: 1 -->
<svg width="463pt" height="730pt"
viewBox="0.00 0.00 462.91 730.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 726)">
<title>CodequeueProcess</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-726 458.91,-726 458.91,4 -4,4"/>
<text text-anchor="middle" x="227.46" y="-706.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Code queueing process</text>
<g id="clust1" class="cluster">
<title>clusterLiteral</title>
<polygon fill="lightgrey" stroke="lightgrey" points="315,-8 315,-84 402,-84 402,-8 315,-8"/>
<text text-anchor="middle" x="358.5" y="-68.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">LiteralValue</text>
</g>
<g id="clust2" class="cluster">
<title>clusterFuncCall</title>
<polygon fill="lightgrey" stroke="lightgrey" points="8,-8 8,-84 118,-84 118,-8 8,-8"/>
<text text-anchor="middle" x="63" y="-68.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">FuncCall</text>
</g>
<g id="clust3" class="cluster">
<title>clusterBinaryOp</title>
<polygon fill="lightgrey" stroke="lightgrey" points="51,-92 51,-168 319,-168 319,-92 51,-92"/>
<text text-anchor="middle" x="185" y="-152.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">BinaryOp</text>
</g>
<!-- Codequeue0 -->
<g id="node1" class="node">
<title>Codequeue0</title>
<polygon fill="#f2f2f2" stroke="transparent" points="423,-699 257,-699 257,-645 423,-645 423,-699"/>
<polygon fill="none" stroke="black" points="257,-674 257,-699 423,-699 423,-674 257,-674"/>
<text text-anchor="start" x="262" y="-683.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="266" y="-683.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 0) &#160;&#160;&#160;</text>
<text text-anchor="start" x="414" y="-683.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="257,-645 257,-674 423,-674 423,-645 257,-645"/>
<text text-anchor="start" x="264" y="-656.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
<text text-anchor="start" x="295" y="-656.8" font-family="Helvetica,Arial,sans-serif" font-style="italic" font-size="14.00">Empty queue</text>
<text text-anchor="start" x="376" y="-656.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;</text>
</g>
<!-- Codequeue1 -->
<g id="node2" class="node">
<title>Codequeue1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="423,-609 257,-609 257,-555 423,-555 423,-609"/>
<polygon fill="none" stroke="black" points="257,-584 257,-609 423,-609 423,-584 257,-584"/>
<text text-anchor="start" x="262" y="-593.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="266" y="-593.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 1)</text>
<text text-anchor="start" x="399" y="-593.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;</text>
<polygon fill="none" stroke="black" points="257,-555 257,-584 423,-584 423,-555 257,-555"/>
<text text-anchor="start" x="264" y="-565.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; LiteralValue</text>
</g>
<!-- Codequeue0&#45;&gt;Codequeue1 -->
<g id="edge1" class="edge">
<title>Codequeue0&#45;&gt;Codequeue1</title>
<path fill="none" stroke="black" d="M340,-644.6C340,-636.61 340,-627.69 340,-619.18"/>
<polygon fill="black" stroke="black" points="343.5,-619.08 340,-609.08 336.5,-619.08 343.5,-619.08"/>
<text text-anchor="middle" x="302" y="-630.63" font-family="Times,serif" font-size="14.00">addInstr() </text>
</g>
<!-- cl1_value -->
<g id="node3" class="node">
<title>cl1_value</title>
<polygon fill="#f2f2f2" stroke="black" points="326,-16.5 326,-52.5 390,-52.5 390,-16.5 326,-16.5"/>
<text text-anchor="middle" x="358" y="-30.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">value: 1</text>
</g>
<!-- Codequeue1&#45;&gt;cl1_value -->
<g id="edge2" class="edge">
<title>Codequeue1:ss1&#45;&gt;cl1_value</title>
<path fill="none" stroke="black" d="M419,-569C501.24,-569 415,-466.24 415,-384 415,-384 415,-384 415,-202 415,-150.22 390.02,-94.03 373.13,-61.96"/>
<polygon fill="black" stroke="black" points="376.02,-59.95 368.19,-52.81 369.87,-63.28 376.02,-59.95"/>
</g>
<!-- Codequeue2 -->
<g id="node5" class="node">
<title>Codequeue2</title>
<polygon fill="#f2f2f2" stroke="transparent" points="368,-519 202,-519 202,-446 368,-446 368,-519"/>
<polygon fill="none" stroke="black" points="202,-493.5 202,-518.5 368,-518.5 368,-493.5 202,-493.5"/>
<text text-anchor="start" x="207" y="-503.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="211" y="-503.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 2) &#160;&#160;&#160;</text>
<text text-anchor="start" x="359" y="-503.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="202,-445.5 202,-493.5 368,-493.5 368,-445.5 202,-445.5"/>
<text text-anchor="start" x="209" y="-475.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; FuncCall</text>
<text text-anchor="start" x="209" y="-456.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; LiteralValue</text>
</g>
<!-- Codequeue1&#45;&gt;Codequeue2 -->
<g id="edge3" class="edge">
<title>Codequeue1&#45;&gt;Codequeue2</title>
<path fill="none" stroke="black" d="M325.26,-554.87C320.58,-546.58 315.27,-537.16 310.08,-527.96"/>
<polygon fill="black" stroke="black" points="305.16,-519.23 313.99,-525.73 307.61,-523.59 310.07,-527.94 310.07,-527.94 310.07,-527.94 307.61,-523.59 306.15,-530.15 305.16,-519.23 305.16,-519.23"/>
<text text-anchor="middle" x="277.2" y="-540.84" font-family="Times,serif" font-size="14.00">addInstr() </text>
</g>
<!-- cl2_value -->
<g id="node4" class="node">
<title>cl2_value</title>
<polygon fill="#f2f2f2" stroke="black" points="16.5,-16.5 16.5,-52.5 109.5,-52.5 109.5,-16.5 16.5,-16.5"/>
<text text-anchor="middle" x="63" y="-30.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">symbol: func</text>
</g>
<!-- Codequeue2&#45;&gt;cl1_value -->
<g id="edge5" class="edge">
<title>Codequeue2:ss2&#45;&gt;cl1_value</title>
<path fill="none" stroke="black" d="M364,-459.5C437.78,-459.5 377,-367.78 377,-294 377,-294 377,-294 377,-202 377,-152.86 368.73,-96.08 363.1,-63.14"/>
<polygon fill="black" stroke="black" points="361.31,-52.92 367.47,-62 362.17,-57.85 363.04,-62.77 363.04,-62.77 363.04,-62.77 362.17,-57.85 358.6,-63.55 361.31,-52.92 361.31,-52.92"/>
</g>
<!-- Codequeue2&#45;&gt;cl2_value -->
<g id="edge4" class="edge">
<title>Codequeue2:ss1&#45;&gt;cl2_value</title>
<path fill="none" stroke="black" d="M206,-478.5C92.98,-478.5 31,-407.02 31,-294 31,-294 31,-294 31,-202 31,-152.07 45.05,-95.2 54.53,-62.51"/>
<polygon fill="black" stroke="black" points="57.43,-52.79 58.89,-63.66 56,-57.58 54.57,-62.37 54.57,-62.37 54.57,-62.37 56,-57.58 50.26,-61.09 57.43,-52.79 57.43,-52.79"/>
</g>
<!-- Codequeue3 -->
<g id="node6" class="node">
<title>Codequeue3</title>
<polygon fill="#f2f2f2" stroke="transparent" points="349,-410 183,-410 183,-356 349,-356 349,-410"/>
<polygon fill="none" stroke="black" points="183,-385 183,-410 349,-410 349,-385 183,-385"/>
<text text-anchor="start" x="188" y="-394.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="192" y="-394.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 3) &#160;&#160;&#160;</text>
<text text-anchor="start" x="340" y="-394.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="183,-356 183,-385 349,-385 349,-356 183,-356"/>
<text text-anchor="start" x="190" y="-366.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; LiteralValue</text>
</g>
<!-- Codequeue2&#45;&gt;Codequeue3 -->
<g id="edge6" class="edge">
<title>Codequeue2&#45;&gt;Codequeue3</title>
<path fill="none" stroke="black" d="M278.03,-445.75C276.41,-437.4 274.67,-428.51 273.04,-420.15"/>
<polygon fill="black" stroke="black" points="271.12,-410.28 277.45,-419.24 272.08,-415.19 273.03,-420.1 273.03,-420.1 273.03,-420.1 272.08,-415.19 268.62,-420.96 271.12,-410.28 271.12,-410.28"/>
<text text-anchor="middle" x="236.6" y="-431.91" font-family="Times,serif" font-size="14.00">popInstr() </text>
</g>
<!-- Codequeue3&#45;&gt;cl1_value -->
<g id="edge7" class="edge">
<title>Codequeue3:ss2&#45;&gt;cl1_value</title>
<path fill="none" stroke="black" d="M294.88,-355.78C304.4,-345.56 314.06,-333.14 320,-320 359.58,-232.47 361.1,-115.42 359.43,-62.96"/>
<polygon fill="black" stroke="black" points="359.04,-52.78 363.92,-62.6 359.23,-57.78 359.43,-62.77 359.43,-62.77 359.43,-62.77 359.23,-57.78 354.93,-62.95 359.04,-52.78 359.04,-52.78"/>
</g>
<!-- Codequeue4 -->
<g id="node7" class="node">
<title>Codequeue4</title>
<polygon fill="#f2f2f2" stroke="transparent" points="310.5,-320 129.5,-320 129.5,-266 310.5,-266 310.5,-320"/>
<polygon fill="none" stroke="black" points="130,-295 130,-320 311,-320 311,-295 130,-295"/>
<text text-anchor="start" x="135" y="-304.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="139" y="-304.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 4.0 ) &#160;&#160;&#160;</text>
<text text-anchor="start" x="302" y="-304.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="130,-266 130,-295 311,-295 311,-266 130,-266"/>
<text text-anchor="start" x="137" y="-277.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
<text text-anchor="start" x="168" y="-277.8" font-family="Helvetica,Arial,sans-serif" font-style="italic" font-size="14.00">Empty queue</text>
<text text-anchor="start" x="249" y="-277.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;</text>
</g>
<!-- Codequeue3&#45;&gt;Codequeue4 -->
<g id="edge8" class="edge">
<title>Codequeue3&#45;&gt;Codequeue4</title>
<path fill="none" stroke="black" d="M252.2,-355.6C247.84,-347.26 242.95,-337.9 238.32,-329.06"/>
<polygon fill="black" stroke="black" points="233.63,-320.08 242.25,-326.86 235.95,-324.51 238.27,-328.94 238.27,-328.94 238.27,-328.94 235.95,-324.51 234.28,-331.03 233.63,-320.08 233.63,-320.08"/>
<text text-anchor="middle" x="204.93" y="-341.67" font-family="Times,serif" font-size="14.00">popInstr() </text>
</g>
<!-- Codequeue5 -->
<g id="node8" class="node">
<title>Codequeue5</title>
<polygon fill="#f2f2f2" stroke="transparent" points="310.5,-230 129.5,-230 129.5,-176 310.5,-176 310.5,-230"/>
<polygon fill="none" stroke="black" points="130,-205 130,-230 311,-230 311,-205 130,-205"/>
<text text-anchor="start" x="135" y="-214.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="139" y="-214.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Code queue (state 4.1 ) &#160;&#160;&#160;</text>
<text text-anchor="start" x="302" y="-214.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="130,-176 130,-205 311,-205 311,-176 130,-176"/>
<text text-anchor="start" x="137" y="-186.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; BinOpInstr</text>
</g>
<!-- Codequeue4&#45;&gt;Codequeue5 -->
<g id="edge9" class="edge">
<title>Codequeue4&#45;&gt;Codequeue5</title>
<path fill="none" stroke="black" d="M220,-265.6C220,-257.61 220,-248.69 220,-240.18"/>
<polygon fill="black" stroke="black" points="220,-230.08 224.5,-240.08 220,-235.08 220,-240.08 220,-240.08 220,-240.08 220,-235.08 215.5,-240.08 220,-230.08 220,-230.08"/>
<text text-anchor="middle" x="182" y="-251.63" font-family="Times,serif" font-size="14.00">addInstr() </text>
</g>
<!-- cl3_value -->
<g id="node9" class="node">
<title>cl3_value</title>
<polygon fill="#f2f2f2" stroke="black" points="227.5,-100.5 227.5,-136.5 310.5,-136.5 310.5,-100.5 227.5,-100.5"/>
<text text-anchor="middle" x="269" y="-114.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">operator: +</text>
</g>
<!-- Codequeue5&#45;&gt;cl3_value -->
<g id="edge12" class="edge">
<title>Codequeue5:ss1&#45;&gt;cl3_value</title>
<path fill="none" stroke="black" d="M221,-180C221,-166.22 228.74,-153.75 238,-143.76"/>
<polygon fill="black" stroke="black" points="245.28,-136.63 241.29,-146.84 241.71,-140.13 238.14,-143.63 238.14,-143.63 238.14,-143.63 241.71,-140.13 234.99,-140.41 245.28,-136.63 245.28,-136.63"/>
</g>
<!-- leftInstr -->
<g id="node10" class="node">
<title>leftInstr</title>
<polygon fill="#f2f2f2" stroke="black" points="147,-100.5 147,-136.5 209,-136.5 209,-100.5 147,-100.5"/>
<text text-anchor="middle" x="178" y="-114.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">leftInstr</text>
</g>
<!-- leftInstr&#45;&gt;cl1_value -->
<g id="edge10" class="edge">
<title>leftInstr&#45;&gt;cl1_value</title>
<path fill="none" stroke="black" d="M204.08,-100.36C208.96,-97.42 214.07,-94.51 219,-92 250.77,-75.81 288.3,-60.79 316.35,-50.3"/>
<polygon fill="black" stroke="black" points="325.85,-46.79 318.03,-54.48 321.16,-48.53 316.47,-50.26 316.47,-50.26 316.47,-50.26 321.16,-48.53 314.91,-46.04 325.85,-46.79 325.85,-46.79"/>
</g>
<!-- rightInstr -->
<g id="node11" class="node">
<title>rightInstr</title>
<polygon fill="#f2f2f2" stroke="black" points="59.5,-100.5 59.5,-136.5 128.5,-136.5 128.5,-100.5 59.5,-100.5"/>
<text text-anchor="middle" x="94" y="-114.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">rightInstr</text>
</g>
<!-- rightInstr&#45;&gt;cl2_value -->
<g id="edge11" class="edge">
<title>rightInstr&#45;&gt;cl2_value</title>
<path fill="none" stroke="black" d="M87.43,-100.11C83.25,-89.06 77.75,-74.53 73.04,-62.05"/>
<polygon fill="black" stroke="black" points="69.46,-52.58 77.2,-60.35 71.23,-57.26 72.99,-61.94 72.99,-61.94 72.99,-61.94 71.23,-57.26 68.79,-63.53 69.46,-52.58 69.46,-52.58"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -0,0 +1,107 @@
<?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 5.0.0 (0)
-->
<!-- Title: DependencyNodes Pages: 1 -->
<svg width="443pt" height="431pt"
viewBox="0.00 0.00 442.50 431.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 427)">
<title>DependencyNodes</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-427 438.5,-427 438.5,4 -4,4"/>
<text text-anchor="middle" x="217.25" y="-407.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Dependency nodes</text>
<!-- DNode_1 -->
<g id="node1" class="node">
<title>DNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="300,-236 128,-236 128,0 300,0 300,-236"/>
<polygon fill="none" stroke="black" points="128,-211 128,-236 300,-236 300,-211 128,-211"/>
<text text-anchor="start" x="187.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="191.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="236.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="128,-125 128,-211 300,-211 300,-125 128,-125"/>
<text text-anchor="start" x="135" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties</text>
<text text-anchor="start" x="135" y="-173.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; DNode[] dependencies &#160;&#160;</text>
<text text-anchor="start" x="135" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Statement entity</text>
<text text-anchor="start" x="135" y="-135.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="128,-100 128,-125 300,-125 300,-100 128,-100"/>
<text text-anchor="start" x="133" y="-108.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="128,-75 128,-100 300,-100 300,-75 128,-75"/>
<text text-anchor="start" x="133" y="-83.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ needs(DNode)</text>
<polygon fill="none" stroke="black" points="128,-50 128,-75 300,-75 300,-50 128,-50"/>
<text text-anchor="start" x="133" y="-58.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ isVisited()</text>
<polygon fill="none" stroke="black" points="128,-25 128,-50 300,-50 300,-25 128,-25"/>
<text text-anchor="start" x="133" y="-33.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ markVisited()</text>
<polygon fill="none" stroke="black" points="128,0 128,-25 300,-25 300,0 128,0"/>
<text text-anchor="start" x="133" y="-8.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getEntity()</text>
</g>
<!-- SubDNode_1 -->
<g id="node2" class="node">
<title>SubDNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="128,-400 0,-400 0,-272 128,-272 128,-400"/>
<polygon fill="none" stroke="black" points="0,-375 0,-400 128,-400 128,-375 0,-375"/>
<text text-anchor="start" x="37.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="41.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="86.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0,-327 0,-375 128,-375 128,-327 0,-327"/>
<text text-anchor="start" x="7" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="7" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="0,-272 0,-327 128,-327 128,-272 0,-272"/>
<text text-anchor="start" x="5" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ method</text>
<text text-anchor="start" x="5" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="41" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_1&#45;&gt;DNode_1 -->
<g id="edge1" class="edge">
<title>SubDNode_1&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M68.89,-259.74C76.06,-219.44 92.93,-178 132,-178"/>
<polygon fill="black" stroke="black" points="68.89,-259.74 71.91,-266.28 67.04,-271.59 64.01,-265.05 68.89,-259.74"/>
<text text-anchor="middle" x="46.3" y="-219.76" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on</text>
</g>
<!-- SubDNode_2 -->
<g id="node3" class="node">
<title>SubDNode_2</title>
<polygon fill="#f2f2f2" stroke="transparent" points="281.5,-400 146.5,-400 146.5,-272 281.5,-272 281.5,-400"/>
<polygon fill="none" stroke="black" points="147,-375 147,-400 282,-400 282,-375 147,-375"/>
<text text-anchor="start" x="188" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="192" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="237" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="147,-327 147,-375 282,-375 282,-327 147,-327"/>
<text text-anchor="start" x="154" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="154" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="147,-272 147,-327 282,-327 282,-272 147,-272"/>
<text text-anchor="start" x="152" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ methods</text>
<text text-anchor="start" x="152" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="191.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_2&#45;&gt;DNode_1 -->
<g id="edge2" class="edge">
<title>SubDNode_2&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M280.15,-262.07C312.79,-221.05 337.22,-178 296,-178"/>
<polygon fill="black" stroke="black" points="279.98,-262.29 279.29,-269.46 272.4,-271.59 273.09,-264.42 279.98,-262.29"/>
<text text-anchor="middle" x="343.21" y="-235.4" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on &#160;&#160;</text>
</g>
<!-- SubDNode_3 -->
<g id="node4" class="node">
<title>SubDNode_3</title>
<polygon fill="#f2f2f2" stroke="transparent" points="434.5,-400 299.5,-400 299.5,-272 434.5,-272 434.5,-400"/>
<polygon fill="none" stroke="black" points="300,-375 300,-400 435,-400 435,-375 300,-375"/>
<text text-anchor="start" x="341" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="345" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="390" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="300,-327 300,-375 435,-375 435,-327 300,-327"/>
<text text-anchor="start" x="307" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="307" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="300,-272 300,-327 435,-327 435,-272 300,-272"/>
<text text-anchor="start" x="305" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ methods</text>
<text text-anchor="start" x="305" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="344.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_3&#45;&gt;DNode_1 -->
<g id="edge3" class="edge">
<title>SubDNode_3&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M360.87,-259.74C353,-219.44 335.34,-178 296,-178"/>
<polygon fill="black" stroke="black" points="360.88,-259.77 365.84,-265 362.93,-271.59 357.96,-266.37 360.88,-259.77"/>
<text text-anchor="middle" x="388.06" y="-219.55" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on &#160;&#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

View File

@ -0,0 +1,115 @@
<?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 5.0.0 (0)
-->
<!-- Title: CompilationProcess Pages: 1 -->
<svg width="199pt" height="553pt"
viewBox="0.00 0.00 199.00 553.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 549)">
<title>CompilationProcess</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-549 195,-549 195,4 -4,4"/>
<text text-anchor="middle" x="95.5" y="-529.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Compilation process</text>
<!-- Lexer -->
<g id="node1" class="node">
<title>Lexer</title>
<polygon fill="#f2f2f2" stroke="transparent" points="123,-522 68,-522 68,-497 123,-497 123,-522"/>
<polygon fill="none" stroke="black" points="68.5,-496.5 68.5,-521.5 123.5,-521.5 123.5,-496.5 68.5,-496.5"/>
<text text-anchor="start" x="73.5" y="-506.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="77.5" y="-506.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Lexer</text>
<text text-anchor="start" x="114.5" y="-506.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
</g>
<!-- Parser -->
<g id="node2" class="node">
<title>Parser</title>
<polygon fill="#f2f2f2" stroke="transparent" points="126,-461 65,-461 65,-436 126,-436 126,-461"/>
<polygon fill="none" stroke="black" points="65.5,-435.5 65.5,-460.5 126.5,-460.5 126.5,-435.5 65.5,-435.5"/>
<text text-anchor="start" x="70.5" y="-445.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="74.5" y="-445.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Parser</text>
<text text-anchor="start" x="117.5" y="-445.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
</g>
<!-- Lexer&#45;&gt;Parser -->
<g id="edge1" class="edge">
<title>Lexer&#45;&gt;Parser</title>
<path fill="none" stroke="black" d="M95.5,-496.84C95.5,-489.57 95.5,-479.98 95.5,-471.33"/>
<polygon fill="black" stroke="black" points="95.5,-461.13 100,-471.13 95.5,-466.13 95.5,-471.13 95.5,-471.13 95.5,-471.13 95.5,-466.13 91,-471.13 95.5,-461.13 95.5,-461.13"/>
<text text-anchor="middle" x="75.5" y="-482.58" font-family="Helvetica,Arial,sans-serif" font-size="14.00">tokens</text>
</g>
<!-- Symbols -->
<g id="node3" class="node">
<title>Symbols</title>
<polygon fill="#f2f2f2" stroke="transparent" points="188,-400 3,-400 3,-327 188,-327 188,-400"/>
<polygon fill="none" stroke="black" points="3.5,-374.5 3.5,-399.5 188.5,-399.5 188.5,-374.5 3.5,-374.5"/>
<text text-anchor="start" x="63" y="-384.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="67" y="-384.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Symbols</text>
<text text-anchor="start" x="125" y="-384.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="3.5,-326.5 3.5,-374.5 188.5,-374.5 188.5,-326.5 3.5,-326.5"/>
<text text-anchor="start" x="10.5" y="-356.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Pseudo&#45;entity resolution &#160;&#160;&#160;</text>
<text text-anchor="start" x="10.5" y="-337.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Name collision detection &#160;&#160;&#160;</text>
</g>
<!-- Parser&#45;&gt;Symbols -->
<g id="edge2" class="edge">
<title>Parser&#45;&gt;Symbols</title>
<path fill="none" stroke="black" d="M95.5,-435.96C95.5,-429.16 95.5,-420.05 95.5,-410.62"/>
<polygon fill="black" stroke="black" points="95.5,-400.36 100,-410.36 95.5,-405.36 95.5,-410.36 95.5,-410.36 95.5,-410.36 95.5,-405.36 91,-410.36 95.5,-400.36 95.5,-400.36"/>
<text text-anchor="middle" x="66" y="-421.83" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Container</text>
</g>
<!-- Dependency -->
<g id="node4" class="node">
<title>Dependency</title>
<polygon fill="#f2f2f2" stroke="transparent" points="186,-291 5,-291 5,-218 186,-218 186,-291"/>
<polygon fill="none" stroke="black" points="5.5,-265.5 5.5,-290.5 186.5,-290.5 186.5,-265.5 5.5,-265.5"/>
<text text-anchor="start" x="51" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="55" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Dependency</text>
<text text-anchor="start" x="137" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="5.5,-217.5 5.5,-265.5 186.5,-265.5 186.5,-217.5 5.5,-217.5"/>
<text text-anchor="start" x="12.5" y="-247.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Dependency generation &#160;&#160;&#160;</text>
<text text-anchor="start" x="12.5" y="-228.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Linearization &#160;&#160;&#160;</text>
</g>
<!-- Symbols&#45;&gt;Dependency -->
<g id="edge3" class="edge">
<title>Symbols&#45;&gt;Dependency</title>
<path fill="none" stroke="black" d="M95.5,-326.87C95.5,-318.75 95.5,-310 95.5,-301.51"/>
<polygon fill="black" stroke="black" points="95.5,-291.34 100,-301.34 95.5,-296.34 95.5,-301.34 95.5,-301.34 95.5,-301.34 95.5,-296.34 91,-301.34 95.5,-291.34 95.5,-291.34"/>
<text text-anchor="middle" x="66" y="-312.91" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Container</text>
</g>
<!-- TypeCheckCodeGen -->
<g id="node5" class="node">
<title>TypeCheckCodeGen</title>
<polygon fill="#f2f2f2" stroke="transparent" points="164.5,-182 26.5,-182 26.5,-109 164.5,-109 164.5,-182"/>
<polygon fill="none" stroke="black" points="26.5,-156.5 26.5,-181.5 164.5,-181.5 164.5,-156.5 26.5,-156.5"/>
<text text-anchor="start" x="70" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="74" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">TC/GC</text>
<text text-anchor="start" x="117" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="26.5,-108.5 26.5,-156.5 164.5,-156.5 164.5,-108.5 26.5,-108.5"/>
<text text-anchor="start" x="33.5" y="-138.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Type checking &#160;&#160;&#160;</text>
<text text-anchor="start" x="33.5" y="-119.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Code generation &#160;&#160;&#160;</text>
</g>
<!-- Dependency&#45;&gt;TypeCheckCodeGen -->
<g id="edge4" class="edge">
<title>Dependency&#45;&gt;TypeCheckCodeGen</title>
<path fill="none" stroke="black" d="M95.5,-217.87C95.5,-209.75 95.5,-201 95.5,-192.51"/>
<polygon fill="black" stroke="black" points="95.5,-182.34 100,-192.34 95.5,-187.34 95.5,-192.34 95.5,-192.34 95.5,-192.34 95.5,-187.34 91,-192.34 95.5,-182.34 95.5,-182.34"/>
<text text-anchor="middle" x="70.5" y="-203.91" font-family="Helvetica,Arial,sans-serif" font-size="14.00">DNodes</text>
</g>
<!-- InstructionEmit -->
<g id="node6" class="node">
<title>InstructionEmit</title>
<polygon fill="#f2f2f2" stroke="transparent" points="191,-73 0,-73 0,0 191,0 191,-73"/>
<polygon fill="none" stroke="black" points="0.5,-47.5 0.5,-72.5 191.5,-72.5 191.5,-47.5 0.5,-47.5"/>
<text text-anchor="start" x="76.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="80.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Emit</text>
<text text-anchor="start" x="111.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0.5,0.5 0.5,-47.5 191.5,-47.5 191.5,0.5 0.5,0.5"/>
<text text-anchor="start" x="7.5" y="-29.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Instruction transformation &#160;&#160;&#160;</text>
<text text-anchor="start" x="7.5" y="-10.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Symbol mapping &#160;&#160;&#160;</text>
</g>
<!-- TypeCheckCodeGen&#45;&gt;InstructionEmit -->
<g id="edge5" class="edge">
<title>TypeCheckCodeGen&#45;&gt;InstructionEmit</title>
<path fill="none" stroke="black" d="M95.5,-108.87C95.5,-100.75 95.5,-92 95.5,-83.51"/>
<polygon fill="black" stroke="black" points="95.5,-73.34 100,-83.34 95.5,-78.34 95.5,-83.34 95.5,-83.34 95.5,-83.34 95.5,-78.34 91,-83.34 95.5,-73.34 95.5,-73.34"/>
<text text-anchor="middle" x="60.5" y="-94.91" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Instructions</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@ -0,0 +1,67 @@
<?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 5.0.0 (0)
-->
<!-- Title: Pooling Pages: 1 -->
<svg width="272pt" height="514pt"
viewBox="0.00 0.00 272.48 514.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 510)">
<title>Pooling</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-510 268.48,-510 268.48,4 -4,4"/>
<text text-anchor="middle" x="132.24" y="-490.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Pooling of a parse node to a DNode</text>
<!-- DNode_1 -->
<g id="node1" class="node">
<title>DNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="173.5,-236 1.5,-236 1.5,0 173.5,0 173.5,-236"/>
<polygon fill="none" stroke="black" points="1.5,-211 1.5,-236 173.5,-236 173.5,-211 1.5,-211"/>
<text text-anchor="start" x="61" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="65" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="110" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="1.5,-125 1.5,-211 173.5,-211 173.5,-125 1.5,-125"/>
<text text-anchor="start" x="8.5" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties</text>
<text text-anchor="start" x="8.5" y="-173.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; DNode[] dependencies &#160;&#160;</text>
<text text-anchor="start" x="8.5" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Statement entity</text>
<text text-anchor="start" x="8.5" y="-135.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="1.5,-100 1.5,-125 173.5,-125 173.5,-100 1.5,-100"/>
<text text-anchor="start" x="6.5" y="-108.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="1.5,-75 1.5,-100 173.5,-100 173.5,-75 1.5,-75"/>
<text text-anchor="start" x="6.5" y="-83.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ needs(DNode)</text>
<polygon fill="none" stroke="black" points="1.5,-50 1.5,-75 173.5,-75 173.5,-50 1.5,-50"/>
<text text-anchor="start" x="6.5" y="-58.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ isVisited()</text>
<polygon fill="none" stroke="black" points="1.5,-25 1.5,-50 173.5,-50 173.5,-25 1.5,-25"/>
<text text-anchor="start" x="6.5" y="-33.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ markVisited()</text>
<polygon fill="none" stroke="black" points="1.5,0 1.5,-25 173.5,-25 173.5,0 1.5,0"/>
<text text-anchor="start" x="6.5" y="-8.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getEntity()</text>
</g>
<!-- SubDNode_1 -->
<g id="node2" class="node">
<title>SubDNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="175,-483 0,-483 0,-272 175,-272 175,-483"/>
<polygon fill="none" stroke="black" points="0.5,-457.5 0.5,-482.5 175.5,-482.5 175.5,-457.5 0.5,-457.5"/>
<text text-anchor="start" x="5.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="9.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Variable node (PNode) &#160;&#160;</text>
<text text-anchor="start" x="166.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0.5,-371.5 0.5,-457.5 175.5,-457.5 175.5,-371.5 0.5,-371.5"/>
<text text-anchor="start" x="7.5" y="-439.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="7.5" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string name</text>
<text text-anchor="start" x="7.5" y="-401.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string type</text>
<text text-anchor="start" x="7.5" y="-382.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="0.5,-346.5 0.5,-371.5 175.5,-371.5 175.5,-346.5 0.5,-346.5"/>
<text text-anchor="start" x="5.5" y="-355.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="0.5,-321.5 0.5,-346.5 175.5,-346.5 175.5,-321.5 0.5,-321.5"/>
<text text-anchor="start" x="5.5" y="-330.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getName()</text>
<polygon fill="none" stroke="black" points="0.5,-296.5 0.5,-321.5 175.5,-321.5 175.5,-296.5 0.5,-296.5"/>
<text text-anchor="start" x="5.5" y="-305.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getType()</text>
<polygon fill="none" stroke="black" points="0.5,-271.5 0.5,-296.5 175.5,-296.5 175.5,-271.5 0.5,-271.5"/>
<text text-anchor="start" x="5.5" y="-280.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ hasAssignment() &#160;&#160;</text>
</g>
<!-- SubDNode_1&#45;&gt;DNode_1 -->
<g id="edge1" class="edge">
<title>SubDNode_1&#45;&gt;DNode_1:containedEntity</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M170.08,-263.07C201.77,-210.3 219.67,-159 169.5,-159"/>
<polygon fill="none" stroke="black" points="166.92,-261.54 164.67,-271.89 172.88,-265.2 166.92,-261.54"/>
<text text-anchor="middle" x="227.48" y="-228.2" font-family="Helvetica,Arial,sans-serif" font-size="14.00">pooled by &#160;&#160;&#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,67 @@
<?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 5.0.0 (0)
-->
<!-- Title: Pooling Pages: 1 -->
<svg width="272pt" height="514pt"
viewBox="0.00 0.00 272.48 514.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 510)">
<title>Pooling</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-510 268.48,-510 268.48,4 -4,4"/>
<text text-anchor="middle" x="132.24" y="-490.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Pooling of a parse node to a DNode</text>
<!-- DNode_1 -->
<g id="node1" class="node">
<title>DNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="173.5,-236 1.5,-236 1.5,0 173.5,0 173.5,-236"/>
<polygon fill="none" stroke="black" points="1.5,-211 1.5,-236 173.5,-236 173.5,-211 1.5,-211"/>
<text text-anchor="start" x="61" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="65" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="110" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="1.5,-125 1.5,-211 173.5,-211 173.5,-125 1.5,-125"/>
<text text-anchor="start" x="8.5" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties</text>
<text text-anchor="start" x="8.5" y="-173.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; DNode[] dependencies &#160;&#160;</text>
<text text-anchor="start" x="8.5" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Statement entity</text>
<text text-anchor="start" x="8.5" y="-135.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="1.5,-100 1.5,-125 173.5,-125 173.5,-100 1.5,-100"/>
<text text-anchor="start" x="6.5" y="-108.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="1.5,-75 1.5,-100 173.5,-100 173.5,-75 1.5,-75"/>
<text text-anchor="start" x="6.5" y="-83.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ needs(DNode)</text>
<polygon fill="none" stroke="black" points="1.5,-50 1.5,-75 173.5,-75 173.5,-50 1.5,-50"/>
<text text-anchor="start" x="6.5" y="-58.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ isVisited()</text>
<polygon fill="none" stroke="black" points="1.5,-25 1.5,-50 173.5,-50 173.5,-25 1.5,-25"/>
<text text-anchor="start" x="6.5" y="-33.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ markVisited()</text>
<polygon fill="none" stroke="black" points="1.5,0 1.5,-25 173.5,-25 173.5,0 1.5,0"/>
<text text-anchor="start" x="6.5" y="-8.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getEntity()</text>
</g>
<!-- SubDNode_1 -->
<g id="node2" class="node">
<title>SubDNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="175,-483 0,-483 0,-272 175,-272 175,-483"/>
<polygon fill="none" stroke="black" points="0.5,-457.5 0.5,-482.5 175.5,-482.5 175.5,-457.5 0.5,-457.5"/>
<text text-anchor="start" x="5.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="9.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Variable node (PNode) &#160;&#160;</text>
<text text-anchor="start" x="166.5" y="-467.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0.5,-371.5 0.5,-457.5 175.5,-457.5 175.5,-371.5 0.5,-371.5"/>
<text text-anchor="start" x="7.5" y="-439.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="7.5" y="-420.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string name</text>
<text text-anchor="start" x="7.5" y="-401.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; string type</text>
<text text-anchor="start" x="7.5" y="-382.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="0.5,-346.5 0.5,-371.5 175.5,-371.5 175.5,-346.5 0.5,-346.5"/>
<text text-anchor="start" x="5.5" y="-355.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="0.5,-321.5 0.5,-346.5 175.5,-346.5 175.5,-321.5 0.5,-321.5"/>
<text text-anchor="start" x="5.5" y="-330.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getName()</text>
<polygon fill="none" stroke="black" points="0.5,-296.5 0.5,-321.5 175.5,-321.5 175.5,-296.5 0.5,-296.5"/>
<text text-anchor="start" x="5.5" y="-305.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getType()</text>
<polygon fill="none" stroke="black" points="0.5,-271.5 0.5,-296.5 175.5,-296.5 175.5,-271.5 0.5,-271.5"/>
<text text-anchor="start" x="5.5" y="-280.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ hasAssignment() &#160;&#160;</text>
</g>
<!-- SubDNode_1&#45;&gt;DNode_1 -->
<g id="edge1" class="edge">
<title>SubDNode_1&#45;&gt;DNode_1:containedEntity</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M170.08,-263.07C201.77,-210.3 219.67,-159 169.5,-159"/>
<polygon fill="none" stroke="black" points="166.92,-261.54 164.67,-271.89 172.88,-265.2 166.92,-261.54"/>
<text text-anchor="middle" x="227.48" y="-228.2" font-family="Helvetica,Arial,sans-serif" font-size="14.00">pooled by &#160;&#160;&#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@ -0,0 +1,107 @@
<?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 5.0.0 (0)
-->
<!-- Title: DependencyNodes Pages: 1 -->
<svg width="443pt" height="431pt"
viewBox="0.00 0.00 442.50 431.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 427)">
<title>DependencyNodes</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-427 438.5,-427 438.5,4 -4,4"/>
<text text-anchor="middle" x="217.25" y="-407.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Dependency nodes</text>
<!-- DNode_1 -->
<g id="node1" class="node">
<title>DNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="300,-236 128,-236 128,0 300,0 300,-236"/>
<polygon fill="none" stroke="black" points="128,-211 128,-236 300,-236 300,-211 128,-211"/>
<text text-anchor="start" x="187.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="191.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="236.5" y="-220.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="128,-125 128,-211 300,-211 300,-125 128,-125"/>
<text text-anchor="start" x="135" y="-192.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties</text>
<text text-anchor="start" x="135" y="-173.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; DNode[] dependencies &#160;&#160;</text>
<text text-anchor="start" x="135" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Statement entity</text>
<text text-anchor="start" x="135" y="-135.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="128,-100 128,-125 300,-125 300,-100 128,-100"/>
<text text-anchor="start" x="133" y="-108.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ methods</text>
<polygon fill="none" stroke="black" points="128,-75 128,-100 300,-100 300,-75 128,-75"/>
<text text-anchor="start" x="133" y="-83.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ needs(DNode)</text>
<polygon fill="none" stroke="black" points="128,-50 128,-75 300,-75 300,-50 128,-50"/>
<text text-anchor="start" x="133" y="-58.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ isVisited()</text>
<polygon fill="none" stroke="black" points="128,-25 128,-50 300,-50 300,-25 128,-25"/>
<text text-anchor="start" x="133" y="-33.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ markVisited()</text>
<polygon fill="none" stroke="black" points="128,0 128,-25 300,-25 300,0 128,0"/>
<text text-anchor="start" x="133" y="-8.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ getEntity()</text>
</g>
<!-- SubDNode_1 -->
<g id="node2" class="node">
<title>SubDNode_1</title>
<polygon fill="#f2f2f2" stroke="transparent" points="128,-400 0,-400 0,-272 128,-272 128,-400"/>
<polygon fill="none" stroke="black" points="0,-375 0,-400 128,-400 128,-375 0,-375"/>
<text text-anchor="start" x="37.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="41.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="86.5" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0,-327 0,-375 128,-375 128,-327 0,-327"/>
<text text-anchor="start" x="7" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="7" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="0,-272 0,-327 128,-327 128,-272 0,-272"/>
<text text-anchor="start" x="5" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ method</text>
<text text-anchor="start" x="5" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="41" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_1&#45;&gt;DNode_1 -->
<g id="edge1" class="edge">
<title>SubDNode_1&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M68.89,-259.74C76.06,-219.44 92.93,-178 132,-178"/>
<polygon fill="black" stroke="black" points="68.89,-259.74 71.91,-266.28 67.04,-271.59 64.01,-265.05 68.89,-259.74"/>
<text text-anchor="middle" x="46.3" y="-219.76" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on</text>
</g>
<!-- SubDNode_2 -->
<g id="node3" class="node">
<title>SubDNode_2</title>
<polygon fill="#f2f2f2" stroke="transparent" points="281.5,-400 146.5,-400 146.5,-272 281.5,-272 281.5,-400"/>
<polygon fill="none" stroke="black" points="147,-375 147,-400 282,-400 282,-375 147,-375"/>
<text text-anchor="start" x="188" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="192" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="237" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="147,-327 147,-375 282,-375 282,-327 147,-327"/>
<text text-anchor="start" x="154" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="154" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="147,-272 147,-327 282,-327 282,-272 147,-272"/>
<text text-anchor="start" x="152" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ methods</text>
<text text-anchor="start" x="152" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="191.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_2&#45;&gt;DNode_1 -->
<g id="edge2" class="edge">
<title>SubDNode_2&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M280.15,-262.07C312.79,-221.05 337.22,-178 296,-178"/>
<polygon fill="black" stroke="black" points="279.98,-262.29 279.29,-269.46 272.4,-271.59 273.09,-264.42 279.98,-262.29"/>
<text text-anchor="middle" x="343.21" y="-235.4" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on &#160;&#160;</text>
</g>
<!-- SubDNode_3 -->
<g id="node4" class="node">
<title>SubDNode_3</title>
<polygon fill="#f2f2f2" stroke="transparent" points="434.5,-400 299.5,-400 299.5,-272 434.5,-272 434.5,-400"/>
<polygon fill="none" stroke="black" points="300,-375 300,-400 435,-400 435,-375 300,-375"/>
<text text-anchor="start" x="341" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="345" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">DNode</text>
<text text-anchor="start" x="390" y="-384.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="300,-327 300,-375 435,-375 435,-327 300,-327"/>
<text text-anchor="start" x="307" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">+ properties </text>
<text text-anchor="start" x="307" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">...</text>
<polygon fill="none" stroke="black" points="300,-272 300,-327 435,-327 435,-272 300,-272"/>
<text text-anchor="start" x="305" y="-310.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;+ methods</text>
<text text-anchor="start" x="305" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;...</text>
<text text-anchor="start" x="344.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
</g>
<!-- SubDNode_3&#45;&gt;DNode_1 -->
<g id="edge3" class="edge">
<title>SubDNode_3&#45;&gt;DNode_1:dependenciesArray</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M360.87,-259.74C353,-219.44 335.34,-178 296,-178"/>
<polygon fill="black" stroke="black" points="360.88,-259.77 365.84,-265 362.93,-271.59 357.96,-266.37 360.88,-259.77"/>
<text text-anchor="middle" x="388.06" y="-219.55" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on &#160;&#160;</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.3 KiB