diff options
| author | Cliff Click <cliffc@acm.org> | 2024-04-23 17:23:16 +0100 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2025-02-07 09:12:14 -0800 |
| commit | 2b61f5bcc096bb544658d6ee2c49ebfb053c3d70 (patch) | |
| tree | 8c9ecb0b90fdf14ffa69a523e4258617bbd23ae4 /docs/chapter10/example1.svg | |
| parent | 3e56d1f308a5c0f602ba909e6e76138f3c5ea5b9 (diff) | |
| download | Simple-2b61f5bcc096bb544658d6ee2c49ebfb053c3d70.tar.gz Simple-2b61f5bcc096bb544658d6ee2c49ebfb053c3d70.zip | |
Chapter 10: Structs and Memory
Co-authored-by: Thalia Archibald <thalia@archibald.dev>
Co-authored-by: Dibyendu Majumdar <mobile@majumdar.org.uk>
Co-authored-by: XmiliaH <45106915+XmiliaH@users.noreply.github.com>
Co-authored-by: tannal <tannal2409@gmail.com>
Co-authored-by: hadha <helsgithub15@gmail.com>
Co-authored-by: XmiliaH <xmilia.hermit@gmail.com>
Co-authored-by: Tamás Hadházy <85063808+Hels15@users.noreply.github.com>
Co-authored-by: Robert Obkircher <robert.obkircher@gmail.com>
Diffstat (limited to 'docs/chapter10/example1.svg')
| -rw-r--r-- | docs/chapter10/example1.svg | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/docs/chapter10/example1.svg b/docs/chapter10/example1.svg new file mode 100644 index 00000000..6f493e7e --- /dev/null +++ b/docs/chapter10/example1.svg @@ -0,0 +1,294 @@ +<?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.43.0 (0) + --> +<!-- Title: chapter10 Pages: 1 --> +<svg width="394pt" height="564pt" + viewBox="0.00 0.00 394.00 564.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 560)"> +<title>chapter10</title> +<polygon fill="white" stroke="transparent" points="-4,4 -4,-560 390,-560 390,4 -4,4"/> +<g id="clust1" class="cluster"> +<title>cluster_Nodes</title> +<polygon fill="none" stroke="black" points="8,-8 8,-548 378,-548 378,-8 8,-8"/> +</g> +<!-- Start2 --> +<g id="node1" class="node"> +<title>Start2</title> +<polygon fill="yellow" stroke="transparent" points="25,-511 25,-536 156,-536 156,-511 25,-511"/> +<polygon fill="none" stroke="black" points="25,-511 25,-536 156,-536 156,-511 25,-511"/> +<text text-anchor="start" x="72" y="-519.8" font-family="Times,serif" font-size="14.00">Start</text> +<polygon fill="none" stroke="black" points="25,-480 25,-511 156,-511 156,-480 25,-480"/> +<polygon fill="yellow" stroke="transparent" points="30,-485 30,-506 70,-506 70,-485 30,-485"/> +<polygon fill="none" stroke="black" points="30,-485 30,-506 70,-506 70,-485 30,-485"/> +<text text-anchor="start" x="33" y="-491.8" font-family="Times,serif" font-size="14.00">$ctrl</text> +<polygon fill="none" stroke="black" points="70,-485 70,-506 101,-506 101,-485 70,-485"/> +<text text-anchor="start" x="73" y="-491.8" font-family="Times,serif" font-size="14.00">arg</text> +<polygon fill="none" stroke="black" points="101,-485 101,-506 126,-506 126,-485 101,-485"/> +<text text-anchor="start" x="104" y="-491.8" font-family="Times,serif" font-size="14.00">$2</text> +<polygon fill="none" stroke="black" points="126,-485 126,-506 151,-506 151,-485 126,-485"/> +<text text-anchor="start" x="129" y="-491.8" font-family="Times,serif" font-size="14.00">$3</text> +</g> +<!-- Stop3 --> +<g id="node2" class="node"> +<title>Stop3</title> +<polygon fill="yellow" stroke="black" points="201,-52 147,-52 147,-16 201,-16 201,-52"/> +<text text-anchor="middle" x="174" y="-30.3" font-family="Times,serif" font-size="14.00">Stop</text> +</g> +<!-- Return27 --> +<g id="node15" class="node"> +<title>Return27</title> +<polygon fill="yellow" stroke="black" points="207,-124 141,-124 141,-88 207,-88 207,-124"/> +<text text-anchor="middle" x="174" y="-102.3" font-family="Times,serif" font-size="14.00">Return</text> +</g> +<!-- Stop3->Return27 --> +<g id="edge1" class="edge"> +<title>Stop3->Return27</title> +<path fill="none" stroke="red" d="M174,-52.3C174,-60.02 174,-69.29 174,-77.89"/> +<polygon fill="red" stroke="red" points="170.5,-77.9 174,-87.9 177.5,-77.9 170.5,-77.9"/> +<text text-anchor="middle" x="171" y="-54.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- new8 --> +<g id="node3" class="node"> +<title>new8</title> +<ellipse fill="none" stroke="black" cx="203" cy="-422" rx="75.29" ry="18"/> +<text text-anchor="middle" x="203" y="-418.3" font-family="Times,serif" font-size="14.00">new Vector2D</text> +</g> +<!-- new8->Start2 --> +<g id="edge2" class="edge"> +<title>new8->Start2:p0</title> +<path fill="none" stroke="green" d="M147.76,-434.26C110.79,-443.18 66.61,-456.99 53.71,-474.14"/> +<polygon fill="green" stroke="green" points="50.24,-473.41 50,-484 56.79,-475.87 50.24,-473.41"/> +<text text-anchor="middle" x="144.76" y="-436.86" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Con_9 --> +<g id="node4" class="node"> +<title>Con_9</title> +<ellipse fill="none" stroke="black" cx="63" cy="-422" rx="27" ry="18"/> +<text text-anchor="middle" x="63" y="-418.3" font-family="Times,serif" font-size="14.00">#0</text> +</g> +<!-- Store11 --> +<g id="node5" class="node"> +<title>Store11</title> +<ellipse fill="none" stroke="black" cx="170" cy="-350" rx="29.8" ry="18"/> +<text text-anchor="middle" x="170" y="-346.3" font-family="Times,serif" font-size="14.00">.y =</text> +</g> +<!-- Store11->Start2 --> +<g id="edge3" class="edge"> +<title>Store11->Start2:p3</title> +<path fill="none" stroke="blue" d="M151.42,-364.19C139.69,-373.74 125.54,-387.77 119,-404 113.02,-418.84 115.61,-424.36 119,-440 122.69,-457.06 133.59,-461.26 137.54,-473.76"/> +<polygon fill="blue" stroke="blue" points="134.13,-474.59 139,-484 141.06,-473.61 134.13,-474.59"/> +<text text-anchor="middle" x="148.42" y="-366.79" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Store11->new8 --> +<g id="edge4" class="edge"> +<title>Store11->new8</title> +<path fill="none" stroke="black" d="M177.82,-367.59C181.67,-375.75 186.4,-385.78 190.71,-394.93"/> +<polygon fill="black" stroke="black" points="187.58,-396.49 195.01,-404.04 193.91,-393.51 187.58,-396.49"/> +<text text-anchor="middle" x="174.82" y="-370.19" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Store11->Con_9 --> +<g id="edge5" class="edge"> +<title>Store11->Con_9</title> +<path fill="none" stroke="black" d="M150.37,-363.84C133.5,-374.88 108.99,-390.92 90.22,-403.2"/> +<polygon fill="black" stroke="black" points="88.24,-400.31 81.78,-408.71 92.07,-406.17 88.24,-400.31"/> +<text text-anchor="middle" x="153.37" y="-366.44" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +</g> +<!-- Con_12 --> +<g id="node6" class="node"> +<title>Con_12</title> +<ellipse fill="none" stroke="black" cx="323" cy="-422" rx="27" ry="18"/> +<text text-anchor="middle" x="323" y="-418.3" font-family="Times,serif" font-size="14.00">#1</text> +</g> +<!-- Store13 --> +<g id="node7" class="node"> +<title>Store13</title> +<ellipse fill="none" stroke="black" cx="340" cy="-350" rx="29.8" ry="18"/> +<text text-anchor="middle" x="340" y="-346.3" font-family="Times,serif" font-size="14.00">.x =</text> +</g> +<!-- Store13->Start2 --> +<g id="edge6" class="edge"> +<title>Store13->Start2:p2</title> +<path fill="none" stroke="blue" d="M350.63,-367.07C362.03,-386.53 376.33,-419.28 359,-440 290.38,-522.04 125.44,-383.17 114.57,-473.83"/> +<polygon fill="blue" stroke="blue" points="111.06,-473.82 114,-484 118.05,-474.21 111.06,-473.82"/> +<text text-anchor="middle" x="347.63" y="-369.67" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Store13->new8 --> +<g id="edge7" class="edge"> +<title>Store13->new8</title> +<path fill="none" stroke="black" d="M317.99,-362.25C297.67,-372.63 267.01,-388.3 242.46,-400.84"/> +<polygon fill="black" stroke="black" points="240.69,-397.81 233.38,-405.48 243.88,-404.04 240.69,-397.81"/> +<text text-anchor="middle" x="314.99" y="-364.85" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Store13->Con_12 --> +<g id="edge8" class="edge"> +<title>Store13->Con_12</title> +<path fill="none" stroke="black" d="M335.88,-367.95C333.99,-375.74 331.7,-385.18 329.58,-393.92"/> +<polygon fill="black" stroke="black" points="326.15,-393.18 327.2,-403.72 332.96,-394.83 326.15,-393.18"/> +<text text-anchor="middle" x="332.88" y="-370.55" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +</g> +<!-- If14 --> +<g id="node8" class="node"> +<title>If14</title> +<polygon fill="yellow" stroke="transparent" points="24,-267 24,-292 118,-292 118,-267 24,-267"/> +<polygon fill="none" stroke="black" points="24,-267 24,-292 118,-292 118,-267 24,-267"/> +<text text-anchor="start" x="65.5" y="-275.8" font-family="Times,serif" font-size="14.00">If</text> +<polygon fill="none" stroke="black" points="24,-236 24,-267 118,-267 118,-236 24,-236"/> +<polygon fill="yellow" stroke="transparent" points="29,-241 29,-262 69,-262 69,-241 29,-241"/> +<polygon fill="none" stroke="black" points="29,-241 29,-262 69,-262 69,-241 29,-241"/> +<text text-anchor="start" x="32" y="-247.8" font-family="Times,serif" font-size="14.00">True</text> +<polygon fill="yellow" stroke="transparent" points="69,-241 69,-262 113,-262 113,-241 69,-241"/> +<polygon fill="none" stroke="black" points="69,-241 69,-262 113,-262 113,-241 69,-241"/> +<text text-anchor="start" x="72" y="-247.8" font-family="Times,serif" font-size="14.00">False</text> +</g> +<!-- If14->Start2 --> +<g id="edge9" class="edge"> +<title>If14->Start2:p0</title> +<path fill="none" stroke="red" d="M58.13,-296.08C47.38,-323.83 32.89,-365.85 27,-404 24.56,-419.81 23.18,-424.46 27,-440 31.32,-457.58 44.03,-461.08 48.46,-473.95"/> +<polygon fill="red" stroke="red" points="45.02,-474.65 50,-484 51.94,-473.58 45.02,-474.65"/> +<text text-anchor="middle" x="55.13" y="-298.68" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Con_18 --> +<g id="node9" class="node"> +<title>Con_18</title> +<ellipse fill="none" stroke="black" cx="95" cy="-350" rx="27" ry="18"/> +<text text-anchor="middle" x="95" y="-346.3" font-family="Times,serif" font-size="14.00">#2</text> +</g> +<!-- Store19 --> +<g id="node10" class="node"> +<title>Store19</title> +<ellipse fill="none" stroke="black" cx="174" cy="-264" rx="29.8" ry="18"/> +<text text-anchor="middle" x="174" y="-260.3" font-family="Times,serif" font-size="14.00">.y =</text> +</g> +<!-- Store19->new8 --> +<g id="edge12" class="edge"> +<title>Store19->new8</title> +<path fill="none" stroke="black" d="M188.91,-279.62C203.35,-295.52 222.56,-322.27 219,-349"/> +<path fill="none" stroke="black" d="M219,-351C217.08,-365.43 213.58,-381.26 210.34,-394.21"/> +<polygon fill="black" stroke="black" points="206.95,-393.34 207.84,-403.9 213.73,-395.09 206.95,-393.34"/> +<text text-anchor="middle" x="185.91" y="-282.22" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Store19->Store11 --> +<g id="edge11" class="edge"> +<title>Store19->Store11</title> +<path fill="none" stroke="blue" d="M173.19,-282C172.65,-293.31 171.93,-308.42 171.31,-321.43"/> +<polygon fill="blue" stroke="blue" points="167.8,-321.58 170.82,-331.74 174.79,-321.92 167.8,-321.58"/> +<text text-anchor="middle" x="170.19" y="-284.6" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Store19->Con_18 --> +<g id="edge13" class="edge"> +<title>Store19->Con_18</title> +<path fill="none" stroke="black" d="M159.88,-280.02C147.56,-293.12 129.52,-312.29 115.59,-327.1"/> +<polygon fill="black" stroke="black" points="113.04,-324.71 108.74,-334.39 118.14,-329.51 113.04,-324.71"/> +<text text-anchor="middle" x="156.88" y="-282.62" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +</g> +<!-- Con_22 --> +<g id="node11" class="node"> +<title>Con_22</title> +<ellipse fill="none" stroke="black" cx="265" cy="-350" rx="27" ry="18"/> +<text text-anchor="middle" x="265" y="-346.3" font-family="Times,serif" font-size="14.00">#3</text> +</g> +<!-- Store23 --> +<g id="node12" class="node"> +<title>Store23</title> +<ellipse fill="none" stroke="black" cx="272" cy="-264" rx="29.8" ry="18"/> +<text text-anchor="middle" x="272" y="-260.3" font-family="Times,serif" font-size="14.00">.y =</text> +</g> +<!-- Store23->new8 --> +<g id="edge15" class="edge"> +<title>Store23->new8</title> +<path fill="none" stroke="black" d="M257.04,-279.75C242.69,-295.35 222.67,-321.48 219,-349"/> +<text text-anchor="middle" x="254.04" y="-282.35" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Store23->Store11 --> +<g id="edge14" class="edge"> +<title>Store23->Store11</title> +<path fill="none" stroke="blue" d="M254.7,-279.25C238.26,-292.79 213.37,-313.28 194.82,-328.56"/> +<polygon fill="blue" stroke="blue" points="192.54,-325.9 187.05,-334.96 196.99,-331.31 192.54,-325.9"/> +<text text-anchor="middle" x="251.7" y="-272.85" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Store23->Con_22 --> +<g id="edge16" class="edge"> +<title>Store23->Con_22</title> +<path fill="none" stroke="black" d="M270.58,-282C269.64,-293.31 268.38,-308.42 267.3,-321.43"/> +<polygon fill="black" stroke="black" points="263.78,-321.48 266.44,-331.74 270.76,-322.06 263.78,-321.48"/> +<text text-anchor="middle" x="267.58" y="-284.6" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +</g> +<!-- Region24 --> +<g id="node13" class="node"> +<title>Region24</title> +<polygon fill="yellow" stroke="black" points="123,-196 57,-196 57,-160 123,-160 123,-196"/> +<text text-anchor="middle" x="90" y="-174.3" font-family="Times,serif" font-size="14.00">Region</text> +</g> +<!-- Region24->If14 --> +<g id="edge17" class="edge"> +<title>Region24->If14:p0</title> +<path fill="none" stroke="red" d="M70.46,-196.22C62.05,-205.18 53.41,-216.97 50.26,-229.91"/> +<polygon fill="red" stroke="red" points="46.76,-229.64 49,-240 53.71,-230.51 46.76,-229.64"/> +<text text-anchor="middle" x="67.46" y="-198.82" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Region24->If14 --> +<g id="edge18" class="edge"> +<title>Region24->If14:p1</title> +<path fill="none" stroke="red" d="M90.43,-196.09C90.64,-205.55 90.87,-217.77 90.96,-229.69"/> +<polygon fill="red" stroke="red" points="87.46,-230.01 91,-240 94.46,-229.99 87.46,-230.01"/> +<text text-anchor="middle" x="87.43" y="-198.69" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Phi_326 --> +<g id="node14" class="node"> +<title>Phi_326</title> +<ellipse fill="lightyellow" stroke="black" cx="174" cy="-178" rx="33.29" ry="18"/> +<text text-anchor="middle" x="174" y="-174.3" font-family="Times,serif" font-size="14.00">φ_$3</text> +</g> +<!-- Phi_326->Store19 --> +<g id="edge20" class="edge"> +<title>Phi_326->Store19</title> +<path fill="none" stroke="blue" d="M174,-196.4C174,-207.74 174,-222.77 174,-235.68"/> +<polygon fill="blue" stroke="blue" points="170.5,-235.9 174,-245.9 177.5,-235.9 170.5,-235.9"/> +<text text-anchor="middle" x="171" y="-199" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Phi_326->Store23 --> +<g id="edge21" class="edge"> +<title>Phi_326->Store23</title> +<path fill="none" stroke="blue" d="M191.07,-193.63C206.76,-207.08 230.2,-227.17 247.81,-242.27"/> +<polygon fill="blue" stroke="blue" points="245.58,-244.97 255.45,-248.82 250.14,-239.65 245.58,-244.97"/> +<text text-anchor="middle" x="188.07" y="-196.23" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Phi_326->Region24 --> +<g id="edge19" class="edge"> +<title>Phi_326->Region24</title> +<path fill="none" stroke="black" stroke-dasharray="1,5" d="M140.62,-178C138.17,-178 135.71,-178 133.25,-178"/> +<polygon fill="black" stroke="black" points="133.14,-174.5 123.14,-178 133.14,-181.5 133.14,-174.5"/> +<text text-anchor="middle" x="137.62" y="-171.6" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Return27->new8 --> +<g id="edge23" class="edge"> +<title>Return27->new8</title> +<path fill="none" stroke="black" d="M207.48,-120.36C230.67,-131.64 259.67,-150.25 273,-177"/> +<path fill="none" stroke="black" d="M273,-179C286.16,-205.41 244.02,-204.62 233,-232 213.44,-280.58 225.92,-297.09 219,-349"/> +<text text-anchor="middle" x="210.48" y="-113.96" font-family="Helvetica,sans-Serif" font-size="8.00">1</text> +</g> +<!-- Return27->Store13 --> +<g id="edge24" class="edge"> +<title>Return27->Store13</title> +<path fill="none" stroke="blue" d="M273,-179C286,-204.9 298.85,-205.68 311,-232 324.45,-261.13 332.19,-297.33 336.24,-321.69"/> +<polygon fill="blue" stroke="blue" points="332.79,-322.32 337.8,-331.66 339.71,-321.24 332.79,-322.32"/> +<text text-anchor="middle" x="270" y="-172.6" font-family="Helvetica,sans-Serif" font-size="8.00">2</text> +</g> +<!-- Return27->Region24 --> +<g id="edge22" class="edge"> +<title>Return27->Region24</title> +<path fill="none" stroke="red" d="M153.24,-124.3C142.76,-133.03 129.89,-143.76 118.5,-153.25"/> +<polygon fill="red" stroke="red" points="115.97,-150.81 110.53,-159.9 120.45,-156.18 115.97,-150.81"/> +<text text-anchor="middle" x="150.24" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">0</text> +</g> +<!-- Return27->Phi_326 --> +<g id="edge25" class="edge"> +<title>Return27->Phi_326</title> +<path fill="none" stroke="blue" d="M174,-124.3C174,-132.02 174,-141.29 174,-149.89"/> +<polygon fill="blue" stroke="blue" points="170.5,-149.9 174,-159.9 177.5,-149.9 170.5,-149.9"/> +<text text-anchor="middle" x="171" y="-126.9" font-family="Helvetica,sans-Serif" font-size="8.00">3</text> +</g> +</g> +</svg> |
