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

traducao

parent d7b633e8
......@@ -359,7 +359,7 @@ quanto a linguagem alvo definem níveis de abstração específicos.
// TODO Imagem?
O método de tradução é empregado quando há um processador (seja ele
O método de tradução é empregado quando há um *processador* (seja ele
implementado em hardware ou por interpretação) disponível para executar
programas expressos na linguagem alvo mas não na linguagem fonte. footnote:[Se existir um processador que possa executar diretamente programas escritos na
linguagem fonte, não há necessidade de se traduzir o programa fonte para uma linguagem alvo.]
......@@ -383,10 +383,10 @@ Logo, a tradução envolve dois passos distintos:
No processo de interpretação existe apenas um único passo: a execução do
programa original na linguagem fonte.
Nesta seção iremos analisar a função dos softwares básicos: compilador,
montador, ligador, carregador e interpretador. Programas necessários para que
Nesta seção iremos analisar a função dos softwares básicosfootnote:[Programas necessários para que
os softwares dos usuários implementados em alguma linguagem de programação
específica possam ser executados em um computador.
específica possam ser executados em um computador.]: compilador,
montador, ligador, carregador e interpretador.
==== Tradutores
......@@ -406,14 +406,23 @@ linguagem (linguagem de montagem), o tradutor é chamado de compilador.
// 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
softwares envolvidos são descritas nas seções seguintes.
////
Podemos observa na <<fig_processo_traducao>> o processo de *((tradução))* e *((ligação))* do código
fonte, escrito em linguagens de programação, em código binário executável.
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
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]]
......@@ -423,7 +432,7 @@ image::images/tradutor/processo_compilacao.png[]
[[fig_processo_traducao]]
["graphviz", "esquema-de-traducao.png"]
.Esquema de tradução
.Processos de tradução e ligação
----
digraph automata_0 {
rankdir=LR;
......@@ -449,7 +458,7 @@ digraph automata_0 {
}
subgraph clusterCodigoObjeto {
label = "Código Objeto";
label = "Código Objeto\n(binário)";
node [style=filled,color=white];
style=filled;
color=lightgrey;
......@@ -458,7 +467,7 @@ digraph automata_0 {
}
ligador [label="Ligador",shape="doubleoctagon"];
programa [label="Programa Binário\nExecutável", shape="component"];
programa [label="Código Binário\nExecutável", shape="component"];
code_assembly -> montador -> objeto1;
code_c -> compilador -> objeto2;
......
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