Hfst documentation
Hfst is a compiler for finite state transducers. The best documentation for writing such transducers is still Beesley and Karttunen (2003): Finite State Morphology. There still are some important differences between Hfst and the compilers described in the B&K book.
The Hfst subprograms
Hfst consists of a large number of smaller programs, with different functions:
- hfst-calculate
- Compiles SFST files into HFST transducers
- hfst-compare
- Compares two transducers, checking for equivalence
- hfst-compose
- Composes two transducers
- hfst-compose-intersect
- Perform intersecting composition on two transducers (typically the morphotactic transducer/lexicon and the morphophonological transducer)
- hfst-concatenate
- Concatenates two transducers
- hfst-conjunct
- Conjuncts two transducers
- hfst-determinize
- hfst-diff-test
- hfst-disjunct
- Disjuncts two transducers
- hfst-duplicate
- hfst-foma-wrapper.sh
- hfst-format
- hfst-fst2fst
- Converts between Hfst, OpenFst, SFST and Foma transducers
- hfst-fst2pairstrings
- hfst-fst2strings
- hfst-fst2txt
- Prints transducers in AT&T tabular format
- hfst-head
- hfst-invert
- Turn a transducer upside down.
- hfst-lexc
- Compile a lexc file into a finite-state transducer
- hfst-lexc2fst
- hfst-lookup
- lookup, gives lemma+analysis of wordforms
- hfst-lookup-optimize
- hfst-minimize
- hfst-name
- hfst-omor-evaluate
- hfst-pair-test
- hfst-preprocess-for-optimized-lookup-format
- hfst-proc
- hfst-project
- hfst-push-weights
- hfst-regexp2fst
- hfst-remove-epsilons
- hfst-repeat
- hfst-reverse
- hfst-split
- hfst-strings2fst
- Compiles string-pairs and pair-strings into transducers
- hfst-strip-header
- hfst-substitute
- hfst-subtract
- hfst-summarise
- Calculates the properties of a transducer
- hfst-symbols
- hfst-tail
- hfst-twolc
- Compiles a twol (two-level morphophonology) file into an Hfst transducer
- hfst-twolc-loc
- hfst-txt2fst
- Converts AT&T tabular format into binary transducers
- hfst-xfst
- Compiles xfst files into Hfst transducers