paper

L-FLAT: Logtalk Toolkit for Formal Languages and Automata Theory

arXiv:1112.3783

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.

Online Proceedings of the 11th International Colloquium on Implementation of Constraint LOgic Programming Systems (CICLOPS 2011), Lexington, KY, U.S.A., July 10, 2011