Switch branches/tags
Nothing to show
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
contrib
docs
python
CHANGELOG
COPYING
Makefile
README
README.cmatrix
README.symbols
apply.c
cgflookup.c
cmatrix.l
coaccessible.c
constructions.c
define.c
determinize.c
dynarray.c
extract.c
flags.c
flookup.c
foma.c
foma.h
fomalib.h
fomalibconf.h
iface.c
int_stack.c
interface.l
io.c
lexc.h
lexc.l
lexcread.c
mem.c
minimize.c
regex.l
regex.y
reverse.c
rewrite.c
sigma.c
spelling.c
stack.c
stringhash.c
structures.c
topsort.c
trie.c
utf8.c

README

Foma
====

version 0.9.18alpha
2015/06/12

Author: Mans Hulden
Email: mans.hulden@gmail.com
WWW: http://fomafst.github.io


What is foma?
-------------

Foma is a multi-purpose finite-state toolkit designed for applications ranging from natural language processing and research in automata theory.  It should be upwardly compatible with Xerox xfst and lexc, with the exception of binary file reading and writing.


Distribution
------------

Foma is licensed under the Apache License, version 2.  You should have received a copy of the licence with the source code.


Compatibility
-------------

Foma is developed and tested on a Linux system.

It has also been compiled on win32, Mac OSX and Sun Solaris systems.  The source code should be reasonably portable.  It relies on the GNU readline library.  Foma also needs GNU bison (developed using 2.3) and flex (>2.5.31).  The last two are only necessary if you are making changes to the parser (.y) or lexer (.l) files.


Compiling/installing foma
-------------------------

A generic Makefile that has been used to compile the Linux, win32, and Mac OSX versions is included.  It assumes you have the header files and the necessary libraries mentioned above.  Some pre-built binaries are available on http://foma.googlecode.com.  Before endeavoring a compile, these are recommended as building for e.g. win32 may be both frustrating and time-consuming.

To compile foma (and flookup) as well as the foma static and dynamic library, "make; make install" should work on most UNIX systems.  The default installation target /usr/local can be changed in the Makefile.


Bugs
----

Many. The current release is 0.9.18alpha, and bug reports will be gratefully received at mans.hulden@gmail.com.