Skip to content

Commit

Permalink
Teste e atualização das cores
Browse files Browse the repository at this point in the history
  • Loading branch information
edusantana committed Nov 25, 2013
1 parent 08cecd4 commit f43f6f2
Show file tree
Hide file tree
Showing 2 changed files with 139 additions and 1 deletion.
60 changes: 59 additions & 1 deletion livro/capitulos/introducao-a-programacao.asc
Original file line number Diff line number Diff line change
Expand Up @@ -230,8 +230,66 @@ máquina. Para que esta seja alcançada, são necessários vários passos
intermediários, sendo um deles a tradução para a linguagem de montagem.

[[fig_compilacao_passos]]
["graphviz"]
.Passos no processo de compilação
image::images/introducao-a-programacao/compilacao-passos.png[]
----
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(Linguagem de montagem)"];
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"];
}
code_gerado [label="Código traduzido\n(Linguagem de montagem)"];
subgraph clusterCodigoObjeto {
label = "Código Objeto\n(binário)";
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="Código Binário\nExecutável", shape="component", fillcolor="grey", style="filled"];
carregador[label = "Carregador", colorscheme=oranges4, fillcolor=3, color=2];
code_assembly -> montador -> objeto1 [color="forestgreen", style="bold"];
code_c -> compilador -> code_gerado -> montador -> objeto2 [color="blue", style="bold"];
objeto1->ligador [color="red", style="bold"];
objeto2->ligador [color="red", style="bold"];
ligador-> programa [color="red", style="bold"];
programa -> carregador -> memoria
{rank=source; code_c code_assembly }
{rank=same; montador compilador}
{rank=same; objeto1 objeto2}
{rank=sink; programa}
}
----



No processo de compilação, cada parte de um programa (módulo) escrito em
linguagem de alto nível é traduzido para um módulo objeto diferente, que
Expand Down
80 changes: 80 additions & 0 deletions livro/test.asc
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
== Arquivo de teste

Teste de aquivo.
Mudando arquivo.

["graphviz"]
----
digraph colorschemes {
node [color=2 style=filled colorscheme=greys9]
edge [colorscheme=greys9]
blue [color=5]
red [color=8]
blue->red [color=8]
red->blue [color=5]
}
----


[[fig_compilacao_passos]]
["graphviz"]
.Passos no processo de compilação
----
digraph automata_0 {
rankdir=LR;
size ="8.5, 11";
node [shape = box];
edge [colorscheme=greys9]

subgraph clusterCodigos {
label = "Código fonte";
node [style=filled,color=white];
style=filled;
color=lightgrey;
code_assembly [label="Linguagem de Baixo Nível\n(Linguagem de montagem)"];
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"];
}

code_gerado [label="Código traduzido\n(Linguagem de montagem)"];

subgraph clusterCodigoObjeto {
label = "Código Objeto\n(binário)";
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="Código Binário\nExecutável", shape="component", fillcolor="grey", style="filled"];
carregador[label = "Carregador", style="filled", shape="folder"];
memoria[label="Memória", style="filled", shape="box3d"]

code_assembly -> montador -> objeto1 [color=8, style="bold"];
code_c -> compilador -> code_gerado -> montador -> objeto2 [color=6, style="bold"];

objeto1->ligador [color=5, style="bold"];
objeto2->ligador [color=5, style="bold"];
ligador-> programa -> carregador -> memoria [color=5, style="bold"];

{rank=source; code_c code_assembly }
{rank=same; montador compilador memoria}
{rank=same; objeto1 objeto2 carregador}
{rank=same; ligador programa}
{rank=sink; programa}

}
----
// Sempre termine os arquivos com uma linha em branco.

0 comments on commit f43f6f2

Please sign in to comment.