Livvi NLP Grammar

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

View the project on GitHub giellalt/lang-olo

The Livvi (Olonets) Karelian morphophonological/twolc rules file

This file documents the phonology.twolc file

Alphatbet, sets

a b c č d e f g h i j k l m n o p r s š ş t u v w y z ž ƶ ü ä ö A B C Č D E F G H I J K L M N O P R S Š Ş T U V W Y Z Ž Ƶ Ü Ä Ö y Y

%{aä%}:a %{aä%}:ä

%{aoeInf%}:a Back vowel infinitive marker %{äöeInf%}:ä Front vowel infinitive marker

%{ui%}:i in imperative before %{aä%}:

%{oö%}:o %{oö%}:ö

%{oöØ%}:0 Used in present participle

%{uy%}:y

%{ijPRC%}:j participle

this appears in the illative V1:a V1:e V1:i V1:o V1:u V1:y V1:ä V1:ö

These appear with the inessive and adessive V2:a V2:e V2:i V2:o V2:u V2:y V2:ä V2:ö

These reduplicate the preceding vowel if it in turn is preceded by a consonant V3:a V3:e V3:i V3:o V3:u V3:y V3:ä V3:ö V3:0

%^DEVOICE:0
%^VOICE:0 pestä : pezen

%^SyllBound:0

%^KS2S:0

no change The example here is for something that should not be done We have two infinite sets, Olonets-Karelian and incoming loanwords. The original idea was to make a rule changing all instances of adjacent double aa to ua. For this reason a special trigger was to be inserted into the lexc stem of a word to prevent such a rule from occurring. Since the infinite Olonets-Karelian set is more predictable and perhaps smaller than the incoming loanword set, it is better to literally spell out adjacent vowels that are constant. 2019-09-02 JMR %^NONE:0 This will break vowel change, e.g. sa%^NONEamelaine

%^Pen:0 pagisou paistah in combination with WGStem to trigger

%^D2Z:0 ! The ti => zi

%^E2O:0 the e => o, e => ö

%^Ä2I:0 ä => i %^A2UÄ2I:0 a => u, ä => i

%^ILoss:0 the i => 0 reboi reboloi %^V2U:0 v => y kävvä käydy

_%^RVow:0 _ _%^RmVow:0 _ vowel removal, e.g. with superlative

Triggers dictating right context phenomena

Sets

Right context for gradation

Rules

Rule: %{aä%}:a kuvitella+V+Inf: imagine/kuvitella

Rule: %{aä%}:ä ezitellä+V+Inf: present/esitellä

Rule: %{aäoeö%}:a

Rule: %{aäoeö%}:ä heittiä+V+Inf: throw/heittää

Rule: %{aäoeö%}:o

Rule: %{aäoeö%}:e

Rule: %{aäoeö%}:ö

Rule: {aäoeöuiy%}:a

Rule: {aäoeöuiy%}:ä

Rule: {aäoeöuiy%}:o

Rule: {aäoeöuiy%}:e

Rule: {aäoeöuiy%}:ö

Rule: {aäoeöuiy%}:u

Rule: {aäoeöuiy%}:i

Rule: {aäoeöuiy%}:y

Rule: e:0

Rule: %{ui%}:u

* %{front%}:0  ! imperative forms
* *kanda%{back%}%>kk%{ui%}%{aä%}mm%{oö%}*
* *kanda0%>kkuammo*

Rule: %{ui%}:i

* %{front%}:0  ! imperative forms
* *lʼykkä%{front%}%^WGStem%>kk%{ui%}%{aä%}mm%{oö%}*
* *lʼyk0ä00%>kkiämmö*

Rule: %{ui%}:i Rule: %{ui%}:i Rule: %{ui%}:i

Rule: %{aäuyiØ%}:a

Rule: %{aäuyiØ%}:u

Rule: %{aäuyiØ%}:ä

Rule: %{aäuyiØ%}:y

Rule: %{aäuyiØ%}:i

Rule: %{aäuyiØ%}:0

a:u before subsequent a Diphthong a+a => ua ostua+V+Inf: buy/ostaa

ä:i before subsequent A2 Diphthong ä+ä => iä kehittiä+V+Inf: develop/kehittää

o:u before subsequent o Diphthong o+o => uo erota:eruou

ö:y before subsequent ö Diphthong ö+ö, ö+%{oö%}:ö => yö

