1 Foma is a compiler, programming language, and C library for constructing
2 finite-state automata and transducers for various uses. It has specific
3 support for many natural language processing applications such as producing
4 morphological analyzers. Although NLP applications are probably the main use
5 of foma, it is sufficiently generic to use for a large number of purposes.
7 The foma interface is similar to the Xerox xfst interface, and supports
8 most of the commands and the regular expression syntax in xfst.
9 Many grammars written for xfst compile out-of-the-box with foma.
11 The library contains efficient implementations of all classical
12 automata/transducer algorithms: determinization, minimization, epsilon-removal,
13 composition, boolean operations. Also, more advanced construction methods
14 are available: context restriction, quotients, first-order regular logic,
15 transducers from replacement rules, etc.
17 WWW: https://code.google.com/p/foma/