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

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

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

Apresentações semelhantes


Apresentação em tema: "Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Imperativa 2 Augusto Sampaio e Paulo Borba Centro de Informática Universidade."— Transcrição da apresentação:

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

2 Visão Geral Estende a linguagem imperativa 1 com declarações e chamadas de procedimentos: –procedimentos podem ser recursivos e parametrizados –procedimentos não são valores –procedimentos podem ser declarados em qualquer parte do programa Um programa é um comando

3 BNF ns/Imperativa2/imperativa2.htmlhttp://www.cin.ufpe.br/~in1007/linguage ns/Imperativa2/imperativa2.html Novo comando: ChamadaProcedimento Nova declaração: DecProcedimento

4 Programa Exemplo 1 { var a = 0, proc incA () { a := a + 1 }; call incA(); write(a) } = 2

5 Programa Exemplo 2 { var b = 3, proc escreveRecursivo (int a) { if (not (a == 0)) then { var x = 0; x := a - 1; write("Ola"); call escreveRecursivo(x) } else skip }; call escreveRecursivo(b) } = Ola Ola Ola

6 Programa Exemplo 3 { var x = 0, proc p (int y) {x := x + y}; { var x = 1; call p(3); write(x) }; call p(4); write(x) } = 4 4

7 Ambiente do Interpretador O ambiente inclui quatro componentes: –uma pilha de mapeamentos de identificadores em valores (memória principal) –duas listas de valores (entrada e saída) –uma pilha de mapeamentos de identificadores em procedimentos (declarações)

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

9 Projeto e Implementação do Interpretador agens/Imperativa2/imperativa2.htmlhttp://www.cin.ufpe.br/~in1007/lingu agens/Imperativa2/imperativa2.html A execução de comandos retorna um contexto derivado do que é recebido como argumento Modelo de projeto Partes do código

10 Características do Interpretador Escopo dinâmico para variáveis e procedimentos Passagem de parâmetros por valor Avaliação de argumentos da esquerda para à direita

11 Exercícios Estenda a Linguagem Imperativa 2 com os seguintes recursos: –procedimentos com parâmetros opcionais proc Id(ListaIdValor) = Comando –procedimentos que retornam valores proc Id(ListaId) return Id = Comando call Id(ListaExpressao) return Id;


Carregar ppt "Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Imperativa 2 Augusto Sampaio e Paulo Borba Centro de Informática Universidade."

Apresentações semelhantes


Anúncios Google