Dawid Weiss
An implementation of Finite State Automatons in Java

This project is my contribution to Jan Daciuk's FSA package [outlink]. It provides a set of Java classes and methods to load, traverse and in general utilize the power of dictionaries produced using FSA tools (those tools are written in C++).

I wrote these classes simply because I needed them in my Polish Stemmer project. Thus I kept the implementation to the very minimum: only version 5 of dictionaries encoding produced by Jan Daciuk's tools is supported (tools compiled with FLEXIBLE, STOPBIT and NEXTBIT).

I hope that in the future I will have some more time to implement other storage schemes introduced in FSA tools and possibly implement automaton-building algorithm as well, so that FSA is available not only for Unix environment, but also for any Java-compatible platform.

Bonus tools

The package also includes some helpful utilities (may be invoked from command-line).

  • com.dawidweiss.fsa.util.FSADump will dump a dictionary to standard output (automatic version recognition)
  • com.dawidweiss.fsa.util.FSAFind will attempt to locate words from the standard input in the dictionary.


FSA classes are available as part of the Polish stemmer distribution (Lametyzator)

(c) Dawid Weiss. All rights reserved unless stated otherwise.