TALFJava: Java code libraries for teaching Automata Theory and Formal Languages

(versión en español)  versión en español


At this site we make available, for research and teaching purposes, the Java code libraries employed in the lab exercises of the Automata Theory and Formal Language course of the Degree in Technical Engineering in Computer Systems of the Faculty of Computer Science of the University of A Coruña. These Java code libraries contain classes corresponding to the major formalisms studied in the theory classes (finite state automata, context-free grammars and regular expressions), with basic methods for their generation and management, together with interfaces for their graphical visualization and storage. The implementation has been made as close to the original formalisms as possible.

The use of these libraries have several advantages:

How to use

These are Java code libraries which can be compiled using any standard Java compiler. The code is fully documented (in Spanish) using javadoc format, and such documentation is also freely available online here. Moreover, we include a small sample program in order to illustrate how to use the libraries, apart from several sample input files with finite-state automata, context-free grammars and regular expressions.

Notice that if you want to show graphical visualizations of the automata (see method AF#AFabstracto.dibujar()), you must install the graph visualization software Graphviz first.  

Download (source code)

Contact the author Jesús Vilares () by email using an institutional email account giving your name, position and affiliation. The author will contact you back explaining how to download the libraries.


These libraries are freely available for the research and teaching community by means of a non-comercial free use license contained in the source code, but you can also read it  here.

Derived publications


For any question, comment or suggestion, please, contact the author Jesús Vilares ()

Last modified: Tue Sep 08 11:30:40 CEST 2010