diff --git a/src/gaelic/AdjectiveGla.gf b/src/gaelic/AdjectiveGla.gf index 39c79158a..8d103483a 100644 --- a/src/gaelic/AdjectiveGla.gf +++ b/src/gaelic/AdjectiveGla.gf @@ -10,14 +10,14 @@ concrete AdjectiveGla of Adjective = CatGla ** open ResGla, Prelude in { } ; -- : A -> AP ; - PositA a = a ** { - compar = [] ; - } ; + --PositA a = a ** { + -- compar = [] ; + -- } ; -- : A -> NP -> AP ; - ComparA a np = a ** { - compar = np.s - } ; + --ComparA a np = a ** { + -- compar = np.s + -- } ; -- : A2 -> NP -> AP ; -- married to her -- ComplA2 a2 np = a2 ** { } ; @@ -26,7 +26,7 @@ concrete AdjectiveGla of Adjective = CatGla ** open ResGla, Prelude in { -- ReflA2 a2 = a2 ** { } ; -- : A2 -> AP ; -- married - UseA2 = PositA ; + -- UseA2 = PositA ; -- : A -> AP ; -- warmer -- UseComparA a = a ** { diff --git a/src/gaelic/AdverbGla.gf b/src/gaelic/AdverbGla.gf index 5a832613f..9165f7de1 100644 --- a/src/gaelic/AdverbGla.gf +++ b/src/gaelic/AdverbGla.gf @@ -15,13 +15,13 @@ lin PrepNP prep np = { s = prepAndArt ++ noun } where { - defaultCase : CoreCase = prep.c2 ! getDefi np.a ; + defaultCase : Case = prep.c2 ! getDefi np.a ; complCase : Case = case of { - => CC (Dat Lenited) ; -- force lenition if possessive triggers it + => Dat Lenited ; -- force lenition if possessive triggers it - => CC (Nom Lenited) ; -- force lenition if possessive triggers it - _ => CC defaultCase } ; + => Nom Lenited ; -- force lenition if possessive triggers it + _ => defaultCase } ; prepStr : Str = prep.s ! agr2pagr np.a ; -- can be Prep or Prep+Pron merged artStr : Str = np.art ! complCase ; prepAndArt : Str = case np.a of { diff --git a/src/gaelic/AllGla.gf b/src/gaelic/AllGla.gf index 29b533cbb..e9a81d607 100644 --- a/src/gaelic/AllGla.gf +++ b/src/gaelic/AllGla.gf @@ -1,6 +1,6 @@ --# -path=.:../abstract:../common:../prelude concrete AllGla of AllGlaAbs = - LangGla, - ExtendGla + LangGla -- , + -- ExtendGla ; diff --git a/src/gaelic/CatGla.gf b/src/gaelic/CatGla.gf index 4f5898381..6e23a46db 100644 --- a/src/gaelic/CatGla.gf +++ b/src/gaelic/CatGla.gf @@ -49,7 +49,7 @@ concrete CatGla of Cat = CommonX ** open ResGla, Coordination, Prelude in { -- Many atomic noun phrases e.g. "everybody" -- are constructed in StructuralGla. - CN = ResGla.LinCN ; + CN = ResGla.LinN ; NP = ResGla.LinNP ; Pron = LinPron ; Det = ResGla.LinDet ; -- s : Str , n : Number @@ -93,17 +93,17 @@ concrete CatGla of Cat = CommonX ** open ResGla, Coordination, Prelude in { V = ResGla.LinV ; VV -- verb-phrase-complement verb e.g. "want" - = SS ; + = ResGla.LinV ; V2A, -- verb with NP and AP complement e.g. "paint" V2V, -- verb with NP and V complement e.g. "cause" V2S, -- verb with NP and S complement e.g. "tell" V2Q, -- verb with NP and Q complement e.g. "ask" - V2 = SS ; - V3 = SS ; + V2 = LinV ** {c2 : LinPrep} ; + V3 = LinV ** {c2,c3 : LinPrep} ; - A = SS ; - A2 = SS ; + A = LinA ; + A2 = LinA ** {c2 : LinPrep} ; N = ResGla.LinN ; N2 = ResGla.LinN ; @@ -116,6 +116,7 @@ concrete CatGla of Cat = CommonX ** open ResGla, Coordination, Prelude in { LN = SS ; -- Location name, e.g. "Sweden" linref + NP = linNP ; Cl = linCl ; } diff --git a/src/gaelic/DocumentationGla.gf b/src/gaelic/DocumentationGla.gf new file mode 100644 index 000000000..5e83707eb --- /dev/null +++ b/src/gaelic/DocumentationGla.gf @@ -0,0 +1,77 @@ +concrete DocumentationGla of Documentation = CatGla ** open + ResGla, Prelude, HTML in { + +lincat + Inflection = {t : Str; s1,s2,s3 : Str} ; + Definition = {s : Str} ; + Document = {s : Str} ; + Tag = {s : Str} ; + +lin + InflectionN,InflectionN2,InflectionN3 = \x -> { + t="n" ; + s1=heading1 ("Noun"++ + case x.g of { + Masc => "(masculine)" ; + Fem => "(feminine)" + }) ; + s2=frameTable ( + tr (th "" ++ th "Sg" ++ th "Pl") ++ + tr (intagAttr "th" "colspan=\"3\"" "indefinite") ++ + tr (th "nom" ++ td (x.s ! Nom NoMutation ! Indef ! Sg) ++ td (x.s ! Nom NoMutation ! Indef ! Pl)) ++ + tr (th "dat" ++ td (x.s ! Dat NoMutation ! Indef ! Sg) ++ td (x.s ! Dat NoMutation ! Indef ! Pl)) ++ + tr (th "gen" ++ td (x.s ! Gen ! Indef ! Sg) ++ td (x.s ! Gen ! Indef ! Pl)) ++ + tr (intagAttr "th" "colspan=\"3\"" "definite") ++ + tr (th "nom" ++ td (x.s ! Nom NoMutation ! Def ! Sg) ++ td (x.s ! Nom NoMutation ! Def ! Pl)) ++ + tr (th "dat" ++ td (x.s ! Dat NoMutation ! Def ! Sg) ++ td (x.s ! Dat NoMutation ! Def ! Pl)) ++ + tr (th "gen" ++ td (x.s ! Gen ! Def ! Sg) ++ td (x.s ! Gen ! Def ! Pl)) ++ + tr (th "voc" ++ td (x.voc ! Sg) ++ td (x.voc ! Pl))) ; + s3=[] + } ; +lin + InflectionV,InflectionV2,InflectionV2A,InflectionV2Q,InflectionV2S,InflectionV2V,InflectionV3,InflectionVA,InflectionVQ,InflectionVS,InflectionVV = \x -> { + t="v" ; + s1=heading1 "Verb" ; + s2=frameTable ( + tr (th "s" ++ td (x.s)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "Conditional" ++ th "Sg" ++ td (x.conditional ! Sg)) ++ + tr (th "Pl" ++ td (x.conditional ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"6\"" "Imperative" ++ intagAttr "th" "rowspan=\"2\"" "P1" ++ th "Sg" ++ td (x.imperative ! P1 ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! P1 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P2" ++ th "Sg" ++ td (x.imperative ! P2 ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! P2 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "P3" ++ th "Sg" ++ td (x.imperative ! P3 ! Sg)) ++ + tr (th "Pl" ++ td (x.imperative ! P3 ! Pl)) ++ + tr (intagAttr "th" "rowspan=\"4\"" "Indicative" ++ th "Fut" ++ td (x.future ! Indep)) ++ + tr (th "Past" ++ td (x.past ! Indep)) ++ + tr (th "Participle" ++ td (x.participle))) ; + s3=[] + } ; +lin + InflectionA,InflectionA2 = \x -> { + t="a" ; + s1=heading1 "Adjective" ; + s2=frameTable ( + tr (intagAttr "th" "rowspan=\"2\"" "" ++ + th "masculine" ++ th "feminine") ++ + tr (intagAttr "th" "colspan=\"2\"" "singular") ++ + tr (th "Nom" ++ td (x.s ! ASg (Nom NoMutation) Masc) ++ td (x.s ! ASg (Nom NoMutation) Fem)) ++ + tr (th "Dat" ++ td (x.s ! ASg (Dat NoMutation) Masc) ++ td (x.s ! ASg (Dat NoMutation) Fem)) ++ + tr (th "Gen" ++ td (x.s ! ASg Gen Masc) ++ td (x.s ! ASg Gen Fem)) ++ + tr (th "Voc" ++ td (x.voc ! Masc) ++ td (x.voc ! Fem)) ++ + tr (intagAttr "th" "rowspan=\"2\"" "" ++ intagAttr "th" "colspan=\"2\"" "plural") ++ + tr ( intagAttr "td" "colspan=\"2\"" (x.s ! APl))) ++ + heading2 "Comparative" ++ + paragraph (x.compar) ; + s3=[] + } ; + +lin + NoDefinition t = {s=t.s}; + MkDefinition t d = {s="

Definition:"++t.s++d.s++"

"}; + MkDefinitionEx t d e = {s="

Definition:"++t.s++d.s++"

Example:"++e.s++"

"}; + +lin + MkDocument d i e = {s = i.s1 ++ d.s ++ i.s2 ++ i.s3 ++ e.s} ; + MkTag i = {s = i.t} ; +} diff --git a/src/gaelic/ExtendGla.gf b/src/gaelic/ExtendGla.gf index 5e70f743d..78f6ceaf7 100644 --- a/src/gaelic/ExtendGla.gf +++ b/src/gaelic/ExtendGla.gf @@ -31,5 +31,6 @@ concrete ExtendGla of Extend = CatGla , UseComp_ser, UseComp_estar , iFem_Pron, weFem_Pron, youFem_Pron, youPlFem_Pron, youPolFem_Pron, youPolPlFem_Pron, youPolPl_Pron, theyFem_Pron, theyNeutr_Pron , GenModNP + , PiedPipingQuestSlash, PiedPipingRelSlash, SubjunctRelCN ] with (Grammar=GrammarGla) ; diff --git a/src/gaelic/LangGla.gf b/src/gaelic/LangGla.gf index 99fee6e34..e8acf49b9 100644 --- a/src/gaelic/LangGla.gf +++ b/src/gaelic/LangGla.gf @@ -1,5 +1,6 @@ --# -path=.:../abstract:../common:../prelude:../api concrete LangGla of Lang = GrammarGla, - LexiconGla, - ConstructionGla ; + LexiconGla + ,DocumentationGla --# notpresent + ; diff --git a/src/gaelic/LexiconGla.gf b/src/gaelic/LexiconGla.gf index e775e8b19..0c85ac917 100644 --- a/src/gaelic/LexiconGla.gf +++ b/src/gaelic/LexiconGla.gf @@ -31,7 +31,7 @@ lin beg_V2V = mkV2V (mkV "") ; lin belly_N = mkN "" ; lin big_A = mkA "" ; lin bike_N = mkN "" ;-} -lin bird_N = smartN "eun" "eòin" "eòin" Masc ;{- +lin bird_N = mkN "eun" "eòin" "eòin" Masc ;{- lin bite_V2 = mkV2 "" ; lin black_A = mkA "" ; lin blood_N = mkN "" ; @@ -86,9 +86,9 @@ lin cut_V2 = mkV2 "" ; ---- -- D -lin day_N = mkN "" ; -} +lin day_N = mkN "" ; lin die_V = mkV "die" ; -{-lin dig_V = mkV "" ; +lin dig_V = mkV "" ; lin dirty_A = mkA "" ; lin distance_N3 = mkN3 (mkN "") ; lin do_V2 = mkV2 "" ; @@ -161,7 +161,7 @@ lin green_A = mkA "" ; -- H lin hair_N = mkN "" ;-} -lin hand_N = smartN "làmh" Fem ;{- +lin hand_N = mkN "làmh" Fem ;{- lin harbour_N = mkN "" ; lin hat_N = mkN "" ; lin hate_V2 = mkV2 "" ; @@ -199,7 +199,7 @@ lin know_VS = mkV "" ; ---- -- L -lin lake_N = smartN "loch" "locha" "lochan" Masc ; +lin lake_N = mkN "loch" "locha" "lochan" Masc ; {- lin lamp_N = mkN "" ; lin language_N = mkN "" ; @@ -223,7 +223,7 @@ lin love_V2 = mkV2 "" ; ---- -- M --}lin man_N = smartN "fear" Masc ;{- +-}lin man_N = mkN "fear" Masc ;{- lin married_A2 = mkA2 (mkA "") ; lin meat_N = mkN "" ; lin milk_N = mkN "" ; @@ -408,7 +408,7 @@ lin window_N = mkN "" ; lin wine_N = mkN "" ; lin wing_N = mkN "" ; lin wipe_V2 = mkV2 "" ;-} -lin woman_N = smartN "boireannach" Masc ;{- +lin woman_N = mkN "boireannach" Masc ;{- lin wonder_VQ = mkVQ (mkV "") ; lin wood_N = mkN "" ; lin worm_N = mkN "" ; diff --git a/src/gaelic/MorphoGla.gf b/src/gaelic/MorphoGla.gf new file mode 100644 index 000000000..b9f7ee7bb --- /dev/null +++ b/src/gaelic/MorphoGla.gf @@ -0,0 +1,10648 @@ +resource MorphoGla = open CatGla, ResGla, Predef in { + +oper + +mkA001 : Str -> A ; +mkA001 base = + case base of { + base_1+base_2@("l"|"r"|"n"|(?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA001" + } ; + +mkA002 : Str -> A ; +mkA002 base = + case base of { + base_1@?+base_2+base_3@("r"|"m"|"s"|"rbh"|(?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+"h"+base_2+"i"+base_3 ; + APl => base_1+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"i"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA002" + } ; + +mkA003 : Str -> A ; +mkA003 base = + case base of { + base_1@?+base_2 => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => base_1+base_2+"e" + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkA003" + } ; + +mkA004 : Str -> A ; +mkA004 base = + case base of { + base_1@?+base_2+"ea"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+"ea"+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"ea"+base_3 + } ; + compar = base_1+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA004" + } ; + +mkA005 : Str -> A ; +mkA005 base = + case base of { + base_1+"ea"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ea"+base_2 ; + ASg (Nom _) Fem => base_1+"ea"+base_2 ; + ASg (Dat _) Masc => base_1+"ea"+base_2 ; --guessed + ASg (Dat _) Fem => base_1+"hi"+base_2 ; --guessed + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+"ea"+base_2 + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+"hea"+base_2 --guessed + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA005" + } ; + +mkA006 : Str -> A ; +mkA006 base = + case base of { + base_1@?+base_2+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA006" + } ; + +mkA007 : Str -> A ; +mkA007 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => base_1 ; --guessed + ASg (Dat _) Fem => base_1+"e" ; --guessed + ASg Gen Masc => base_1 ; + ASg Gen Fem => base_1+"e" ; + APl => base_1+"e" + } ; + voc = table { + Masc => base_1 ; --guessed + Fem => base_1 --guessed + } ; + compar = base_1+"e" + }; + _ => error "Can't apply paradigm mkA007" + } ; + +mkA008 : Str -> A ; +mkA008 base = + case base of { + base_1@?+base_2+"ea"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+"ea"+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"ea"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA008" + } ; + +mkA009 : Str -> A ; +mkA009 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => base_1 ; --guessed + ASg (Dat _) Fem => base_1+"e" ; --guessed + ASg Gen Masc => base_1 ; --guessed + ASg Gen Fem => base_1 ; --guessed + APl => base_1+"a" + } ; + voc = table { + Masc => base_1 ; --guessed + Fem => base_1 --guessed + } ; + compar = base_1 + }; + _ => error "Can't apply paradigm mkA009" + } ; + +mkA010 : Str -> A ; +mkA010 base = + case base of { + base_1+"o"+base_2@("rch"|"rb"|"rm"|?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2 ; + ASg (Nom _) Fem => base_1+"ho"+base_2 ; + ASg (Dat _) Masc => base_1+"ho"+base_2 ; + ASg (Dat _) Fem => base_1+"hui"+base_2 ; + ASg Gen Masc => base_1+"hui"+base_2 ; + ASg Gen Fem => base_1+"hui"+base_2 ; + APl => base_1+"o"+base_2 + } ; + voc = table { + Masc => base_1+"hui"+base_2 ; + Fem => base_1+"ho"+base_2 + } ; + compar = base_1+"ui"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA010" + } ; + +mkA011 : Str -> A ; +mkA011 base = + case base of { + base_1+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2 ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+"i"+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA011" + } ; + +mkA012 : Str -> A ; +mkA012 base = + case base of { + base_1+"ea"+base_2@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ea"+base_2 ; + ASg (Nom _) Fem => base_1+"hea"+base_2 ; + ASg (Dat _) Masc => base_1+"ea"+base_2 ; + ASg (Dat _) Fem => base_1+"hi"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+"ea"+base_2+"a" + } ; + voc = table { + Masc => base_1+"hi"+base_2 ; + Fem => base_1+"hea"+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA012" + } ; + +mkA013 : Str -> A ; +mkA013 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+"h"+base_2+"i"+base_3 ; + APl => base_1+"h"+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"i"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" --guessed + }; + _ => error "Can't apply paradigm mkA013" + } ; + +mkA014 : Str -> A ; +mkA014 base = + case base of { + base_1@?+base_2+base_3@("r"|"n"|(?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA014" + } ; + +mkA015 : Str -> A ; +mkA015 base = + case base of { + base_1@?+base_2 => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+base_2+"a" ; + APl => base_1+base_2+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"a" + }; + _ => error "Can't apply paradigm mkA015" + } ; + +mkA016 : Str -> A ; +mkA016 base = + case base of { + base_1+"o"+base_2@(?+?)+"a"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2+"a"+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"ui"+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA016" + } ; + +mkA017 : Str -> A ; +mkA017 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?)+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3 + }; + _ => error "Can't apply paradigm mkA017" + } ; + +mkA018 : Str -> A ; +mkA018 base = + case base of { + base_1+base_2@?+"ea"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+"ea"+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"ea"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA018" + } ; + +mkA019 : Str -> A ; +mkA019 base = + case base of { + base_1+base_2@?+"un" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"un" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"èin"+base_2 + }; + _ => error "Can't apply paradigm mkA019" + } ; + +mkA020 : Str -> A ; +mkA020 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+base_2 ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => base_1+base_2+"e" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkA020" + } ; + +mkA021 : Str -> A ; +mkA021 base = + case base of { + base_1@?+base_2 => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+"h"+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+"h"+base_2 ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"a" --guessed + }; + _ => error "Can't apply paradigm mkA021" + } ; + +mkA022 : Str -> A ; +mkA022 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+"h"+base_2+"i"+base_3 ; + APl => base_1+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA022" + } ; + +mkA023 : Str -> A ; +mkA023 base = + case base of { + base_1+"_1" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"_1" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1 + }; + _ => error "Can't apply paradigm mkA023" + } ; + +mkA024 : Str -> A ; +mkA024 base = + case base of { + base_1+base_2@("dh"|"ch"|"rd"|?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+base_2+"a" + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA024" + } ; + +mkA025 : Str -> A ; +mkA025 base = + case base of { + base_1@?+base_2+"a"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"a"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"a"+base_3 ; + ASg (Dat _) Masc => base_1+base_2+"a"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+"a"+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"a"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA025" + } ; + +mkA026 : Str -> A ; +mkA026 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; --guessed + ASg (Dat _) Masc => base_1 ; --guessed + ASg (Dat _) Fem => base_1+"e" ; --guessed + ASg Gen Masc => base_1 ; --guessed + ASg Gen Fem => base_1 ; --guessed + APl => base_1+"a" --guessed + } ; + voc = table { + Masc => base_1 ; --guessed + Fem => base_1 --guessed + } ; + compar = base_1+"a" + }; + _ => error "Can't apply paradigm mkA026" + } ; + +mkA027 : Str -> A ; +mkA027 base = + case base of { + base_1@?+base_2@?+"a"+base_3 => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"a"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"a"+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"è"+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA027" + } ; + +mkA028 : Str -> A ; +mkA028 base = + case base of { + base_1@?+base_2 => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"a" --guessed + }; + _ => error "Can't apply paradigm mkA028" + } ; + +mkA029 : Str -> A ; +mkA029 base = + case base of { + base_1+"a"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"a"+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"oi"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA029" + } ; + +mkA030 : Str -> A ; +mkA030 base = + case base of { + base_1@(?+?)+"a"+base_2 => lin A + { s = table { + ASg (Nom _) Masc => base_1+"a"+base_2 ; + ASg (Nom _) Fem => base_1+"a"+base_2 ; + ASg (Dat _) Masc => base_1+"a"+base_2 ; --guessed + ASg (Dat _) Fem => base_1+"i"+base_2 ; --guessed + ASg Gen Masc => base_1+"i"+base_2 ; --guessed + ASg Gen Fem => base_1+"i"+base_2+"e" ; --guessed + APl => base_1+"a"+base_2+"a" --guessed + } ; + voc = table { + Masc => base_1+"i"+base_2 ; --guessed + Fem => base_1+"a"+base_2 --guessed + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA030" + } ; + +mkA031 : Str -> A ; +mkA031 base = + case base of { + base_1+base_2@(?+?+?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+"h"+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"h"+base_2+"e" ; + Fem => base_1+"h"+base_2+"e" + } ; + compar = base_1+base_2+"a" --guessed + }; + _ => error "Can't apply paradigm mkA031" + } ; + +mkA032 : Str -> A ; +mkA032 base = + case base of { + base_1+base_2@?+base_3@(?+?)+"ai"+base_4@?+"n" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3+"ai"+base_4+"n" ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3+"ai"+base_4+"n" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"i"+base_3+base_4+"e" + }; + _ => error "Can't apply paradigm mkA032" + } ; + +mkA033 : Str -> A ; +mkA033 base = + case base of { + "d"+base_1+"n"+base_2@? => lin A + { s = table { + ASg (Nom _) Masc => "d"+base_1+"n"+base_2 ; + ASg (Nom _) Fem => "dh"+base_1+"n"+base_2 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "mi"+base_1+"s"+base_2 + }; + _ => error "Can't apply paradigm mkA033" + } ; + +mkA034 : Str -> A ; +mkA034 base = + case base of { + base_1+"o"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2 ; + ASg (Nom _) Fem => base_1+"ho"+base_2 ; + ASg (Dat _) Masc => base_1+"o"+base_2 ; + ASg (Dat _) Fem => base_1+"hui"+base_2 ; + ASg Gen Masc => base_1+"hui"+base_2 ; + ASg Gen Fem => base_1+"ui"+base_2+"e" ; + APl => base_1+"o"+base_2+"a" + } ; + voc = table { + Masc => base_1+"hui"+base_2 ; + Fem => base_1+"ho"+base_2 + } ; + compar = base_1+"ui"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA034" + } ; + +mkA035 : Str -> A ; +mkA035 base = + case base of { + base_1+"o"+base_2@(?+?+?)+"a" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2+"a" ; + ASg (Nom _) Fem => base_1+"ho"+base_2+"a" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"ui"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA035" + } ; + +mkA036 : Str -> A ; +mkA036 base = + case base of { + "dr"+base_1+"ch" => lin A + { s = table { + ASg (Nom _) Masc => "dr"+base_1+"ch" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "mi"+base_1+"sa" + }; + _ => error "Can't apply paradigm mkA036" + } ; + +mkA037 : Str -> A ; +mkA037 base = + case base of { + base_1+base_2@(?+?+?+?+?+?)+"ea"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3 ; + APl => base_1+base_2+"ea"+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"i"+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA037" + } ; + +mkA038 : Str -> A ; +mkA038 base = + case base of { + base_1@?+base_2+base_3@("r"|(?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3 ; + APl => base_1+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"i"+base_3 + } ; + compar = base_1+"h"+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA038" + } ; + +mkA039 : Str -> A ; +mkA039 base = + case base of { + base_1+base_2@(?+?+?)+"ic"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ic"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ic"+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"g"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA039" + } ; + +mkA040 : Str -> A ; +mkA040 base = + case base of { + base_1+base_2@?+"as" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"as" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"s"+base_2 + }; + _ => error "Can't apply paradigm mkA040" + } ; + +mkA041 : Str -> A ; +mkA041 base = + case base of { + base_1+base_2@?+base_3@?+"a" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3+"a" ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3+"a" ; + ASg (Dat _) Masc => base_1+base_2+base_3+"a" ; + ASg (Dat _) Fem => base_1+"h"+base_2+base_3+"a" ; + ASg Gen Masc => base_1+"h"+base_2+base_3+"a" ; + ASg Gen Fem => base_1+base_2+base_3+"a" ; + APl => base_1+base_2+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+base_3+"a" ; + Fem => base_1+"h"+base_2+base_3+"a" + } ; + compar = base_1+"h"+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA041" + } ; + +mkA042 : Str -> A ; +mkA042 base = + case base of { + base_1+base_2@(?+?+?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"h"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA042" + } ; + +mkA043 : Str -> A ; +mkA043 base = + case base of { + base_1+"ur"+base_2@(?+?)+"d"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ur"+base_2+"d"+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"h"+base_2+base_3 + }; + _ => error "Can't apply paradigm mkA043" + } ; + +mkA044 : Str -> A ; +mkA044 base = + case base of { + base_1+"ur"+base_2@(?+?)+"t"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ur"+base_2+"t"+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"h"+base_2+base_3 + }; + _ => error "Can't apply paradigm mkA044" + } ; + +mkA045 : Str -> A ; +mkA045 base = + case base of { + base_1+base_2@("ch"|(?+?+?+?+?+?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+"h"+base_2 ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+"i"+base_2 + }; + _ => error "Can't apply paradigm mkA045" + } ; + +mkA046 : Str -> A ; +mkA046 base = + case base of { + base_1+"ea"+base_2@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ea"+base_2 ; + ASg (Nom _) Fem => base_1+"hea"+base_2 ; + ASg (Dat _) Masc => base_1+"ea"+base_2 ; + ASg (Dat _) Fem => base_1+"hi"+base_2 ; + ASg Gen Masc => base_1+"hi"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+"ea"+base_2+"a" + } ; + voc = table { + Masc => base_1+"hi"+base_2 ; + Fem => base_1+"hea"+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA046" + } ; + +mkA047 : Str -> A ; +mkA047 base = + case base of { + base_1+base_2@?+"ur" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ur" ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ur" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"èir"+base_2 + }; + _ => error "Can't apply paradigm mkA047" + } ; + +mkA048 : Str -> A ; +mkA048 base = + case base of { + base_1+"eà"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"eà"+base_2 ; + ASg (Nom _) Fem => base_1+"heà"+base_2 ; + ASg (Dat _) Masc => base_1+"eà"+base_2 ; + ASg (Dat _) Fem => base_1+"heà"+base_2 ; + ASg Gen Masc => base_1+"heà"+base_2 ; + ASg Gen Fem => base_1+"eà"+base_2 ; + APl => base_1+"eà"+base_2 + } ; + voc = table { + Masc => base_1+"heà"+base_2 ; + Fem => base_1+"heà"+base_2 + } ; + compar = base_1+"io"+base_2+"a" + }; + _ => error "Can't apply paradigm mkA048" + } ; + +mkA049 : Str -> A ; +mkA049 base = + case base of { + base_1+base_2@(?+?+?+?)+"ea"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"ea"+base_3 ; + ASg (Dat _) Masc => base_1+base_2+"ea"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+"ea"+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+"ea"+base_3 + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA049" + } ; + +mkA050 : Str -> A ; +mkA050 base = + case base of { + base_1+base_2@?+"o"+base_3@?+"a"+base_4@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"o"+base_3+"a"+base_4 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"o"+base_3+"a"+base_4 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => base_1+base_2+base_3+"i"+base_4+"e" ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+base_3+"i"+base_4+"e" + }; + _ => error "Can't apply paradigm mkA050" + } ; + +mkA051 : Str -> A ; +mkA051 base = + case base of { + base_1+base_2@(?+?)+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"h"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+base_2+"i"+base_3+"e" ; + APl => base_1+base_2+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA051" + } ; + +mkA052 : Str -> A ; +mkA052 base = + case base of { + base_1+"o"+base_2@?+base_3@?+"id" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2+base_3+"id" ; + ASg (Nom _) Fem => base_1+"ho"+base_2+base_3+"id" ; + ASg (Dat _) Masc => base_1+"o"+base_2+base_3+"id" ; + ASg (Dat _) Fem => base_1+"ho"+base_2+base_3+"id" ; + ASg Gen Masc => base_1+"ho"+base_2+base_3+"id" ; + ASg Gen Fem => base_1+"o"+base_2+base_3+"ide" ; + APl => base_1+"o"+base_2+base_3+"ide" + } ; + voc = table { + Masc => base_1+"ho"+base_2+base_3+"id" ; + Fem => base_1+"ho"+base_2+base_3+"id" + } ; + compar = base_1+base_2+"o"+base_3+"ra" + }; + _ => error "Can't apply paradigm mkA052" + } ; + +mkA053 : Str -> A ; +mkA053 base = + case base of { + base_1+base_2@(?+?)+"a"+base_3@(?+?+?)+base_4@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"a"+base_3+base_4 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"a"+base_3+base_4 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+base_3+"i"+base_4+"e" + }; + _ => error "Can't apply paradigm mkA053" + } ; + +mkA054 : Str -> A ; +mkA054 base = + case base of { + base_1+"ri"+base_2@?+"n" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ri"+base_2+"n" ; + ASg (Nom _) Fem => base_1+"hri"+base_2+"n" ; + ASg (Dat _) Masc => base_1+"hri"+base_2+"n" ; + ASg (Dat _) Fem => base_1+"hri"+base_2+"n" ; + ASg Gen Masc => base_1+"hri"+base_2+"n" ; + ASg Gen Fem => base_1+"hri"+base_2+"n" ; + APl => base_1+"la"+base_2 + } ; + voc = table { + Masc => base_1+"hri"+base_2+"n" ; + Fem => base_1+"hri"+base_2+"n" + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA054" + } ; + +mkA055 : Str -> A ; +mkA055 base = + case base of { + base_1+base_2@(?+?+?+?+?)+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+base_2+"i"+base_3 ; + ASg Gen Fem => nonExist ; + APl => base_1+"h"+base_2+base_3 + } ; + voc = table { + Masc => base_1+"h"+base_2+"i"+base_3 ; + Fem => base_1+"h"+base_2+base_3 + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA055" + } ; + +mkA056 : Str -> A ; +mkA056 base = + case base of { + base_1@?+base_2@(?+?)+base_3+"a" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3+"a" ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3+"a" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA056" + } ; + +mkA057 : Str -> A ; +mkA057 base = + case base of { + base_1+"ea"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ea"+base_2 ; + ASg (Nom _) Fem => base_1+"ea"+base_2 ; + ASg (Dat _) Masc => base_1+"ea"+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2 ; + APl => base_1+"ea"+base_2 + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+"ea"+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA057" + } ; + +mkA058 : Str -> A ; +mkA058 base = + case base of { + "ionmh"+base_1+"i"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => "ionmh"+base_1+"i"+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"sa" + }; + _ => error "Can't apply paradigm mkA058" + } ; + +mkA059 : Str -> A ; +mkA059 base = + case base of { + "ionmhui"+base_1 => lin A + { s = table { + ASg (Nom _) Masc => "ionmhui"+base_1 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "a"+base_1+"sa" + }; + _ => error "Can't apply paradigm mkA059" + } ; + +mkA060 : Str -> A ; +mkA060 base = + case base of { + base_1+"nn" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"nn" ; + ASg (Nom _) Fem => base_1+"nn" ; + ASg (Dat _) Masc => base_1+"nn" ; + ASg (Dat _) Fem => base_1+"inn" ; + ASg Gen Masc => base_1+"inn" ; + ASg Gen Fem => base_1+"inne" ; + APl => base_1+"nna" + } ; + voc = table { + Masc => base_1+"inn" ; + Fem => base_1+"nn" + } ; + compar = base_1 + }; + _ => error "Can't apply paradigm mkA060" + } ; + +mkA061 : Str -> A ; +mkA061 base = + case base of { + "mat"+base_1 => lin A + { s = table { + ASg (Nom _) Masc => "mat"+base_1 ; + ASg (Nom _) Fem => "m"+base_1+"ath" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => "mait"+base_1 ; + ASg Gen Fem => "mait"+base_1+"e" ; + APl => "mat"+base_1+"a" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "f"+base_1+"eàrr" + }; + _ => error "Can't apply paradigm mkA061" + } ; + +mkA062 : Str -> A ; +mkA062 base = + case base of { + base_1+"i"+base_2@?+"i"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"i"+base_2+"i"+base_3 ; + ASg (Nom _) Fem => base_1+"hi"+base_2+"i"+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+"hi"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+"ì"+base_2+base_3+"e" ; + APl => base_1+"ì"+base_2+base_3+"e" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"ì"+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA062" + } ; + +mkA063 : Str -> A ; +mkA063 base = + case base of { + base_1+base_2@(?+?)+"_1" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"_1" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA063" + } ; + +mkA064 : Str -> A ; +mkA064 base = + case base of { + base_1+"òr" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"òr" ; + ASg (Nom _) Fem => base_1+"hòr" ; + ASg (Dat _) Masc => base_1+"òr" ; + ASg (Dat _) Fem => base_1+"hòir" ; + ASg Gen Masc => base_1+"hòir" ; + ASg Gen Fem => base_1+"òire" ; + APl => base_1+"òra" + } ; + voc = table { + Masc => base_1+"hòir" ; + Fem => base_1+"hòr" + } ; + compar = base_1+"otha" + }; + _ => error "Can't apply paradigm mkA064" + } ; + +mkA065 : Str -> A ; +mkA065 base = + case base of { + base_1+base_2@(?+?+?+?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+"h"+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+base_2+"e" ; + APl => base_1+base_2+"e" + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkA065" + } ; + +mkA066 : Str -> A ; +mkA066 base = + case base of { + base_1+"ór" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ór" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"otha" + }; + _ => error "Can't apply paradigm mkA066" + } ; + +mkA067 : Str -> A ; +mkA067 base = + case base of { + "neo-"+base_1+"h"+base_2@(?+?+?)+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => "neo-"+base_1+"h"+base_2+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => base_1+base_2+base_3+"a" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA067" + } ; + +mkA068 : Str -> A ; +mkA068 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => base_1 ; + ASg (Dat _) Fem => base_1+"e" ; + ASg Gen Masc => base_1 ; + ASg Gen Fem => base_1 ; + APl => base_1 + } ; + voc = table { + Masc => base_1 ; + Fem => base_1 + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA068" + } ; + +mkA069 : Str -> A ; +mkA069 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1 ; + ASg Gen Fem => base_1+"e" ; + APl => base_1+"e" + } ; + voc = table { + Masc => base_1 ; + Fem => base_1 + } ; + compar = base_1+"e" + }; + _ => error "Can't apply paradigm mkA069" + } ; + +mkA070 : Str -> A ; +mkA070 base = + case base of { + base_1+"lc" => lin A + { s = table { + ASg (Nom _) Masc => base_1+"lc" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "mi"+base_1+"sa" + }; + _ => error "Can't apply paradigm mkA070" + } ; + +mkA071 : Str -> A ; +mkA071 base = + case base of { + base_1+"a"+base_2@(?+?)+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"a"+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"a"+base_2+base_3 ; + ASg (Dat _) Masc => base_1+"a"+base_2+base_3 ; + ASg (Dat _) Fem => base_1+"a"+base_2+"i"+base_3 ; + ASg Gen Masc => base_1+"a"+base_2+"i"+base_3 ; + ASg Gen Fem => base_1+"o"+base_2+"i"+base_3+"e" ; + APl => base_1+"a"+base_2+base_3 + } ; + voc = table { + Masc => base_1+"a"+base_2+"i"+base_3 ; + Fem => base_1+"a"+base_2+base_3 + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA071" + } ; + +mkA072 : Str -> A ; +mkA072 base = + case base of { + base_1+base_2@?+"o"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"o"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"o"+base_3 ; + ASg (Dat _) Masc => base_1+base_2+"o"+base_3 ; + ASg (Dat _) Fem => base_1+"h"+base_2+"ui"+base_3 ; + ASg Gen Masc => base_1+base_2+"ui"+base_3 ; + ASg Gen Fem => base_1+base_2+"ui"+base_3+"e" ; + APl => base_1+base_2+"o"+base_3+"a" + } ; + voc = table { + Masc => base_1+"h"+base_2+"ui"+base_3 ; + Fem => base_1+"h"+base_2+"o"+base_3 + } ; + compar = base_1+base_2+"ui"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA072" + } ; + +mkA073 : Str -> A ; +mkA073 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+"h"+base_2 ; + ASg (Dat _) Masc => base_1+base_2 ; + ASg (Dat _) Fem => base_1+"h"+base_2 ; + ASg Gen Masc => base_1+"h"+base_2 ; + ASg Gen Fem => base_1+"h"+base_2 ; + APl => base_1+base_2 + } ; + voc = table { + Masc => base_1+"h"+base_2 ; + Fem => base_1+"h"+base_2 + } ; + compar = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkA073" + } ; + +mkA074 : Str -> A ; +mkA074 base = + case base of { + base_1+"a"+base_2@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"a"+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"a" + }; + _ => error "Can't apply paradigm mkA074" + } ; + +mkA075 : Str -> A ; +mkA075 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => base_1 ; + ASg (Dat _) Fem => base_1 ; + ASg Gen Masc => base_1 ; + ASg Gen Fem => base_1 ; + APl => base_1 + } ; + voc = table { + Masc => base_1 ; + Fem => base_1 + } ; + compar = base_1+"e" + }; + _ => error "Can't apply paradigm mkA075" + } ; + +mkA076 : Str -> A ; +mkA076 base = + case base of { + base_1+"è"+base_2@(?+?)+"ea"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"è"+base_2+"ea"+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+"è"+base_2+"i"+base_3 ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"é"+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkA076" + } ; + +mkA077 : Str -> A ; +mkA077 base = + case base of { + base_1+base_2@("g"|(?+?)) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => base_1+base_2 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+base_2+"a" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA077" + } ; + +mkA078 : Str -> A ; +mkA078 base = + case base of { + base_1+base_2@?+"an" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"an" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"in"+base_2 + }; + _ => error "Can't apply paradigm mkA078" + } ; + +mkA079 : Str -> A ; +mkA079 base = + case base of { + base_1+"a"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"a"+base_2 ; + ASg (Nom _) Fem => base_1+"a"+base_2 ; + ASg (Dat _) Masc => base_1+"a"+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+"a"+base_2+"a" + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+"a"+base_2 + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA079" + } ; + +mkA080 : Str -> A ; +mkA080 base = + case base of { + base_1+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1+base_2 ; + ASg Gen Fem => base_1+base_2 ; + APl => base_1+base_2 + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA080" + } ; + +mkA081 : Str -> A ; +mkA081 base = + case base of { + base_1+"ea"+base_2@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+"ea"+base_2 ; + ASg (Nom _) Fem => base_1+"ea"+base_2 ; + ASg (Dat _) Masc => base_1+"ea"+base_2 ; + ASg (Dat _) Fem => base_1+"i"+base_2 ; + ASg Gen Masc => base_1+"i"+base_2 ; + ASg Gen Fem => base_1+"i"+base_2+"e" ; + APl => base_1+"ea"+base_2 + } ; + voc = table { + Masc => base_1+"i"+base_2 ; + Fem => base_1+"ea"+base_2 + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA081" + } ; + +mkA082 : Str -> A ; +mkA082 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => base_1 ; + ASg (Dat _) Masc => base_1 ; + ASg (Dat _) Fem => base_1 ; + ASg Gen Masc => base_1 ; + ASg Gen Fem => base_1+"e" ; + APl => base_1 + } ; + voc = table { + Masc => base_1 ; + Fem => base_1 + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA082" + } ; + +mkA083 : Str -> A ; +mkA083 base = + case base of { + base_1+base_2@?+"inn" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"inn" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"n"+base_2 + }; + _ => error "Can't apply paradigm mkA083" + } ; + +mkA084 : Str -> A ; +mkA084 base = + case base of { + base_1@(?+?)+base_2+"a" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"a" ; + ASg (Nom _) Fem => base_1+base_2+"a" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA084" + } ; + +mkA085 : Str -> A ; +mkA085 base = + case base of { + base_1+base_2@?+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"o"+base_3+"a" + }; + _ => error "Can't apply paradigm mkA085" + } ; + +mkA086 : Str -> A ; +mkA086 base = + case base of { + base_1+base_2@?+"u"+base_3@(?+?) => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"u"+base_3 ; + ASg (Nom _) Fem => base_1+"h"+base_2+"u"+base_3 ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA086" + } ; + +mkA087 : Str -> A ; +mkA087 base = + case base of { + base_1+base_2@?+base_3@?+"un" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+base_3+"un" ; + ASg (Nom _) Fem => base_1+"h"+base_2+base_3+"un" ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+"èin"+base_3 + }; + _ => error "Can't apply paradigm mkA087" + } ; + +mkA088 : Str -> A ; +mkA088 base = + case base of { + base_1 => lin A + { s = table { + ASg (Nom _) Masc => base_1 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => base_1 ; + ASg Gen Fem => nonExist ; + APl => base_1+"an" + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = nonExist + }; + _ => error "Can't apply paradigm mkA088" + } ; + +mkA089 : Str -> A ; +mkA089 base = + case base of { + base_1+base_2@?+"ai"+base_3@?+"n" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"ai"+base_3+"n" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"i"+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA089" + } ; + +mkA090 : Str -> A ; +mkA090 base = + case base of { + base_1+"o"+base_2@?+"a"+base_3@? => lin A + { s = table { + ASg (Nom _) Masc => base_1+"o"+base_2+"a"+base_3 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+base_2+base_3+"e" + }; + _ => error "Can't apply paradigm mkA090" + } ; + +mkA091 : Str -> A ; +mkA091 base = + case base of { + base_1+base_2@?+"al" => lin A + { s = table { + ASg (Nom _) Masc => base_1+base_2+"al" ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = base_1+"l"+base_2 + }; + _ => error "Can't apply paradigm mkA091" + } ; + +mkA092 : Str -> A ; +mkA092 base = + case base of { + "ù"+base_1+base_2@? => lin A + { s = table { + ASg (Nom _) Masc => "ù"+base_1+base_2 ; + ASg (Nom _) Fem => nonExist ; + ASg (Dat _) Masc => nonExist ; + ASg (Dat _) Fem => nonExist ; + ASg Gen Masc => nonExist ; + ASg Gen Fem => nonExist ; + APl => nonExist + } ; + voc = table { + Masc => nonExist ; + Fem => nonExist + } ; + compar = "u"+base_1+"i"+base_2+"e" + }; + _ => error "Can't apply paradigm mkA092" + } ; + +reg4N' nom pl gen pal g = + lin N + { s = table { + Nom _ => table { + Indef => table { + Sg => nom ; + Pl => pl + } ; + Def => table { + Sg => nom ; + Pl => pl + } + } ; + Dat _ => table { + Indef => table { + Sg => nom ; + Pl => pl + } ; + Def => table { + Sg => lenite nom ; + Pl => pl + } + } ; + Gen => table { + Indef => table { + Sg => gen ; + Pl => pl + } ; + Def => table { + Sg => case g of { + Fem => gen ; + Masc => lenite pal + } ; + Pl => pl + } + } + } ; + voc = table { + Sg => lenite pal ; + Pl => pl + } ; + g = g + }; + +mkN001 : Str -> LinN ; +mkN001 base = + let pal = palatalise base + in mk5N base base pal (base+"an") pal Masc ; + +mkN002 : Str -> LinN ; +mkN002 base = + let pal = palatalise base + in mk5N base base pal pal pal Masc ; + +mkN004 : Str -> LinN ; +mkN004 base = mk5N base base base (base+"an") (palatalise base) Fem ; + +mkN005 : Str -> LinN ; +mkN005 base = + case base of { + base_1+base_2@(?+?)+"r" => + let pal = palatalise base + in mk5N base base pal (base_1+"r"+base_2+"chean") pal Masc ; + _ => error "Can't apply paradigm mkN005" + } ; + +mkN007 : Str -> LinN ; +mkN007 base = mk5N base base (base+"e") (base+"ean") (palatalise base) Fem ; + +mkN009 : Str -> LinN ; +mkN009 base = mk5N base base base (base+"an") (palatalise base) Masc ; + +mkN010 : Str -> LinN ; +mkN010 base = mk5N base base (base+"e") (base+"ean") (palatalise base) Masc ; + +mkN011 : Str -> LinN ; +mkN011 base = + case base of { + base_1@(_+("e"|"è"))+"a"+base_2@("sg"|"mh"|"nd"|"nn"|"bh"|"rt"|"nt"|"rg"|?) => mk5N base base (base_1+"i"+base_2) (base+"an") (base_1+"i"+base_2) Masc ; + _ => error "Can't apply paradigm mkN011" + } ; + +mkN013 : Str -> LinN ; +mkN013 base = + case base of { + base_1+"ia" => mk5N base base (base_1+"hè") (base+"than") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN013" + } ; + +mkN014 : Str -> LinN ; +mkN014 base = + case base of { + base_1+base_2@(?+?) => mk5N base base (base_1+"i"+base_2+"e") base (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN014" + } ; + +mkN015 : Str -> LinN ; +mkN015 base = + case base of { + base_1+"a"+base_2@("ng"|?) => mk5N base base (base_1+"i"+base_2) (base_1+"i"+base_2) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN015" + } ; + +mkN016 : Str -> LinN ; +mkN016 base = + case base of { + base_1+"a"+base_2@(?+?) => mk5N base base (base_1+"oi"+base_2) (base_1+"oi"+base_2) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN016" + } ; + +mkN017 : Str -> LinN ; +mkN017 base = + let pal = palatalise base + in mk5N base base pal (pal+"ean") pal Masc ; + +mkN019 : Str -> LinN ; +mkN019 base = + case base of { + base_1+"a"+base_2@("rc"|"ch"|"ng"|"rg"|"lg"|?) => mk5N base base (base_1+"i"+base_2+"e") (base+"an") (base_1+"i"+base_2) Fem ; + _ => error "Can't apply paradigm mkN019" + } ; + +mkN020 : Str -> LinN ; +mkN020 base = + let pal = palatalise base ; + len = lenite base + in mkNoun base pal base pal base pal base pal pal len pal base (lenite pal) (len+"a") Masc ; + +mkN021 : Str -> LinN ; +mkN021 base = mk5N base base (base+"a") (base+"achan") (palatalise base) Masc ; + +mkN022 : Str -> LinN ; +mkN022 base = reg4N' base (base+"chan") base (palatalise base) Masc ; + +mkN023 : Str -> LinN ; +mkN023 base = + let pal = palatalise base + in mk5N base base pal (base+"an") pal Fem ; + +mkN024 : Str -> LinN ; +mkN024 base = + case base of { + base_1@?+base_2+"ainn" => mk5N base base (base_1+"i"+base_2+"ne") (base_1+"i"+base_2+"nichean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN024" + } ; + +mkN025 : Str -> LinN ; +mkN025 base = mk5N base base base (base+"ean") (palatalise base) Fem ; + +mkN026 : Str -> LinN ; +mkN026 base = + case base of { + base_1+base_2@?+"ir" => mk5N base base (base_1+"r"+base_2+"ch") (base_1+"r"+base_2+"ichean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN026" + } ; + +mkN027 : Str -> LinN ; +mkN027 base = mk5N base base base (base+"annan") (palatalise base) Fem ; + +mkN028 : Str -> LinN ; +mkN028 base = mk5N base base base (base+"ean") (palatalise base) Masc ; + +mkN029 : Str -> LinN ; +mkN029 base = + case base of { + base_1+"as" => + let pal = palatalise base + in mk5N base base pal (base_1+"an") pal Masc ; + _ => error "Can't apply paradigm mkN029" + } ; + +mkN030 : Str -> LinN ; +mkN030 base = + let pal = palatalise base + in mk5N base base (pal+"e") (base+"an") pal Fem ; + +mkN031 : Str -> LinN ; +mkN031 base = + case base of { + "adha" => mk5N base base base "àinean" (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN031" + } ; + +mkN032 : Str -> LinN ; +mkN032 base = mk5N base base (palatalise base+"e") base (palatalise base) Fem ; + +mkN033 : Str -> LinN ; +mkN033 base = mk5N base base (palatalise base) (base+"aichean") (palatalise base) Masc ; + +mkN034 : Str -> LinN ; +mkN034 base = mk5N base base (palatalise base) (palatalise base+"an") (palatalise base) Masc ; + +mkN035 : Str -> LinN ; +mkN035 base = mk5N base base (base+"aig") (base+"an") (palatalise base) Masc ; + +mkN036 : Str -> LinN ; +mkN036 base = mkNoun base (palatalise base+"ean") base (palatalise base+"ean") (palatalise base) (palatalise base+"ean") (palatalise base) (palatalise base+"ean") (palatalise base+"e") base (palatalise base+"e") base (lenite base) (lenite base+"a") Fem ; + +mkN037 : Str -> LinN ; +mkN037 base = + case base of { + "aghann" => mk5N base base "aighne" (base+"an") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN037" + } ; + +mkN038 : Str -> LinN ; +mkN038 base = reg4N' base (base+"an") base (palatalise base) Masc ; + +mkN039 : Str -> LinN ; +mkN039 base = + case base of { + base_1@(_+"e")+"a"+base_2@? => reg4N' base (base+"an") (base_1+"i"+base_2) (base_1+"i"+base_2) Masc ; + _ => error "Can't apply paradigm mkN039" + } ; + +mkN040 : Str -> LinN ; +mkN040 base = reg4N' base (base+"ean") (base+"e") base Fem ; + +mkN041 : Str -> LinN ; +mkN041 base = mkNoun base (base+"ean") base (base+"ean") base (base+"ean") base (base+"ean") base (base+"ean") (base+"e") (base+"ean") (lenite base) (base+"ean") Fem ; + +mkN042 : Str -> LinN ; +mkN042 base = + case base of { + base_1+"ea"+base_2@(?+?) => mk5N base base base (base_1+"i"+base_2) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN042" + } ; + +mkN043 : Str -> LinN ; +mkN043 base = + case base of { + base_1@(_+("e"|"è"))+"a"+base_2@("bh"|"rt"|"lg"|"mh"|?) => mk5N base base (base_1+"i"+base_2) (base+"an") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN043" + } ; + +mkN044 : Str -> LinN ; +mkN044 base = + case base of { + base_1+"iach" => mk5N base base (base_1+"eich") (base_1+"iachan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN044" + } ; + +mkN045 : Str -> LinN ; +mkN045 base = mk5N base base (palatalise base) (palatalise base) (palatalise base) Fem ; + +mkN046 : Str -> LinN ; +mkN046 base = mk5N base base base (base+"n") (palatalise base) Masc ; + +mkN047 : Str -> LinN ; +mkN047 base = + case base of { + base_1+"o"+base_2@("n"|"d"|"ll") => mk5N base base (base_1+base_2) (base+"tan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN047" + } ; + +mkN048 : Str -> LinN ; +mkN048 base = mk5N base base base base (palatalise base) Fem ; + +mkN049 : Str -> LinN ; +mkN049 base = + case base of { + base_1+"i"+base_2@? => mk5N base base (base_1+base_2+"e") (base_1+base_2+"ean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN049" + } ; + +mkN050 : Str -> LinN ; +mkN050 base = + case base of { + base_1+"ea"+base_2@(?+?) => mk5N base base (base_1+"io"+base_2+"a") (base+"an") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN050" + } ; + +mkN051 : Str -> LinN ; +mkN051 base = + case base of { + ("a"|"o")+base_1 => mk5N base base ("ui"+base_1) ("ui"+base_1) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN051" + } ; + +mkN052 : Str -> LinN ; +mkN052 base = + case base of { + "alp" => mk5N base base "ailp" (base+"a") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN052" + } ; + +mkN053 : Str -> LinN ; +mkN053 base = + case base of { + "alt" => mk5N base base "uilt" "altan" (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN053" + } ; + +mkN054 : Str -> LinN ; +mkN054 base = mk5N base base (palatalise base) (palatalise base+"ean") (palatalise base) Fem ; + +mkN055 : Str -> LinN ; +mkN055 base = + case base of { + base_1+"i"+base_2@? => mk5N base base (base_1+base_2+"ach") (base+"ean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN055" + } ; + +mkN056 : Str -> LinN ; +mkN056 base = + case base of { + base_1+"am" => mk5N base base (base_1+"ma") (base_1+"man") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN056" + } ; + +mkN057 : Str -> LinN ; +mkN057 base = mk5N base base base (base+"ichean") (palatalise base) Fem ; + +mkN058 : Str -> LinN ; +mkN058 base = + case base of { + base_1+"air" => mkNoun base (base_1+"raichean") base (base_1+"raichean") base (base_1+"raichean") base (base_1+"raichean") (base_1+"ar") (base_1+"raichean") (base_1+"ar") (base_1+"raichean") base (base_1+"raichean") Masc ; + _ => error "Can't apply paradigm mkN058" + } ; + +mkN059 : Str -> LinN ; +mkN059 base = mk5N base base (base+"a") (base+"an") (palatalise base) Masc ; + +mkN060 : Str -> LinN ; +mkN060 base = mkNoun base (palatalise base+"ean") base (palatalise base+"ean") base (palatalise base+"ean") (lenite base) (palatalise base+"ean") (palatalise base) (lenite (palatalise base)+"ean") (lenite (palatalise base)) (palatalise base+"ean") (lenite (palatalise base)) (lenite (palatalise base)+"ean") Masc ; + +mkN061 : Str -> LinN ; +mkN061 base = mk5N base base base (base+"ichean") (palatalise base) Masc ; + +mkN062 : Str -> LinN ; +mkN062 base = + case base of { + base_1+"e" => mkNoun base (base_1+"tean") base (palatalise base) base (base_1+"tean") (base_1+"he") (palatalise base) base (lenite base) (base_1+"he") base (base_1+"he") (base+"a") Masc ; + _ => error "Can't apply paradigm mkN062" + } ; + +mkN063 : Str -> LinN ; +mkN063 base = mk5N base base base (base+"rean") (palatalise base) Fem ; + +mkN064 : Str -> LinN ; +mkN064 base = + case base of { + "baintighearna" => mkNoun base (base+"n") (lenite base) (base+"n") base (base+"n") (lenite base) (base+"n") base (lenite base+"n") base (base+"n") (lenite base) (lenite base+"n") Fem ; + _ => error "Can't apply paradigm mkN064" + } ; + +mkN067 : Str -> LinN ; +mkN067 base = + case base of { + base_1+"a"+base_2@(?+?) => mk5N base base (base_1+"ui"+base_2) (base_1+"ui"+base_2) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN067" + } ; + +mkN068 : Str -> LinN ; +mkN068 base = + case base of { + "balla" => mkNoun base (base+"chan") base (base+"chan") base (base+"chan") (lenite base) (base+"chan") base (lenite base+"chan") (lenite base) (base+"chan") (lenite base) (lenite base+"chan") Masc ; + _ => error "Can't apply paradigm mkN068" + } ; + +mkN069 : Str -> LinN ; +mkN069 base = + case base of { + base_1+("a"|"o")+base_2@("sg"|"lt"|"rt"|"rc"|"nn"|?) => mk5N base base (base_1+"ui"+base_2) (base+"an") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN069" + } ; + +mkN070 : Str -> LinN ; +mkN070 base = mk5N base base base (base+"thaichean") (palatalise base) Masc ; + +mkN071 : Str -> LinN ; +mkN071 base = + case base of { + base_1+"nais" => mk5N base base (base_1+"innse") (base_1+"innsean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN071" + } ; + +mkN072 : Str -> LinN ; +mkN072 base = + case base of { + base_1+"a"+base_2@("s"|"ch") => mk5N base (base_1+"oi"+base_2) (base_1+"oi"+base_2+"e") (base+"an") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN072" + } ; + +mkN073 : Str -> LinN ; +mkN073 base = + case base of { + "bea"+base_1 => mkNoun base ("m"+base_1+"athan") (lenite base) ("m"+base_1+"athan") base ("m"+base_1+"athan") (lenite base) ("m"+base_1+"athan") ("m"+base_1+"à") ("ba"+base_1) ("m"+base_1+"à") ("ba"+base_1) (lenite base) ("mh"+base_1+"athan") Fem ; + _ => error "Can't apply paradigm mkN073" + } ; + +mkN074 : Str -> LinN ; +mkN074 base = + case base of { + "beann" => mkNoun base (base+"an") (lenite base) (base+"an") "beinn" (base+"an") (lenite "beinn") (base+"an") "beinn" (lenite base) "beinne" base (lenite base) (lenite base+"a") Fem ; + _ => error "Can't apply paradigm mkN074" + } ; + +mkN075 : Str -> LinN ; +mkN075 base = + case base of { + "beatha" => mkNoun base (base+"nnan") base (base+"nnan") base (base+"nnan") (palatalise base) (base+"nnan") base (lenite base) base base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN075" + } ; + +mkN076 : Str -> LinN ; +mkN076 base = mkNoun base (base+"ean") (lenite base) (base+"ean") base (base+"ean") (lenite base) (base+"ean") (base+"e") (lenite base+"ean") (base+"e") (base+"ean") (lenite base) (lenite base+"ean") Fem ; + +mkN077 : Str -> LinN ; +mkN077 base = + case base of { + "beinn" => mkNoun base "beanntan" (lenite base) "beanntan" base "beanntan" (lenite base) "beanntan" (base+"e") "beann" (base+"e") "beann" (lenite base) (lenite "beannta") Fem ; + _ => error "Can't apply paradigm mkN077" + } ; + +mkN078 : Str -> LinN ; +mkN078 base = + case base of { + "beithe" => mkNoun base (base+"an") "bheithe" (base+"an") base (base+"an") "bheithe" (base+"an") base "bheithean" base (base+"an") "bheithe" "bheithean" Fem ; + _ => error "Can't apply paradigm mkN078" + } ; + +mkN079 : Str -> LinN ; +mkN079 base = + case base of { + base_1+"i"+base_2@(?+?)+"i"+base_3@? => mkNoun base (base_1+"i"+base_2+base_3+"ichean") base (palatalise base) base (base_1+"i"+base_2+base_3+"ichean") (lenite base) (palatalise base) (base_1+"a"+base_2+base_3+"ach") (lenite base) (lenite (palatalise base)) (base) (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN079" + } ; + +mkN080 : Str -> LinN ; +mkN080 base = + case base of { + base_1+"u"+base_2@? => mkNoun base (base+"an") base (palatalise base) base (base+"an") (lenite base) (palatalise base) (base_1+"òi"+base_2) (base_1+"òi"+base_2) (lenite (palatalise base)) base (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN080" + } ; + +mkN081 : Str -> LinN ; +mkN081 base = + case base of { + base_1+"u"+base_2@? => mk5N base base (base_1+"òi"+base_2) (base_1+"òi"+base_2) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN081" + } ; + +mkN082 : Str -> LinN ; +mkN082 base = mk5N base base (base+"a") (base+"an") (palatalise base) Fem ; + +mkN083 : Str -> LinN ; +mkN083 base = + case base of { + base_1+"eà"+base_2@(?+?) => mkNoun base (base+"an") base (palatalise base) base (base+"an") (lenite base) (palatalise base) (base_1+"èi"+base_2) (lenite base) (lenite (palatalise base)) base (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN083" + } ; + +mkN084 : Str -> LinN ; +mkN084 base = mk5N base base base (base+"aichean") (palatalise base) Masc ; + +mkN085 : Str -> LinN ; +mkN085 base = mk5N base base base (base+"than") (palatalise base) Masc ; + +mkN086 : Str -> LinN ; +mkN086 base = + case base of { + base_1+"ia"+base_2@(?+?) => mk5N base base (base_1+"ì"+base_2) (base+"an") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN086" + } ; + +mkN088 : Str -> LinN ; +mkN088 base = mk5N base base base (base+"chan") (palatalise base) Masc ; + +mkN089 : Str -> LinN ; +mkN089 base = + case base of { + base_1@("st"|"cn"|"cr"|?)+"o"+base_2 => mkNoun base (base_1+"ui"+base_2) (base_1+"o"+base_2) (palatalise base) base (base_1+"ui"+base_2) (lenite base) (palatalise base) (base_1+"ui"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"o"+base_2) (lenite (palatalise base)) (base_1+"o"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN089" + } ; + +mkN090 : Str -> LinN ; +mkN090 base = + case base of { + base_1@?+base_2 => mkNoun base (base+"an") base (base+"an") base (base+"an") (lenite base) (base+"an") base (lenite base+"an") (lenite base) (base+"an") (lenite base) (lenite base+"an") Masc ; + _ => error "Can't apply paradigm mkN090" + } ; + +mkN092 : Str -> LinN ; +mkN092 base = + case base of { + base_1+"i"+base_2@? => mk5N base base (base_1+"ma") (base_1+base_2+"annan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN092" + } ; + +mkN093 : Str -> LinN ; +mkN093 base = + case base of { + base_1+"ea"+base_2@("s"|(?+?)) => mkNoun base (base+"an") base (palatalise base) base (base+"an") (lenite base) (palatalise base) (base_1+"i"+base_2) (base_1+"i"+base_2) (lenite (palatalise base)) base (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN093" + } ; + +mkN094 : Str -> LinN ; +mkN094 base = + case base of { + base_1+base_2@?+"ug" => mk5N base base (base_1+"èig"+base_2) (base+"an") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN094" + } ; + +mkN095 : Str -> LinN ; +mkN095 base = + case base of { + base_1+"ar" => mk5N base base (base_1+"air") (base_1+"ran") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN095" + } ; + +mkN096 : Str -> LinN ; +mkN096 base = + case base of { + base_1+base_2@?+"o"+base_3@? => mkNoun base (base_1+base_2+"ui"+base_3) base (base_1+base_2+"ui"+base_3) base (base_1+base_2+"ui"+base_3) (base_1+"h"+base_2+"o"+base_3) (base_1+base_2+"ui"+base_3) (base_1+base_2+"ui"+base_3) (base_1+"h"+base_2+"o"+base_3) (base_1+"h"+base_2+"ui"+base_3) base (base_1+"h"+base_2+"ui"+base_3) (base_1+"h"+base_2+"o"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN096" + } ; + +mkN098 : Str -> LinN ; +mkN098 base = + case base of { + base_1@?+base_2+base_3@("s"|"c"|"g"|"ch"|"bh"|"th") => mkNoun base (base_1+base_2+base_3+"an") (base_1+"h"+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+base_3) (base_1+"h"+base_2+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN098" + } ; + +mkN100 : Str -> LinN ; +mkN100 base = + case base of { + base_1+"inn" => mk5N base base (base_1+"ne") (base_1+"nean") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN100" + } ; + +mkN101 : Str -> LinN ; +mkN101 base = + case base of { + "brà" => mkNoun base (base+"thntan") "bhrà" (base+"thntan") base (base+"thntan") "bhrà" (base+"thntan") (base+"than") "bhràthntan" (base+"than") (base+"thntan") "bhrà" "bhràthntan" Fem ; + _ => error "Can't apply paradigm mkN101" + } ; + +mkN102 : Str -> LinN ; +mkN102 base = + case base of { + base_1+base_2@(?+?)+"i"+base_3@(?+?) => mkNoun base (base+"eachan") base (base+"eachan") base (base+"eachan") (base_1+"h"+base_2+"i"+base_3) (base+"eachan") (base_1+base_2+base_3+"ad") (base_1+"h"+base_2+"i"+base_3+"eachan") (base_1+"h"+base_2+base_3+"ad") (base+"eachan") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"eachan") Masc ; + _ => error "Can't apply paradigm mkN102" + } ; + +mkN103 : Str -> LinN ; +mkN103 base = + case base of { + base_1+base_2@(?+?)+base_3@(?+?)+"ai"+base_4@? => mkNoun (base_1+base_2+base_3+"ai"+base_4) (base_1+base_2+"i"+base_3+base_4+"ean") (base_1+base_2+base_3+"ai"+base_4) (base_1+base_2+"i"+base_3+base_4+"ean") (base_1+base_2+base_3+"ai"+base_4) (base_1+base_2+"i"+base_3+base_4+"ean") (base_1+"h"+base_2+base_3+"ai"+base_4) (base_1+base_2+"i"+base_3+base_4+"ean") (base_1+base_2+base_3+"a"+base_4) (base_1+"h"+base_2+"i"+base_3+base_4+"ean") (base_1+"h"+base_2+base_3+"a"+base_4) (base_1+base_2+"i"+base_3+base_4+"ean") (base_1+"h"+base_2+base_3+"ai"+base_4) (base_1+"h"+base_2+"i"+base_3+base_4+"ean") Masc ; + _ => error "Can't apply paradigm mkN103" + } ; + +mkN104 : Str -> LinN ; +mkN104 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"i"+base_2) (base_1+"ea"+base_2) (base_1+"i"+base_2) base (base_1+"i"+base_2) (palatalise base) (base_1+"i"+base_2) (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2) (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN104" + } ; + +mkN105 : Str -> LinN ; +mkN105 base = + case base of { + base_1+base_2@?+"ù" => mkNoun (base_1+base_2+"ù") (base_1+base_2+"ùthan") (base_1+"h"+base_2+"ù") (base_1+base_2+"ùthan") (base_1+base_2+"oinn") (base_1+base_2+"onnaibh") (base_1+"h"+base_2+"oinn") (base_1+base_2+"onnaibh") (base_1+base_2+"onn") (base_1+"h"+base_2+"onn") (base_1+base_2+"onn") (base_1+base_2+"onn") (base_1+"h"+base_2+"ù") (base_1+"h"+base_2+"ùtha") Fem ; + _ => error "Can't apply paradigm mkN105" + } ; + +mkN106 : Str -> LinN ; +mkN106 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+base_2+"annan") (base_1+"i"+base_2) (base_1+base_2+"annan") base (base_1+base_2+"annan") (palatalise base) (base_1+base_2+"annan") (base_1+base_2+"a") (lenite base) (base_1+base_2+"a") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN106" + } ; + +mkN107 : Str -> LinN ; +mkN107 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"i"+base_2) (base_1+base_2) (palatalise base) base (base_1+"i"+base_2) (lenite base) (palatalise base) (base_1+base_2+"a") (lenite base) (lenite (palatalise base)) (base_1+base_2) (lenite (palatalise base)) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN107" + } ; + +mkN108 : Str -> LinN ; +mkN108 base = + case base of { + base_1+base_2@(?+?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+"i"+base_2+"ean") (base_1+base_2) (palatalise base) base (base_1+"i"+base_2+"ean") (lenite base) (palatalise base) (base_1+"h"+base_2) (lenite base) (lenite (palatalise base)) (base_1+base_2) (lenite (palatalise base)) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN108" + } ; + +mkN109 : Str -> LinN ; +mkN109 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"i"+base_2+"ean") (base_1+"ea"+base_2) (base_1+"i"+base_2+"ean") base (base_1+"i"+base_2+"ean") (palatalise base) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2) (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN109" + } ; + +mkN110 : Str -> LinN ; +mkN110 base = + case base of { + base_1+"à"+base_2@(?+?) => mkNoun (base_1+"à"+base_2) (base_1+"a"+base_2+"an") (base_1+"à"+base_2) (palatalise base) base (base_1+"a"+base_2+"an") (lenite base) (palatalise base) (base_1+"a"+base_2+"a") (lenite base) (lenite (palatalise base)) (base_1+"à"+base_2) (lenite (palatalise base)) (base_1+"à"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN110" + } ; + +mkN111 : Str -> LinN ; +mkN111 base = + case base of { + base_1+"ò" => mkNoun (base_1+"ò") (base_1+"à") (base_1+"hò") (base_1+"à") (base_1+"ò") (base_1+"à") (base_1+"hoin") (base_1+"à") (base_1+"à") (base_1+"ò") (base_1+"à") (base_1+"ò") (base_1+"hò") (base_1+"hà") Fem ; + _ => error "Can't apply paradigm mkN111" + } ; + +mkN112 : Str -> LinN ; +mkN112 base = + case base of { + base_1+"l" => mkNoun (base_1+"l") (base_1+"gais") (base_1+"l") (palatalise base) base (base_1+"gais") (lenite base) (palatalise base) (base_1+"gais") (lenite base) (lenite (palatalise base)) (base_1+"l") (lenite (palatalise base)) (base_1+"la") Masc ; + _ => error "Can't apply paradigm mkN112" + } ; + +mkN113 : Str -> LinN ; +mkN113 base = + case base of { + base_1+"ò"+base_2@(?+?) => mkNoun (base_1+"ò"+base_2) (base_1+"ùi"+base_2) (base_1+"ò"+base_2) (palatalise base) base (base_1+"ùi"+base_2) (lenite base) (palatalise base) (base_1+"ùi"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"ò"+base_2) (lenite (palatalise base)) (base_1+"ò"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN113" + } ; + +mkN114 : Str -> LinN ; +mkN114 base = + case base of { + base_1+"ó" => mkNoun (base_1+"ó") (base_1+"à") (base_1+"ó") (base_1+"à") (base_1+"oin") (base_1+"à") (palatalise base) (base_1+"à") (base_1+"à") (base_1+"ó") (base_1+"à") (base_1+"ó") (base_1+"ó") (base_1+"óa") Fem ; + _ => error "Can't apply paradigm mkN114" + } ; + +mkN115 : Str -> LinN ; +mkN115 base = + case base of { + base_1@?+base_2 => mkNoun (base_1+base_2) (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+"h"+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ean") Masc ; + _ => error "Can't apply paradigm mkN115" + } ; + +mkN116 : Str -> LinN ; +mkN116 base = mk5N base base base (base+"annan") (palatalise base) Masc ; + +mkN117 : Str -> LinN ; +mkN117 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (palatalise base) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN117" + } ; + +mkN118 : Str -> LinN ; +mkN118 base = mk5N base base base (base+"idhean") (palatalise base) Masc ; + +mkN119 : Str -> LinN ; +mkN119 base = mk5N base base (base+"a") (base+"aidhean") (palatalise base) Masc ; + +mkN120 : Str -> LinN ; +mkN120 base = mk5N base base (base+"e") base (palatalise base) Masc ; + +mkN121 : Str -> LinN ; +mkN121 base = mk5N base base base (base+"nnan") (palatalise base) Masc ; + +mkN123 : Str -> LinN ; +mkN123 base = + case base of { + base_1+base_2@(?+?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"than") (base_1+base_2) (base_1+base_2+"than") (base_1+base_2) (base_1+base_2+"than") (base_1+"h"+base_2) (base_1+base_2+"than") (base_1+base_2) (base_1+"h"+base_2+"than") (base_1+"h"+base_2) (base_1+base_2+"than") (base_1+"h"+base_2) (base_1+"h"+base_2+"than") Masc ; + _ => error "Can't apply paradigm mkN123" + } ; + +mkN124 : Str -> LinN ; +mkN124 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"i"+base_2+"tean") (base_1+base_2) (palatalise base) base (base_1+"i"+base_2+"tean") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+base_2) (lenite (palatalise base)) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN124" + } ; + +mkN125 : Str -> LinN ; +mkN125 base = + case base of { + base_1+base_2@(?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"ich") (base_1+"h"+base_2) (base_1+base_2+"ich") (base_1+base_2) (base_1+base_2+"ibh") (base_1+"h"+base_2) (base_1+base_2+"ibh") (base_1+base_2+"ch") (base_1+base_2+"ch") (base_1+base_2+"ch") (base_1+base_2+"ch") (base_1+"h"+base_2) (base_1+"h"+base_2+"ich") Fem ; + _ => error "Can't apply paradigm mkN125" + } ; + +mkN126 : Str -> LinN ; +mkN126 base = + case base of { + base_1+"a"+base_2@?+base_3@?+"id" => mkNoun (base_1+"a"+base_2+base_3+"id") (base_1+"ài"+base_2+"de"+base_3+"n") (base_1+"a"+base_2+base_3+"id") (palatalise base) base (base_1+"ài"+base_2+"de"+base_3+"n") (lenite base) (palatalise base) (base_1+"a"+base_2+base_3+"id") (lenite base) (lenite (palatalise base)) (base_1+"a"+base_2+base_3+"id") (lenite (palatalise base)) (base_1+"a"+base_2+base_3+"ida") Masc ; + _ => error "Can't apply paradigm mkN126" + } ; + +mkN127 : Str -> LinN ; +mkN127 base = + case base of { + base_1@?+base_2+base_3@("gh"|?) => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+"h"+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN127" + } ; + +mkN128 : Str -> LinN ; +mkN128 base = + case base of { + base_1+"u" => mkNoun (base_1+"u") (base_1+"othan") (base_1+"u") (palatalise base) base (base_1+"othan") (lenite base) (palatalise base) (base_1+"u") (lenite base) (lenite (palatalise base)) (base_1+"u") (lenite (palatalise base)) (base_1+"ua") Masc ; + _ => error "Can't apply paradigm mkN128" + } ; + +mkN129 : Str -> LinN ; +mkN129 base = + case base of { + base_1+base_2@(?+?+?)+base_3@?+"ir" => mkNoun (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+"r"+base_3+"ch") (base_1+"h"+base_2+"r"+base_3+"ichean") (base_1+base_2+"r"+base_3+"ch") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+"h"+base_2+"r"+base_3+"ichean") Fem ; + _ => error "Can't apply paradigm mkN129" + } ; + +mkN131 : Str -> LinN ; +mkN131 base = + case base of { + base_1+base_2@?+"l" => mkNoun (base_1+base_2+"l") (base_1+"l"+base_2+"n") (base_1+base_2+"l") (base_1+"l"+base_2+"n") base (base_1+"l"+base_2+"n") (lenite base) (base_1+"l"+base_2+"n") (base_1+base_2+"il") (lenite base) (lenite (palatalise base)) (base_1+base_2+"l") (lenite (palatalise base)) (base_1+base_2+"la") Masc ; + _ => error "Can't apply paradigm mkN131" + } ; + +mkN132 : Str -> LinN ; +mkN132 base = + case base of { + base_1+"eò"+base_2@? => mkNoun (base_1+"eò"+base_2) (base_1+"iùi"+base_2) (base_1+"eò"+base_2) (palatalise base) base (base_1+"iùi"+base_2) (lenite base) (palatalise base) (base_1+"iùi"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"eò"+base_2) (lenite (palatalise base)) (base_1+"eò"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN132" + } ; + +mkN133 : Str -> LinN ; +mkN133 base = + case base of { + base_1+base_2@?+"a"+base_3@("s"|"n"|(?+?)) => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (palatalise base) (base_1+base_2+"a"+base_3+"an") (base_1+"è"+base_2+base_3+"e") (lenite base) (base_1+"è"+base_2+base_3+"e") (base_1+base_2+"a"+base_3) (lenite base) (base_1+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN133" + } ; + + +mkN134 : Str -> LinN ; +mkN134 base = + case base of { + base_1@?+base_2@?+"a"+base_3 => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (palatalise base) (base_1+"è"+base_2+base_3) (base_1+base_2+"a"+base_3+"an") (lenite base) (palatalise base) (base_1+"è"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN134" + } ; + +mkN135 : Str -> LinN ; +mkN135 base = mk5N base base (base+"e") (base+"tean") (palatalise base) Masc ; + +mkN137 : Str -> LinN ; +mkN137 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"ui"+base_3) (base_1+base_2+"a"+base_3) (base_1+base_2+"ui"+base_3) (base_1+base_2+"a"+base_3) (base_1+base_2+"ui"+base_3) (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"ui"+base_3) (base_1+base_2+"ui"+base_3) (base_1+"h"+base_2+"a"+base_3) (base_1+"h"+base_2+"ui"+base_3) (base_1+base_2+"a"+base_3) (base_1+"h"+base_2+"ui"+base_3) (base_1+"h"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN137" + } ; + +mkN138 : Str -> LinN ; +mkN138 base = + case base of { + base_1+"ea"+base_2@?+base_3@? => mkNoun (base_1+"ea"+base_2+base_3) (base_1+base_2+"ea"+base_3) (base_1+"ea"+base_2+base_3) (palatalise base) base (base_1+base_2+"ea"+base_3) (lenite base) (palatalise base) (base_1+"i"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+"ea"+base_2+base_3) (lenite (palatalise base)) (base_1+"ea"+base_2+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN138" + } ; + +mkN139 : Str -> LinN ; +mkN139 base = + case base of { + base_1+base_2@?+"a"+base_3@(?+?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"oi"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"oi"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"oi"+base_3+"e") (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"oi"+base_3+"e") (base_1+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN139" + } ; + +mkN140 : Str -> LinN ; +mkN140 base = + case base of { + base_1+base_2@?+"a"+base_3@(?+?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+"è"+base_2+base_3) (base_1+base_2+"a"+base_3) (palatalise base) base (base_1+"è"+base_2+base_3) (lenite base) (palatalise base) (base_1+"è"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN140" + } ; + +mkN141 : Str -> LinN ; +mkN141 base = + case base of { + base_1+"i"+base_2@(?+?+?)+base_3@?+"inn" => mkNoun (base_1+"i"+base_2+base_3+"inn") (base_1+"e"+base_2+"n"+base_3+"n") (base_1+"i"+base_2+base_3+"inn") (palatalise base) base (base_1+"e"+base_2+"n"+base_3+"n") (lenite base) (palatalise base) (base_1+"e"+base_2+"n"+base_3) (lenite base) (lenite (palatalise base)) (base_1+"i"+base_2+base_3+"inn") (lenite (palatalise base)) (base_1+"i"+base_2+base_3+"inna") Masc ; + _ => error "Can't apply paradigm mkN141" + } ; + +mkN142 : Str -> LinN ; +mkN142 base = + case base of { + base_1@?+base_2+"a"+base_3@("ct"|?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN142" + } ; + +mkN143 : Str -> LinN ; +mkN143 base = mk5N base base base (base+"ithean") (palatalise base) Masc ; + +mkN144 : Str -> LinN ; +mkN144 base = mk5N base base (base+"dha") (base+"dhan") (palatalise base) Masc ; + +mkN145 : Str -> LinN ; +mkN145 base = + case base of { + base_1+"imh" => mk5N base base (base_1+"mha") (base_1+"mhan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN145" + } ; + +mkN147 : Str -> LinN ; +mkN147 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@? => mkNoun (base_1+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+"h"+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+"h"+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+"t"+base_3+"an") (base_1+"h"+base_2+base_3) (base_1+base_2+"t"+base_3+"an") Fem ; + _ => error "Can't apply paradigm mkN147" + } ; + +mkN148 : Str -> LinN ; +mkN148 base = + case base of { + base_1+"i"+base_2@(?+?+?+?+?+?+?+?) => mkNoun (base_1+"i"+base_2) (base_1+base_2+"ean") (base_1+"i"+base_2) (palatalise base) base (base_1+base_2+"ean") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"i"+base_2) (lenite (palatalise base)) (base_1+"i"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN148" + } ; + +mkN149 : Str -> LinN ; +mkN149 base = + case base of { + base_1+base_2@?+"al" => mkNoun (base_1+base_2+"al") (base_1+"l"+base_2+"an") (base_1+base_2+"al") (base_1+"l"+base_2+"an") base (base_1+"l"+base_2+"an") (palatalise base) (base_1+"l"+base_2+"an") (base_1+"l"+base_2) (lenite base) (base_1+"l"+base_2) (base_1+base_2+"al") (lenite base) (base_1+base_2+"ala") Fem ; + _ => error "Can't apply paradigm mkN149" + } ; + +mkN150 : Str -> LinN ; +mkN150 base = mk5N base base base (base+"achan") (palatalise base) Masc ; + +mkN151 : Str -> LinN ; +mkN151 base = + case base of { + base_1+base_2@(?+?) => mkNoun (base_1+base_2) (base_1+"i"+base_2+"ean") (base_1+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"e") (base_1+base_2) (base_1+base_2) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN151" + } ; + +mkN152 : Str -> LinN ; +mkN152 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+"h"+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ean") Fem ; + _ => error "Can't apply paradigm mkN152" + } ; + +mkN153 : Str -> LinN ; +mkN153 base = + case base of { + base_1+base_2@?+"ll" => mkNoun (base_1+base_2+"ll") (base_1+"l"+base_2+"ichean") (base_1+base_2+"ll") (base_1+"l"+base_2+"ichean") base (base_1+"l"+base_2+"ichean") (palatalise base) (base_1+"l"+base_2+"ichean") (base_1+"l"+base_2+"ch") (lenite base) (base_1+"l"+base_2+"ch") (base_1+base_2+"ll") (lenite base) (base_1+base_2+"lla") Fem ; + _ => error "Can't apply paradigm mkN153" + } ; + +mkN154 : Str -> LinN ; +mkN154 base = + case base of { + base_1+base_2@(?+?) => mkNoun (base_1+base_2) (base_1+"i"+base_2) (base_1+base_2) (palatalise base) (base_1+base_2) (base_1+"i"+base_2) (base_1+"h"+base_2) (palatalise base) (base_1+base_2) (lenite base) (base_1+"h"+base_2) (base_1+base_2) (base_1+"h"+base_2) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN154" + } ; + +mkN155 : Str -> LinN ; +mkN155 base = + case base of { + base_1+"i"+base_2@("l"|(?+?)) => mkNoun (base_1+"i"+base_2) (base_1+base_2+"aichean") (base_1+"i"+base_2) (base_1+base_2+"aichean") base (base_1+base_2+"aichean") (palatalise base) (base_1+base_2+"aichean") (base_1+base_2+"ach") (lenite base) (base_1+base_2+"ach") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN155" + } ; + +mkN156 : Str -> LinN ; +mkN156 base = + case base of { + base_1+base_2@(?+?)+"a" => mkNoun (base_1+base_2+"a") (base_1+"i"+base_2+"ean") (base_1+base_2+"a") (palatalise base) base (base_1+"i"+base_2+"ean") (lenite base) (palatalise base) (base_1+"i"+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+base_2+"a") (lenite (palatalise base)) (base_1+base_2+"aa") Masc ; + _ => error "Can't apply paradigm mkN156" + } ; + +mkN157 : Str -> LinN ; +mkN157 base = + case base of { + base_1+"o"+base_2@(?+?) => mkNoun (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+base_2) (base_1+"o"+base_2+"an") (palatalise base) (base_1+"o"+base_2+"an") (base_1+base_2+"e") (lenite base) (base_1+base_2+"e") (base_1+"o"+base_2) (lenite base) (base_1+"o"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN157" + } ; + +mkN158 : Str -> LinN ; +mkN158 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+base_2+"tan") (base_1+base_2) (palatalise base) base (base_1+base_2+"tan") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+base_2) (lenite (palatalise base)) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN158" + } ; + +mkN159 : Str -> LinN ; +mkN159 base = mk5N base base base base (palatalise base) Masc ; + +mkN160 : Str -> LinN ; +mkN160 base = + case base of { + base_1+"ui"+base_2@? => mkNoun (base_1+"ui"+base_2) (base_1+"o"+base_2+"aichean") (base_1+"hui"+base_2) (base_1+"o"+base_2+"aichean") (base_1+"ui"+base_2) (base_1+"o"+base_2+"aichean") (base_1+"hui"+base_2) (base_1+"o"+base_2+"aichean") (base_1+"o"+base_2+"ach") (base_1+"ho"+base_2+"aichean") (base_1+"o"+base_2+"ach") (base_1+"o"+base_2+"aichean") (base_1+"hui"+base_2) (base_1+"ho"+base_2+"aiche") Fem ; + _ => error "Can't apply paradigm mkN160" + } ; + +mkN161 : Str -> LinN ; +mkN161 base = + case base of { + base_1+"ea"+base_2@?+"l" => mkNoun (base_1+"ea"+base_2+"l") (base_1+base_2+"eachan") (base_1+"ea"+base_2+"l") (base_1+base_2+"eachan") base (base_1+base_2+"eachan") (palatalise base) (base_1+base_2+"eachan") (base_1+"i"+base_2+"l") (lenite base) (base_1+"i"+base_2+"l") (base_1+"ea"+base_2+"l") (lenite base) (base_1+"ea"+base_2+"la") Fem ; + _ => error "Can't apply paradigm mkN161" + } ; + +mkN163 : Str -> LinN ; +mkN163 base = + case base of { + base_1+"s"+base_2@?+"a"+base_3@? => mkNoun (base_1+"s"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"s"+base_2+"a"+base_3) (palatalise base) base (base_1+base_2+"a"+base_3+"an") (lenite base) (palatalise base) (base_1+"s"+base_2+"i"+base_3) (lenite base) (lenite (palatalise base)) (base_1+"s"+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+"s"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN163" + } ; + +mkN164 : Str -> LinN ; +mkN164 base = + case base of { + base_1+base_2@?+base_3@? => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"aichean") Masc ; + _ => error "Can't apply paradigm mkN164" + } ; + +mkN165 : Str -> LinN ; +mkN165 base = + case base of { + base_1+"à"+base_2@(?+?) => mkNoun (base_1+"à"+base_2) (base_1+"ùi"+base_2) (base_1+"à"+base_2) (base_1+"ùi"+base_2) (base_1+"à"+base_2) (base_1+"ùi"+base_2) (base_1+"hà"+base_2) (base_1+"ùi"+base_2) (base_1+"ùi"+base_2) (base_1+"hà"+base_2) (base_1+"hùi"+base_2) (base_1+"à"+base_2) (base_1+"hùi"+base_2) (base_1+"hà"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN165" + } ; + +mkN166 : Str -> LinN ; +mkN166 base = mk5N base base (base+"ithe") (base+"ithean") (palatalise base) Masc ; + +mkN167 : Str -> LinN ; +mkN167 base = + case base of { + base_1+"o"+base_2@(?+?) => mkNoun (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (palatalise base) (base_1+"o"+base_2+"an") (base_1+base_2+"e") (lenite base) (base_1+base_2+"e") (base_1+"o"+base_2) (lenite base) (base_1+"o"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN167" + } ; + +mkN168 : Str -> LinN ; +mkN168 base = + case base of { + base_1+"ò"+base_2@(?+?+?+?)+"a"+base_3@? => mkNoun (base_1+"ò"+base_2+"a"+base_3) (base_1+"ó"+base_2+"a"+base_3+"an") (base_1+"ò"+base_2+"a"+base_3) (palatalise base) base (base_1+"ó"+base_2+"a"+base_3+"an") (lenite base) (palatalise base) (base_1+"ó"+base_2+"i"+base_3) (lenite base) (lenite (palatalise base)) (base_1+"ò"+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+"ò"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN168" + } ; + +mkN169 : Str -> LinN ; +mkN169 base = + case base of { + base_1+base_2@?+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3+"ach") (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3+"ach") (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"aiche") Fem ; + _ => error "Can't apply paradigm mkN169" + } ; + +mkN170 : Str -> LinN ; +mkN170 base = + case base of { + base_1+"h"+base_2@?+"i"+base_3@? => mkNoun (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") base (base_1+base_2+base_3+"aichean") (palatalise base) (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3+"ach") (lenite base) (base_1+base_2+base_3+"ach") (base_1+"h"+base_2+"i"+base_3) (lenite base) (base_1+"h"+base_2+"i"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN170" + } ; + +mkN171 : Str -> LinN ; +mkN171 base = + case base of { + base_1+"ù" => mkNoun (base_1+"ù") (base_1+"oin") (base_1+"ù") (base_1+"oin") (base_1+"ù") (base_1+"oin") (base_1+"hù") (base_1+"oin") (base_1+"oin") (base_1+"hon") (base_1+"hoin") (base_1+"on") (base_1+"hoin") (base_1+"hona") Masc ; + _ => error "Can't apply paradigm mkN171" + } ; + +mkN172 : Str -> LinN ; +mkN172 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"i"+base_2+"ean") (base_1+"ea"+base_2) (base_1+"i"+base_2+"ean") base (base_1+"i"+base_2+"ean") (palatalise base) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN172" + } ; + +mkN173 : Str -> LinN ; +mkN173 base = + case base of { + base_1@?+base_2+base_3@("ch"|?) => mkNoun (base_1+base_2+base_3) (base_1+base_2+"i"+base_3) (base_1+base_2+base_3) (base_1+base_2+"i"+base_3) (base_1+base_2+base_3) (base_1+base_2+"i"+base_3) (base_1+base_2+base_3) (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3) (base_1+base_2+"i"+base_3) (base_1+base_2+base_3) (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN173" + } ; + +mkN174 : Str -> LinN ; +mkN174 base = + case base of { + base_1@?+base_2+base_3@? => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN174" + } ; + +mkN175 : Str -> LinN ; +mkN175 base = + case base of { + base_1+base_2@?+"och" => mkNoun (base_1+base_2+"och") (base_1+base_2+"ochan") (base_1+base_2+"och") (base_1+base_2+"ochan") base (base_1+base_2+"ochan") (palatalise base) (base_1+base_2+"ochan") (base_1+"igh"+base_2) (lenite base) (base_1+"igh"+base_2) (base_1+base_2+"och") (lenite base) (base_1+base_2+"ocha") Fem ; + _ => error "Can't apply paradigm mkN175" + } ; + +mkN176 : Str -> LinN ; +mkN176 base = + case base of { + base_1+"u"+base_2@? => mkNoun (base_1+"u"+base_2) (base_1+"u"+base_2+"an") (base_1+"u"+base_2) (base_1+"u"+base_2+"an") base (base_1+"u"+base_2+"an") (lenite base) (base_1+"u"+base_2+"an") (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"u"+base_2) (lenite (palatalise base)) (base_1+"u"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN176" + } ; + +mkN177 : Str -> LinN ; +mkN177 base = + case base of { + base_1+"ia" => mkNoun (base_1+"ia") (base_1+"iathan") (base_1+"ia") (base_1+"iathan") (base_1+"ia") (base_1+"iathan") (base_1+"ia") (base_1+"iathan") (base_1+"è") (base_1+"hia") (base_1+"è") (base_1+"ia") (base_1+"hè") (base_1+"hiatha") Masc ; + _ => error "Can't apply paradigm mkN177" + } ; + +mkN178 : Str -> LinN ; +mkN178 base = + case base of { + base_1@?+base_2+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN178" + } ; + +mkN179 : Str -> LinN ; +mkN179 base = + case base of { + base_1+base_2@?+"s" => mkNoun (base_1+base_2+"s") (base_1+"s"+base_2+"n") (base_1+base_2+"s") (palatalise base) base (base_1+"s"+base_2+"n") (lenite base) (palatalise base) (base_1+base_2+"is") (lenite base) (lenite (palatalise base)) (base_1+base_2+"s") (lenite (palatalise base)) (base_1+base_2+"sa") Masc ; + _ => error "Can't apply paradigm mkN179" + } ; + +mkN180 : Str -> LinN ; +mkN180 base = + case base of { + base_1+base_2@?+"st" => mkNoun (base_1+base_2+"st") (base_1+"s"+base_2+"n") (base_1+base_2+"st") (palatalise base) base (base_1+"s"+base_2+"n") (lenite base) (palatalise base) (base_1+base_2+"ist") (lenite base) (lenite (palatalise base)) (base_1+base_2+"st") (lenite (palatalise base)) (base_1+base_2+"sta") Masc ; + _ => error "Can't apply paradigm mkN180" + } ; + +mkN181 : Str -> LinN ; +mkN181 base = + case base of { + base_1+"u"+base_2@? => mkNoun (base_1+"u"+base_2) (base_1+base_2+"an") (base_1+"u"+base_2) (palatalise base) base (base_1+base_2+"an") (lenite base) (palatalise base) (base_1+"ui"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"u"+base_2) (lenite (palatalise base)) (base_1+"u"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN181" + } ; + +mkN182 : Str -> LinN ; +mkN182 base = mk5N base base (base+"a") (base+"annan") (palatalise base) Masc ; + +mkN183 : Str -> LinN ; +mkN183 base = + case base of { + base_1+base_2@?+"as" => mkNoun (base_1+base_2+"as") (base_1+base_2+"asan") (base_1+base_2+"as") (base_1+base_2+"asan") base (base_1+base_2+"asan") (palatalise base) (base_1+base_2+"asan") (base_1+"is"+base_2) (lenite base) (base_1+"is"+base_2) (base_1+base_2+"as") (lenite base) (base_1+base_2+"asa") Fem ; + _ => error "Can't apply paradigm mkN183" + } ; + +mkN184 : Str -> LinN ; +mkN184 base = + case base of { + base_1+"ui"+base_2@? => mkNoun (base_1+"ui"+base_2) (base_1+"o"+base_2+"annan") (base_1+"ui"+base_2) (palatalise base) base (base_1+"o"+base_2+"annan") (lenite base) (palatalise base) (base_1+"o"+base_2+"a") (lenite base) (lenite (palatalise base)) (base_1+"ui"+base_2) (lenite (palatalise base)) (base_1+"ui"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN184" + } ; + +mkN185 : Str -> LinN ; +mkN185 base = + case base of { + base_1+base_2@(?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"ichean") (base_1+base_2) (base_1+base_2+"ichean") (base_1+base_2) (base_1+base_2+"ichean") (base_1+base_2) (base_1+base_2+"ichean") (base_1+base_2) (base_1+"h"+base_2+"ichean") (base_1+base_2) (base_1+base_2+"ichean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ichean") Fem ; + _ => error "Can't apply paradigm mkN185" + } ; + +mkN186 : Str -> LinN ; +mkN186 base = + case base of { + base_1+"à"+base_2@? => mkNoun (base_1+"à"+base_2) (base_1+"a"+base_2+"annan") (base_1+"à"+base_2) (palatalise base) base (base_1+"a"+base_2+"annan") (lenite base) (palatalise base) (base_1+"a"+base_2+"a") (lenite base) (lenite (palatalise base)) (base_1+"à"+base_2) (lenite (palatalise base)) (base_1+"à"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN186" + } ; + +mkN187 : Str -> LinN ; +mkN187 base = + case base of { + base_1+"u"+base_2@(?+?+?) => mkNoun (base_1+"u"+base_2) (base_1+"ao"+base_2) (base_1+"u"+base_2) (palatalise base) base (base_1+"ao"+base_2) (lenite base) (palatalise base) (base_1+"u"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"u"+base_2) (lenite (palatalise base)) (base_1+"u"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN187" + } ; + +mkN188 : Str -> LinN ; +mkN188 base = + case base of { + base_1+"e" => mkNoun (base_1+"e") (base_1+"eannan") (base_1+"e") (base_1+"eannan") (base_1+"inn") (base_1+"eannan") (palatalise base) (base_1+"eannan") (base_1+"eann") (lenite base) (base_1+"eann") (base_1+"e") (lenite base) (base_1+"ea") Fem ; + _ => error "Can't apply paradigm mkN188" + } ; + +mkN189 : Str -> LinN ; +mkN189 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") base (base_1+"i"+base_2+"ean") (palatalise base) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2+"e") (base_1+base_2) (base_1+"i"+base_2+"e") (base_1+"i"+base_2) (base_1+base_2) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN189" + } ; + +mkN190 : Str -> LinN ; +mkN190 base = + case base of { + base_1+base_2@(?+?+?)+"ai"+base_3@(?+?) => mkNoun (base_1+base_2+"ai"+base_3) (base_1+base_2+base_3+"annan") (base_1+base_2+"ai"+base_3) (base_1+base_2+base_3+"annan") (base_1+base_2+"ai"+base_3) (base_1+base_2+base_3+"annan") (base_1+base_2+"ai"+base_3) (base_1+base_2+base_3+"annan") (base_1+base_2+base_3+"a") (base_1+"h"+base_2+base_3+"annan") (base_1+base_2+base_3+"a") (base_1+base_2+base_3+"annan") (base_1+"h"+base_2+"ai"+base_3) (base_1+"h"+base_2+base_3+"annan") Fem ; + _ => error "Can't apply paradigm mkN190" + } ; + +mkN191 : Str -> LinN ; +mkN191 base = + case base of { + base_1+"a"+base_2@("n"|(?+?)) => mkNoun (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN191" + } ; + +mkN192 : Str -> LinN ; +mkN192 base = mk5N base base (base+"idh") (base+"chan") (palatalise base) Masc ; + +mkN193 : Str -> LinN ; +mkN193 base = + case base of { + base_1+base_2@?+"r" => mkNoun (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") (base_1+base_2+"r") (palatalise base) base (base_1+"r"+base_2+"ichean") (lenite base) (palatalise base) (base_1+base_2+"ir") (lenite base) (lenite (palatalise base)) (base_1+base_2+"r") (lenite (palatalise base)) (base_1+base_2+"ra") Masc ; + _ => error "Can't apply paradigm mkN193" + } ; + +mkN194 : Str -> LinN ; +mkN194 base = + case base of { + base_1+base_2@?+"ann" => mkNoun (base_1+base_2+"ann") (nonExist) (base_1+base_2+"ann") (nonExist) base (nonExist) (palatalise base) nonExist (base_1+"n"+base_2) (lenite base) (base_1+"n"+base_2) (base_1+base_2+"ann") (lenite base) (base_1+base_2+"anna") Fem ; + _ => error "Can't apply paradigm mkN194" + } ; + +mkN195 : Str -> LinN ; +mkN195 base = + case base of { + "e"+base_1+"i"+base_2@? => mkNoun ("e"+base_1+"i"+base_2) ("è"+base_1+base_2+"ean") ("e"+base_1+"i"+base_2) ("è"+base_1+base_2+"ean") base ("è"+base_1+base_2+"ean") (palatalise base) ("è"+base_1+base_2+"ean") ("è"+base_1+base_2+"e") (lenite base) ("è"+base_1+base_2+"e") ("e"+base_1+"i"+base_2) (lenite base) ("e"+base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN195" + } ; + +mkN196 : Str -> LinN ; +mkN196 base = + case base of { + "eu"+base_1 => mk5N base base ("èi"+base_1) (palatalise base) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN196" + } ; + +mkN197 : Str -> LinN ; +mkN197 base = + case base of { + "eò" => mkNoun ("eò") ("iach") ("eò") (palatalise base) base ("iach") (lenite base) (palatalise base) ("iach") (lenite base) (lenite (palatalise base)) ("eò") (lenite (palatalise base)) ("eòa") Masc ; + _ => error "Can't apply paradigm mkN197" + } ; + +mkN199 : Str -> LinN ; +mkN199 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"ich"+base_2+"an") (base_1+base_2) (palatalise base) (base_1+base_2) (base_1+"ich"+base_2+"an") (base_1+"h"+base_2) (palatalise base) (base_1+base_2) (lenite base) (base_1+"h"+base_2) (base_1+base_2) (base_1+"h"+base_2) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN199" + } ; + +mkN200 : Str -> LinN ; +mkN200 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+"n"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3) (palatalise base) base (base_1+"n"+base_2+"a"+base_3) (lenite base) (palatalise base) (base_1+base_2+"i"+base_3) (lenite base) (lenite (palatalise base)) (base_1+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN200" + } ; + +mkN201 : Str -> LinN ; +mkN201 base = + case base of { + base_1+"i"+base_2@(?+?) => mkNoun (base_1+"i"+base_2) (base+"an") (base_1+"i"+base_2) (base+"an") base (base+"an") (palatalise base) (base+"an") (base_1+base_2) (lenite base) (base_1+base_2) (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN201" + } ; + +mkN202 : Str -> LinN ; +mkN202 base = + case base of { + base_1+"ea"+base_2@? => mkNoun (base_1+"ea"+base_2) (base_1+"i"+base_2) (base_1+"ea"+base_2) (base_1+"i"+base_2) (base_1+"ea"+base_2) (base_1+"i"+base_2) (base_1+"hea"+base_2) (base_1+"i"+base_2) (base_1+"i"+base_2) (base_1+"hea"+base_2) (base_1+"hi"+base_2) (base_1+"ea"+base_2) (base_1+"hi"+base_2) (base_1+"hea"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN202" + } ; + +mkN203 : Str -> LinN ; +mkN203 base = + case base of { + base_1+base_2@(?+?)+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+base_3+"a") (base_1+"h"+base_2+"i"+base_3+"ean") (base_1+base_2+base_3+"a") (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN203" + } ; + +mkN204 : Str -> LinN ; +mkN204 base = + case base of { + base_1+base_2@?+"ill" => mk5N base base (base_1+"l"+base_2) (base_1+"l"+base_2+"n") (palatalise base) Fem ; + _ => error "Can't apply paradigm mkN204" + } ; + +mkN205 : Str -> LinN ; +mkN205 base = + case base of { + base_1+base_2@?+"a"+base_3@(?+?) => mkNoun base (base_1+"è"+base_2+base_3) base (base_1+"è"+base_2+base_3) base (base_1+"è"+base_2+base_3) (lenite base) (base_1+"è"+base_2+base_3) (base_1+"è"+base_2+base_3) (lenite base) (base_1+"hè"+base_2+base_3) base (base_1+"hè"+base_2+base_3) (lenite base+"a") Masc ; + _ => error "Can't apply paradigm mkN205" + } ; + +mkN206 : Str -> LinN ; +mkN206 base = + case base of { + base_1+"i"+base_2@(?+?)+"ea"+base_3@?+"l" => mkNoun (base_1+"i"+base_2+"ea"+base_3+"l") (base_1+"ì"+base_2+base_3+"ean") (base_1+"i"+base_2+"ea"+base_3+"l") (base_1+"ì"+base_2+base_3+"ean") (base_1+"i"+base_2+"i"+base_3+"l") (base_1+"ì"+base_2+base_3+"ean") (palatalise base) (base_1+"ì"+base_2+base_3+"ean") (base_1+"ì"+base_2+base_3+"e") (lenite base) (base_1+"ì"+base_2+base_3+"e") (base_1+"i"+base_2+"ea"+base_3+"l") (lenite base) (base_1+"i"+base_2+"ea"+base_3+"la") Fem ; + _ => error "Can't apply paradigm mkN206" + } ; + +mkN207 : Str -> LinN ; +mkN207 base = + case base of { + base_1+"o"+base_2@(?+?)+"a" => mkNoun base (base_1+"o"+base_2+"an") base (base_1+"o"+base_2+"an") base (base_1+"o"+base_2+"an") (palatalise base) base (base_1+"ui"+base_2+"e") (lenite base) (base_1+"ui"+base_2+"e") base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN207" + } ; + +mkN208 : Str -> LinN ; +mkN208 base = + case base of { + base_1+"ui"+base_2@? => mkNoun (base_1+"ui"+base_2) (base+"an") (base_1+"hui"+base_2) (base+"an") (base_1+"ui"+base_2) (base+"an") (base_1+"hui"+base_2) (base+"an") (base_1+"a"+base_2+"a") (lenite base) (base_1+"a"+base_2+"a") (base_1+"ui"+base_2) (base_1+"hui"+base_2) (base_1+"ui"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN208" + } ; + +mkN209 : Str -> LinN ; +mkN209 base = + case base of { + base_1+base_2@(?+?+?)+"ea"+base_3@(?+?) => mkNoun (base_1+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") Masc ; + _ => error "Can't apply paradigm mkN209" + } ; + +mkN210 : Str -> LinN ; +mkN210 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"ich"+base_2+"an") (base_1+base_2) (base_1+"ich"+base_2+"an") (base_1+base_2) (base_1+"ich"+base_2+"an") (base_1+"h"+base_2) (base_1+"ich"+base_2+"an") (base_1+base_2) (lenite base) (base_1+base_2) (base_1+base_2) (base_1+"h"+base_2) (base_1+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN210" + } ; + +mkN211 : Str -> LinN ; +mkN211 base = mk5N base base (base+"a") (base+"tan") (palatalise base) Masc ; + +mkN212 : Str -> LinN ; +mkN212 base = + case base of { + base_1+base_2@(?+?+?+?)+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+base_3+"aichean") (base_1+base_2+base_3+"ach") (base_1+"h"+base_2+base_3+"aichean") (base_1+base_2+base_3+"ach") (base_1+base_2+base_3+"aichean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"aichean") Masc ; + _ => error "Can't apply paradigm mkN212" + } ; + +mkN213 : Str -> LinN ; +mkN213 base = + case base of { + base_1+"a"+base_2@?+"a"+base_3@(?+?+?) => mkNoun (base_1+"a"+base_2+"a"+base_3) (base_1+"i"+base_2+base_3+"ean") (base_1+"a"+base_2+"a"+base_3) (palatalise base) base (base_1+"i"+base_2+base_3+"ean") (lenite base) (palatalise base) (base_1+"i"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+"a"+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+"a"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN213" + } ; + +mkN214 : Str -> LinN ; +mkN214 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"ea"+base_3@(?+?) => mkNoun (base_1+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+"ea"+base_3) (base_1+"h"+base_2+"ea"+base_3) (base_1+"h"+base_2+"ea"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN214" + } ; + +mkN216 : Str -> LinN ; +mkN216 base = + case base of { + base_1+base_2@(?+?)+"ai"+base_3@?+"n" => mkNoun base (base_1+base_2+base_3+"a") (base_1+base_2+"ai"+base_3+"n") (palatalise base) base (base_1+base_2+base_3+"a") (lenite base) (palatalise base) (base_1+"i"+base_2+base_3+"e") (lenite base) (lenite (palatalise base)) base (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN216" + } ; + +mkN217 : Str -> LinN ; +mkN217 base = + case base of { + base_1+base_2@(?+?+?) => mkNoun base (base+"an") base (base+"an") (base+"a") (base+"an") (base_1+"h"+base_2+"a") (base+"an") (base+"a") (base_1+"h"+base_2+"an") (base_1+"h"+base_2+"a") (base+"an") (base_1+"h"+base_2) (base_1+"h"+base_2+"an") Masc ; + _ => error "Can't apply paradigm mkN217" + } ; + +mkN219 : Str -> LinN ; +mkN219 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun base (base+"an") (base_1+"h"+base_2+"a"+base_3) (base+"an") (base+"a") (base+"an") (base_1+"h"+base_2+"a"+base_3+"a") (base+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") (base+"a") (base+"an") (base_1+"h"+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") Fem ; + _ => error "Can't apply paradigm mkN219" + } ; + +mkN220 : Str -> LinN ; +mkN220 base = + case base of { + base_1+"ug" => mkNoun base (base+"an") base (base+"an") base (base+"an") (palatalise base) (base+"an") ("gèi"+base_1) (lenite base) ("gèi"+base_1) base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN220" + } ; + +mkN221 : Str -> LinN ; +mkN221 base = + case base of { + base_1+base_2@?+"à"+base_3@(?+?) => mkNoun (base_1+base_2+"à"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"à"+base_3) (base_1+base_2+"à"+base_3+"an") (base_1+base_2+"à"+base_3+"a") (base_1+base_2+"à"+base_3+"an") (base_1+"h"+base_2+"à"+base_3+"a") (base_1+base_2+"à"+base_3+"an") (base_1+base_2+"a"+base_3+"a") (base_1+"h"+base_2+"à"+base_3+"an") (base_1+base_2+"à"+base_3+"a") (base_1+base_2+"à"+base_3+"an") (base_1+"h"+base_2+"à"+base_3) (base_1+"h"+base_2+"à"+base_3+"an") Fem ; + _ => error "Can't apply paradigm mkN221" + } ; + +mkN222 : Str -> LinN ; +mkN222 base = + case base of { + base_1+base_2@(?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+base_2+"an") (base_1+base_2+"a") (base_1+base_2+"an") (base_1+"h"+base_2+"a") (base_1+base_2+"an") (base_1+base_2+"a") (base_1+"h"+base_2+"an") (base_1+base_2+"a") (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+"h"+base_2+"an") Fem ; + _ => error "Can't apply paradigm mkN222" + } ; + +mkN224 : Str -> LinN ; +mkN224 base = + case base of { + base_1@?+base_2 => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+"h"+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+"h"+base_2+"an") Masc ; + _ => error "Can't apply paradigm mkN224" + } ; + +mkN225 : Str -> LinN ; +mkN225 base = mk5N base base base (base+"dhean") (palatalise base) Masc ; + +mkN226 : Str -> LinN ; +mkN226 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"ea"+base_2+"tan") (base_1+"ea"+base_2) (palatalise base) base (base_1+"ea"+base_2+"tan") (lenite base) (palatalise base) (base_1+"i"+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+"ea"+base_2) (lenite (palatalise base)) (base_1+"ea"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN226" + } ; + +mkN227 : Str -> LinN ; +mkN227 base = mk5N base base base (base+"ithean") (palatalise base) Fem ; + +mkN228 : Str -> LinN ; +mkN228 base = + case base of { + base_1+base_2@?+base_3@(?+?)+base_4@? => mkNoun (base_1+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4+"inn") (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4+"inn") (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4) (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+"n") Masc ; + _ => error "Can't apply paradigm mkN228" + } ; + +mkN229 : Str -> LinN ; +mkN229 base = + case base of { + base_1@(?+?)+base_2+base_3@?+"l" => mkNoun (base_1+base_2+base_3+"l") (base_1+"i"+base_2+"le"+base_3+"n") (base_1+base_2+base_3+"l") (palatalise base) base (base_1+"i"+base_2+"le"+base_3+"n") (lenite base) (palatalise base) (base_1+base_2+base_3+"il") (lenite base) (lenite (palatalise base)) (base_1+base_2+base_3+"l") (lenite (palatalise base)) (base_1+base_2+base_3+"la") Masc ; + _ => error "Can't apply paradigm mkN229" + } ; + +mkN230 : Str -> LinN ; +mkN230 base = mk5N base base (base+"a") (base+"aichean") (palatalise base) Masc ; + +mkN231 : Str -> LinN ; +mkN231 base = mk5N base base (base+"e") (base+"eannan") (palatalise base) Masc ; + +mkN232 : Str -> LinN ; +mkN232 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+"a"+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN232" + } ; + +mkN233 : Str -> LinN ; +mkN233 base = + case base of { + base_1+base_2@(?+?)+base_3@?+base_4@? => mkNoun (base_1+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4) (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4+"inn") (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+base_2+base_3+base_4+"inn") (base_1+base_2+"i"+base_3+"ne"+base_4+"n") (base_1+"h"+base_2+base_3+base_4) (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+"n") Fem ; + _ => error "Can't apply paradigm mkN233" + } ; + +mkN234 : Str -> LinN ; +mkN234 base = + case base of { + base_1+base_2@(?+?)+base_3@?+base_4@?+base_5@?+"n" => mkNoun (base_1+base_2+base_3+base_4+base_5+"n") (base_1+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+"h"+base_2+base_3+base_4+base_5+"n") (base_1+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+base_2+base_3+base_4+base_5+"n") (base_1+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+"h"+base_2+base_3+base_4+base_5+"n") (base_1+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+base_2+base_3+base_4+"i"+base_5+"n") (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+base_2+base_3+base_4+"i"+base_5+"n") (base_1+base_2+"i"+base_3+"ne"+base_4+base_5) (base_1+"h"+base_2+base_3+base_4+base_5+"n") (base_1+"h"+base_2+"i"+base_3+"ne"+base_4+base_5) Fem ; + _ => error "Can't apply paradigm mkN234" + } ; + +mkN235 : Str -> LinN ; +mkN235 base = mk5N base base (base+"an") (base+"s") (palatalise base) Masc ; + +mkN236 : Str -> LinN ; +mkN236 base = + case base of { + base_1+"a"+base_2@("dh"|?) => mkNoun (base_1+"a"+base_2) (base_1+"i"+base_2+"ean") (base_1+"a"+base_2) (palatalise base) base (base_1+"i"+base_2+"ean") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"a"+base_2) (lenite (palatalise base)) (base_1+"a"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN236" + } ; + +mkN237 : Str -> LinN ; +mkN237 base = + case base of { + base_1+"èa"+base_2@(?+?) => mkNoun (base_1+"èa"+base_2) (base_1+"eòi"+base_2) (base_1+"èa"+base_2) (base_1+"eòi"+base_2) (base_1+"èa"+base_2) (base_1+"eòi"+base_2) (base_1+"hèa"+base_2) (base_1+"eòi"+base_2) (base_1+"eòi"+base_2) (base_1+"hèa"+base_2) (base_1+"heòi"+base_2) (base_1+"èa"+base_2) (base_1+"heòi"+base_2) (base_1+"hèa"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN237" + } ; + +mkN238 : Str -> LinN ; +mkN238 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"ean") (base_1) (base_1+"ean") (base_1) (base_1+"ean") (lenite base) (base_1+"ean") (base_1) (base_1+"ean") (base_1) (base_1+"ean") (base_1) (base_1+"ean") Masc ; + _ => error "Can't apply paradigm mkN238" + } ; + +mkN239 : Str -> LinN ; +mkN239 base = + case base of { + base_1+"a"+base_2@(?+?) => mkNoun (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"a"+base_2) (base_1+"a"+base_2+"an") base (base_1+"a"+base_2+"an") (palatalise base) (base_1+"a"+base_2+"an") ("è"+base_1+base_2+"e") (lenite base) (nonExist) (base_1+"a"+base_2) (lenite base) (base_1+"a"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN239" + } ; + +mkN240 : Str -> LinN ; +mkN240 base = + case base of { + base_1+"a"+base_2@(?+?) => mkNoun (base_1+"a"+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2) ("è"+base_1+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2) ("è"+base_1+base_2) (base_1+"a"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN240" + } ; + +mkN241 : Str -> LinN ; +mkN241 base = mk5N base base (base+"an") (base+"an") (palatalise base) Masc ; + +mkN242 : Str -> LinN ; +mkN242 base = + case base of { + "in"+base_1+base_2@?+"an" => mkNoun ("in"+base_1+base_2+"an") ("in"+base_1+base_2+"anan") ("in"+base_1+base_2+"an") ("in"+base_1+base_2+"anan") base ("in"+base_1+base_2+"anan") (palatalise base) ("in"+base_1+base_2+"anan") ("ì"+base_1+"n"+base_2) (lenite base) ("ì"+base_1+"n"+base_2) ("in"+base_1+base_2+"an") (lenite base) ("in"+base_1+base_2+"ana") Fem ; + _ => error "Can't apply paradigm mkN242" + } ; + +mkN243 : Str -> LinN ; +mkN243 base = + case base of { + "io"+base_1+"a" => mkNoun ("io"+base_1+"a") ("ì"+base_1+"nean") ("io"+base_1+"a") ("ì"+base_1+"nean") base ("ì"+base_1+"nean") (palatalise base) ("ì"+base_1+"nean") ("i"+base_1+"ne") (lenite base) ("i"+base_1+"ne") ("io"+base_1+"a") (lenite base) ("io"+base_1+"aa") Fem ; + _ => error "Can't apply paradigm mkN243" + } ; + +mkN244 : Str -> LinN ; +mkN244 base = + case base of { + base_1+base_2@(?+?)+"a" => mkNoun (base_1+base_2+"a") (base_1+"i"+base_2+"ean") (base_1+base_2+"a") (base_1+"i"+base_2+"ean") base (base_1+"i"+base_2+"ean") (palatalise base) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+base_2+"a") (lenite base) (base_1+base_2+"aa") Fem ; + _ => error "Can't apply paradigm mkN244" + } ; + +mkN245 : Str -> LinN ; +mkN245 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1+"a") (base_1+"annan") (base_1+"a") (base_1+"annan") (base_1+"a") (base_1+"annan") (base_1+"a") (base_1+"annan") (base_1) (base_1+"annan") Masc ; + _ => error "Can't apply paradigm mkN245" + } ; + +mkN246 : Str -> LinN ; +mkN246 base = + case base of { + base_1+"t"+base_2@(?+?+?) => mkNoun (base_1+"t"+base_2) (base_1+"d"+base_2+"ean") (base_1+"t"+base_2) (palatalise base) base (base_1+"d"+base_2+"ean") (lenite base) (palatalise base) (nonExist) (lenite base) (lenite (palatalise base)) (base_1+"t"+base_2) (lenite (palatalise base)) (base_1+"t"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN246" + } ; + +mkN247 : Str -> LinN ; +mkN247 base = + case base of { + base_1+"a"+base_2@(?+?)+base_3@? => mkNoun (base_1+"a"+base_2+base_3) (base_1+"ài"+base_2+"e"+base_3+"n") (base_1+"a"+base_2+base_3) (palatalise base) base (base_1+"ài"+base_2+"e"+base_3+"n") (lenite base) (palatalise base) (base_1+"a"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+"a"+base_2+base_3) (lenite (palatalise base)) (base_1+"a"+base_2+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN247" + } ; + +mkN248 : Str -> LinN ; +mkN248 base = + case base of { + base_1+"b"+base_2@?+"idh" => mkNoun (base_1+"b"+base_2+"idh") (base_1+"b"+base_2+"ichean") (base_1+"b"+base_2+"idh") (base_1+"b"+base_2+"ichean") base (base_1+"b"+base_2+"ichean") (palatalise base) (base_1+"b"+base_2+"ichean") (base_1+"p"+base_2) (lenite base) (base_1+"p"+base_2) (base_1+"b"+base_2+"idh") (lenite base) (base_1+"b"+base_2+"idha") Fem ; + _ => error "Can't apply paradigm mkN248" + } ; + +mkN249 : Str -> LinN ; +mkN249 base = + case base of { + base_1+base_2@?+"r" => mkNoun (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") (base_1+base_2+"ir") (base_1+"r"+base_2+"ichean") (base_1+base_2+"ir") (base_1+"r"+base_2+"ichean") (base_1+base_2+"r") (base_1+"r"+base_2+"ichean") Masc ; + _ => error "Can't apply paradigm mkN249" + } ; + +mkN250 : Str -> LinN ; +mkN250 base = + case base of { + base_1+"ea"+base_2@? => mkNoun (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2) (base_1+"ea"+base_2+"an") (palatalise base) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN250" + } ; + +mkN251 : Str -> LinN ; +mkN251 base = + case base of { + base_1+"a"+base_2@?+"a"+base_3@(?+?) => mkNoun (base_1+"a"+base_2+"a"+base_3) (base_1+"a"+base_2+"a"+base_3+"an") (base_1+"a"+base_2+"a"+base_3) (palatalise base) base (base_1+"a"+base_2+"a"+base_3+"an") (lenite base) (palatalise base) (base_1+"i"+base_2+"i"+base_3) (lenite base) (lenite (palatalise base)) (base_1+"a"+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+"a"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN251" + } ; + +mkN252 : Str -> LinN ; +mkN252 base = + case base of { + base_1+base_2@?+"thad" => mkNoun (base_1+base_2+"thad") (base_1+"òide"+base_2+"n") (base_1+base_2+"thad") (palatalise base) base (base_1+"òide"+base_2+"n") (lenite base) (palatalise base) (base_1+base_2+"thaid") (lenite base) (lenite (palatalise base)) (base_1+base_2+"thad") (lenite (palatalise base)) (base_1+base_2+"thada") Masc ; + _ => error "Can't apply paradigm mkN252" + } ; + +mkN253 : Str -> LinN ; +mkN253 base = + case base of { + base_1+"o"+base_2@? => mkNoun (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (palatalise base) base (base_1+"o"+base_2+"an") (lenite base) (palatalise base) (base_1+"ui"+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+"o"+base_2) (lenite (palatalise base)) (base_1+"o"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN253" + } ; + +mkN254 : Str -> LinN ; +mkN254 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+base_2+"ichean") (base_1+"i"+base_2) (base_1+base_2+"ichean") base (base_1+base_2+"ichean") (palatalise base) (base_1+base_2+"ichean") (base_1+base_2+"each") (lenite base) (base_1+base_2+"each") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN254" + } ; + +mkN255 : Str -> LinN ; +mkN255 base = + case base of { + base_1+base_2@?+"a"+base_3@(?+?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"è"+base_2+base_3) (base_1+base_2+"a"+base_3+"an") (palatalise base) (base_1+base_2+"a"+base_3+"an") (base_1+"è"+base_2+base_3) (lenite base) (base_1+"è"+base_2+base_3) (base_1+base_2+"a"+base_3) (lenite base) (base_1+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN255" + } ; + +mkN256 : Str -> LinN ; +mkN256 base = mk5N base base base (base+"tean") (palatalise base) Masc ; + +mkN257 : Str -> LinN ; +mkN257 base = + case base of { + base_1+base_2@?+"o"+base_3@(?+?) => mkNoun (base_1+base_2+"o"+base_3) (base_1+base_2+"o"+base_3+"an") (base_1+base_2+"o"+base_3) (base_1+base_2+"o"+base_3+"an") base (base_1+base_2+"o"+base_3+"an") (palatalise base) (base_1+base_2+"o"+base_3+"an") (base_1+"è"+base_2+base_3) (lenite base) (base_1+"è"+base_2+base_3) (base_1+base_2+"o"+base_3) (lenite base) (base_1+base_2+"o"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN257" + } ; + +mkN258 : Str -> LinN ; +mkN258 base = + case base of { + base_1+"o"+base_2@? => mkNoun (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (palatalise base) (base_1+base_2) (base_1+"o"+base_2+"an") (lenite base) (palatalise base) (base_1+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+"o"+base_2) (lenite (palatalise base)) (base_1+"o"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN258" + } ; + +mkN259 : Str -> LinN ; +mkN259 base = + case base of { + base_1+"i"+base_2@(?+?+?)+"a"+base_3@? => mkNoun (base_1+"i"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"i"+base_2+"a"+base_3) (palatalise base) base (base_1+base_2+"a"+base_3+"an") (lenite base) (palatalise base) (base_1+"i"+base_2+"i"+base_3) (lenite base) (lenite (palatalise base)) (base_1+"i"+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+"i"+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN259" + } ; + +mkN260 : Str -> LinN ; +mkN260 base = + case base of { + base_1+"o"+base_2@(?+?) => mkNoun (base_1+"o"+base_2) (base_1+"o"+base_2+"an") (base_1+"o"+base_2) (base_1+"o"+base_2+"an") base (base_1+"o"+base_2+"an") (palatalise base) (base_1+"o"+base_2+"an") (base_1+"ui"+base_2+"e") (lenite base) (base_1+"ui"+base_2+"e") (base_1+"o"+base_2) (lenite base) (base_1+"o"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN260" + } ; + +mkN261 : Str -> LinN ; +mkN261 base = mk5N base base (base+"a") (base+"aichean") (palatalise base) Fem ; + +mkN262 : Str -> LinN ; +mkN262 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"an") (base_1) (base_1+"an") (base_1+"a") (base_1+"an") (base_1+"a") (base_1+"an") (base_1+"a") (base_1+"an") (base_1+"a") (base_1+"an") (base_1) (base_1+"an") Fem ; + _ => error "Can't apply paradigm mkN262" + } ; + +mkN263 : Str -> LinN ; +mkN263 base = + case base of { + base_1+base_2@("mh"|?) => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"i"+base_2) (base_1+base_2+"an") (base_1+"i"+base_2) (base_1+base_2+"an") (base_1+"i"+base_2+"e") (base_1+base_2) (base_1+"i"+base_2+"e") (base_1+base_2) (base_1+base_2) (base_1+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN263" + } ; + +mkN264 : Str -> LinN ; +mkN264 base = + case base of { + base_1+base_2@(?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+"i"+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") Fem ; + _ => error "Can't apply paradigm mkN264" + } ; + +mkN265 : Str -> LinN ; +mkN265 base = + case base of { + base_1+"èi"+base_2@? => mkNoun (base_1+"èi"+base_2) (base_1+"eu"+base_2+"an") (base_1+"èi"+base_2) (palatalise base) base (base_1+"eu"+base_2+"an") (lenite base) (palatalise base) (base_1+"eu"+base_2+"a") (lenite base) (lenite (palatalise base)) (base_1+"èi"+base_2) (lenite (palatalise base)) (base_1+"èi"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN265" + } ; + +mkN266 : Str -> LinN ; +mkN266 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"t"+base_2+"an") (base_1+base_2) (base_1+"t"+base_2+"an") (base_1+base_2) (base_1+"t"+base_2+"an") (palatalise base) (base_1+"t"+base_2+"an") (base_1+base_2) (lenite base) (base_1+base_2) (base_1+base_2) (base_1+"h"+base_2) (base_1+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN266" + } ; + +mkN267 : Str -> LinN ; +mkN267 base = mk5N base base (base+"idh") (base+"idhean") (palatalise base) Masc ; + +mkN268 : Str -> LinN ; +mkN268 base = + case base of { + base_1+"a"+base_2@? => mkNoun (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"a"+base_2) (base_1+"i"+base_2) (base_1+"ha"+base_2) (base_1+"i"+base_2) (base_1+"i"+base_2) (base_1+"ha"+base_2) (base_1+"hi"+base_2) (base_1+"a"+base_2) (base_1+"hi"+base_2) (base_1+"ha"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN268" + } ; + +mkN269 : Str -> LinN ; +mkN269 base = + case base of { + base_1+base_2@?+"ir" => mkNoun (base_1+base_2+"ir") (base_1+"r"+base_2+"ichean") (base_1+base_2+"ir") (palatalise base) base (base_1+"r"+base_2+"ichean") (lenite base) (palatalise base) (base_1+base_2+"rach") (lenite base) (lenite (palatalise base)) (base_1+base_2+"ir") (lenite (palatalise base)) (base_1+base_2+"ira") Masc ; + _ => error "Can't apply paradigm mkN269" + } ; + +mkN270 : Str -> LinN ; +mkN270 base = + case base of { + base_1+"da"+base_2@?+base_3@?+"n" => mkNoun (base_1+"da"+base_2+base_3+"n") (base_1+base_2+"d"+base_3+"ean") (base_1+"da"+base_2+base_3+"n") (base_1+base_2+"d"+base_3+"ean") base (base_1+base_2+"d"+base_3+"ean") (palatalise base) (base_1+base_2+"d"+base_3+"ean") (base_1+base_2+"d"+base_3+"e") (lenite base) (base_1+base_2+"d"+base_3+"e") (base_1+"da"+base_2+base_3+"n") (lenite base) (base_1+"da"+base_2+base_3+"na") Fem ; + _ => error "Can't apply paradigm mkN270" + } ; + +mkN271 : Str -> LinN ; +mkN271 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+"inn"+base_2+"a"+base_3) (base_1+base_2+"a"+base_3) (base_1+"inn"+base_2+"a"+base_3) base (base_1+"inn"+base_2+"a"+base_3) (palatalise base) (base_1+"inn"+base_2+"a"+base_3) (base_1+base_2+"i"+base_3) (lenite base) (base_1+base_2+"i"+base_3) (base_1+base_2+"a"+base_3) (lenite base) (base_1+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN271" + } ; + +mkN272 : Str -> LinN ; +mkN272 base = + case base of { + base_1+base_2@(?+?+?+?)+"ea"+base_3@(?+?) => mkNoun (base_1+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+"ea"+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+"ea"+base_3) (base_1+"h"+base_2+"ea"+base_3) (base_1+"h"+base_2+"ea"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN272" + } ; + +mkN273 : Str -> LinN ; +mkN273 base = + case base of { + base_1+base_2@("e"|(?+?+?+?+?+?+?+?+?)) => mkNoun (base_1+base_2) (base_1+"t"+base_2+"an") (base_1+base_2) (palatalise base) (base_1+base_2) (base_1+"t"+base_2+"an") (base_1+"h"+base_2) (palatalise base) (base_1+base_2) (lenite base) (base_1+"h"+base_2) (base_1+base_2) (base_1+"h"+base_2) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN273" + } ; + +mkN274 : Str -> LinN ; +mkN274 base = + case base of { + base_1+"a"+base_2@("g"|(?+?)) => mkNoun (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"i"+base_2) (base_1+"a"+base_2+"an") (base_1+"i"+base_2) (base_1+"a"+base_2+"an") (base_1+"i"+base_2+"e") (base_1+"a"+base_2) (base_1+"i"+base_2+"e") (base_1+"a"+base_2) (base_1+"a"+base_2) (base_1+"a"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN274" + } ; + +mkN275 : Str -> LinN ; +mkN275 base = + case base of { + base_1+"u"+base_2@? => mkNoun (base_1+"u"+base_2) (base_1+"u"+base_2+"an") (base_1+"u"+base_2) (base_1+"u"+base_2+"an") base (base_1+"u"+base_2+"an") (palatalise base) (base_1+"u"+base_2+"an") (base_1+"òi"+base_2) (base_1+"òi"+base_2) (base_1+"òi"+base_2) (base_1+"u"+base_2) (lenite base) (base_1+"u"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN275" + } ; + +mkN276 : Str -> LinN ; +mkN276 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2) (base_1+"ea"+base_2+"an") base (base_1+"ea"+base_2+"an") (palatalise base) (base_1+"ea"+base_2+"an") (base_1+"ea"+base_2+"ach") (lenite base) (base_1+"ea"+base_2+"ach") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN276" + } ; + +mkN277 : Str -> LinN ; +mkN277 base = mk5N base base (base+"ean") (base+"eachan") (palatalise base) Masc ; + +mkN278 : Str -> LinN ; +mkN278 base = + case base of { + base_1+"ui"+base_2@? => mkNoun (base_1+"ui"+base_2) (base_1+"a"+base_2+"annan") (base_1+"hui"+base_2) (base_1+"a"+base_2+"annan") (base_1+"ui"+base_2) (base_1+"a"+base_2+"annan") (base_1+"hui"+base_2) (base_1+"a"+base_2+"annan") (base_1+"a"+base_2+"a") (base_1+"ha"+base_2+"annan") (base_1+"a"+base_2+"a") (base_1+"a"+base_2+"annan") (base_1+"hui"+base_2) (base_1+"ha"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN278" + } ; + +mkN279 : Str -> LinN ; +mkN279 base = + case base of { + base_1+base_2@(?+?+?)+base_3@?+"ir" => mkNoun (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"r") (base_1+"h"+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"r") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+"h"+base_2+"r"+base_3+"ichean") Fem ; + _ => error "Can't apply paradigm mkN279" + } ; + +mkN280 : Str -> LinN ; +mkN280 base = + case base of { + base_1+"n"+base_2@(?+?+?+?+?+?) => mkNoun (base_1+"n"+base_2) (base_1+base_2+"ean") (base_1+"n"+base_2) (palatalise base) base (base_1+base_2+"ean") (lenite base) (palatalise base) (base_1+"n"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"n"+base_2) (lenite (palatalise base)) (base_1+"n"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN280" + } ; + +mkN281 : Str -> LinN ; +mkN281 base = mk5N base base (base+"e") (base+"ichean") (palatalise base) Masc ; + +mkN282 : Str -> LinN ; +mkN282 base = + case base of { + "neach" => mk5N base base base "luchd" (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN282" + } ; + +mkN283 : Str -> LinN ; +mkN283 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun base (base_1+"i"+base_2) (base_1+"ea"+base_2) (palatalise base) base (base_1+"i"+base_2) (lenite base) (palatalise base) (base_1+"èi"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"ea"+base_2) (lenite (palatalise base)) (base_1+"ea"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN283" + } ; + +mkN284 : Str -> LinN ; +mkN284 base = mk5N base base base (base+"thean") (palatalise base) Masc ; + +mkN285 : Str -> LinN ; +mkN285 base = + case base of { + base_1+"ea"+base_2@? => mkNoun (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ea"+base_2) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2+"n") (base_1+"ea"+base_2+"an") (palatalise base) (base_1+"ea"+base_2+"an") (base_1+"i"+base_2+"n") (lenite base) (base_1+"i"+base_2+"n") (base_1+"ea"+base_2) (lenite base) (base_1+"ea"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN285" + } ; + +mkN287 : Str -> LinN ; +mkN287 base = + case base of { + base_1+base_2@(?+?)+base_3@?+"id" => mkNoun (base_1+base_2+base_3+"id") (base_1+"i"+base_2+"de"+base_3+"n") (base_1+base_2+base_3+"id") (palatalise base) base (base_1+"i"+base_2+"de"+base_3+"n") (lenite base) (palatalise base) (base_1+base_2+base_3+"d") (lenite base) (lenite (palatalise base)) (base_1+base_2+base_3+"id") (lenite (palatalise base)) (base_1+base_2+base_3+"ida") Masc ; + _ => error "Can't apply paradigm mkN287" + } ; + +mkN288 : Str -> LinN ; +mkN288 base = + case base of { + base_1+"ì" => mkNoun (base_1+"ì") (base_1+"ithean") (base_1+"ì") (palatalise base) base (base_1+"ithean") (lenite base) (palatalise base) (base_1+"ì") (lenite base) (lenite (palatalise base)) (base_1+"ì") (lenite (palatalise base)) (base_1+"ìa") Masc ; + _ => error "Can't apply paradigm mkN288" + } ; + +mkN289 : Str -> LinN ; +mkN289 base = + case base of { + base_1+"ì" => mkNoun (base_1+"ì") (base_1+"itheachan") (base_1+"ì") (palatalise base) base (base_1+"itheachan") (lenite base) (palatalise base) (base_1+"ith") (lenite base) (lenite (palatalise base)) (base_1+"ì") (lenite (palatalise base)) (base_1+"ìa") Masc ; + _ => error "Can't apply paradigm mkN289" + } ; + +mkN290 : Str -> LinN ; +mkN290 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1) (base_1+"annan") (base_1) (base_1+"annan") Fem ; + _ => error "Can't apply paradigm mkN290" + } ; + +mkN292 : Str -> LinN ; +mkN292 base = mk5N base base (base+"a") (base+"a") (palatalise base) Masc ; + +mkN293 : Str -> LinN ; +mkN293 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"idhean") (base_1) (base_1+"idhean") base (base_1+"idhean") (palatalise base) (base_1+"idhean") (base_1) (lenite base) (base_1) (base_1) (lenite base) (base_1+"a") Fem ; + _ => error "Can't apply paradigm mkN293" + } ; + +mkN294 : Str -> LinN ; +mkN294 base = + case base of { + base_1 => mkNoun (base_1) (base_1) (base_1) (base_1) (base_1) (base_1) (palatalise base) (base_1) (base_1) (lenite base) (base_1) (base_1) (lenite base) (base_1+"a") Fem ; + _ => error "Can't apply paradigm mkN294" + } ; + +mkN295 : Str -> LinN ; +mkN295 base = + case base of { + base_1+base_2@("i"|"ai")+"r" => mkNoun (base_1+base_2+"r") (base_1+"r"+base_2+"chean") (base_1+base_2+"r") (base_1+"r"+base_2+"chean") base (base_1+"r"+base_2+"chean") (palatalise base) (base_1+"r"+base_2+"chean") (base_1+base_2+"re") (lenite base) (base_1+base_2+"re") (base_1+base_2+"r") (lenite base) (base_1+base_2+"ra") Fem ; + _ => error "Can't apply paradigm mkN295" + } ; + +mkN296 : Str -> LinN ; +mkN296 base = + case base of { + base_1+"ea"+base_2@(?+?) => mkNoun (base_1+"ea"+base_2) (base_1+"ea"+base_2+"ean") (base_1+"ea"+base_2) (palatalise base) base (base_1+"ea"+base_2+"ean") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"ea"+base_2) (lenite (palatalise base)) (base_1+"ea"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN296" + } ; + +mkN297 : Str -> LinN ; +mkN297 base = + case base of { + base_1+base_2@?+"ur" => mkNoun (base_1+base_2+"ur") (base_1+base_2+"uran") (base_1+base_2+"ur") (base_1+base_2+"uran") base (base_1+base_2+"uran") (palatalise base) (base_1+base_2+"uran") (base_1+"èir"+base_2) (lenite base) (base_1+"èir"+base_2) (base_1+base_2+"ur") (lenite base) (base_1+base_2+"ura") Fem ; + _ => error "Can't apply paradigm mkN297" + } ; + +mkN298 : Str -> LinN ; +mkN298 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"tan") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"tan") base (base_1+base_2+"a"+base_3+"tan") (palatalise base) (base_1+base_2+"a"+base_3+"tan") (base_1+"é"+base_2+base_3) (lenite base) (base_1+"é"+base_2+base_3) (base_1+base_2+"a"+base_3) (lenite base) (base_1+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN298" + } ; + +mkN299 : Str -> LinN ; +mkN299 base = mk5N base base (base+"a") (base+"nan") (palatalise base) Masc ; + +mkN300 : Str -> LinN ; +mkN300 base = + case base of { + base_1+"iu"+base_2@(?+?)+"a"+base_3@? => mkNoun (base_1+"iu"+base_2+"a"+base_3) (base_1+"ea"+base_2+base_3+"aichean") (base_1+"hiu"+base_2+"a"+base_3) (base_1+"ea"+base_2+base_3+"aichean") (base_1+"iu"+base_2+"a"+base_3) (base_1+"ea"+base_2+base_3+"aichean") (base_1+"hiu"+base_2+"a"+base_3) (base_1+"ea"+base_2+base_3+"aichean") (base_1+"ea"+base_2+"a"+base_3) (base_1+"hea"+base_2+base_3+"aichean") (base_1+"ea"+base_2+"a"+base_3) (base_1+"ea"+base_2+base_3+"aichean") (base_1+"hiu"+base_2+"a"+base_3) (base_1+"hea"+base_2+base_3+"aichean") Fem ; + _ => error "Can't apply paradigm mkN300" + } ; + +mkN301 : Str -> LinN ; +mkN301 base = + case base of { + base_1+"a" => mkNoun (base_1+"a") (base_1+"othan") (base_1+"a") (palatalise base) base (base_1+"othan") (lenite base) (palatalise base) (base_1+"o") (lenite base) (lenite (palatalise base)) (base_1+"a") (lenite (palatalise base)) (base_1+"aa") Masc ; + _ => error "Can't apply paradigm mkN301" + } ; + +mkN302 : Str -> LinN ; +mkN302 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+"i"+base_2) (base_1+"i"+base_2) (base_1+"i"+base_2) base (base_1+"i"+base_2) (palatalise base) (base_1+"i"+base_2) (base_1+base_2+"ach") (lenite base) (base_1+base_2+"ach") (base_1+"i"+base_2) (lenite base) (base_1+"i"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN302" + } ; + +mkN303 : Str -> LinN ; +mkN303 base = + case base of { + base_1 => mkNoun (base_1) (base_1+"ean") (base_1) (base_1+"ean") (base_1) (base_1+"ean") (base_1) (base_1+"ean") (base_1+"e") (base_1+"ean") (base_1+"e") (base_1+"ean") (base_1) (base_1+"ean") Fem ; + _ => error "Can't apply paradigm mkN303" + } ; + +mkN304 : Str -> LinN ; +mkN304 base = + case base of { + base_1+base_2@?+"ul" => mkNoun (base_1+base_2+"ul") (base_1+base_2+"ultan") (base_1+base_2+"ul") (base_1+base_2+"ultan") base (base_1+base_2+"ultan") (palatalise base) (base_1+base_2+"ultan") (base_1+"èil"+base_2) (lenite base) (base_1+"èil"+base_2) (base_1+base_2+"ul") (lenite base) (base_1+base_2+"ula") Fem ; + _ => error "Can't apply paradigm mkN304" + } ; + +mkN305 : Str -> LinN ; +mkN305 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+base_2+"ean") (base_1+"i"+base_2) (palatalise base) base (base_1+base_2+"ean") (lenite base) (palatalise base) (base_1+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+"i"+base_2) (lenite (palatalise base)) (base_1+"i"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN305" + } ; + +mkN306 : Str -> LinN ; +mkN306 base = mk5N base base base (base+"rean") (palatalise base) Masc ; + +mkN307 : Str -> LinN ; +mkN307 base = + case base of { + base_1+base_2@(?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"i"+base_2) (base_1+base_2+"an") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+base_2) (base_1+base_2) (base_1+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN307" + } ; + +mkN308 : Str -> LinN ; +mkN308 base = mk5N base base (base+"a") (base+"e") (palatalise base) Masc ; + +mkN309 : Str -> LinN ; +mkN309 base = + case base of { + base_1+base_2@?+"ad" => mkNoun (base_1+base_2+"ad") (base_1+"d"+base_2+"an") (base_1+base_2+"ad") (base_1+"d"+base_2+"an") base (base_1+"d"+base_2+"an") (palatalise base) (base_1+"d"+base_2+"an") (base_1+"d"+base_2) (lenite base) (base_1+"d"+base_2) (base_1+base_2+"ad") (lenite base) (base_1+base_2+"ada") Fem ; + _ => error "Can't apply paradigm mkN309" + } ; + +mkN310 : Str -> LinN ; +mkN310 base = + case base of { + base_1@?+base_2+base_3@("th"|?) => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN310" + } ; + +mkN311 : Str -> LinN ; +mkN311 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+"inn"+base_2+"an") (base_1+base_2) (base_1+"inn"+base_2+"an") base (base_1+"inn"+base_2+"an") (palatalise base) (base_1+"inn"+base_2+"an") (base_1+base_2) (lenite base) (base_1+base_2) (base_1+base_2) (lenite base) (base_1+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN311" + } ; + +mkN312 : Str -> LinN ; +mkN312 base = mk5N base base base (base+"innean") (palatalise base) Masc ; + +mkN313 : Str -> LinN ; +mkN313 base = + case base of { + base_1+base_2@(?+?+?+?)+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") (base_1+base_2+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") Masc ; + _ => error "Can't apply paradigm mkN313" + } ; + +mkN314 : Str -> LinN ; +mkN314 base = + case base of { + base_1+base_2@(?+?+?+?+?+?)+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") (base_1+base_2+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") Fem ; + _ => error "Can't apply paradigm mkN314" + } ; + +mkN315 : Str -> LinN ; +mkN315 base = + case base of { + base_1+"ia"+base_2@? => mkNoun (base_1+"ia"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ia"+base_2) (base_1+"ea"+base_2+"an") (base_1+"ithi"+base_2+"n") (base_1+"ea"+base_2+"an") (palatalise base) (base_1+"ea"+base_2+"an") (base_1+"ei"+base_2+"e") (lenite base) (base_1+"ei"+base_2+"e") (base_1+"ia"+base_2) (lenite base) (base_1+"ia"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN315" + } ; + +mkN316 : Str -> LinN ; +mkN316 base = + case base of { + base_1+"ia"+base_2@? => mkNoun (base_1+"ia"+base_2) (base_1+"ia"+base_2+"tan") (base_1+"ia"+base_2) (palatalise base) base (base_1+"ia"+base_2+"tan") (lenite base) (palatalise base) (base_1+"ì"+base_2+"e") (lenite base) (lenite (palatalise base)) (base_1+"ia"+base_2) (lenite (palatalise base)) (base_1+"ia"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN316" + } ; + +mkN317 : Str -> LinN ; +mkN317 base = + case base of { + base_1+base_2@? => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (palatalise base) base (base_1+base_2+"an") (lenite base) (palatalise base) (base_1+"i"+base_2) (lenite base) (base_1+base_2) (palatalise base) (base_1+base_2+"a") (lenite base+"a") Masc ; + _ => error "Can't apply paradigm mkN317" + } ; + +mkN318 : Str -> LinN ; +mkN318 base = + case base of { + base_1+base_2@?+"ar" => mkNoun (base_1+base_2+"ar") (base_1+base_2+"aran") (base_1+base_2+"ar") (palatalise base) base (base_1+base_2+"aran") (lenite base) (palatalise base) (base_1+"ir"+base_2) (lenite base) (base_1+base_2+"ar") (palatalise base) (base_1+base_2+"ara") (lenite base+"a") Masc ; + _ => error "Can't apply paradigm mkN318" + } ; + +mkN319 : Str -> LinN ; +mkN319 base = + case base of { + base_1+"i"+base_2@(?+?)+base_3@?+"ann" => mkNoun (base_1+"i"+base_2+base_3+"ann") (nonExist) (base_1+"i"+base_2+base_3+"ann") (nonExist) base (nonExist) (palatalise base) nonExist (base_1+"ì"+base_2+"n"+base_3) (lenite base) (base_1+"ì"+base_2+"n"+base_3) (base_1+"i"+base_2+base_3+"ann") (lenite base) (base_1+"i"+base_2+base_3+"anna") Fem ; + _ => error "Can't apply paradigm mkN319" + } ; + +mkN320 : Str -> LinN ; +mkN320 base = + case base of { + base_1+"u"+base_2@(?+?)+base_3@?+"l" => mkNoun (base_1+"u"+base_2+base_3+"l") (base_1+"ù"+base_2+"l"+base_3+"ichean") (base_1+"u"+base_2+base_3+"l") (palatalise base) base (base_1+"ù"+base_2+"l"+base_3+"ichean") (lenite base) (palatalise base) (base_1+"u"+base_2+base_3+"il") (lenite base) (lenite (palatalise base)) (base_1+"u"+base_2+base_3+"l") (lenite (palatalise base)) (base_1+"u"+base_2+base_3+"la") Masc ; + _ => error "Can't apply paradigm mkN320" + } ; + +mkN321 : Str -> LinN ; +mkN321 base = + case base of { + base_1+base_2@(?+?)+base_3@? => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+base_3) (base_1+"h"+base_2+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN321" + } ; + +mkN322 : Str -> LinN ; +mkN322 base = + case base of { + base_1+base_2@?+"a"+base_3@(?+?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+"è"+base_2+base_3+"tean") (base_1+base_2+"a"+base_3) (palatalise base) base (base_1+"è"+base_2+base_3+"tean") (lenite base) (palatalise base) (base_1+"è"+base_2+base_3) (lenite base) (lenite (palatalise base)) (base_1+base_2+"a"+base_3) (lenite (palatalise base)) (base_1+base_2+"a"+base_3+"a") Masc ; + _ => error "Can't apply paradigm mkN322" + } ; + +mkN323 : Str -> LinN ; +mkN323 base = + case base of { + base_1+base_2@?+"a"+base_3@?+"aid" => mkNoun (base_1+base_2+"a"+base_3+"aid") (base_1+"è"+base_2+base_3+"tean") (base_1+base_2+"a"+base_3+"aid") (base_1+"è"+base_2+base_3+"tean") base (base_1+"è"+base_2+base_3+"tean") (palatalise base) (base_1+"è"+base_2+base_3+"tean") (base_1+"è"+base_2+base_3+"te") (lenite base) (base_1+"è"+base_2+base_3+"te") (base_1+base_2+"a"+base_3+"aid") (lenite base) (base_1+base_2+"a"+base_3+"aida") Fem ; + _ => error "Can't apply paradigm mkN323" + } ; + +mkN324 : Str -> LinN ; +mkN324 base = + case base of { + base_1+base_2@(?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+"h"+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+"h"+base_2+"an") Fem ; + _ => error "Can't apply paradigm mkN324" + } ; + +mkN325 : Str -> LinN ; +mkN325 base = + case base of { + base_1+"ua"+base_2@(?+?) => mkNoun (base_1+"ua"+base_2) (base_1+"òi"+base_2) (base_1+"ua"+base_2) (palatalise base) base (base_1+"òi"+base_2) (lenite base) (palatalise base) (base_1+"uai"+base_2) (lenite base) (lenite (palatalise base)) (base_1+"ua"+base_2) (lenite (palatalise base)) (base_1+"ua"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN325" + } ; + +mkN326 : Str -> LinN ; +mkN326 base = + case base of { + base_1+"d"+base_2@(?+?)+"nn" => mkNoun (base_1+"d"+base_2+"nn") (base_1+base_2+"dhean") (base_1+"d"+base_2+"nn") (palatalise base) base (base_1+base_2+"dhean") nonExist (palatalise base) (base_1+base_2+"dh") (lenite base) (lenite (palatalise base)) (base_1+"d"+base_2+"nn") (lenite (palatalise base)) (base_1+"d"+base_2+"nna") Masc ; + _ => error "Can't apply paradigm mkN326" + } ; + +mkN327 : Str -> LinN ; +mkN327 base = + case base of { + base_1+"i"+base_2@?+"e"+base_3@(?+?+?+?)+base_4@(?+?) => mkNoun (base_1+"i"+base_2+"e"+base_3+base_4) (base_1+"a"+base_2+base_3+"i"+base_4+"ean") (base_1+"i"+base_2+"e"+base_3+base_4) (palatalise base) base (base_1+"a"+base_2+base_3+"i"+base_4+"ean") nonExist (palatalise base) (base_1+"a"+base_2+base_3+"i"+base_4) (lenite base) (lenite (palatalise base)) (base_1+"i"+base_2+"e"+base_3+base_4) (lenite (palatalise base)) (base_1+"i"+base_2+"e"+base_3+base_4+"a") Masc ; + _ => error "Can't apply paradigm mkN327" + } ; + +mkN328 : Str -> LinN ; +mkN328 base = + case base of { + base_1+base_2@(?+?+?+?+?+?)+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN328" + } ; + +mkN329 : Str -> LinN ; +mkN329 base = + case base of { + base_1+"a"+base_2@(?+?) => mkNoun (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"a"+base_2) (base_1+"a"+base_2+"an") (base_1+"i"+base_2) (base_1+"a"+base_2+"an") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") (base_1+"a"+base_2) (base_1+"a"+base_2) (base_1+"a"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN329" + } ; + +mkN330 : Str -> LinN ; +mkN330 base = + case base of { + base_1+base_2@?+"a"+base_3@? => mkNoun (base_1+base_2+"a"+base_3) (base_1+"è"+base_2+base_3+"ean") (base_1+base_2+"a"+base_3) (base_1+"è"+base_2+base_3+"ean") base (base_1+"è"+base_2+base_3+"ean") (palatalise base) (base_1+"è"+base_2+base_3+"ean") (base_1+"è"+base_2+base_3+"e") (lenite base) (base_1+"è"+base_2+base_3+"e") (base_1+base_2+"a"+base_3) (lenite base) (base_1+base_2+"a"+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN330" + } ; + +mkN331 : Str -> LinN ; +mkN331 base = + case base of { + base_1+base_2@(?+?)+base_3@? => mkNoun (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3) (base_1+base_2+base_3+"an") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+base_3) (base_1+base_2+"i"+base_3+"e") (base_1+base_2+base_3) (base_1+"h"+base_2+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN331" + } ; + +mkN332 : Str -> LinN ; +mkN332 base = + case base of { + base_1+"i"+base_2@? => mkNoun (base_1+"i"+base_2) (base_1+base_2+"ichean") (base_1+"i"+base_2) (base_1+base_2+"ichean") (base_1+"i"+base_2) (base_1+base_2+"ichean") (base_1+"i"+base_2) (base_1+base_2+"ichean") (base_1+base_2+"each") (base_1+base_2+"ichean") (base_1+base_2+"each") (base_1+base_2+"ichean") (base_1+"i"+base_2) (base_1+base_2+"ichean") Fem ; + _ => error "Can't apply paradigm mkN332" + } ; + +mkN333 : Str -> LinN ; +mkN333 base = mk5N base base (base+"each") (base+"ean") (palatalise base) Masc ; + +mkN334 : Str -> LinN ; +mkN334 base = + case base of { + base_1+"d"+base_2@? => mkNoun (base_1+"d"+base_2) (base_1+"g"+base_2+"an") (base_1+"d"+base_2) (base_1+"g"+base_2+"an") base (base_1+"g"+base_2+"an") (palatalise base) (base_1+"g"+base_2+"an") (base_1+"ig"+base_2) (lenite base) (base_1+"ig"+base_2) (base_1+"d"+base_2) (lenite base) (base_1+"d"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN334" + } ; + +mkN337 : Str -> LinN ; +mkN337 base = mk5N base base (base+"ach") (base+"an") (palatalise base) Masc ; + +mkN338 : Str -> LinN ; +mkN338 base = + case base of { + base_1+base_2@(?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2+"e") (base_1+"h"+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ean") Fem ; + _ => error "Can't apply paradigm mkN338" + } ; + +mkN339 : Str -> LinN ; +mkN339 base = + case base of { + base_1+"o"+base_2@? => mkNoun (base_1+"o"+base_2) (base_1+base_2) (base_1+"o"+base_2) (palatalise base) base (base_1+base_2) (lenite base) (palatalise base) (base_1+base_2) (lenite base) (lenite (palatalise base)) (base_1+"o"+base_2) (lenite (palatalise base)) (base_1+"o"+base_2+"a") Masc ; + _ => error "Can't apply paradigm mkN339" + } ; + +mkN340 : Str -> LinN ; +mkN340 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+base_2) (base_1+"h"+base_2+"an") (base_1+base_2) (base_1+base_2+"an") (base_1+"h"+base_2) (base_1+"h"+base_2+"an") Masc ; + _ => error "Can't apply paradigm mkN340" + } ; + +mkN341 : Str -> LinN ; +mkN341 base = + case base of { + base_1+base_2@?+"i"+base_3@? => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+base_3+"a") (base_1+base_2+base_3) (base_1+base_2+base_3+"a") (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN341" + } ; + +mkN342 : Str -> LinN ; +mkN342 base = + case base of { + base_1+"ù"+base_2@(?+?) => mkNoun (base_1+"ù"+base_2) (base_1+"u"+base_2+"eannan") (base_1+"ù"+base_2) (base_1+"u"+base_2+"eannan") base (base_1+"u"+base_2+"eannan") (palatalise base) (base_1+"u"+base_2+"eannan") (base_1+"ù"+base_2+"e") (lenite base) (base_1+"ù"+base_2+"e") (base_1+"ù"+base_2) (lenite base) (base_1+"ù"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN342" + } ; + +mkN343 : Str -> LinN ; +mkN343 base = + case base of { + base_1+base_2@(?+?+?+?+?+?) => mkNoun (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2+"e") (base_1+"h"+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ean") Fem ; + _ => error "Can't apply paradigm mkN343" + } ; + +mkN344 : Str -> LinN ; +mkN344 base = + case base of { + base_1@?+base_2 => mkNoun (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2) (base_1+base_2+"ean") (base_1+base_2+"e") (base_1+"h"+base_2+"ean") (base_1+base_2+"e") (base_1+base_2+"ean") (base_1+"h"+base_2) (base_1+"h"+base_2+"ean") Masc ; + _ => error "Can't apply paradigm mkN344" + } ; + +mkN345 : Str -> LinN ; +mkN345 base = + case base of { + base_1+base_2@(?+?)+"a"+base_3@(?+?) => mkNoun (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+"a"+base_3) (base_1+base_2+"a"+base_3+"an") (base_1+base_2+base_3+"ainn") (base_1+"h"+base_2+"a"+base_3+"an") (base_1+base_2+base_3+"ainn") (base_1+base_2+"a"+base_3+"an") (base_1+"h"+base_2+"a"+base_3) (base_1+"h"+base_2+"a"+base_3+"an") Masc ; + _ => error "Can't apply paradigm mkN345" + } ; + +mkN346 : Str -> LinN ; +mkN346 base = mk5N base base (base+"chan") (base+"ichean") (palatalise base) Masc ; + +mkN347 : Str -> LinN ; +mkN347 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"ir" => mkNoun base (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+base_3+"ir") (base_1+base_2+"r"+base_3+"ichean") (base_1+base_2+"r"+base_3+"ch") (base_1+"h"+base_2+"r"+base_3+"ichean") (base_1+base_2+"r"+base_3+"ch") (base_1+base_2+"r"+base_3+"ichean") (base_1+"h"+base_2+base_3+"ir") (base_1+"h"+base_2+"r"+base_3+"ichean") Fem ; + _ => error "Can't apply paradigm mkN347" + } ; + +mkN348 : Str -> LinN ; +mkN348 base = + case base of { + base_1+base_2@(?+?+?+?+?) => mkNoun base (base+"n") base (base+"nnan") base (base+"nnan") base (base+"nnan") base (base_1+"h"+base_2+"nnan") base (base+"nnan") (base_1+"h"+base_2) (base_1+"h"+base_2+"nnan") Fem ; + _ => error "Can't apply paradigm mkN348" + } ; + +mkN349 : Str -> LinN ; +mkN349 base = + case base of { + base_1+"à"+base_2@(?+?) => mkNoun base (base+"an") base (base+"an") base (base+"an") (palatalise base) (base+"an") (base_1+"a"+base_2+"a") (lenite base) (base_1+"a"+base_2+"a") base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN349" + } ; + +mkN350 : Str -> LinN ; +mkN350 base = + case base of { + "tighearna" => mkNoun base (base+"n") base (base+"n") base (base+"n") base (base+"n") base "thighearnan" base (base+"n") (lenite base) (lenite base+"n") Masc ; + _ => error "Can't apply paradigm mkN350" + } ; + +mkN351 : Str -> LinN ; +mkN351 base = mk5N base base base (base+"en") (palatalise base) Masc ; + +mkN352 : Str -> LinN ; +mkN352 base = + case base of { + base_1+"ar" => mk5N base base (base_1+"air") (base_1+"rachan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN352" + } ; + +mkN353 : Str -> LinN ; +mkN353 base = + case base of { + base_1+"o"+base_2@(?+?)+base_3@?+"s" => mkNoun (base_1+"o"+base_2+base_3+"s") (base_1+"òi"+base_2+"se"+base_3+"n") (base_1+"o"+base_2+base_3+"s") (palatalise base) base (base_1+"òi"+base_2+"se"+base_3+"n") (lenite base) (palatalise base) (base_1+"o"+base_2+base_3+"is") (lenite base) (lenite (palatalise base)) (base_1+"o"+base_2+base_3+"s") (lenite (palatalise base)) (base_1+"o"+base_2+base_3+"sa") Masc ; + _ => error "Can't apply paradigm mkN353" + } ; + +mkN354 : Str -> LinN ; +mkN354 base = + case base of { + base_1+"eu"+base_2@(?+?) => mkNoun (base_1+"eu"+base_2) (base_1+"eu"+base_2+"an") (base_1+"eu"+base_2) (base_1+"eu"+base_2+"an") base (base_1+"eu"+base_2+"an") (palatalise base) (base_1+"eu"+base_2+"an") (base_1+"èi"+base_2) (lenite base) (base_1+"èi"+base_2) (base_1+"eu"+base_2) (lenite base) (base_1+"eu"+base_2+"a") Fem ; + _ => error "Can't apply paradigm mkN354" + } ; + +mkN356 : Str -> LinN ; +mkN356 base = + case base of { + base_1+base_2@(?+?)+"i"+base_3@(?+?) => mkNoun (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3) (base_1+base_2+"i"+base_3+"ean") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+"i"+base_3+"ean") (base_1+base_2+base_3+"ad") (base_1+base_2+"i"+base_3+"ean") (base_1+"h"+base_2+"i"+base_3) (base_1+"h"+base_2+"i"+base_3+"ean") Fem ; + _ => error "Can't apply paradigm mkN356" + } ; + +mkN357 : Str -> LinN ; +mkN357 base = + case base of { + base_1@?+base_2+base_3@("g"|"gh") => mkNoun base (base+"an") base (base+"an") (base_1+base_2+"i"+base_3) (base+"an") (base_1+base_2+"i"+base_3) (base+"an") (base_1+base_2+"i"+base_3+"e") (base_1+"h"+base_2+base_3) (base_1+base_2+"i"+base_3+"e") base (base_1+"h"+base_2+base_3) (base_1+"h"+base_2+base_3+"a") Fem ; + _ => error "Can't apply paradigm mkN357" + } ; + +mkN358 : Str -> LinN ; +mkN358 base = + case base of { + base_1+"i"+base_2@(?+?) => mkNoun base (base_1+base_2+"an") base (base_1+base_2+"an") base (base_1+base_2+"an") (palatalise base) (base_1+base_2+"an") (base_1+base_2+"a") (lenite base) (base_1+base_2+"a") base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN358" + } ; + +mkN359 : Str -> LinN ; +mkN359 base = + case base of { + base_1+"òi"+base_2@? => mkNoun base (base+"an") base (base+"an") base (base+"an") (palatalise base) (base+"an") (base_1+"o"+base_2+"a") (lenite base) (base_1+"o"+base_2+"a") base (lenite base) (base+"a") Fem ; + _ => error "Can't apply paradigm mkN359" + } ; + +mkN360 : Str -> LinN ; +mkN360 base = + case base of { + base_1+base_2@(?+?) => mkNoun base (base_1+"i"+base_2+"ean") base (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2) (base_1+"i"+base_2+"ean") (base_1+"i"+base_2+"e") (lenite base) (base_1+"i"+base_2+"e") base base (base+"a") Masc ; + _ => error "Can't apply paradigm mkN360" + } ; + +mkN361 : Str -> LinN ; +mkN361 base = + case base of { + "u"+base_1+base_2@?+"l" => mkNoun base ("ù"+base_1+"l"+base_2+"n") base (palatalise base) base ("ù"+base_1+"l"+base_2+"n") (lenite base) (palatalise base) ("u"+base_1+base_2+"il") (lenite base) (lenite (palatalise base)) base (lenite (palatalise base)) (base+"a") Masc ; + _ => error "Can't apply paradigm mkN361" + } ; + +mkN362 : Str -> LinN ; +mkN362 base = mk5N base base (palatalise base) (base+"nan") (palatalise base) Masc ; + +mkN363 : Str -> LinN ; +mkN363 base = mkNoun base (base+"achan") base (base+"achan") base (base+"achan") base (base+"achan") base (base+"achan") base (base+"achan") base (base+"achan") Masc ; + +mkN364 : Str -> LinN ; +mkN364 base = + case base of { + "à"+base_1 => mk5N base base ("a"+base_1+"a") ("a"+base_1+"annan") (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN364" + } ; + +mkN365 : Str -> LinN ; +mkN365 base = mkNoun base (base+"an") base (base+"an") (base+"a") (base+"an") (base+"a") (base+"an") (base+"a") (base+"an") (base+"a") (base+"an") base (base+"an") Fem ; + +mkN367 : Str -> LinN ; +mkN367 base = + case base of { + "ò"+base_1 => mk5N base base ("ùi"+base_1) ("ùi"+base_1) (palatalise base) Masc ; + _ => error "Can't apply paradigm mkN367" + } ; + +mkV001 : Str -> V ; +mkV001 base = + case base of { + "abai"+base_1 => lin V + { s = "abai"+base_1 ; + conditional = table { + Sg => "thei"+base_1+"inn" ; + Pl => "thei"+base_1+"eadh" + } ; + imperative = table { + P1 => table { + Sg => "ab"+base_1+"am" ; + Pl => "ab"+base_1+"amaid" + } ; + P2 => table { + Sg => "abai"+base_1 ; + Pl => "ab"+base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "ab"+base_1+"adh" + } + } ; + future = table { + Indep => "thei"+base_1 ; + Dep => "abai"+base_1 + } ; + past = table { + Indep => "thui"+base_1+"t" ; + Dep => "tui"+base_1+"t" + } ; + noun = base_1+"àdh" ; + participle = base_1+"àite" + }; + _ => error "Can't apply paradigm mkV001" + } ; + +mkV002 : Str -> V ; +mkV002 base = + case base of { + base_1+"i"+base_2@("c"|(?+?)) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => "dh'"+base_1+"i"+base_2+"inn" ; + Pl => "dh'"+base_1+"i"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"i"+base_2+"eam" ; + Pl => base_1+"i"+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"i"+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => base_1+"i"+base_2 + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => "dh'"+base_1+"i"+base_2 + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV002" + } ; + +mkV003 : Str -> V ; +mkV003 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; + Pl => "dh'"+base_1+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; + Pl => base_1+"amaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1+"adh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV003" + } ; + +mkV004 : Str -> V ; +mkV004 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV004" + } ; + +mkV005 : Str -> V ; +mkV005 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"t" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV005" + } ; + +mkV006 : Str -> V ; +mkV006 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ea"+base_2+"adh" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV006" + } ; + +mkV007 : Str -> V ; +mkV007 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"mhainn" ; + participle = base_1+"ta" + }; + _ => error "Can't apply paradigm mkV007" + } ; + +mkV008 : Str -> V ; +mkV008 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV008" + } ; + +mkV009 : Str -> V ; +mkV009 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV009" + } ; + +mkV010 : Str -> V ; +mkV010 base = + case base of { + base_1+"i"+base_2@("m"|(?+?)) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => "dh'"+base_1+"i"+base_2+"inn" ; + Pl => "dh'"+base_1+"i"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"i"+base_2+"eam" ; + Pl => base_1+"i"+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+"i"+base_2 ; + Pl => base_1+"i"+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"i"+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => base_1+"i"+base_2 + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => "dh'"+base_1+"i"+base_2 + } ; + noun = base_1+base_2 ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV010" + } ; + +mkV011 : Str -> V ; +mkV011 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"hte" + }; + _ => error "Can't apply paradigm mkV011" + } ; + +mkV012 : Str -> V ; +mkV012 base = + case base of { + base_1+base_2@?+"nn" => lin V + { s = base_1+base_2+"nn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"n"+base_2+"dh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"nn" ; + Dep => nonExist + } ; + noun = base_1+base_2+"nn" ; + participle = base_1+base_2+"nnte" + }; + _ => error "Can't apply paradigm mkV012" + } ; + +mkV013 : Str -> V ; +mkV013 base = + case base of { + base_1+base_2@?+"inn" => lin V + { s = base_1+base_2+"inn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"n"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"inn" ; + Dep => nonExist + } ; + noun = base_1+"n"+base_2+"dh" ; + participle = base_1+base_2+"innte" + }; + _ => error "Can't apply paradigm mkV013" + } ; + +mkV014 : Str -> V ; +mkV014 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ea"+base_2+"d" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV014" + } ; + +mkV015 : Str -> V ; +mkV015 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = base_1+"ta" + }; + _ => error "Can't apply paradigm mkV015" + } ; + +mkV016 : Str -> V ; +mkV016 base = + case base of { + base_1+"dhèa"+base_2@? => lin V + { s = base_1+"dhèa"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"ì" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"ri"+base_2+"n" ; + Dep => nonExist + } ; + noun = base_1+"dhèa"+base_2+"amh" ; + participle = base_1+"dhèa"+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV016" + } ; + +mkV017 : Str -> V ; +mkV017 base = + case base of { + base_1+"a"+base_2@(?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+"a"+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"a"+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"a"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+"a"+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV017" + } ; + +mkV018 : Str -> V ; +mkV018 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"ail" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV018" + } ; + +mkV019 : Str -> V ; +mkV019 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"tinn" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV019" + } ; + +mkV020 : Str -> V ; +mkV020 base = + case base of { + base_1+"i"+base_2@? => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"e" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV020" + } ; + +mkV021 : Str -> V ; +mkV021 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV021" + } ; + +mkV022 : Str -> V ; +mkV022 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"tainn" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV022" + } ; + +mkV023 : Str -> V ; +mkV023 base = + case base of { + base_1+base_2@(?+?)+"r" => lin V + { s = base_1+base_2+"r" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"r"+base_2+"dh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"r" ; + Dep => nonExist + } ; + noun = base_1+base_2+"rt" ; + participle = base_1+base_2+"rte" + }; + _ => error "Can't apply paradigm mkV023" + } ; + +mkV024 : Str -> V ; +mkV024 base = + case base of { + base_1+base_2@? => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ad"+base_2 ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV024" + } ; + +mkV025 : Str -> V ; +mkV025 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"eam" ; + participle = base_1+"e" + }; + _ => error "Can't apply paradigm mkV025" + } ; + +mkV026 : Str -> V ; +mkV026 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"ainn" ; + Pl => base_1+"h"+base_2+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"am" ; + Pl => base_1+base_2+"amaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"adh" + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV026" + } ; + +mkV027 : Str -> V ; +mkV027 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"inn" ; + Pl => base_1+"h"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; + Pl => base_1+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"t" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV027" + } ; + +mkV028 : Str -> V ; +mkV028 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eadh" ; + participle = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkV028" + } ; + +mkV029 : Str -> V ; +mkV029 base = + case base of { + base_1@?+base_2+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"d" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV029" + } ; + +mkV030 : Str -> V ; +mkV030 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"ic"+base_3@? => lin V + { s = base_1+base_2+"ic"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"ic"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"ic"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"d"+base_3 ; + participle = base_1+base_2+"ic"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV030" + } ; + +mkV031 : Str -> V ; +mkV031 base = + case base of { + "bei"+base_1 => lin V + { s = "bei"+base_1 ; + conditional = table { + Sg => "bhei"+base_1+"inn" ; + Pl => "bhei"+base_1+"eadh" + } ; + imperative = table { + P1 => table { + Sg => "bei"+base_1+"eam" ; + Pl => "bei"+base_1+"eamaid" + } ; + P2 => table { + Sg => "bei"+base_1 ; + Pl => "bei"+base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "bei"+base_1+"eadh" + } + } ; + future = table { + Indep => "bei"+base_1+"idh" ; + Dep => "bhei"+base_1 + } ; + past = table { + Indep => base_1+"ug" ; + Dep => base_1+"ug" + } ; + noun = "b"+base_1+"eith" ; + participle = "bei"+base_1+"te" + }; + _ => error "Can't apply paradigm mkV031" + } ; + +mkV032 : Str -> V ; +mkV032 base = + case base of { + base_1@?+base_2+"i"+base_3@("l"|"g"|(?+?)) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => base_1+"h"+base_2+"i"+base_3+"inn" ; + Pl => base_1+"h"+base_2+"i"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"i"+base_3+"eam" ; + Pl => base_1+base_2+"i"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"i"+base_3 ; + Pl => base_1+base_2+"i"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"i"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV032" + } ; + +mkV033 : Str -> V ; +mkV033 base = + case base of { + base_1+base_2@?+"à"+base_3@(?+?) => lin V + { s = base_1+base_2+"à"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"a"+base_3+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"à"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"a"+base_3+"adh" ; + participle = base_1+base_2+"à"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV033" + } ; + +mkV034 : Str -> V ; +mkV034 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"inn" ; + Pl => base_1+"h"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; + Pl => base_1+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"eadh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV034" + } ; + +mkV035 : Str -> V ; +mkV035 base = + case base of { + base_1@?+base_2+"i"+base_3@("l"|"r"|(?+?)) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3 ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV035" + } ; + +mkV036 : Str -> V ; +mkV036 base = + case base of { + base_1+"ic"+base_2@? => lin V + { s = base_1+"ic"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => nonExist ; + Dep => nonExist + } ; + past = table { + Indep => nonExist ; + Dep => nonExist + } ; + noun = base_1+"d"+base_2 ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV036" + } ; + +mkV037 : Str -> V ; +mkV037 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; --guessed + Pl => "dh'"+base_1+"amaid" --guessed + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; --guessed + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => base_1 ; --guessed + Pl => base_1+"aibh" --guessed + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" --guessed + } + } ; + future = table { + Indep => base_1+"idh" ; --guessed + Dep => base_1 --guessed + } ; + past = table { + Indep => base_1 ; --guessed + Dep => "dh'"+base_1 --guessed + } ; + noun = base_1 ; + participle = base_1+"te" --guessed + }; + _ => error "Can't apply paradigm mkV037" + } ; + +mkV038 : Str -> V ; +mkV038 base = + case base of { + base_1@?+base_2+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => base_1+"h"+base_2+"i"+base_3+"inn" ; + Pl => base_1+"h"+base_2+"i"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"i"+base_3+"eam" ; + Pl => base_1+base_2+"i"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"i"+base_3 ; + Pl => base_1+base_2+"i"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"i"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => base_1+base_2+"i"+base_3 + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + noun = base_1+base_2+"ea"+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV038" + } ; + +mkV039 : Str -> V ; +mkV039 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ad" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV039" + } ; + +mkV040 : Str -> V ; +mkV040 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"i"+base_3@?+"n" => lin V + { s = base_1+base_2+"i"+base_3+"n" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+"n" ; + Dep => nonExist + } ; + noun = base_1+base_2+"i"+base_3+"n" ; + participle = base_1+base_2+base_3+"te" + }; + _ => error "Can't apply paradigm mkV040" + } ; + +mkV041 : Str -> V ; +mkV041 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV041" + } ; + +mkV042 : Str -> V ; +mkV042 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"inn" ; --guessed + Pl => base_1+"h"+base_2+"eamaid" --guessed + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; --guessed + Pl => base_1+base_2+"eamaid" --guessed + } ; + P2 => table { + Sg => base_1+base_2 ; --guessed + Pl => base_1+base_2+"ibh" --guessed + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" --guessed + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+"h"+base_2 --guessed + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 --guessed + } ; + noun = base_1+base_2+"eadh" ; + participle = base_1+base_2+"e" --guessed + }; + _ => error "Can't apply paradigm mkV042" + } ; + +mkV043 : Str -> V ; +mkV043 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV043" + } ; + +mkV044 : Str -> V ; +mkV044 base = + case base of { + base_1+base_2@(?+?)+base_3@?+"inn" => lin V + { s = base_1+base_2+base_3+"inn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"n"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"inn" ; + Dep => nonExist + } ; + noun = base_1+base_2+"n"+base_3+"dh" ; + participle = base_1+base_2+base_3+"innte" + }; + _ => error "Can't apply paradigm mkV044" + } ; + +mkV045 : Str -> V ; +mkV045 base = + case base of { + base_1+base_2@?+"i"+base_3@?+"i"+base_4@? => lin V + { s = base_1+base_2+"i"+base_3+"i"+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+"i"+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"a"+base_4 ; + participle = base_1+base_2+"i"+base_3+"i"+base_4+"te" + }; + _ => error "Can't apply paradigm mkV045" + } ; + +mkV046 : Str -> V ; +mkV046 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eamh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV046" + } ; + +mkV047 : Str -> V ; +mkV047 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"ainn" ; + Pl => base_1+"h"+base_2+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"am" ; + Pl => base_1+base_2+"amaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"adh" + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"tainn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV047" + } ; + +mkV048 : Str -> V ; +mkV048 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"il" => lin V + { s = base_1+base_2+base_3+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"ilidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+"l"+base_3+"dh" ; + participle = base_1+base_2+base_3+"ilte" + }; + _ => error "Can't apply paradigm mkV048" + } ; + +mkV049 : Str -> V ; +mkV049 base = + case base of { + base_1@?+base_2+base_3@(?+?)+"ai"+base_4@?+"n" => lin V + { s = base_1+base_2+base_3+"ai"+base_4+"n" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"ai"+base_4+"n" ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+base_4+"adh" ; + participle = base_1+base_2+base_3+"ai"+base_4+"nte" + }; + _ => error "Can't apply paradigm mkV049" + } ; + +mkV050 : Str -> V ; +mkV050 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"il" => lin V + { s = base_1+base_2+base_3+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"l"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"l" ; + participle = base_1+base_2+base_3+"ilte" + }; + _ => error "Can't apply paradigm mkV050" + } ; + +mkV051 : Str -> V ; +mkV051 base = + case base of { + base_1+base_2@?+"uinn" => lin V + { s = base_1+base_2+"uinn" ; + conditional = table { + Sg => base_1+"h"+base_2+"uinninn" ; + Pl => base_1+"h"+base_2+"uinneadh" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"uinneam" ; + Pl => base_1+base_2+"uinneamaid" + } ; + P2 => table { + Sg => base_1+base_2+"uinn" ; + Pl => base_1+base_2+"uinnibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"uinneadh" + } + } ; + future = table { + Indep => base_1+base_2+"uinnidh" ; + Dep => base_1+"h"+base_2+"uinn" + } ; + past = table { + Indep => base_1+"hua"+base_2+"a" ; + Dep => base_1+"hua"+base_2+"a" + } ; + noun = base_1+base_2+"uinntinn" ; + participle = base_1+base_2+"uinnte" + }; + _ => error "Can't apply paradigm mkV051" + } ; + +mkV052 : Str -> V ; +mkV052 base = + case base of { + base_1+base_2@(?+?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3+"d" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV052" + } ; + +mkV053 : Str -> V ; +mkV053 base = + case base of { + base_1+base_2@?+"i"+base_3@?+"i"+base_4@?+"n" => lin V + { s = base_1+base_2+"i"+base_3+"i"+base_4+"n" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"i"+base_4+"nidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+"i"+base_4+"n" ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+base_4+"adh" ; + participle = base_1+base_2+"i"+base_3+"i"+base_4+"nte" + }; + _ => error "Can't apply paradigm mkV053" + } ; + +mkV054 : Str -> V ; +mkV054 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV054" + } ; + +mkV055 : Str -> V ; +mkV055 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"ainn" ; + Pl => base_1+"h"+base_2+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"am" ; + Pl => base_1+base_2+"amaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"adh" + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV055" + } ; + +mkV056 : Str -> V ; +mkV056 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"sinn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV056" + } ; + +mkV057 : Str -> V ; +mkV057 base = + case base of { + base_1+base_2@(?+?)+base_3@? => lin V + { s = base_1+base_2+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV057" + } ; + +mkV058 : Str -> V ; +mkV058 base = + case base of { + base_1+base_2@?+"i"+base_3@?+base_4@(?+?+?+?) => lin V + { s = base_1+base_2+"i"+base_3+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh"+base_4 ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+base_4 ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV058" + } ; + +mkV059 : Str -> V ; +mkV059 base = + case base of { + base_1+base_2@(?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ail" ; + participle = base_1+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV059" + } ; + +mkV060 : Str -> V ; +mkV060 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkV060" + } ; + +mkV061 : Str -> V ; +mkV061 base = + case base of { + base_1+base_2@?+"i"+base_3@?+"ic"+base_4@? => lin V + { s = base_1+base_2+"i"+base_3+"ic"+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"ic"+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+"ic"+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"ad"+base_4 ; + participle = base_1+base_2+"i"+base_3+"ic"+base_4+"te" + }; + _ => error "Can't apply paradigm mkV061" + } ; + +mkV062 : Str -> V ; +mkV062 base = + case base of { + base_1+base_2@(?+?+?+?+?+?)+"c"+base_3@? => lin V + { s = base_1+base_2+"c"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"c"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"c"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"d"+base_3 ; + participle = base_1+base_2+"c"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV062" + } ; + +mkV063 : Str -> V ; +mkV063 base = + case base of { + base_1+"ù"+base_2@? => lin V + { s = base_1+"ù"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"u"+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"hù"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"u"+base_2+"ail" ; + participle = base_1+"u"+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV063" + } ; + +mkV064 : Str -> V ; +mkV064 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@(?+?)+"ic"+base_4@? => lin V + { s = base_1+base_2+base_3+"ic"+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"a"+base_3+"ic"+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"ic"+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"d"+base_4 ; + participle = base_1+base_2+"a"+base_3+"ic"+base_4+"te" + }; + _ => error "Can't apply paradigm mkV064" + } ; + +mkV065 : Str -> V ; +mkV065 base = + case base of { + base_1@?+base_2+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => base_1+"h"+base_2+"i"+base_3+"inn" ; + Pl => base_1+"h"+base_2+"i"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"i"+base_3+"eam" ; + Pl => base_1+base_2+"i"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"i"+base_3 ; + Pl => base_1+base_2+"i"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"i"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => base_1+base_2+"i"+base_3 + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV065" + } ; + +mkV066 : Str -> V ; +mkV066 base = + case base of { + "dèa"+base_1 => lin V + { s = "dèa"+base_1 ; + conditional = table { + Sg => "dhèa"+base_1+"ainn" ; + Pl => "dhèa"+base_1+"adh" + } ; + imperative = table { + P1 => table { + Sg => "dèa"+base_1+"am" ; + Pl => "dèa"+base_1+"amaid" + } ; + P2 => table { + Sg => "dèa"+base_1 ; + Pl => "dèa"+base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "dèa"+base_1+"adh" + } + } ; + future = table { + Indep => base_1+"ì" ; + Dep => "dèa"+base_1 + } ; + past = table { + Indep => "ri"+base_1+"n" ; + Dep => "ri"+base_1+"n" + } ; + noun = "dèa"+base_1+"amh" ; + participle = "dèa"+base_1+"ta" + }; + _ => error "Can't apply paradigm mkV066" + } ; + +mkV067 : Str -> V ; +mkV067 base = + case base of { + base_1@?+base_2+base_3@?+"ir" => lin V + { s = base_1+base_2+base_3+"ir" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"r"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"ir" ; + Dep => nonExist + } ; + noun = base_1+base_2+"r"+base_3+"dh" ; + participle = base_1+base_2+base_3+"irte" + }; + _ => error "Can't apply paradigm mkV067" + } ; + +mkV068 : Str -> V ; +mkV068 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"il" => lin V + { s = base_1+base_2+base_3+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"l"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+"l"+base_3+"dh" ; + participle = base_1+base_2+base_3+"ilte" + }; + _ => error "Can't apply paradigm mkV068" + } ; + +mkV069 : Str -> V ; +mkV069 base = + case base of { + base_1+base_2@(?+?)+"ic"+base_3@? => lin V + { s = base_1+base_2+"ic"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"ic"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"ic"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ead"+base_3 ; + participle = base_1+base_2+"ic"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV069" + } ; + +mkV070 : Str -> V ; +mkV070 base = + case base of { + base_1+base_2@?+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"e" + }; + _ => error "Can't apply paradigm mkV070" + } ; + +mkV071 : Str -> V ; +mkV071 base = + case base of { + base_1+base_2@?+"il" => lin V + { s = base_1+base_2+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"l"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+"l" ; + participle = base_1+base_2+"ilte" + }; + _ => error "Can't apply paradigm mkV071" + } ; + +mkV072 : Str -> V ; +mkV072 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ì"+base_2+"eadh" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV072" + } ; + +mkV073 : Str -> V ; +mkV073 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"inn" ; + Pl => "dh'"+base_1+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"eam" ; + Pl => base_1+"eamaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"eadh" + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1+"eadh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV073" + } ; + +mkV074 : Str -> V ; +mkV074 base = + case base of { + base_1+"aich" => lin V + { s = base_1+"aich" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aichidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"aich" ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV074" + } ; + +mkV075 : Str -> V ; +mkV075 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"sadh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV075" + } ; + +mkV076 : Str -> V ; +mkV076 base = + case base of { + "fai"+base_1 => lin V + { s = "fai"+base_1 ; + conditional = table { + Sg => base_1+"hithinn" ; + Pl => base_1+"hitheadh" + } ; + imperative = table { + P1 => table { + Sg => "fai"+base_1+"eam" ; + Pl => "fai"+base_1+"eamaid" + } ; + P2 => table { + Sg => "fai"+base_1 ; + Pl => "fai"+base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "fai"+base_1+"eadh" + } + } ; + future = table { + Indep => base_1+"hì" ; + Dep => "fhai"+base_1 + } ; + past = table { + Indep => base_1+"hunnaic" ; + Dep => "fha"+base_1+"a" + } ; + noun = "fai"+base_1+"inn" ; + participle = "fai"+base_1+"te" + }; + _ => error "Can't apply paradigm mkV076" + } ; + +mkV077 : Str -> V ; +mkV077 base = + case base of { + "faig"+base_1 => lin V + { s = "faig"+base_1 ; + conditional = table { + Sg => "g"+base_1+"eibhinn" ; + Pl => "g"+base_1+"eibheadh" + } ; + imperative = table { + P1 => table { + Sg => "faig"+base_1+"eam" ; + Pl => "faig"+base_1+"eamaid" + } ; + P2 => table { + Sg => "faig"+base_1 ; + Pl => "faig"+base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "faig"+base_1+"eadh" + } + } ; + future = table { + Indep => "g"+base_1+"eibh" ; + Dep => "f"+base_1+"aigh" + } ; + past = table { + Indep => "f"+base_1+"uair" ; + Dep => "f"+base_1+"uair" + } ; + noun = "faig"+base_1+"inn" ; + participle = "faig"+base_1+"te" + }; + _ => error "Can't apply paradigm mkV077" + } ; + +mkV078 : Str -> V ; +mkV078 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3+"d" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV078" + } ; + +mkV079 : Str -> V ; +mkV079 base = + case base of { + base_1+base_2@(?+?)+"l"+base_3@? => lin V + { s = base_1+base_2+"l"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"l"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"l"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"eadh" ; + participle = base_1+base_2+"l"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV079" + } ; + +mkV080 : Str -> V ; +mkV080 base = + case base of { + base_1+base_2@(?+?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3+"dainn" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV080" + } ; + +mkV081 : Str -> V ; +mkV081 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV081" + } ; + +mkV082 : Str -> V ; +mkV082 base = + case base of { + base_1+base_2@(?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"tail" ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV082" + } ; + +mkV083 : Str -> V ; +mkV083 base = + case base of { + "fannaich" => lin V + { s = "fannaich" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => "fannaichidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'fhannaich" ; + Dep => nonExist + } ; + noun = "fannachadh" ; + participle = "te" + }; + _ => error "Can't apply paradigm mkV083" + } ; + +mkV084 : Str -> V ; +mkV084 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV084" + } ; + +mkV085 : Str -> V ; +mkV085 base = + case base of { + base_1@?+base_2+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV085" + } ; + +mkV086 : Str -> V ; +mkV086 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV086" + } ; + +mkV087 : Str -> V ; +mkV087 base = + case base of { + base_1@?+base_2+"i"+base_3@("m"|(?+?)) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => "dh'"+base_1+"h"+base_2+"i"+base_3+"inn" ; + Pl => "dh'"+base_1+"h"+base_2+"i"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"i"+base_3+"eam" ; + Pl => base_1+base_2+"i"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"i"+base_3 ; + Pl => base_1+base_2+"i"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"i"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => "dh'"+base_1+"h"+base_2+"i"+base_3 + } ; + noun = base_1+base_2+base_3 ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV087" + } ; + +mkV088 : Str -> V ; +mkV088 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => "dh'"+base_1+"h"+base_2+"ainn" ; + Pl => "dh'"+base_1+"h"+base_2+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"am" ; + Pl => base_1+base_2+"amaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"adh" + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => "dh'"+base_1+"h"+base_2 + } ; + noun = base_1+base_2+"ail" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV088" + } ; + +mkV089 : Str -> V ; +mkV089 base = + case base of { + base_1+base_2@(?+?+?)+base_3@?+"inn" => lin V + { s = base_1+base_2+base_3+"inn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"innidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+base_3+"inn" ; + Dep => nonExist + } ; + noun = base_1+base_2+"n"+base_3+"dh" ; + participle = base_1+base_2+base_3+"innte" + }; + _ => error "Can't apply paradigm mkV089" + } ; + +mkV090 : Str -> V ; +mkV090 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eamh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV090" + } ; + +mkV091 : Str -> V ; +mkV091 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ainn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV091" + } ; + +mkV092 : Str -> V ; +mkV092 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"e" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV092" + } ; + +mkV093 : Str -> V ; +mkV093 base = + case base of { + base_1@?+base_2 => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => "dh'"+base_1+"h"+base_2+"inn" ; + Pl => "dh'"+base_1+"h"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; + Pl => base_1+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => "dh'"+base_1+"h"+base_2 + } ; + noun = base_1+base_2+"eadh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV093" + } ; + +mkV094 : Str -> V ; +mkV094 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => base_1+"ainn" ; + Pl => base_1+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; + Pl => base_1+"amaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => base_1 + } ; + past = table { + Indep => base_1 ; + Dep => base_1 + } ; + noun = base_1+"adh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV094" + } ; + +mkV095 : Str -> V ; +mkV095 base = + case base of { + base_1+"o"+base_2@(?+?)+base_3@?+"in" => lin V + { s = base_1+"o"+base_2+base_3+"in" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"ò"+base_2+"n"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"ho"+base_2+base_3+"in" ; + Dep => nonExist + } ; + noun = base_1+"ò"+base_2+"n"+base_3+"dh" ; + participle = base_1+"o"+base_2+base_3+"inte" + }; + _ => error "Can't apply paradigm mkV095" + } ; + +mkV096 : Str -> V ; +mkV096 base = + case base of { + base_1+base_2@?+"i"+base_3@(?+?+?)+"i"+base_4@(?+?) => lin V + { s = base_1+base_2+"i"+base_3+"i"+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"i"+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3+"i"+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+"i"+base_3+"ea"+base_4+"adh" ; + participle = base_1+base_2+"i"+base_3+"i"+base_4+"te" + }; + _ => error "Can't apply paradigm mkV096" + } ; + +mkV097 : Str -> V ; +mkV097 base = + case base of { + base_1+base_2@(?+?+?)+base_3@?+"il" => lin V + { s = base_1+base_2+base_3+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"l"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+base_3+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+"l"+base_3+"dh" ; + participle = base_1+base_2+base_3+"ilte" + }; + _ => error "Can't apply paradigm mkV097" + } ; + +mkV098 : Str -> V ; +mkV098 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"i"+base_3@? => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"a"+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV098" + } ; + +mkV099 : Str -> V ; +mkV099 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"ei"+base_3@? => lin V + { s = base_1+base_2+"ei"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"ei"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3 ; + participle = base_1+base_2+"ei"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV099" + } ; + +mkV100 : Str -> V ; +mkV100 base = + case base of { + base_1+base_2@(?+?+?+?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => "dh'"+base_1+"h"+base_2+"i"+base_3+"inn" ; + Pl => "dh'"+base_1+"h"+base_2+"i"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"i"+base_3+"eam" ; + Pl => base_1+base_2+"i"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"i"+base_3 ; + Pl => base_1+base_2+"i"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"i"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"ni"+base_3+"idh" ; + Dep => base_1+"h"+base_2+"i"+base_3 + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => "dh'"+base_1+"h"+base_2+"i"+base_3 + } ; + noun = base_1+base_2+"ea"+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV100" + } ; + +mkV101 : Str -> V ; +mkV101 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"il" => lin V + { s = base_1+base_2+base_3+"il" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"ilidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+base_3+"il" ; + Dep => nonExist + } ; + noun = base_1+base_2+"l"+base_3+"dh" ; + participle = base_1+base_2+base_3+"ilte" + }; + _ => error "Can't apply paradigm mkV101" + } ; + +mkV102 : Str -> V ; +mkV102 base = + case base of { + base_1+base_2@?+"i"+base_3@?+"i"+base_4@(?+?) => lin V + { s = base_1+base_2+"i"+base_3+"i"+base_4 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"i"+base_4+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3+"i"+base_4 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"a"+base_4 ; + participle = base_1+base_2+"i"+base_3+"i"+base_4+"te" + }; + _ => error "Can't apply paradigm mkV102" + } ; + +mkV103 : Str -> V ; +mkV103 base = + case base of { + base_1+base_2@(?+?+?)+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3 ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV103" + } ; + +mkV104 : Str -> V ; +mkV104 base = + case base of { + base_1@?+base_2+"i"+base_3@(?+?) => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ea"+base_3+"adh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV104" + } ; + +mkV105 : Str -> V ; +mkV105 base = + case base of { + base_1+base_2@(?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV105" + } ; + +mkV106 : Str -> V ; +mkV106 base = + case base of { + base_1+base_2@(?+?)+base_3@?+"ir" => lin V + { s = base_1+base_2+base_3+"ir" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"iridh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"h"+base_2+base_3+"ir" ; + Dep => nonExist + } ; + noun = base_1+base_2+"r"+base_3+"dh" ; + participle = base_1+base_2+base_3+"irte" + }; + _ => error "Can't apply paradigm mkV106" + } ; + +mkV107 : Str -> V ; +mkV107 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ail" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV107" + } ; + +mkV108 : Str -> V ; +mkV108 base = + case base of { + base_1+base_2@?+"à"+base_3@(?+?) => lin V + { s = base_1+base_2+"à"+base_3 ; + conditional = table { + Sg => base_1+"h"+base_2+"à"+base_3+"inn" ; + Pl => base_1+"h"+base_2+"à"+base_3+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"à"+base_3+"eam" ; + Pl => base_1+base_2+"à"+base_3+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2+"à"+base_3 ; + Pl => base_1+base_2+"à"+base_3+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"à"+base_3+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"à"+base_3+"idh" ; + Dep => base_1+"h"+base_2+"à"+base_3 + } ; + past = table { + Indep => base_1+"h"+base_2+"à"+base_3 ; + Dep => base_1+"h"+base_2+"à"+base_3 + } ; + noun = base_1+base_2+"a"+base_3+"adh" ; + participle = base_1+base_2+"à"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV108" + } ; + +mkV109 : Str -> V ; +mkV109 base = + case base of { + base_1+base_2@(?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"tinn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV109" + } ; + +mkV110 : Str -> V ; +mkV110 base = + case base of { + base_1+base_2@(?+?+?)+"i"+base_3@? => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"i"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"ad" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV110" + } ; + +mkV111 : Str -> V ; +mkV111 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"inn" ; + Pl => base_1+"h"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; + Pl => base_1+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"e" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV111" + } ; + +mkV112 : Str -> V ; +mkV112 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eachdainn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV112" + } ; + +mkV113 : Str -> V ; +mkV113 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; + Pl => "dh'"+base_1+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; + Pl => base_1+"amaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1+"aidh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV113" + } ; + +mkV114 : Str -> V ; +mkV114 base = + case base of { + base_1+base_2@?+"h" => lin V + { s = base_1+base_2+"h" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"haidh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"h" ; + Dep => nonExist + } ; + noun = base_1+base_2+"hadh" ; + participle = base_1+"dh"+base_2+"e" + }; + _ => error "Can't apply paradigm mkV114" + } ; + +mkV115 : Str -> V ; +mkV115 base = + case base of { + base_1+base_2@?+"ir" => lin V + { s = base_1+base_2+"ir" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"iridh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+base_2+"ir" ; + Dep => nonExist + } ; + noun = base_1+"r"+base_2+"dh" ; + participle = base_1+base_2+"irte" + }; + _ => error "Can't apply paradigm mkV115" + } ; + +mkV116 : Str -> V ; +mkV116 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"inn" ; + Pl => "dh'"+base_1+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"eam" ; + Pl => base_1+"eamaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"eadh" + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1+"e" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV116" + } ; + +mkV117 : Str -> V ; +mkV117 base = + case base of { + base_1+base_2@?+"ir" => lin V + { s = base_1+base_2+"ir" ; + conditional = table { + Sg => base_1+"r"+base_2+"inn" ; + Pl => base_1+"r"+base_2+"maid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"r"+base_2+"m" ; + Pl => base_1+"r"+base_2+"maid" + } ; + P2 => table { + Sg => base_1+base_2+"ir" ; + Pl => base_1+"r"+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"r"+base_2+"dh" + } + } ; + future = table { + Indep => base_1+"r"+base_2+"idh" ; + Dep => base_1+base_2+"ir" + } ; + past = table { + Indep => base_1+base_2+"ir" ; + Dep => base_1+base_2+"ir" + } ; + noun = base_1+base_2+"irt" ; + participle = base_1+base_2+"irte" + }; + _ => error "Can't apply paradigm mkV117" + } ; + +mkV118 : Str -> V ; +mkV118 base = + case base of { + base_1+"i"+base_2@("l"|(?+?)) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV118" + } ; + +mkV119 : Str -> V ; +mkV119 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"e" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV119" + } ; + +mkV120 : Str -> V ; +mkV120 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"tainn" ; + participle = base_1+"ta" + }; + _ => error "Can't apply paradigm mkV120" + } ; + +mkV121 : Str -> V ; +mkV121 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"eil" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV121" + } ; + +mkV122 : Str -> V ; +mkV122 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV122" + } ; + +mkV123 : Str -> V ; +mkV123 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = base_1+"ta" + }; + _ => error "Can't apply paradigm mkV123" + } ; + +mkV124 : Str -> V ; +mkV124 base = + case base of { + base_1+"igh" => lin V + { s = base_1+"igh" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"ighidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"igh" ; + Dep => nonExist + } ; + noun = base_1+"ì" ; + participle = base_1+"ighte" + }; + _ => error "Can't apply paradigm mkV124" + } ; + +mkV125 : Str -> V ; +mkV125 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ea"+base_2+"adh" ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV125" + } ; + +mkV126 : Str -> V ; +mkV126 base = + case base of { + base_1@(?+?+?)+"i"+base_2 => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV126" + } ; + +mkV127 : Str -> V ; +mkV127 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => base_1+"inn" ; + Pl => base_1+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"eam" ; + Pl => base_1+"eamaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"eadh" + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => base_1 + } ; + past = table { + Indep => base_1 ; + Dep => base_1 + } ; + noun = base_1+"eadh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV127" + } ; + +mkV128 : Str -> V ; +mkV128 base = + case base of { + base_1+base_2@(?+?+?+?)+"i"+base_3@? => lin V + { s = base_1+base_2+"i"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"eadh" ; + participle = base_1+base_2+"i"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV128" + } ; + +mkV129 : Str -> V ; +mkV129 base = + case base of { + base_1+base_2@(?+?+?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkV129" + } ; + +mkV130 : Str -> V ; +mkV130 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2 ; + participle = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkV130" + } ; + +mkV131 : Str -> V ; +mkV131 base = + case base of { + base_1+base_2@(?+?+?+?+?+?+?+?+?)+"d" => lin V + { s = base_1+base_2+"d" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"daidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"d" ; + Dep => nonExist + } ; + noun = base_1+base_2+"dadh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV131" + } ; + +mkV132 : Str -> V ; +mkV132 base = + case base of { + base_1+"ì"+base_2@(?+?+?+?+?+?+?) => lin V + { s = base_1+"ì"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"hì"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ì"+base_2+"adh" ; + participle = base_1+"ì"+base_2+"e" + }; + _ => error "Can't apply paradigm mkV132" + } ; + +mkV133 : Str -> V ; +mkV133 base = + case base of { + base_1+"ì"+base_2@(?+?+?)+"ò"+base_3@(?+?) => lin V + { s = base_1+"ì"+base_2+"ò"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"ò"+base_3+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"hì"+base_2+"ò"+base_3 ; + Dep => nonExist + } ; + noun = base_1+"ì"+base_2+"ò"+base_3+"adh" ; + participle = base_1+"ì"+base_2+"o"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV133" + } ; + +mkV134 : Str -> V ; +mkV134 base = + case base of { + base_1@?+base_2+"i"+base_3@?+"n" => lin V + { s = base_1+base_2+"i"+base_3+"n" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"i"+base_3+"n" ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"eadh" ; + participle = base_1+base_2+"i"+base_3+"nte" + }; + _ => error "Can't apply paradigm mkV134" + } ; + +mkV135 : Str -> V ; +mkV135 base = + case base of { + base_1+"dhèa"+base_2@? => lin V + { s = base_1+"dhèa"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"ì" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"ri"+base_2+"n" ; + Dep => nonExist + } ; + noun = base_1+"dhèa"+base_2+"amh" ; + participle = base_1+"dhèa"+base_2+"ta" + }; + _ => error "Can't apply paradigm mkV135" + } ; + +mkV136 : Str -> V ; +mkV136 base = + case base of { + "n"+base_1+"ulaich" => lin V + { s = "n"+base_1+"ulaich" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => "n"+base_1+"ulaichidh" ; + Dep => nonExist + } ; + past = table { + Indep => "n"+base_1+"ulaich" ; + Dep => nonExist + } ; + noun = "n"+base_1+"ulachadh" ; + participle = "t"+base_1 + }; + _ => error "Can't apply paradigm mkV136" + } ; + +mkV137 : Str -> V ; +mkV137 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh’"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV137" + } ; + +mkV138 : Str -> V ; +mkV138 base = + case base of { + base_1+base_2@(?+?+?)+"t" => lin V + { s = base_1+base_2+"t" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"daidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"t" ; + Dep => nonExist + } ; + noun = base_1+base_2+"tadh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV138" + } ; + +mkV139 : Str -> V ; +mkV139 base = + case base of { + base_1+base_2@(?+?+?+?)+"ig" => lin V + { s = base_1+base_2+"ig" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"igidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+"ig" ; + Dep => nonExist + } ; + noun = base_1+base_2+"eadh" ; + participle = base_1+base_2+"igte" + }; + _ => error "Can't apply paradigm mkV139" + } ; + +mkV140 : Str -> V ; +mkV140 base = + case base of { + "rach" => lin V + { s = "rach" ; + conditional = table { + Sg => "rachainn" ; + Pl => "rachadh" + } ; + imperative = table { + P1 => table { + Sg => "racham" ; + Pl => "rachamaid" + } ; + P2 => table { + Sg => "rach" ; + Pl => "rachaibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "rachadh" + } + } ; + future = table { + Indep => "thèid" ; + Dep => "tèid" + } ; + past = table { + Indep => "chaidh" ; + Dep => "deach" + } ; + noun = "dol" ; + participle = "rachte" + }; + _ => error "Can't apply paradigm mkV140" + } ; + +mkV141 : Str -> V ; +mkV141 base = + case base of { + base_1+"h" => lin V + { s = base_1+"h" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"haidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h" ; + Dep => nonExist + } ; + noun = base_1+"hadh" ; + participle = base_1+"a" + }; + _ => error "Can't apply paradigm mkV141" + } ; + +mkV142 : Str -> V ; +mkV142 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"t" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV142" + } ; + +mkV143 : Str -> V ; +mkV143 base = + case base of { + base_1+"u"+base_2@(?+?) => lin V + { s = base_1+"u"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"u"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"àin"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"u"+base_2+"sinn" ; + participle = base_1+"u"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV143" + } ; + +mkV144 : Str -> V ; +mkV144 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"ail" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV144" + } ; + +mkV145 : Str -> V ; +mkV145 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1+"adh" ; + participle = base_1+"a" + }; + _ => error "Can't apply paradigm mkV145" + } ; + +mkV146 : Str -> V ; +mkV146 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"in" => lin V + { s = base_1+base_2+base_3+"in" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"inidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"in" ; + Dep => nonExist + } ; + noun = base_1+base_2+"n"+base_3+"dh" ; + participle = base_1+base_2+base_3+"inte" + }; + _ => error "Can't apply paradigm mkV146" + } ; + +mkV147 : Str -> V ; +mkV147 base = + case base of { + base_1+base_2@(?+?+?+?)+base_3@?+"inn" => lin V + { s = base_1+base_2+base_3+"inn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"innidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"inn" ; + Dep => nonExist + } ; + noun = base_1+base_2+"n"+base_3+"dh" ; + participle = base_1+base_2+base_3+"innte" + }; + _ => error "Can't apply paradigm mkV147" + } ; + +mkV148 : Str -> V ; +mkV148 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"amh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV148" + } ; + +mkV149 : Str -> V ; +mkV149 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; --guessed + Pl => "dh'"+base_1+"amaid" --guessed + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; --guessed + Pl => base_1+"aibh" + } ; + P2 => table { + Sg => base_1 ; --guessed + Pl => base_1+"aibh" --guessed + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" --guessed + } + } ; + future = table { + Indep => base_1+"idh" ; --guessed + Dep => base_1 --guessed + } ; + past = table { + Indep => "dh'"+base_1 ; --guessed + Dep => "dh'"+base_1 --guessed + } ; + noun = base_1+"adh" ; --guessed + participle = base_1+"te" --guessed + }; + _ => error "Can't apply paradigm mkV149" + } ; + +mkV150 : Str -> V ; +mkV150 base = + case base of { + base_1+base_2@?+"g" => lin V + { s = base_1+base_2+"g" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"gidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+base_2+"g" ; + Dep => nonExist + } ; + noun = base_1+"ga"+base_2+"l" ; + participle = base_1+base_2+"gte" + }; + _ => error "Can't apply paradigm mkV150" + } ; + +mkV151 : Str -> V ; +mkV151 base = + case base of { + base_1+"i"+base_2@?+"ic"+base_3@? => lin V + { s = base_1+"i"+base_2+"ic"+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"ic"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"i"+base_2+"ic"+base_3 ; + Dep => nonExist + } ; + noun = base_1+base_2+"ad"+base_3 ; + participle = base_1+"i"+base_2+"ic"+base_3+"te" + }; + _ => error "Can't apply paradigm mkV151" + } ; + +mkV152 : Str -> V ; +mkV152 base = + case base of { + base_1+"à"+base_2@(?+?) => lin V + { s = base_1+"à"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"a"+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"à"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"a"+base_2+"adh" ; + participle = base_1+"a"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV152" + } ; + +mkV153 : Str -> V ; +mkV153 base = + case base of { + base_1+base_2@(?+?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"art" ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV153" + } ; + +mkV154 : Str -> V ; +mkV154 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"ainn" ; + Pl => base_1+"h"+base_2+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"am" ; + Pl => base_1+base_2+"amaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"adh" + } + } ; + future = table { + Indep => base_1+base_2+"aidh" ; + Dep => base_1+"h"+base_2 + } ; + past = table { + Indep => base_1+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"adh" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV154" + } ; + +mkV155 : Str -> V ; +mkV155 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => base_1+"ainn" ; + Pl => base_1+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; + Pl => base_1+"amaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh iad" + } + } ; + future = table { + Indep => base_1 ; + Dep => base_1+"aidh" + } ; + past = table { + Indep => base_1 ; + Dep => base_1 + } ; + noun = base_1+"adh" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV155" + } ; + +mkV156 : Str -> V ; +mkV156 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => base_1+"ibh" + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"thidh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1 ; + Dep => nonExist + } ; + noun = base_1 ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV156" + } ; + +mkV157 : Str -> V ; +mkV157 base = + case base of { + base_1+base_2@(?+?)+base_3@?+"ir" => lin V + { s = base_1+base_2+base_3+"ir" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+base_3+"iridh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"ir" ; + Dep => nonExist + } ; + noun = base_1+base_2+"r"+base_3+"dh" ; + participle = base_1+base_2+base_3+"irte" + }; + _ => error "Can't apply paradigm mkV157" + } ; + +mkV158 : Str -> V ; +mkV158 base = + case base of { + "tabhair" => lin V + { s = "tabhair" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => "bheir" ; + Dep => nonExist + } ; + past = table { + Indep => "thug" ; + Dep => nonExist + } ; + noun = "toirt" ; + participle = "tugta" + }; + _ => error "Can't apply paradigm mkV158" + } ; + +mkV159 : Str -> V ; +mkV159 base = + case base of { + base_1@?+base_2+base_3@(?+?)+"r" => lin V + { s = base_1+base_2+base_3+"r" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"r"+base_3+"dh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"r" ; + Dep => nonExist + } ; + noun = base_1+base_2+base_3+"rt" ; + participle = base_1+base_2+base_3+"rte" + }; + _ => error "Can't apply paradigm mkV159" + } ; + +mkV160 : Str -> V ; +mkV160 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"se" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV160" + } ; + +mkV161 : Str -> V ; +mkV161 base = + case base of { + base_1+"a"+base_2@?+"ra"+base_3@?+"ng" => lin V + { s = base_1+"a"+base_2+"ra"+base_3+"ng" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"ài"+base_2+"n"+base_3+"dh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"ha"+base_2+"ra"+base_3+"ng" ; + Dep => nonExist + } ; + noun = base_1+"a"+base_2+"ra"+base_3+"ng" ; + participle = base_1+"a"+base_2+"ra"+base_3+"ngte" + }; + _ => error "Can't apply paradigm mkV161" + } ; + +mkV162 : Str -> V ; +mkV162 base = + case base of { + base_1+base_2@(?+?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => base_1+"h"+base_2+"inn" ; + Pl => base_1+"h"+base_2+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+base_2+"eam" ; + Pl => base_1+base_2+"eamaid" + } ; + P2 => table { + Sg => base_1+base_2 ; + Pl => base_1+base_2+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+base_2+"eadh" + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => base_1+base_2 + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => base_1+"h"+base_2 + } ; + noun = base_1+base_2+"e" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV162" + } ; + +mkV163 : Str -> V ; +mkV163 base = + case base of { + base_1+"h"+base_2@(?+?) => lin V + { s = base_1+"h"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"hàin"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"hinn" ; + participle = base_1+base_2+"te" + }; + _ => error "Can't apply paradigm mkV163" + } ; + +mkV164 : Str -> V ; +mkV164 base = + case base of { + base_1+"h"+base_2@(?+?+?)+base_3@(?+?+?+?+?+?+?+?+?+?) => lin V + { s = base_1+"h"+base_2+base_3 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => nonExist ; + Dep => nonExist + } ; + past = table { + Indep => nonExist ; + Dep => nonExist + } ; + noun = base_1+base_2+"t"+base_3 ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV164" + } ; + +mkV165 : Str -> V ; +mkV165 base = + case base of { + "thoir" => lin V + { s = "thoir" ; + conditional = table { + Sg => "bheirinn" ; + Pl => "bheireadh" + } ; + imperative = table { + P1 => table { + Sg => "thoiream" ; + Pl => "thoireamaid" + } ; + P2 => table { + Sg => "thoir" ; + Pl => "thoiribh" + } ; + P3 => table { + Sg => nonExist ; + Pl => "thoireadh" + } + } ; + future = table { + Indep => "bheir" ; + Dep => "toir" + } ; + past = table { + Indep => "thug" ; + Dep => "tug" + } ; + noun = "toirt" ; + participle = "tugta" + }; + _ => error "Can't apply paradigm mkV165" + } ; + +mkV166 : Str -> V ; +mkV166 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eil" ; + participle = base_1+base_2+"the" + }; + _ => error "Can't apply paradigm mkV166" + } ; + +mkV167 : Str -> V ; +mkV167 base = + case base of { + base_1+base_2@(?+?+?) => lin V + { s = base_1+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2 ; + Dep => nonExist + } ; + noun = base_1+base_2+"eam" ; + participle = base_1+base_2+"e" + }; + _ => error "Can't apply paradigm mkV167" + } ; + +mkV168 : Str -> V ; +mkV168 base = + case base of { + base_1+base_2@(?+?+?)+base_3@?+"inn" => lin V + { s = base_1+base_2+base_3+"inn" ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+base_2+"n"+base_3+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => base_1+"h"+base_2+base_3+"inn" ; + Dep => nonExist + } ; + noun = base_1+base_2+"n"+base_3+"dh" ; + participle = base_1+base_2+base_3+"inte" + }; + _ => error "Can't apply paradigm mkV168" + } ; + +mkV169 : Str -> V ; +mkV169 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"a"+base_2 ; + participle = nonExist + }; + _ => error "Can't apply paradigm mkV169" + } ; + +mkV170 : Str -> V ; +mkV170 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; --guessed + Pl => "dh'"+base_1+"amaid" --guessed + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; --guessed + Pl => base_1+"aibh" --guessed + } ; + P2 => table { + Sg => base_1 ; --guessed + Pl => base_1+"aibh" --guessed + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" --guessed + } + } ; + future = table { + Indep => base_1+"idh" ; --guessed + Dep => base_1 --guessed + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 --guessed + } ; + noun = base_1 ; + participle = base_1+"te" --guessed + }; + _ => error "Can't apply paradigm mkV170" + } ; + +mkV171 : Str -> V ; +mkV171 base = + case base of { + base_1+"i"+base_2@(?+?) => lin V + { s = base_1+"i"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"i"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"i"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"ea"+base_2 ; + participle = base_1+"i"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV171" + } ; + +mkV172 : Str -> V ; +mkV172 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => nonExist + } ; + noun = base_1+"eachd" ; + participle = base_1+"te" + }; + _ => error "Can't apply paradigm mkV172" + } ; + +mkV173 : Str -> V ; +mkV173 base = + case base of { + base_1+"c"+base_2@? => lin V + { s = base_1+"c"+base_2 ; + conditional = table { + Sg => nonExist ; + Pl => nonExist + } ; + imperative = table { + P1 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P2 => table { + Sg => nonExist ; + Pl => nonExist + } ; + P3 => table { + Sg => nonExist ; + Pl => nonExist + } + } ; + future = table { + Indep => base_1+"c"+base_2+"idh" ; + Dep => nonExist + } ; + past = table { + Indep => "dh'"+base_1+"c"+base_2 ; + Dep => nonExist + } ; + noun = base_1+"g"+base_2 ; + participle = base_1+"c"+base_2+"te" + }; + _ => error "Can't apply paradigm mkV173" + } ; + +mkV174 : Str -> V ; +mkV174 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"inn" ; + Pl => "dh'"+base_1+"eamaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"eam" ; + Pl => base_1+"eamaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"ibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"eadh" + } + } ; + future = table { + Indep => base_1+"idh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1+"eachd" ; + participle = base_1+"e" + }; + _ => error "Can't apply paradigm mkV174" + } ; + +mkV175 : Str -> V ; +mkV175 base = + case base of { + base_1 => lin V + { s = base_1 ; + conditional = table { + Sg => "dh'"+base_1+"ainn" ; + Pl => "dh'"+base_1+"amaid" + } ; + imperative = table { + P1 => table { + Sg => base_1+"am" ; + Pl => base_1+"amaid" + } ; + P2 => table { + Sg => base_1 ; + Pl => base_1+"aibh" + } ; + P3 => table { + Sg => nonExist ; + Pl => base_1+"adh" + } + } ; + future = table { + Indep => base_1+"aidh" ; + Dep => base_1 + } ; + past = table { + Indep => "dh'"+base_1 ; + Dep => "dh'"+base_1 + } ; + noun = base_1 ; + participle = base_1+"ta" + }; + _ => error "Can't apply paradigm mkV175" + } ; +} diff --git a/src/gaelic/NounGla.gf b/src/gaelic/NounGla.gf index 40051660f..b9e620aa2 100644 --- a/src/gaelic/NounGla.gf +++ b/src/gaelic/NounGla.gf @@ -9,7 +9,10 @@ concrete NounGla of Noun = CatGla ** open ResGla, Prelude in { -- : Det -> CN -> NP DetCN det cn = emptyNP ** { art = det.s ! cn.g ; - s = \\c => cn.s ! getNForm det.dt c ; + s = \\c => case det.dt of { + DDef n sp => cn.s ! c ! sp ! n ; + DPoss n _ => cn.s ! c ! Def ! n -- ???????????????? + } ; a = NotPron det.dt ; } ; @@ -20,7 +23,7 @@ concrete NounGla of Noun = CatGla ** open ResGla, Prelude in { -- : Pron -> NP ; -- Assuming that lincat Pron = lincat NP UsePron pron = emptyNP ** pron ** { - s = \\c => pron.s ! npc2cc c ; + s = pron.s ; a = IsPron pron.a } ; {- @@ -58,7 +61,7 @@ concrete NounGla of Noun = CatGla ** open ResGla, Prelude in { -} -- MassNP : CN -> NP ; MassNP cn = emptyNP ** { - s = \\c => cn.s ! getNForm (DDef Sg Indefinite) c -- no article, singular indefinite forms, open for cases+mutations + s = \\c => cn.s ! c ! Indef ! Sg -- no article, singular indefinite forms, open for cases+mutations } ; @@ -132,16 +135,23 @@ concrete NounGla of Noun = CatGla ** open ResGla, Prelude in { DefArt = ResGla.defArt ; -- : Quant - IndefArt = mkQuant [] (QDef Indefinite) ; - + IndefArt = { + s = \\_ => [] ; + sp = [] ; + qt = QDef Indef ; + } ; -- : Pron -> Quant -- my - PossPron pron = mkQuant pron.poss (QPoss pron.a) ; + PossPron pron = { + s = \\_ => pron.poss ; + sp = pron.poss ; + qt = QPoss pron.a ; + } ; --2 Common nouns -- : N -> CN - UseN = useN ; + UseN n = n ; {- -- : N2 -> CN ; diff --git a/src/gaelic/ParadigmsGla.gf b/src/gaelic/ParadigmsGla.gf index ba520dece..c3d59120b 100644 --- a/src/gaelic/ParadigmsGla.gf +++ b/src/gaelic/ParadigmsGla.gf @@ -1,213 +1,2195 @@ -resource ParadigmsGla = open CatGla, ResGla, NounGla, Prelude in { +resource ParadigmsGla = MorphoGla ** open Predef, Prelude, CatGla, ResGla in { +oper + regA : Str -> A -- ('asg', nom, masc) + = \form1 -> case form1 of { + _ + "o(rb|rm)rch" => mkA010 form1; + _ + "orm" => mkA010 form1; + _ + "ana" => mkA084 form1; + _ + "cha" => mkA084 form1; + _ + "òr" => mkA064 form1; + _ + "om" => mkA010 form1; + _ + "og" => mkA010 form1; + _ + "ob" => mkA010 form1; + _ + "ach" => mkA007 form1; + _ + "uch" => mkA001 form1; + _ + "och" => mkA007 form1; + _ + "ich" => mkA007 form1; + _ + "omh" => mkA001 form1; + _ + "amh" => mkA001 form1; + _ + "imh" => mkA007 form1; + _ + "ùth" => mkA001 form1; + _ + "ath" => mkA001 form1; + _ + "àth" => mkA001 form1; + _ + "oth" => mkA002 form1; + _ + "rbh" => mkA002 form1; + _ + "nbh" => mkA015 form1; + _ + "agh" => mkA002 form1; + _ + "idh" => mkA003 form1; + _ + "adh" => mkA009 form1; + _ + "ann" => mkA003 form1; + _ + "inn" => mkA007 form1; + _ + "onn" => mkA015 form1; + _ + "lan" => mkA001 form1; + _ + "uan" => mkA003 form1; + _ + "ean" => mkA003 form1; + _ + "ain" => mkA003 form1; + _ + "èin" => mkA007 form1; + _ + "oin" => mkA007 form1; + _ + "hor" => mkA024 form1; + _ + "ìor" => mkA007 form1; + _ + "aor" => mkA014 form1; + _ + "air" => mkA003 form1; + _ + "òir" => mkA003 form1; + _ + "dir" => mkA007 form1; + _ + "arr" => mkA003 form1; + _ + "àrr" => mkA026 form1; + _ + "har" => mkA007 form1; + _ + "iar" => mkA026 form1; + _ + "uar" => mkA038 form1; + _ + "ual" => mkA001 form1; + _ + "sal" => mkA003 form1; + _ + "hal" => mkA003 form1; + _ + "ail" => mkA003 form1; + _ + "sta" => mkA003 form1; + _ + "nta" => mkA003 form1; + _ + "rra" => mkA009 form1; + _ + "cra" => mkA007 form1; + _ + "ara" => mkA009 form1; + _ + "sda" => mkA003 form1; + _ + "ona" => mkA007 form1; + _ + "nna" => mkA009 form1; + _ + "gha" => mkA021 form1; + _ + "ing" => mkA003 form1; + _ + "arg" => mkA006 form1; + _ + "nog" => mkA077 form1; + _ + "irt" => mkA007 form1; + _ + "ch" => mkA007 form1; + _ + "mh" => mkA001 form1; + _ + "th" => mkA001 form1; + _ + "bh" => mkA003 form1; + _ + "gh" => mkA003 form1; + _ + "dh" => mkA007 form1; + _ + "nn" => mkA007 form1; + _ + "an" => mkA003 form1; + _ + "in" => mkA003 form1; + _ + "on" => mkA003 form1; + _ + "ìn" => mkA007 form1; + _ + "àn" => mkA014 form1; + _ + "or" => mkA024 form1; + _ + "àr" => mkA002 form1; + _ + "ir" => mkA003 form1; + _ + "rr" => mkA003 form1; + _ + "ar" => mkA024 form1; + _ + "al" => mkA003 form1; + _ + "il" => mkA003 form1; + _ + "ll" => mkA003 form1; + _ + "ol" => mkA003 form1; + _ + "am" => mkA002 form1; + _ + "ds" => mkA007 form1; + _ + "ns" => mkA007 form1; + _ + "is" => mkA007 form1; + _ + "às" => mkA026 form1; + _ + "ta" => mkA003 form1; + _ + "ra" => mkA009 form1; + _ + "da" => mkA003 form1; + _ + "ma" => mkA003 form1; + _ + "sa" => mkA003 form1; + _ + "na" => mkA007 form1; + _ + "te" => mkA003 form1; + _ + "fe" => mkA003 form1; + _ + "he" => mkA009 form1; + _ + "sg" => mkA003 form1; + _ + "ng" => mkA003 form1; + _ + "ig" => mkA003 form1; + _ + "rg" => mkA006 form1; + _ + "ag" => mkA007 form1; + _ + "rc" => mkA003 form1; + _ + "nc" => mkA003 form1; + _ + "od" => mkA003 form1; + _ + "id" => mkA007 form1; + _ + "hd" => mkA015 form1; + _ + "rd" => mkA024 form1; + _ + "rt" => mkA007 form1; + _ + "h" => mkA007 form1; + _ + "n" => mkA003 form1; + _ + "r" => mkA024 form1; + _ + "l" => mkA003 form1; + _ + "s" => mkA007 form1; + _ + "a" => mkA003 form1; + _ + "e" => mkA003 form1; + _ + "g" => mkA003 form1; + _ + "ì" => mkA003 form1; + _ + "ò" => mkA003 form1; + _ + "c" => mkA003 form1; + _ + "d" => mkA007 form1; + _ + "t" => mkA007 form1; + _ => error "Cannot find an inflection rule" + } ; + + reg2A : Str -> Str -> A -- ('asg', nom, masc) ('asg', nom, fem) + = \form1, form2 -> case of { + <_ + "ian", _ + "n"> => mkA027 form1; + <_ + "og", _ + "hog"> => mkA010 form1; + <_ + "og", _ + "nog"> => mkA077 form1; + <_ + "og", _ + "og"> => mkA010 form1; + <_ + "og", _ + "g"> => mkA010 form1; + <_ + "òr", _ + "r"> => mkA064 form1; + <_ + "ach", _ + "ach"> => mkA006 form1; + <_ + "ann", _ + "ann"> => mkA003 form1; + <_ + "rbh", _ + "rbh"> => mkA002 form1; + <_ + "agh", _ + "agh"> => mkA002 form1; + <_ + "ail", _ + "ail"> => mkA003 form1; + <_ + "nta", _ + "nta"> => mkA003 form1; + <_ + "arg", _ + "arg"> => mkA006 form1; + <_ + "adh", _ + "adh"> => mkA009 form1; + <_ + "ach", _ + "ch"> => mkA006 form1; + <_ + "ann", _ + "nn"> => mkA003 form1; + <_ + "rbh", _ + "bh"> => mkA002 form1; + <_ + "agh", _ + "gh"> => mkA002 form1; + <_ + "ail", _ + "il"> => mkA003 form1; + <_ + "nta", _ + "ta"> => mkA003 form1; + <_ + "arg", _ + "rg"> => mkA006 form1; + <_ + "adh", _ + "dh"> => mkA009 form1; + <_ + "ach", _ + "h"> => mkA006 form1; + <_ + "amh", _ + "h"> => mkA003 form1; + <_ + "ann", _ + "n"> => mkA003 form1; + <_ + "ùth", _ + "h"> => mkA015 form1; + <_ + "ath", _ + "h"> => mkA003 form1; + <_ + "àth", _ + "h"> => mkA014 form1; + <_ + "rbh", _ + "h"> => mkA002 form1; + <_ + "agh", _ + "h"> => mkA002 form1; + <_ + "ail", _ + "l"> => mkA003 form1; + <_ + "sta", _ + "a"> => mkA003 form1; + <_ + "nta", _ + "a"> => mkA003 form1; + <_ + "rra", _ + "a"> => mkA003 form1; + <_ + "sda", _ + "a"> => mkA003 form1; + <_ + "inn", _ + "n"> => mkA003 form1; + <_ + "ain", _ + "n"> => mkA003 form1; + <_ + "idh", _ + "h"> => mkA003 form1; + <_ + "arg", _ + "g"> => mkA006 form1; + <_ + "ìor", _ + "r"> => mkA007 form1; + <_ + "adh", _ + "h"> => mkA009 form1; + <_ + "iar", _ + "r"> => mkA027 form1; + <_ + "il", _ + "eil"> => mkA003 form1; + <_ + "àn", _ + "hàn"> => mkA014 form1; + <_ + "il", _ + "il"> => mkA003 form1; + <_ + "àn", _ + "àn"> => mkA014 form1; + <_ + "il", _ + "l"> => mkA003 form1; + <_ + "te", _ + "e"> => mkA003 form1; + <_ + "rc", _ + "c"> => mkA003 form1; + <_ + "ng", _ + "g"> => mkA003 form1; + <_ + "àn", _ + "n"> => mkA014 form1; + <_ + "da", _ + "a"> => mkA056 form1; + <_ + "e", _ + "e"> => mkA003 form1; + <_ + "c", _ + "c"> => mkA003 form1; + _ => regA form1 + } ; + + regN : Str -> LinN -- nom;indef;sg + = \form1 -> case form1 of { + _ + "algrg" => mkN019 form1; + _ + "amhlg" => mkN043 form1; + _ + "eeac" => mkN001 form1; + _ + "eeap" => mkN002 form1; + _ + "ean" => mkN011 form1; + _ + "ìon" => mkN047 form1; + _ + "òrn" => mkN113 form1; + _ + "eas" => mkN011 form1; + _ + "nis" => mkN049 form1; + _ + "noc" => mkN089 form1; + _ + "toc" => mkN089 form1; + _ + "oll" => mkN047 form1; + _ + "eal" => mkN011 form1; + _ + "cal" => mkN131 form1; + _ + "eul" => mkN081 form1; + _ + "sil" => mkN049 form1; + _ + "òil" => mkN106 form1; + _ + "eòl" => mkN132 form1; + _ + "eam" => mkN011 form1; + _ + "rom" => mkN069 form1; + _ + "ear" => mkN011 form1; + _ + "dir" => mkN295 form1; + _ + "àrr" => mkN110 form1; + _ + "iod" => mkN047 form1; + _ + "òrd" => mkN113 form1; + _ + "eand" => mkN011 form1; + _ + "eud" => mkN080 form1; + _ + "eag" => mkN019 form1; + _ + "earg" => mkN011 form1; + _ + "org" => mkN260 form1; + _ + "alg" => mkN043 form1; + _ + "eamh" => mkN011 form1; + _ + "eabh" => mkN011 form1; + _ + "èap" => mkN043 form1; + _ + "orp" => mkN089 form1; + _ + "alt" => mkN067 form1; + _ + "tob" => mkN069 form1; + _ + "ul" => mkN081 form1; + _ + "òl" => mkN112 form1; + _ + "om" => mkN069 form1; + _ + "ear" => mkN011 form1; + _ + "han" => mkN002 form1; + _ + "san" => mkN002 form1; + _ + "can" => mkN002 form1; + _ + "ban" => mkN001 form1; + _ + "tan" => mkN001 form1; + _ + "dan" => mkN002 form1; + _ + "ran" => mkN002 form1; + _ + "man" => mkN002 form1; + _ + "gan" => mkN002 form1; + _ + "lan" => mkN001 form1; + _ + "pan" => mkN002 form1; + _ + "uan" => mkN002 form1; + _ + "nan" => mkN002 form1; + _ + "ùan" => mkN001 form1; + _ + "ian" => mkN009 form1; + _ + "èan" => mkN061 form1; + _ + "aon" => mkN002 form1; + _ + "son" => mkN002 form1; + _ + "ron" => mkN002 form1; + _ + "bon" => mkN002 form1; + _ + "hon" => mkN002 form1; + _ + "con" => mkN002 form1; + _ + "mon" => mkN001 form1; + _ + "ion" => mkN009 form1; + _ + "ràn" => mkN017 form1; + _ + "ròn" => mkN001 form1; + _ + "eòn" => mkN158 form1; + _ + "ùrn" => mkN002 form1; + _ + "irn" => mkN007 form1; + _ + "àrn" => mkN059 form1; + _ + "arn" => mkN082 form1; + _ + "lùn" => mkN036 form1; + _ + "rùn" => mkN124 form1; + _ + "ain" => mkN007 form1; + _ + "uin" => mkN004 form1; + _ + "òin" => mkN007 form1; + _ + "lin" => mkN007 form1; + _ + "oin" => mkN007 form1; + _ + "àin" => mkN007 form1; + _ + "ein" => mkN009 form1; + _ + "rin" => mkN009 form1; + _ + "sin" => mkN028 form1; + _ + "gin" => mkN028 form1; + _ + "eun" => mkN059 form1; + _ + "ras" => mkN001 form1; + _ + "cas" => mkN001 form1; + _ + "gas" => mkN001 form1; + _ + "has" => mkN001 form1; + _ + "das" => mkN002 form1; + _ + "nas" => mkN001 form1; + _ + "las" => mkN001 form1; + _ + "uas" => mkN002 form1; + _ + "tas" => mkN001 form1; + _ + "mas" => mkN001 form1; + _ + "eus" => mkN082 form1; + _ + "los" => mkN002 form1; + _ + "aos" => mkN001 form1; + _ + "ros" => mkN001 form1; + _ + "ios" => mkN059 form1; + _ + "ìos" => mkN059 form1; + _ + "làs" => mkN059 form1; + _ + "ths" => mkN002 form1; + _ + "bhs" => mkN281 form1; + _ + "ais" => mkN007 form1; + _ + "àis" => mkN004 form1; + _ + "ris" => mkN007 form1; + _ + "ois" => mkN007 form1; + _ + "uis" => mkN007 form1; + _ + "èis" => mkN007 form1; + _ + "ùis" => mkN007 form1; + _ + "eis" => mkN007 form1; + _ + "fis" => mkN007 form1; + _ + "éis" => mkN007 form1; + _ + "lis" => mkN007 form1; + _ + "òis" => mkN007 form1; + _ + "his" => mkN007 form1; + _ + "gis" => mkN007 form1; + _ + "acs" => mkN001 form1; + _ + "ocs" => mkN001 form1; + _ + "ncs" => mkN230 form1; + _ + "ids" => mkN025 form1; + _ + "rds" => mkN281 form1; + _ + "ars" => mkN045 form1; + _ + "òrs" => mkN021 form1; + _ + "lac" => mkN001 form1; + _ + "arc" => mkN002 form1; + _ + "irc" => mkN007 form1; + _ + "orc" => mkN059 form1; + _ + "urc" => mkN235 form1; + _ + "eic" => mkN007 form1; + _ + "aic" => mkN007 form1; + _ + "àic" => mkN061 form1; + _ + "luc" => mkN001 form1; + _ + "euc" => mkN009 form1; + _ + "unc" => mkN001 form1; + _ + "eòc" => mkN059 form1; + _ + "iùc" => mkN009 form1; + _ + "tùc" => mkN030 form1; + _ + "eoc" => mkN059 form1; + _ + "loc" => mkN059 form1; + _ + "all" => mkN001 form1; + _ + "ill" => mkN010 form1; + _ + "col" => mkN002 form1; + _ + "aol" => mkN002 form1; + _ + "tol" => mkN001 form1; + _ + "ìol" => mkN021 form1; + _ + "tal" => mkN002 form1; + _ + "hal" => mkN002 form1; + _ + "bal" => mkN002 form1; + _ + "sal" => mkN002 form1; + _ + "gal" => mkN002 form1; + _ + "dal" => mkN002 form1; + _ + "ual" => mkN001 form1; + _ + "ral" => mkN002 form1; + _ + "nal" => mkN001 form1; + _ + "ial" => mkN082 form1; + _ + "nàl" => mkN001 form1; + _ + "ail" => mkN007 form1; + _ + "uil" => mkN007 form1; + _ + "àil" => mkN007 form1; + _ + "ril" => mkN007 form1; + _ + "ùil" => mkN007 form1; + _ + "eil" => mkN007 form1; + _ + "oil" => mkN007 form1; + _ + "gil" => mkN010 form1; + _ + "dil" => mkN025 form1; + _ + "ròl" => mkN001 form1; + _ + "ram" => mkN001 form1; + _ + "lam" => mkN002 form1; + _ + "iam" => mkN002 form1; + _ + "gam" => mkN001 form1; + _ + "tam" => mkN001 form1; + _ + "irm" => mkN007 form1; + _ + "lum" => mkN002 form1; + _ + "eum" => mkN059 form1; + _ + "oim" => mkN007 form1; + _ + "aim" => mkN028 form1; + _ + "ìom" => mkN082 form1; + _ + "ilm" => mkN040 form1; + _ + "alm" => mkN045 form1; + _ + "har" => mkN002 form1; + _ + "bar" => mkN002 form1; + _ + "dar" => mkN001 form1; + _ + "nar" => mkN001 form1; + _ + "par" => mkN001 form1; + _ + "car" => mkN001 form1; + _ + "gar" => mkN001 form1; + _ + "mar" => mkN001 form1; + _ + "tar" => mkN001 form1; + _ + "sar" => mkN001 form1; + _ + "rar" => mkN001 form1; + _ + "far" => mkN001 form1; + _ + "lar" => mkN001 form1; + _ + "èar" => mkN009 form1; + _ + "làr" => mkN002 form1; + _ + "gàr" => mkN001 form1; + _ + "tàr" => mkN033 form1; + _ + "aor" => mkN002 form1; + _ + "for" => mkN002 form1; + _ + "mor" => mkN002 form1; + _ + "ior" => mkN059 form1; + _ + "tùr" => mkN002 form1; + _ + "lùr" => mkN033 form1; + _ + "gur" => mkN002 form1; + _ + "tur" => mkN001 form1; + _ + "eur" => mkN059 form1; + _ + "òir" => mkN004 form1; + _ + "oir" => mkN007 form1; + _ + "nir" => mkN007 form1; + _ + "èir" => mkN007 form1; + _ + "sir" => mkN010 form1; + _ + "air" => mkN028 form1; + _ + "tir" => mkN007 form1; + _ + "eir" => mkN028 form1; + _ + "hir" => mkN010 form1; + _ + "ùir" => mkN007 form1; + _ + "ùrr" => mkN009 form1; + _ + "arr" => mkN059 form1; + _ + "òrr" => mkN059 form1; + _ + "rod" => mkN002 form1; + _ + "god" => mkN001 form1; + _ + "ùrd" => mkN002 form1; + _ + "ird" => mkN007 form1; + _ + "ard" => mkN001 form1; + _ + "àrd" => mkN001 form1; + _ + "nnd" => mkN002 form1; + _ + "ròd" => mkN002 form1; + _ + "chd" => mkN004 form1; + _ + "bhd" => mkN084 form1; + _ + "eid" => mkN007 form1; + _ + "òid" => mkN007 form1; + _ + "àid" => mkN007 form1; + _ + "uid" => mkN007 form1; + _ + "oid" => mkN007 form1; + _ + "sid" => mkN007 form1; + _ + "hid" => mkN007 form1; + _ + "nid" => mkN007 form1; + _ + "mid" => mkN007 form1; + _ + "èid" => mkN028 form1; + _ + "asg" => mkN002 form1; + _ + "isg" => mkN007 form1; + _ + "osg" => mkN001 form1; + _ + "ùsg" => mkN001 form1; + _ + "eòg" => mkN002 form1; + _ + "pòg" => mkN023 form1; + _ + "ròg" => mkN030 form1; + _ + "rig" => mkN007 form1; + _ + "fig" => mkN007 form1; + _ + "lig" => mkN007 form1; + _ + "oig" => mkN007 form1; + _ + "mig" => mkN028 form1; + _ + "mag" => mkN030 form1; + _ + "dag" => mkN023 form1; + _ + "bag" => mkN023 form1; + _ + "hag" => mkN030 form1; + _ + "lag" => mkN023 form1; + _ + "tag" => mkN030 form1; + _ + "rag" => mkN023 form1; + _ + "sag" => mkN030 form1; + _ + "nag" => mkN030 form1; + _ + "cag" => mkN023 form1; + _ + "gag" => mkN023 form1; + _ + "pag" => mkN030 form1; + _ + "fag" => mkN030 form1; + _ + "uag" => mkN030 form1; + _ + "ing" => mkN007 form1; + _ + "ang" => mkN001 form1; + _ + "ong" => mkN059 form1; + _ + "irg" => mkN007 form1; + _ + "log" => mkN001 form1; + _ + "iog" => mkN009 form1; + _ + "gog" => mkN030 form1; + _ + "omh" => mkN002 form1; + _ + "àmh" => mkN002 form1; + _ + "imh" => mkN007 form1; + _ + "umh" => mkN059 form1; + _ + "adh" => mkN017 form1; + _ + "odh" => mkN059 form1; + _ + "àdh" => mkN017 form1; + _ + "ìdh" => mkN338 form1; + _ + "obh" => mkN001 form1; + _ + "rbh" => mkN002 form1; + _ + "ubh" => mkN001 form1; + _ + "àbh" => mkN001 form1; + _ + "ùbh" => mkN001 form1; + _ + "lbh" => mkN009 form1; + _ + "ibh" => mkN009 form1; + _ + "òbh" => mkN017 form1; + _ + "ath" => mkN059 form1; + _ + "àth" => mkN059 form1; + _ + "ith" => mkN007 form1; + _ + "ìth" => mkN007 form1; + _ + "uth" => mkN059 form1; + _ + "ùth" => mkN059 form1; + _ + "oth" => mkN059 form1; + _ + "òth" => mkN082 form1; + _ + "igh" => mkN007 form1; + _ + "ùgh" => mkN001 form1; + _ + "ugh" => mkN017 form1; + _ + "agh" => mkN059 form1; + _ + "ìgh" => mkN025 form1; + _ + "àgh" => mkN045 form1; + _ + "eop" => mkN084 form1; + _ + "nap" => mkN001 form1; + _ + "ilp" => mkN007 form1; + _ + "irp" => mkN007 form1; + _ + "ort" => mkN002 form1; + _ + "art" => mkN001 form1; + _ + "urt" => mkN002 form1; + _ + "irt" => mkN007 form1; + _ + "ult" => mkN002 form1; + _ + "ilt" => mkN007 form1; + _ + "llt" => mkN007 form1; + _ + "olt" => mkN009 form1; + _ + "uit" => mkN004 form1; + _ + "eit" => mkN007 form1; + _ + "oit" => mkN007 form1; + _ + "àit" => mkN007 form1; + _ + "ait" => mkN007 form1; + _ + "ist" => mkN007 form1; + _ + "ust" => mkN009 form1; + _ + "ost" => mkN009 form1; + _ + "òst" => mkN059 form1; + _ + "nnt" => mkN007 form1; + _ + "int" => mkN007 form1; + _ + "ant" => mkN001 form1; + _ + "pot" => mkN001 form1; + _ + "rot" => mkN059 form1; + _ + "eut" => mkN009 form1; + _ + "rat" => mkN059 form1; + _ + "lat" => mkN084 form1; + _ + "lse" => mkN004 form1; + _ + "dse" => mkN004 form1; + _ + "hse" => mkN004 form1; + _ + "ise" => mkN004 form1; + _ + "rse" => mkN004 form1; + _ + "mse" => mkN009 form1; + _ + "gse" => mkN150 form1; + _ + "nse" => mkN210 form1; + _ + "ire" => mkN009 form1; + _ + "hre" => mkN004 form1; + _ + "ìre" => mkN004 form1; + _ + "lle" => mkN004 form1; + _ + "ile" => mkN009 form1; + _ + "rle" => mkN004 form1; + _ + "mle" => mkN004 form1; + _ + "hle" => mkN004 form1; + _ + "sle" => mkN004 form1; + _ + "ìle" => mkN062 form1; + _ + "sge" => mkN004 form1; + _ + "nge" => mkN004 form1; + _ + "ite" => mkN004 form1; + _ + "nte" => mkN004 form1; + _ + "ste" => mkN004 form1; + _ + "lte" => mkN004 form1; + _ + "ìde" => mkN004 form1; + _ + "sde" => mkN009 form1; + _ + "ghe" => mkN004 form1; + _ + "che" => mkN009 form1; + _ + "the" => mkN004 form1; + _ + "bhe" => mkN009 form1; + _ + "ice" => mkN004 form1; + _ + "rce" => mkN009 form1; + _ + "ime" => mkN004 form1; + _ + "rbe" => mkN004 form1; + _ + "ibe" => mkN150 form1; + _ + "òga" => mkN004 form1; + _ + "uga" => mkN061 form1; + _ + "aga" => mkN061 form1; + _ + "àga" => mkN061 form1; + _ + "oga" => mkN088 form1; + _ + "nga" => mkN121 form1; + _ + "bha" => mkN004 form1; + _ + "dha" => mkN088 form1; + _ + "gha" => mkN088 form1; + _ + "mha" => mkN088 form1; + _ + "tha" => mkN088 form1; + _ + "oca" => mkN121 form1; + _ + "aca" => mkN046 form1; + _ + "òca" => mkN121 form1; + _ + "hna" => mkN057 form1; + _ + "rna" => mkN046 form1; + _ + "ana" => mkN061 form1; + _ + "sna" => mkN057 form1; + _ + "ona" => mkN061 form1; + _ + "nna" => mkN088 form1; + _ + "àta" => mkN061 form1; + _ + "nta" => mkN046 form1; + _ + "lta" => mkN061 form1; + _ + "sta" => mkN088 form1; + _ + "òta" => mkN061 form1; + _ + "hta" => mkN061 form1; + _ + "ota" => mkN061 form1; + _ + "ata" => mkN088 form1; + _ + "àpa" => mkN009 form1; + _ + "mpa" => mkN061 form1; + _ + "apa" => mkN061 form1; + _ + "òpa" => mkN061 form1; + _ + "upa" => mkN088 form1; + _ + "lpa" => mkN121 form1; + _ + "ada" => mkN009 form1; + _ + "ùda" => mkN046 form1; + _ + "oda" => mkN046 form1; + _ + "hda" => mkN088 form1; + _ + "rra" => mkN046 form1; + _ + "lra" => mkN046 form1; + _ + "ara" => mkN085 form1; + _ + "nra" => mkN267 form1; + _ + "rla" => mkN046 form1; + _ + "hla" => mkN057 form1; + _ + "ala" => mkN057 form1; + _ + "òla" => mkN088 form1; + _ + "ula" => mkN088 form1; + _ + "lla" => mkN046 form1; + _ + "àla" => mkN046 form1; + _ + "ofa" => mkN046 form1; + _ + "rfa" => mkN061 form1; + _ + "asa" => mkN057 form1; + _ + "csa" => mkN061 form1; + _ + "gsa" => mkN061 form1; + _ + "hsa" => mkN061 form1; + _ + "rsa" => mkN088 form1; + _ + "tsa" => mkN085 form1; + _ + "oma" => mkN061 form1; + _ + "àma" => mkN085 form1; + _ + "ama" => mkN121 form1; + _ + "aba" => mkN061 form1; + _ + "oba" => mkN046 form1; + _ + "uab" => mkN030 form1; + _ + "eab" => mkN059 form1; + _ + "iob" => mkN059 form1; + _ + "ìob" => mkN082 form1; + _ + "ì" => mkN289 form1; + _ + "an" => mkN002 form1; + _ + "on" => mkN002 form1; + _ + "àn" => mkN002 form1; + _ + "òn" => mkN002 form1; + _ + "ùn" => mkN124 form1; + _ + "in" => mkN007 form1; + _ + "ón" => mkN009 form1; + _ + "un" => mkN059 form1; + _ + "as" => mkN001 form1; + _ + "us" => mkN002 form1; + _ + "os" => mkN059 form1; + _ + "às" => mkN001 form1; + _ + "hs" => mkN001 form1; + _ + "is" => mkN007 form1; + _ + "ìs" => mkN007 form1; + _ + "òs" => mkN001 form1; + _ + "cs" => mkN001 form1; + _ + "ùs" => mkN001 form1; + _ + "ns" => mkN009 form1; + _ + "ps" => mkN009 form1; + _ + "ds" => mkN025 form1; + _ + "rs" => mkN045 form1; + _ + "ac" => mkN001 form1; + _ + "rc" => mkN007 form1; + _ + "ic" => mkN007 form1; + _ + "lc" => mkN007 form1; + _ + "ìc" => mkN007 form1; + _ + "àc" => mkN001 form1; + _ + "uc" => mkN001 form1; + _ + "nc" => mkN001 form1; + _ + "òc" => mkN059 form1; + _ + "ùc" => mkN009 form1; + _ + "oc" => mkN059 form1; + _ + "ll" => mkN001 form1; + _ + "ol" => mkN002 form1; + _ + "al" => mkN002 form1; + _ + "àl" => mkN002 form1; + _ + "il" => mkN007 form1; + _ + "ìl" => mkN007 form1; + _ + "ùl" => mkN124 form1; + _ + "am" => mkN001 form1; + _ + "rm" => mkN007 form1; + _ + "um" => mkN059 form1; + _ + "im" => mkN028 form1; + _ + "ìm" => mkN007 form1; + _ + "ùm" => mkN001 form1; + _ + "nm" => mkN010 form1; + _ + "hm" => mkN028 form1; + _ + "lm" => mkN040 form1; + _ + "àr" => mkN001 form1; + _ + "or" => mkN002 form1; + _ + "ùr" => mkN002 form1; + _ + "ur" => mkN002 form1; + _ + "ir" => mkN028 form1; + _ + "ìr" => mkN007 form1; + _ + "òr" => mkN001 form1; + _ + "rr" => mkN059 form1; + _ + "hr" => mkN025 form1; + _ + "od" => mkN002 form1; + _ + "rd" => mkN001 form1; + _ + "nd" => mkN002 form1; + _ + "òd" => mkN001 form1; + _ + "hd" => mkN004 form1; + _ + "id" => mkN007 form1; + _ + "àd" => mkN001 form1; + _ + "ud" => mkN009 form1; + _ + "sd" => mkN009 form1; + _ + "sg" => mkN007 form1; + _ + "òg" => mkN030 form1; + _ + "ig" => mkN007 form1; + _ + "ag" => mkN030 form1; + _ + "àg" => mkN004 form1; + _ + "ng" => mkN007 form1; + _ + "ìg" => mkN007 form1; + _ + "og" => mkN030 form1; + _ + "mh" => mkN002 form1; + _ + "dh" => mkN017 form1; + _ + "bh" => mkN001 form1; + _ + "th" => mkN059 form1; + _ + "gh" => mkN007 form1; + _ + "op" => mkN084 form1; + _ + "ap" => mkN084 form1; + _ + "lp" => mkN007 form1; + _ + "rp" => mkN007 form1; + _ + "ip" => mkN057 form1; + _ + "òp" => mkN230 form1; + _ + "rt" => mkN007 form1; + _ + "lt" => mkN007 form1; + _ + "it" => mkN007 form1; + _ + "st" => mkN007 form1; + _ + "nt" => mkN007 form1; + _ + "ot" => mkN059 form1; + _ + "àt" => mkN009 form1; + _ + "ut" => mkN059 form1; + _ + "at" => mkN059 form1; + _ + "ùt" => mkN059 form1; + _ + "ft" => mkN084 form1; + _ + "se" => mkN004 form1; + _ + "re" => mkN009 form1; + _ + "le" => mkN004 form1; + _ + "ge" => mkN004 form1; + _ + "te" => mkN004 form1; + _ + "de" => mkN004 form1; + _ + "he" => mkN009 form1; + _ + "ce" => mkN009 form1; + _ + "pe" => mkN004 form1; + _ + "me" => mkN004 form1; + _ + "be" => mkN004 form1; + _ + "ga" => mkN061 form1; + _ + "ha" => mkN088 form1; + _ + "ca" => mkN046 form1; + _ + "na" => mkN061 form1; + _ + "ta" => mkN061 form1; + _ + "pa" => mkN061 form1; + _ + "da" => mkN061 form1; + _ + "ra" => mkN046 form1; + _ + "la" => mkN088 form1; + _ + "fa" => mkN061 form1; + _ + "sa" => mkN061 form1; + _ + "ma" => mkN061 form1; + _ + "ba" => mkN061 form1; + _ + "ib" => mkN007 form1; + _ + "nb" => mkN007 form1; + _ + "ab" => mkN059 form1; + _ + "ùb" => mkN023 form1; + _ + "òb" => mkN033 form1; + _ + "ob" => mkN082 form1; + _ + "rb" => mkN082 form1; + _ + "eò" => mkN009 form1; + _ + "lò" => mkN143 form1; + _ + "nò" => mkN085 form1; + _ + "lf" => mkN009 form1; + _ + "of" => mkN021 form1; + _ + "uf" => mkN084 form1; + _ + "af" => mkN230 form1; + _ + "no" => mkN085 form1; + _ + "go" => mkN085 form1; + _ + "to" => mkN085 form1; + _ + "n" => mkN002 form1; + _ + "s" => mkN001 form1; + _ + "c" => mkN007 form1; + _ + "l" => mkN002 form1; + _ + "m" => mkN001 form1; + _ + "r" => mkN028 form1; + _ + "d" => mkN004 form1; + _ + "g" => mkN030 form1; + _ + "h" => mkN017 form1; + _ + "p" => mkN007 form1; + _ + "t" => mkN007 form1; + _ + "e" => mkN009 form1; + _ + "a" => mkN061 form1; + _ + "è" => mkN004 form1; + _ + "b" => mkN082 form1; + _ + "i" => mkN009 form1; + _ + "ò" => mkN009 form1; + _ + "ù" => mkN009 form1; + _ + "f" => mkN009 form1; + _ + "o" => mkN085 form1; + _ + "à" => mkN143 form1; + _ => error "Cannot find an inflection rule" + } ; + + reg2N : Str -> Str -> LinN -- nom;indef;sg gen;indef;sg + = \form1, form2 -> case of { + <_ + "eas", _ + "his"> => mkN001 form1; + <_ + "eas", _ + "ris"> => mkN001 form1; + <_ + "eas", _ + "eis"> => mkN011 form1; + <_ + "eas", _ + "ise"> => mkN183 form1; + <_ + "eam", _ + "him"> => mkN001 form1; + <_ + "eam", _ + "eim"> => mkN011 form1; + <_ + "ear", _ + "hir"> => mkN001 form1; + <_ + "ear", _ + "eir"> => mkN011 form1; + <_ + "eamh", _ + "imh"> => mkN011 form1; + <_ + "amh", _ + "mha"> => mkN059 form1; + <_ + "amh", _ + "mhe"> => mkN030 form1; + <_ + "oll", _ + "ill"> => mkN047 form1; + <_ + "eag", _ + "eig"> => mkN043 form1; + <_ + "eag", _ + "ige"> => mkN019 form1; + <_ + "eal", _ + "gil"> => mkN002 form1; + <_ + "eal", _ + "eil"> => mkN011 form1; + <_ + "rom", _ + "oim"> => mkN001 form1; + <_ + "rom", _ + "uim"> => mkN069 form1; + <_ + "cal", _ + "ail"> => mkN131 form1; + <_ + "ean", _ + "ein"> => mkN011 form1; + <_ + "eud", _ + "òid"> => mkN080 form1; + <_ + "eud", _ + "eid"> => mkN176 form1; + <_ + "eabh", _ + "ibh"> => mkN011 form1; + <_ + "alg", _ + "lge"> => mkN019 form1; + <_ + "alg", _ + "ilg"> => mkN043 form1; + <_ + "ìon", _ + "ona"> => mkN059 form1; + <_ + "alt", _ + "ilt"> => mkN067 form1; + <_ + "eas", _ + "is"> => mkN011 form1; + <_ + "eas", _ + "as"> => mkN009 form1; + <_ + "eas", _ + "se"> => mkN183 form1; + <_ + "eam", _ + "im"> => mkN011 form1; + <_ + "ear", _ + "ir"> => mkN011 form1; + <_ + "ear", _ + "ar"> => mkN009 form1; + <_ + "eamh", _ + "mh"> => mkN011 form1; + <_ + "amh", _ + "ha"> => mkN059 form1; + <_ + "amh", _ + "he"> => mkN030 form1; + <_ + "oll", _ + "ll"> => mkN047 form1; + <_ + "eag", _ + "ig"> => mkN043 form1; + <_ + "eag", _ + "ge"> => mkN019 form1; + <_ + "eal", _ + "il"> => mkN011 form1; + <_ + "rom", _ + "im"> => mkN069 form1; + <_ + "cal", _ + "il"> => mkN131 form1; + <_ + "ean", _ + "an"> => mkN009 form1; + <_ + "ean", _ + "in"> => mkN011 form1; + <_ + "eud", _ + "ud"> => mkN009 form1; + <_ + "eud", _ + "id"> => mkN080 form1; + <_ + "eabh", _ + "bh"> => mkN011 form1; + <_ + "alg", _ + "ge"> => mkN019 form1; + <_ + "alg", _ + "lg"> => mkN043 form1; + <_ + "ìon", _ + "na"> => mkN059 form1; + <_ + "alt", _ + "lt"> => mkN067 form1; + <_ + "eas", _ + "s"> => mkN011 form1; + <_ + "eas", _ + "e"> => mkN183 form1; + <_ + "eas", _ + "a"> => mkN059 form1; + <_ + "eam", _ + "m"> => mkN011 form1; + <_ + "ear", _ + "r"> => mkN011 form1; + <_ + "eamh", _ + "h"> => mkN011 form1; + <_ + "amh", _ + "a"> => mkN059 form1; + <_ + "amh", _ + "e"> => mkN030 form1; + <_ + "oll", _ + "l"> => mkN047 form1; + <_ + "eag", _ + "g"> => mkN043 form1; + <_ + "eag", _ + "e"> => mkN019 form1; + <_ + "eal", _ + "l"> => mkN011 form1; + <_ + "eal", _ + "a"> => mkN082 form1; + <_ + "rom", _ + "m"> => mkN069 form1; + <_ + "cal", _ + "l"> => mkN131 form1; + <_ + "òrn", _ + "n"> => mkN113 form1; + <_ + "ean", _ + "n"> => mkN011 form1; + <_ + "eud", _ + "d"> => mkN009 form1; + <_ + "eud", _ + "a"> => mkN059 form1; + <_ + "eabh", _ + "h"> => mkN011 form1; + <_ + "earg", _ + "g"> => mkN011 form1; + <_ + "arg", _ + "e"> => mkN019 form1; + <_ + "alg", _ + "e"> => mkN019 form1; + <_ + "alg", _ + "g"> => mkN043 form1; + <_ + "ìon", _ + "n"> => mkN047 form1; + <_ + "ìon", _ + "a"> => mkN059 form1; + <_ + "alt", _ + "t"> => mkN067 form1; + <_ + "alt", _ + "a"> => mkN082 form1; + <_ + "òil", _ + "a"> => mkN106 form1; + <_ + "àrr", _ + "a"> => mkN110 form1; + <_ + "òrd", _ + "d"> => mkN113 form1; + <_ + "eòl", _ + "l"> => mkN132 form1; + <_ + "eòl", _ + "a"> => mkN021 form1; + <_ + "ar", _ + "air"> => mkN001 form1; + <_ + "ar", _ + "uir"> => mkN069 form1; + <_ + "òl", _ + "òil"> => mkN001 form1; + <_ + "om", _ + "uim"> => mkN089 form1; + <_ + "ar", _ + "ir"> => mkN001 form1; + <_ + "ul", _ + "il"> => mkN002 form1; + <_ + "ul", _ + "ul"> => mkN009 form1; + <_ + "òl", _ + "il"> => mkN002 form1; + <_ + "om", _ + "im"> => mkN089 form1; + <_ + "ar", _ + "r"> => mkN001 form1; + <_ + "ul", _ + "l"> => mkN002 form1; + <_ + "ul", _ + "a"> => mkN021 form1; + <_ + "òl", _ + "l"> => mkN002 form1; + <_ + "òl", _ + "s"> => mkN112 form1; + <_ + "om", _ + "a"> => mkN082 form1; + <_ + "om", _ + "m"> => mkN089 form1; + <_ + "all", _ + "ill"> => mkN001 form1; + <_ + "asg", _ + "isg"> => mkN002 form1; + <_ + "adh", _ + "idh"> => mkN017 form1; + <_ + "adh", _ + "adh"> => mkN009 form1; + <_ + "adh", _ + "dha"> => mkN059 form1; + <_ + "han", _ + "ain"> => mkN002 form1; + <_ + "omh", _ + "mha"> => mkN021 form1; + <_ + "san", _ + "ain"> => mkN002 form1; + <_ + "can", _ + "ain"> => mkN002 form1; + <_ + "ban", _ + "ain"> => mkN001 form1; + <_ + "tan", _ + "ain"> => mkN001 form1; + <_ + "dan", _ + "ain"> => mkN002 form1; + <_ + "ras", _ + "ais"> => mkN001 form1; + <_ + "arc", _ + "irc"> => mkN002 form1; + <_ + "arc", _ + "arc"> => mkN004 form1; + <_ + "arc", _ + "rce"> => mkN019 form1; + <_ + "ran", _ + "ain"> => mkN002 form1; + <_ + "man", _ + "ain"> => mkN002 form1; + <_ + "làr", _ + "àir"> => mkN002 form1; + <_ + "aon", _ + "oin"> => mkN002 form1; + <_ + "cas", _ + "ais"> => mkN002 form1; + <_ + "gas", _ + "ais"> => mkN002 form1; + <_ + "lan", _ + "ain"> => mkN001 form1; + <_ + "hal", _ + "ail"> => mkN002 form1; + <_ + "bal", _ + "ail"> => mkN002 form1; + <_ + "has", _ + "ais"> => mkN001 form1; + <_ + "uan", _ + "ain"> => mkN002 form1; + <_ + "das", _ + "ais"> => mkN002 form1; + <_ + "ùrd", _ + "ird"> => mkN002 form1; + <_ + "sal", _ + "ail"> => mkN002 form1; + <_ + "obh", _ + "ibh"> => mkN002 form1; + <_ + "aol", _ + "oil"> => mkN002 form1; + <_ + "ath", _ + "ith"> => mkN002 form1; + <_ + "ath", _ + "tha"> => mkN059 form1; + <_ + "ath", _ + "the"> => mkN133 form1; + <_ + "nan", _ + "ain"> => mkN002 form1; + <_ + "gal", _ + "ail"> => mkN002 form1; + <_ + "ort", _ + "irt"> => mkN002 form1; + <_ + "ort", _ + "rta"> => mkN021 form1; + <_ + "rbh", _ + "rbh"> => mkN002 form1; + <_ + "art", _ + "irt"> => mkN001 form1; + <_ + "àmh", _ + "imh"> => mkN002 form1; + <_ + "rod", _ + "oid"> => mkN002 form1; + <_ + "rod", _ + "uid"> => mkN069 form1; + <_ + "àrd", _ + "ird"> => mkN001 form1; + <_ + "nas", _ + "ais"> => mkN002 form1; + <_ + "las", _ + "ais"> => mkN002 form1; + <_ + "ram", _ + "aim"> => mkN001 form1; + <_ + "dal", _ + "ail"> => mkN002 form1; + <_ + "tas", _ + "ais"> => mkN001 form1; + <_ + "ual", _ + "ail"> => mkN001 form1; + <_ + "ths", _ + "ths"> => mkN002 form1; + <_ + "ubh", _ + "ibh"> => mkN002 form1; + <_ + "àth", _ + "ith"> => mkN001 form1; + <_ + "àth", _ + "tha"> => mkN059 form1; + <_ + "ail", _ + "ail"> => mkN025 form1; + <_ + "ail", _ + "ile"> => mkN007 form1; + <_ + "chd", _ + "chd"> => mkN004 form1; + <_ + "chd", _ + "hda"> => mkN059 form1; + <_ + "ain", _ + "ain"> => mkN004 form1; + <_ + "ain", _ + "ine"> => mkN007 form1; + <_ + "ais", _ + "ais"> => mkN025 form1; + <_ + "ais", _ + "ise"> => mkN007 form1; + <_ + "bha", _ + "bha"> => mkN004 form1; + <_ + "oca", _ + "oca"> => mkN004 form1; + <_ + "ile", _ + "ile"> => mkN009 form1; + <_ + "ste", _ + "ste"> => mkN004 form1; + <_ + "rle", _ + "rle"> => mkN004 form1; + <_ + "hse", _ + "hse"> => mkN004 form1; + <_ + "irt", _ + "rte"> => mkN007 form1; + <_ + "irt", _ + "irt"> => mkN025 form1; + <_ + "hle", _ + "hle"> => mkN009 form1; + <_ + "ist", _ + "ist"> => mkN028 form1; + <_ + "ing", _ + "nge"> => mkN007 form1; + <_ + "isg", _ + "isg"> => mkN028 form1; + <_ + "igh", _ + "ghe"> => mkN007 form1; + <_ + "igh", _ + "igh"> => mkN028 form1; + <_ + "uil", _ + "ile"> => mkN007 form1; + <_ + "lin", _ + "ine"> => mkN007 form1; + <_ + "ird", _ + "rde"> => mkN007 form1; + <_ + "nnt", _ + "nte"> => mkN007 form1; + <_ + "imh", _ + "mhe"> => mkN007 form1; + <_ + "irm", _ + "rme"> => mkN007 form1; + <_ + "air", _ + "ire"> => mkN010 form1; + <_ + "air", _ + "air"> => mkN028 form1; + <_ + "air", _ + "ach"> => mkN026 form1; + <_ + "aic", _ + "aic"> => mkN009 form1; + <_ + "ìth", _ + "the"> => mkN007 form1; + <_ + "ill", _ + "lle"> => mkN007 form1; + <_ + "eis", _ + "eis"> => mkN009 form1; + <_ + "oin", _ + "ine"> => mkN007 form1; + <_ + "eir", _ + "ire"> => mkN007 form1; + <_ + "àin", _ + "ine"> => mkN007 form1; + <_ + "eil", _ + "ile"> => mkN007 form1; + <_ + "eil", _ + "eil"> => mkN009 form1; + <_ + "oil", _ + "ile"> => mkN007 form1; + <_ + "bag", _ + "aig"> => mkN023 form1; + <_ + "ard", _ + "ird"> => mkN001 form1; + <_ + "ang", _ + "ing"> => mkN001 form1; + <_ + "ang", _ + "nge"> => mkN019 form1; + <_ + "ant", _ + "int"> => mkN001 form1; + <_ + "ant", _ + "ant"> => mkN009 form1; + <_ + "odh", _ + "idh"> => mkN001 form1; + <_ + "uth", _ + "ith"> => mkN001 form1; + <_ + "uth", _ + "tha"> => mkN059 form1; + <_ + "osg", _ + "isg"> => mkN001 form1; + <_ + "osg", _ + "osg"> => mkN009 form1; + <_ + "lac", _ + "aic"> => mkN001 form1; + <_ + "ost", _ + "ost"> => mkN009 form1; + <_ + "ost", _ + "ist"> => mkN089 form1; + <_ + "àdh", _ + "àdh"> => mkN009 form1; + <_ + "àdh", _ + "idh"> => mkN017 form1; + <_ + "eum", _ + "uma"> => mkN059 form1; + <_ + "hag", _ + "aig"> => mkN023 form1; + <_ + "hag", _ + "ige"> => mkN030 form1; + <_ + "sag", _ + "aig"> => mkN023 form1; + <_ + "nag", _ + "ige"> => mkN030 form1; + <_ + "agh", _ + "igh"> => mkN023 form1; + <_ + "agh", _ + "ghe"> => mkN036 form1; + <_ + "agh", _ + "gha"> => mkN059 form1; + <_ + "ròg", _ + "ige"> => mkN030 form1; + <_ + "ilm", _ + "lme"> => mkN040 form1; + <_ + "rna", _ + "rna"> => mkN046 form1; + <_ + "nta", _ + "nta"> => mkN046 form1; + <_ + "rra", _ + "rra"> => mkN046 form1; + <_ + "lta", _ + "lta"> => mkN046 form1; + <_ + "sna", _ + "sna"> => mkN057 form1; + <_ + "hla", _ + "hla"> => mkN057 form1; + <_ + "sta", _ + "sta"> => mkN057 form1; + <_ + "uga", _ + "uga"> => mkN057 form1; + <_ + "iob", _ + "oba"> => mkN059 form1; + <_ + "eab", _ + "aba"> => mkN059 form1; + <_ + "arr", _ + "rra"> => mkN059 form1; + <_ + "eus", _ + "usa"> => mkN082 form1; + <_ + "oth", _ + "tha"> => mkN059 form1; + <_ + "orc", _ + "irc"> => mkN089 form1; + <_ + "eur", _ + "ura"> => mkN059 form1; + <_ + "eur", _ + "òir"> => mkN080 form1; + <_ + "rsa", _ + "rsa"> => mkN088 form1; + <_ + "òla", _ + "òla"> => mkN088 form1; + <_ + "mha", _ + "mha"> => mkN088 form1; + <_ + "lla", _ + "lla"> => mkN046 form1; + <_ + "all", _ + "ll"> => mkN001 form1; + <_ + "asg", _ + "sg"> => mkN002 form1; + <_ + "adh", _ + "dh"> => mkN017 form1; + <_ + "adh", _ + "ha"> => mkN059 form1; + <_ + "han", _ + "in"> => mkN002 form1; + <_ + "omh", _ + "ha"> => mkN021 form1; + <_ + "san", _ + "in"> => mkN002 form1; + <_ + "can", _ + "in"> => mkN002 form1; + <_ + "ban", _ + "in"> => mkN001 form1; + <_ + "tan", _ + "in"> => mkN001 form1; + <_ + "dan", _ + "in"> => mkN002 form1; + <_ + "ras", _ + "is"> => mkN001 form1; + <_ + "arc", _ + "rc"> => mkN002 form1; + <_ + "arc", _ + "ce"> => mkN019 form1; + <_ + "ran", _ + "in"> => mkN002 form1; + <_ + "man", _ + "in"> => mkN002 form1; + <_ + "làr", _ + "ir"> => mkN002 form1; + <_ + "aon", _ + "in"> => mkN002 form1; + <_ + "cas", _ + "is"> => mkN002 form1; + <_ + "gas", _ + "is"> => mkN002 form1; + <_ + "lan", _ + "in"> => mkN001 form1; + <_ + "hal", _ + "il"> => mkN002 form1; + <_ + "bal", _ + "il"> => mkN002 form1; + <_ + "has", _ + "is"> => mkN001 form1; + <_ + "uan", _ + "in"> => mkN002 form1; + <_ + "das", _ + "is"> => mkN002 form1; + <_ + "ùrd", _ + "rd"> => mkN002 form1; + <_ + "sal", _ + "il"> => mkN002 form1; + <_ + "obh", _ + "bh"> => mkN002 form1; + <_ + "aol", _ + "il"> => mkN002 form1; + <_ + "ath", _ + "th"> => mkN002 form1; + <_ + "ath", _ + "ha"> => mkN059 form1; + <_ + "ath", _ + "he"> => mkN133 form1; + <_ + "nan", _ + "in"> => mkN002 form1; + <_ + "gal", _ + "il"> => mkN002 form1; + <_ + "ort", _ + "rt"> => mkN002 form1; + <_ + "ort", _ + "ta"> => mkN021 form1; + <_ + "rbh", _ + "bh"> => mkN002 form1; + <_ + "art", _ + "rt"> => mkN001 form1; + <_ + "àmh", _ + "mh"> => mkN002 form1; + <_ + "rod", _ + "id"> => mkN002 form1; + <_ + "àrd", _ + "rd"> => mkN001 form1; + <_ + "nas", _ + "is"> => mkN002 form1; + <_ + "las", _ + "is"> => mkN002 form1; + <_ + "las", _ + "as"> => mkN084 form1; + <_ + "ram", _ + "im"> => mkN001 form1; + <_ + "dal", _ + "il"> => mkN002 form1; + <_ + "tas", _ + "is"> => mkN001 form1; + <_ + "ual", _ + "il"> => mkN001 form1; + <_ + "ths", _ + "hs"> => mkN002 form1; + <_ + "ubh", _ + "bh"> => mkN002 form1; + <_ + "àth", _ + "th"> => mkN001 form1; + <_ + "àth", _ + "ha"> => mkN059 form1; + <_ + "ail", _ + "il"> => mkN025 form1; + <_ + "ail", _ + "le"> => mkN007 form1; + <_ + "chd", _ + "hd"> => mkN004 form1; + <_ + "chd", _ + "da"> => mkN059 form1; + <_ + "ain", _ + "in"> => mkN004 form1; + <_ + "ain", _ + "ne"> => mkN007 form1; + <_ + "ais", _ + "is"> => mkN025 form1; + <_ + "ais", _ + "se"> => mkN007 form1; + <_ + "ite", _ + "te"> => mkN004 form1; + <_ + "bha", _ + "ha"> => mkN004 form1; + <_ + "oca", _ + "ca"> => mkN004 form1; + <_ + "ile", _ + "le"> => mkN009 form1; + <_ + "ste", _ + "te"> => mkN004 form1; + <_ + "rle", _ + "le"> => mkN004 form1; + <_ + "hse", _ + "se"> => mkN004 form1; + <_ + "irt", _ + "te"> => mkN007 form1; + <_ + "irt", _ + "rt"> => mkN025 form1; + <_ + "hle", _ + "le"> => mkN009 form1; + <_ + "ist", _ + "st"> => mkN028 form1; + <_ + "ing", _ + "ge"> => mkN007 form1; + <_ + "isg", _ + "sg"> => mkN028 form1; + <_ + "igh", _ + "he"> => mkN007 form1; + <_ + "igh", _ + "gh"> => mkN028 form1; + <_ + "uil", _ + "le"> => mkN007 form1; + <_ + "lin", _ + "ne"> => mkN007 form1; + <_ + "ird", _ + "de"> => mkN007 form1; + <_ + "nnt", _ + "te"> => mkN007 form1; + <_ + "imh", _ + "he"> => mkN007 form1; + <_ + "irm", _ + "me"> => mkN007 form1; + <_ + "air", _ + "re"> => mkN010 form1; + <_ + "air", _ + "ir"> => mkN028 form1; + <_ + "air", _ + "ch"> => mkN026 form1; + <_ + "aic", _ + "ic"> => mkN009 form1; + <_ + "ìth", _ + "he"> => mkN007 form1; + <_ + "ill", _ + "le"> => mkN007 form1; + <_ + "eis", _ + "is"> => mkN009 form1; + <_ + "oin", _ + "ne"> => mkN007 form1; + <_ + "eir", _ + "re"> => mkN007 form1; + <_ + "àin", _ + "ne"> => mkN007 form1; + <_ + "eil", _ + "le"> => mkN007 form1; + <_ + "eil", _ + "il"> => mkN009 form1; + <_ + "oil", _ + "le"> => mkN007 form1; + <_ + "bag", _ + "ig"> => mkN023 form1; + <_ + "ard", _ + "rd"> => mkN001 form1; + <_ + "ang", _ + "ng"> => mkN001 form1; + <_ + "ang", _ + "ge"> => mkN019 form1; + <_ + "ant", _ + "nt"> => mkN001 form1; + <_ + "odh", _ + "dh"> => mkN001 form1; + <_ + "uth", _ + "th"> => mkN001 form1; + <_ + "uth", _ + "ha"> => mkN059 form1; + <_ + "osg", _ + "sg"> => mkN001 form1; + <_ + "lac", _ + "ic"> => mkN001 form1; + <_ + "ost", _ + "st"> => mkN009 form1; + <_ + "ian", _ + "an"> => mkN009 form1; + <_ + "àdh", _ + "dh"> => mkN017 form1; + <_ + "eum", _ + "ma"> => mkN059 form1; + <_ + "hag", _ + "ig"> => mkN023 form1; + <_ + "hag", _ + "ge"> => mkN030 form1; + <_ + "sag", _ + "ig"> => mkN023 form1; + <_ + "nag", _ + "ge"> => mkN030 form1; + <_ + "agh", _ + "gh"> => mkN023 form1; + <_ + "agh", _ + "he"> => mkN036 form1; + <_ + "agh", _ + "ha"> => mkN059 form1; + <_ + "ròg", _ + "ge"> => mkN030 form1; + <_ + "ilm", _ + "me"> => mkN040 form1; + <_ + "rna", _ + "na"> => mkN046 form1; + <_ + "nta", _ + "ta"> => mkN046 form1; + <_ + "rra", _ + "ra"> => mkN046 form1; + <_ + "lta", _ + "ta"> => mkN046 form1; + <_ + "sna", _ + "na"> => mkN057 form1; + <_ + "hla", _ + "la"> => mkN057 form1; + <_ + "sta", _ + "ta"> => mkN057 form1; + <_ + "uga", _ + "ga"> => mkN057 form1; + <_ + "iob", _ + "ba"> => mkN059 form1; + <_ + "eab", _ + "ba"> => mkN059 form1; + <_ + "arr", _ + "ra"> => mkN059 form1; + <_ + "eus", _ + "sa"> => mkN082 form1; + <_ + "oth", _ + "ha"> => mkN059 form1; + <_ + "orc", _ + "rc"> => mkN089 form1; + <_ + "eur", _ + "ra"> => mkN059 form1; + <_ + "eur", _ + "ir"> => mkN080 form1; + <_ + "rsa", _ + "sa"> => mkN088 form1; + <_ + "òla", _ + "la"> => mkN088 form1; + <_ + "mha", _ + "ha"> => mkN088 form1; + <_ + "lla", _ + "la"> => mkN046 form1; + <_ + "all", _ + "l"> => mkN001 form1; + <_ + "all", _ + "a"> => mkN059 form1; + <_ + "all", _ + "e"> => mkN133 form1; + <_ + "asg", _ + "g"> => mkN002 form1; + <_ + "asg", _ + "a"> => mkN059 form1; + <_ + "adh", _ + "h"> => mkN017 form1; + <_ + "adh", _ + "a"> => mkN059 form1; + <_ + "han", _ + "n"> => mkN002 form1; + <_ + "omh", _ + "h"> => mkN002 form1; + <_ + "omh", _ + "a"> => mkN021 form1; + <_ + "san", _ + "n"> => mkN002 form1; + <_ + "can", _ + "n"> => mkN002 form1; + <_ + "col", _ + "l"> => mkN002 form1; + <_ + "col", _ + "a"> => mkN059 form1; + <_ + "ban", _ + "n"> => mkN001 form1; + <_ + "tan", _ + "n"> => mkN001 form1; + <_ + "dan", _ + "n"> => mkN002 form1; + <_ + "ras", _ + "s"> => mkN001 form1; + <_ + "ras", _ + "e"> => mkN072 form1; + <_ + "arc", _ + "c"> => mkN002 form1; + <_ + "arc", _ + "e"> => mkN019 form1; + <_ + "ran", _ + "n"> => mkN002 form1; + <_ + "man", _ + "n"> => mkN002 form1; + <_ + "làr", _ + "r"> => mkN002 form1; + <_ + "tal", _ + "l"> => mkN002 form1; + <_ + "aon", _ + "n"> => mkN002 form1; + <_ + "cas", _ + "s"> => mkN002 form1; + <_ + "cas", _ + "e"> => mkN072 form1; + <_ + "son", _ + "n"> => mkN002 form1; + <_ + "gas", _ + "s"> => mkN002 form1; + <_ + "lan", _ + "n"> => mkN001 form1; + <_ + "hal", _ + "l"> => mkN002 form1; + <_ + "bal", _ + "l"> => mkN002 form1; + <_ + "has", _ + "s"> => mkN001 form1; + <_ + "uan", _ + "n"> => mkN002 form1; + <_ + "das", _ + "s"> => mkN002 form1; + <_ + "ùrd", _ + "d"> => mkN002 form1; + <_ + "sal", _ + "l"> => mkN002 form1; + <_ + "obh", _ + "h"> => mkN002 form1; + <_ + "obh", _ + "e"> => mkN098 form1; + <_ + "aol", _ + "l"> => mkN002 form1; + <_ + "ath", _ + "h"> => mkN002 form1; + <_ + "ath", _ + "a"> => mkN059 form1; + <_ + "ath", _ + "e"> => mkN133 form1; + <_ + "nan", _ + "n"> => mkN002 form1; + <_ + "gal", _ + "l"> => mkN002 form1; + <_ + "gal", _ + "a"> => mkN059 form1; + <_ + "ort", _ + "t"> => mkN002 form1; + <_ + "ort", _ + "a"> => mkN021 form1; + <_ + "aor", _ + "r"> => mkN002 form1; + <_ + "rbh", _ + "h"> => mkN002 form1; + <_ + "art", _ + "t"> => mkN001 form1; + <_ + "ult", _ + "t"> => mkN002 form1; + <_ + "àmh", _ + "h"> => mkN002 form1; + <_ + "àmh", _ + "e"> => mkN263 form1; + <_ + "rod", _ + "d"> => mkN002 form1; + <_ + "tùr", _ + "r"> => mkN002 form1; + <_ + "àrd", _ + "d"> => mkN001 form1; + <_ + "nas", _ + "s"> => mkN002 form1; + <_ + "las", _ + "s"> => mkN002 form1; + <_ + "las", _ + "e"> => mkN098 form1; + <_ + "ram", _ + "m"> => mkN001 form1; + <_ + "lam", _ + "m"> => mkN002 form1; + <_ + "dal", _ + "l"> => mkN002 form1; + <_ + "bon", _ + "n"> => mkN002 form1; + <_ + "los", _ + "s"> => mkN002 form1; + <_ + "uas", _ + "s"> => mkN002 form1; + <_ + "uas", _ + "e"> => mkN030 form1; + <_ + "tas", _ + "s"> => mkN001 form1; + <_ + "ual", _ + "l"> => mkN001 form1; + <_ + "gur", _ + "r"> => mkN002 form1; + <_ + "ths", _ + "s"> => mkN002 form1; + <_ + "ubh", _ + "h"> => mkN002 form1; + <_ + "àth", _ + "h"> => mkN001 form1; + <_ + "àth", _ + "a"> => mkN059 form1; + <_ + "ail", _ + "l"> => mkN025 form1; + <_ + "ail", _ + "e"> => mkN007 form1; + <_ + "ail", _ + "h"> => mkN055 form1; + <_ + "lse", _ + "e"> => mkN004 form1; + <_ + "chd", _ + "d"> => mkN004 form1; + <_ + "chd", _ + "a"> => mkN059 form1; + <_ + "ain", _ + "n"> => mkN004 form1; + <_ + "ain", _ + "e"> => mkN007 form1; + <_ + "ain", _ + "a"> => mkN106 form1; + <_ + "ais", _ + "s"> => mkN025 form1; + <_ + "ais", _ + "e"> => mkN007 form1; + <_ + "ite", _ + "e"> => mkN004 form1; + <_ + "bha", _ + "a"> => mkN004 form1; + <_ + "oca", _ + "a"> => mkN004 form1; + <_ + "àis", _ + "s"> => mkN004 form1; + <_ + "àis", _ + "e"> => mkN010 form1; + <_ + "nte", _ + "e"> => mkN004 form1; + <_ + "ìde", _ + "e"> => mkN004 form1; + <_ + "ile", _ + "e"> => mkN009 form1; + <_ + "ste", _ + "e"> => mkN004 form1; + <_ + "rle", _ + "e"> => mkN004 form1; + <_ + "rle", _ + "n"> => mkN235 form1; + <_ + "ìre", _ + "e"> => mkN004 form1; + <_ + "hse", _ + "e"> => mkN004 form1; + <_ + "mag", _ + "g"> => mkN023 form1; + <_ + "mag", _ + "e"> => mkN030 form1; + <_ + "irt", _ + "e"> => mkN007 form1; + <_ + "irt", _ + "t"> => mkN025 form1; + <_ + "ilt", _ + "e"> => mkN007 form1; + <_ + "ilt", _ + "t"> => mkN028 form1; + <_ + "ime", _ + "e"> => mkN150 form1; + <_ + "òin", _ + "e"> => mkN007 form1; + <_ + "dag", _ + "g"> => mkN023 form1; + <_ + "dag", _ + "e"> => mkN030 form1; + <_ + "ise", _ + "e"> => mkN150 form1; + <_ + "oir", _ + "e"> => mkN007 form1; + <_ + "oir", _ + "h"> => mkN055 form1; + <_ + "irc", _ + "e"> => mkN007 form1; + <_ + "hle", _ + "e"> => mkN009 form1; + <_ + "eid", _ + "e"> => mkN007 form1; + <_ + "eit", _ + "e"> => mkN007 form1; + <_ + "ist", _ + "e"> => mkN007 form1; + <_ + "ist", _ + "t"> => mkN028 form1; + <_ + "nir", _ + "e"> => mkN007 form1; + <_ + "ing", _ + "e"> => mkN007 form1; + <_ + "ing", _ + "g"> => mkN009 form1; + <_ + "isg", _ + "e"> => mkN007 form1; + <_ + "isg", _ + "g"> => mkN028 form1; + <_ + "ris", _ + "e"> => mkN007 form1; + <_ + "ris", _ + "s"> => mkN025 form1; + <_ + "ois", _ + "e"> => mkN007 form1; + <_ + "ois", _ + "s"> => mkN028 form1; + <_ + "igh", _ + "e"> => mkN007 form1; + <_ + "igh", _ + "h"> => mkN028 form1; + <_ + "ith", _ + "e"> => mkN007 form1; + <_ + "ith", _ + "h"> => mkN025 form1; + <_ + "uil", _ + "e"> => mkN007 form1; + <_ + "òid", _ + "e"> => mkN007 form1; + <_ + "lin", _ + "e"> => mkN007 form1; + <_ + "àid", _ + "e"> => mkN007 form1; + <_ + "ilp", _ + "e"> => mkN007 form1; + <_ + "ilp", _ + "p"> => mkN057 form1; + <_ + "ird", _ + "e"> => mkN007 form1; + <_ + "nnt", _ + "e"> => mkN007 form1; + <_ + "nnt", _ + "a"> => mkN021 form1; + <_ + "imh", _ + "e"> => mkN007 form1; + <_ + "imh", _ + "h"> => mkN028 form1; + <_ + "oit", _ + "e"> => mkN007 form1; + <_ + "irm", _ + "e"> => mkN007 form1; + <_ + "àil", _ + "e"> => mkN007 form1; + <_ + "àil", _ + "h"> => mkN155 form1; + <_ + "èir", _ + "e"> => mkN007 form1; + <_ + "èis", _ + "e"> => mkN007 form1; + <_ + "sir", _ + "e"> => mkN007 form1; + <_ + "ùis", _ + "e"> => mkN007 form1; + <_ + "air", _ + "e"> => mkN010 form1; + <_ + "air", _ + "r"> => mkN028 form1; + <_ + "air", _ + "h"> => mkN026 form1; + <_ + "uid", _ + "e"> => mkN007 form1; + <_ + "int", _ + "e"> => mkN007 form1; + <_ + "aic", _ + "e"> => mkN007 form1; + <_ + "aic", _ + "c"> => mkN009 form1; + <_ + "ìth", _ + "e"> => mkN007 form1; + <_ + "ill", _ + "e"> => mkN007 form1; + <_ + "ill", _ + "l"> => mkN028 form1; + <_ + "eis", _ + "e"> => mkN007 form1; + <_ + "eis", _ + "s"> => mkN009 form1; + <_ + "oid", _ + "e"> => mkN007 form1; + <_ + "rig", _ + "e"> => mkN007 form1; + <_ + "oin", _ + "e"> => mkN007 form1; + <_ + "irp", _ + "e"> => mkN007 form1; + <_ + "tir", _ + "e"> => mkN007 form1; + <_ + "tir", _ + "r"> => mkN028 form1; + <_ + "tir", _ + "h"> => mkN254 form1; + <_ + "lig", _ + "e"> => mkN007 form1; + <_ + "eir", _ + "e"> => mkN007 form1; + <_ + "eir", _ + "r"> => mkN028 form1; + <_ + "hir", _ + "e"> => mkN007 form1; + <_ + "àin", _ + "e"> => mkN007 form1; + <_ + "eil", _ + "e"> => mkN007 form1; + <_ + "eil", _ + "l"> => mkN009 form1; + <_ + "oil", _ + "e"> => mkN007 form1; + <_ + "oil", _ + "l"> => mkN028 form1; + <_ + "ùir", _ + "e"> => mkN007 form1; + <_ + "ait", _ + "e"> => mkN007 form1; + <_ + "ait", _ + "t"> => mkN028 form1; + <_ + "mas", _ + "s"> => mkN001 form1; + <_ + "gam", _ + "m"> => mkN001 form1; + <_ + "bag", _ + "g"> => mkN023 form1; + <_ + "bag", _ + "e"> => mkN030 form1; + <_ + "ard", _ + "d"> => mkN001 form1; + <_ + "nal", _ + "l"> => mkN001 form1; + <_ + "ang", _ + "g"> => mkN001 form1; + <_ + "ang", _ + "e"> => mkN019 form1; + <_ + "ant", _ + "t"> => mkN001 form1; + <_ + "ant", _ + "a"> => mkN059 form1; + <_ + "odh", _ + "h"> => mkN001 form1; + <_ + "odh", _ + "a"> => mkN059 form1; + <_ + "uth", _ + "h"> => mkN001 form1; + <_ + "uth", _ + "a"> => mkN059 form1; + <_ + "osg", _ + "g"> => mkN001 form1; + <_ + "ros", _ + "s"> => mkN001 form1; + <_ + "lac", _ + "c"> => mkN001 form1; + <_ + "lac", _ + "e"> => mkN030 form1; + <_ + "hna", _ + "a"> => mkN057 form1; + <_ + "àta", _ + "a"> => mkN061 form1; + <_ + "lbh", _ + "e"> => mkN010 form1; + <_ + "lbh", _ + "a"> => mkN059 form1; + <_ + "lbh", _ + "h"> => mkN089 form1; + <_ + "aim", _ + "e"> => mkN010 form1; + <_ + "aim", _ + "m"> => mkN028 form1; + <_ + "ada", _ + "a"> => mkN061 form1; + <_ + "ibh", _ + "h"> => mkN009 form1; + <_ + "ibh", _ + "e"> => mkN010 form1; + <_ + "ost", _ + "t"> => mkN009 form1; + <_ + "ì", _ + "ì"> => mkN009 form1; + <_ + "ì", _ + "h"> => mkN289 form1; + <_ + "iog", _ + "g"> => mkN009 form1; + <_ + "iog", _ + "a"> => mkN059 form1; + <_ + "ian", _ + "n"> => mkN009 form1; + <_ + "ian", _ + "e"> => mkN133 form1; + <_ + "àdh", _ + "h"> => mkN017 form1; + <_ + "ugh", _ + "h"> => mkN017 form1; + <_ + "eum", _ + "a"> => mkN059 form1; + <_ + "eum", _ + "m"> => mkN176 form1; + <_ + "hag", _ + "g"> => mkN023 form1; + <_ + "hag", _ + "e"> => mkN030 form1; + <_ + "lag", _ + "g"> => mkN023 form1; + <_ + "lag", _ + "e"> => mkN030 form1; + <_ + "tag", _ + "g"> => mkN023 form1; + <_ + "tag", _ + "e"> => mkN030 form1; + <_ + "rag", _ + "g"> => mkN023 form1; + <_ + "rag", _ + "e"> => mkN030 form1; + <_ + "sag", _ + "g"> => mkN023 form1; + <_ + "sag", _ + "e"> => mkN030 form1; + <_ + "nag", _ + "g"> => mkN023 form1; + <_ + "nag", _ + "e"> => mkN030 form1; + <_ + "cag", _ + "g"> => mkN023 form1; + <_ + "cag", _ + "e"> => mkN030 form1; + <_ + "gag", _ + "g"> => mkN023 form1; + <_ + "gag", _ + "e"> => mkN030 form1; + <_ + "pòg", _ + "g"> => mkN023 form1; + <_ + "pòg", _ + "e"> => mkN030 form1; + <_ + "agh", _ + "h"> => mkN023 form1; + <_ + "agh", _ + "e"> => mkN036 form1; + <_ + "agh", _ + "a"> => mkN059 form1; + <_ + "pag", _ + "g"> => mkN023 form1; + <_ + "pag", _ + "e"> => mkN030 form1; + <_ + "ids", _ + "s"> => mkN025 form1; + <_ + "ròg", _ + "e"> => mkN030 form1; + <_ + "ilm", _ + "e"> => mkN040 form1; + <_ + "ilm", _ + "m"> => mkN061 form1; + <_ + "rna", _ + "a"> => mkN046 form1; + <_ + "nta", _ + "a"> => mkN046 form1; + <_ + "rra", _ + "a"> => mkN046 form1; + <_ + "lta", _ + "a"> => mkN046 form1; + <_ + "aca", _ + "a"> => mkN046 form1; + <_ + "sna", _ + "a"> => mkN057 form1; + <_ + "hla", _ + "a"> => mkN057 form1; + <_ + "hla", _ + "h"> => mkN267 form1; + <_ + "sta", _ + "a"> => mkN057 form1; + <_ + "uga", _ + "a"> => mkN057 form1; + <_ + "ona", _ + "a"> => mkN061 form1; + <_ + "mpa", _ + "a"> => mkN061 form1; + <_ + "iob", _ + "a"> => mkN059 form1; + <_ + "eab", _ + "a"> => mkN059 form1; + <_ + "eoc", _ + "a"> => mkN059 form1; + <_ + "loc", _ + "a"> => mkN059 form1; + <_ + "loc", _ + "c"> => mkN069 form1; + <_ + "ios", _ + "a"> => mkN059 form1; + <_ + "ios", _ + "e"> => mkN258 form1; + <_ + "arr", _ + "a"> => mkN059 form1; + <_ + "eus", _ + "a"> => mkN082 form1; + <_ + "ong", _ + "a"> => mkN059 form1; + <_ + "ong", _ + "e"> => mkN260 form1; + <_ + "ìos", _ + "a"> => mkN059 form1; + <_ + "ùth", _ + "a"> => mkN059 form1; + <_ + "oth", _ + "a"> => mkN059 form1; + <_ + "oth", _ + "e"> => mkN098 form1; + <_ + "eun", _ + "a"> => mkN059 form1; + <_ + "eun", _ + "n"> => mkN081 form1; + <_ + "orc", _ + "a"> => mkN059 form1; + <_ + "orc", _ + "c"> => mkN089 form1; + <_ + "eur", _ + "a"> => mkN059 form1; + <_ + "eur", _ + "r"> => mkN080 form1; + <_ + "aga", _ + "a"> => mkN061 form1; + <_ + "csa", _ + "a"> => mkN061 form1; + <_ + "hta", _ + "a"> => mkN061 form1; + <_ + "ota", _ + "a"> => mkN061 form1; + <_ + "èan", _ + "n"> => mkN061 form1; + <_ + "èan", _ + "a"> => mkN261 form1; + <_ + "rsa", _ + "a"> => mkN088 form1; + <_ + "ata", _ + "a"> => mkN088 form1; + <_ + "ìob", _ + "a"> => mkN082 form1; + <_ + "gha", _ + "a"> => mkN088 form1; + <_ + "òla", _ + "a"> => mkN088 form1; + <_ + "mha", _ + "a"> => mkN088 form1; + <_ + "lpa", _ + "a"> => mkN121 form1; + <_ + "rùn", _ + "n"> => mkN124 form1; + <_ + "lla", _ + "a"> => mkN046 form1; + <_ + "ac", _ + "ric"> => mkN001 form1; + <_ + "ac", _ + "aca"> => mkN021 form1; + <_ + "us", _ + "uis"> => mkN002 form1; + <_ + "àn", _ + "àin"> => mkN002 form1; + <_ + "on", _ + "oin"> => mkN002 form1; + <_ + "òn", _ + "òin"> => mkN002 form1; + <_ + "àr", _ + "àir"> => mkN033 form1; + <_ + "gh", _ + "igh"> => mkN257 form1; + <_ + "gh", _ + "ogh"> => mkN004 form1; + <_ + "às", _ + "àis"> => mkN001 form1; + <_ + "ùn", _ + "ùin"> => mkN002 form1; + <_ + "ig", _ + "ige"> => mkN007 form1; + <_ + "dh", _ + "idh"> => mkN028 form1; + <_ + "dh", _ + "dhe"> => mkN007 form1; + <_ + "de", _ + "ide"> => mkN009 form1; + <_ + "eap", _ + "eip"> => mkN011 form1; + <_ + "ìr", _ + "ìre"> => mkN007 form1; + <_ + "ab", _ + "aba"> => mkN059 form1; + <_ + "ol", _ + "oil"> => mkN001 form1; + <_ + "he", _ + "dhe"> => mkN150 form1; + <_ + "ùl", _ + "ùil"> => mkN017 form1; + <_ + "as", _ + "ise"> => mkN072 form1; + <_ + "sa", _ + "nsa"> => mkN061 form1; + <_ + "ot", _ + "ota"> => mkN059 form1; + <_ + "ac", _ + "ic"> => mkN001 form1; + <_ + "ac", _ + "ca"> => mkN021 form1; + <_ + "us", _ + "is"> => mkN002 form1; + <_ + "us", _ + "us"> => mkN084 form1; + <_ + "àn", _ + "in"> => mkN002 form1; + <_ + "on", _ + "in"> => mkN002 form1; + <_ + "òn", _ + "in"> => mkN002 form1; + <_ + "òn", _ + "òn"> => mkN084 form1; + <_ + "àr", _ + "ir"> => mkN002 form1; + <_ + "gh", _ + "gh"> => mkN257 form1; + <_ + "às", _ + "is"> => mkN001 form1; + <_ + "ùn", _ + "in"> => mkN002 form1; + <_ + "ig", _ + "ge"> => mkN007 form1; + <_ + "dh", _ + "dh"> => mkN028 form1; + <_ + "dh", _ + "ch"> => mkN155 form1; + <_ + "dh", _ + "he"> => mkN007 form1; + <_ + "de", _ + "de"> => mkN009 form1; + <_ + "ap", _ + "ip"> => mkN002 form1; + <_ + "ap", _ + "ap"> => mkN084 form1; + <_ + "ìr", _ + "re"> => mkN007 form1; + <_ + "ab", _ + "ba"> => mkN021 form1; + <_ + "ol", _ + "il"> => mkN001 form1; + <_ + "ol", _ + "ol"> => mkN009 form1; + <_ + "eò", _ + "eò"> => mkN009 form1; + <_ + "he", _ + "he"> => mkN150 form1; + <_ + "ùl", _ + "il"> => mkN017 form1; + <_ + "as", _ + "se"> => mkN072 form1; + <_ + "sa", _ + "sa"> => mkN061 form1; + <_ + "ot", _ + "ta"> => mkN059 form1; + <_ + "ac", _ + "c"> => mkN001 form1; + <_ + "ac", _ + "a"> => mkN021 form1; + <_ + "us", _ + "s"> => mkN002 form1; + <_ + "àn", _ + "n"> => mkN002 form1; + <_ + "àl", _ + "l"> => mkN002 form1; + <_ + "on", _ + "n"> => mkN002 form1; + <_ + "òn", _ + "n"> => mkN002 form1; + <_ + "òn", _ + "e"> => mkN030 form1; + <_ + "àr", _ + "r"> => mkN002 form1; + <_ + "gh", _ + "h"> => mkN257 form1; + <_ + "às", _ + "s"> => mkN001 form1; + <_ + "ùn", _ + "n"> => mkN002 form1; + <_ + "ig", _ + "e"> => mkN007 form1; + <_ + "id", _ + "e"> => mkN007 form1; + <_ + "dh", _ + "h"> => mkN028 form1; + <_ + "dh", _ + "e"> => mkN007 form1; + <_ + "de", _ + "e"> => mkN009 form1; + <_ + "ge", _ + "e"> => mkN009 form1; + <_ + "ap", _ + "p"> => mkN002 form1; + <_ + "ìr", _ + "e"> => mkN007 form1; + <_ + "ìs", _ + "e"> => mkN007 form1; + <_ + "lc", _ + "e"> => mkN007 form1; + <_ + "ib", _ + "e"> => mkN007 form1; + <_ + "ìl", _ + "e"> => mkN007 form1; + <_ + "ab", _ + "b"> => mkN001 form1; + <_ + "ab", _ + "a"> => mkN021 form1; + <_ + "àc", _ + "c"> => mkN001 form1; + <_ + "àd", _ + "d"> => mkN001 form1; + <_ + "àd", _ + "a"> => mkN230 form1; + <_ + "ol", _ + "l"> => mkN001 form1; + <_ + "òd", _ + "d"> => mkN001 form1; + <_ + "òd", _ + "e"> => mkN036 form1; + <_ + "òs", _ + "s"> => mkN001 form1; + <_ + "òs", _ + "a"> => mkN059 form1; + <_ + "ns", _ + "s"> => mkN009 form1; + <_ + "eò", _ + "ò"> => mkN009 form1; + <_ + "òc", _ + "c"> => mkN009 form1; + <_ + "òc", _ + "a"> => mkN059 form1; + <_ + "he", _ + "e"> => mkN150 form1; + <_ + "ùl", _ + "l"> => mkN017 form1; + <_ + "as", _ + "s"> => mkN033 form1; + <_ + "as", _ + "e"> => mkN072 form1; + <_ + "sa", _ + "a"> => mkN061 form1; + <_ + "ot", _ + "a"> => mkN059 form1; + <_ + "ot", _ + "t"> => mkN084 form1; + <_ + "ut", _ + "a"> => mkN059 form1; + <_ + "go", _ + "o"> => mkN085 form1; + <_ + "to", _ + "o"> => mkN085 form1; + <_ + "oc", _ + "c"> => mkN089 form1; + <_ + "oc", _ + "e"> => mkN258 form1; + <_ + "n", _ + "inn"> => mkN002 form1; + <_ + "n", _ + "ann"> => mkN009 form1; + <_ + "n", _ + "nne"> => mkN007 form1; + <_ + "n", _ + "hne"> => mkN100 form1; + <_ + "n", _ + "sne"> => mkN100 form1; + <_ + "n", _ + "nna"> => mkN082 form1; + <_ + "d", _ + "gid"> => mkN001 form1; + <_ + "d", _ + "hid"> => mkN001 form1; + <_ + "d", _ + "aid"> => mkN001 form1; + <_ + "ead", _ + "eid"> => mkN011 form1; + <_ + "d", _ + "ead"> => mkN004 form1; + <_ + "h", _ + "ich"> => mkN002 form1; + <_ + "h", _ + "ach"> => mkN009 form1; + <_ + "h", _ + "rch"> => mkN009 form1; + <_ + "h", _ + "che"> => mkN007 form1; + <_ + "h", _ + "cha"> => mkN059 form1; + <_ + "n", _ + "nn"> => mkN002 form1; + <_ + "n", _ + "ne"> => mkN007 form1; + <_ + "n", _ + "na"> => mkN082 form1; + <_ + "d", _ + "id"> => mkN001 form1; + <_ + "d", _ + "ad"> => mkN004 form1; + <_ + "h", _ + "ch"> => mkN002 form1; + <_ + "h", _ + "he"> => mkN007 form1; + <_ + "h", _ + "ha"> => mkN059 form1; + <_ + "n", _ + "n"> => mkN002 form1; + <_ + "n", _ + "e"> => mkN007 form1; + <_ + "n", _ + "a"> => mkN082 form1; + <_ + "d", _ + "d"> => mkN001 form1; + <_ + "d", _ + "e"> => mkN030 form1; + <_ + "d", _ + "a"> => mkN059 form1; + <_ + "h", _ + "h"> => mkN002 form1; + <_ + "h", _ + "e"> => mkN007 form1; + <_ + "h", _ + "a"> => mkN059 form1; + <_ + "è", _ + "è"> => mkN004 form1; + _ => regN form1 + } ; + + regV : Str -> V -- s + = \form1 -> case form1 of { + _ + "iic" => mkV002 form1; + _ + "aic" => mkV002 form1; + _ + "irc" => mkV010 form1; + _ + "aim" => mkV010 form1; + _ + "nis" => mkV020 form1; + _ + "ach" => mkV026 form1; + _ + "och" => mkV026 form1; + _ + "uch" => mkV026 form1; + _ + "ùch" => mkV026 form1; + _ + "obh" => mkV094 form1; + _ + "lbh" => mkV055 form1; + _ + "abh" => mkV018 form1; + _ + "rbh" => mkV026 form1; + _ + "ubh" => mkV026 form1; + _ + "àbh" => mkV026 form1; + _ + "ibh" => mkV034 form1; + _ + "adh" => mkV094 form1; + _ + "idh" => mkV034 form1; + _ + "odh" => mkV026 form1; + _ + "òdh" => mkV094 form1; + _ + "ùdh" => mkV094 form1; + _ + "ith" => mkV008 form1; + _ + "àth" => mkV026 form1; + _ + "ath" => mkV026 form1; + _ + "òth" => mkV026 form1; + _ + "ùth" => mkV026 form1; + _ + "oth" => mkV122 form1; + _ + "àmh" => mkV043 form1; + _ + "amh" => mkV094 form1; + _ + "ùgh" => mkV026 form1; + _ + "agh" => mkV094 form1; + _ + "igh" => mkV119 form1; + _ + "ugh" => mkV094 form1; + _ + "asg" => mkV026 form1; + _ + "osg" => mkV026 form1; + _ + "ùsg" => mkV094 form1; + _ + "hog" => mkV018 form1; + _ + "iog" => mkV026 form1; + _ + "aog" => mkV026 form1; + _ + "nog" => mkV026 form1; + _ + "ìog" => mkV026 form1; + _ + "arg" => mkV026 form1; + _ + "irg" => mkV041 form1; + _ + "org" => mkV122 form1; + _ + "uig" => mkV056 form1; + _ + "aig" => mkV034 form1; + _ + "rig" => mkV034 form1; + _ + "lig" => mkV034 form1; + _ + "hig" => mkV034 form1; + _ + "nig" => mkV042 form1; + _ + "èig" => mkV056 form1; + _ + "éig" => mkV056 form1; + _ + "alg" => mkV043 form1; + _ + "eic" => mkV008 form1; + _ + "lac" => mkV026 form1; + _ + "rac" => mkV003 form1; + _ + "eac" => mkV026 form1; + _ + "arc" => mkV026 form1; + _ + "eoc" => mkV026 form1; + _ + "moc" => mkV094 form1; + _ + "aon" => mkV026 form1; + _ + "ìon" => mkV026 form1; + _ + "inn" => mkV009 form1; + _ + "ann" => mkV026 form1; + _ + "onn" => mkV026 form1; + _ + "ean" => mkV026 form1; + _ + "lan" => mkV026 form1; + _ + "ian" => mkV026 form1; + _ + "èan" => mkV026 form1; + _ + "oin" => mkV034 form1; + _ + "àin" => mkV034 form1; + _ + "ùin" => mkV034 form1; + _ + "uin" => mkV034 form1; + _ + "ain" => mkV041 form1; + _ + "dhn" => mkV034 form1; + _ + "thn" => mkV073 form1; + _ + "eòn" => mkV123 form1; + _ + "ìol" => mkV026 form1; + _ + "hol" => mkV026 form1; + _ + "aol" => mkV055 form1; + _ + "gol" => mkV094 form1; + _ + "eòl" => mkV015 form1; + _ + "eal" => mkV094 form1; + _ + "ual" => mkV054 form1; + _ + "gal" => mkV094 form1; + _ + "all" => mkV047 form1; + _ + "oll" => mkV026 form1; + _ + "ill" => mkV034 form1; + _ + "eil" => mkV034 form1; + _ + "àil" => mkV034 form1; + _ + "oil" => mkV041 form1; + _ + "chd" => mkV026 form1; + _ + "rod" => mkV003 form1; + _ + "aod" => mkV003 form1; + _ + "aid" => mkV041 form1; + _ + "uid" => mkV034 form1; + _ + "èid" => mkV034 form1; + _ + "éid" => mkV034 form1; + _ + "oid" => mkV041 form1; + _ + "eid" => mkV056 form1; + _ + "ùid" => mkV127 form1; + _ + "ead" => mkV043 form1; + _ + "pad" => mkV094 form1; + _ + "had" => mkV149 form1; + _ + "gap" => mkV003 form1; + _ + "eap" => mkV043 form1; + _ + "nap" => mkV123 form1; + _ + "air" => mkV005 form1; + _ + "eir" => mkV034 form1; + _ + "èir" => mkV034 form1; + _ + "ùir" => mkV034 form1; + _ + "àir" => mkV041 form1; + _ + "òir" => mkV127 form1; + _ + "ùrr" => mkV026 form1; + _ + "arr" => mkV055 form1; + _ + "iar" => mkV086 form1; + _ + "gar" => mkV094 form1; + _ + "aor" => mkV026 form1; + _ + "tòr" => mkV094 form1; + _ + "èim" => mkV008 form1; + _ + "eim" => mkV034 form1; + _ + "eum" => mkV021 form1; + _ + "ris" => mkV009 form1; + _ + "uis" => mkV034 form1; + _ + "hòs" => mkV015 form1; + _ + "ras" => mkV026 form1; + _ + "eas" => mkV026 form1; + _ + "las" => mkV055 form1; + _ + "eus" => mkV026 form1; + _ + "rus" => mkV055 form1; + _ + "ìos" => mkV026 form1; + _ + "ios" => mkV122 form1; + _ + "eab" => mkV026 form1; + _ + "uab" => mkV094 form1; + _ + "rùb" => mkV026 form1; + _ + "iob" => mkV026 form1; + _ + "ìob" => mkV094 form1; + _ + "tob" => mkV094 form1; + _ + "art" => mkV060 form1; + _ + "ort" => mkV130 form1; + _ + "urt" => mkV130 form1; + _ + "ost" => mkV060 form1; + _ + "ast" => mkV086 form1; + _ + "ist" => mkV174 form1; + _ + "bh" => mkV026 form1; + _ + "dh" => mkV094 form1; + _ + "th" => mkV026 form1; + _ + "mh" => mkV043 form1; + _ + "gh" => mkV094 form1; + _ + "ng" => mkV008 form1; + _ + "og" => mkV026 form1; + _ + "ug" => mkV021 form1; + _ + "ag" => mkV026 form1; + _ + "òg" => mkV026 form1; + _ + "rg" => mkV026 form1; + _ + "ig" => mkV034 form1; + _ + "lg" => mkV043 form1; + _ + "àg" => mkV088 form1; + _ + "ac" => mkV026 form1; + _ + "rc" => mkV026 form1; + _ + "uc" => mkV026 form1; + _ + "oc" => mkV026 form1; + _ + "òc" => mkV026 form1; + _ + "àc" => mkV094 form1; + _ + "on" => mkV026 form1; + _ + "nn" => mkV026 form1; + _ + "an" => mkV026 form1; + _ + "rn" => mkV026 form1; + _ + "in" => mkV034 form1; + _ + "hn" => mkV034 form1; + _ + "ìn" => mkV034 form1; + _ + "un" => mkV039 form1; + _ + "òn" => mkV086 form1; + _ + "àn" => mkV144 form1; + _ + "ol" => mkV026 form1; + _ + "òl" => mkV026 form1; + _ + "al" => mkV094 form1; + _ + "ll" => mkV034 form1; + _ + "ìl" => mkV034 form1; + _ + "àl" => mkV094 form1; + _ + "hd" => mkV026 form1; + _ + "ùd" => mkV003 form1; + _ + "od" => mkV026 form1; + _ + "nd" => mkV003 form1; + _ + "id" => mkV034 form1; + _ + "rd" => mkV026 form1; + _ + "ad" => mkV149 form1; + _ + "sd" => mkV172 form1; + _ + "ap" => mkV003 form1; + _ + "hp" => mkV034 form1; + _ + "op" => mkV054 form1; + _ + "ir" => mkV034 form1; + _ + "rr" => mkV026 form1; + _ + "ar" => mkV026 form1; + _ + "or" => mkV026 form1; + _ + "òr" => mkV026 form1; + _ + "ìr" => mkV034 form1; + _ + "ur" => mkV086 form1; + _ + "im" => mkV008 form1; + _ + "um" => mkV055 form1; + _ + "om" => mkV026 form1; + _ + "rm" => mkV041 form1; + _ + "is" => mkV034 form1; + _ + "òs" => mkV055 form1; + _ + "ns" => mkV026 form1; + _ + "rs" => mkV026 form1; + _ + "as" => mkV026 form1; + _ + "us" => mkV026 form1; + _ + "os" => mkV026 form1; + _ + "às" => mkV055 form1; + _ + "ab" => mkV094 form1; + _ + "ùb" => mkV094 form1; + _ + "ob" => mkV094 form1; + _ + "òb" => mkV094 form1; + _ + "ib" => mkV127 form1; + _ + "nt" => mkV060 form1; + _ + "lt" => mkV060 form1; + _ + "rt" => mkV130 form1; + _ + "st" => mkV174 form1; + _ + "ut" => mkV060 form1; + _ + "ot" => mkV122 form1; + _ + "g" => mkV026 form1; + _ + "c" => mkV026 form1; + _ + "n" => mkV026 form1; + _ + "l" => mkV034 form1; + _ + "d" => mkV026 form1; + _ + "p" => mkV034 form1; + _ + "r" => mkV034 form1; + _ + "m" => mkV026 form1; + _ + "s" => mkV026 form1; + _ + "b" => mkV094 form1; + _ + "t" => mkV060 form1; + _ + "f" => mkV094 form1; + _ + "ì" => mkV156 form1; + _ + "a" => mkV156 form1; + _ => error "Cannot find an inflection rule" + } ; + + reg2V : Str -> Str -> V -- s noun + = \form1, form2 -> case of { + <_ + "aim", _ + "ram"> => mkV010 form1; + <_ + "aim", _ + "lam"> => mkV087 form1; + <_ + "aim", _ + "am"> => mkV010 form1; + <_ + "aim", _ + "m"> => mkV010 form1; + <_ + "nis", _ + "e"> => mkV020 form1; + <_ + "lac", _ + "adh"> => mkV003 form1; + <_ + "aon", _ + "adh"> => mkV003 form1; + <_ + "ìol", _ + "adh"> => mkV003 form1; + <_ + "ìon", _ + "adh"> => mkV003 form1; + <_ + "chd", _ + "adh"> => mkV026 form1; + <_ + "obh", _ + "adh"> => mkV094 form1; + <_ + "gap", _ + "adh"> => mkV003 form1; + <_ + "adh", _ + "adh"> => mkV003 form1; + <_ + "rod", _ + "adh"> => mkV003 form1; + <_ + "air", _ + "irt"> => mkV005 form1; + <_ + "air", _ + "adh"> => mkV067 form1; + <_ + "idh", _ + "idh"> => mkV008 form1; + <_ + "idh", _ + "adh"> => mkV034 form1; + <_ + "idh", _ + "àdh"> => mkV035 form1; + <_ + "ith", _ + "ith"> => mkV008 form1; + <_ + "ith", _ + "adh"> => mkV034 form1; + <_ + "inn", _ + "inn"> => mkV009 form1; + <_ + "inn", _ + "ann"> => mkV035 form1; + <_ + "inn", _ + "adh"> => mkV049 form1; + <_ + "aid", _ + "aid"> => mkV009 form1; + <_ + "lbh", _ + "adh"> => mkV015 form1; + <_ + "eòl", _ + "adh"> => mkV015 form1; + <_ + "eum", _ + "eum"> => mkV021 form1; + <_ + "ath", _ + "adh"> => mkV026 form1; + <_ + "rbh", _ + "adh"> => mkV026 form1; + <_ + "ubh", _ + "adh"> => mkV026 form1; + <_ + "ann", _ + "adh"> => mkV026 form1; + <_ + "eal", _ + "adh"> => mkV026 form1; + <_ + "all", _ + "adh"> => mkV055 form1; + <_ + "ian", _ + "adh"> => mkV026 form1; + <_ + "onn", _ + "adh"> => mkV026 form1; + <_ + "agh", _ + "adh"> => mkV094 form1; + <_ + "aig", _ + "adh"> => mkV034 form1; + <_ + "rig", _ + "adh"> => mkV034 form1; + <_ + "àin", _ + "adh"> => mkV034 form1; + <_ + "lig", _ + "adh"> => mkV034 form1; + <_ + "ill", _ + "adh"> => mkV034 form1; + <_ + "ùir", _ + "adh"> => mkV034 form1; + <_ + "hig", _ + "adh"> => mkV034 form1; + <_ + "igh", _ + "adh"> => mkV034 form1; + <_ + "igh", _ + "ghe"> => mkV119 form1; + <_ + "àil", _ + "adh"> => mkV034 form1; + <_ + "èid", _ + "adh"> => mkV034 form1; + <_ + "oil", _ + "adh"> => mkV073 form1; + <_ + "eap", _ + "eap"> => mkV043 form1; + <_ + "ìob", _ + "adh"> => mkV054 form1; + <_ + "ugh", _ + "adh"> => mkV055 form1; + <_ + "lac", _ + "dh"> => mkV003 form1; + <_ + "aon", _ + "dh"> => mkV003 form1; + <_ + "ìol", _ + "dh"> => mkV003 form1; + <_ + "ìon", _ + "dh"> => mkV003 form1; + <_ + "chd", _ + "dh"> => mkV026 form1; + <_ + "obh", _ + "dh"> => mkV094 form1; + <_ + "gap", _ + "dh"> => mkV003 form1; + <_ + "adh", _ + "dh"> => mkV003 form1; + <_ + "rod", _ + "dh"> => mkV003 form1; + <_ + "air", _ + "rt"> => mkV005 form1; + <_ + "air", _ + "dh"> => mkV067 form1; + <_ + "idh", _ + "dh"> => mkV034 form1; + <_ + "ith", _ + "th"> => mkV008 form1; + <_ + "ith", _ + "dh"> => mkV034 form1; + <_ + "ith", _ + "mh"> => mkV046 form1; + <_ + "inn", _ + "nn"> => mkV009 form1; + <_ + "inn", _ + "dh"> => mkV049 form1; + <_ + "inn", _ + "mh"> => mkV046 form1; + <_ + "aid", _ + "id"> => mkV009 form1; + <_ + "lbh", _ + "dh"> => mkV015 form1; + <_ + "lbh", _ + "bh"> => mkV043 form1; + <_ + "eòl", _ + "dh"> => mkV015 form1; + <_ + "eum", _ + "um"> => mkV021 form1; + <_ + "ath", _ + "dh"> => mkV026 form1; + <_ + "rbh", _ + "dh"> => mkV026 form1; + <_ + "ubh", _ + "dh"> => mkV026 form1; + <_ + "ann", _ + "dh"> => mkV026 form1; + <_ + "eal", _ + "dh"> => mkV026 form1; + <_ + "all", _ + "dh"> => mkV055 form1; + <_ + "ian", _ + "dh"> => mkV026 form1; + <_ + "onn", _ + "dh"> => mkV026 form1; + <_ + "agh", _ + "dh"> => mkV094 form1; + <_ + "aig", _ + "dh"> => mkV034 form1; + <_ + "rig", _ + "dh"> => mkV034 form1; + <_ + "àin", _ + "dh"> => mkV034 form1; + <_ + "ibh", _ + "dh"> => mkV034 form1; + <_ + "ibh", _ + "bh"> => mkV037 form1; + <_ + "lig", _ + "dh"> => mkV034 form1; + <_ + "ill", _ + "dh"> => mkV034 form1; + <_ + "ùir", _ + "dh"> => mkV034 form1; + <_ + "hig", _ + "dh"> => mkV034 form1; + <_ + "igh", _ + "dh"> => mkV034 form1; + <_ + "igh", _ + "he"> => mkV119 form1; + <_ + "àil", _ + "dh"> => mkV034 form1; + <_ + "èid", _ + "dh"> => mkV034 form1; + <_ + "oil", _ + "dh"> => mkV073 form1; + <_ + "eap", _ + "ap"> => mkV043 form1; + <_ + "ìob", _ + "dh"> => mkV054 form1; + <_ + "ugh", _ + "dh"> => mkV055 form1; + <_ + "lac", _ + "h"> => mkV003 form1; + <_ + "aon", _ + "h"> => mkV003 form1; + <_ + "aon", _ + "n"> => mkV037 form1; + <_ + "ìol", _ + "h"> => mkV003 form1; + <_ + "ìon", _ + "h"> => mkV003 form1; + <_ + "ìon", _ + "n"> => mkV041 form1; + <_ + "chd", _ + "h"> => mkV026 form1; + <_ + "obh", _ + "h"> => mkV094 form1; + <_ + "gap", _ + "h"> => mkV003 form1; + <_ + "adh", _ + "h"> => mkV003 form1; + <_ + "rod", _ + "h"> => mkV003 form1; + <_ + "aod", _ + "h"> => mkV026 form1; + <_ + "air", _ + "t"> => mkV005 form1; + <_ + "air", _ + "h"> => mkV067 form1; + <_ + "air", _ + "r"> => mkV035 form1; + <_ + "air", _ + "n"> => mkV056 form1; + <_ + "idh", _ + "h"> => mkV034 form1; + <_ + "idh", _ + "e"> => mkV111 form1; + <_ + "ith", _ + "h"> => mkV008 form1; + <_ + "ris", _ + "s"> => mkV009 form1; + <_ + "ris", _ + "h"> => mkV034 form1; + <_ + "inn", _ + "n"> => mkV009 form1; + <_ + "inn", _ + "h"> => mkV049 form1; + <_ + "aid", _ + "d"> => mkV009 form1; + <_ + "lbh", _ + "h"> => mkV015 form1; + <_ + "eòl", _ + "h"> => mkV015 form1; + <_ + "eum", _ + "m"> => mkV021 form1; + <_ + "iog", _ + "h"> => mkV026 form1; + <_ + "ach", _ + "h"> => mkV026 form1; + <_ + "ath", _ + "h"> => mkV026 form1; + <_ + "rbh", _ + "h"> => mkV026 form1; + <_ + "ubh", _ + "h"> => mkV026 form1; + <_ + "ann", _ + "h"> => mkV026 form1; + <_ + "ann", _ + "l"> => mkV144 form1; + <_ + "uch", _ + "h"> => mkV026 form1; + <_ + "uch", _ + "l"> => mkV144 form1; + <_ + "odh", _ + "h"> => mkV026 form1; + <_ + "eas", _ + "h"> => mkV026 form1; + <_ + "eas", _ + "s"> => mkV043 form1; + <_ + "eal", _ + "h"> => mkV026 form1; + <_ + "all", _ + "h"> => mkV055 form1; + <_ + "all", _ + "n"> => mkV047 form1; + <_ + "ian", _ + "h"> => mkV026 form1; + <_ + "osg", _ + "h"> => mkV026 form1; + <_ + "osg", _ + "g"> => mkV043 form1; + <_ + "onn", _ + "h"> => mkV026 form1; + <_ + "aor", _ + "h"> => mkV026 form1; + <_ + "aor", _ + "r"> => mkV037 form1; + <_ + "agh", _ + "h"> => mkV094 form1; + <_ + "uig", _ + "h"> => mkV032 form1; + <_ + "uig", _ + "n"> => mkV056 form1; + <_ + "aig", _ + "h"> => mkV034 form1; + <_ + "uis", _ + "h"> => mkV034 form1; + <_ + "rig", _ + "h"> => mkV034 form1; + <_ + "àin", _ + "h"> => mkV034 form1; + <_ + "ibh", _ + "h"> => mkV034 form1; + <_ + "ùin", _ + "h"> => mkV034 form1; + <_ + "ùin", _ + "n"> => mkV041 form1; + <_ + "lig", _ + "h"> => mkV034 form1; + <_ + "ill", _ + "h"> => mkV034 form1; + <_ + "ill", _ + "l"> => mkV035 form1; + <_ + "uin", _ + "h"> => mkV034 form1; + <_ + "uin", _ + "e"> => mkV092 form1; + <_ + "ùir", _ + "h"> => mkV034 form1; + <_ + "hig", _ + "h"> => mkV034 form1; + <_ + "igh", _ + "h"> => mkV034 form1; + <_ + "igh", _ + "e"> => mkV119 form1; + <_ + "igh", _ + "d"> => mkV172 form1; + <_ + "àil", _ + "h"> => mkV034 form1; + <_ + "èid", _ + "h"> => mkV034 form1; + <_ + "oil", _ + "l"> => mkV041 form1; + <_ + "oil", _ + "n"> => mkV056 form1; + <_ + "oil", _ + "h"> => mkV073 form1; + <_ + "àmh", _ + "h"> => mkV043 form1; + <_ + "ead", _ + "d"> => mkV043 form1; + <_ + "ead", _ + "l"> => mkV088 form1; + <_ + "alg", _ + "g"> => mkV043 form1; + <_ + "alg", _ + "h"> => mkV094 form1; + <_ + "eap", _ + "p"> => mkV043 form1; + <_ + "ìob", _ + "h"> => mkV054 form1; + <_ + "ugh", _ + "h"> => mkV055 form1; + <_ + "las", _ + "h"> => mkV055 form1; + <_ + "eid", _ + "n"> => mkV056 form1; + <_ + "ist", _ + "d"> => mkV174 form1; + <_ + "ir", _ + "adh"> => mkV128 form1; + <_ + "ir", _ + "gur"> => mkV126 form1; + <_ + "ir", _ + "dh"> => mkV128 form1; + <_ + "ir", _ + "ur"> => mkV035 form1; + <_ + "ac", _ + "h"> => mkV026 form1; + <_ + "ac", _ + "c"> => mkV043 form1; + <_ + "rd", _ + "h"> => mkV026 form1; + <_ + "ag", _ + "h"> => mkV026 form1; + <_ + "og", _ + "h"> => mkV026 form1; + <_ + "og", _ + "l"> => mkV059 form1; + <_ + "om", _ + "h"> => mkV026 form1; + <_ + "rs", _ + "h"> => mkV026 form1; + <_ + "ìl", _ + "h"> => mkV034 form1; + <_ + "ir", _ + "h"> => mkV128 form1; + <_ + "ir", _ + "r"> => mkV035 form1; + <_ + "un", _ + "d"> => mkV039 form1; + <_ + "rm", _ + "m"> => mkV041 form1; + <_ + "um", _ + "h"> => mkV055 form1; + <_ + "um", _ + "l"> => mkV059 form1; + <_ + "nt", _ + "h"> => mkV060 form1; + <_ + "àc", _ + "h"> => mkV094 form1; + <_ + "sd", _ + "d"> => mkV172 form1; + <_ + "g", _ + "adh"> => mkV032 form1; + <_ + "l", _ + "adh"> => mkV032 form1; + <_ + "l", _ + "ail"> => mkV041 form1; + <_ + "g", _ + "dh"> => mkV032 form1; + <_ + "l", _ + "dh"> => mkV032 form1; + <_ + "l", _ + "al"> => mkV035 form1; + <_ + "l", _ + "il"> => mkV041 form1; + <_ + "g", _ + "h"> => mkV032 form1; + <_ + "g", _ + "g"> => mkV035 form1; + <_ + "l", _ + "h"> => mkV032 form1; + <_ + "l", _ + "l"> => mkV041 form1; + <_, _ + "adh"> => mkV032 form1; + <_, _ + "ich"> => mkV041 form1; + <_, _ + "ach"> => mkV035 form1; + <_, _ + "chd"> => mkV029 form1; + <_, _ + "dh"> => mkV032 form1; + <_, _ + "ch"> => mkV041 form1; + <_, _ + "hd"> => mkV029 form1; + <_, _ + "h"> => mkV032 form1; + <_, _ + "d"> => mkV029 form1; + _ => regV form1 + } ; + +mkA = overload { + mkA : Str -> Str -> A = reg2A; -- ('asg', nom, masc) ('asg', nom, fem) + mkA : Str -> A = regA -- ('asg', nom, masc) +} ; + +mkA2 : A -> A2 = \n -> lin A2 n ** {c2=noPrep} ; + +mkN = overload { + mkN : Str -> N = \s -> lin N (regN s) ; -- nom;indef;sg + mkN : (nom,gen : Str) -> N = reg2N; -- nom;indef;sg gen;indef;sg + + mkN : (nom,gen,pl : Str) -> Gender -> N = \loch,locha,lochan,g -> + mk5N loch loch locha lochan (palatalise loch) g ; + mkN : (base : Str) -> Gender -> N = \tunnag,g -> + let fm : Str -> Str -> Str = \fem,masc -> case g of { + Fem => fem ; Masc => masc } ; + tunnaig : Str = palatalise tunnag ; + tunnaige : Str = fm (tunnaig + "e") tunnaig ; + tunnagan : Str = fm (tunnag + "an") tunnaig ; + in mk5N tunnag tunnag tunnaige tunnagan tunnaig g +} ; + +mkN2 : LinN -> N2 = \n -> lin N2 n ** {c2=noPrep} ; + +mkV = overload { + mkV : Str -> Str -> V = reg2V; -- s noun + mkV : Str -> V = regV -- s +} ; + +mkV2 = overload { + mkV2 : V -> V2 = \v -> lin V2 v ** {c2=noPrep} ; + mkV2 : V -> Prep -> V2 = \v,p -> lin V2 v ** {c2=p} ; +} ; + +mkVV : V -> VV = \v -> lin VV v ; +mkVS : V -> VS = \v -> lin VS v ; +mkVQ : V -> VQ = \v -> lin VQ v ; +mkVA : V -> VA = \v -> lin VA v ; + +mkV2V = overload { + mkV2V : V -> V2V = \v -> lin V2V v ** {c2=noPrep} ; + mkV2V : V -> Prep -> V2V = \v,p2 -> lin V2V v ** {c2=p2} ; +} ; + +mkV2S = overload { + mkV2S : V -> V2S = \v -> lin V2S v ** {c2=noPrep} ; + mkV2S : V -> Prep -> V2S = \v,p2 -> lin V2S v ** {c2=p2} ; +} ; + +mkV2Q = overload { + mkV2Q : V -> V2Q = \v -> lin V2Q v ** {c2=noPrep} ; + mkV2Q : V -> Prep -> V2Q = \v,p2 -> lin V2Q v ** {c2=p2} ; +} ; + +mkV2A = overload { + mkV2A : V -> V2A = \v -> lin V2A v ** {c2=noPrep} ; + mkV2A : V -> Prep -> V2A = \v,p2 -> lin V2A v ** {c2=p2} ; +} ; + +mkV3 = overload { + mkV3 : V -> V3 = \v -> lin V3 v ** {c2,c3=noPrep} ; + mkV3 : V -> Prep -> Prep -> V3 = \v,p2,p3 -> lin V3 v ** {c2=p2; c3=p3} ; +} ; + +oper mkLN = \s -> lin LN {s=s} ; +oper mkGN = \s -> lin GN {s=s} ; +oper mkSN = \s -> lin SN {s=s} ; +oper mkPN = \s -> lin PN {s=s} ; + +mkAdv : Str -> Adv = \s -> lin Adv {s=s} ; +mkAdV : Str -> AdV = \s -> lin AdV {s=s} ; +mkAdA : Str -> AdA = \s -> lin AdA {s=s} ; +mkAdN : Str -> AdN = \s -> lin AdN {s=s} ; +mkCAdv : Str -> CAdv = \s -> lin CAdv {s=s;p=[]} ; oper - ---2 Parameters --- --- To abstract over number, valency and (some) case names, --- we define the following identifiers. The application programmer --- should always use these constants instead of the constructors --- defined in $ResSom$. - - Prep : Type ; - noPrep : Prep ; - - -- Add more overload instances if needed for all categories! - ---2 Nouns - - mkN : overload { - mkN : Str -> N ; -- Predictable nouns - } ; - - mkPN : overload { - mkPN : Str -> PN ; -- Proper nouns - } ; - ---2 Adjectives - - mkA : overload { - mkA : Str -> A ; -- Predictable adjective - } ; - - mkA2 : overload { - mkA2 : Str -> A2 ; -- Predictable A2, no preposition - mkA2 : A -> Prep -> A2 ; -- A2 made from A and Prep - } ; - ---2 Verbs - - -- Verbs - mkV : overload { - mkV : Str -> V ; -- Predictable verb - } ; - - - mkV2 : overload { - mkV2 : Str -> V2 ; -- Predictable transitive verb - mkV2 : V -> Prep -> V2 ; -- V2 made from V and Prep + mkPron : (subj,poss : Str) -> PronAgr -> LinPron = \subj,poss,agr -> { + s = table { + Nom _ => subj ; + _ => "gam" -- TODO fix this + } ; + poss = poss ; + a = agr ; + empty = [] } ; - mkV3 : overload { - mkV3 : V -> V3 ; -- No prepositions - mkV3 : V -> Prep -> Prep -> V3 ; -- Prepositions for direct and indirect objects given +mkInterj : Str -> Interj = \s -> lin Interj {s=s} ; +mkVoc : Str -> Voc = \s -> lin Voc {s=s} ; +mkSubj : Str -> Subj = \s -> lin Subj {s=s} ; +mkIP : Str -> IP = \s -> lin IP {s=s} ; +mkIQuant : Str -> IQuant = \s -> lin IQuant {s=s} ; +mkIDet : Str -> IDet = \s -> lin IDet {s=s} ; + +oper + -- Can you reuse your mkNoun? Do nouns and quantifiers inflect the same way? + mkQuant : Str -> Species -> LinQuant = \this,sp -> { + s = \\_ => this ; + sp = this ; + qt = QDef sp ; } ; - mkVV : overload { - mkVV : V -> VV ; - } ; +mkConj : Str -> Number -> Conj = \s,n -> lin Conj {s1=[]; s2=s; n=n} ; +mkPConj : Str -> PConj = \s -> lin PConj {s=s} ; +mkCard : Str -> Number -> Card = \s,n -> lin Card {s=s; n=n} ; +mkACard : Str -> ACard = \s -> lin ACard {s=s} ; +mkDet : Str -> Number -> Species -> Det = \s,n,defn -> lin Det {s=\\_,_=>s; s2=\\_,_=>[]; sp=[]; dt=DDef n defn} ; +mkPredet : Str -> Predet = \s -> lin Predet {s=s} ; - mkVA : overload { - mkVA : V -> VA ; - } ; +noPrep : Prep = lin Prep {s=\\_=>""; c2=\\_=>Dat NoMutation; replacesObjPron=False} ; - mkVQ : overload { - mkVQ : V -> VQ ; - } ; +mkMU : Str -> MU = \s -> lin MU {s=s; isPre=False} ; +mkIAdv : Str -> IAdv = \s -> lin IAdv {s=s} ; - mkVS : overload { - mkV : V -> VS ; - } ; +oper + singular : Number = Sg ; + plural : Number = Pl ; - -- Etc. do the same for other V subcats (V2A, V2V, V2S, …) - - - ----- - ---2 Structural categories - - -- If prepositions take case, add that as argument to mkPrep - -- mkPrep : overload { - -- mkPrep : Str -> Prep ; - -- } ; - -- TODO: should export the whole set of morphologically complex prepositions here and not let users construct them alone - -- but should include funs like "override complement case for existing preps" - - mkConj : overload { - mkConj : (and : Str) -> Conj ; -- (coffee) and (tea) - mkConj : (either : Str) -> (or : Str) -> Conj ; -- either (coffee) or (tea) - } ; - - mkSubj : overload { - mkSubj : Str -> Subj ; - } ; - - mkAdv : overload { - mkAdv : Str -> Adv ; - } ; - - mkAdV : overload { - mkAdV : Str -> AdV ; - } ; - - mkAdA : overload { - mkAdA : Str -> AdA ; - } ; - - ---. -------------------------------------------------------------------------------- --- The definitions should not bother the user of the API. So they are --- hidden from the document. - - Prep = CatGla.Prep ; - noPrep = lin Prep ResGla.emptyPrep ; - - -- Add more overload instances if needed for all categories! - - -- For explanation of `lin N`, see - -- https://inariksit.github.io/gf/2018/05/25/subtyping-gf.html#lock-fields - - mkN = overload { - mkN : Str -> N = \s -> lin N (ResGla.smartN s (s+"a") (s+"an") Masc) ; - -- TODO: more overload instances - } ; - -{- - mkPN = overload { - mkPN : Str -> PN = … - } ; - ---2 Adjectives - - mkA = overload { - mkA : Str -> A = \s -> … - } ; - - mkA2 = overload { - mkA2 : Str -> A2 = \s -> … - mkA2 : A -> Prep -> A2 = \s -> … - } ; - ---2 Verbs --} - -- Verbs - mkV = overload { - mkV : Str -> V = \s -> lin V (mkVerb s) ; - } ; - -{- - - mkV2 = overload { - mkV2 : Str -> V2 = \s -> … - mkV2 : V -> Prep -> V2 = \s -> … - } ; - - mkV3 = overload { - mkV3 : V -> V3 = \s -> … - mkV3 : V -> Prep -> Prep -> V3 = \s -> … - } ; - - mkVV = overload { - mkVV : V -> VV = \s -> … - } ; - - mkVA = overload { - mkVA : V -> VA = \s -> … - } ; - - mkVQ = overload { - mkVQ : V -> VQ = \s -> … - } ; - - - mkVS = overload { - mkV : V -> VS = \s -> … - } ; - - -- Etc. do the same for other V subcats (V2A, V2V, V2S, …) - - - ----- --} -{- - -- If prepositions take case, add that as argument to mkPrep - mkPrep = overload { - mkPrep : Str -> Prep = \s -> lin Prep {s = s} ; - } ; - - mkConj = overload { - mkConj : (and : Str) -> Conj = \s -> … - mkConj : (either : Str) -> (or : Str) -> Conj = \s -> … - } ; - - mkSubj = overload { - mkSubj : Str -> Subj = \s -> … - } ; - - mkAdv = overload { - mkAdv : Str -> Adv = \s -> … - } ; - - mkAdV = overload { - mkAdV : Str -> AdV = \s -> … - } ; - - mkAdA = overload { - mkAdA : Str -> AdA = \s -> … - } ; - --} --------------------------------------------------------------------------------- + indefinite : Species = Indef ; + definite : Species = Def ; } diff --git a/src/gaelic/PhraseGla.gf b/src/gaelic/PhraseGla.gf index a8a5ad3b9..a89ad2982 100644 --- a/src/gaelic/PhraseGla.gf +++ b/src/gaelic/PhraseGla.gf @@ -4,6 +4,7 @@ concrete PhraseGla of Phrase = CatGla ** open Prelude, ResGla in { PhrUtt pconj utt voc = {s = pconj.s ++ utt.s ++ voc.s} ; UttS s = s ; + {- UttQS qs = qs ; UttIAdv iadv = iadv ; @@ -16,8 +17,8 @@ concrete PhraseGla of Phrase = CatGla ** open Prelude, ResGla in { UttAP ap = { s = ap.s } ; UttAdv adv = {s = } ; UttCN n = {s = } ; - UttCard n = {s = } ; - UttInterj i = i ; -} + UttCard n = {s = } ; -} + UttInterj i = i ; NoPConj = {s = []} ; -- PConjConj conj = {s = conj.s1 ++ conj.s2 ! …} ; diff --git a/src/gaelic/ResGla.gf b/src/gaelic/ResGla.gf index 5fe973ef9..691dfae44 100644 --- a/src/gaelic/ResGla.gf +++ b/src/gaelic/ResGla.gf @@ -1,5 +1,6 @@ resource ResGla = open Prelude, Predef in { + -------------------------------------------------------------------------------- -- General notes @@ -29,82 +30,65 @@ https://inariksit.github.io/gf/2018/08/28/gf-gotchas.html#my-naming-scheme-for-l param Gender = Masc | Fem ; - CoreCase = Nom Mutation | Gen | Dat Mutation ; - Case = CC CoreCase | Voc ; --- NPCase = NPC CoreCase | NPVoc ; + Case = Nom Mutation | Dat Mutation | Gen ; Mutation = Lenited | NoMutation ; Number = Sg | Pl ; Person = P1 | P2 | P3 ; - Definiteness = Definite | Indefinite ; -- Some prepositions govern different case when definite vs. indefinite + Species = Indef | Def ; -- Some prepositions govern different case when definite vs. indefinite oper - NOM : CoreCase = Nom NoMutation ; -- shorthand - - npc2cc : Case -> CoreCase = \npc -> case npc of { - CC c => c ; - _ => NOM - } ; - -param - NForm = - Indef Number CoreCase - | Def Number Case - | Dual -- only after number 2, only for a handful of nouns. TODO: does it have different cases? - ; + NOM : Case = Nom NoMutation ; -- shorthand oper - getNForm : DType -> Case -> NForm = \d,c -> - case of { - => Def n Voc ; - => Indef n c ; - => Def n c ; - => Indef n NOM ; -- as per Michal on Discord https://discord.com/channels/865093807343140874/865094084683366400/1409838154550087711 . TODO: Def or Indef nom ???? - => Def n c -- ???????????????? - } ; + LinN : Type = {s: Case => Species => Number => Str; voc: Number => Str; g: Gender} ; - LinN : Type = { - base, -- tunnag fuil loch fear litir bròg - dat, -- -"- bròig (1B) - gen, -- tunnaige fala locha fir litreach ("de-palatalised") bròige - pl, -- tunnagan lochan fir litrichean brògan --- pldat, -- Krasimir's and Katya's automatic extraction suggests there's a difference, but I don't see it - -- add this form if we turn out to need it - -- TODO: for nouns that only use suffixes, should these just show theoretical forms? - lenited, -- thunnag fhuil loch fhear - palatalised, -- tunnaig fuil loch fir - lenited_palatalised, -- thunnaig fhuil loch fhir - lenited_plural - : Str ; - g : Gender - } ; - - mk5N : (nom,gen,dat,pl : Str) -> Gender -> LinN = \brog,broige,broig,brogan,g -> { - base = brog ; - gen = broige ; - dat = broig ; - pl = brogan ; - lenited_plural = lenite brogan ; - lenited = bhrog ; - palatalised = broig ; - lenited_palatalised = bhroig ; - g = g - } where { - bhrog : Str = lenite brog ; - bhroig : Str = lenite broig } ; - - smartN = overload { - smartN : (nom,gen,pl : Str) -> Gender -> LinN = \loch,locha,lochan,g -> - mk5N loch locha loch lochan g ; - smartN : (base : Str) -> Gender -> LinN = \tunnag,g -> - let fm : Str -> Str -> Str = \fem,masc -> case g of { - Fem => fem ; Masc => masc } ; - tunnaig : Str = palatalise tunnag ; - tunnaige : Str = fm (tunnaig + "e") tunnaig ; - tunnagan : Str = fm (tunnag + "an") tunnaig ; - in mk5N tunnag tunnaige tunnag tunnagan g - } ; + mk5N nom dat gen pl pal g = + { s = table { + Nom _ => table { + Indef => table { + Sg => nom ; + Pl => pl + } ; + Def => table { + Sg => nom ; + Pl => fm pl pal + } + } ; + Dat _ => table { + Indef => table { + Sg => dat ; + Pl => pl + } ; + Def => table { + Sg => fm pal (lenite nom) ; + Pl => pl + } + } ; + Gen => table { + Indef => table { + Sg => gen ; + Pl => lenite nom + } ; + Def => table { + Sg => fm pal (lenite pal) ; + Pl => nom + } + } + } ; + voc = table { + Sg => fm (lenite nom) (lenite pal) ; + Pl => lenite nom+"a" + } ; + g = g + } + where { + fm : Str -> Str -> Str = \fem,masc -> case g of { + Fem => fem ; + Masc => masc + } + }; vowel : pattern Str = #("a"|"à"|"e"|"i"|"ì"|"o"|"u") ; -- more accents? diphthong : pattern Str = #("ea"|"oi") ; @@ -112,12 +96,8 @@ oper labial : pattern Str = #("b"|"f"|"m"|"p") ; palatalise : Str -> Str = \lamh -> case lamh of { - f@? + "ea" + r => f + "i" + r ; -- TODO is this irregular? - boireann@(_ + (#vowel|#diphthong) + ? + _ + (#vowel|#diphthong) + ? + _) - + a@#vowel + ch => boireann + a + "i" + ch ; - tunn@(_ + (#vowel|#diphthong) + ? + _) - + a@#vowel + g => tunn + a + "i" + g ; - l + a@#vowel + mh => l + a + "i" + mh ; + gr+"ea"+nn@("c"|"d"|"l"|"n"|"p"|"r"|"s"|"m"|"ch"|"dh"|"ll"|"mh"|"nn"|"sg") => gr+"i"+nn ; + boireann + a@#vowel + ch@("b"|"c"|"d"|"g"|"l"|"p"|"r"|"s"|"t"|"m"|"n"|"bh"|"ch"|"cs"|"dh"|"gh"|"ll"|"lm"|"lt"|"mh"|"nc"|"ng"|"nn"|"nt"|"nnd"|"rc"|"rd"|"rm"|"rn"|"rs"|"rt"|"sg"|"th"|"ths"|"rbh") => boireann + a + "i" + ch ; _ => lamh } ; lenite : Str -> Str = \tunnag -> case tunnag of { @@ -127,88 +107,6 @@ oper _ => tunnag } ; - -- For inflection paradigms, see http://www.grammaticalframework.org/doc/tutorial/gf-tutorial.html#toc56 - mkNoun : (b,g,d,pl,l,p,lp,lpl : Str) -> Gender -> LinN = \b,gen,dat,pl,l,p,lp,lpl,g -> { - base = b ; -- tunnag fuil loch fear litir - gen = gen ; -- tunnaige fala locha fir litreach - dat = dat ; -- tunnaige fala locha fir litreach - pl = pl ; -- tunnagan lochan fir litrichean - lenited = l ; -- thunnag fhuil loch fhear litir ? - palatalised = p ; -- tunnaig fuil loch fir litir ? - lenited_palatalised = lp ; -- thunnaig fhuil loch fhir litir ? - lenited_plural = lpl ; -- thunnagan lochan fhir litrichean ? - g = g ; - } ; - - -- TODO: no idea if this is even remotely correct - -- can always replace morphology with Katya's automated tool - useN : LinN -> LinCN = \n -> n ** { - s = table { - Indef Sg (Nom NoMutation) => n.base ; - Indef Sg (Nom Lenited) => n.lenited ; - Indef Sg Gen => n.gen ; - Indef Sg (Dat NoMutation) => n.dat ; - Indef Sg (Dat Lenited) => fm n.lenited_palatalised n.lenited ; ------- FIXME later - Def Sg (CC (Nom NoMutation)) => n.base ; - Def Sg (CC (Nom Lenited)) => n.lenited ; - Def Sg (CC Gen) => fm n.gen n.lenited_palatalised ; - Def Sg (CC (Dat NoMutation)) => fm n.palatalised n.lenited ; - Def Sg (CC (Dat Lenited)) => fm n.lenited_palatalised n.lenited ; - Def Sg Voc => fm n.lenited n.lenited_palatalised ; - Indef Pl (Nom NoMutation) => fm n.pl n.palatalised ; - Indef Pl (Nom Lenited) => fm n.lenited_plural n.lenited_palatalised ; - Indef Pl Gen => n.lenited ; - Indef Pl (Dat NoMutation) => fm n.pl n.palatalised ; -- TODO: is this overfitting based on the 5 nouns i know? probably! - Indef Pl (Dat Lenited) => fm n.lenited_plural n.lenited_palatalised ; -- TODO: see above - Def Pl (CC (Nom NoMutation)) => n.pl ; - Def Pl (CC (Nom Lenited)) => n.lenited_plural ; - Def Pl (CC Gen) => n.base ; - Def Pl (CC (Dat NoMutation)) => n.pl ; - Def Pl (CC (Dat Lenited)) => n.lenited_plural ; - Def Pl Voc => glue n.lenited "a" ; - Dual => fm n.palatalised n.base -- TODO: is this correct? only for 1-syllable feminine nouns? - } - } where { - fm : Str -> Str -> Str = \fem,masc -> case n.g of { - Fem => fem ; - Masc => masc - } - }; - - LinCN : Type = { - s : NForm => - Str ; - g : Gender ; - -- ** postmod/premod/… : Str -- if needed? determiners can put stuff after head but it only comes at NP - } ; - - linCN : LinCN -> Str = \cn -> cn.s ! Indef Sg NOM - -- ++ cn.postmod -- If there is another field, use here - ; - - --- some test nouns — TODO: do smart paradigms -tunnag_N : LinN = { - base,dat = "tunnag" ; - gen = "tunnaige" ; - pl = "tunnagan" ; - lenited_plural = "thunnagan" ; - lenited = "thunnag" ; - palatalised = "tunnaig" ; - lenited_palatalised = "thunnaig" ; - g = Fem ; - } ; - -boireannach_N : LinN = { - base,dat = "boireannach" ; - pl,gen = "boireannaich" ; - lenited = "bhoireannach" ; - palatalised = "boireannaich" ; - lenited_palatalised, - lenited_plural = "bhoireannaich" ; - g = Masc ; - } ; - --------------------------------------------- -- Proper noun @@ -243,24 +141,12 @@ oper oper LinPron : Type = { - s : CoreCase => Str ; + s : Case => Str ; a : PronAgr ; poss : Str ; -- if a case is needed, it comes from the Prep! TODO verify this (do we ever need a dative for poss pron without a prep present? some preps merge, others not, but the pronoun is present in all the preps. why this way—I counted on there being fewer pronouns than prepositions.) empty : Str ; -- to prevent metavariables } ; - -- TODO: nicer API where you can give Person, Number, Gender etc. - -- not this weird unintuitive Agr param - mkPron : (subj,poss : Str) -> PronAgr -> LinPron = \subj,poss,agr -> { - s = table { - Nom _ => subj ; - _ => "gam" -- TODO fix this - } ; - poss = poss ; - a = agr ; - empty = [] - } ; - --------------------------------------------- -- NP @@ -286,11 +172,11 @@ oper a : Agr ; -- includes whether it's pron and whether it's definite. TODO: probably can make even leaner (wasn't a prio so far). } ; - linNP : LinNP -> Str = \np -> np.art ! CC NOM ++ np.s ! CC NOM ; + linNP : LinNP -> Str = \np -> np.art ! NOM ++ np.s ! NOM ; emptyNP : LinNP = { s,art = \\_ => [] ; - a = NotPron (DDef Sg Indefinite) ; -- we assume pronouns are definite by default. also it just matters for PrepNP. + a = NotPron (DDef Sg Indef) ; -- we assume pronouns are definite by default. also it just matters for PrepNP. empty = [] ; } ; @@ -298,9 +184,9 @@ oper -- Det, Quant, Card, Ord param - QuantForm = QSg Gender CoreCase | QPl CoreCase ; - QType = QDef Definiteness | QPoss PronAgr ; - DType = DDef Number Definiteness | DPoss Number PronAgr ; + QuantForm = QSg Gender Case | QPl Case ; + QType = QDef Species | QPoss PronAgr ; + DType = DDef Number Species | DPoss Number PronAgr ; -- The minimum forms that preposition merges with PrepAgr = PrepBase | PrepDefiniteArticle Number | PrepObjectPron PronAgr | PrepPossPron PronAgr ; @@ -314,16 +200,12 @@ oper } ; getQuantForm : Number -> Gender -> Case -> QuantForm = \n,g,c -> case of { - => QSg g c ; - => QSg g NOM ; --- ?????? - => QPl c ; - => QPl NOM --- ?????? + => QSg g c ; + => QPl c } ; - getArt : LinQuant -> Number -> Gender -> Case -> Str = \quant,n,g,c -> case c of { - Voc => "" ; -- TODO: add empty field to article to not get metavariables - _ => quant.s ! getQuantForm n g c - } ; + getArt : LinQuant -> Number -> Gender -> Case -> Str = \quant,n,g,c -> + quant.s ! getQuantForm n g c ; LinQuant : Type = { s -- quantifier in a context, e.g. 'this (cat) (is nice)' @@ -343,14 +225,7 @@ oper n : Number ; } ; - -- Can you reuse your mkNoun? Do nouns and quantifiers inflect the same way? - mkQuant : Str -> QType -> LinQuant = \this,qt -> { - s = \\_ => this ; - sp = this ; - qt = qt ; - } ; - - mkDet : (seven, teen : Str) -> Definiteness -> Number -> LinDet = \aon, deug, defi, num -> { + mkDet : (seven, teen : Str) -> Species -> Number -> LinDet = \aon, deug, defi, num -> { s = \\_,_ => aon ; s2 = \\_,_ => deug ; sp = aon ; @@ -390,7 +265,7 @@ oper QPl _ => NA } ; sp = "an" ; --- meaningless for DefArt - qt = QDef Definite ; + qt = QDef Def ; } ; -------------------------------------------------------------------------------- -- Adpositions @@ -416,14 +291,14 @@ param Agr = NotPron DType | IsPron PronAgr ; oper - getDefi : Agr -> Definiteness = \a -> case a of { + getDefi : Agr -> Species = \a -> case a of { NotPron (DDef n d) => d ; - _ => Definite + _ => Def } ; LinPrep : Type = { s : PrepAgr => Str ; -- bare: aig 'on', inflected: agam 'on me', agad 'on you', … - c2 : Definiteness => CoreCase ; -- most often dative + c2 : Species => Case ; -- most often dative replacesObjPron : Bool ; -- NP has to keep track of if it comes from a Pron -- If your language has both pre- and postpositions, you need an inherent parameter in Prep to record which one a given Prep is. @@ -434,18 +309,18 @@ oper PrepForms : Type = {base, sg1, sg2, sg3M, sg3F, pl1, pl2, pl3 : Str} ; - H, N, LENITION_DEBUG : Str ; - H = pre {#vowel => "h" ++ BIND ; _ => []} ; - N = pre {#vowel => "n-" ++ BIND ; _ => []} ; + h, n, LENITION_DEBUG : Str ; + h = pre {#vowel => "h" ++ BIND ; _ => []} ; + n = pre {#vowel => "n-" ++ BIND ; _ => []} ; LENITION_DEBUG = "^L" ; -- Only for debugging purposes—replace with empty string for production invarPrepForms : Str -> PrepForms = \str -> {base=str ; sg1=str++"mo" + LENITION_DEBUG; sg2=str++"do" + LENITION_DEBUG; sg3M=str++"a" + LENITION_DEBUG; - sg3F=str++"a"++H; pl1=str++"àr"++N; pl2=str++"ùr"++N; pl3=str++AN} ; -- AN is defined as an allomorph to def art, TODO does the possessive add t- before vowel? + sg3F=str++"a"++h; pl1=str++"àr"++n; pl2=str++"ùr"++n; pl3=str++AN} ; -- AN is defined as an allomorph to def art, TODO does the possessive add t- before vowel? mkLinPrep : (replacesObjPron : Bool) - -> (indef,defi : CoreCase) + -> (indef,defi : Case) -> (objForms, possForms : PrepForms) -> LinPrep = \replaces,casIndef,casDef,objForms,possForms -> { @@ -485,13 +360,12 @@ oper mkPrep : (objForms, possForms : PrepForms) -> LinPrep = smartPrep ; mkPrep : (objForms, possForms : PrepForms) -> Mutation -> LinPrep = \obj,poss,mutation -> mkLinPrep True (Dat mutation) (Dat mutation) obj poss ; - mkPrep : (replacesObjPron : Bool) -> (indef,defi : CoreCase) + mkPrep : (replacesObjPron : Bool) -> (indef,defi : Case) -> (objForms, possForms : PrepForms) -> LinPrep = mkLinPrep } ; emptyPrep : LinPrep = { s = \\_ => [] ; - poss = \\_ => [] ; c2 = \\_ => Dat Lenited ; replacesObjPron = False } ; @@ -499,7 +373,7 @@ oper aigPrep : LinPrep = mkPrep {base="aig"; sg1="agam"; sg2="agad"; sg3M="aige"; sg3F="aice"; pl1="againn"; pl2="agaibh"; pl3="aca"} - {base="aig"; sg1="'gam" + LENITION_DEBUG; sg2="'gad" + LENITION_DEBUG; sg3M="'ga" + LENITION_DEBUG; sg3F="'ga"++H; pl1="'gar"++N; pl2="'gur"++N; pl3="'gan"} + {base="aig"; sg1="'gam" + LENITION_DEBUG; sg2="'gad" + LENITION_DEBUG; sg3M="'ga" + LENITION_DEBUG; sg3F="'ga"++h; pl1="'gar"++n; pl2="'gur"++n; pl3="'gan"} NoMutation ; airPrep : LinPrep = @@ -511,7 +385,7 @@ oper annPrep : LinPrep = mkPrep {base="ann"; sg1="annam"; sg2="annad"; sg3M="ann"; sg3F="innte"; pl1="annainn"; pl2="annaibh"; pl3="annta"} - {base="ann"; sg1="'nam" + LENITION_DEBUG; sg2="'nad" + LENITION_DEBUG; sg3M="'na" + LENITION_DEBUG; sg3F="'na"++H; pl1="'nar"++N; pl2="'nur"++N; pl3="'nan"} + {base="ann"; sg1="'nam" + LENITION_DEBUG; sg2="'nad" + LENITION_DEBUG; sg3M="'na" + LENITION_DEBUG; sg3F="'na"++h; pl1="'nar"++n; pl2="'nur"++n; pl3="'nan"} NoMutation ; àsPrep : LinPrep = @@ -523,14 +397,14 @@ oper bhoPrep : LinPrep = mkPrep {base="bho"; sg1="bhuam"; sg2="bhuat"; sg3M="bhuaithe"; sg3F="bhuaipe"; pl1="bhuainn"; pl2="buaibh"; pl3="bhuapa"} - {base="bho"; sg1="bhom" + LENITION_DEBUG; sg2="bhod" + LENITION_DEBUG; sg3M="bho a" + LENITION_DEBUG; sg3F="bho a"++H; pl1="bhor"++N; pl2="bhu"++N; pl3="bhon"} + {base="bho"; sg1="bhom" + LENITION_DEBUG; sg2="bhod" + LENITION_DEBUG; sg3M="bho a" + LENITION_DEBUG; sg3F="bho a"++h; pl1="bhor"++n; pl2="bhu"++n; pl3="bhon"} Lenited ; {- dePrep : LinPrep = …-} doPrep : LinPrep = mkPrep {base="do"; sg1="dhomh"; sg2="dhut"; sg3M="dha"; sg3F="dhi"; pl1="dhuinn"; pl2="dhuibh"; pl3="dhiubh"} - {base="bho"; sg1="dom" + LENITION_DEBUG; sg2="dod" + LENITION_DEBUG; sg3M="dha" + LENITION_DEBUG; sg3F="dha"++H; pl1="dor"++N; pl2="dhur"++N; pl3="don"} + {base="bho"; sg1="dom" + LENITION_DEBUG; sg2="dod" + LENITION_DEBUG; sg3M="dha" + LENITION_DEBUG; sg3F="dha"++h; pl1="dor"++n; pl2="dhur"++n; pl3="don"} Lenited ; {- eadarPrep : LinPrep = …-} @@ -541,7 +415,7 @@ oper (Dat NoMutation) {-governs dative when indefinite, no mutation-} Gen {-governs genitive when definite-} {base="gu"; sg1="ugam"; sg2="ugad"; sg3M="uige"; sg3F="uice"; pl1="ugainn"; pl2="ugaibh"; pl3="uca"} - {base="gu"; sg1="gum" + LENITION_DEBUG; sg2="gud" + LENITION_DEBUG; sg3M="gu a" + LENITION_DEBUG; sg3F="gu a"++H; pl1="gar"++N; pl2="gur"++N; pl3="gun"} + {base="gu"; sg1="gum" + LENITION_DEBUG; sg2="gud" + LENITION_DEBUG; sg3M="gu a" + LENITION_DEBUG; sg3F="gu a"++h; pl1="gar"++n; pl2="gur"++n; pl3="gun"} ; -------------------------------------------------------------------------------- @@ -549,68 +423,89 @@ oper -- Lamb p. 220 basic morphology, degree -- Lamb p. 246: predicative adjectives - LinA : Type = SS ; +param + AForm = ASg Case Gender | APl ; + +oper + LinA : Type = {s: AForm => Str; voc: Gender => Str; compar: Str} ; -- 686 + oper mkAdj : (_,_,_,_,_,_,_,_,_,_ : Str) -> LinA = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10 -> + { s = table { + ASg (Nom _) Masc => f1 ; + ASg (Nom _) Fem => f2 ; + ASg (Dat _) Masc => f3 ; + ASg (Dat _) Fem => f4 ; + ASg Gen Masc => f5 ; + ASg Gen Fem => f6 ; + APl => f7 + } ; + voc = table { + Masc => f8 ; + Fem => f9 + } ; + compar = f10 ; + } ; + LinA2 : Type = LinA ; - mkAdj : Str -> LinA = \str -> {s = str} ; - - AdjPhrase : Type = LinA ; -- ** {compar : Str} ; + LinAP : Type = LinA ; -- ** {compar : Str} ; -------------------------------------------------------------------------------- -- Verbs param - VAgr = VSg1 | VSg2 | VSg3 | VPl1 | VPl2 | VPl3 ; - VForm = VInf | VPres VAgr | VPast VAgr ; -- TODO - + VForm = Indep | Dep ; + oper - nagr2vagr : Agr -> VAgr = \a -> case a of { - NotPron (DDef Sg _) => VSg3 ; - NotPron (DDef Pl _) => VPl3 ; - - -- this is the number of the possessee—number of possessor only matters for PrepNP! - NotPron (DPoss Sg _) => VSg3 ; - NotPron (DPoss Pl _) => VPl3 ; - - -- this is subject pronoun, which agrees with verb - IsPron Sg1 => VSg1 ; - IsPron Sg2 => VSg2 ; - IsPron (Sg3 _) => VSg3 ; - IsPron Pl1 => VPl1 ; - IsPron Pl2 => VPl2 ; - IsPron Pl3 => VPl3 - } ; - - LinV : Type = { - s : VForm => Str - } ; + LinV = {s: Str; conditional: Number => Str; imperative: Person => Number => Str; future, past : VForm => Str; noun, participle: Str} ; LinV2 : Type = LinV ** { c2 : LinPrep ; } ; - mkVerb : Str -> LinV = \str -> { - s = table { - _ => str - } - } ; - - copula : LinV = {s = \\_ => "TODO: copula"} ; -- often useful + mkVerb : (_,_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> LinV = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15 -> + { s = f1 ; + conditional = table { + Sg => f2 ; + Pl => f3 + } ; + imperative = table { + P1 => table { + Sg => f4 ; + Pl => f5 + } ; + P2 => table { + Sg => f6 ; + Pl => f7 + } ; + P3 => table { + Sg => f8 ; + Pl => f9 + } + } ; + future = table { + Indep => f10 ; + Dep => f11 + } ; + past = table { + Indep => f12 ; + Dep => f13 + } ; + noun = f14 ; + participle = f15 + } ; ------------------ -- VP -- Lamb p. 229 -- "tense, aspect, modality, voice, person and number. There are contrasts to be seen, as above, between inflected and periphrastic forms and, as a whole, periphrasis is more productive." - LinVP : Type = { - s : VForm => Str ; - } ; + LinVP : Type = LinV ; LinVPSlash : Type = LinVP ** { c2 : LinPrep ; } ; - linVP : LinVP -> Str = \vp -> vp.s ! VInf ; - -------------------------------------------------------------------------------- -- Cl, S @@ -622,4 +517,46 @@ oper linCl : LinCl -> Str = \cl -> cl.subj ++ cl.pred ; + +oper mkNoun : (_,_,_,_,_,_,_,_,_,_,_,_,_,_ : Str) -> Gender -> LinN = + \f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,g -> + { s = table { + Nom _ => table { + Indef => table { + Sg => f1 ; + Pl => f2 + } ; + Def => table { + Sg => f3 ; + Pl => f4 + } + } ; + Dat _ => table { + Indef => table { + Sg => f5 ; + Pl => f6 + } ; + Def => table { + Sg => f7 ; + Pl => f8 + } + } ; + Gen => table { + Indef => table { + Sg => f9 ; + Pl => f10 + } ; + Def => table { + Sg => f11 ; + Pl => f12 + } + } + } ; + voc = table { + Sg => f13 ; + Pl => f14 + } ; + g = g + } ; + } diff --git a/src/gaelic/SentenceGla.gf b/src/gaelic/SentenceGla.gf index 523eb6328..9a81f2c8c 100644 --- a/src/gaelic/SentenceGla.gf +++ b/src/gaelic/SentenceGla.gf @@ -13,7 +13,7 @@ lin subj = linNP np ; -- article and CN are discontinuous in NP! linNP just picks nominative unmutated. pred = -- table {something with tense+polarity => - vp.s ! VPres (nagr2vagr np.a) + vp.s -- TODO: all of the VP's tense and polarity should be open here! -- PredVP only decides the subject. -- }