SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
LICENCIATURA EM CIÊNCIAS DA
COMPUTAÇÃO
LCC2 - 2014
Compilador – transforma o programa escrito
em linguagem de alto nível, num outro
programa, mas este último escrito em
linguagem máquina.
Este processo designa-se por compilação.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 2
Programa Fonte (source program) – trata-se do
programa original, escrito em linguagem de
alto nível.
Programa Objecto (object program) – trata-se
do programa obtido depois da compilação.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 3
Interpretador – atua no momento em que cada
instrução é executada.
Objetivo:
transformar determinada instrução de alto nível
no código máquina que o processador executa.
Desvantagem:
o processo da interpretação torna mais lenta a
execução dos programas “interpretados”
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 4
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 5
Linguagem de
Alto Nível
Linguagem
Máquina
Compilador Interpretador
CPU
COMPILADOR INTERPRETADOR
 Atua como tradutor
 Transforma “texto”
escrito numa
linguagem, num outro
texto, escrito noutra
linguagem
 Atua como intérprete
 Traduz no momento
estabelecendo a
ponto entre dois
interlocutores
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 6
 Para programas compilados, a compilação e a
linkagem, são as fases necessárias para se
obter um programa executável.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 7
LinkagemCompilação
Do codigo objecto resultante da
compilação, são adicionadas
rotinas complementares
(disponibilizadas pelo
compilador).
Destas rotinas produz-se o
programa executável
Transformação do código fonte
em código objeto
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 8
Código em Linguagem de Alto
Nível
Código Objecto
Compilador
Linkagem
Funções
Complementares
Programa Executável
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 9
No processo de Linkagem, vários módulos objecto podem ser
agregados para produzir um único programa executável
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 10
Código em Linguagem de Alto
Nível
Código Objecto
Compilador
Linkagem
Funções
Complementares
Programa Executável
Código em Linguagem de Alto
Nível
Código Objecto
 Trata-se de um modelo de linkagem na qual
todas as rotinas que fazem parte do
programa são integradas no programa
executável e carregadas para a memória
quando o programa é executado.
 Exemplo para os programas concebidos para
serem executados sob o Sistema Operativo
MS-DOS.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 11
 Um aplicação pode ser constituída por um
programa executável e por vários ficheiros
contendo código executável.
 Esses ficheiros apresentam-se com extensão
DLL (Dynamic Linking Libraries), sendo
carregados para a memória apenas quando
necessário.
 Este tipo de processo é utilizado para o
ambiente Windows.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 12
 O dinamismo na linkagem apenas ocorre
quando da chamada destas rotinas. A
linkagem trata-se de um processo eficaz que
permite que aplicações muito extensas
possam ser “repartidas” num núcleo
fundamental que integra o programa
executável em vários ficheiros de código
complementar que são carregados para a
memoria apenas quando necessário.
16-03-2014Prof. Nobre - Programação e Linguagem Máquina 13
CONCEITOS DA LINGUAGEM
LCC2 - 2014

Mais conteúdo relacionado

Mais procurados

Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02thomasdacosta
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisLuciano Crecente
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareLucas Amaral
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de SoftwareLeinylson Fontinele
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoNorton Guimarães
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdfDouglas Siviotti
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional AndroidLucas Damasceno
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema OperativosBugui94
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitoslicardino
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas OperacionaisAdir Kuhn
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completothomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 

Mais procurados (20)

Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02Algoritmos e Estrutura de Dados - Aula 02
Algoritmos e Estrutura de Dados - Aula 02
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Noções básicas de Sistemas Operacionais
Noções básicas de Sistemas OperacionaisNoções básicas de Sistemas Operacionais
Noções básicas de Sistemas Operacionais
 
Modelos de Engenharia de Software
Modelos de Engenharia de SoftwareModelos de Engenharia de Software
Modelos de Engenharia de Software
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
MAC OS
MAC OSMAC OS
MAC OS
 
Páginas dinâmicas
Páginas dinâmicasPáginas dinâmicas
Páginas dinâmicas
 
Android
AndroidAndroid
Android
 
Introdução à Gerência de configuração de Software
Introdução à Gerência de configuração de SoftwareIntrodução à Gerência de configuração de Software
Introdução à Gerência de configuração de Software
 
