summaryrefslogtreecommitdiff
path: root/math/foma/pkg-descr
blob: 6027d74152b65b99ddd6ed84dbc721dcd41b4a47 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Foma is a compiler, programming language, and C library for constructing
finite-state automata and transducers for various uses.  It has specific
support for many natural language processing applications such as producing
morphological analyzers.  Although NLP applications are probably the main use
of foma, it is sufficiently generic to use for a large number of purposes.

The foma interface is similar to the Xerox xfst interface, and supports
most of the commands and the regular expression syntax in xfst.
Many grammars written for xfst compile out-of-the-box with foma.

The library contains efficient implementations of all classical
automata/transducer algorithms: determinization, minimization, epsilon-removal,
composition, boolean operations.  Also, more advanced construction methods
are available: context restriction, quotients, first-order regular logic,
transducers from replacement rules, etc.

WWW: https://code.google.com/p/foma/