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.