Resumo:
Este trabalho tem por escopo conceituar de forma breve, porém concisa, as linguagens formais, tendo um estudo direcionado às linguagens regulares, bem como desenvolver uma ferramenta de apoio ao treinamento de linguagens desse tipo. A teoria das linguagens formais é de ampla importância na área da computação, tendo em vista que esta teoria contém um conjunto de formalismos no qual podem ser aplicados na especificação e reconhecimento de sentenças de uma linguagem de programação. A linguagem regular e os autômatos finitos geralmente são utilizados em um segmento do front-end de um compilador, nomeado como análise léxica, além de diversas aplicações em busca e validação de dados. A ferramenta desenvolvida possibilitará que o aluno submeta um autômato finito, seja determinístico, não-determinístico ou com movimentos vazios, de modo que este possa ser corrigido de acordo com as especificações informadas previamente. Ao final do processo, a ferramenta ainda retornará o erro de forma clara a fim de que o aluno possa corrigi-lo e com isso aprender mais sobre o assunto.