! verbit.twol
! Yksinkertaisia verbientaivutuksen sääntöjä twollina

! aakkoset
! sointuvokaalit
! astevaihtelu-k
! astevaihtelu-p
! astevaihtelu-t
! kvantitatiiviset astevaihtelut g,b,d
! vokaalin pidentymä, illatiivin tunnuksen kopiointi ja\
! pitkähkön vokaalin hävitys
! nasaaliassimilaatio vasemmalle
Alphabet
a b c d e f g h i j k l m n o p q r s t u v x y w z
%^a:a %^a:ä %^o:o %^o:ö %^u:u %^u:y 
%^k:k %^k:0 %^k:v %^k:j
%^p:p %^p:0 %^p:v %^p:m
%^t:t %^t:0 %^t:d %^t:r %^t:l %^t:n
%^g:g %^b:b %^d:d %^g:0 %^b:0 %^d:0
%^v:a %^v:e %^v:i %^v:o %^v:u %^v:y %^v:ä %^v:ö %^v:0
%^n:n %^n:l %^n:r %^n:s 
%^uo:uo %^uo:o %^yö:yö %^yö:ö %^ie:ie %^ie:e ;

Sets
Vok = a e i o u y ä ö;
Kons = b c d f g h j k l m n p r s t v x z;
Etuvok = ä ö y;
Takavok = a o u;
Neutvok = i e;

Definitions
AVTavu = :Kons (:Kons | #:);

Rules
! tul^nee tullee tul^nut tullut jne.
"Nasaaliassimilaatio vasemmalle l"
%^n:l <=> l _  ;

! pur^nee purree
"Nasaaliassimilaatio vasemmalle r"
%^n:r <=> r _  ;

! pääs^nee päässee
"Nasaaliassimilaatio vasemmalle s"
%^n:s <=> s _  ;

! yks. 3. persoonan tunnus morfofoneemina ^v juo^v juo vs. kuto^v kutoo
! illatiivin tunnus pitkä^vn, tieh^vn
"Vokaalin pidentymän blokkaus"
%^v:0 <=> :Vok %^v:Vok _ # ;
! | [ :Vok _ i ] ;

"Vokaalin pidentymä a"
%^v:a => a ( h ) _ ;

"Vokaalin pidentymä e"
%^v:e => e ( h ) _ ;

"Vokaalin pidentymä i"
%^v:i => i ( h ) _ ;

"Vokaalin pidentymä o"
%^v:o => o ( h ) _ ;

"Vokaalin pidentymä u"
%^v:u => u ( h ) _ ;

"Vokaalin pidentymä y"
%^v:y => y ( h ) _ ;

"Vokaalin pidentymä ä"
%^v:ä => ä ( h ) _ ;

"Vokaalin pidentymä ö"
%^v:ö => ö ( h ) _ ;

"Vokaalisointu etinen"
%^a:a | %^o:o  | %^u:u => {:a | :o | :u} ?* _ ;
!   Where Vx in (^a ^o ^u)
!   Vb in (a o u)
!   matched ;

"Vokaalisointu takainen"
%^a:ä | %^o:ö | %^u:y <=> {:ä | :ö | :y} ?* _ ;
!   Where Vx in (^a ^o ^u)
!   Vf in (ä ö y)
!   matched ;

"S estää astevaihtelun"
Ak:Ak <= s _ ;
   Where Ak in (%^k %^p %^t %^g %^b %^d) ;

! p ja t, sekä g, b ja d, häviävät vain geminaatoista
"Kvantitatiivinen astevaihtelu"
Ak:0 <=> Ak _ Vok :0* AVTavu ;
   Where Ak in (%^p %^t %^g %^b %^d)
   matched ;

! k häviää geminaatoista tai vokaalien välistä tai yleensä hoon perästä
"Astevaihtelu k kadoksi"
%^k:0 => { k | h | :Vok } _ Vok :0* AVTavu ; 

"Astevaihtelu k jiiksi"
%^k:j => { l | r | h } _ :0* Neutvok AVTavu ;

"Astevaihtelu k veeksi"
%^k:v <=> { p | k | s | l | m | n } {u | y} _ {u | y} AVTavu ;

"Astevaihtelu t deeksi"
%^t:d <=> { h | Vok } _ Vok AVTavu ;

"Astevaihtelu t älläksi"
%^t:l <=> l _ Vok AVTavu ;

"Astevaihtelu t ärräksi"
%^t:r <=> r _ Vok AVTavu ;

"Astevaihtelu t ännäksi"
%^t:n <=> n _ Vok AVTavu ;

"Astevaihtelu p veeksi"
%^p:v <=> Vok _ Vok AVTavu ;

"Astevaihtelu p ämmäksi"
%^p:m <=> m _ Vok AVTavu ;

"Lavenevan diftongin uo pelkistymä"
%^uo:o <=> _ i;

"Lavenevan diftongin yö pelkistymä"
%^yö:ö <=> _ i;

"Lavenevan diftongin ie pelkistymä"
%^ie:e <=> _ i;

! vim: set ft=twol tabstop=4 fileencoding=latin1: 

Muutamat morfofoneemiset säännöt jotka on selvästi järkevämpi toteuttaa sääntöinä kuin kirjata ylös leksikkoihin.

-- TommiPirinen - 19 Mar 2007

Topic revision: r1 - 2007-03-19 - TommiPirinen
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback