A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Augusto Sampaio e Paulo Borba Centro de Informática

Apresentações semelhantes


Apresentação em tema: "Augusto Sampaio e Paulo Borba Centro de Informática"— Transcrição da apresentação:

1 Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Imperativa 1
Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de Pernambuco

2 Visão Geral Estende a linguagem de expressões 1 com variáveis
comando de atribuição comandos de entrada e saída controle de fluxo

3 Visão Geral Comandos versus Expressões Efeitos colaterais
Pascal e Java Linguagens funcionais Efeitos colaterais Um programa é um comando

4 BNF

5 Programa Exemplo 1 { var a = 3; write(a); { var a = 2, var b = 5;
write(b+a) }; write(a) } =

6 = valores de entrada diferentes
Programa Exemplo 2 {var n = 0, var m = 0; read(n); read(m); if (m == n) then write("valores de entrada iguais") else write("valores de entrada diferentes") } = valores de entrada diferentes = 2 3

7 = Hello World Hello World Hello World
Programa Exemplo 3 { var i = 0; while not (i == 3) do i := i + 1; write("Hello World") } = Hello World Hello World Hello World

8 Ambiente do Interpretador
O ambiente inclui três componentes: uma pilha de mapeamentos de identificadores em valores (memória principal) lista de valores de entrada (teclado, socket, etc.) lista de valores de saída (monitor, impressora, etc.)

9 Ambiente do Interpretador
O ambiente pode ser modificado por atribuições e por declarações de variáveis!

10 Projeto e Implementação do Interpretador
A execução de comandos retorna um ambiente derivado do que é recebido como argumento Modelo de projeto Partes do código

11 Exercícios Estenda a Linguagem Imperativa 1 com os seguintes recursos:
declaração de variável sem inicialização comando switch de Java comando for de Java blocos, iniciados por “{“ e terminados por “}”, sem obrigar a declaração de variáveis

12 Exercícios Estenda a Linguagem Imperativa 1 com os seguintes recursos:
comando “break” de Java (interrompe e finaliza a execução de um “while”) comando “continue” de Java (interrompe e reinicia a execução de um “while”) Por simplicidade, inicialmente considere que não há declarações de variáveis locais


Carregar ppt "Augusto Sampaio e Paulo Borba Centro de Informática"

Apresentações semelhantes


Anúncios Google