14
LICENCIATURA EM CIÊNCIAS DA COMPUTAÇÃO LCC2 - 2014

Aula 3 compiladores e interpretadores

Embed Size (px)

Citation preview

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-2014 Prof. 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-2014 Prof. 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-2014 Prof. Nobre - Programação e Linguagem Máquina 4

16-03-2014 Prof. 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-2014 Prof. 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-2014 Prof. Nobre - Programação e Linguagem Máquina 7

Linkagem Compilaçã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-2014 Prof. 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-2014 Prof. 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-2014 Prof. 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-2014 Prof. 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-2014 Prof. 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-2014 Prof. Nobre - Programação e Linguagem Máquina 13

CONCEITOS DA LINGUAGEM

LCC2 - 2014