Moksha NLP Grammar

Finite state and Constraint Grammar based analysers, proofing tools and other resources

View the project on GitHub giellalt/lang-mdf

Page Content

  • src-fst-morphology-affixes-propernouns.lexc.md
  • src-fst-morphology-affixes-symbols.lexc.md
  • Symbol affixes
  • src-fst-morphology-affixes-verbs.lexc.md
  • Verb inflection
  • src-fst-morphology-phonology.twolc.md
  • The Moksha morphophonological/twolc rules file
  • src-fst-morphology-root.lexc.md
  • Morphology
  • Dialect tags
  • Der begin
  • DECLARING DEVERBAL DERIVATIONS OF VERBS
  • Tags for originating language
  • FLAGS USED WITH MODIFIERS WITHOUT NOUNS
  • FLAGS USED WITH COLLECTIVE NOUNS
  • src-fst-morphology-stems-adjectives-russian-like_newwords.lexc.md
  • src-fst-morphology-stems-adjectives_newwords.lexc.md
  • src-fst-morphology-stems-exceptions.lexc.md
  • src-fst-morphology-stems-nouns_newwords.lexc.md
  • src-fst-morphology-stems-propernouns_newwords.lexc.md
  • src-fst-morphology-stems-verbs_newwords.lexc.md
  • src-fst-phonetics-txt2ipa.xfscript.md
  • src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md
  • tools-grammarcheckers-grammarchecker.cg3.md
  • DELIMITERS
  • TAGS AND SETS
  • Moksha language model documentation

    All doc-comment documentation in one large file.


    src-cg3-disambiguator.cg3.md

    DELIMITERS

    TAGS AND SETS

    Sets containing lists of tags

    Upper and lower case

    Subjective adverbs, which are often set off by commas

    This will be expanded for homonymy at first

    this is an adjective in nominative singular, adnominal attribute this is an adjective in nominative singular,

    this is a list of adverbs that modify adjectives

    these have homonyms

    used to identify motion verbs

    вал+N+SP+Abl vs валда+A+Sg+Nom

    names that end in у/ю

    in SP Gen Indef the next word can be кяль

    N ABBR not ABBR

    2023_04_09 important part of regular inflection

    IS there a @CVP


    This (part of) documentation was generated from src/cg3/disambiguator.cg3


    src-cg3-functions.cg3.md

    negation marker for fits between negation and conneg

    MOOD-V

    макссь чарькодемс, Deal with DATAUX separately; they also take MS


    This (part of) documentation was generated from src/cg3/functions.cg3


    src-fst-morphology-affixes-adjectives.lexc.md

    Adjective inflection

    The MOKSHA language adjectives compare.

    ADJECTIVES

    -нь

    ош:ош

    кяль:кяль

    келу:келу

    келу:келу


    This (part of) documentation was generated from src/fst/morphology/affixes/adjectives.lexc


    src-fst-morphology-affixes-adpositions.lexc.md

    Pronoun inflection

    Adpostions in the Moksha language might also inflect in the same cases as regular nouns, but …

    ADPOSITIONS

    Checking 2018-11-10

    Checking 2018-11-10


    This (part of) documentation was generated from src/fst/morphology/affixes/adpositions.lexc


    src-fst-morphology-affixes-adverbs.lexc.md

    Adverbs

    The MOKSHA language adverbs

    ADVERBS

    LEXICON ADV_DEG пяк

    LEXICON ADV_ LEXICON ADV_MOD LEXICON ADV_MANNER

    мзярксть

    LEXICON ADV_TEMP

    ашель:ашель


    This (part of) documentation was generated from src/fst/morphology/affixes/adverbs.lexc


    src-fst-morphology-affixes-clitics.lexc.md

    Clitics

    The MOKSHA language clitics

    CLITICS

    This is for vowel final Nominatives

    This is for PxPl1 and PxPl2

    This is for Consonant-final words

    This is for Consonant-final words


    This (part of) documentation was generated from src/fst/morphology/affixes/clitics.lexc


    src-fst-morphology-affixes-conjunctors.lexc.md

    Conjunctions

    The MOKSHA language conjunctions

    CONJUNCTIONS


    This (part of) documentation was generated from src/fst/morphology/affixes/conjunctors.lexc


    src-fst-morphology-affixes-interjections.lexc.md

    Interjections

    The MOKSHA language interjections

    INTERJECTIONS

    Contrastive

    LEXICON VOCATIVE_ should these really be interjections? 2018-11-10


    This (part of) documentation was generated from src/fst/morphology/affixes/interjections.lexc


    src-fst-morphology-affixes-nouns.lexc.md

    Noun inflection

    Moksha language nouns inflect in cases.

    NOUNS

    ава:ава

    вальмя:вальмя

    вальмя:вальмя

    пакся:пакся

    пакся:пакся

    анды:анды

    анды:анды

    LEXICON N_OFTA

    LEXICON N_OFTA-PL

    LEXICON N_PANGA

    LEXICON N_PINGE Indef with vowel: Nom Sg, Gen, Dat, Cmpr, Prl, Tra

    Floating Without vowel

    LEXICON N_KECHE Indef with vowel: Nom Sg, Gen, Dat, Cmpr, Prl, Tra

    Floating

    Without vowel

    тише:тише

    тише:тише

    LEXICON N_PULA

    LEXICON N_KARIUC1KE

    LEXICON N_SEL1ME

    LEXICON N_OSH

    LEXICON N_SARAZ

    LEXICON N_PEJ

    LEXICON N_KAL

    LEXICON N_KIAL1

    LEXICON N_PINE

    LEXICON N_KELU

    NMN

    LEXICON NMN_OFTA-PL

    Indefinite Definite Sg Possessor Indices

    Indefinite Definite Pl

    Possessor Indices

    Indefinite Definite Sg Definite Sg Possessor Indices

    Indefinite Definite Pl

    Possessor Indices

    Indefinite Definite Sg

    Indefinite Definite Pl

    Indefinite Definite Sg

    Indefinite Definite Pl

    Possessor Indices

    Indefinite Definite Sg

    Indefinite Definite Pl

    Indefinite Definite Sg

    Indefinite Definite Pl

    SG-NOM-INDEF ; SG-DAT/GEN/NOM-DEF ; PXSG1-Sg ;

    Indefinite Definite Pl

    SG-NOM-INDEF ; SG-DAT/GEN/NOM-DEF ; PXSG1-Sg ;

    PL-NOM-INDEF ; PL-DAT/GEN/NOM-DEF ;

    MUTUAL NOMINAL

    Definite Sg Possessor Indices

    Definite Pl Possessor Indices

    Possessor Indices

    PXSG1-Pl ;

    Ананьина К.И. 2000 53

    сельме+N+SP+Gen+Indef


    This (part of) documentation was generated from src/fst/morphology/affixes/nouns.lexc


    src-fst-morphology-affixes-numbers.lexc.md

    Quantifier inflection

    Numerals in the MOKSHA language inflect in the same cases as regular nouns.

    NUMERALS

    NUMBERS

    омбонцт:омбонц


    This (part of) documentation was generated from src/fst/morphology/affixes/numbers.lexc


    src-fst-morphology-affixes-particles.lexc.md

    Particles

    The MOKSHA language particles …

    PARTICLES


    This (part of) documentation was generated from src/fst/morphology/affixes/particles.lexc


    src-fst-morphology-affixes-pronouns.lexc.md

    Pronoun inflection

    The Moksha language pronouns inflect in the same cases as regular nouns, but …

    PRONOUNS

    PERSONAL PRONOUNS

    DEMONSTRATIVE PRONOUNS

    INTERROGATIVE PRONOUNS

    INDEFINITE PRONOUNS

    REFLEXIVE PRONOUNS

    NON-STRESSED REFLEXIVE DATIVES


    This (part of) documentation was generated from src/fst/morphology/affixes/pronouns.lexc


    src-fst-morphology-affixes-propernouns.lexc.md

    Proper noun inflection

    The MOKSHA language proper nouns inflect in the same cases as regular nouns, but with a colon (‘:’) as separator.

    Male given name for deriving patronyms

    Вили:Вил

    Russian type Surnames Абдеев:Абдеев

    Багрий:Багр

    Аморский:Аморск

    PLACE NAMES FROM TEMPLATES

    PROPER NOUNS


    This (part of) documentation was generated from src/fst/morphology/affixes/propernouns.lexc


    src-fst-morphology-affixes-symbols.lexc.md

    Symbol affixes


    This (part of) documentation was generated from src/fst/morphology/affixes/symbols.lexc


    src-fst-morphology-affixes-verbs.lexc.md

    Verb inflection

    The Moksha language verbs inflect in persons.

    VERBS

    тумс:ту

    BOTH IV and TV

    OBJECT and SUBJECT VERBS

    пачкодемс:пачкодь

    SUBJECT ONLY VERBS

    андомс:анд

    пачкодемс:пачкодь

    андовомс:андов

    няемс:ня

    COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
    COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

    @U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-SC ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC2 ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@ VERB-ZERO-OC13 ; This is done here to leave the same ending open for COND-ALL COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
    COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

    LEXICON V0_NJAJEMS няемс:ня @U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-SC ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC2 ; This is done here to leave the same ending open for COND-ALL @R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@R.CONJ.ObjAll@@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@й VERB-ZERO-OC13 ; This is done here to leave the same ending open for COND-ALL :й IND-PRT1-SC3 ; This is a difference from ТИЕМС COND-ALL +Cond:й%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
    COND-ALL +NegCnd:й%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

    AUXILIARY VERBS

    LEXICON V-AUX-NEG-PRT1_ASHEZJ ашезь:аш

    LEXICON V-AUX-NEG-PRT1_IZJ изь:изь

    FROM MYV

    @U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@+Ind+Prs:@U.CONJ-MX.IND@@U.CONJ-TX.NONPAST@ VERB-ZERO-ALL ; This is done here to leave the same ending open for COND-ALL COND-ALL +Cond:%>%{ЕОØ%}ндяря COND-4CONJ-ALL ;
    COND-ALL +NegCnd:%>%{ЕОØ%}фтяря COND-4CONJ-ALL ;

    ашень, тят, афоль кирдемс+V+ConNeg tolerate/kestää ашень кирде

    INDICATIVE PRETERITE 1 POINTERS

    INDICATIVE PRETERITE 2 POINTERS

    CONJUNCTIVE

    CONDITIONAL and subsequent CONJUNCTIVE

    INDICATIVE TAGS

    INDICATIVE NONPAST TAGS and CONDITIONAL TAGS

    INDICATIVE PRETERITE 1 TAGS

    INDICATIVE PRETERITE 2 TAGS

    DESIDERATIVE (desiderative tag)

    CONJUNCTIVE TAGS

    redo conj 2012-11-07 begin

    cond-conj

    CONDITIONAL-CONJUNCTIVE TAGS

    IMPERATIVE

    IMPERATIVE (imperative tags)

    PRECATIVE

    end of MYV BORROWING

    NON-FINITES

    GERUNDS

    PARTICIPLES


    This (part of) documentation was generated from src/fst/morphology/affixes/verbs.lexc


    src-fst-morphology-phonology.twolc.md

    The Moksha morphophonological/twolc rules file

    This file documents the phonology.twolc file

    а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я 
    А Б В Г Д Е Ё Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я 
    

    This will represent schwa in first syllable

    2016-03-12 %^А2О:0 used with final а in пула

    %{ЬØ%}:0 after imperative Sg2 %{ЬØ%}:ь after imperative Sg2 %{ВИУ%}:в lative

    %{АЯ%}:я А2 in панемс:панян %{ИЫЙ%}:й phasing out Ы2, eg кундамс:кундай %{ИЫЙ%}:ы phasing out Ы2, eg кандомс:канды %{ИЫЙ%}:и phasing out Ы2, eg панемс:пани

    %{ЕОØ%}:е morpheme onset linking vowel from %^О1 %{ЕОØ%}:о morpheme onset linking vowel from %^О1 %{ЕОØ%}:0 morpheme onset linking vowel from %^О1 also пинге

    %{АЕØ%}:а ConNeg with ашень, тят, афоль

    %{АО%}:а пула stem %{АО%}:о пула stem %{АОØ%}:а офта stem %{АОØ%}:о офта stem %{АОØ%}:0 офта stem

    %{ЕО%}:е сельме %{ЕО%}:о

    %{ЕØ%}:е кече %{ЕØ%}:0

    %{АЕ%}:а prolative

    %{Х%}:0 This usually precedes the plural marker

    %{DIM%}:н This will be for diminutive initial consonant

    %{КТ%}:т used in imperative and connegative

    in ped realized as hard sign

    TRIGGERS

    %^Devoice:0 for devoicing изь:исть %^PXSG1:0 кядне, ярмаконе не vs %{ЕОØ%}не %^CnsSt:0 улемс:уль%^CnsSt%>%{АЕØ%}

    The Sets

    Vows = а о у ы э я ё ю и е ;                                            
    verbStemVows = а о э я ё е ;                                            
    verbStemVowStrong = а о э я ё е ;                                       
    noGlideVow = а о у ы э ;                                                
    glideVow = я ё ю и е ;                                                  
    BTV = а о у я ё ю ;                                 ! Back Trigger Vowels
    FTV = ы и е э ;                                    ! Front Trigger Vowels
    
    Cns = б в г д ж з й к л м н п р с т ф х ц ч ш щ ;                       
    CnsAndSoft = б в г д ж з й к л м н п р с т ф х ц ч ш щ ь ;                       
    NPC = б в г д ж з к л м н п р с т ф х ц ч ш щ ; ! Nonpalatal Consonants 
    CnsVoiced = б в г д ж з й л м н р ;                                     
    CnsVoicedDent = д з л н р ;                                             
    CnsVoicedNonDent = б в г ж й м ;                                        
    CnsVoiceless = к п с т ф х ц ч ш щ ;                                    
    CnsVoicelessDent = с т ц ;                                              
    CnsVoicelessNonDent = к п ф х ч ш щ ;                                   
    CnsNonDent = б в г ж к м п ф х ч ш щ ;                                  
    CnsDent = д з л н р с т ц  ;                                            
    CnsDentNoL = д з н р с т ц  ;                                           
    
    Letters = Vows Cns ь ъ ;                                                
    

    The Definitions

    The Rules

    verbStemVowStrong:0

    у:0

    тумс+V+Ind+Prs+ScSg1

    о:0

    A1:o

    %{ИЫЙ%}:j

    %{ИЫЙ%}:ы

    %{ИЫЙ%}:и

    %{ИЫЙ%}:0 араламс+V+Der/NomAg+Sg+Nom+PxSg3: protect/puolustaa

    %{ЕОØ%}:о район+N+SP+Gen+Indef:

    %{ЕОØ%}:е LEFT

    %{ЕОØ%}:е RIGHT

    %{ЕОØ%}:0 RIGHT вай+N+Sg+Nom+PxSg1 oil,butter/voi

    %{АОØ%}:о

    %{АОØ%}:а

    %{АОØ%}:0 офта+N+Sg+Nom+Def bear/ohto, karhu

    %{АО%}:о пула+N+Sg+Nom+Def: tail

    %{АО%}:а

    Vx:0 %{ЕО%}:0

    {АО}:0 before Lat калма+N+SP+Lat+Indef:

    %{ЕО%}:е

    %{ЕО%}:о

    %{ЕØ%}:е

    %{ЕØ%}:0 тяште+N+Pl+Nom+Def star/tähti

    0:j

    е:0 веле+N+SP+Lat+Indef

    е:о

    е:а

    е:я

    ≈ * Rules final е lowered to я

    %{АЕ%}:я

    %{ЕОØ%}:я

    %{ЕО%}:я

    %{ЕØ%}:я

    а:е

    а:о

    я:а

    %{АЕØ%}:а Always

    %{АЕØ%}:а Sometimes

    %{АЕØ%}:е Always
    %{АЕØ%}:е Sometimes
    мокша+N+Sg+Nom+Def: Moksha

    %{АЕØ%}:0 Always

    %{АЕØ%}:0 Sometimes

    %{АЕ%}:a
    вал+Hom1+N+Sg+Nom+Indef+Clt/Add: word/sana

    %{АЕ%}:е
    менель+N+SP+Prl+Indef sky/taivas

    %{АЯ%}:ya

    %{АЯ%}:a

    j:0 LEFT

    корхнемс+V+NomAg+Pl+Nom+Def: visit, talk/jutella

    j:0 RIGHT

    седи+N+Pl+Nom+Indef heart/sydän

    араламс+V+Der/NomAg+Sg+Nom+PxSg3: protect/puolustaa

    j:0 RIGHT

    ye:e always

    ye:e sometimes

    a:ya

    о:а
    удомс+V+Ind+ConNeg

    CONSONANT CHANGES

    ** %{Х%}:0 after vowel**
    валда+N+Pl+Nom+Def light/valo

    ** %{Х%}:х after some consonants**
    ваны+N+Pl+Nom+Def watcher/katsoja

    м:п ям
    ям+N+Pl+Nom+Indef: stew/keitto

    в:ф кев

    б:п сруб

    н:т сан
    сан+N+Pl+Nom+Indef: sinew/suoni

    d:t
    кулхцондомс+V+Imprt+ScSg2: listen

    З:С изь+V+Aux+Neg+Ind+Prt1+ScPl3: they did not

    Ж:Ш

    ж:ч панчсь

    г:к

    с:ц ломань:ломанць

    G1:0

    G1:g
    вал+Hom1+N+Sg+Nom+Indef+Foc word/sana

    G1:k
    вал+Hom1+N+SP+Ill+Indef+Foc word/sana

    %{ВИУ%}:v

    %{ВИУ%}:i учительскай+N+SP+Lat+Indef: teachers’ lounge/opettajain huone

    %{ВИУ%}:u уша+N+SP+Lat+Indef: outdoors

    G2:g

    вальмя+N+SP+Prl+Indef

    G2:k

    G4:0

    G4:k

    m:0

    imperative suffix

    К1 %{КТ%}:t left

    К1 %{КТ%}:t right

    К1 %{КТ%}:к left

    К1 %{КТ%}:к right

    **К1 %{КТ%}:0 ** кельгомс+V+ConNegII:

    %{ЬØ%}:ь

    %{ЬØ%}:0
    зепе+N+Pl+Nom+Indef: pocket/tasku

    ши+N+Pl+Nom+Indef: day/päivä

    Plural before definite plural following a consonant t:0
    Ананьина К.И. 2000: 55

    s:0

    y:0
    plural

    учемс+V+Ind+Prt1+ScSg3

    нярь+N+Sg+Gen+PxSg2: hand; arm

    изь+V+Aux+Neg+Ind+Prt1+ScPl3: they did not

    DIMINUTIVES

    %{DIM%}:н

    %{DIM%}:к

    %{ъØ%}:ъ

    Disallow

    Disallow TLoss after non-t

    Disallow KLoss after non-k

    Disallow SLoss after non-s

    Disallow овок

    Disallow Онга

    Disallow -кс: нетькскс

    Disallow -гя only after a few

    Disallow special imperative in K after vowel stems

    Disallow final е lowering to я tag elsewhere

    Disallow onset vowel after voiced cons

    Disallow Ь2ZERO

    Disallow ЬKEEP


    This (part of) documentation was generated from src/fst/morphology/phonology.twolc


    src-fst-morphology-root.lexc.md

    Morphology

    INTRODUCTION TO MORPHOLOGICAL ANALYSER OF THE Moksha LANGUAGE.

    The morphological analyses of wordforms of the Moksha language are presented in this system in terms of following symbols. (It is highly suggested to follow existing standards when adding new tags). +TYÄ Underdeveloped.

    The parts-of-speech tags are:

    The parts of speech are further split up into: Nouns:

    Interjections:

    Dialect tags

    The nominals are inflected in the following Case and Number

    The possession is marked as such:

    Particles

    Verb voice:

    Verb tenses are +Prs present and future ! nominal conjugation as well +Prt1 preterite I ! only finite verbal +Prt2 preterite II ! nominal conjugation as well

    Verb personal forms are:

    +ScSg1 subject conjugation first person singular +ScSg2 subject conjugation second person singular +ScSg3 subject conjugation third person singular +ScPl1 subject conjugation first person plural +ScPl2 subject conjugation second person plural +ScPl3 subject conjugation third person plural

    +OcSg1 objject conjugation first person singular +OcSg2 objject conjugation second person singular +OcSg3 objject conjugation third person singular +OcPl1 objject conjugation first person plural +OcPl2 objject conjugation second person plural +OcPl3 objject conjugation third person plural

    Other verb forms are +ConNeg connegative, main verb complement to Neg, vowel-stem +ConNegII connegative, main verb complement to Neg, cons-stem +Ger gerund This is used with Der/Озь and VAbl +Inf infinitive +Neg verb of negation эзь, аволь, иля +Aux auxiliary verb +Prc participle +VGen Verb Genitive, genitive form participle +VAbl Verb Ablative “озадо”

    +ABBR Abbreviation

    Special symbols are classified with:

    The verbs are syntactically split according to transitivity: +TV transitive verb +IV intransitive verb Special multiword units are analysed with: Non-dictionary words can be recognised with:

    Compounding

    Question and Focus particles:

    Tags distinguishing different versions of the same lemma (before POS)

    Semantics are classified with

    Derivations are classified under the morphophonetic form of the suffix, the source and target part-of-speech.

    Der begin

    DECLARING DEVERBAL DERIVATIONS OF VERBS

    +Der/Dimin diminutive markers in ня and кя seem to be subject of complementary distribution

    Tags for originating language

    The following tags are used to guide conversion to IPA: loan words and foreign names are usually pronounced (approximately) as in the originating (majority) language. Instead of trying to identify the correct pronunciation based on phonotactics (orthotactics actually), we tag all words that can’t be correctly transcribed using the SME transcriber with source language codes. Once tagged, it is possible to split the lexical transducer in smaller ones according to langu- age, and apply different IPA conversion to each of them. The principle of tagging is that we only tag to the extent needed, and following a priority:

    1. any untagged word is pronounced with SME orthographic conventions
    2. NNO and NOB have identical pronunciation, NNO is only used if different in spelling from NOB
    3. SWE has mostly the same pronunciation as NOB, and is only used if different in spelling from NOB
    4. Occasionally even SME (the default) may be tagged, to block other languages from being specified, mainly during semi-automatic language tagging sessions All in all, we want to get as much correctly transcribed to IPA with as little work as possible. On the other hand, if more words are tagged than strictly needed, this should pose no problem as long as the IPA conversion is correct - at least some words will get the same pronunciation whether read as SME or NOB/NNO/SWE.

    Morphophonology To represent phonologic variations in word forms we use the following symbols in the lexicon files: %{ИЫЙ%} phasing out Ы2, eg кундамс:кундай %{ЕОØ%} morphemes requiring a preceding vowel; also пинге %{ЕО%} сельме %{ЕØ%} кече %{АЯ%} А2 in кундамс:кундан %{ВИУ%} lative %{Х%} This usually precedes the plural marker %{КТ%} used in imperative and connegative %{ЬØ%} after imperative Sg2 %{DIM%} This will be for diminutive initial consonant

    2016-03-12 %^А2О used with final а in пула

    А2 А2:а А2:я %{вгк%} %{вгк%}:г %{вгк%}:в %{вгк%}:к %{гк%} clitic in %{гк%} %{АЕ%} К1 К1:к К1:т %{АЕØ%} ConNeg with ашень, тят, афоль %{АО%} пула stem %{АОØ%} офта stem %{АЕ%} prolative Х1 Х1:х Х1:0 Ь2 Ь2:ь Ь2:0 %{ъØ%} This will represent schwa in first syllable

    in ped realized as hard sign

    And following triggers to control variation

    Flag diacritics

    We have manually optimised the structure of our lexicon using following flag diacritics to restrict morhpological combinatorics - only allow compounds with verbs if the verb is further derived into a noun again: | @P.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @D.NeedNoun.ON@ | (Dis)allow compounds with verbs unless nominalised | @C.NeedNoun@ | (Dis)allow compounds with verbs unless nominalised

    For languages that allow compounding, the following flag diacritics are needed to control position-based compounding restrictions for nominals. Their use is handled automatically if combined with +CmpN/xxx tags. If not used, they will do no harm. | @P.CmpFrst.FALSE@ | Require that words tagged as such only appear first | @D.CmpPref.TRUE@ | Block such words from entering ENDLEX | @P.CmpPref.FALSE@ | Block these words from making further compounds | @D.CmpLast.TRUE@ | Block such words from entering R | @D.CmpNone.TRUE@ | Combines with the next tag to prohibit compounding | @U.CmpNone.FALSE@ | Combines with the prev tag to prohibit compounding | @P.CmpOnly.TRUE@ | Sets a flag to indicate that the word has passed R | @D.CmpOnly.FALSE@ | Disallow words coming directly from root.

    Use the following flag diacritics to control downcasing of derived proper nouns (e.g. Finnish Pariisi -> pariisilainen). See e.g. North Sámi for how to use these flags. There exists a ready-made regex that will do the actual down-casing given the proper use of these flags. | @U.Cap.Obl@ | Allowing downcasing of derived names: deatnulasj. | @U.Cap.Opt@ | Allowing downcasing of derived names: deatnulasj.

    @D.CONJ-MX.IND@ 2012-11-04 should this be D or N

    FLAGS USED WITH MODIFIERS WITHOUT NOUNS

    FLAGS USED WITH COLLECTIVE NOUNS

    number

    The word forms in Moksha language start from the lexeme roots of basic word classes, or optionally from prefixes: These have been slightly modified from kpv and myv


    This (part of) documentation was generated from src/fst/morphology/root.lexc


    src-fst-morphology-stems-adjectives-russian-like_newwords.lexc.md

    This is where new words are added as lexc entries before they are added to the xml source files. од:од A_KAL “(eng) /(fin)/(rus) “ ;

    ADD ADJECTIVES BELOW

    Adding more 2016-05-22

    Adding more 2020-03-08


    This (part of) documentation was generated from src/fst/morphology/stems/adjectives-russian-like_newwords.lexc


    src-fst-morphology-stems-adjectives_newwords.lexc.md

    This is where new words are added as lexc entries before they are added to the xml source files. духовнай:духовнай A_PEJ “(eng) /(fin) /(rus) “ ;

    ADD NOUNS BELOW


    This (part of) documentation was generated from src/fst/morphology/stems/adjectives_newwords.lexc


    src-fst-morphology-stems-exceptions.lexc.md

    Exceptions are quite strange word-forms. the ones that do not fit anywhere else. This file contains all enumerated word forms that cannot reasonably be created from lexical data by regular inflection. Usually there should be next to none exceptions, it’s always better to have a paradigm that covers only one or few words than an exception since these will not work nicely with e.g. compounding scheme or possibly many end applications.

    MISSING ADV

    MISSING CS

    MISSING Pcle

    IRREGULAR diminutives

    MISSING V

    VOCATIVES

    TOPONYMY

    PROPER NAMES

    Wife NAMES

    QUESTIONABLE FORMS

    FOREIGN WORDS A

    PCLE

    NOUNS

    PROP

    MISSING VALENCY

    more words for Mormula

    RUSSIAN VERBS


    This (part of) documentation was generated from src/fst/morphology/stems/exceptions.lexc


    src-fst-morphology-stems-nouns_newwords.lexc.md

    This is where new words are added as lexc entries before they are added to the xml source files. автор:автор N_KAL “(eng) /(fin) /(rus) “ ;

    ADD NOUNS BELOW


    This (part of) documentation was generated from src/fst/morphology/stems/nouns_newwords.lexc


    src-fst-morphology-stems-propernouns_newwords.lexc.md

    This is where new words are added as lexc entries before they are added to the xml source files. автор:автор PROP_KAL “(eng) /(fin) /(rus) “ ;

    ADD PROPER NOUNS BELOW

    MOKSHA PROPER NAMES


    This (part of) documentation was generated from src/fst/morphology/stems/propernouns_newwords.lexc


    src-fst-morphology-stems-verbs_newwords.lexc.md

    This is where new words are added as lexc entries before they are added to the xml source files. автор:автор N_KAL “(eng) /(fin) /(rus) “ ;

    ADD VERBS BELOW


    This (part of) documentation was generated from src/fst/morphology/stems/verbs_newwords.lexc


    src-fst-phonetics-txt2ipa.xfscript.md

    retroflex plosive, voiceless t ʈ 0288, 648 ( = ASCII 096) retroflex plosive, voiced d ɖ 0256, 598 labiodental nasal F ɱ 0271, 625 retroflex nasal n ɳ 0273, 627 palatal nasal J ɲ 0272, 626 velar nasal N ŋ 014B, 331 uvular nasal N\ ɴ 0274, 628

    bilabial trill B\ ʙ 0299, 665 uvular trill R\ ʀ 0280, 640 alveolar tap 4 ɾ 027E, 638 retroflex flap r ɽ 027D, 637 bilabial fricative, voiceless p\ ɸ 0278, 632 bilabial fricative, voiced B β 03B2, 946 dental fricative, voiceless T θ 03B8, 952 dental fricative, voiced D ð 00F0, 240 postalveolar fricative, voiceless S ʃ 0283, 643 postalveolar fricative, voiced Z ʒ 0292, 658 retroflex fricative, voiceless s ʂ 0282, 642 retroflex fricative, voiced z` ʐ 0290, 656 palatal fricative, voiceless C ç 00E7, 231 palatal fricative, voiced j\ ʝ 029D, 669 velar fricative, voiced G ɣ 0263, 611 uvular fricative, voiceless X χ 03C7, 967 uvular fricative, voiced R ʁ 0281, 641 pharyngeal fricative, voiceless X\ ħ 0127, 295 pharyngeal fricative, voiced ?\ ʕ 0295, 661 glottal fricative, voiced h\ ɦ 0266, 614

    alveolar lateral fricative, vl. K alveolar lateral fricative, vd. K\

    labiodental approximant P (or v) alveolar approximant r\ retroflex approximant r` velar approximant M\

    retroflex lateral approximant l` palatal lateral approximant L velar lateral approximant L
    Clicks

    bilabial O\ (O = capital letter) dental |
    (post)alveolar !\ palatoalveolar =\ alveolar lateral ||
    Ejectives, implosives

    ejective > e.g. ejective p p> implosive < e.g. implosive b b< Vowels

    close back unrounded M close central unrounded 1 close central rounded } lax i I lax y Y lax u U

    close-mid front rounded 2 close-mid central unrounded @\ close-mid central rounded 8 close-mid back unrounded 7

    schwa ə @

    open-mid front unrounded E open-mid front rounded 9 open-mid central unrounded 3 open-mid central rounded 3\ open-mid back unrounded V open-mid back rounded O

    ash (ae digraph) { open schwa (turned a) 6

    open front rounded & open back unrounded A open back rounded Q Other symbols

    voiceless labial-velar fricative W voiced labial-palatal approx. H voiceless epiglottal fricative H\ voiced epiglottal fricative <\ epiglottal plosive >\

    alveolo-palatal fricative, vl. s\ alveolo-palatal fricative, voiced z\ alveolar lateral flap l\ simultaneous S and x x\ tie bar _ Suprasegmentals

    primary stress “ secondary stress % long : half-long :\ extra-short _X linking mark -
    Tones and word accents

    level extra high _T level high _H level mid _M level low _L level extra low _B downstep ! upstep ^ (caret, circumflex)

    contour, rising contour, falling _F contour, high rising _H_T contour, low rising _B_L

    contour, rising-falling _R_F (NB Instead of being written as diacritics with _, all prosodic marks can alternatively be placed in a separate tier, set off by < >, as recommended for the next two symbols.) global rise global fall Diacritics

    voiceless 0 (0 = figure), e.g. n_0 voiced _v aspirated _h more rounded _O (O = letter) less rounded _c advanced _+ retracted _- centralized _” syllabic = (or _=) e.g. n= (or n=) non-syllabic _^ rhoticity `

    breathy voiced _t creaky voiced _k linguolabial _N labialized _w palatalized ‘ (or _j) e.g. t’ (or t_j) velarized _G pharyngealized _?\

    dental d apical _a laminal _m nasalized ~ (or _~) e.g. A~ (or A~) nasal release _n lateral release _l no audible release _}

    velarized or pharyngealized _e velarized l, alternatively 5 raised _r lowered _o advanced tongue root _A retracted tongue root _q


    This (part of) documentation was generated from src/fst/phonetics/txt2ipa.xfscript


    src-fst-transcriptions-transcriptor-abbrevs2text.lexc.md

    We describe here how abbreviations are in Moksha are read out, e.g. for text-to-speech systems.

    For example:


    This (part of) documentation was generated from src/fst/transcriptions/transcriptor-abbrevs2text.lexc


    tools-grammarcheckers-grammarchecker.cg3.md

    [ L A N G U A G E ] G R A M M A R C H E C K E R

    DELIMITERS

    TAGS AND SETS

    Tags

    This section lists all the tags inherited from the fst, and used as tags in the syntactic analysis. The next section, Sets, contains sets defined on the basis of the tags listed here, those set names are not visible in the output.

    Beginning and end of sentence

    BOS EOS

    Parts of speech tags

    N A Adv V Pron CS CC CC-CS Po Pr Pcle Num Interj ABBR ACR CLB LEFT RIGHT WEB PPUNCT PUNCT

    COMMA ¶

    Tags for POS sub-categories

    Pers Dem Interr Indef Recipr Refl Rel Coll NomAg Prop Allegro Arab Romertall

    Tags for morphosyntactic properties

    Nom Acc Gen Ill Loc Com Ess Ess Sg Du Pl Cmp/SplitR Cmp/SgNom Cmp/SgGen Cmp/SgGen PxSg1 PxSg2 PxSg3 PxDu1 PxDu2 PxDu3 PxPl1 PxPl2 PxPl3 Px

    Comp Superl Attr Ord Qst IV TV Prt Prs Ind Pot Cond Imprt ImprtII Sg1 Sg2 Sg3 Du1 Du2 Du3 Pl1 Pl2 Pl3 Inf ConNeg Neg PrfPrc VGen PrsPrc Ger Sup Actio VAbess

    Err/Orth

    Semantic tags

    Sem/Act Sem/Ani Sem/Atr Sem/Body Sem/Clth Sem/Domain Sem/Feat-phys Sem/Fem Sem/Group Sem/Lang Sem/Mal Sem/Measr Sem/Money Sem/Obj Sem/Obj-el Sem/Org Sem/Perc-emo Sem/Plc Sem/Sign Sem/State-sick Sem/Sur Sem/Time Sem/Txt

    HUMAN

    PROP-ATTR PROP-SUR

    TIME-N-SET

    Syntactic tags

    @+FAUXV @+FMAINV @-FAUXV @-FMAINV @-FSUBJ> @-F<OBJ @-FOBJ> @-FSPRED<OBJ @-F<ADVL @-FADVL> @-F<SPRED @-F<OPRED @-FSPRED> @-FOPRED> @>ADVL @ADVL< @<ADVL @ADVL> @ADVL @HAB> @<HAB @>N @Interj @N< @>A @P< @>P @HNOUN @INTERJ @>Num @Pron< @>Pron @Num< @OBJ @<OBJ @OBJ> @OPRED @<OPRED @OPRED> @PCLE @COMP-CS< @SPRED @<SPRED @SPRED> @SUBJ @<SUBJ @SUBJ> SUBJ SPRED OPRED @PPRED @APP @APP-N< @APP-Pron< @APP>Pron @APP-Num< @APP-ADVL< @VOC @CVP @CNP OBJ

    -OTHERS SYN-V @X ## Sets containing sets of lists and tags This part of the file lists a large number of sets based partly upon the tags defined above, and partly upon lexemes drawn from the lexicon. See the sourcefile itself to inspect the sets, what follows here is an overview of the set types. ### Sets for Single-word sets INITIAL ### Sets for word or not WORD NOT-COMMA ### Case sets ADLVCASE CASE-AGREEMENT CASE NOT-NOM NOT-GEN NOT-ACC ### Verb sets NOT-V ### Sets for finiteness and mood REAL-NEG MOOD-V NOT-PRFPRC ### Sets for person SG1-V SG2-V SG3-V DU1-V DU2-V DU3-V PL1-V PL2-V PL3-V ### Pronoun sets ### Adjectival sets and their complements ### Adverbial sets and their complements ### Sets of elements with common syntactic behaviour ### NP sets defined according to their morphosyntactic features ### The PRE-NP-HEAD family of sets These sets model noun phrases (NPs). The idea is to first define whatever can occur in front of the head of the NP, and thereafter negate that with the expression **WORD - premodifiers**. ### Border sets and their complements ### Grammarchecker sets * * * This (part of) documentation was generated from [tools/grammarcheckers/grammarchecker.cg3](https://github.com/giellalt/lang-mdf/blob/main/tools/grammarcheckers/grammarchecker.cg3) --- # tools-tokenisers-tokeniser-disamb-gt-desc.pmscript.md # Tokeniser for mdf Usage: ``` $ make $ echo "ja, ja" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa boasttu olmmoš, man mielde lahtuid." | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "márffibiillagáffe" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://github.com/hfst/hfst/wiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1. unknown word-like forms, and 2. unmatched strings We want to give 1) a match, but let 2) be treated specially by `hfst-tokenise -a` Unknowns are made of: * lower-case ASCII * upper-case ASCII * select extended latin symbols * mdf specific characters ASCII digits * select symbols * Combining diacritics as individual symbols, * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" ## Unknown handling Unknowns are tagged ?? and treated specially with `hfst-tokenise` hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Finally we mark as a token any sequence making up a: * known word in context * unknown (OOV) token in context * sequence of word and punctuation * URL in context * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-disamb-gt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-disamb-gt-desc.pmscript) --- # tools-tokenisers-tokeniser-gramcheck-gt-desc.pmscript.md # Grammar checker tokenisation for mdf Requires a recent version of HFST (3.10.0 / git revision>=3aecdbc) Then just: ``` $ make $ echo "ja, ja" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` More usage examples: ``` $ echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa boasttu olmmoš, man mielde lahtuid." | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst $ echo "márffibiillagáffe" | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://github.com/hfst/hfst/wiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1) unknown word-like forms, and 2) unmatched strings We want to give 1) a match, but let 2) be treated specially by hfst-tokenise -a * select extended latin symbols * select symbols * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" TODO: Could use something like this, but built-in's don't include šžđčŋ: Simply give an empty reading when something is unknown: hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Finally we mark as a token any sequence making up a: * known word in context * unknown (OOV) token in context * sequence of word and punctuation * URL in context * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-gramcheck-gt-desc.pmscript) --- # tools-tokenisers-tokeniser-tts-cggt-desc.pmscript.md # TTS tokenisation for smj Requires a recent version of HFST (3.10.0 / git revision>=3aecdbc) Then just: ```sh make echo "ja, ja" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` More usage examples: ```sh echo "Juos gorreválggain lea (dárbbašlaš) deavdit gáibádusa \ boasttu olmmoš, man mielde lahtuid." \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst echo "(gáfe) 'ja' ja 3. ja? ц jaja ukjend \"ukjend\"" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst echo "márffibiillagáffe" \ | hfst-tokenise --giella-cg tokeniser-disamb-gt-desc.pmhfst ``` Pmatch documentation: <https://kitwiki.csc.fi/twiki/bin/view/KitWiki/HfstPmatch> Characters which have analyses in the lexicon, but can appear without spaces before/after, that is, with no context conditions, and adjacent to words: * Punct contains ASCII punctuation marks * The symbol after m-dash is soft-hyphen `U+00AD` * The symbol following {•} is byte-order-mark / zero-width no-break space `U+FEFF`. Whitespace contains ASCII white space and the List contains some unicode white space characters * En Quad U+2000 to Zero-Width Joiner U+200d' * Narrow No-Break Space U+202F * Medium Mathematical Space U+205F * Word joiner U+2060 Apart from what's in our morphology, there are 1) unknown word-like forms, and 2) unmatched strings We want to give 1) a match, but let 2) be treated specially by hfst-tokenise -a * select extended latin symbols * select symbols * various symbols from Private area (probably Microsoft), so far: * U+F0B7 for "x in box" TODO: Could use something like this, but built-in's don't include šžđčŋ: Simply give an empty reading when something is unknown: hfst-tokenise --giella-cg will treat such empty analyses as unknowns, and remove empty analyses from other readings. Empty readings are also legal in CG, they get a default baseform equal to the wordform, but no tag to check, so it's safer to let hfst-tokenise handle them. Needs hfst-tokenise to output things differently depending on the tag they get * * * This (part of) documentation was generated from [tools/tokenisers/tokeniser-tts-cggt-desc.pmscript](https://github.com/giellalt/lang-mdf/blob/main/tools/tokenisers/tokeniser-tts-cggt-desc.pmscript)