OCaml-Flat on the Ocsigen framework
Rita Pedroso Macedo · New University of Lisbon's Repository (New University of Lisbon) · 2020
Formal Languages and Automata Theory are important and fundamental topics in Computer Science. Due to their rigorous and formal characteristics, learning these becomes demanding. An important support for the assimilation of concepts is the possibility of interactively visualizing concrete examples of these computational models, thus facilitating their understanding. There are many tools available, but most are not complete or do not fully support the interactive aspect. This project aims at the development of an interactive web tool in Portuguese to help understand, in an assisted and intuitive way, the concepts and algorithms in question, watching them work step-by-step, through typical examples pre-loaded or built by the user (an original aspect of our platform). The tool should therefore enable the creation and edition of an automaton or a regular expression, as well as execute the relevant classical algorithms such as word acceptance, model conversions, etc. Another important feature is that the tool has a clean design, in which everything is well organized and it is also extensible so that new features can be easily added later. This tool uses the Ocsigen Framework because it provides the development of complete and interactive web tools written in OCaml, a functional language with a strong type checking system and therefore perfectly suitable for a web page without errors. Ocsigen was also chosen because it allows the creation of dynamic pages with a singular clientserver system. This document introduces the development of the tool, its design aspects that enable showing different conversions and processes as well as the development of the several functionalities related to the mechanisms already presented.