1 / 12

Gerador Gráfico de Analisadores Sintáticos

Gerador Gráfico de Analisadores Sintáticos. Aluno: Gustavo Henrique Braga Orientador: Valdermar W. Setzer. Visão Geral. Analisadores Sintáticos, juntamente com analisadores léxicos são componentes fundamentais dos compiladores.

billie
Télécharger la présentation

Gerador Gráfico de Analisadores Sintáticos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Gerador Gráfico de Analisadores Sintáticos Aluno: Gustavo Henrique Braga Orientador: Valdermar W. Setzer

  2. Visão Geral • Analisadores Sintáticos, juntamente com analisadores léxicos são componentes fundamentais dos compiladores. • Sistema permite a criação e manipulação de representações visuais de gramáticas livres de contexto. • Estas representações, juntamente com definições adicionais, são convertidas em tabelas. • Estas tabelas, mais um interpretador genérico, são usadas para compor um analisador sintático.

  3. Motivações • Prover uma ferramenta gráfica flexível e de uso intuitivo para a criação e depuração de compiladores. • Disponibilizar uma alternativa em software livre para os analisadores sintáticos mais comuns. • Oferecer um sistema útil para fins didáticos e para criação dinâmica de protótipos. • Permitir a implementação e integração de analisadores sintáticos adicionais.

  4. Analisador Sintático • Fundamenta-se num analisador top-down que aceita uma subclasse das gramáticas LL(1) (ESLL(1)). • Abordagem top-down possibilita um entendimento intuitivo do processo de análise sintática e do grafo sintático. • É fácil acompanhar as pilhas sintáticas e semântica. • Detecção de erros da gramática direta e eficaz, além facilidade de correção. • Especificação de rotinas semânticas em qualquer ponto de um lado direito de uma produção.

  5. Sistema • Uma versão preliminar foi parcialmente desenvolvida como um plugin para plataforma eclipse (Luiz Fernando dos Santos Pereira). • Queríamos um sistema totalmente autônomo, embora o esquema de docking tenha funcionado tão bem : - ) • Desenvolvido em java, uma preocupação era manter o código “civilizado”, atentando para padrões de O.O. bem conhecidos e MVC.

  6. Sistema • Reaproveitamento de código aberto disponível: E outros...

  7. Sistema Área de desenho, com caixa de ferramentas Arquivos do projeto (sem, gram, lex)

  8. Sistema Editor de rotinas semânticas Tabela do analisador Rastreamento das pilhas sintática e semântica Interpretador

  9. Estado Atual • Gerenciamento de Projetos. • Geração de código. • Especificação e modificação em runtime de rotinas semânticas associadas aos lados direitos das produções. • Configuração das especificações para o analisador léxico (Yylex). • Impressão de pilhas sintática e semântica. • Rastreamento dos tokens.

  10. Estado Atual • Console de linha de comando para controle fino de cada aspecto do programa. • Demonstração das técnicas de recuperação de erro (com e sem sucesso). • Auxílios visuais (identação automática, coloração) para códigos.

  11. Mais Desenvolvimento • Implementação adaptadores (de entrada e saída) para permitir que o interpretador seja controlado por um programa externo, e que diferentes tipos de saída possam ser gerados (ex: uma planilha, um gráfico 3D, uma seqüência de sons). • Mais controle sobre as políticas de validação de gramáticas. • Modo Debug. • Depuração visual da gramática. • Mais flexibilidade para Impl. de novos analisadores.

  12. Terminando... • A última versão pode ser encontrada em: http://www.linux.ime.usp.br/~henrick/mac499/dev-ggas.zip • E o manual, documentação...http://www.linux.ime.usp.br/~henrick/mac499/manual.html

More Related