!! 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 feedback@divvun.no ! ========================================================================== ! North Sámi morphological analyser ! ========================================================================== ! Prefixing and compounding ! ========================= LEXICON Prefixes ii%-+Use/Circ:ii%- Noun ; ii%-+Use/Circ:ii%- Adjective ; ! ii-biologalaš Lulle%-+Use/Circ:Lul^le%- ProperNoun ; ! Lulli-Trøndelaga etc. Lulli%-+Use/Circ:Lul^li%- ProperNoun ; Lullinuorta%-+Use/Circ:Lul^li^nuor^ta%- ProperNoun ; Mátta%-+Use/Circ:Mát^ta%- ProperNoun ; Davvi%-+Use/Circ:Dav^vi%- ProperNoun ; Davve%-+Use/Circ:Dav^ve%- ProperNoun ; ! 76 i korpus, 17 i leksikon Gaska%-+Use/Circ:Gas^ka%- ProperNoun ; Vuolli%-+Use/Circ:Vuol^li%- ProperNoun ; Vuolle%-+Use/Circ:Vuol^le%- ProperNoun ; Badje%-+Use/Circ:Bad^je%- ProperNoun ; Oarje%-+Use/Circ:Oar^je%- ProperNoun ; Orjjel%-+Use/Circ:Orj^jel%- ProperNoun ; ! Orjje 0 i korpus orjjelsápmi Orjješ%-+Use/Circ:Orj^ješ%- ProperNoun ; Nuorta%-+Use/Circ:Nuor^ta%- ProperNoun ; Ođđa%-+Use/Circ:Ođ^đa%- ProperNoun ; eahpe+Use/Circ:eah^pe# Noun ; eahpe+Use/NG+Use/Circ:eah^pe# Adjective ; eahpe+Use/Circ:eah^pe# Verb ; !"" !"" LEXICON R @P.CmpFrst.FALSE@@P.CmpPref.FALSE@@D.CmpLast.TRUE@@D.CmpNone.TRUE@@U.CmpNone.FALSE@@P.CmpOnly.TRUE@ RAlmostReal ; ! Flags to control compounding LEXICON RAlmostReal ! lexicalising the 3-part compounds, with the tag ShCmp Rreal ; ! Business as usual: Normal compounds right on to Rreal +Cmp#:# MiddleNouns ; ! These nouns should not return to themselves, to avoid -jotjotjot- ! They thus point directly to Rreal. LEXICON Rreal ! This is the former R lexicon, renamed to avoid the MiddleNouns loop @U.NeedsVowRed.ON@@C.NeedsVowRed@+Cmp#:@U.NeedsVowRed.ON@@C.NeedsVowRed@# Noun ; ! This is the normal case. @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@# Verb ; ! Flag diacr declares that the compound @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@# Adjective ; ! needs a N tag later in the derivation @U.NeedsVowRed.ON@@C.NeedsVowRed@+Hyph+Use/SpellNoSugg+Cmp#:@U.NeedsVowRed.ON@@C.NeedsVowRed@%- Noun ; ! These 3 cases add a hyphen, so @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+Hyph+Use/SpellNoSugg+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@%- Verb ; ! Sem-julggaštus and maana-gåetie @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+Hyph+Use/SpellNoSugg+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@%- Adjective ; ! are allowed. @U.NeedsVowRed.ON@@C.NeedsVowRed@+SHyph+Err/Orth+Cmp#:@U.NeedsVowRed.ON@@C.NeedsVowRed@­ Noun ; ! These 3 cases add a SOFT hyphen, to @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+SHyph+Err/Orth+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@­ Verb ; ! make it possible to analyse certain texts @P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@+SHyph+Err/Orth+Cmp#:@P.NeedNoun.ON@@U.NeedsVowRed.ON@@C.NeedsVowRed@­ Adjective ; ! from printing houses and newspapers. ! NB! ! ! The soft hyhens in the three last lines above are INVISIBLE! Even in SEE. ! There really IS a character in front of the space and the continuation lexicon. ! It is visible in tools like UnicodeChecker and hexadecimal editors. DO NOT EDIT ! THESE LINES WIHTOUT THE PROPER TOOLS TO CHECK THAT ALL IS CORRECT!!! @U.NeedsVowRed.OFF@@C.NeedsVowRed@+Cmp%-#:@U.NeedsVowRed.OFF@@C.NeedsVowRed@%-# Acronym ; ! maana-tv, "lomme-cd-spelar" @U.NeedsVowRed.OFF@@C.NeedsVowRed@+Cmp%-#:@U.NeedsVowRed.OFF@@C.NeedsVowRed@%-# Numeral ; ! maana-123 @U.NeedsVowRed.OFF@@C.NeedsVowRed@+Cmp%-#:@U.NeedsVowRed.OFF@@C.NeedsVowRed@%-# ProperNoun ; ! Proper nouns as the 2nd part of compounds for non-hyph. ! words. viessu-London goes through here. @U.NeedsVowRed.ON@@C.NeedsVowRed@+Cmp%-#:@U.NeedsVowRed.ON@@C.NeedsVowRed@%-# HyphNouns ; ! Go to words requiring hyphens, like -tv- and -cd- +RCmpnd@U.NeedsVowRed.ON@@C.NeedsVowRed@+Use/SpellNoSugg:%-@U.NeedsVowRed.ON@@C.NeedsVowRed@ ENDLEX ; ! This to take care of Oahpo- ja dutkandept - want this in speller +Use/-Spell: R-LAGAN ; LEXICON RHyph ! Recursive lexicon from all classes REQUIRING a hyphen to follow. ! NBNBNB! ! ! The hyphen should be added here! NOT in the other lexicons! @P.CmpFrst.FALSE@@P.CmpPref.FALSE@@D.CmpLast.TRUE@@D.CmpNone.TRUE@@U.CmpNone.FALSE@@P.CmpOnly.TRUE@@C.CmpHyph@ RHyphTags ; ! Flags to control compounding LEXICON RHyphTags +Cmp%-#:%-# Noun ; ! This is the normal case. +Cmp%-#:%-# HyphNouns ; ! Go to nouns requiring hyphens, like -tv- and -cd- @P.NeedNoun.ON@+Cmp%-#:@P.NeedNoun.ON@%-# Verb ; ! Flag diacr declares that the compound @P.NeedNoun.ON@+Cmp%-#:@P.NeedNoun.ON@%-# Adjective ; ! needs a N tag later in the derivation +Cmp%-#:%-# Acronym ; ! maana-tv, "lomme-cd-spelar" +Cmp%-#:%-# Numeral ; ! NRK-2 +Cmp%-#:%-# ProperNoun ; ! Proper nouns as the 2nd part of compounds for hyph-words. ! London-Hull is covered here, whereas Hull-viessu ! is covered by RHyph + Noun. +RCmpnd+Use/SpellNoSugg:%- ENDLEX ; ! This to take care of Oahpo- ja dutkandept - want this in speller ! Proper noun and other hyph word compounds WITHOUT hyphens are covered HERE ! and are marked +Err/Orth as well as +Use/NoHyph. Examples: LondonHull & viessuLondon. ! The lemma string is still given WITH the hyphen - we want identical lemma for both sub and norm. ! +Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:# Noun ; ! This is the normal case. ! +Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:# HyphNouns ; ! Go to nouns requiring hyphens, like -tv- and -cd- ! @P.NeedNoun.ON@+Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:@P.NeedNoun.ON@# Verb ; ! Flag diacr declares that the compound ! @P.NeedNoun.ON@+Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:@P.NeedNoun.ON@# Adjective ; ! needs a N tag later in the derivation ! +Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:# Acronym ; ! maanatv, "lommecdspelar" ! +Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:# Numeral ; ! NRK2 ! +Use/Circ+Err/Orth+Use/NoHyph+Cmp%-#:# ProperNoun ; ! Proper nouns as the 2nd part of compounds for hyph-words. LEXICON RNum +Cmp%-#:%-# Noun ; ! For Num Cmp Noun, vi vil ikke ha Num Cmp Num LEXICON Rnoun :%> Rreal ; ! Going to the compound lexicon +Attr+Err/Orth: ENDLEX ; ! Kárášjot, as independent (sub) word LEXICON RProp !!≈ !!!@CODE@ @P.CmpFrst.FALSE@@P.CmpPref.FALSE@@D.CmpLast.TRUE@@D.CmpNone.TRUE@@U.CmpNone.FALSE@@P.CmpOnly.TRUE@ RPropTags ; ! Flags to control compounding +Der2+Der/nammasaš+CmpN/SgN+CmpN/PlG+Use/-Spell:%-nammas AHKASAS ; !Matikka-nammasaš LEXICON RPropTags !! A special lexicon for handling proper noun compounding without hyphens @C.CmpHyph@ RHyphTags ; !!≈ ; @CODE@ : This is the regular case, giving hyphens to compounds @D.CmpHyph.TRUE@@U.CmpHyph.FALSE@+Use/-Spell+Cmp#:@D.CmpHyph.TRUE@@U.CmpHyph.FALSE@# Noun ; !!≈ ; @CODE@ : This is the special case, going directly to nouns (''not'' to NounRoot, !! as that would allow compounding with words explicitly coded to disallow !! such compounds) LEXICON flagON-R @U.NeedsVowRed.ON@ R ; LEXICON flagOFF-R @U.NeedsVowRed.OFF@ R ; LEXICON R-LAGAN +Der1+Der2+Der/lágan+Use/Circ+Use/-Spell:» LAGAN ; ! ! biilalágan, noaidelágán noaiddilágán beatnagalágán beanalágán all these goes ! Nielsen: beatnatlágán, beatnatlágáš, beanalágáš, giđalágáš, áhččelágáš, +Der1+Der2+Der/lágaš+Use/Circ+Use/-Spell:» LAGAS ; ! ! etc.