e:i before subsequent :e Diphthong o+o => uo erota:eruou


* valge%>e%^WGStem%>t examples:*

* valgi%>e00t examples:*

* hävi%>%{aäPar%}%>n examples:*

* hävi%>e0n examples:*

* tiedo%^WGStem%>n examples:*

* tiijo0%>n examples:*

* *väge%{front%}%^WGStem>n*
* *vä0i00%>n*

* luge>%{ijPRC%} examples:*

* lugi%>j examples:*

e:o Vowel harmony suffixes Back


* luge%^E2O%>u examples:*

* lugo%>u examples:*

e:ö Vowel harmony

Rule: ä:y word final

Rule: ä:ö word final

Rule: a:0 in suaja:sai

*  a _ (%{back%}:)  %^RmVow:  ;  Vowel shortening before subsequent "i"

* koira%^RmVow%>i%>en examples:*

* koir00%>i%>en examples:*

* koira0%>j%>en examples:*

* vahna%^RmVow%>in examples:*

* vahn00%>in examples:*
* *otta%{back%}%^WGStem%^RmVow%>in*
* *ot00000%>in*

iToj between vowels

Rule: i:j

%{ijPRC%}:i

*  a _ (%{back%}:)  %^RmVow:  ;  +ActPrsPrc

Rule: a:o in the plural and preterite

a:e pidiä

ä:e piettih and in comparatives pidiä

Rule: ä:0 pidiä:pidi

Rule: i:0 reboi:reboloi

%{oö%}:o Vowel harmony suffixes Back %{oö%}:ö Vowel harmony suffixes Front

%{oöØ%}:0 Vowel harmony suffixes Back

%{oöØ%}:o Vowel harmony suffixes Back

%{oöØ%}:ö Vowel harmony suffixes Front

%{uy%}:u Vowel harmony suffixes Back

%{uy%}:y Vowel harmony suffixes Front

Consonant change

Rule: g:j

* *poiga%^WGStem%>n*
* *poija0%>n*

Rule: g:v

g:l

g:r


* särge%^WGStem%>n examples:*

* särre0%>n examples:*

* kergi%^WGStem%>t%{aäPar%} examples:*

* kerri0%>tä examples:*

d:v

d:v <=> [ ö y: | o u: ] _ [ ä: | a ] (HarmDummy:) %^WGStem:0 ; 
          u a           _   o       (%{back%}:) %^WGStem:0 ; 
          a             _   u       (%{back%}:) %^WGStem:0 ; 
        [ u o: | u: ]   _  [ (%{back%}:) e | a: ]  (%{back%}:) ((%^RmVow:) %> i )    %^WGStem:0 ;  
        [ ä y: ]   _  [(%{front%}:) e | y ]  (%{front%}:) ((%^RmVow:) %> i )    %^WGStem:0 ;  
* *täydy%{front%}%^WGStem*
* *tävvy00*

Rule: v:y d:j

Rule: y:v

Rule: u:v juodu+N+Pl+Ade

o:v Lengthening with Ut:vv weakening

d:z

d:t in partitive

Rule: s:z

* s:z <=> _ (HarmDummy:) %^VOICE:0 ;  pestä: pezen

k:g pestä: peskäh

rd:rr weakening

ld:ll weakening

nd:nn weakening mennä+Ind+Prs+ScPl3: mennäh

rn:rr in prtprc

ln:ll in prtprc

sn:ss in prtprc

Rule: %{dtlnr%}:d

Rule: %{dtlnr%}:t

Rule: %{dtlnr%}:l tulla+Ind+Prs+ScPl3: tullah

Rule: %{dtlnr%}:n

Rule: %{dtlnr%}:r

CONSONANT LOSS

čToZero

* s:z <=> _ (HarmDummy:) %^VOICE:0 ;  suvaija:suvaičen

kToZero aika: ajan

* *lʼykkä%{front%}%^WGStem%>t%{AÄ%}*
* *lʼy0kä00%>tä*
* *abuniekka%{back%}%^A2O%>i%>l*
* *abunie0ko00%>i%>l*
* *liikkeh%{front%}%^WGStem*
* *lii0keh00*

gToZero aika: ajan

ezitellä+V+Inf: present/esitellä

b:v

Rule: b:m

b:m <=> m _ [ a | i ] (HarmDummy:) %^WGStem:0 ;

p:0 in lapsi

Consonant loss

d:0 pidiä:piän

s:0


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