Compare commits
2 Commits
a1089ff203
...
909c1d0ab6
Author | SHA1 | Date |
---|---|---|
Tristan B. Velloza Kildaire | 909c1d0ab6 | |
Tristan B. Velloza Kildaire | 28a6b872df |
|
@ -1,19 +1,19 @@
|
|||
<?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)
|
||||
<!-- Generated by graphviz version 7.1.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">
|
||||
<svg width="273pt" height="514pt"
|
||||
viewBox="0.00 0.00 272.58 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>
|
||||
<polygon fill="white" stroke="none" points="-4,4 -4,-510 268.58,-510 268.58,4 -4,4"/>
|
||||
<text text-anchor="middle" x="132.29" 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="#f2f2f2" stroke="none" 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>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<!-- 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="#f2f2f2" stroke="none" 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)   </text>
|
||||
|
@ -59,9 +59,9 @@
|
|||
<!-- SubDNode_1->DNode_1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>SubDNode_1->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    </text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M170.29,-262.72C201.85,-210.07 219.56,-159 169.5,-159"/>
|
||||
<polygon fill="none" stroke="black" points="167.51,-260.57 165.26,-270.92 173.48,-264.23 167.51,-260.57"/>
|
||||
<text text-anchor="middle" x="227.58" y="-227.96" font-family="Helvetica,Arial,sans-serif" font-size="14.00">pooled by    </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
@ -1,19 +1,19 @@
|
|||
<?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)
|
||||
<!-- Generated by graphviz version 7.1.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"/>
|
||||
<polygon fill="white" stroke="none" 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="#f2f2f2" stroke="none" 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>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<!-- 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="#f2f2f2" stroke="none" 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>
|
||||
|
@ -53,14 +53,14 @@
|
|||
<!-- SubDNode_1->DNode_1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>SubDNode_1->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>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M68.95,-259.37C76.16,-219.19 93.05,-178 132,-178"/>
|
||||
<polygon fill="black" stroke="black" points="68.96,-259.3 71.99,-265.84 67.11,-271.16 64.09,-264.61 68.96,-259.3"/>
|
||||
<text text-anchor="middle" x="45.92" y="-220.59" 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="#f2f2f2" stroke="none" 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>
|
||||
|
@ -76,14 +76,14 @@
|
|||
<!-- SubDNode_2->DNode_1 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>SubDNode_2->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   </text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M280.23,-261.97C312.82,-220.99 337.19,-178 296,-178"/>
|
||||
<polygon fill="black" stroke="black" points="280.17,-262.04 279.49,-269.22 272.6,-271.35 273.28,-264.17 280.17,-262.04"/>
|
||||
<text text-anchor="middle" x="340.53" y="-239.53" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on   </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="#f2f2f2" stroke="none" 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>
|
||||
|
@ -99,9 +99,9 @@
|
|||
<!-- SubDNode_3->DNode_1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>SubDNode_3->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   </text>
|
||||
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M360.8,-259.37C352.89,-219.19 335.22,-178 296,-178"/>
|
||||
<polygon fill="black" stroke="black" points="360.79,-259.33 365.76,-264.56 362.84,-271.16 357.88,-265.93 360.79,-259.33"/>
|
||||
<text text-anchor="middle" x="388.36" y="-220.18" font-family="Helvetica,Arial,sans-serif" font-size="14.00">depends on   </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.2 KiB |
|
@ -1,320 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc-plot" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>Generated figure</title>
|
||||
<style>
|
||||
html {
|
||||
line-height: 1.5;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 20px;
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
word-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
pre > code.sourceCode { white-space: pre-wrap; }
|
||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||
}
|
||||
pre.numberSource code
|
||||
{ counter-reset: source-line 0; }
|
||||
pre.numberSource code > span
|
||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||
pre.numberSource code > span > a:first-child::before
|
||||
{ content: counter(source-line);
|
||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||
border: none; display: inline-block;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; }
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.at { color: #7d9029; }
|
||||
code span.bn { color: #40a070; }
|
||||
code span.bu { color: #008000; }
|
||||
code span.cf { color: #007020; font-weight: bold; }
|
||||
code span.ch { color: #4070a0; }
|
||||
code span.cn { color: #880000; }
|
||||
code span.co { color: #60a0b0; font-style: italic; }
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.do { color: #ba2121; font-style: italic; }
|
||||
code span.dt { color: #902000; }
|
||||
code span.dv { color: #40a070; }
|
||||
code span.er { color: #ff0000; font-weight: bold; }
|
||||
code span.ex { }
|
||||
code span.fl { color: #40a070; }
|
||||
code span.fu { color: #06287e; }
|
||||
code span.im { color: #008000; font-weight: bold; }
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.kw { color: #007020; font-weight: bold; }
|
||||
code span.op { color: #666666; }
|
||||
code span.ot { color: #007020; }
|
||||
code span.pp { color: #bc7a00; }
|
||||
code span.sc { color: #4070a0; }
|
||||
code span.ss { color: #bb6688; }
|
||||
code span.st { color: #4070a0; }
|
||||
code span.va { color: #19177c; }
|
||||
code span.vs { color: #4070a0; }
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode dot"><code class="sourceCode dot"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">// Generated by pandoc-plot 1.5.5</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">digraph</span> <span class="va">CompilationProcess</span> <span class="ot">{</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">graph</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="st">"Compilation process"</span></span>
|
||||
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">labelloc</span><span class="ot">=</span><span class="st">"t"</span></span>
|
||||
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">record</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">filled</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fillcolor</span><span class="ot">=</span><span class="va">gray95</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Lexer</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Lexer</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="ot">]</span></span>
|
||||
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Lexer</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">Parser</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"tokens"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Parser</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Parser</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="ot">]</span></span>
|
||||
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Parser</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">Symbols</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"Container"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Symbols</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Symbols</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss1"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Pseudo</span><span class="co">-</span><span class="va">entity</span><span class="co"> </span><span class="va">resolution</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss2"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Name</span><span class="co"> </span><span class="va">collision</span><span class="co"> </span><span class="va">detection</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="ot">]</span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Symbols</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">Dependency</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"Container"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Dependency</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Dependency</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss1"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Dependency</span><span class="co"> </span><span class="va">generation</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss2"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Linearization</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-68"><a href="#cb1-68" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-69"><a href="#cb1-69" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-70"><a href="#cb1-70" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-71"><a href="#cb1-71" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="ot">]</span></span>
|
||||
<span id="cb1-72"><a href="#cb1-72" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">Dependency</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">TypeCheckCodeGen</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"DNodes"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-73"><a href="#cb1-73" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-74"><a href="#cb1-74" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">TypeCheckCodeGen</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-75"><a href="#cb1-75" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-76"><a href="#cb1-76" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-77"><a href="#cb1-77" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">TC</span><span class="co">/</span><span class="va">GC</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-78"><a href="#cb1-78" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-79"><a href="#cb1-79" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-80"><a href="#cb1-80" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss1"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Type</span><span class="co"> </span><span class="va">checking</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-81"><a href="#cb1-81" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss2"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Code</span><span class="co"> </span><span class="va">generation</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-82"><a href="#cb1-82" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-83"><a href="#cb1-83" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-84"><a href="#cb1-84" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-85"><a href="#cb1-85" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-86"><a href="#cb1-86" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-87"><a href="#cb1-87" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-88"><a href="#cb1-88" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="ot">]</span></span>
|
||||
<span id="cb1-89"><a href="#cb1-89" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">TypeCheckCodeGen</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">InstructionEmit</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"Instructions"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-90"><a href="#cb1-90" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-91"><a href="#cb1-91" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">InstructionEmit</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-92"><a href="#cb1-92" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-93"><a href="#cb1-93" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-94"><a href="#cb1-94" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Emit</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-95"><a href="#cb1-95" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-96"><a href="#cb1-96" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-97"><a href="#cb1-97" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss1"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Instruction</span><span class="co"> </span><span class="va">transformation</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-98"><a href="#cb1-98" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss2"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Symbol</span><span class="co"> </span><span class="va">mapping</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-99"><a href="#cb1-99" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-100"><a href="#cb1-100" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-101"><a href="#cb1-101" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-102"><a href="#cb1-102" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-103"><a href="#cb1-103" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-104"><a href="#cb1-104" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-105"><a href="#cb1-105" aria-hidden="true" tabindex="-1"></a><span class="ot">}</span></span></code></pre></div>
|
||||
<a href="https://github.com/LaurentRDC/pandoc-plot">Click here to see how this plot was generated.</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,115 +0,0 @@
|
|||
<?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->Parser -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Lexer->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">- Pseudo-entity resolution    </text>
|
||||
<text text-anchor="start" x="10.5" y="-337.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- Name collision detection    </text>
|
||||
</g>
|
||||
<!-- Parser->Symbols -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Parser->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">- Dependency generation    </text>
|
||||
<text text-anchor="start" x="12.5" y="-228.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- Linearization    </text>
|
||||
</g>
|
||||
<!-- Symbols->Dependency -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Symbols->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">- Type checking    </text>
|
||||
<text text-anchor="start" x="33.5" y="-119.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- Code generation    </text>
|
||||
</g>
|
||||
<!-- Dependency->TypeCheckCodeGen -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Dependency->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">- Instruction transformation    </text>
|
||||
<text text-anchor="start" x="7.5" y="-10.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- Symbol mapping    </text>
|
||||
</g>
|
||||
<!-- TypeCheckCodeGen->InstructionEmit -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>TypeCheckCodeGen->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>
|
Before Width: | Height: | Size: 8.6 KiB |
|
@ -401,32 +401,128 @@ expect(SymbolType.SEMICOLON, lexer.getCurrentToken());
|
|||
lexer.nextToken();
|
||||
```
|
||||
|
||||
### Modules
|
||||
#### Visiting modules
|
||||
|
||||
TODO: Add this
|
||||
We now have an array of modules wanting to be imported in the form of
|
||||
`collectedModuleNames`. But what do we do with these now?
|
||||
|
||||
It is worth
|
||||
Well, we need to obviously open up the modules but that means ~~two~~
|
||||
three things:
|
||||
|
||||
It is worth dedicating a section to how the module lookup system works.
|
||||
This is discussed as part of the overarching *“Parsing”* chapter because
|
||||
this code is made of use within the `parseImport(string)` method.
|
||||
1. How do we map a module name `b` to a filename?
|
||||
2. How do we prevent cycles when visiting modules
|
||||
3. How do we add them all to the correct *program*?
|
||||
|
||||
Let’s start off with a module which we are parsing, and let’s say that
|
||||
it looks like this:
|
||||
Well, lucky for you the answers are all here - albeit, it did take a lot
|
||||
of time to get this albeit simple-sounding system right.
|
||||
|
||||
The mapping of names is discussed in the *module management* section but
|
||||
needless to say it is performed by the current `Program`’s
|
||||
`ModuleManager` which can be retrieved via `this.program.getModMan()`.
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Let’s look at how this code works. Recall that we were still busy in
|
||||
`parseImport()`. Well, now we shall enter the following method
|
||||
`doImport(string[])` as follows:
|
||||
|
||||
``` d
|
||||
TODO: Add code
|
||||
/* Perform the actual import */
|
||||
doImport(collectedModuleNames);
|
||||
```
|
||||
|
||||
When we examine each of the import statements, how is it that we
|
||||
actually go about looking up the module it refers to on disk? How do we
|
||||
know which directories to scan in the first place. How is the name
|
||||
finally determined? All of these questions will be answered but before
|
||||
we can do so we must first take a look at the sub-system known as the
|
||||
`ModuleManager`.
|
||||
This method first of all starts off by obtaining a few important object
|
||||
instances:
|
||||
|
||||
Things added to search path:
|
||||
``` d
|
||||
// Print out some information about the current program
|
||||
Program prog = this.compiler.getProgram();
|
||||
|
||||
- Current working directory
|
||||
- `modman:paths`
|
||||
- COntaining directory of each module on command0line
|
||||
// Get the module manager
|
||||
ModuleManager modMan = compiler.getModMan();
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Now, we must perform the following **steps**:
|
||||
|
||||
1. *For every* module name `i` in `collectedModuleNames`
|
||||
1. Find a `ModuleEntry` for *name* `i`
|
||||
2. Append this `ModuleEntry` to `foundEnts`
|
||||
|
||||
This step is what satisfies the first 1/3 steps of ours. This maps the
|
||||
incoming module *name* to a module *filename*. The code for doing this
|
||||
is shown below:
|
||||
|
||||
``` d
|
||||
// Search for all the module entries
|
||||
ModuleEntry[] foundEnts;
|
||||
foreach(string mod; modules)
|
||||
{
|
||||
gprintln(format("Module wanting to be imported: %s", mod));
|
||||
|
||||
// Search for the module entry
|
||||
ModuleEntry foundEnt = modMan.find(mod);
|
||||
gprintln("Found module entry: "~to!(string)(foundEnt));
|
||||
foundEnts ~= foundEnt;
|
||||
}
|
||||
```
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Now we have to do the following **steps**:
|
||||
|
||||
1. *For each* module entry `m` in `foundEnts`
|
||||
1. Check if `m` has been visited, **if so**, then go back to `1`
|
||||
and process the next *module entry*
|
||||
2. *If **not*** then *mark the entry* as visited
|
||||
1. Then read the module’s source code
|
||||
2. Parse the module and obtain a `Module` object
|
||||
3. Save the obtained `Module` to the *module entry* `m`
|
||||
|
||||
The code for the above algorithm can be seen below:
|
||||
|
||||
``` d
|
||||
// For each module entry, only import
|
||||
// it if not already in the process
|
||||
// of being visited
|
||||
foreach(ModuleEntry modEnt; foundEnts)
|
||||
{
|
||||
// Check here if already present, if so,
|
||||
// then skip
|
||||
if(prog.isEntryPresent(modEnt))
|
||||
{
|
||||
gprintln(format("Not parsing module '%s' as already marked as visited", modEnt));
|
||||
continue;
|
||||
}
|
||||
|
||||
// Mark it as visited
|
||||
prog.markEntryAsVisited(modEnt);
|
||||
|
||||
// Read in the module's contents
|
||||
string moduleSource = modMan.readModuleData_throwable(modEnt);
|
||||
gprintln("Module has "~to!(string)(moduleSource.length)~" many bytes");
|
||||
|
||||
// Parse the module
|
||||
import tlang.compiler.lexer.kinds.basic : BasicLexer;
|
||||
LexerInterface lexerInterface = new BasicLexer(moduleSource);
|
||||
(cast(BasicLexer)lexerInterface).performLex();
|
||||
Parser parser = new Parser(lexerInterface, this.compiler);
|
||||
Module pMod = parser.parse(modEnt.getPath());
|
||||
|
||||
// Map parsed module to its entry
|
||||
prog.setEntryModule(modEnt, pMod);
|
||||
}
|
||||
```
|
||||
|
||||
This whole process is important, especially the aspect whereby we mark a
|
||||
module as visited prior to finishing parsing it. One needs this because
|
||||
a module `b` might import a module `a` which imports a module `b` and it
|
||||
is at this last point that we want the check for visitation to return
|
||||
`true` even though parsing of the `b` module has not yet completed.
|
||||
|
||||
Then at the end of the entire process we save the obtained *module
|
||||
object* to its respective *module entry*. The act of saving it basically
|
||||
maps the module’s *name* to the `Module` object itself and **also** adds
|
||||
it to the `Program`’s body - hence making this module a part of the
|
||||
larger program.
|
||||
|
|
|
@ -1,280 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc-plot" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>Generated figure</title>
|
||||
<style>
|
||||
html {
|
||||
line-height: 1.5;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 20px;
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
word-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
pre > code.sourceCode { white-space: pre-wrap; }
|
||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||
}
|
||||
pre.numberSource code
|
||||
{ counter-reset: source-line 0; }
|
||||
pre.numberSource code > span
|
||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||
pre.numberSource code > span > a:first-child::before
|
||||
{ content: counter(source-line);
|
||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||
border: none; display: inline-block;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; }
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.at { color: #7d9029; }
|
||||
code span.bn { color: #40a070; }
|
||||
code span.bu { color: #008000; }
|
||||
code span.cf { color: #007020; font-weight: bold; }
|
||||
code span.ch { color: #4070a0; }
|
||||
code span.cn { color: #880000; }
|
||||
code span.co { color: #60a0b0; font-style: italic; }
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.do { color: #ba2121; font-style: italic; }
|
||||
code span.dt { color: #902000; }
|
||||
code span.dv { color: #40a070; }
|
||||
code span.er { color: #ff0000; font-weight: bold; }
|
||||
code span.ex { }
|
||||
code span.fl { color: #40a070; }
|
||||
code span.fu { color: #06287e; }
|
||||
code span.im { color: #008000; font-weight: bold; }
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.kw { color: #007020; font-weight: bold; }
|
||||
code span.op { color: #666666; }
|
||||
code span.ot { color: #007020; }
|
||||
code span.pp { color: #bc7a00; }
|
||||
code span.sc { color: #4070a0; }
|
||||
code span.ss { color: #bb6688; }
|
||||
code span.st { color: #4070a0; }
|
||||
code span.va { color: #19177c; }
|
||||
code span.vs { color: #4070a0; }
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode dot"><code class="sourceCode dot"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">// Generated by pandoc-plot 1.5.5</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">digraph</span> <span class="va">Pooling</span> <span class="ot">{</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">graph</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="st">"Pooling of a parse node to a DNode"</span></span>
|
||||
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">labelloc</span><span class="ot">=</span><span class="st">"t"</span></span>
|
||||
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">record</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">filled</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fillcolor</span><span class="ot">=</span><span class="va">gray95</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="st">""</span><span class="ot">]</span></span>
|
||||
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span></span>
|
||||
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >+ </span><span class="va">properties</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"dependenciesArray"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">DNode</span><span class="ot">[]</span><span class="co"> </span><span class="va">dependencies</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"containedEntity"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Statement</span><span class="co"> </span><span class="va">entity</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">methods</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">needs</span><span class="ot">(</span><span class="va">DNode</span><span class="ot">)</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">isVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">markVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getEntity</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="ot">]</span></span>
|
||||
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">DNode_1</span><span class="co">:</span><span class="va">containedEntity</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"pooled by "</span><span class="ot">]</span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Variable</span><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">(</span><span class="va">PNode</span><span class="ot">)</span><span class="co"> </</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">properties</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>- </span><span class="va">string</span><span class="co"> </span><span class="at">name</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>- </span><span class="va">string</span><span class="co"> </span><span class="va">type</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">methods</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getName</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getType</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">hasAssignment</span><span class="ot">()</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a><span class="ot">}</span></span></code></pre></div>
|
||||
<a href="https://github.com/LaurentRDC/pandoc-plot">Click here to see how this plot was generated.</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,67 +0,0 @@
|
|||
<?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">- DNode[] dependencies   </text>
|
||||
<text text-anchor="start" x="8.5" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- 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)   </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">- string name</text>
|
||||
<text text-anchor="start" x="7.5" y="-401.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- 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()   </text>
|
||||
</g>
|
||||
<!-- SubDNode_1->DNode_1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>SubDNode_1->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    </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.6 KiB |
|
@ -1,312 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc-plot" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>Generated figure</title>
|
||||
<style>
|
||||
html {
|
||||
line-height: 1.5;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 20px;
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
word-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
pre > code.sourceCode { white-space: pre-wrap; }
|
||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||
}
|
||||
pre.numberSource code
|
||||
{ counter-reset: source-line 0; }
|
||||
pre.numberSource code > span
|
||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||
pre.numberSource code > span > a:first-child::before
|
||||
{ content: counter(source-line);
|
||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||
border: none; display: inline-block;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; }
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.at { color: #7d9029; }
|
||||
code span.bn { color: #40a070; }
|
||||
code span.bu { color: #008000; }
|
||||
code span.cf { color: #007020; font-weight: bold; }
|
||||
code span.ch { color: #4070a0; }
|
||||
code span.cn { color: #880000; }
|
||||
code span.co { color: #60a0b0; font-style: italic; }
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.do { color: #ba2121; font-style: italic; }
|
||||
code span.dt { color: #902000; }
|
||||
code span.dv { color: #40a070; }
|
||||
code span.er { color: #ff0000; font-weight: bold; }
|
||||
code span.ex { }
|
||||
code span.fl { color: #40a070; }
|
||||
code span.fu { color: #06287e; }
|
||||
code span.im { color: #008000; font-weight: bold; }
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.kw { color: #007020; font-weight: bold; }
|
||||
code span.op { color: #666666; }
|
||||
code span.ot { color: #007020; }
|
||||
code span.pp { color: #bc7a00; }
|
||||
code span.sc { color: #4070a0; }
|
||||
code span.ss { color: #bb6688; }
|
||||
code span.st { color: #4070a0; }
|
||||
code span.va { color: #19177c; }
|
||||
code span.vs { color: #4070a0; }
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode dot"><code class="sourceCode dot"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">// Generated by pandoc-plot 1.5.5</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">digraph</span> <span class="va">DependencyNodes</span> <span class="ot">{</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">graph</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="st">"Dependency nodes"</span></span>
|
||||
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">labelloc</span><span class="ot">=</span><span class="st">"t"</span></span>
|
||||
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">record</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">filled</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fillcolor</span><span class="ot">=</span><span class="va">gray95</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="st">""</span><span class="ot">]</span></span>
|
||||
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span></span>
|
||||
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >+ </span><span class="va">properties</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"dependenciesArray"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">DNode</span><span class="ot">[]</span><span class="co"> </span><span class="va">dependencies</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"ss2"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Statement</span><span class="co"> </span><span class="va">entity</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">methods</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">needs</span><span class="ot">(</span><span class="va">DNode</span><span class="ot">)</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">isVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">markVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getEntity</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">diamond</span><span class="ot">]</span></span>
|
||||
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">DNode_1</span><span class="co">:</span><span class="va">dependenciesArray</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"depends on"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_2</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">DNode_1</span><span class="co">:</span><span class="va">dependenciesArray</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"depends on "</span><span class="ot">]</span></span>
|
||||
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_3</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">DNode_1</span><span class="co">:</span><span class="va">dependenciesArray</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"depends on "</span><span class="ot">]</span></span>
|
||||
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">properties</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">></span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a><span class="co"> + </span><span class="va">method</span><span class="co"><</span><span class="va">br</span><span class="co">/></span></span>
|
||||
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a><span class="co"> ...<</span><span class="va">br</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">/></span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_2</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-66"><a href="#cb1-66" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-67"><a href="#cb1-67" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-68"><a href="#cb1-68" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-69"><a href="#cb1-69" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-70"><a href="#cb1-70" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">properties</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-71"><a href="#cb1-71" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-72"><a href="#cb1-72" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-73"><a href="#cb1-73" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-74"><a href="#cb1-74" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">></span></span>
|
||||
<span id="cb1-75"><a href="#cb1-75" aria-hidden="true" tabindex="-1"></a><span class="co"> + </span><span class="va">methods</span><span class="co"><</span><span class="va">br</span><span class="co">/></span></span>
|
||||
<span id="cb1-76"><a href="#cb1-76" aria-hidden="true" tabindex="-1"></a><span class="co"> ...<</span><span class="va">br</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">/></span></span>
|
||||
<span id="cb1-77"><a href="#cb1-77" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-78"><a href="#cb1-78" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-79"><a href="#cb1-79" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-80"><a href="#cb1-80" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_3</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-81"><a href="#cb1-81" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-82"><a href="#cb1-82" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-83"><a href="#cb1-83" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-84"><a href="#cb1-84" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-85"><a href="#cb1-85" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-86"><a href="#cb1-86" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">properties</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-87"><a href="#cb1-87" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-88"><a href="#cb1-88" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-89"><a href="#cb1-89" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-90"><a href="#cb1-90" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">></span></span>
|
||||
<span id="cb1-91"><a href="#cb1-91" aria-hidden="true" tabindex="-1"></a><span class="co"> + </span><span class="va">methods</span><span class="co"><</span><span class="va">br</span><span class="co">/></span></span>
|
||||
<span id="cb1-92"><a href="#cb1-92" aria-hidden="true" tabindex="-1"></a><span class="co"> ...<</span><span class="va">br</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">/></span></span>
|
||||
<span id="cb1-93"><a href="#cb1-93" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-94"><a href="#cb1-94" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-95"><a href="#cb1-95" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-96"><a href="#cb1-96" aria-hidden="true" tabindex="-1"></a><span class="co"> </span></span>
|
||||
<span id="cb1-97"><a href="#cb1-97" aria-hidden="true" tabindex="-1"></a><span class="ot">}</span></span></code></pre></div>
|
||||
<a href="https://github.com/LaurentRDC/pandoc-plot">Click here to see how this plot was generated.</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,107 +0,0 @@
|
|||
<?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">- DNode[] dependencies   </text>
|
||||
<text text-anchor="start" x="135" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- 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">                + method</text>
|
||||
<text text-anchor="start" x="5" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">                ...</text>
|
||||
<text text-anchor="start" x="41" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">            </text>
|
||||
</g>
|
||||
<!-- SubDNode_1->DNode_1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>SubDNode_1->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">                + methods</text>
|
||||
<text text-anchor="start" x="152" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">                ...</text>
|
||||
<text text-anchor="start" x="191.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">            </text>
|
||||
</g>
|
||||
<!-- SubDNode_2->DNode_1 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>SubDNode_2->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   </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">                + methods</text>
|
||||
<text text-anchor="start" x="305" y="-295.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">                ...</text>
|
||||
<text text-anchor="start" x="344.5" y="-280.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">            </text>
|
||||
</g>
|
||||
<!-- SubDNode_3->DNode_1 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>SubDNode_3->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   </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 9.3 KiB |
|
@ -1,280 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="generator" content="pandoc-plot" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
||||
<title>Generated figure</title>
|
||||
<style>
|
||||
html {
|
||||
line-height: 1.5;
|
||||
font-family: Georgia, serif;
|
||||
font-size: 20px;
|
||||
color: #1a1a1a;
|
||||
background-color: #fdfdfd;
|
||||
}
|
||||
body {
|
||||
margin: 0 auto;
|
||||
max-width: 36em;
|
||||
padding-left: 50px;
|
||||
padding-right: 50px;
|
||||
padding-top: 50px;
|
||||
padding-bottom: 50px;
|
||||
hyphens: auto;
|
||||
word-wrap: break-word;
|
||||
text-rendering: optimizeLegibility;
|
||||
font-kerning: normal;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
body {
|
||||
font-size: 0.9em;
|
||||
padding: 1em;
|
||||
}
|
||||
}
|
||||
@media print {
|
||||
body {
|
||||
background-color: transparent;
|
||||
color: black;
|
||||
font-size: 12pt;
|
||||
}
|
||||
p, h2, h3 {
|
||||
orphans: 3;
|
||||
widows: 3;
|
||||
}
|
||||
h2, h3, h4 {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
}
|
||||
p {
|
||||
margin: 1em 0;
|
||||
}
|
||||
a {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
a:visited {
|
||||
color: #1a1a1a;
|
||||
}
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-top: 1.4em;
|
||||
}
|
||||
h5, h6 {
|
||||
font-size: 1em;
|
||||
font-style: italic;
|
||||
}
|
||||
h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
ol, ul {
|
||||
padding-left: 1.7em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
li > ol, li > ul {
|
||||
margin-top: 0;
|
||||
}
|
||||
blockquote {
|
||||
margin: 1em 0 1em 1.7em;
|
||||
padding-left: 1em;
|
||||
border-left: 2px solid #e6e6e6;
|
||||
color: #606060;
|
||||
}
|
||||
code {
|
||||
font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
|
||||
font-size: 85%;
|
||||
margin: 0;
|
||||
}
|
||||
pre {
|
||||
margin: 1em 0;
|
||||
overflow: auto;
|
||||
}
|
||||
pre code {
|
||||
padding: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
.sourceCode {
|
||||
background-color: transparent;
|
||||
overflow: visible;
|
||||
}
|
||||
hr {
|
||||
background-color: #1a1a1a;
|
||||
border: none;
|
||||
height: 1px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
table {
|
||||
margin: 1em 0;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
display: block;
|
||||
font-variant-numeric: lining-nums tabular-nums;
|
||||
}
|
||||
table caption {
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
tbody {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #1a1a1a;
|
||||
border-bottom: 1px solid #1a1a1a;
|
||||
}
|
||||
th {
|
||||
border-top: 1px solid #1a1a1a;
|
||||
padding: 0.25em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
td {
|
||||
padding: 0.125em 0.5em 0.25em 0.5em;
|
||||
}
|
||||
header {
|
||||
margin-bottom: 4em;
|
||||
text-align: center;
|
||||
}
|
||||
#TOC li {
|
||||
list-style: none;
|
||||
}
|
||||
#TOC a:not(:hover) {
|
||||
text-decoration: none;
|
||||
}
|
||||
code{white-space: pre-wrap;}
|
||||
span.smallcaps{font-variant: small-caps;}
|
||||
span.underline{text-decoration: underline;}
|
||||
div.column{display: inline-block; vertical-align: top; width: 50%;}
|
||||
div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
|
||||
ul.task-list{list-style: none;}
|
||||
pre > code.sourceCode { white-space: pre; position: relative; }
|
||||
pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
|
||||
pre > code.sourceCode > span:empty { height: 1.2em; }
|
||||
.sourceCode { overflow: visible; }
|
||||
code.sourceCode > span { color: inherit; text-decoration: inherit; }
|
||||
div.sourceCode { margin: 1em 0; }
|
||||
pre.sourceCode { margin: 0; }
|
||||
@media screen {
|
||||
div.sourceCode { overflow: auto; }
|
||||
}
|
||||
@media print {
|
||||
pre > code.sourceCode { white-space: pre-wrap; }
|
||||
pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
|
||||
}
|
||||
pre.numberSource code
|
||||
{ counter-reset: source-line 0; }
|
||||
pre.numberSource code > span
|
||||
{ position: relative; left: -4em; counter-increment: source-line; }
|
||||
pre.numberSource code > span > a:first-child::before
|
||||
{ content: counter(source-line);
|
||||
position: relative; left: -1em; text-align: right; vertical-align: baseline;
|
||||
border: none; display: inline-block;
|
||||
-webkit-touch-callout: none; -webkit-user-select: none;
|
||||
-khtml-user-select: none; -moz-user-select: none;
|
||||
-ms-user-select: none; user-select: none;
|
||||
padding: 0 4px; width: 4em;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
|
||||
div.sourceCode
|
||||
{ }
|
||||
@media screen {
|
||||
pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
|
||||
}
|
||||
code span.al { color: #ff0000; font-weight: bold; }
|
||||
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.at { color: #7d9029; }
|
||||
code span.bn { color: #40a070; }
|
||||
code span.bu { color: #008000; }
|
||||
code span.cf { color: #007020; font-weight: bold; }
|
||||
code span.ch { color: #4070a0; }
|
||||
code span.cn { color: #880000; }
|
||||
code span.co { color: #60a0b0; font-style: italic; }
|
||||
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.do { color: #ba2121; font-style: italic; }
|
||||
code span.dt { color: #902000; }
|
||||
code span.dv { color: #40a070; }
|
||||
code span.er { color: #ff0000; font-weight: bold; }
|
||||
code span.ex { }
|
||||
code span.fl { color: #40a070; }
|
||||
code span.fu { color: #06287e; }
|
||||
code span.im { color: #008000; font-weight: bold; }
|
||||
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
code span.kw { color: #007020; font-weight: bold; }
|
||||
code span.op { color: #666666; }
|
||||
code span.ot { color: #007020; }
|
||||
code span.pp { color: #bc7a00; }
|
||||
code span.sc { color: #4070a0; }
|
||||
code span.ss { color: #bb6688; }
|
||||
code span.st { color: #4070a0; }
|
||||
code span.va { color: #19177c; }
|
||||
code span.vs { color: #4070a0; }
|
||||
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; }
|
||||
.display.math{display: block; text-align: center; margin: 0.5rem auto;}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="sourceCode" id="cb1"><pre class="sourceCode dot"><code class="sourceCode dot"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">// Generated by pandoc-plot 1.5.5</span></span>
|
||||
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="kw">digraph</span> <span class="va">Pooling</span> <span class="ot">{</span></span>
|
||||
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">graph</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="st">"Pooling of a parse node to a DNode"</span></span>
|
||||
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">labelloc</span><span class="ot">=</span><span class="st">"t"</span></span>
|
||||
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span></span>
|
||||
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">record</span></span>
|
||||
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">filled</span></span>
|
||||
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">fillcolor</span><span class="ot">=</span><span class="va">gray95</span></span>
|
||||
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">fontname</span><span class="ot">=</span><span class="st">"Helvetica,Arial,sans-serif"</span><span class="ot">]</span></span>
|
||||
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">arrowhead</span><span class="ot">=</span><span class="va">vee</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-18"><a href="#cb1-18" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="st">""</span><span class="ot">]</span></span>
|
||||
<span id="cb1-19"><a href="#cb1-19" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-20"><a href="#cb1-20" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="co"> </span><span class="at">arrowtail</span><span class="ot">=</span><span class="va">empty</span><span class="co"> </span><span class="at">style</span><span class="ot">=</span><span class="va">dashed</span><span class="ot">]</span></span>
|
||||
<span id="cb1-21"><a href="#cb1-21" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span></span>
|
||||
<span id="cb1-22"><a href="#cb1-22" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">DNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-23"><a href="#cb1-23" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-24"><a href="#cb1-24" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-25"><a href="#cb1-25" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">DNode</span><span class="co"></</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-26"><a href="#cb1-26" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-27"><a href="#cb1-27" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-28"><a href="#cb1-28" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >+ </span><span class="va">properties</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-29"><a href="#cb1-29" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"dependenciesArray"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">DNode</span><span class="ot">[]</span><span class="co"> </span><span class="va">dependencies</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-30"><a href="#cb1-30" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">port</span><span class="ot">=</span><span class="st">"containedEntity"</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co"> >- </span><span class="va">Statement</span><span class="co"> </span><span class="va">entity</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-31"><a href="#cb1-31" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-32"><a href="#cb1-32" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-33"><a href="#cb1-33" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-34"><a href="#cb1-34" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-35"><a href="#cb1-35" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">methods</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-36"><a href="#cb1-36" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">needs</span><span class="ot">(</span><span class="va">DNode</span><span class="ot">)</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-37"><a href="#cb1-37" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">isVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-38"><a href="#cb1-38" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">markVisited</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-39"><a href="#cb1-39" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getEntity</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-40"><a href="#cb1-40" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-41"><a href="#cb1-41" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-42"><a href="#cb1-42" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-43"><a href="#cb1-43" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="kw">edge</span><span class="co"> </span><span class="ot">[</span><span class="at">dir</span><span class="ot">=</span><span class="va">back</span><span class="ot">]</span></span>
|
||||
<span id="cb1-44"><a href="#cb1-44" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">-></span><span class="co"> </span><span class="va">DNode_1</span><span class="co">:</span><span class="va">containedEntity</span><span class="co"> </span><span class="ot">[</span><span class="va">xlabel</span><span class="ot">=</span><span class="st">"pooled by "</span><span class="ot">]</span></span>
|
||||
<span id="cb1-45"><a href="#cb1-45" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-46"><a href="#cb1-46" aria-hidden="true" tabindex="-1"></a></span>
|
||||
<span id="cb1-47"><a href="#cb1-47" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="va">SubDNode_1</span><span class="co"> </span><span class="ot">[</span></span>
|
||||
<span id="cb1-48"><a href="#cb1-48" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">shape</span><span class="ot">=</span><span class="va">plain</span></span>
|
||||
<span id="cb1-49"><a href="#cb1-49" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="at">label</span><span class="ot">=</span><span class="co"><<</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"1"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellpadding</span><span class="ot">=</span><span class="st">"4"</span><span class="co">></span></span>
|
||||
<span id="cb1-50"><a href="#cb1-50" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">> <</span><span class="va">b</span><span class="co">></span><span class="va">Variable</span><span class="co"> </span><span class="kw">node</span><span class="co"> </span><span class="ot">(</span><span class="va">PNode</span><span class="ot">)</span><span class="co"> </</span><span class="va">b</span><span class="co">> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-51"><a href="#cb1-51" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co">></span></span>
|
||||
<span id="cb1-52"><a href="#cb1-52" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">table</span><span class="co"> </span><span class="va">border</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellborder</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> </span><span class="va">cellspacing</span><span class="ot">=</span><span class="st">"0"</span><span class="co"> ></span></span>
|
||||
<span id="cb1-53"><a href="#cb1-53" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">properties</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-54"><a href="#cb1-54" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>- </span><span class="va">string</span><span class="co"> </span><span class="at">name</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-55"><a href="#cb1-55" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>- </span><span class="va">string</span><span class="co"> </span><span class="va">type</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-56"><a href="#cb1-56" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>...</</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-57"><a href="#cb1-57" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">></span></span>
|
||||
<span id="cb1-58"><a href="#cb1-58" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-59"><a href="#cb1-59" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">methods</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-60"><a href="#cb1-60" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getName</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-61"><a href="#cb1-61" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">getType</span><span class="ot">()</span><span class="co"></</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-62"><a href="#cb1-62" aria-hidden="true" tabindex="-1"></a><span class="co"> <</span><span class="va">tr</span><span class="co">> <</span><span class="va">td</span><span class="co"> </span><span class="va">align</span><span class="ot">=</span><span class="st">"left"</span><span class="co">>+ </span><span class="va">hasAssignment</span><span class="ot">()</span><span class="co"> </</span><span class="va">td</span><span class="co">> </</span><span class="va">tr</span><span class="co">></span></span>
|
||||
<span id="cb1-63"><a href="#cb1-63" aria-hidden="true" tabindex="-1"></a><span class="co"> </</span><span class="va">table</span><span class="co">>></span></span>
|
||||
<span id="cb1-64"><a href="#cb1-64" aria-hidden="true" tabindex="-1"></a><span class="co"> </span><span class="ot">]</span></span>
|
||||
<span id="cb1-65"><a href="#cb1-65" aria-hidden="true" tabindex="-1"></a><span class="ot">}</span></span></code></pre></div>
|
||||
<a href="https://github.com/LaurentRDC/pandoc-plot">Click here to see how this plot was generated.</a>
|
||||
</body>
|
||||
</html>
|
|
@ -1,67 +0,0 @@
|
|||
<?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">- DNode[] dependencies   </text>
|
||||
<text text-anchor="start" x="8.5" y="-154.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- 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)   </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">- string name</text>
|
||||
<text text-anchor="start" x="7.5" y="-401.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">- 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()   </text>
|
||||
</g>
|
||||
<!-- SubDNode_1->DNode_1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>SubDNode_1->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    </text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 5.6 KiB |
|
@ -311,3 +311,101 @@ The mapping of names is discussed in the _module management_ section but
|
|||
needless to say it is performed by the current `Program`'s `ModuleManager`
|
||||
which can be retrieved via `this.program.getModMan()`.
|
||||
|
||||
---
|
||||
|
||||
Let's look at how this code works. Recall that we were still busy in `parseImport()`.
|
||||
Well, now we shall enter the following method `doImport(string[])` as follows:
|
||||
|
||||
```d
|
||||
/* Perform the actual import */
|
||||
doImport(collectedModuleNames);
|
||||
```
|
||||
|
||||
This method first of all starts off by obtaining a few important object instances:
|
||||
|
||||
```d
|
||||
// Print out some information about the current program
|
||||
Program prog = this.compiler.getProgram();
|
||||
|
||||
// Get the module manager
|
||||
ModuleManager modMan = compiler.getModMan();
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Now, we must perform the following **steps**:
|
||||
|
||||
1. _For every_ module name `i` in `collectedModuleNames`
|
||||
i. Find a `ModuleEntry` for _name_ `i`
|
||||
ii. Append this `ModuleEntry` to `foundEnts`
|
||||
|
||||
This step is what satisfies the first 1/3 steps of ours. This maps the incoming
|
||||
module _name_ to a module _filename_. The code for doing this is shown below:
|
||||
|
||||
```{.d .numberLines}
|
||||
// Search for all the module entries
|
||||
ModuleEntry[] foundEnts;
|
||||
foreach(string mod; modules)
|
||||
{
|
||||
gprintln(format("Module wanting to be imported: %s", mod));
|
||||
|
||||
// Search for the module entry
|
||||
ModuleEntry foundEnt = modMan.find(mod);
|
||||
gprintln("Found module entry: "~to!(string)(foundEnt));
|
||||
foundEnts ~= foundEnt;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Now we have to do the following **steps**:
|
||||
|
||||
1. _For each_ module entry `m` in `foundEnts`
|
||||
i. Check if `m` has been visited, **if so**, then go back to `1` and process the next _module entry_
|
||||
ii. _If **not**_ then _mark the entry_ as visited
|
||||
a. Then read the module's source code
|
||||
b. Parse the module and obtain a `Module` object
|
||||
c. Save the obtained `Module` to the _module entry_ `m`
|
||||
|
||||
The code for the above algorithm can be seen below:
|
||||
|
||||
```{.d .numberLines}
|
||||
// For each module entry, only import
|
||||
// it if not already in the process
|
||||
// of being visited
|
||||
foreach(ModuleEntry modEnt; foundEnts)
|
||||
{
|
||||
// Check here if already present, if so,
|
||||
// then skip
|
||||
if(prog.isEntryPresent(modEnt))
|
||||
{
|
||||
gprintln(format("Not parsing module '%s' as already marked as visited", modEnt));
|
||||
continue;
|
||||
}
|
||||
|
||||
// Mark it as visited
|
||||
prog.markEntryAsVisited(modEnt);
|
||||
|
||||
// Read in the module's contents
|
||||
string moduleSource = modMan.readModuleData_throwable(modEnt);
|
||||
gprintln("Module has "~to!(string)(moduleSource.length)~" many bytes");
|
||||
|
||||
// Parse the module
|
||||
import tlang.compiler.lexer.kinds.basic : BasicLexer;
|
||||
LexerInterface lexerInterface = new BasicLexer(moduleSource);
|
||||
(cast(BasicLexer)lexerInterface).performLex();
|
||||
Parser parser = new Parser(lexerInterface, this.compiler);
|
||||
Module pMod = parser.parse(modEnt.getPath());
|
||||
|
||||
// Map parsed module to its entry
|
||||
prog.setEntryModule(modEnt, pMod);
|
||||
}
|
||||
```
|
||||
|
||||
This whole process is important, especially the aspect whereby we mark a module as visited prior to finishing parsing it.
|
||||
One needs this because a module `b` might import a module `a` which imports a module `b` and it is at this last point that
|
||||
we want the check for visitation to return `true` even though parsing of the `b` module has not yet completed.
|
||||
|
||||
Then at the end of the entire process we save the obtained _module object_ to its respective _module entry_. The act
|
||||
of saving it basically maps the module's _name_ to the `Module` object itself and **also** adds it to the `Program`'s
|
||||
body - hence making this module a part of the larger program.
|