- Added meta processing to the pipeline diagram
This commit is contained in:
Tristan B. Velloza Kildaire 2023-07-09 21:24:32 +02:00
parent 43ba83e163
commit ea24f05e8b
3 changed files with 118 additions and 2 deletions

View File

@ -0,0 +1,116 @@
<?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 7.1.0 (0)
-->
<!-- Title: CompilationProcess Pages: 1 -->
<svg width="199pt" height="572pt"
viewBox="0.00 0.00 199.00 572.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 568)">
<title>CompilationProcess</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-568 195,-568 195,4 -4,4"/>
<text text-anchor="middle" x="95.5" y="-548.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="none" points="123,-541 68,-541 68,-516 123,-516 123,-541"/>
<polygon fill="none" stroke="black" points="68.5,-515.5 68.5,-540.5 123.5,-540.5 123.5,-515.5 68.5,-515.5"/>
<text text-anchor="start" x="73.5" y="-525.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="77.5" y="-525.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Lexer</text>
<text text-anchor="start" x="114.5" y="-525.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="none" points="126,-480 65,-480 65,-455 126,-455 126,-480"/>
<polygon fill="none" stroke="black" points="65.5,-454.5 65.5,-479.5 126.5,-479.5 126.5,-454.5 65.5,-454.5"/>
<text text-anchor="start" x="70.5" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="74.5" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Parser</text>
<text text-anchor="start" x="117.5" y="-464.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
</g>
<!-- Lexer&#45;&gt;Parser -->
<g id="edge1" class="edge">
<title>Lexer&#45;&gt;Parser</title>
<path fill="none" stroke="black" d="M95.5,-516.12C95.5,-508.62 95.5,-498.55 95.5,-489.6"/>
<polygon fill="black" stroke="black" points="95.5,-479.84 100,-489.84 95.5,-484.84 95.5,-489.84 95.5,-489.84 95.5,-489.84 95.5,-484.84 91,-489.84 95.5,-479.84 95.5,-479.84"/>
<text text-anchor="middle" x="75.5" y="-501.57" 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="none" points="188,-419 3,-419 3,-327 188,-327 188,-419"/>
<polygon fill="none" stroke="black" points="3.5,-394 3.5,-419 188.5,-419 188.5,-394 3.5,-394"/>
<text text-anchor="start" x="63" y="-403.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="67" y="-403.8" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Symbols</text>
<text text-anchor="start" x="125" y="-403.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="3.5,-327 3.5,-394 188.5,-394 188.5,-327 3.5,-327"/>
<text text-anchor="start" x="10.5" y="-375.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Meta processing &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text>
<text text-anchor="start" x="10.5" y="-356.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Pseudo&#45;entity resolution &#160;&#160;&#160;</text>
<text text-anchor="start" x="10.5" y="-337.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Name collision detection &#160;&#160;&#160;</text>
</g>
<!-- Parser&#45;&gt;Symbols -->
<g id="edge2" class="edge">
<title>Parser&#45;&gt;Symbols</title>
<path fill="none" stroke="black" d="M95.5,-455.16C95.5,-448.14 95.5,-438.55 95.5,-428.43"/>
<polygon fill="black" stroke="black" points="95.5,-418.62 100,-428.62 95.5,-423.62 95.5,-428.62 95.5,-428.62 95.5,-428.62 95.5,-423.62 91,-428.62 95.5,-418.62 95.5,-418.62"/>
<text text-anchor="middle" x="66" y="-440.6" 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="none" points="186,-291 5,-291 5,-218 186,-218 186,-291"/>
<polygon fill="none" stroke="black" points="5.5,-265.5 5.5,-290.5 186.5,-290.5 186.5,-265.5 5.5,-265.5"/>
<text text-anchor="start" x="51" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="55" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Dependency</text>
<text text-anchor="start" x="137" y="-275.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="5.5,-217.5 5.5,-265.5 186.5,-265.5 186.5,-217.5 5.5,-217.5"/>
<text text-anchor="start" x="12.5" y="-247.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Dependency generation &#160;&#160;&#160;</text>
<text text-anchor="start" x="12.5" y="-228.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Linearization &#160;&#160;&#160;</text>
</g>
<!-- Symbols&#45;&gt;Dependency -->
<g id="edge3" class="edge">
<title>Symbols&#45;&gt;Dependency</title>
<path fill="none" stroke="black" d="M95.5,-327.29C95.5,-318.62 95.5,-309.53 95.5,-300.84"/>
<polygon fill="black" stroke="black" points="95.5,-290.87 100,-300.87 95.5,-295.87 95.5,-300.87 95.5,-300.87 95.5,-300.87 95.5,-295.87 91,-300.87 95.5,-290.87 95.5,-290.87"/>
<text text-anchor="middle" x="66" y="-312.88" 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="none" points="164.5,-182 26.5,-182 26.5,-109 164.5,-109 164.5,-182"/>
<polygon fill="none" stroke="black" points="26.5,-156.5 26.5,-181.5 164.5,-181.5 164.5,-156.5 26.5,-156.5"/>
<text text-anchor="start" x="70" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="74" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">TC/GC</text>
<text text-anchor="start" x="117" y="-166.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="26.5,-108.5 26.5,-156.5 164.5,-156.5 164.5,-108.5 26.5,-108.5"/>
<text text-anchor="start" x="33.5" y="-138.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Type checking &#160;&#160;&#160;</text>
<text text-anchor="start" x="33.5" y="-119.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Code generation &#160;&#160;&#160;</text>
</g>
<!-- Dependency&#45;&gt;TypeCheckCodeGen -->
<g id="edge4" class="edge">
<title>Dependency&#45;&gt;TypeCheckCodeGen</title>
<path fill="none" stroke="black" d="M95.5,-218.17C95.5,-209.68 95.5,-200.49 95.5,-191.62"/>
<polygon fill="black" stroke="black" points="95.5,-181.8 100,-191.8 95.5,-186.8 95.5,-191.8 95.5,-191.8 95.5,-191.8 95.5,-186.8 91,-191.8 95.5,-181.8 95.5,-181.8"/>
<text text-anchor="middle" x="70.5" y="-203.8" 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="none" points="191,-73 0,-73 0,0 191,0 191,-73"/>
<polygon fill="none" stroke="black" points="0.5,-47.5 0.5,-72.5 191.5,-72.5 191.5,-47.5 0.5,-47.5"/>
<text text-anchor="start" x="76.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<text text-anchor="start" x="80.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-weight="bold" font-size="14.00">Emit</text>
<text text-anchor="start" x="111.5" y="-57.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00"> </text>
<polygon fill="none" stroke="black" points="0.5,0.5 0.5,-47.5 191.5,-47.5 191.5,0.5 0.5,0.5"/>
<text text-anchor="start" x="7.5" y="-29.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Instruction transformation &#160;&#160;&#160;</text>
<text text-anchor="start" x="7.5" y="-10.3" font-family="Helvetica,Arial,sans-serif" font-size="14.00">&#45; Symbol mapping &#160;&#160;&#160;</text>
</g>
<!-- TypeCheckCodeGen&#45;&gt;InstructionEmit -->
<g id="edge5" class="edge">
<title>TypeCheckCodeGen&#45;&gt;InstructionEmit</title>
<path fill="none" stroke="black" d="M95.5,-109.17C95.5,-100.68 95.5,-91.49 95.5,-82.62"/>
<polygon fill="black" stroke="black" points="95.5,-72.8 100,-82.8 95.5,-77.8 95.5,-82.8 95.5,-82.8 95.5,-82.8 95.5,-77.8 91,-82.8 95.5,-72.8 95.5,-72.8"/>
<text text-anchor="middle" x="60.5" y="-94.8" font-family="Helvetica,Arial,sans-serif" font-size="14.00">Instructions</text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

@ -9,7 +9,7 @@ that if a requirement for a decision to be taken based on compiler flags
is specified then such configuration paremeters can be obtained via each
module of the compilation stage.
![](/projects/tlang/graphs/pandocplot6118349527803707673.svg)
![](/projects/tlang/graphs/pandocplot8423820173807207517.svg)
### Compiler system

View File

@ -44,7 +44,7 @@ digraph CompilationProcess {
<tr> <td> <b>Symbols</b> </td> </tr>
<tr> <td>
<table border="0" cellborder="0" cellspacing="0" >
<tr> <td port="ss1" align="left" >- Meta processing </td> </tr>
<tr> <td port="ss1" align="left" >- Pseudo-entity resolution </td> </tr>
<tr> <td port="ss2" align="left" >- Name collision detection </td> </tr>
</table>