1 line
No EOL
20 KiB
XML
1 line
No EOL
20 KiB
XML
<svg aria-roledescription="classDiagram" role="graphics-document document" viewBox="0 0 692.140625 417" style="max-width: 100%;" xmlns="http://www.w3.org/2000/svg" width="100%" id="graph-div" height="100%" xmlns:xlink="http://www.w3.org/1999/xlink"><style>@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css");'</style><style>#graph-div{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#ccc;}#graph-div .error-icon{fill:#a44141;}#graph-div .error-text{fill:#ddd;stroke:#ddd;}#graph-div .edge-thickness-normal{stroke-width:2px;}#graph-div .edge-thickness-thick{stroke-width:3.5px;}#graph-div .edge-pattern-solid{stroke-dasharray:0;}#graph-div .edge-pattern-dashed{stroke-dasharray:3;}#graph-div .edge-pattern-dotted{stroke-dasharray:2;}#graph-div .marker{fill:lightgrey;stroke:lightgrey;}#graph-div .marker.cross{stroke:lightgrey;}#graph-div svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#graph-div g.classGroup text{fill:#81B1DB;stroke:none;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:10px;}#graph-div g.classGroup text .title{font-weight:bolder;}#graph-div .nodeLabel,#graph-div .edgeLabel{color:#e0dfdf;}#graph-div .edgeLabel .label rect{fill:#1f2020;}#graph-div .label text{fill:#e0dfdf;}#graph-div .edgeLabel .label span{background:#1f2020;}#graph-div .classTitle{font-weight:bolder;}#graph-div .node rect,#graph-div .node circle,#graph-div .node ellipse,#graph-div .node polygon,#graph-div .node path{fill:#1f2020;stroke:#81B1DB;stroke-width:1px;}#graph-div .divider{stroke:#81B1DB;stroke-width:1;}#graph-div g.clickable{cursor:pointer;}#graph-div g.classGroup rect{fill:#1f2020;stroke:#81B1DB;}#graph-div g.classGroup line{stroke:#81B1DB;stroke-width:1;}#graph-div .classLabel .box{stroke:none;stroke-width:0;fill:#1f2020;opacity:0.5;}#graph-div .classLabel .label{fill:#81B1DB;font-size:10px;}#graph-div .relation{stroke:lightgrey;stroke-width:1;fill:none;}#graph-div .dashed-line{stroke-dasharray:3;}#graph-div .dotted-line{stroke-dasharray:1 2;}#graph-div #compositionStart,#graph-div .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #compositionEnd,#graph-div .composition{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #dependencyStart,#graph-div .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #dependencyStart,#graph-div .dependency{fill:lightgrey!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #extensionStart,#graph-div .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #extensionEnd,#graph-div .extension{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #aggregationStart,#graph-div .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #aggregationEnd,#graph-div .aggregation{fill:transparent!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #lollipopStart,#graph-div .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#graph-div #lollipopEnd,#graph-div .lollipop{fill:#1f2020!important;stroke:lightgrey!important;stroke-width:1;}#graph-div .edgeTerminals{font-size:11px;line-height:initial;}#graph-div .classTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#graph-div :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker aggregation classDiagram" id="graph-div_classDiagram-aggregationStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker aggregation classDiagram" id="graph-div_classDiagram-aggregationEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker extension classDiagram" id="graph-div_classDiagram-extensionStart"><path d="M 1,7 L18,13 V 1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker extension classDiagram" id="graph-div_classDiagram-extensionEnd"><path d="M 1,1 V 13 L18,7 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="18" class="marker composition classDiagram" id="graph-div_classDiagram-compositionStart"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="1" class="marker composition classDiagram" id="graph-div_classDiagram-compositionEnd"><path d="M 18,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="6" class="marker dependency classDiagram" id="graph-div_classDiagram-dependencyStart"><path d="M 5,7 L9,13 L1,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="28" markerWidth="20" refY="7" refX="13" class="marker dependency classDiagram" id="graph-div_classDiagram-dependencyEnd"><path d="M 18,7 L9,13 L14,7 L9,1 Z"></path></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="13" class="marker lollipop classDiagram" id="graph-div_classDiagram-lollipopStart"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"></circle></marker></defs><defs><marker orient="auto" markerHeight="240" markerWidth="190" refY="7" refX="1" class="marker lollipop classDiagram" id="graph-div_classDiagram-lollipopEnd"><circle r="6" cy="7" cx="7" fill="transparent" stroke="black"></circle></marker></defs><g class="root"><g class="clusters"></g><g class="edgePaths"><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Instruction_Word_1" d="M279.236,311.961L278.451,313.467C277.665,314.974,276.094,317.987,275.309,323.66C274.523,329.333,274.523,337.667,274.523,341.833L274.523,346"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Instruction_Address_2" d="M387.123,311.961L387.908,313.467C388.694,314.974,390.265,317.987,391.05,323.66C391.836,329.333,391.836,337.667,391.836,341.833L391.836,346"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Add_Instruction_3" d="M31.055,89L31.055,90.167C31.055,91.333,31.055,93.667,48.728,101.414C66.401,109.162,101.747,122.323,119.421,128.904L137.094,135.485"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Copy_Instruction_4" d="M131.609,89L131.609,90.167C131.609,91.333,131.609,93.667,139.075,99C146.541,104.333,161.472,112.667,168.937,116.833L176.403,121"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Halt_Instruction_5" d="M231.727,89L231.727,90.167C231.727,91.333,231.727,93.667,235.484,99C239.242,104.333,246.757,112.667,250.514,116.833L254.272,121"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Jump_Instruction_6" d="M333.18,89L333.18,90.167C333.18,91.333,333.18,93.667,333.18,99C333.18,104.333,333.18,112.667,333.18,116.833L333.18,121"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_JumpEq_Instruction_7" d="M451.078,89L451.078,90.167C451.078,91.333,451.078,93.667,446.712,99C442.345,104.333,433.612,112.667,429.245,116.833L424.878,121"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Mul_Instruction_8" d="M561.414,89L561.414,90.167C561.414,91.333,561.414,93.667,552.961,99C544.508,104.333,527.602,112.667,519.148,116.833L510.695,121"></path><path marker-start="url(#graph-div_classDiagram-extensionStart)" style="fill:none" class="edge-pattern-solid relation" id="id_Print_Instruction_9" d="M658.414,89L658.414,90.167C658.414,91.333,658.414,93.667,636.889,102.279C615.365,110.891,572.315,125.782,550.79,133.228L529.266,140.673"></path></g><g class="edgeLabels"><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g transform="translate(0, 0)" class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g transform="translate(333.1796875, 208.5)" data-id="Instruction" data-node="true" id="classId-Instruction-94" class="node default"><rect height="175" width="392.171875" y="-87.5" x="-196.0859375" class="outer title-state" style=""></rect><line y2="-51.5" y1="-51.5" x2="196.0859375" x1="-196.0859375" class="divider"></line><line y2="-35.5" y1="-35.5" x2="196.0859375" x1="-196.0859375" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -41.3359375, -80)" height="24" width="82.671875" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Instruction</span></div></foreignObject><foreignObject transform="translate( -188.5859375, -28)" height="24" width="377.171875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">+void execute(Memory memory, ProgramCounter pc)</span></div></foreignObject><foreignObject transform="translate( -188.5859375, 0)" height="24" width="118.296875"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">#String opcode()</span></div></foreignObject><foreignObject transform="translate( -188.5859375, 28)" height="24" width="145.859375"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">#Object[] operands()</span></div></foreignObject><foreignObject transform="translate( -188.5859375, 56)" height="24" width="121.390625"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">+String toString()</span></div></foreignObject></g></g><g transform="translate(31.0546875, 39.5)" data-id="Add" data-node="true" id="classId-Add-95" class="node default"><rect height="63" width="46.109375" y="-31.5" x="-23.0546875" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="23.0546875" x1="-23.0546875" class="divider"></line><line y2="20.5" y1="20.5" x2="23.0546875" x1="-23.0546875" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -15.5546875, -24)" height="24" width="31.109375" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Add</span></div></foreignObject></g></g><g transform="translate(131.609375, 39.5)" data-id="Copy" data-node="true" id="classId-Copy-96" class="node default"><rect height="63" width="55" y="-31.5" x="-27.5" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="27.5" x1="-27.5" class="divider"></line><line y2="20.5" y1="20.5" x2="27.5" x1="-27.5" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -20, -24)" height="24" width="40" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Copy</span></div></foreignObject></g></g><g transform="translate(231.7265625, 39.5)" data-id="Halt" data-node="true" id="classId-Halt-97" class="node default"><rect height="63" width="45.234375" y="-31.5" x="-22.6171875" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="22.6171875" x1="-22.6171875" class="divider"></line><line y2="20.5" y1="20.5" x2="22.6171875" x1="-22.6171875" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -15.1171875, -24)" height="24" width="30.234375" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Halt</span></div></foreignObject></g></g><g transform="translate(333.1796875, 39.5)" data-id="Jump" data-node="true" id="classId-Jump-98" class="node default"><rect height="63" width="57.671875" y="-31.5" x="-28.8359375" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="28.8359375" x1="-28.8359375" class="divider"></line><line y2="20.5" y1="20.5" x2="28.8359375" x1="-28.8359375" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -21.3359375, -24)" height="24" width="42.671875" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Jump</span></div></foreignObject></g></g><g transform="translate(451.078125, 39.5)" data-id="JumpEq" data-node="true" id="classId-JumpEq-99" class="node default"><rect height="63" width="78.125" y="-31.5" x="-39.0625" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="39.0625" x1="-39.0625" class="divider"></line><line y2="20.5" y1="20.5" x2="39.0625" x1="-39.0625" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -31.5625, -24)" height="24" width="63.125" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">JumpEq</span></div></foreignObject></g></g><g transform="translate(561.4140625, 39.5)" data-id="Mul" data-node="true" id="classId-Mul-100" class="node default"><rect height="63" width="42.546875" y="-31.5" x="-21.2734375" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="21.2734375" x1="-21.2734375" class="divider"></line><line y2="20.5" y1="20.5" x2="21.2734375" x1="-21.2734375" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -13.7734375, -24)" height="24" width="27.546875" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Mul</span></div></foreignObject></g></g><g transform="translate(658.4140625, 39.5)" data-id="Print" data-node="true" id="classId-Print-101" class="node default"><rect height="63" width="51.453125" y="-31.5" x="-25.7265625" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="25.7265625" x1="-25.7265625" class="divider"></line><line y2="20.5" y1="20.5" x2="25.7265625" x1="-25.7265625" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -18.2265625, -24)" height="24" width="36.453125" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Print</span></div></foreignObject></g></g><g transform="translate(274.5234375, 377.5)" data-id="Word" data-node="true" id="classId-Word-102" class="node default"><rect height="63" width="55.59375" y="-31.5" x="-27.796875" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="27.796875" x1="-27.796875" class="divider"></line><line y2="20.5" y1="20.5" x2="27.796875" x1="-27.796875" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -20.296875, -24)" height="24" width="40.59375" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Word</span></div></foreignObject></g></g><g transform="translate(391.8359375, 377.5)" data-id="Address" data-node="true" id="classId-Address-103" class="node default"><rect height="63" width="79.03125" y="-31.5" x="-39.515625" class="outer title-state" style=""></rect><line y2="4.5" y1="4.5" x2="39.515625" x1="-39.515625" class="divider"></line><line y2="20.5" y1="20.5" x2="39.515625" x1="-39.515625" class="divider"></line><g class="label"><foreignObject height="0" width="0"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel"></span></div></foreignObject><foreignObject transform="translate( -32.015625, -24)" height="24" width="64.03125" class="classTitle"><div style="display: inline-block; white-space: nowrap;" xmlns="http://www.w3.org/1999/xhtml"><span class="nodeLabel">Address</span></div></foreignObject></g></g></g></g></g></svg> |