libgfsm : finite state utility library

Author:
Bryan Jurish <moocow@ling.uni-potsdam.de>
Version:
0.0.10

Project URL: http://www.ling.uni-potsdam.de/~moocow/projects/gfsm

Introduction

libgfsm is an abstract C library for the manipulation of finite state machines using glib for basic data structures. libgfsm currently supports AT&T style weighted transducer text input and label definition files, a number of common algebraic operations on finite state machines, as well as a low-level automaton interface.

Building gfsm

Run the configure script in the distribution directory, and then call make:

bash:~$ cd gfsm-XX.YY.ZZ

bash:~/gfsm-XX.YY.ZZ$ ./configure
> checking build system type... i686-pc-linux-gnu
> checking host system type... i686-pc-linux-gnu
> checking target system type... i686-pc-linux-gnu
> checking for a BSD-compatible install... /usr/bin/install -c
...
> config.status: linking ./src/programs/gfsmunion.gog to doc/programs/gfsmunion.gog
> config.status: executing depfiles commands

bash:~/gfsm-XX.YY.ZZ$ make
> Making all in config
...
> make[1]: Nothing to be done for `all-am'.
> make: Leaving directory `/home/moocow/gfsm-XX.YY.ZZ'

bash:~/gfsm-XX.YY.ZZ$ make install
> Making install in config
...
> make: Leaving directory `/home/moocow/gfsm-XX.YY.ZZ'

libgfsm will install itself in /usr/local by default.

See the file INSTALL in the gfsm distribution root directory for more details.

Getting to know gfsm

Using gfsm

#include <gfsm.h>
int main(void) {
  do_stuff();
  return 0;
}
bash$ gcc `pkg-config --cflags gfsm` -o myprog.o -c myprog.c 
bash$ gcc -o myprog myprog.o `pkg-config --libs gfsm`