Starting a new language with lttoolbox
This page is going to describe how to start a new language with lttoolbox. As lttoolbox is not really suited to agglutinative languages, or languages with complex and regular morphophonology (see starting a new language with HFST), we're going to work on one with simpler and less regular morphology.
A morphological transducer in lttoolbox has typically one file, a
.dix file. This defines both how morphemes in the language are joined together, morphotactics, and how changes happen when these morphemes are joined together, morphographemics (or morphophonology). For example,
- Morphotactics: wolf<n><pl> → wolf + s
- Morphographemics: wolf + s → wolves
These two phenomena are treated in the same file.
The language we will be modelling is Upper Sorbian, a Slavic language spoken in Germany. There is a limited grammar available in English here and that is what we will be basing our analysis on. The part of speech we're going to look at for this small tutorial is nouns. Nouns in Upper Sorbian have seven cases (nominative, genitive, dative, accusative, locative, instrumental, vocative), three numbers (singular, dual, plural) and three genders (masculine, feminine, neuter). Like other Slavic languages, the category of animacy is distinguished in the masculine.
- Masculine animate
- Masculine inanimate
Analysis and generation