Aula 1 - Introdução a Engenharia de Software
Aula 1 -  Introdução a Engenharia de SoftwareAula 1 -  Introdução a Engenharia de Software
Aula 1 - Introdução a Engenharia de Software
 
Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
tdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdftdc-2022-poa-quem-tem-medo-low-code.pdf
tdc-2022-poa-quem-tem-medo-low-code.pdf
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Sistema Operativos
Sistema OperativosSistema Operativos
Sistema Operativos
 
Aula 1 requisitos
Aula 1   requisitosAula 1   requisitos
Aula 1 requisitos
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
So-mod-2
So-mod-2So-mod-2
So-mod-2
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Rational Unified Process (RUP)
Rational Unified Process (RUP)Rational Unified Process (RUP)
Rational Unified Process (RUP)
 

Destaque

Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programaçãoLCCIMETRO
 
Gerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresGerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresAnderson Favaro
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programáticoLCCIMETRO
 
Aula 6 emu8086
Aula 6   emu8086Aula 6   emu8086
Aula 6 emu8086LCCIMETRO
 
Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assemblyLCCIMETRO
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoElaine Cecília Gatto
 
Aula 5 instrução mov
Aula 5   instrução movAula 5   instrução mov
Aula 5 instrução movLCCIMETRO
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyElaine Cecília Gatto
 
Criando um sistema operacional básico
Criando um sistema operacional básicoCriando um sistema operacional básico
Criando um sistema operacional básicoVHC Informatica
 
Do alto para o baixo nível - Entendendo as Diferenças
Do alto para o baixo nível - Entendendo as DiferençasDo alto para o baixo nível - Entendendo as Diferenças
Do alto para o baixo nível - Entendendo as DiferençasWelington Sampaio
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oWELINGTON SILVA
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexicaAdilmar Dantas
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação12anogolega
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02bruno santos ferreira
 

Destaque (20)

Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
 
Compiladores 4
Compiladores 4Compiladores 4
Compiladores 4
 
Gerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - CompiladoresGerador de Código-Objeto - Compiladores
Gerador de Código-Objeto - Compiladores
 
Aula 1 apresentação - conteudo programático
Aula 1   apresentação - conteudo programáticoAula 1   apresentação - conteudo programático
Aula 1 apresentação - conteudo programático
 
Linguagem assembly
Linguagem assemblyLinguagem assembly
Linguagem assembly
 
Aula 6 emu8086
Aula 6   emu8086Aula 6   emu8086
Aula 6 emu8086
 
Aula 4 a linguagem assembly
Aula 4   a linguagem assemblyAula 4   a linguagem assembly
Aula 4 a linguagem assembly
 
Assembly
AssemblyAssembly
Assembly
 
Conjunto de instruções mips - introdução
Conjunto de instruções mips - introduçãoConjunto de instruções mips - introdução
Conjunto de instruções mips - introdução
 
Aula 5 instrução mov
Aula 5   instrução movAula 5   instrução mov
Aula 5 instrução mov
 
Arquitetura de Computadores: Assembly
Arquitetura de Computadores: AssemblyArquitetura de Computadores: Assembly
Arquitetura de Computadores: Assembly
 
Criando um sistema operacional básico
Criando um sistema operacional básicoCriando um sistema operacional básico
Criando um sistema operacional básico
 
Do alto para o baixo nível - Entendendo as Diferenças
Do alto para o baixo nível - Entendendo as DiferençasDo alto para o baixo nível - Entendendo as Diferenças
Do alto para o baixo nível - Entendendo as Diferenças
 
Apostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£oApostila lã³gica de programaã§ã£o
Apostila lã³gica de programaã§ã£o
 
Compilador analise lexica
Compilador analise lexicaCompilador analise lexica
Compilador analise lexica
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 
Modbus apostila
Modbus apostilaModbus apostila
Modbus apostila
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Gcc
GccGcc
Gcc
 
Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02Assemblyparte1 140320111308-phpapp02
Assemblyparte1 140320111308-phpapp02
 

Semelhante a Aula 3 compiladores e interpretadores

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação Marcos Gregorio
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfGerhard Saboia
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iiiRay Fran Pires
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfmouzinhoconcursos
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Leinylson Fontinele
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09essa
 
Plataforma net pdf
Plataforma net pdfPlataforma net pdf
Plataforma net pdfAPlima
 
