Fire-Engine and Spare-Parts String and Language Algorithms

Fire-Engine and Spare-Parts String and Language Algorithms


Fire Engine and Spare Parts -- Regular Language Algorithms

FIRE Engine is a finite automata toolkit, written in C++ by Bruce Watson. It provides production quality implementations of finite automata and regular expression algorithms, specifically the construction of finite Several finite automata minimization algorithms have been implemented, including Hopcroft's O(n lg n) algorithm. Both deterministic and non-deterministic automata are supported, and it has been used for compiler construction, hardware modeling, and computational biology applications. It is strictly a computing engine, and does not provide a graphical user-interface.

SPARE Parts is a string pattern recognition toolkit, written in C++ by Bruce Watson. It provides production quality implementations of all major variants of the classical string matching algorithms for single patterns (both Knuth-Morris-Pratt and Boyer-Moore) and multiple patterns (both Aho-Corasick and Commentz-Walter).

Greatly improved commercial versions of both codes are available from www.RibbitSoft.com, with older versions available from www.RibbitSoft.com/research/watson/ and available by anonymous FTP from ftp.win.tue.nl in the directory /pub/techreports/pi/watson.phd/. Neither version in the public domain, and neither is copy-left. They are both freely available for noncommercial use (research, experimentation, etc., but not even shareware). They must not be redistributed, but people can simply tell their friends where to get their own copy.


  • Ribbit Software Systems (commercial versions)
  • Bruce Watson's WWW Page"
  • FTP to Original distribution
  • HTML Distribution
  • Email to Bruce Watson
  • Download Files (local site)

    Problem Links

  • Finite State Machine Minimization (8)
  • String Matching (7)


    About the Book
    Send us Mail
    Go to Main Page

    This page last modified on Apr 23, 1997.