! Divvun & Giellatekno - open source grammars for Sámi and other languages ! Copyright © 2000-2010 The University of Tromsø & the Norwegian Sámi Parliament ! http://giellatekno.uit.no & http://divvun.no ! ! This program is free software; you can redistribute and/or modify ! this file under the terms of the GNU General Public License as published by ! the Free Software Foundation, either version 3 of the License, or ! (at your option) any later version. The GNU General Public License ! is found at http://www.gnu.org/licenses/gpl.html. It is ! also available in the file $GTHOME/LICENSE.txt. ! ! Other licensing options are available upon request, please contact ! giellatekno@hum.uit.no or divvun@samediggi.no ! ========================================================================== ! ! South Sámi morphophonological rule set ! ! ========================================================================== ! ! twol-sma.txt ! The file contains the rule set for the non-segmental ! South Sámi morphophonological rules ! m4 rules for selecting parts of the file for certain applications. changequote(<<,>>) changecom(<>,<< >>) define(<>, <>,<>,1)>>,<>,0)>>)>>)dnl dnl define(<>,0)dnl define(<>,<>)divert(DIVNUM)dnl>>)dnl define(<>,<>)divert(DIVNUM)dnl>>)dnl define(<>, <>,ifelse(eval($1),0,0,-1))divert(DIVNUM)dnl>>)dnl define(<>, <>,ifelse(eval($1),0,-1,0))divert(DIVNUM)dnl>>)dnl define(<>, <>,ifelse(DIVNUM,0,-1,0))divert(DIVNUM)dnl>>)dnl FLAGINIT(<>) FLAGINIT(<>) FLAGINIT(<>) ! HYPHENATE = To be used when making hyphenators - it allows surfacing of # and ^ ! DESCRIPTIVE = Variants or sections used for the non-normative grammar Alphabet a b c d e f g h i ï j k l m n o p q r s t u v w x y z æ ä ø ö å ' A B C D E F G H I Ï J K L M N O P Q R S T U V W X Y Z á é í Å Ä Ö Ø Æ Á Á É Ó Ú Í À È Ò Ù Ì Ë Ü Ï Â Ê Ô Û Î Ã Ý þ Ñ Ð Ŋ Ŧ Č Ž á é ó ú í à è ò ù ì ë ü ï â ê ô û î ã ý þ ñ ð đ ß ª ß ç ŋ ŧ č ž »7:» %>7:%> ':0 !' ! Border symbols: ! # = word boundary ! > = stem-inflection boundary ! » = derivation boundary ! + = metric foot boundary (is it used any more?) ! ^ = explicit hyphenation point KEEPIF(HYPHENATE) # %^ ELSE #:0 %^:0 ENDKEEP OMITIF(HYPHENATE) %#:0 ENDOMIT ! %#:%- ! %#:0 %- OMITIF(HUNSPELL) ! %>:0 %+:0 »:0 ! stem-suffix border mark, invisible in normal use ! The previous line removed in order to have +23 work, and replaced with one w/0 + ! Remove this and the previous two lines when we have a polderland run behind us %>:0 »:0 ! stem-suffix border mark, invisible in normal use ELSE %> »:%> ! stem-suffix border mark, only visible in Hunspell ENDOMIT ! Triggers: X2:0 X3:0 X4:0 %^DISIMP:0 %^COMPDISIMP:0 %^COMPDISIMP2:0 %^NOMAGieDISIMP:0 %^1UML:0 %^2UML:0 %^3UML:0 %^3sUML:0 %^3dUML:0 %^iæUML:0 %^iUML:0 %^PASSUML:0 %^didhUML:0 %^adteUML:0 %^htjidhUML:0 %^aLATUS:a %^uLATUS:e ; Sets Letter = a b c d e f g h i ï j k l m n o p q r s t u v w x y z æ ä ø ö å ' A B C D E F G H I Ï J K L M N O P Q R S T U V W X Y Z Ä Æ Ä Æ Å ; Cns = b c d f g h j k l m n p q r s t v w x z ' B C D F G H J K L M N P Q R S T V W X Z ; CJV = b c d f g h k l m n p q r s t w x z B C D F G H J K L M N P Q R S T V W X Z ; Vow = a e i ï o u y æ ä ø ö å A E I Ï O U Y Ä Æ Ä Æ Å ; DobCons = s m ; ! Bound = # %> ; ! WordBound = # ; DomainBound = # %+ ; Definitions Triggers = %^DISIMP: %^COMPDISIMP: %^COMPDISIMP2: %^NOMAGieDISIMP:0 %^1UML: %^2UML: %^3UML: %^3sUML: %^3dUML: %^iæUML: %^PASSUML: %^didhUML: %^adteUML: %^htjidhUML: %^aLATUS: %^uLATUS: ; Rules "e deletion before i-initial suffix" e:0 <=> _ X2:0 i: ; !€# manneX2ine !€0 mann00ine !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! Odd-syllabic verbs and nouns: !!! "Diphthong simplification ie:e" i:0 <=> _ e Cns+ (e) (%>:) %^DISIMP: ; _ e (%>:) %^DISIMP: Cns+ ; _ e (%>:) %^COMPDISIMP: [b:|m:] ; (%»:) _ e: Cns+ %»: %^adteUML: ; !€# dåeried%>%^DISIMPem !€0 dåer0ed00em !$# dåeried%>%^DISIMPem !$0 dåeried00em !€# gieriehtse%>%^DISIMPm !€0 gier0ehtse00m !$# gieriehtse%>%^DISIMPm !$0 gieriehtse00m !€# gijmie%>%^DISIMPbe !€0 gijm0e00be !$# gijmie%>%^DISIMPbe !$0 gijmie00be "Diphthong simplification oe:o" e:0 <=> o _ Cns+ (e) (%>:) %^DISIMP: ; o _ (%>:) %^COMPDISIMP2: [b:|m:] ; !€# daaroest%>%^DISIMPem !€0 daaro0st00em !$# daaroest%>%^DISIMPem !$0 daaroest00em !€# gaaloehke%>%^DISIMPm !€0 gaalo0hke00m !$# gaaloehke%>%^DISIMPm !$0 gaaloehke00m "Diphthong simplification oe:e" !in comparatives o:0 <=> _ e (%>:) %^COMPDISIMP: [b:|m:] ; (%»:) _ e Cns+ %»: %^adteUML: ; !€# jearkoe%>%^DISIMPbe !€0 jeark0e00be !$# jearkoe%>%^DISIMPbe !$0 jearkoe00be "a/e alternation" a:e <=> _ [ Cns - j | %»: t j | h t ] (Cns) (e) (%>:) %^DISIMP: ; _ (%>:) %^COMPDISIMP: [b:|m:|l:] ; [e:|u:] _ Cns+ %»: %^didhUML: e [d|l] ; !Last context above: Der/didh Umlaut for GUARKEDH-words Column 4 ea:ïe ! and Column 7 ua:oe part 2 !€# aatskad%>%^DISIMPem !€0 aatsked00em !$# aatskad%>%^DISIMPem !$0 aatskad00em !€# daktare%>%^DISIMPm !€0 daktere00m !$# daktare%>%^DISIMPm !$0 daktare00m !€# gæhtja%>%^DISIMPbe !€0 gæhtje00be !$# gæhtja%>%^DISIMPbe !$0 gæhtja00be "a/i alternation" a:i <=> _ j (e) (%>:) %^DISIMP: ; ! No nouns following this pattern, see last part of §103 in Bergsland - ??? !€# jåhtaj%^DISIMP%>em !€0 jåhtij00em !$# jåhtaj%^DISIMP%>em !$0 jåhtaj00em "Even syllabic verbs Du1Pl3 e/oe V" ':o <=> _ e: X2: Cns ; "Even syllabic verbs Du3 e/i alternation V" ! e:0 <=> ': _ X3: ; !this must be e:i, subrule moved to next rule e:0 <=> (%»:) i _ j (e) (%>:) %^NOMAGieDISIMP: ([h|m|n|i|i g u j m i e]) ; "Even syllabic verbs Du2Pl12 e/i V" e:i <=> ': _ X4: j i [d|b] i e (n) ; ': _ X3: j æ g a n ; "Even syllabic verbs Du2Pl12 e/i V part2" ':0 <=> _ e:i X4: j i [d|b] i e (n) ; _ e:i X3: j æ g a n ; "Even syllabic verbs Du2Pl12 ':0 V" ':0 <=> _ e [d|b] %^DISIMP: e (n) ; !€# vååjn'eX4jibie !€0 vååjn0i0jibie !$# vååjn'eX4jibie !$0 vååjn0e0jibie !€# juht%»ieje%>%^NOMAGieDISIMPm !€0 juht0i0je00m !$# juht%»ieje%>%^NOMAGieDISIMPm !$0 juht0ieje00m ! This ruleset spoils oe:o DISIMP ! ! "South - North Adjective comparative 1" ! å:a <=> a: Cns* %>: _ b p o: e: ; ! ! "South - North Adjective comparative 2" ! o:a <=> a: Cns* %>: å: b p _ e: ; ! ! "South - North Adjective comparative 3" ! e:0 <=> a: Cns* %>: å: b p o: _ ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!! New style Umlaut rules. !!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!Class Even I ! i:æ e:a ae:aa u:å ! Pres Sg123 ! V28, V30, V32, V36, V38, V40 ! N §102 "Even syllabic verbs present sg, monophpt E I" Vx:Vy <=> [ #: | Cns+ ](%»:) _ Cns+ [ [ Vow %»: [ Cns -[s|l] ] | %^aLATUS: %»: ] | [ ([%>:|%»:]) %^1UML:0 ] | [ ( %»: ) i: e: Cns+ %»: %^adteUML: ] ] ; where Vx in (i e u) Vy in (æ a å) matched ; !THOM 2009-03-04: added #: in front of Cns+ in left-hand context because rule overgenerated to 3-syllable verbs, so we got goltelidh > goltalahtjedh. The change aimed to restrict the context to 2-syllable stems. !THOM 2009-10-22: removed the #: in front of Cns+ in left-hand context beacause we got wrong analyze:vuesiehtimman instead of vuesiehtæmman. It does not seem to overgenerate to 3-syllable verbs anymore, so I leave it like this for now. ! klihtie -> klæhtetje !€# kliht%^aLATUS%»tje%^DISIMP# !€0 klæhte0tje00 ! klæhtatjasse !€# kliht%^aLATUS%»tj%>asse !€0 klæhta0tj0asse ! jeptsie -> japtsetje !€# jepts%^aLATUS%»tje%^DISIMP# !€0 japtse0tje00 ! japtsatjasse !€# jepts%^aLATUS%»tj%>asse !€0 japtsa0tj0asse ! gullie -> gålletje !€# gull%^aLATUS%»tje%^DISIMP# !€0 gålle0tje00 ! gållatjasse !€# gull%^aLATUS%»tj%>asse !€0 gålla0tj0asse !€# biss%>%^1UMLam !€0 bæss00am !€# belt%>%^1UMLam !€0 balt00am !€# buhtj%>%^1UMLa !€0 båhtj00a !€# paek%>%^1UMLa !€0 paak00a !€# bået%>%^1UMLa !€0 båat00a !€# buel%>%^1UMLa !€0 bual00a !€# kliht%>%^1UMLan !€0 klæht00an !€# jepts%>%^1UMLan !€0 japts00an !€# gull%>%^1UMLan !€0 gåll00an !€# gaevl%>%^1UMLan !€0 gaavl00an !€# gået%>%^1UMLan !€0 gåat00an !€# njuesl%>%^1UMLan !€0 njuasl00an "Even syllabic verbs present sg, diphth ie-ea part 1" i:e <=> [ #: | Cns+ ] _ e: Cns+ [ [ Vow %»: [ Cns -[s|l] ] | %^aLATUS: %»: ] | [([%>:|%»:]) %^1UML:0 ] | [( %»: ) i: e: Cns+ %»: %^adteUML: ] ] ; Cns _ j %>: %^DISIMP: [e(m)|h|i|e n|e m i n i e] #: ; !Last context above: verbs ending -ijidh: Ind+Prs+Sg1, +Ind+Prs+Sg2, ! +Ind+Prs+Sg3, +Ind+Prt+Sg3, +ConNeg, +Imprt+Sg2, +Ger, +VGen !€# jieht%>%^1UMLa !€0 jeaht00a !$# jieht%>%^1UMLa !$0 jieht00a !€# sjiell%>%^1UMLan !€0 sjeall00an ! gåetie -> gåatetje !€# gået%^aLATUS%»tje%^DISIMP# !€0 gåate0tje00 ! [Cns|#:] constraint is to avoid collission with diphthong contexts "Even syllabic verbs Sg3 + PrfPtc E II" Vx:Vy <=> [ Cns | #: ] _ Cns+ (Vow) [ %>: | %»: ] %^2UML: ; where Vx in (æ a å) Vy in (y o o) matched ; !€# gælj%>%^2UMLe !€0 gylj00e !€# færhtje%>%^2UMLse !€0 fyrhtje00se !€# hahtje%>%^2UMLse !€0 hohtje00se !€# rånhtje%>%^2UMLse !€0 ronhtje00se !$# færhtje%>%^2UMLse !$0 færhtje00se !$# hahtje%>%^2UMLse !$0 hahtje00se !$# rånhtje%>%^2UMLse !$0 rånhtje00se !! "o Deletion verbs Sg3 - PrfPtc II" !! o:0 <=> %>: %^2UML: _ e ; !! ! !! !"e Deletion" !! !e:0 <=> o _ (Dummy:) %>: [b|d]; ! Dummy being %^2UML "Even syllabic verbs Sg3 + PrfPtc ea-yö II a" e:y <=> _ a: Cns+ (Vow) [ %>: | %»: ] %^2UML: ; [ #: | #: Cns+ ] _ a: Cns+ (%»:) o: e: Cns+ %»: %^adteUML: ; "Even syllabic verbs Sg3 + PrfPtc ea-yö II b" a:ö <=> e: _ Cns+ (Vow) [ %>: | %»: ] %^2UML: ; [ #: | #: Cns+ ] e: _ Cns+ (%»:) o: e: Cns+ %»: %^adteUML: ; !€# tjear%>%^2UMLe !€0 tjyör00e !$# tjear%>%^2UMLe !$0 tjear00e !€# bearke%>%^2UMLse !€0 byörke00se !$# bearko%>%^2UMLse !$0 bearke00se !€# mearhtje%>%^2UMLse !€0 myörhtje00se !$# mearhtje%>%^2UMLse !$0 mearhtje00se "Even syllabic verbs Sg3 + PrfPtc aa-åå åa-åå II" a:å <=> [a:|å:] _ Cns+ (Vow) [ %>: | %»: ] %^2UML: ; _ a: Cns+ (Vow) [ %>: | %»: ] %^2UML: ; !aa åa !åå åå !€# haare%>%^2UMLse !€0 hååre00se !$# haare%>%^2UMLse !$0 haare00se !€# råafe%>%^2UMLse !€0 rååfe00se !$# råafe%>%^2UMLse !$0 råafe00se "Even syllabic verbs Sg3 ï-æ IV" Vx:Vy <=> _ Cns+ [ %>: | %»: ] %^3sUML: ; where Vx in (ï o) Vy in (æ å) matched ; ! Verbs like: mïnnedh, jovkedh !€# mïnn%>%^3sUMLa !€0 mænn00a !€# jovk%>%^3sUMLa !€0 jåvk00a "1st rule for even syllabic verbs Sg3 ïe-ea IV" Vx:Vy <=> [ Cns | #: ] _ e: Cns+ [ %>: | %»: ] %^3sUML: ; where Vx in (ï o) Vy in (e u) matched ; "2nd rule for even syllabic verbs Sg3 ïe-ea IV, and for general a Umlaut" e:a <=> [ï:|o:] _ Cns+ [ %>: | %»: ] %^3sUML: ; [ #: | Cns+ ] i: _ Cns+ [ [ Vow %»: [ Cns -[s|l] ] | %^aLATUS: %»: ] | [ ([%>:|%»:]) %^1UML:0 ] | [ ( %»: ) i: e: Cns+ %»: %^adteUML: ] ] ; ! Even syllabic verbs present sg, ! diphth ie-ea part 2 [ #: | Cns+ ] [å|a|u] _ Cns+ [ [ Vow %»: [ Cns -[s|l] ] | %^aLATUS: %»: ] | [ ([%>:|%»:]) %^1UML:0 ]| [ ( %»: ) i: e: Cns+ %»: %^adteUML: ] ] ; ! Even verbs pres sg, and nouns, ! diphth ae-aa, åe-åa, ue-ua [#: | #: Cns+]([å|a]) _ Cns+ %»: %^htjidhUML: e h t j ; (%»:) i: _ Cns+ %»: %^adteUML: ; ! Verbs like: tjïeledh, roehtedh !€# tjïel%>%^3sUMLa !€0 tjeal00a !€# roeht%>%^3sUMLa !€0 ruaht00a "Even syllabic verbs Du1Pl3 IV" Vx:Vy <=> [ Cns (%»: %^adteUML:) | #: ] [å|a] _ Cns+ [ %>: | %»: ] %^3dUML: ; [ Cns (%»: %^adteUML:) | #: ] _ (e) Cns+ [ %>: | %»: ] %^3dUML: ; where Vx in (ï a o) Vy in (i e u) matched ; !€# mïnn%>%^3dUMLien !€0 minn00ien !€# bark%>%^3dUMLien !€0 berk00ien !€# jovk%>%^3dUMLien !€0 juvk00ien !€# tjïek%>%^3dUMLien !€0 tjiek00ien ! prob delete this after testing ! " verbs Sg3 + PrfPtc ÅÅ II" ! a:å <=> _ a:å Cns+ o:0 e: %^2UML: ; ! Umlaut rules for even-syll past tense "ie:ee and ae:ee past tense" Vx:e <=> _ e Cns* [ %>: | %»: ] %^iUML: ; where Vx in ( a i ); !€# jieht%>%^iUMLim !€0 jeeht00im !€# tjael%>%^iUMLim !€0 tjeel00im "åe:öö and ue:öö past tense I" Vx:ö <=> _ e: Cns* [ %>: | %»: ] %^iUML: ; where Vx in ( u å o ) ; "åe:öö and ue:öö past tense II" e:ö <=> [ å: | u: | o: ] _ Cns* [ %>: | %»: ] %^iUML: ; !€# bået%>%^iUMLim !€0 bööt00im !€# vuejn%>%^iUMLim !€0 vööjn00im "a-Latus as e in 3-syllable words" %^aLATUS:e <=> _ ( %»: ) :Cns+ ( %>: ) (:Vow+) ( %>: ) %^DISIMP: [ :Cns* | :Cns* :Vow | :Cns* :Vow+ g u j m i e ] #: ; ! maana -> maanetje !€# maan%^aLATUS%»tje%^DISIMP# !€0 maane0tje00 !$# maan%^aLATUS%»tje%^DISIMP# !$0 maana0tje00 ! maanatjasse !€# maan%^aLATUS%»tj%>asse !€0 maana0tj0asse !$# maan%^aLATUS%»tj%>asse !$0 maane0tj0asse ! Umlaut rules for even-syll short passive ! All Umlaut rows R1-R6 gets umlauted to R5 in short passives "Short passive Umlaut Column 1" Vx:y <=> _ Cns+ %»: %^PASSUML: ; where Vx in (i ï æ) ; ! bissedh -> byssedh !€# biss%»%^PASSUMLedh !€0 byss00edh ! sïrredh -> syrredh !€# sïrr%»%^PASSUMLedh !€0 syrr00edh !$# sïrr%»%^PASSUMLedh !$0 sïrr00edh ! gæljodh > gyljedh !€# gælj%»%^PASSUMLedh !€0 gylj00edh !$# gælj%»%^PASSUMLedh !$0 gælj00edh "Short passive Umlaut Column 2" Vx:o <=> [ Cns (%»: %^adteUML:) | #: ] _ Cns+ %»: %^PASSUML: ; where Vx in (a e) ; ! bestedh -> bostedh !€# best%»%^PASSUMLedh !€0 bost00edh !$# best%»%^PASSUMLedh !$0 best00edh ! darjodh -> dorjedh !€# darj%»%^PASSUMLedh !€0 dorj00edh !$# darj%»%^PASSUMLedh !$0 darj00edh "Short passive Umlaut Column 3" Vx:o <=> _ Cns+ %»: %^PASSUML: ; where Vx in (u å) ; ! juhtedh -> johtedh !€# juht%»%^PASSUMLedh !€0 joht00edh !$# juht%»%^PASSUMLedh !$0 juht00edh ! gåhpodh -> gohpedh !€# gåhp%»%^PASSUMLedh !€0 gohp00edh !$# gåhp%»%^PASSUMLedh !$0 gåhp00edh ! govledh -> govledh !€# govl%»%^PASSUMLedh !€0 govl00edh "Short passive Umlaut Column 4 - part 1" Vx:y <=> _ [ a: | e: ] Cns+ %»: %^PASSUML: ; where Vx in (e i ï) ; ! "Short passive Umlaut Column 4 - part 2" Vx:ö <=> [ e: | i: | ï: ] _ Cns+ %»: %^PASSUML: ; where Vx in (a e) ; !«sosialïsme MIMO» ï -> i !LE ! ^MI ! viedtedh -> vyödtedh !€# viedt%»%^PASSUMLedh !€0 vyödt00edh !$# viedt%»%^PASSUMLedh !$0 viedt00edh ! tjearodh -> tjyöredh !€# tjear%»%^PASSUMLedh !€0 tjyör00edh !$# tjear%»%^PASSUMLedh !$0 tjear00edh ! bïepmedh - byöpmedh !€# bïepm%»%^PASSUMLedh !€0 byöpm00edh !$# bïepm%»%^PASSUMLedh !$0 bïepm00edh "Short passive Umlaut Column 5 - part 1" a:å <=> _ [ a: | e: ] Cns+ %»: %^PASSUML: ; [ #: | #: Cns+ ] [a|å] _ Cns+ (%»:) o: e: Cns+ %»: %^adteUML: ; [ #: | #: Cns+ ] _ a Cns+ (%»:) o: e: Cns+ %»: %^adteUML: ; ! daejredh -> dååjredh !€# daejr%»%^PASSUMLedh !€0 dååjr00edh ! gaatodh - gååtedh !€# gaat%»%^PASSUMLedh !€0 gååt00edh "Short passive Umlaut Column 5, 6, 7 part 2" ! No rule needed for column 6 part 1 Vx:å <=> [ a: | u: | o: | å: ] _ Cns+ %»: %^PASSUML: ; where Vx in (a e) ; ! åadtjodh - åådtjedh !€# gaat%»%^PASSUMLedh !€0 gååt00edh ! åestedh -> ååstedh !€# åest%»%^PASSUMLedh !€0 ååst00edh "Short passive Umlaut Column 7 - part 1" Vx:å <=> _ [ a: | e: ] Cns+ %»: %^PASSUML: ; where Vx in ( u o) ; ! where Vx in (a u o) ; ! Removed a, since it conflicts with the rule ! "Short passive Umlaut Column 5 - part 1" above ! vuejnedh - vååjnedh !€# vuejn%»%^PASSUMLedh !€0 vååjn00edh ! guarkedh -> gåårkedh !€# guark%»%^PASSUMLedh !€0 gåårk00edh ! våajodh -> vååjedh !€# våaj%»%^PASSUMLedh !€0 vååj00edh ! voessjedh - vååssjedh !€# voessj%»%^PASSUMLedh !€0 vååssj00edh "Der/htjidh Umlaut i(e):ï(e) and u(e):o(e)" Vx:Vy <=> [ #: | #: Cns+ ] _ (e) Cns+ %»: %^htjidhUML: e h t j ; where Vx in (i u) Vy in (ï o) matched ; !bueledh->boelehtjidh !€# buel%»%^htjidhUMLehtjidh !€0 boel00ehtjidh !$# buel%»%^htjidhUMLehtjidh !$0 buel00ehtjidh !paekedh->paakehtjidh !€# paek%»%^htjidhUMLehtjidh !€0 paak00ehtjidh !$# paek%»%^htjidhUMLehtjidh !$0 paek00ehtjidh "Der/didh Umlaut for GUARKEDH-words Column 4 ea:ïe and Column 7 ua:oe part 1" Vx:Vy <=> _ a: Cns+ %»: %^didhUML: e [d|l] ; where Vx in (e u) Vy in (ï o) matched ; ! veajedh - vïejedidh !€# veaj%»%^didhUMLedidh !€0 vïej00edidh !$# veaj%»%^didhUMLedidh !$0 veaj00edidh ! guarkedh - goerkedidh !€# guark%»%^didhUMLedidh !€0 goerk00edidh !$# guark%»%^didhUMLedidh !$0 guark00edidh "Der/didh Umlaut for GUARKEDH-words Column 1 æ:ï and Column 3 å:o" Vx:Vy <=> _ Cns+ %»: %^didhUML: e [d|l] ; where Vx in (æ å) Vy in (ï o) matched ; ! skælkedh - skïlkedidh !€# skælk%»%^didhUMLedidh !€0 skïlk00edidh !$# skælk%»%^didhUMLedidh !$0 skælk00edidh !!!plåtjkedh - plotjkedidh !€# plåtjk%»%^didhUMLedidh !€0 plotjk00edidh !$# plåtjk%»%^didhUMLedidh !$0 plåtjk00edidh "Der/adte Umlaut for oe-verbs Column 1 æ:y, Column 2 a:o and Column 3 å:o" Vx:Vy <=> [ #: | #: Cns+ ] _ Cns+ (%»:) o: e: Cns+ %»: %^adteUML: ; where Vx in (æ a å) Vy in (y o o) matched ; !båetedh - båetiestidh - båatastalledh !€# bået%»iest%»%^adteUMLalledh !€0 båat00ast00alledh !$# bået%»iest%»%^adteUMLalledh !$0 bået00ast00alledh !$# bået%»iest%»%^adteUMLalledh !$0 båat0iest00alledh !tjearodh - tjearoelidh - tjyöreladtedh !€# tjear%»oel%»%^adteUMLadtedh !€0 tjyör00el00adtedh !$# tjear%»oel%»%^adteUMLadtedh !$0 tjear00el00adtedh !$# tjear%»oel%»%^adteUMLadtedh !$0 tjyör0oel00adtedh ! Lexical test suites - infinitives ! ================================= !€0 dåeriedi%>dh !€0 dåeriedi0dh !€# bisse%>dh !€0 bisse0dh !€# belte%>dh !€0 belte0dh !€# buhtje%>dh !€0 buhtje0dh !€# paeke%>dh !€0 paeke0dh !€# båete%>dh !€0 båete0dh !€# buele%>dh !€0 buele0dh !€# æbjo%>dh !€0 æbjo0dh !€# hajko%>dh !€0 hajko0dh !€# gåhpo%>dh !€0 gåhpo0dh !€# tjearo%>dh !€0 tjearo0dh !€# baajsko%>dh !€0 baajsko0dh !€# gåaro%>dh !€0 gåaro0dh !€# skælke%>dh !€0 skælke0dh !€# skajke%>dh !€0 skajke0dh !€# plåtjke%>dh !€0 plåtjke0dh !€# sleapke%>dh !€0 sleapke0dh !€# snjåarke%>dh !€0 snjåarke0dh !€# sïrre%>dh !€0 sïrre0dh !€# sarje%>dh !€0 sarje0dh !€# sodte%>dh !€0 sodte0dh !€# skïerke%>dh !€0 skïerke0dh !€# slaapke%>dh !€0 slaapke0dh !€# snjåare%>dh !€0 snjåare0dh !€# tjoehpe%>dh !€0 tjoehpe0dh !€# skylle%>dh !€0 skylle0dh !€# aalhteroste%>dh !€0 aalhteroste0dh !€# skyöre%>dh !€0 skyöre0dh !€# vååjne%>dh !€0 vååjne0dh !€# skilhte%>dh !€0 skilhte0dh !€# sijle%>dh !€0 sijle0dh !€# snjurme%>dh !€0 snjurme0dh !€# snjeere%>dh !€0 snjeere0dh !€# gööle%>dh !€0 gööle0dh !"No word boundary as hyphen in the beginning of a string" !#:% /<= .#. _ ; !"Force word boundary as hyphen between matching vowels" ! #:%- <=> :Vx _ :Vx ; ! This should apply to only the surface side ! where Vx in (e a) matched ; !€# laajhna#aaltoe !€0 laajhna-aaltoe !€# aerpie#eeke !€0 aerpie-eeke !$# laajhna#aaltoe !$0 laajhna0aaltoe !$# aerpie#eeke !$0 aerpie0eeke !KEEPIF(HYPHENATE) !"Make hyphenation points visible" !%#:%- => [:Letter - :Vx] _ [:Letter - :Vx] [:Letter - :Vx] ; ! where Vx in (e a) matched ; "Make hyphenation points visible when between identical vowels" %#:%- <=> :Vx _ :Vx :Vx ; ! This should apply to only the surface side where Vx in (e a) matched ; !nonsub !ELSE !ENDKEEP !---Duommá-Majja twol-practice, låt stå! !%#:%- <=> :Letter _ :Letter ;! Don leat hui ceahppi, Toamma! !%#:%- <=> :Vz _ :Vy ; ! where Vz in (Letter) ; ! where Vy in (Letter) ; !%#:%- <=> :Vy _ :Vz ; ! where Vz in (Letter) ; ! where Vy in (Letter) ; !%#:%- <=> :Vx _ :Vx :Vx ; ! This should apply to only the surface side ! where Vx in (e a) matched ; ! matched = alltid er samme bokstav, f.eks jåvle-eejehtalleme blir det bindestrek, mens i aevjie#aesie blir det ikke bindestrek. !€# Aevjie^aesie !€0 Aevjie0aesie !€# Aevjie^aesiede !€0 Aevjie-eesi0de