pub mod application;
pub mod classifiers;
pub mod common;
pub mod expansion;
pub mod feature_distance;
pub mod features;
pub mod grep;
pub mod grep_online;
pub mod ipa_syllable;
pub mod language;
pub mod llev;
pub mod llre;
pub mod matching;
pub mod named_classes;
pub mod nfa;
pub mod online_scanner;
pub mod online_transducer;
pub mod regex;
pub mod rules;
pub mod syllable;
pub mod token_grep;
pub mod types;
pub mod verified;
#[cfg(test)]
mod properties;
pub use application::{
apply_rule_at, apply_rules_seq, apply_rules_seq_optimized, apply_rules_with_cycle_detection,
can_apply_at, find_first_match_from, has_position_dependent_rules, NormalizationResult,
MAX_EXPANSION_FACTOR,
};
pub use matching::{context_matches, pattern_matches_at, phone_eq};
pub use rules::{orthography_rules, phonetic_rules, test_rules, zompist_rules};
pub use types::{Context, ContextByte, Phone, PhoneByte, RewriteRule, RewriteRuleByte};
pub use application::{
apply_rule_at_char, apply_rules_seq_char, apply_rules_seq_optimized_char,
apply_rules_with_cycle_detection_char, can_apply_at_char, find_first_match_from_char,
has_position_dependent_rules_char, NormalizationResultChar,
};
pub use matching::{context_matches_char, pattern_matches_at_char, phone_eq_char};
pub use rules::{orthography_rules_char, phonetic_rules_char, test_rules_char, zompist_rules_char};
pub use types::{ContextChar, PhoneChar, RewriteRuleChar};
pub use verified::{
rule_to_nfa, rule_to_nfa_char, rules_to_nfa, rules_to_nfa_char, zompist_nfa, zompist_nfa_char,
};
pub use syllable::{
evaluate_syllable_condition, evaluate_syllable_condition_ipa, evaluate_syllable_expr,
evaluate_syllable_expr_ipa, is_before_doubled_consonant, is_final_syllable,
is_initial_syllable, is_open_syllable, syllable_boundaries, syllable_count,
};
pub use ipa_syllable::{
ipa_syllable_boundaries,
ipa_syllable_count,
is_final_syllable as is_final_syllable_ipa,
is_initial_syllable as is_initial_syllable_ipa,
is_ipa_consonant,
is_ipa_vowel,
is_length_marker,
is_open_syllable as is_open_syllable_ipa,
is_stress_marker,
is_syllable_boundary,
};
pub use features::{
are_similar, chars_with_any_feature, chars_with_features, expand_feature_based, get_features,
get_similar_chars, get_voicing_pair, PhoneticFeature,
};
pub use feature_distance::{
articulatory_distance, articulatory_edit_distance, feature_set_distance, is_free_substitution,
};
pub use llev::{
load_file,
load_file_with_includes,
parse_expression,
parse_str,
ContextAST,
Expression,
FileMetadata,
IncludeDirective,
LLevError,
LLevErrorKind,
LLevFile,
LLevResult,
Loader,
LoaderConfig,
Parser,
Position,
RewriteRuleAST,
RuleDefinition,
RuleMetadata,
RuleSet,
RuleSetChar,
SymbolDef,
};
#[cfg(feature = "serialization")]
pub use llev::{
from_bytes,
from_bytes_char,
load,
load_char,
save,
save_char,
to_bytes,
to_bytes_char,
};
pub use named_classes::{
all_builtin_class_names, get_chars_only, get_digraphs_only, get_named_class, is_builtin_class,
NamedClass, PhonePattern, NAMED_CLASSES,
};
pub use llre::{
compile as compile_llre,
compile_pattern,
compile_pattern_with_flags,
compile_with_options,
is_match as llre_is_match,
is_match_multiline as llre_is_match_multiline,
load_file as load_llre_file,
load_file_with_config as load_llre_file_with_config,
parse_str as parse_llre_str,
CompileOptions as LLreCompileOptions,
CompiledNFA,
Directive as LLreDirective,
FileMetadata as LLreMetadata,
ImportDirective as LLreImport,
LLreError,
LLreErrorKind,
LLreFile,
LLreFlags,
LLreResult,
Loader as LLreLoader,
LoaderConfig as LLreLoaderConfig,
Parser as LLreParser,
Position as LLrePosition,
ResolvedImport,
SymbolTable,
};
#[cfg(feature = "serialization")]
pub use llre::{
from_bytes as llre_from_bytes, load as load_compiled_llre, save as save_compiled_llre,
to_bytes as llre_to_bytes, CompiledMetadata as LLreCompiledMetadata,
};
pub use grep::{GrepError, GrepMatch, LineMatch, PhoneticGrep, WordBoundaryIterator};
pub use grep_online::{PhoneticGrepOnline, StreamingScanner};
pub use online_transducer::OnlinePhoneticTransducerChar;
pub use online_scanner::{OnlinePhoneticScannerChar, ScanMatch, ScannerStats};
pub use token_grep::{
parse_query as parse_token_query, CompiledTokenQuery, DocumentMatch, Separator,
StreamingTokenMatcher, TokenGrep, TokenMatch, TokenMatchDetail, TokenPattern, TokenQuery,
TokenSpec,
};
pub use expansion::{expand_phonetic_alternatives_char, expand_with_costs};