MAC499 - Proposta para Monografia

Interface visual para o analisador sintático ASIN

Aluno: Gustavo Henrique Braga (gustavo.henrick@gmail.com)
Orientador: Valdemar W. Setzer (vwsetzer@ime.usp.br)
0. Índice
1. Resumo

O plugin ASIN[1], desenvolvido para a plataforma Eclipse pelo ex-aluno do IME Luiz Fernando dos Santos Pereira[2], é um analisador sintático que visa facilitar a implementação de um compilador ou interpretador. Este plugin oferece uma interface gráfica que permite a criação visual de grafos sintáticos[3], a partir dos quais uma gramática pode ser gerada. Espera-se que a utilização desse elemento visual facilite o desenvolvimento de uma gramática e também a detecção de erros na mesma.

A interface gráfica foi integrada à plataforma do Eclipse por meio da utilização de outro plugin, o Graphical Editing Framework (GEF)[4]. Isso gera uma dependência direta do ASIN em relação ao GEF e, por conseguinte, ao Eclipse. Esta dependência é indesejável, pois requer a disponibilidade desse ambiente; além disso, as constantes atualizações do Eclipse exigem uma revisão contínua do plugin a fim de garantir sua compatibilidade. Uma nova interface gráfica de usuário deve, portanto, ser implementada para eliminar essa dependência.

[ Topo ]

Este trabalho de formatura é uma continuação do trabalho de Luiz Fernando. O principal objetivo é a total independização do ASIN em relação ao Eclipse. A rotina que depende da plataforma é justamente a interface visual, e portanto faz-se necessário isolar o funcionamento do analisador sintático das rotinas atreladas ao GEF e implementar uma nova interface gráfica para o ASIN, sem dependências para com o Eclipse. O trabalho também incluirá uma adaptação do manual de uso do ASIN para a nova plataforma.

Uma vez endereçado este objetivo inicial preve-se o estudo e implementação de recursos adicionais à interface gráfica. Estes recursos teriam como objetivo a disponibilização de recursos visuais mais avançados para a depuração de erros gramáticais.

[ Topo ]
  1. Estudo de material publicado pelo prof. Valdemar W. Setzer sobre a construção de compiladores[3].
  2. Estudo da implementação do plugin, das rotinas específicas para a análise sintática, incluindo tratamento de erros,  e da comunicação destas rotinas com o plugin GEF.
  3. Diversos frameworks para o desenvolvimento de interfaces gráficas em Java foram estudados. Por fim o Visual Library 2.0[5] integrado à IDE Netbeans foi eleito por ser disponibilizado gratuitamente, não possuir uma licença restritiva, não impor uma dependência para com o Netbeans, e atender a todos os demais requerimentos.
  4. Elaboração de um protópipo para a interface gráfica, desenvolvido com o Visual Library. Este protótipo visa replicar as funcionalidades relativas à interatividade e visualização implementadas com o GEF.
[ Topo ]

- Julho: Continuação do desenvolvimento da nova interface gráfica. Estudo de funcionalidades adicionais. Modelagem do sistema final, com o ASIN integrado.
- Agosto: Codificação do sistema.
- Setembro: Continuação da codificação e início da fase de testes.   
- Outubro: Encerramento dos testes. Início da redação da monografia e preparação do pôster e da documentação de código. Revisão do manual de uso do ASIN.
- Novembro: Finalização da documentação. Disponibilização do sistema na Internet e conclusão da monografia e do pôster.

[ Topo ]

A estrutura da monografia seguirá o roteiro de preparação de monografias da página do prof. Carlos Eduardo Ferreira e será dividida em duas partes: a Técnica e a Subjetiva.

Na parte técnica pretendo colocar uma abordagem geral sobre o funcionamento dos compiladores, o papel do analisador sintático e o método de análise sintática ESLL(1).  Ainda nessa parte incluirei uma exposição sobre a implementação do ASIN sobre o eclipse, com o GEF. Por fim apresentarei os métodos empregados para a refatoração do código pré-existente, explicarei a modelagem e implementação do novo sistema indenpendente do Eclipse.

Na parte subjetiva apresentarei a minha experiência, dificuldades encontradas, disciplinas relevantes para o trabalho, e os demais tópicos exigidos no roteiro de preparação de monografia.

[ Topo ]

[1] Pereira, L. F. dos Santos. ASIN User Manual, 2004.
    URL: http://eclipse.ime.usp.br/projetos/grad/DocAsin/index.html

[2] Pereira, L. F. dos Santos. Monografia de Trabalho de Formatura, 2004.
    URL: http://www.linux.ime.usp.br/~cef/mac499-04/monografias/rec/chaos/index.htm

[3] Setzer, V. W. e  Melo, I. S. Homem de.  A Construção de um Compilador. Rio de Janeiro: Ed. Campus, 1983.

[4] Graphical Editing Framework (GEF). URL: http://www.eclipse.org/gef/

[5] Visual Library 2.0 para a plataforma Netbeans. URL: http://graph.netbeans.org/

[6] V.W. e Mayer, R.C. Grafos Sintáticos Simples e um grafo apara a liguagem C ANSI. São Paulo: Depto. de Ciência da Computação, IME-USP1989

[ Topo ]
Atualizado em 16/06/2008