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

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de ProgramaçãoAndré Agostinho
 
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
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemassorayaNadja
 
01 - Introdução e diferenças entre software e hardware v1.3
01 - Introdução e diferenças entre software e hardware v1.301 - Introdução e diferenças entre software e hardware v1.3
01 - Introdução e diferenças entre software e hardware v1.3César Augusto Pessôa
 
Conceitos básicos tic
Conceitos básicos ticConceitos básicos tic
Conceitos básicos ticcmtb31
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Mariana Camargo
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoDécio Araújo
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas OperacionaisLabin2bpm
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelJanynne Gomes
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Gestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIGestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIAlessandro Almeida
 
Hardware
HardwareHardware
Hardwareleiladb
 
Apresentação do computador
Apresentação do computadorApresentação do computador
Apresentação do computadorIuri Matos
 

Mais procurados (20)

Introdução à Lógica de Programação
Introdução à Lógica de ProgramaçãoIntrodução à Lógica de Programação
Introdução à Lógica de Programação
 
So-mod-1
So-mod-1So-mod-1
So-mod-1
 
Aula gerenciamento de arquivos e pastas
Aula   gerenciamento de arquivos e pastasAula   gerenciamento de arquivos e pastas
Aula gerenciamento de arquivos e pastas
 
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
 
CMMI
CMMICMMI
CMMI
 
Visualg
VisualgVisualg
Visualg
 
Aula 04 coneitos de auditoria de sistemas
Aula 04   coneitos de auditoria de sistemasAula 04   coneitos de auditoria de sistemas
Aula 04 coneitos de auditoria de sistemas
 
01 - Introdução e diferenças entre software e hardware v1.3
01 - Introdução e diferenças entre software e hardware v1.301 - Introdução e diferenças entre software e hardware v1.3
01 - Introdução e diferenças entre software e hardware v1.3
 
Conceitos básicos tic
Conceitos básicos ticConceitos básicos tic
Conceitos básicos tic
 
Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }Lógica de programação { para iniciantes }
Lógica de programação { para iniciantes }
 
Como usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passoComo usar o virtualbox-passo a passo
Como usar o virtualbox-passo a passo
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas Operacionais
 
Aula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvelAula 1- Fundamentos da computação móvel
Aula 1- Fundamentos da computação móvel
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Gestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TIGestão da Tecnologia da Informação - Atividade: Governança de TI
Gestão da Tecnologia da Informação - Atividade: Governança de TI
 
Hardware
HardwareHardware
Hardware
 
Aula01- Informática Básica
Aula01- Informática BásicaAula01- Informática Básica
Aula01- Informática Básica
 
Computação na nuvem
Computação na nuvemComputação na nuvem
Computação na nuvem
 
Criação de Sites web Tutorial
Criação de Sites web TutorialCriação de Sites web Tutorial
Criação de Sites web Tutorial
 
Apresentação do computador
Apresentação do computadorApresentação do computador
Apresentação do computador
 

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 Compilador Interpretador

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 Compilador Interpretador (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
 

Compilador Interpretador

  • 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