Buscar

COMPILADORES (58)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

COMPILADORES
Prof: Adriano Maranhão
APRESENTAÇÃO
 Graduação em Ciências da computação UVA
 Pós-graduação em Engenharia de Software 
INTA
 Técnico em tecnologia da Informação UFC
 Professor Colaborador UVA, UFC virtual e 
Ieducare
POR QUE ESTUDAR COMPILADORES ?
 Peça-chave na implementação de sistemas : SO, 
arquitetura
 Tecnologia de Compilação é largamente utilizada:
Shells, JVM, tradutores automáticos, arq. Configuração, 
descrições de alto nível (UML), Consultas SQL
 Teoria densa, mas aplicada
Sintetiza linguagens formais
 Interface com diversas disciplinas: 
SO, arquitetura, ling. Formais, T. Computação, 
programação (depuração, profiling)
POR QUE ESTUDAR COMPILADORES ?
 Entender melhor os erros de desenvolvimento 
em linguagens de programação
 Aspectos de programação: semântica, 
otimização
 Experiência prática no desenvolvimento de 
uma LP
 Criatividade, inovação, novas abstrações de 
SW
DEFINIÇÃO
 Compilador é um programa de computador (ou
um grupo de programas) que, a partir de
um código fonte escrito em uma linguagem
compilada, cria um programa semanticamente
equivalente, porém escrito em outra
linguagem, código objeto.
 Fonte: Wikipédia
ESTRUTURA DE UM COMPILADOR
ANALISADOR LÉXICO
 Identifica se os símbolos que aparecem no 
código fonte são válidos.
 Ex: public voids setNome(){} 
ANALISADOR SINTÁTICO
 verifica se a seqüência em que os símbolos 
aparecem são válidas.
 Ex: void public setNome(){}
ANALISADOR SEMÂNTICO
 verifica: variáveis não declaradas ou re-
declaração de variáveis;
 chamadas de funções ou métodos inexistentes
ou com parâmetros incorretos;
 tipos de operando incompatíveis com
operadores.
 Ex: public voi setNome(){ return nome}
GERADOR DE CÓDIGOS 
 Gera o código fonte em linguagem de máquina.
 Ex: Nome=this.nome
MOV NOX, 01001
COMPILAÇÃO DE UM PROGRAMA JAVA
 o código fonte (extensão .java) é compilado e 
armazenado em um arquivo de extensão .class
 JVMs devem ser programas feitos e 
compilados para máquinas específicas, de 
forma que serão as JVMs as responsáveis pela 
tradução de bytecodes Java para as linguagens 
nativas das máquinas.

Outros materiais