{"domain":"code.google.com","name":"foma","summary":"finite-state compiler and C library","description":"# News #\n\nBinary and tarball [downloads are now here](https://bitbucket.org/mhulden/foma/downloads).\n\n  * June 13, 2015: License change to Apache 2.0\n  * June 12, 2015: foma 0.9.18 released. Many bugfixes.\n\n# Summary #\n\nFoma 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.\n\nThe foma interface is similar to the Xerox [xfst](http://www.fsmbook.com) 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.\n\nThe 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.\n\n## Features ##\n\n  * Xerox-compatible regular expression and scripting syntax (xfst/lexc)\n  * Separate C API for constructing and handling automata\n  * Import/export from Xerox/AT\u0026T/OpenFST tools\n  * Separate utility (flookup) for applying automata with various strategies\n  * Supports flag diacritics\n  * Contains functions for constraining reduplication (`_`eq())\n  * Supports first-order regular logic expressions\n  * Pre-built binaries available for Windows/Linux/OSX (see Downloads page)\n\n## Documentation ##\n\nSee the\n\n  * [Wiki](http://code.google.com/p/foma/w/list) on this site\n  * [Tutorial slides and files from LREC 2010](http://foma.sourceforge.net/lrec2010/index.html)\n\n## Cite ##\n\nIf you use foma, you can use the following citation for attribution. Please note that the details regarding the functionality of foma in that article are somewhat obsolete by now.\n\n```\n@inproceedings{hulden2009,\r\n  title\u003d{Foma: a finite-state compiler and library},\r\n  author\u003d{Hulden, Mans},\r\n  booktitle\u003d{Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics},\r\n  pages\u003d{29--32},\r\n  year\u003d{2009},\r\n  organization\u003d{Association for Computational Linguistics}\r\n}\r\n```","stars":32,"license":"asf20","contentLicense":"","labels":["Academic","NLP","regex","C"],"creationTime":1320830106000,"repoType":"svn","subrepos":[],"hasSource":true,"ancestorRepo":"","logoName":"fomawall-128.png","imageUrl":"http://code.google.com/p/foma/logo?cct\u003d1353505494","movedTo":""}