Linguagem de Programação
Linguagem de ProgramaçãoLinguagem de Programação
Linguagem de ProgramaçãoIgor Cambongue
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoIgor Cambongue
 
Programando em python introducao
Programando em python   introducaoProgramando em python   introducao
Programando em python introducaosamuelthiago
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasLuiz Arthur
 

Semelhante a Aula 3 compiladores e interpretadores (20)

Linguagem de programação
Linguagem de programação Linguagem de programação
Linguagem de programação
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
Paradigmas de Linguagem
Paradigmas de LinguagemParadigmas de Linguagem
Paradigmas de Linguagem
 
Aula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdfAula 03 - Interpretador [mr_@@@@@].pdf
Aula 03 - Interpretador [mr_@@@@@].pdf
 
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)
 
Aplicativo aula01
Aplicativo aula01Aplicativo aula01
Aplicativo aula01
 
Compilador
CompiladorCompilador
Compilador
 
Iniciando com django
Iniciando com djangoIniciando com django
Iniciando com django
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Plataforma net pdf
Plataforma net pdfPlataforma net pdf
Plataforma net pdf
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Linguagem de Programação
Linguagem de ProgramaçãoLinguagem de Programação
Linguagem de Programação
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Programando em python introducao
Programando em python   introducaoProgramando em python   introducao
Programando em python introducao
 
Sistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando ProgramasSistemas Operacionais - Gnu/Linux Instalando Programas
Sistemas Operacionais - Gnu/Linux Instalando Programas
 
Software
SoftwareSoftware
Software
 

Aula 3 compiladores e interpretadores

  • 1. LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO LCC2 - 2014
  • 2. Compilador – transforma o programa escrito em linguagem de alto nível, num outro programa, mas este último escrito em linguagem máquina. Este processo designa-se por compilação. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 2
  • 3. Programa Fonte (source program) – trata-se do programa original, escrito em linguagem de alto nível. Programa Objecto (object program) – trata-se do programa obtido depois da compilação. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 3
  • 4. Interpretador – atua no momento em que cada instrução é executada. Objetivo: transformar determinada instrução de alto nível no código máquina que o processador executa. Desvantagem: o processo da interpretação torna mais lenta a execução dos programas “interpretados” 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 4
  • 5. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 5 Linguagem de Alto Nível Linguagem Máquina Compilador Interpretador CPU
  • 6. COMPILADOR INTERPRETADOR  Atua como tradutor  Transforma “texto” escrito numa linguagem, num outro texto, escrito noutra linguagem  Atua como intérprete  Traduz no momento estabelecendo a ponto entre dois interlocutores 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 6
  • 7.  Para programas compilados, a compilação e a linkagem, são as fases necessárias para se obter um programa executável. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 7 LinkagemCompilação Do codigo objecto resultante da compilação, são adicionadas rotinas complementares (disponibilizadas pelo compilador). Destas rotinas produz-se o programa executável Transformação do código fonte em código objeto
  • 8. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 8 Código em Linguagem de Alto Nível Código Objecto Compilador Linkagem Funções Complementares Programa Executável
  • 9. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 9 No processo de Linkagem, vários módulos objecto podem ser agregados para produzir um único programa executável
  • 10. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 10 Código em Linguagem de Alto Nível Código Objecto Compilador Linkagem Funções Complementares Programa Executável Código em Linguagem de Alto Nível Código Objecto
  • 11.  Trata-se de um modelo de linkagem na qual todas as rotinas que fazem parte do programa são integradas no programa executável e carregadas para a memória quando o programa é executado.  Exemplo para os programas concebidos para serem executados sob o Sistema Operativo MS-DOS. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 11
  • 12.  Um aplicação pode ser constituída por um programa executável e por vários ficheiros contendo código executável.  Esses ficheiros apresentam-se com extensão DLL (Dynamic Linking Libraries), sendo carregados para a memória apenas quando necessário.  Este tipo de processo é utilizado para o ambiente Windows. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 12
  • 13.  O dinamismo na linkagem apenas ocorre quando da chamada destas rotinas. A linkagem trata-se de um processo eficaz que permite que aplicações muito extensas possam ser “repartidas” num núcleo fundamental que integra o programa executável em vários ficheiros de código complementar que são carregados para a memoria apenas quando necessário. 16-03-2014Prof. Nobre - Programação e Linguagem Máquina 13