Using Prolog to present abstract machines
ACM SIGCSE Bulletin
Introduction To Automata Theory, Languages, And Computation
Introduction To Automata Theory, Languages, And Computation
FSA Utilities: A Toolbox to Manipulate Finite-State Automata
WIA '96 Revised Papers from the First International Workshop on Implementing Automata
Using theoretical computer simulators for formal languages and automata theory
ACM SIGCSE Bulletin
Programming patterns for logtalk parametric objects
INAP'09 Proceedings of the 18th international conference on Applications of declarative programming and knowledge management
The poor man's proof assistant: using prolog to develop formal language theoretic proofs
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
The poor man's proof assistant: using prolog to develop formal language theoretic proofs
Proceedings of the 2013 companion publication for conference on Systems, programming, & applications: software for humanity
Hi-index | 0.00 |
This paper describes the first version of PFLAT (read "P flat"), a collection of Prolog predicates that aims to provide a pedagogical implementation of concepts and algorithms taught in Formal Languages and Automata Theory (FLAT) courses. By ``pedagogical implementation'' we mean on the one hand that students should be able to easily map the implementation to the mathematical definitions given in lectures, and on the other hand that the toolkit should provide a library for students to implement further concepts and algorithms. In both cases the goal is to make students more confident in defining and manipulating the various kinds of languages and automata at a level beyond the one provided by visual simulators of automata. As such, PFLAT is not intended to replace but rather complement existing graphical tools. We believe the declarative, non-deterministic, and interactive nature of Prolog helps in building an executable specification of FLAT concepts and definitions that can be actively extended and explored by students, in order to achieve the stated goal.