// Generated by pandoc-plot 1.5.5
digraph CompilationProcess {
graph [
label="Compilation process"
labelloc="t"
fontname="Helvetica,Arial,sans-serif"
]
node [
fontname="Helvetica,Arial,sans-serif"
shape=record
style=filled
fillcolor=gray95
]
edge [fontname="Helvetica,Arial,sans-serif"]
Lexer [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>Lexer</b> </td> </tr>
</table>>
]
edge [arrowhead=vee]
Lexer -> Parser [xlabel="tokens"]
Parser [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>Parser</b> </td> </tr>
</table>>
]
edge [arrowhead=vee]
Parser -> Symbols [xlabel="Container"]
Symbols [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>Symbols</b> </td> </tr>
<tr> <td>
<table border="0" cellborder="0" cellspacing="0" >
<tr> <td port="ss1" align="left" >- Pseudo-entity resolution </td> </tr>
<tr> <td port="ss2" align="left" >- Name collision detection </td> </tr>
</table>
</td> </tr>
</table>>
]
edge [arrowhead=vee]
Symbols -> Dependency [xlabel="Container"]
Dependency [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>Dependency</b> </td> </tr>
<tr> <td>
<table border="0" cellborder="0" cellspacing="0" >
<tr> <td port="ss1" align="left" >- Dependency generation </td> </tr>
<tr> <td port="ss2" align="left" >- Linearization </td> </tr>
</table>
</td> </tr>
</table>>
]
edge [arrowhead=vee]
Dependency -> TypeCheckCodeGen [xlabel="DNodes"]
TypeCheckCodeGen [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>TC/GC</b> </td> </tr>
<tr> <td>
<table border="0" cellborder="0" cellspacing="0" >
<tr> <td port="ss1" align="left" >- Type checking </td> </tr>
<tr> <td port="ss2" align="left" >- Code generation </td> </tr>
</table>
</td> </tr>
</table>>
]
edge [arrowhead=vee]
TypeCheckCodeGen -> InstructionEmit [xlabel="Instructions"]
InstructionEmit [
shape=plain
label=<<table border="0" cellborder="1" cellspacing="0" cellpadding="4">
<tr> <td> <b>Emit</b> </td> </tr>
<tr> <td>
<table border="0" cellborder="0" cellspacing="0" >
<tr> <td port="ss1" align="left" >- Instruction transformation </td> </tr>
<tr> <td port="ss2" align="left" >- Symbol mapping </td> </tr>
</table>
</td> </tr>
</table>>
]
}