TWiki> GRM Web>Thrax>ThraxDownload>ReadMe (revision 12)EditAttach


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 (dlopen, ssize_t, basename), c99 (snprintf, strtoll, <stdint.h>), and C++11 (<ordered_set>, <ordered_map>, <forward_list>) support are available. Requires bison.

It is assumed you have OpenFst ( 1.5.2 and have installed it. Make sure you configure it with the --enable-far, --enable-pdt and --enable-mpdt flags.


Follow the generic GNU build system instructions in ./INSTALL. We recommend configuring with --enable-static=no for faster compiles.

Configuring with --enable-bin=no 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 --enable-readline flag: this will enable inline editing and saving of history in thraxrewrite-tester.

Compiling with -Wall -Wno-sign-compare under g++ should give no warnings from this library.

NOTE: In some versions of Mac OS-X we have noticed a problem with configure whereby it fails to find fst.h. 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 /usr/local, the GRM binaries are found on /usr/local/bin. Headers will be in /usr/local/include/thrax, and libraries in /usr/local/lib.

Auxiliary data files -- provided grammars -- are under /usr/local/share/thrax. Syntax highlighters (for vi and emacs) and other useful tools are under /usr/local/share/utils.

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 /usr/local/lib/, /usr/local/lib/fst/ and /usr/local/lib/

The linking is, by default, dynamic so that the Fst and Arc type DSO extensions can be used correctly if desired.


See for general documentation.

See ./NEWS for updates since the last release.

-- -- RichardSproat - 25 Mar 2012

Edit | Attach | Watch | Print version | History: r15 < r14 < r13 < r12 < r11 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r12 - 2016-04-13 - KyleGorman
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback