Thrax - Release 1.2
Thrax is a toolkit for compiling grammars based on regular expressions and
context-dependent rewrite rules into weighted finite-state transducers
(FSTs). The FST representation uses OpenFst
This version is known to work under Linux using
g++ (≥ 4.6) and MacOS X using XCode 5. Expected to work wherever adequate POSIX
), and C++11
) support are available. Requires bison.
It is assumed you have OpenFst (www.openfst.org
) 1.6.0 or higher and have installed it.
MAKE SURE YOU CONFIGURE OpenFst
flags. Starting with OpenFst
1.6.0, you can also just use
Follow the generic GNU build system instructions in ./INSTALL
. We recommend configuring with
for faster compiles.
gives very fast compiles, but excludes the command line utilities.
If you have GNU readline (or NetBSD readline on Mac OS X), you can also configure Thrax with the
flag: this will enable inline editing and saving of history in
under g++ should give no warnings from this library.
NOTE: In some versions of Mac OS-X we have noticed a problem with
whereby it fails to find
. If this occurs, try configuring as follows:
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure
Assuming you've installed under the default
, the GRM binaries are found on
. Headers will be in
, and libraries in
Auxiliary data files -- provided grammars -- are under
. Syntax highlighters (for vi and emacs) and other useful tools are under
To use in your own programs you will need to include <thrax/thrax.h>.
The compiler must support C++11 (for g++ add the flag "-std=c++0x").
Compile with '-I /usr/local/include' and link against
The linking is, by default, dynamic so that the Fst and Arc type DSO extensions can be used correctly if desired.
COMPILING UNDER CYGWIN
If compiling under Cygwin see Damir Cavar's instructions at http://cavar.me/damir/compiling-thrax-on-linux-mac-osx-and-windows-with-cygwin/
This fix has been incorporated as of Thrax 1.2.3.
for general documentation.
for updates since the last release.