Note
----

This directory contains files from foma library that are used as a part of the HFST library. Makefile.am is an HFST addition, and some of the original foma files are omitted. There are small changes in foma source files. The changes are indicated by "#ifdef ORIGINAL" preprocessor directives or in comments. The rest of this file is the same as foma's original README file:


Foma
====

version 0.9.18alpha
2015/06/12

Author: Mans Hulden
Email: mans.hulden@gmail.com
WWW: http://foma.googlecode.com


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 GNU General Public License (GPL), 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.

