Abstract
This paper describes a C++ finite automata toolkit known as FIRE Lite (Finite automata and Regular Expressions; Lite since it is the smaller and newer cousin of the FIRE Engine toolkit, also originally developed at the Eindhoven University of Technology). The client interface and aspects of the design and implementation are also described. The toolkit includes implementations of almost all of the known automata construction algorithms and many of the deterministic automata minimization algorithms. These implementations enabled us to collect performance data on these algorithms. The performance data, which we believe to be the first extensive benchmarks of the algorithms, are also summarized in this paper.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, A.V., R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. (Addison-Wesley, Reading, MA, 1988).
Brzozowski, J.A. Canonical regular expressions and minimal state graphs for definite events, in: Mathematical theory of Automata, Vol. 12 of MRI Symposia Series. (Polytechnic Press, Polytechnic Institute of Brooklyn, NY, 1962) 529–561.
Berry, G. and R. Sethi. From regular expressions to deterministic automata, Theoretical Computer Science48 (1986) 117–126.
Champarnaud, J.M. and G. Hansel. Automate: A computing package for automata and finite semigroups, J. Symbolic Computation12 (1991) 197–220.
Hopcroft, J.E. An n log n algorithm for minimizing the states in a finite automaton, in: Z. Kohavi, ed., The Theory of Machines and Computations. (Academic Press, New York, 1971) 189–196.
Hopcroft, J.E. and J.D. Ullman. Introduction to Automata, Theory, Languages, and Computation. (Addison-Wesley, Reading, MA, 1979).
Johnson, J.H. INR: A program for computing finite automata, Technical Report, Department of Computer Science, University of Waterloo, Waterloo, Canada, January 1986.
Jansen, V., A. Pothoff, W. Thomas, and U. Wermuth, A short guide to the Amore system, Aachener Informatik-Berichte90(02), Lehrstuhl für Informatik II, (Universität Aachen, January 1990).
Leiss, E. Regpack: An interactive package for regular languages and finite automata, Research Report CS-77-32, Department of Computer Science, University of Waterloo, Waterloo, Canada, October 1977.
McNaughton, R. and H. Yamada. Regular expressions and state graphs for automata, IEEE Trans. on Electronic Computers9(1) (1960) 39–47.
Press, W.H., S.A. Teukolsky, W.T. Vetterling and B.P. Flannery. Numerical Recipes in C: The Art of Scientific Computing. (Cambridge University Press, Cambridge, England, 2nd edition, 1992).
Raymond, D.R. and D. Wood. The Grail papers, Department of Computer Science, University of Waterloo, Canada. Available by ftp from CS-archive.uwaterloo.ca.
Thompson, K. Regular expression search algorithms, Comm. ACM11(6) (1968) 419–422.
Watson, B.W. A taxonomy of finite automata construction algorithms, Computing Science Report 93/43, Eindhoven University of Technology, The Netherlands, 1993. Available for ftp from ftp.win.tue.ni in directory/pub/techreports/pi/automata/.
Watson, B.W. A taxonomy of finite automata minimization algorithms, Computing Science Report 93/44, Eindhoven University of Technology, The Netherlands, 1993. Available for ftp from ftp.win.tue.ni in directory/pub/techreports/pi/automata/.
Watson, B.W. An introduction to the FIRE Engine: A C++ toolkit for FI-nite automata and Regular Expressions, Computing Science Report 94/21, Eindhoven University of Technology, The Netherlands, 1994. Available for ftp from ftp.win.tue.nl in directory/pub/techreports/pi/automata/.
Watson, B.W. The design and implementation of the FIRE Engine: A C++ toolkit for Finite automata and Regular Expressions, Computing Science Report 94/22, Eindhoven University of Technology, The Netherlands, 1994. Available for ftp from ftp.win.tue.nl in directory/pub/techreports/pi/automata/.
Watson, B.W.Taxonomies and Toolkits of Regular Language Algorithms. (Eindhoven University of Technology, The Netherlands, ISBN 90-386-0396-7, 1995).
Watson, B.W. Implementing and using finite automata toolkits, in: Wahlster, W., Proceedings of the 12th European Conference on Artificial Intelligence (Budapest, Hungary, August 1996).
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Watson, B.W. (1997). FIRE Lite: FAs and REs in C++. In: Raymond, D., Wood, D., Yu, S. (eds) Automata Implementation. WIA 1996. Lecture Notes in Computer Science, vol 1260. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63174-7_14
Download citation
DOI: https://doi.org/10.1007/3-540-63174-7_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63174-3
Online ISBN: 978-3-540-69205-8
eBook Packages: Springer Book Archive