JFlap_Ricardo Augusto Rabelo Oliveira

1531 palavras 7 páginas
JFLAP JAVA Formal Language and Automata Package

Autor: Ricardo Augusto Rabelo Oliveira

Resumo

Este relatório é um tutorial descrevendo o uso do JFLAP, uma ferramenta utilizada no estudo de teoria de linguagens.

Introdução

O JFLAP (Java Formal Language and Automata Package) é uma ferramenta visual usada para criar e simular diversos tipos de autômatos, e converter diferentes representações de linguagens. O seu principal objetivo é facilitar o aprendizado de teoria de linguagens, através de uma interface simples e intuitiva. Ele pode ser usado tanto como aparato de auxílio às aulas, como ferramenta de estudo e pesquisa, facilitando tanto a criação de autômatos, quanto a verificação se estão corretos.

O passo inicial para a utilização do JFLAP é a criação de autômatos. O usuário utiliza a interface visual para criar um grafo representando os estados, o diagrama de transições e os seus labels. Em seguida, pode definir a palavra de entrada e então visualiza a execução de cada passo do autômato, verificando se o seu projeto é coerente. Isso pode ser feito com três escolhas de execução, um modo rápido, que indica a resposta imediata, um modo passo a passo, que mostra os estados percorridos, e o modo múltiplo, que mostra o teste de diversas palavras, da mesma maneira que o modo rápido.
No modo de conversão do JFLAP, é possível converter a representação de uma linguagem em outro tipo de representação. Dentro das linguagens regulares é possível converter um AFN para um AFD, um AFD para um AFD mínimo, um AFD para uma expressão regular, um AFN para uma gramática regular e uma gramática regular para um AFN. As transformações suportadas para linguagens livres de contexto são a conversão de um autômato a pilha não deterministico para uma gramática livre de contexto, e três algoritmos para a conversão de uma gramática livre de contexto para um autômato a pilha não deterministico. A Figura 1 mostra as possibilidades de conversão para as estruturas nas linguagens

Relacionados