Automata is a Mathematica package that manipulates finite state machines. A few operations on syntactic semigroups and one-dimensional cellular automata are also available. The official release of the package can be found at Automata Paclet. The current version is 1.0.2.
The paclet posted below may be less stable than the one in the repository but typically supports a few extra commands, has a better help browser, more examples and the like. You can get some idea of the available functionality by looking at the demo notebook below. It's a bit rambling, but it provides a reasonable overview of the paclet. All the computations in the notebook should execute without any issues, let me know if there is a problem.
Automata-1.0.2.paclet | Requires Mathematica 13+ (repository version). |
AutomataDemo.nb | Usage examples of the package. |
ConwayFactors.nb | Constructing Conway factor matrices. |
Frontiers.nb | Tries and frontier automata; visualization. |
OddParts.nb | Constructing odd parts of regular languages; programming in Automata. |