Software básico
Aula 1
* 5 Provas de 15 pts (Soma as notas das 4 maiores). * 4 Trabalhos Práticos de 10 pts.
Professor Renato – renato@dcc.com.br
Sala 4022
Aula 2
Tradutor é um sistema que aceita como entrada um programa escrito em uma linguagem de programação (linguagem fonte) e produz como resultado um programa equivalente em outra linguagem (linguagem objeto). Podem ser classificados em:
Montadores: são aqueles tradutores que mapeiam instruções em linguagem simbólica (assembly) para instruções de máquina, geralmente, numa relação de uma-para-uma;
Macro-assemblers: são tradutores que mapeiam instruções em linguagem simbólica para linguagem de máquina, geralmente numa relação uma-para-várias. Um comando macro é traduzido para uma seqüência de comandos simbólicos antes de ser precedida a tradução efetiva para linguagem de máquina;
Compiladores: são tradutores que mapeiam programas escritos em linguagem de alto nível para programas equivalentes em linguagem simbólica ou linguagem de máquina.
COMPILADOR
Programa Fonte
Programa Objeto
PROGRAMA OBJETO
Dados de Entrada
Resultados
O intervalo de tempo no qual ocorre a conversão de um programa fonte para um programa objeto é chamado tempo de compilação. O programa objeto é executado no intervalo de tempo chamado tempo de execução. O programa-fonte e os dados são processados em momentos distintos.
Interpretadores: são processadores que aceitam como entrada o código intermediário de um programa anteriormente traduzido e produzem o “efeito de execução” do programa original sem, porém, mapeá-lo para uma linguagem de máquina. A interpretação da forma interna do código-fonte ocorre em tempo de execução, não sendo gerado programa-objeto.
Programa Fonte
TRADUTOR
INTERPRETADOR (Máquina Virtual)
Resultados
Dados
Programa Intermediário
Alguns interpretadores não utilizam um código intermediário, trabalhando diretamente sobre o programa-fonte, analisando um comando-fonte cada vez