#PDS 
Prof. Natanael Simões 
facebook.com/natanaelsimoes 
Desenvolvimento: Programação 
Linguagens Compiladas x Linguagens...
Objetivo 
• Compreender linguagens compiladas e interpretadas e suas 
diferenças estruturais
Por que é preciso compilar ou interpretar? 
• Programas são escritos em linguagem de alto nível 
• Máquinas não conversam ...
Por que é preciso compilar ou interpretar? 
Programa (Alto nível) 
Compilador/Interpretador 
Programa (Baixo nível) 
Hardw...
Linguagens Compiladas 
• Do latim compilare 
• Significa REUNIR, AJUNTAR 
• Fonte traduzido diretamente para linguagem 
de...
Processo de Compilação 
Programa (Alto nível) 
Análise léxica 
Análise sintática 
Geração de código (Baixo nível) 
Program...
Processo de Compilação 
• Análise léxica 
Reconhece as sequências 
de símbolos que 
representam uma 
unidade: o nome de um...
Processo de Compilação 
• Análise sintática 
Identifica a estrutura 
gramatical do programa e o 
papel de cada componente....
Processo de Compilação = 
• Geração de código 
Processo de construir 
instruções da linguagem 
de máquina (em 
assembly) q...
Processo de Compilação 
• Geração de código 
Processo de construir 
instruções da linguagem 
de máquina (em 
assembly) que...
Linguagens Compiladas 
•Vantagens: 
•Execução rápida, o código já está traduzido! 
•Executáveis são pequenos 
•VOCÊ CONTRO...
Linguagens Interpretadas 
•Do latim interpretare 
•Significa EXPLICAR, TRADUZIR 
•Fonte traduzido para uma linguagem 
inte...
Processo de Interpretação 
Programa (Alto nível) 
Programa (Intermediário/Executável) 
Máquina Virtual (Interpretadora)
Processo de Interpretação 
• Máquina virtual (VM) 
Traduz os comandos da linguagem intermediária 
para linguagem de máquin...
Linguagens Interpretadas 
•Vantagens 
• Independe de arquitetura (desde que suporte a 
máquina virtual) 
• A MÁQUINA VIRTU...
Exercícios PARA ENTREGAR 
1) Que diferença básica existe entre linguagens compiladas 
de linguagens interpretadas? 
2) Por...
Próximos SlideShares
Carregando em…5
×

Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas

709 visualizações

Publicada em

Esta aula tem como objetivo compreender com se diferem estruturalmente linguagens compiladas da linguagens interpretadas.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
709
No SlideShare
0
A partir de incorporações
0
Número de incorporações
102
Ações
Compartilhamentos
0
Downloads
23
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Processo de Desenvolvimento de Software - Linguagens Compiladas x Interpretadas

  1. 1. #PDS Prof. Natanael Simões facebook.com/natanaelsimoes Desenvolvimento: Programação Linguagens Compiladas x Linguagens Interpretadas @natanaelsimoes natanael.simoes@ifro.edu.br steamcommunity.com/id/natanaesimoes
  2. 2. Objetivo • Compreender linguagens compiladas e interpretadas e suas diferenças estruturais
  3. 3. Por que é preciso compilar ou interpretar? • Programas são escritos em linguagem de alto nível • Máquinas não conversam como os humanos, elas têm uma linguagem própria (ou linguagem de baixo nível)
  4. 4. Por que é preciso compilar ou interpretar? Programa (Alto nível) Compilador/Interpretador Programa (Baixo nível) Hardware
  5. 5. Linguagens Compiladas • Do latim compilare • Significa REUNIR, AJUNTAR • Fonte traduzido diretamente para linguagem de máquina
  6. 6. Processo de Compilação Programa (Alto nível) Análise léxica Análise sintática Geração de código (Baixo nível) Programa (Objeto executável)
  7. 7. Processo de Compilação • Análise léxica Reconhece as sequências de símbolos que representam uma unidade: o nome de uma variável, constante e palavras de instrução (while, for...) pos = ini + val * 60 id1 = id2 + id3 * 60
  8. 8. Processo de Compilação • Análise sintática Identifica a estrutura gramatical do programa e o papel de cada componente. É construída uma árvore sintática (binária, estruturalmente) e uma tabela de símbolos que representam as variáveis. id1 = id2 + id3 * 60 = id1 + id2 * id3 60 = id1 + id2 * id3 inttofloat(60)
  9. 9. Processo de Compilação = • Geração de código Processo de construir instruções da linguagem de máquina (em assembly) que simulam as instruções reconhecidas na análise sintática. id1 + id2 * id3 inttofloat(60) temp1 = inttofloat(60) temp2 = id3 * temp1 temp3 = id2 + temp2 id1 = temp3 //otimização temp1 = id3 * 60.0 id1 = id2 + temp1
  10. 10. Processo de Compilação • Geração de código Processo de construir instruções da linguagem de máquina (em assembly) que simulam as instruções reconhecidas na análise sintática. temp1 = id3 * 60.0 id1 = id2 + temp1 load id3 r2 mul 60.0 r2 load id2 r1 add r2 r1 store r1 id1
  11. 11. Linguagens Compiladas •Vantagens: •Execução rápida, o código já está traduzido! •Executáveis são pequenos •VOCÊ CONTROLA o hardware •Desvantagens: • Só roda na arquitetura em que for compilado •VOCÊ CONTROLA o hardware
  12. 12. Linguagens Interpretadas •Do latim interpretare •Significa EXPLICAR, TRADUZIR •Fonte traduzido para uma linguagem intermediária (normalmente Bytecode) que mais tarde será novamente traduzido para linguagem de máquina
  13. 13. Processo de Interpretação Programa (Alto nível) Programa (Intermediário/Executável) Máquina Virtual (Interpretadora)
  14. 14. Processo de Interpretação • Máquina virtual (VM) Traduz os comandos da linguagem intermediária para linguagem de máquina em tempo de execução. A VM reconhece toda a arquitetura de hardware e traduz de acordo com o equipamento (culpa do Java).
  15. 15. Linguagens Interpretadas •Vantagens • Independe de arquitetura (desde que suporte a máquina virtual) • A MÁQUINA VIRTUAL controla o hardware •Desvantagens • Desempenho inferior à linguagem compilada por causa da tradução Just-in-time, mas nada alarmante • Consome bastante hardware (estou olhando pra você, Java) • A MÁQUINA VIRTUAL controla o hardware
  16. 16. Exercícios PARA ENTREGAR 1) Que diferença básica existe entre linguagens compiladas de linguagens interpretadas? 2) Por que temos necessidade de compilar ou interpretar código? 3) Explique o processo de compilação. 4) Explique o processo de interpretação. 5) Quais vantagens e desvantagens há na compilação? 6) Quais vantagens e desvantagens há na interpretação? 7) Qual dos tipos de linguagens é melhor? Defenda seu ponto de vista.

×