Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouManoela Regueira Molinari Alterado mais de 8 anos atrás
1
Influencias sobre o Projeto da Linguagem
2
Arquitetura do Computador
A maioria das mais populares dos ultimos 40 anos foi projetada em função da arquitetura de Von Newman Essas linguagens são chamadas de imperativas Recursos centrais: variáveis, as quais modelam as células de memória, as instruções de atribuição e a forma iterativa de repetição.
3
Arquitetura do computador
A iteração é rapida nos computadores de Von Newman porque as instruções são armazenadas em celulas adjacentes da memória. Essa eficiência desencoraja o uso de recursão para repetição: Linguagens funcionais
4
Metodologias de Programação
As novas metodologias de desenvolvimento de software surgiram em consequencia das pesquisas da decada de 70 As principais deficiencias descobertas: Não verificação de tipos Insuficiencia de instruções de controle
5
Verificação de Tipos Testar se existem erros de tipo em determinado programa, ou por meio de compilador ou durante a execução do programa. Uma vez que a verificação de tipos em tempo de execução é dispendiosa A verificação em tempo de compilação é mais desejavel
6
Verificação de Tipos Erros:
Na linguagem C original, o tipo de parametro real em uma chamada a função não é verificado para determinar se seu tipo coincide com o do parametro formal correspondente na função. Uma variavel do tipo int pode ser usada como um parametro real em uma chamada a uma função que espera um tipo float como seu parametro formal, e nem o compilador nem o sistema em tempo de compilação detectarão a incoerencia.
7
Metodologias de Programação
Iniciou-se projetos de linguagem onde há ênfase nos tipos abstratos de dados, nos anos 70. Nos anos 80, surgiu a orientação a objetos, onde alem da abstração dos dados há a encapsulamento, herança e vinculação de tipos dinamicos
8
Introdução: execução de programas
Componentes: programa, dados, computador Objetivo: viabilizar a execução de um programa fonte, juntamente com seus dados, em um computador para a obtenção dos resultados Problema: notação usada no programa pode ser incompatível com o conjunto de instruções executáveis
9
Computador e linguagens
Um computador pode ser representado por: uma máquina virtual, capaz de executar operações mais abstratas (representadas através de uma linguagem de programação) uma máquina real, capaz de executar um determinado conjunto de operações concretas (expressas em linguagem de máquina)
10
Linguagens e Máquinas Cada máquina representa um conjunto integrado de estruturas de dados e algoritmos Cada máquina é capaz de armazenar e executar programas em uma linguagem de programação L1, L2, L3,...Ln.
11
Linguagens e Máquinas
12
Máquina reais e máquinas virtuais
Máquina real: conjunto de hardware e sistema operacional capaz de executar um conjunto próprio de instruções (plataforma de execução) O elo de ligação entre a máquina abstrata e a máquina real é o processador da linguagem
13
Máquina reais e máquinas virtuais
Processador da linguagem: programa que traduz as ações especificadas pelo programador usando a notação própria da linguagem em uma forma executável em um computador Máquina abstrata (virtual): combinação de um computador e um processador de linguagem
14
Máquina reais e máquinas virtuais
15
Preparação de programas
16
Programa Montador (assembler)
Montadores aceitam como entrada um programa escrito em linguagem de montagem (assembler) e produzem código de máquina correspondente a cada instrução Sendo P1 o programa assembler e P0 o programa em linguagem de máquina, P1 e P0 devem ser funcionalmente equivalentes
17
Programa Compilador Compiladores aceitam como entrada um programa escrito em linguagem de programação e produzem um programa equivalente em outro código
18
Programa Compilador Programa objeto: linguagem de máquina, linguagem assembler ou linguagem intermediária Sendo P2 o programa fonte e P0 o programa objeto, P2 e P0 devem ser funcionalmente equivalentes
19
Compiladores x plataformas
20
Compilador Pascal Programas fonte de usuários podem ser traduzidos para linguagem de máquina ou para P-code
21
Compilador Pascal A versão em P-code deve ser interpretada maior tempo de execução melhores diagnósticos de erros favorece o processo de alterações e testes permite a reexecução completa ou incremental dentro do próprio ambiente de desenvolvimento
22
Interpretador Interpretador: a partir de um
programa fonte escrito em uma linguagem de programação ou código intermediário e mais o conjunto de dados de entrada exigidos pelo programa realiza o processo de execução Pode produzir código executável, mas não produz programa objeto persistente Exemplos: Basic, LISP, Smalltalk e java
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.