Visual Parse++

 

O Visual Parse++, Figura 13, é um programa comercial da Sand-Stone, atualmente na versão 2.1, que gera parsers. Do ponto de vista conceitual, muito pouco essa ferramenta pode acrescentar, mas do ponto de vista didático ela é excelente, pois implementa o yacc/lex com uma interface totalmente visual.

A sintaxe de especificação do parser é muito próxima da do yacc, sendo ligeiramente mais legível. Mas a grande vantagem do Visual Parse++ não ocorre no momento de se escrever a especificação, mas quando se quer testar o parser.

Depois de pressionar o botão que compila a especificação, e caso não haja erros, estamos prontos para testar o parser construído. O teste pode ser feito passo-a-passo, via botão step, ou até o final da entrada, via o botão run. O Visual Parse++ pede então um arquivo de entrada para o parser que o processa. Durante este estado podemos ver a construção da árvore sintática e da pilha, mostrada em janelas separadas, bem como a stream de caracteres sendo avaliada pelo analisador léxico. O programa ainda mostra quais os casamentos estão sendo feitos na gramática, exibindo as linhas do arquivo de especificação correspondentes em destaque, conforme Figura 14.

Quando conflitos são encontrados na gramática, o programa exibe algumas janelas mostrando o conflito em mensagem de erro e na forma de comparações das árvores gramaticais correspondentes e mesmo tentando resolver os conflitos, como mostra a Figura 15. É possível ainda depurar a gramática.

O Visual Parse++ é uma poderosa ferramenta para ensino de compiladores. Ela implementa demonstrações de funcionamento de parser, como faz a página do curso de compiladores em Binghamton, com a vantagem de fazê-lo com qualquer gramática que possa ser construída pelo aluno. 

Além disso, o Visual Parse++ gera parsers em C, C++, Java, Delphi e Visual Basic, dando mais flexibilidade para o usuário na produção de seu compilador.


VoltarHomePróximoe-mail