1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
#[cfg(test)]
extern crate counter;
#[macro_use]
extern crate failure;
#[macro_use]
extern crate itertools;
#[cfg(test)]
extern crate rand;
type Result<T> = std::result::Result<T, failure::Error>;
/// Type used for the input label and output label of an arc in a wFST.
pub type Label = usize;
/// Type used to identify a state in a wFST.
pub type StateId = usize;
/// Epsilon label representing the epsilon transition (empty transition).
pub static EPS_LABEL: Label = 0;
/// Provides algorithms that are generic for all wFST.
pub mod algorithms;
/// Implementation of the transitions inside a wFST.
pub mod arc;
/// Implementation of a successful path inside a wFST.
pub mod path;
#[macro_use]
/// Provides trait that must be implemented to be able to use generic algorithms.
pub mod fst_traits;
/// Implementation of the wFST traits with different data structure.
pub mod fst_impls;
/// Provides a trait that shall be implemented for all weights stored inside a wFST.
pub mod semirings;
#[cfg(test)]
pub(crate) mod test_data;
/// A few utilities to manipulate wFSTs.
pub mod utils;