goya 0.1.9

Yet another morphological analyzer for Rust and WebAssembly
Documentation
use super::char_class::CharDefinition;
use super::id::WordIdentifier;
use super::morpheme::Morpheme;

pub trait Dictionary {
    fn get(&self, wid: &WordIdentifier) -> Option<&Morpheme> {
        match wid {
            WordIdentifier::Known(wid, _) => self.get_known_morpheme(wid),
            WordIdentifier::Unknown(wid, _) => self.get_unknown_morpheme(wid),
        }
    }
    fn get_known_morpheme(&self, wid: &usize) -> Option<&Morpheme>;
    fn get_unknown_morpheme(&self, wid: &usize) -> Option<&Morpheme>;
    fn resolve_homonyms(&self, wid: &usize) -> Option<&Vec<usize>>;
    fn take_unknown_chars_seq(&self, def: &CharDefinition, text: &str, start: &usize) -> String;
    fn classify_char(&self, c: &char) -> &CharDefinition;
    fn get_unknown_morphemes_by_class(&self, class: &str) -> Vec<(usize, &Morpheme)>;
    fn transition_cost(&self, left: &usize, right: &usize) -> Option<&i16>;
    fn occurrence_cost(&self, wid: &usize) -> Option<i16>;
}