Commit d7b633e8 authored by Eduardo de Santana Medeiros Alexandre's avatar Eduardo de Santana Medeiros Alexandre
Browse files

compilacao

parent 627cee0f
......@@ -403,7 +403,10 @@ alto nível, como é o caso do Pascal ou do C, e a linguagem alvo for uma
linguagem de máquina numérica ou uma representação simbólica desta
linguagem (linguagem de montagem), o tradutor é chamado de compilador.
Podemos observa na <<fig_processo_compilacao>> todos os passos necessários para que um
// FIXME ajustar proximo parágrafo. fig_processo_traducao
Podemos observa na <<fig_processo_traducao>> todos os passos necessários para que um
algoritmo expresso em uma linguagem de programação possa ser carregado em
memória para ser executado por um computador. Cada fase possui um conjunto de
entradas e saídas de seu processamento. Estas fases e seus respectivos
......@@ -412,9 +415,66 @@ softwares envolvidos são descritas nas seções seguintes.
// TODO Melhorar esta imagem, utilizar código fonte ao invés de procedimetno fonte.
// e código objeto ao invés de módulo objeto.
////
[[fig_processo_compilacao]]
.Etapas do processo de compilação.
image::images/tradutor/processo_compilacao.png[]
////
[[fig_processo_traducao]]
["graphviz", "esquema-de-traducao.png"]
.Esquema de tradução
----
digraph automata_0 {
rankdir=LR;
size ="8.5, 11";
node [shape = box];
subgraph clusterCodigos {
label = "Código fonte";
node [style=filled,color=white];
style=filled;
color=lightgrey;
code_assembly [label="Linguagem de Baixo Nível\n(Assembly)"];
code_c [label="Linguagem de Alto Nível\n(Ex: C, Pascal, ...)"];
}
subgraph clusterTradutor {
label = "Tradutor";
node [style=filled,color=white,shape="doubleoctagon"];
style=filled;
color=lightgrey;
montador [label="Montador"];
compilador [label="Compilador"];
}
subgraph clusterCodigoObjeto {
label = "Código Objeto";
node [style=filled,color=white];
style=filled;
color=lightgrey;
objeto1 [label="Código Objeto 1"];
objeto2 [label="Código Objeto 2"];
}
ligador [label="Ligador",shape="doubleoctagon"];
programa [label="Programa Binário\nExecutável", shape="component"];
code_assembly -> montador -> objeto1;
code_c -> compilador -> objeto2;
objeto1->ligador;
objeto2->ligador;
ligador-> programa;
{rank=source; code_c code_assembly }
{rank=same; montador compilador}
{rank=same; objeto1 objeto2}
{rank=sink; programa}
}
----
==== Processo de Compilação
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment