Boa tarde!
Meu nome é David Buzatto, sou professor do Instituto Federal de São Paulo (IFSP) e atualmente trabalho com várias disciplinas do curso de Bacharelado em Ciência da Computação. Dentre essas disciplinas, uma delas é a de Linguagens Formais e Autômatos, também conhecida como Teoria da Computação, entre outros nomes.
Essa é uma das disciplinas que me fascinam e, desde 2008, na época do meu mestrado, eu venho desenvolvendo pequenos simuladores para assuntos relacionados à temática das linguagens formais, além de propor algumas atividades de implementação nesse domínio na disciplina que leciono.
De fato, existem exemplos de simuladores deste tipo, sendo talvez o mais famoso deles o JFLAP (https://www.jflap.org/) que, apesar de cobrir muitos assuntos, é um pouco difícil de usar, pois não é tão intuitivo. Com isso em mente, decidi colocar minha experiência na construção desses protótipos para criar uma ferramenta mais completa e de código aberto, me auxiliando na condução da minha disciplina e permitindo que meus alunos realizem alguns testes, além de provavelmente usá-la na proposição de atividades de implementação aos alunos, onde eles poderão estender a ferramenta.
Sendo assim, apresento-lhes o YAAS, mais um simulador de autômatos! O endereço do projeto é GitHub - davidbuzatto/YAAS: Yet Another Automata Simulator (YAAS) is a prototype tool for simulating the execution of Finite Automata, Pushdown Automata and Turing Machines.. Muito do código ainda precisa ser refatorado e preparado para a continuação da implementação, mas essa versão já traz ao usuário praticamente todas as funcionalidades que envolvem a construção, simulação e a aplicação de algoritmos em Autômatos Finitos como geração de Autômatos Finitos Determinísticos a partir de Autômatos Finitos Não-Determinísticos, minimização de Autômatos Finitos Determinísticos, especificação total de funções de transição, complementação de DFAs, salvar o modelo como imagem etc. Essa versão pode ser baixada em Release v0.7.2 · davidbuzatto/YAAS · GitHub, onde são disponilizados um instalador para Windows e um arquivo .jar para quem não quiser instalar ou rodar no Linux, por exemplo.
Espero que seja interessante aos colegas! Quaisquer críticas, sugestões (e elogios, claro) são bem-vindos!