aboutsummaryrefslogtreecommitdiff
path: root/gfsm/gfsm/doc/libgfsm/mainpage.dox.in
diff options
context:
space:
mode:
Diffstat (limited to 'gfsm/gfsm/doc/libgfsm/mainpage.dox.in')
-rw-r--r--gfsm/gfsm/doc/libgfsm/mainpage.dox.in102
1 files changed, 102 insertions, 0 deletions
diff --git a/gfsm/gfsm/doc/libgfsm/mainpage.dox.in b/gfsm/gfsm/doc/libgfsm/mainpage.dox.in
new file mode 100644
index 0000000..909fda7
--- /dev/null
+++ b/gfsm/gfsm/doc/libgfsm/mainpage.dox.in
@@ -0,0 +1,102 @@
+/* -*- Mode: C++ -*- */
+/**
+\mainpage libgfsm : finite state utility library
+
+\author Bryan Jurish <moocow@ling.uni-potsdam.de>
+
+\version @VERSION@
+
+<b>Project URL:</b> http://www.ling.uni-potsdam.de/~moocow/projects/gfsm
+
+\section Intro Introduction
+
+libgfsm is an abstract C library for the manipulation of finite
+state machines using <A HREF="http://www.gtk.org">glib</A>
+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.
+
+\section building Building gfsm
+
+Run the \a configure script in the distribution directory, and then call \a make:
+
+\verbatim
+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'
+
+\endverbatim
+
+libgfsm will install itself in /usr/local by default.
+
+See the file \a INSTALL in the gfsm distribution root directory
+for more details.
+
+
+\section knowgfsm Getting to know gfsm
+
+- Have a look at gfsmAutomaton.h , gfsmArc.h , and gfsmState.h
+ to get familiar with the basic automaton API and data structures,
+ ::gfsmAutomaton , ::gfsmArc , and ::gfsmState .
+
+- Have a look at gfsmAlgebra.h to see the basic algebraic operations
+ on automata provided by gfsm.
+
+- Have a look at the gfsmAutomatonIO.h documentation to learn how to
+ load and save automata to named files, or even to abstract I/O handles.
+
+- Have a look at gfsmAlphabet.h for details on fun things you can
+ do with alphabets, including defining your own.
+
+- Have a look at gfsmSemiring.h for details on the built-in semirings, as
+ well as an API for creating your own user-defined semiring for
+ weighted automaton operations.
+
+- Have a look at gfsmRegexCompiler.h if you need a basic regular expression compiler.
+
+.
+
+\section usinggfsm Using gfsm
+
+- Include the main gfsm header in your code:
+
+ \code
+#include <gfsm.h>
+int main(void) {
+ do_stuff();
+ return 0;
+}
+ \endcode
+
+- Compile and link your program against libgfsm:
+
+ \verbatim
+bash$ gcc `pkg-config --cflags gfsm` -o myprog.o -c myprog.c
+bash$ gcc -o myprog myprog.o `pkg-config --libs gfsm`
+ \endverbatim
+
+- ... and things ought to work
+
+.
+
+*/
+