Paradigmas de Linguagens de Programa - PowerPoint PPT Presentation

About This Presentation
Title:

Paradigmas de Linguagens de Programa

Description:

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 ... – PowerPoint PPT presentation

Number of Views:99
Avg rating:3.0/5.0
Slides: 12
Provided by: phmb
Category:

less

Transcript and Presenter's Notes

Title: Paradigmas de Linguagens de Programa


1
Paradigmas de Linguagens de ProgramaçãoBNF e
Interpretador daLinguagem 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
  • http//www.cin.ufpe.br/in1007/linguagens/Imperati
    va2/imperativa2.html
  • Novo comando ChamadaProcedimento
  • Nova declaração DecProcedimento

4
Programa Exemplo 1
var a 0 , proc incA () a
a 1 call incA() 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
  • http//www.cin.ufpe.br/in1007/linguagens/Imperati
    va2/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
Write a Comment
User Comments (0)
About PowerShow.com