Versions in this module Expand all Collapse all v1 v1.0.0 Mar 6, 2024 Changes in this version + const Alphabet + const AverageStemmerCount + const BackVowels + const Consonants + const FollowingRoundedVowels + const FrontVowels + const MinSyllableCount + const RoundedVowels + const UnroundedVowels + const Vowels + var DefaultAverageStemSizeExceptionsFile []byte + var DefaultLastConsonantExceptionsFile []byte + var DefaultProtectedWordsFile []byte + var DefaultVowelHarmonyExceptionsFile []byte + var DerivationalStateA = NewDerivationalState(true, false, DerivationalSuffixValues) + var DerivationalStateB = NewDerivationalState(false, true, nil) + var DerivationalSuffix1 = NewSuffix("-lU", "lı|li|lu|lü", "", true) + var DerivationalSuffixValues = []Suffix + var FFValues = map[string]NounState + var FTValues = map[string]NounState + var LastConsonantRules = map[string]string + var NominalVerbFFValues = map[string]NominalVerbState + var NominalVerbFTValues = map[string]NominalVerbState + var NominalVerbStateA = NewNominalVerbState(true, false, NominalVerbSuffixValues) + var NominalVerbStateB = NewNominalVerbState(false, true, []Suffix{ ... }) + var NominalVerbStateC = NewNominalVerbState(false, true, []Suffix{ ... }) + var NominalVerbStateD = NewNominalVerbState(false, false, []Suffix{ ... }) + var NominalVerbStateE = NewNominalVerbState(false, true, []Suffix{ ... }) + var NominalVerbStateF = NewNominalVerbState(false, true, nil) + var NominalVerbStateG = NewNominalVerbState(false, false, []Suffix{ ... }) + var NominalVerbStateH = NewNominalVerbState(false, false, []Suffix{ ... }) + var NominalVerbSuffix1 = NewSuffix("-(y)Um", "ım|im|um|üm", "y", true) + var NominalVerbSuffix10 = NewSuffix("-DUr", "tır|tir|tur|tür|dır|dir|dur|dür", "", true) + var NominalVerbSuffix11 = NewSuffix("-cAsInA", "casına|çasına|cesine|çesine", "", true) + var NominalVerbSuffix12 = NewSuffix("-(y)DU", "dı|di|du|dü|tı|ti|tu|tü", "y", true) + var NominalVerbSuffix13 = NewSuffix("-(y)sA", "sa|se", "y", true) + var NominalVerbSuffix14 = NewSuffix("-(y)mUş", "muş|miş|müş|mış", "y", true) + var NominalVerbSuffix15 = NewSuffix("-(y)ken", "ken", "y", true) + var NominalVerbSuffix2 = NewSuffix("-sUn", "sın|sin|sun|sün", "", true) + var NominalVerbSuffix3 = NewSuffix("-(y)Uz", "ız|iz|uz|üz", "y", true) + var NominalVerbSuffix4 = NewSuffix("-sUnUz", "sınız|siniz|sunuz|sünüz", "", true) + var NominalVerbSuffix5 = NewSuffix("-lAr", "lar|ler", "", true) + var NominalVerbSuffix6 = NewSuffix("-m", "m", "", true) + var NominalVerbSuffix7 = NewSuffix("-n", "n", "", true) + var NominalVerbSuffix8 = NewSuffix("-k", "k", "", true) + var NominalVerbSuffix9 = NewSuffix("-nUz", "nız|niz|nuz|nüz", "", true) + var NominalVerbSuffixValues = []Suffix + var NominalVerbTFValues = map[string]NominalVerbState + var NounStateA = NewNounState(true, true, NounSuffixValues) + var NounStateB = NewNounState(false, true, []Suffix{ ... }) + var NounStateC = NewNounState(false, false, []Suffix{ ... }) + var NounStateD = NewNounState(false, false, []Suffix{ ... }) + var NounStateE = NewNounState(false, true, []Suffix{ ... }) + var NounStateF = NewNounState(false, false, []Suffix{ ... }) + var NounStateG = NewNounState(false, true, []Suffix{ ... }) + var NounStateH = NewNounState(false, true, []Suffix{ ... }) + var NounStateK = NewNounState(false, true, nil) + var NounStateL = NewNounState(false, true, []Suffix{ ... }) + var NounStateM = NewNounState(false, true, []Suffix{ ... }) + var NounSuffix1 = NewSuffix("-lAr", "lar|ler", "", true) + var NounSuffix10 = NewSuffix("-(n)Un", "ın|in|un|ün", "n", true) + var NounSuffix11 = NewSuffix("-(y)A", "a|e", "y", true) + var NounSuffix12 = NewSuffix("-nA", "na|ne", "", true) + var NounSuffix13 = NewSuffix("-DA", "da|de|ta|te", "", true) + var NounSuffix14 = NewSuffix("-nDA", "nta|nte|nda|nde", "", true) + var NounSuffix15 = NewSuffix("-DAn", "dan|tan|den|ten", "", true) + var NounSuffix16 = NewSuffix("-nDAn", "ndan|ntan|nden|nten", "", true) + var NounSuffix17 = NewSuffix("-(y)lA", "la|le", "y", true) + var NounSuffix18 = NewSuffix("-ki", "ki", "", false) + var NounSuffix19 = NewSuffix("-(n)cA", "ca|ce", "n", true) + var NounSuffix2 = NewSuffix("-(U)m", "m", "ı|i|u|ü", true) + var NounSuffix3 = NewSuffix("-(U)mUz", "mız|miz|muz|müz", "ı|i|u|ü", true) + var NounSuffix4 = NewSuffix("-Un", "ın|in|un|ün", "", true) + var NounSuffix5 = NewSuffix("-(U)nUz", "nız|niz|nuz|nüz", "ı|i|u|ü", true) + var NounSuffix6 = NewSuffix("-(s)U", "ı|i|u|ü", "s", true) + var NounSuffix7 = NewSuffix("-lArI", "ları|leri", "", true) + var NounSuffix8 = NewSuffix("-(y)U", "ı|i|u|ü", "y", true) + var NounSuffix9 = NewSuffix("-nU", "nı|ni|nu|nü", "", true) + var NounSuffixValues = []Suffix + var TTValues = map[string]NounState + func Contains[T comparable](s []T, e T) bool + func CountSyllables(word string) int + func GetType(i interface{}) string + func GetVowels(word string) []rune + func HasFrontness(vowel, candidate string) bool + func HasRoundness(vowel, candidate string) bool + func HasVowelHarmony(word string) bool + func IsTurkishWord(word string) bool + func LoadWords(path string) []string + func LoadWordsFromSliceBytes(data []byte) []string + func ReplaceStringAtIndex(text string, r rune, i int) string + func ValidateOptionalLetter(word string, candidate *rune) bool + func VowelHarmony(vowel, candidate string) bool + type BaseState struct + func (s BaseState) AddTransitions(word string, transitions *Transitions, startState State) + func (s BaseState) FinalState() bool + func (s BaseState) InitialState() bool + func (s BaseState) Suffixes() []Suffix + type DerivationalState struct + func NewDerivationalState(initialState, finalState bool, suffixes []Suffix) DerivationalState + func (s DerivationalState) NextState(suffix string) State + type NominalVerbState struct + func NewNominalVerbState(initialState, finalState bool, suffixes []Suffix) NominalVerbState + func (s NominalVerbState) GetValues() map[string]NominalVerbState + func (s NominalVerbState) NextState(suffix string) State + type NounState struct + func NewNounState(initialState, finalState bool, suffixes []Suffix) NounState + func (s NounState) GetValues() map[string]NounState + func (s NounState) NextState(suffix string) State + type State interface + AddTransitions func(word string, transitions *Transitions, startState State) + FinalState func() bool + InitialState func() bool + NextState func(suffix string) State + Suffixes func() []Suffix + func GetInitialNominalVerbState() State + type Stemmer struct + AverageStemSizeExceptions []string + LastConsonantExceptions []string + ProtectedWords []string + VowelHarmonyExceptions []string + func New() Stemmer + func (s Stemmer) Stem(word string, tryCount ...int) string + type Stems []string + type Suffix struct + CheckHarmony bool + Name string + OptionalLetter string + OptionalLetterCheck bool + OptionalLetterPattern *regexp.Regexp + Pattern *regexp.Regexp + func NewSuffix(name, pattern, optionalLetter string, checkHarmony bool) Suffix + func (s Suffix) GetOptionalLetter(word string) *rune + func (s Suffix) Match(word string) bool + func (s Suffix) RemoveSuffix(word string) string + func (s Suffix) String() string + type Transition struct + Marked bool + NextState State + StartState State + Suffix Suffix + Word string + func NewTransition(startState, nextState State, word string, suffix Suffix) *Transition + func (t Transition) SimilarTransitions(transitions Transitions) *Transitions + func (t Transition) String() string + type Transitions []*Transition