Turkish Finite-State Syllabifier

A C# Turkish syllabifier that projects words onto vowel/consonant patterns and emits syllables through a 20-state table-driven finite-state transducer in linear time.

I keep this repository separate from generic text utilities because its executable structure mirrors a formal model. A Turkish word is first projected onto a two-symbol alphabet: vowels become A, consonants become B. A 20-state table-driven machine then consumes that sequence from left to right and, when a transition requires it, identifies the corresponding slice of the original word to emit as a syllable.

Calling it only a DFA misses part of the behaviour. The transition also produces output, so a finite-state transducer is the more useful description. There is no dictionary lookup, regex engine or backtracking path; time grows linearly with the input length and the automaton state remains fixed-size. The scope is intentionally narrower than morphology: foreign forms and every orthographic exception are not claimed to be solved by the model.

Approximate phonetic indexing is handled elsewhere. Turkish Numeric Soundex groups candidates by a compact phonetic key instead of attempting syllable boundaries.

Formal and implementation notes: Finite-State Turkish Syllabification Algorithm Repository: GitHub Zenodo record: Zenodo DOI: DOI

QR code for this page