Skip to main content

FIRE Lite: FAs and REs in C++

  • Contributed Papers
  • Conference paper
  • First Online:
Automata Implementation (WIA 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1260))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., R. Sethi, and J.D. Ullman. Compilers: Principles, Techniques, and Tools. (Addison-Wesley, Reading, MA, 1988).

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Berry, G. and R. Sethi. From regular expressions to deterministic automata, Theoretical Computer Science48 (1986) 117–126.

    Google Scholar 

  4. Champarnaud, J.M. and G. Hansel. Automate: A computing package for automata and finite semigroups, J. Symbolic Computation12 (1991) 197–220.

    MathSciNet  Google Scholar 

  5. 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.

    Google Scholar 

  6. Hopcroft, J.E. and J.D. Ullman. Introduction to Automata, Theory, Languages, and Computation. (Addison-Wesley, Reading, MA, 1979).

    Google Scholar 

  7. Johnson, J.H. INR: A program for computing finite automata, Technical Report, Department of Computer Science, University of Waterloo, Waterloo, Canada, January 1986.

    Google Scholar 

  8. 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).

    Google Scholar 

  9. 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.

    Google Scholar 

  10. McNaughton, R. and H. Yamada. Regular expressions and state graphs for automata, IEEE Trans. on Electronic Computers9(1) (1960) 39–47.

    Google Scholar 

  11. 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).

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Thompson, K. Regular expression search algorithms, Comm. ACM11(6) (1968) 419–422.

    Google Scholar 

  14. 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/.

    Google Scholar 

  15. 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/.

    Google Scholar 

  16. 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/.

    Google Scholar 

  17. 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/.

    Google Scholar 

  18. Watson, B.W.Taxonomies and Toolkits of Regular Language Algorithms. (Eindhoven University of Technology, The Netherlands, ISBN 90-386-0396-7, 1995).

    Google Scholar 

  19. 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).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Darrell Raymond Derick Wood Sheng Yu

Rights and permissions

Reprints 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

Publish with us

Policies and ethics