1 research outputs found

    Autómatos de Pilha em OCamlFLAT/OFLAT

    Get PDF
    Com a crescente procura de cursos de Engenharia Informática, são muitos os alunos que precisam de realizar uma disciplina de Teoria da Computação e depois de usar o que aprenderam na sua vida profissional. Mas os tópicos lecionados não são simples. Para ajudar no ensino, têm vindo a ser desenvolvidas as mais diversas ferramentas pedagógicas. É esta a motivação por trás da elaboração da biblioteca OCamlFLAT e da aplicação web OFLAT. Como o nome indica, OCamlFLAT é uma implementação de alguns dos conceitos referidos usando a linguagem de programação OCaml. Quanto à ferramenta OFLAT, desenvolvida sobre a biblioteca anterior, permite a visualização e manipulação gráfica dos con-ceitos teóricos, incluindo a animação interativa de determinados processamentos. Esta dissertação visou estender as duas ferramentas com a adição de suporte para au-tómatos de pilha. Foram desenvolvidas as funcionalidades normais esperadas neste domínio, tanto na biblioteca, ao nível lógico, como na aplicação gráfica, através duma interface gráfica ambiciosa com preocupações pedagógicas. Exemplos de funcionalidades desenvolvidas: aceitação e geração de palavras; transformações diversas tais como eliminar os estados inacessíveis; predicados para testar propriedades como por exemplo o determinismo. De notar que estas funcionalidades se aplicam a autómatos de pilha deterministas e não-deterministas. Neste documento apresenta-se e discute-se criticamente o resultado deste trabalho.With the growing demand for Computer Engineering courses, more and more stu-dents are required to complete a Computer Theory course and use this knowledge in their professional life. However, the topic is not simple and for many students the lecture becomes an obstacle. In order to make the teaching of the Theory of Formal Languages and Automata more effective, several pedagogical tools focused on the topic have been developed. This is the motivation behind the development of the OCamlFLAT library and the web application OFLAT. OCamlFLAT, as the name implies, is an implementation of some of the mentioned concepts developed in the OCaml programming language. Regarding OFLAT, de-veloped on the previous library, it allows the visualization and graphic manipulation of theo-retical concepts, supporting the animation of some of the processes and providing an easy interaction on behalf of the user. Several modules have been implemented in order to enrich the system by providing support to pushdown automata in the OCamlFLAT library, as well as in the OFLAT tool. The modules contain a group of fundamental operations towards the study of these automata such as the process of acceptance of a word, transformation operations such as the cleanse of states that are not useful and the test of some properties such as checking the determinism of the automaton
    corecore