L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory
Abstract
We describe L-FLAT, a Logtalk Toolkit for teaching Formal Languages and Automata Theory. L-FLAT supports the definition of \textsl{alphabets}, the definition of \textsl{orders} over alphabet symbols, the partial definition of \textsl{languages} using unit tests, and the definition of \textsl{mechanisms}, which implement language generators or language recognizers. Supported mechanisms include \textsl{predicates}, \textsl{regular expressions}, \textsl{finite automata}, \textsl{context-free grammars}, \textsl{Turing machines}, and \textsl{push-down automata}. L-FLAT entities are implemented using the object-oriented features of Logtalk, providing a highly portable and easily extendable framework. The use of L-FLAT in educational environments is enhanced by supporting Mooshak, a web application that features automatic grading of submitted programs.
Cite
@article{arxiv.1112.3783,
title = {L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory},
author = {Paulo Moura and Artur Miguel Dias},
journal= {arXiv preprint arXiv:1112.3783},
year = {2011}
}
Comments
Online Proceedings of the 11th International Colloquium on Implementation of Constraint LOgic Programming Systems (CICLOPS 2011), Lexington, KY, U.S.A., July 10, 2011