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

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

Animador e Editor para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Reis Lucena Centro de Informática – UFPE, 2005.

Apresentações semelhantes


Apresentação em tema: "Animador e Editor para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Reis Lucena Centro de Informática – UFPE, 2005."— Transcrição da apresentação:

1 Animador e Editor para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Reis Lucena Centro de Informática – UFPE, 2005

2 Roteiro  Motivação  Proposta  O que visualizar?  Estratégia  Metas(Requisitos) de Implementação  Como Implementar?  Estrutura do Animador  Adaptando a LF2 para o Animador  Executando um programa  Trabalhos Futuros

3 Motivação  Melhorar a apresentação da execução dos programas da disciplina de PLP (Poupar o professor de ter que desenhar os ambientes de execução)  Ter um editor que reconheça a sintaxe das linguagens e faça o parsing automático  Auxiliar a implementação dos projetos da disciplina

4 Proposta  Desenvolver um Animador Web que execute “passo-a-passo” programas da Linguagem Funcional 2, mostrando o que ocorre com o ambiente durante a execução. (melhorado!)  Desenvolver um Editor Web para as Linguagens de PLP (novo!)

5 O Editor Editor Permite a edição dos programas Palavras-Chave Destaca as palavras-chave à medida que o programa é digitado Sintaxe Verifica a sintaxe à medida que o programa é digitado Animar Chama o Animador PLP

6 O Animador Ambiente de Execução Mostra a pilha de bindings do ambiente Avaliação de Expressões Exibe o resultado da avaliação da expressão atual Passos Permite percorrer a execução do programa passo-a-passo Código Fonte Exibe código fonte do programa com destaque para a expressão que está sendo avaliada

7 Animação / Visualização de Programas  Exemplos de Softwares que animam / visualizam programas: Eliot - Anima algoritmos  http://www.cs.helsinki.fi/research/aaps/Eliot/ Jeliot – Anima Programas Java  http://cs.joensuu.fi/jeliot/

8 O que visualizar  A avaliação do programa  A avaliação das expressões que compõem o programa  O ambiente de Execução  Os bindings

9 Metas(Requisitos) de Implementação  Quanto menos alterar a implementação da linguagem melhor  Facilidade de adaptar o animador a novas extensões da Linguagem Funcional 2  Terminar o projeto em 2 semanas

10 Como Implementar?  Opções Usando o padrão de projeto Visitor Usando Reflection Usando Java Debug Interface (JDI) Usando Aspectos (novo!) Inserindo o código do animador dentro da linguagem A linguagem informa ao animador o que está fazendo. (antes era assim!)

11 Estratégia  Dividir a execução em passos  Um passo é gerado sempre que ocorrer A avaliação de uma expressão O incremento do ambiente A restauração do ambiente A introdução de um binding  Usar Aspectos para perceber estes eventos

12 Estrutura do Animador  Animador void terminarAvaliacao(Expressao, Valor) void inserirBinding(Id, Valor) void incrementarContexto() void restaurarContexto() List getPassos() Binding AnimadorPassoAmbienteContexto * * *

13 Estrutura do Animador  Passo Ambiente ambiente; String avaliacao; String codigo; String valor; Binding AnimadorPassoAmbienteContexto * * *

14 Como era...  O Animador estava incorporado à classe AmbienteExecucao  Os métodos avaliar(...) de cada expressão chamavam o método terminarAvaliacao(...) do animador para informar que uma expressão foi avaliada  O ambiente de execução informava ao animador quando o novo contexto era criado ou removido e quando um binding inserido inserido

15 Trabalhos Futuros  Melhorar a visualização  Incluir as extensões das outras equipes  Transformar o animador em um plugin do eclipse (Sugestão de Eduardo Tavares)  Estender o animador para as linguagens Imperativa e Orientada a Objetos

16 Animador e Editor para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Reis Lucena Centro de Informática – UFPE, 2005


Carregar ppt "Animador e Editor para a Linguagem Funcional 2 Carlos Eduardo Lima Lucas Roberto Bechert Schmitz Leonardo Reis Lucena Centro de Informática – UFPE, 2005."

Apresentações semelhantes


Anúncios Google